@useinsider/guido 1.0.2-beta.ad1dcd9 → 1.0.2-beta.b11c72f

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 (162) hide show
  1. package/README.md +1 -1
  2. package/dist/@types/generic.d.ts +0 -8
  3. package/dist/_virtual/AddCustomFont.js +4 -0
  4. package/dist/_virtual/AiAssistantValueType.js +4 -0
  5. package/dist/_virtual/BackgroundColorBuiltInControl.js +4 -0
  6. package/dist/_virtual/BackgroundImageBuiltInControl.js +4 -0
  7. package/dist/_virtual/Block.js +4 -0
  8. package/dist/_virtual/BlockAttributes.js +4 -0
  9. package/dist/_virtual/BlockCompositionType.js +4 -0
  10. package/dist/_virtual/BlockPaddingsBuiltInControl.js +4 -0
  11. package/dist/_virtual/BlockRenderer.js +4 -0
  12. package/dist/_virtual/BlockType.js +4 -0
  13. package/dist/_virtual/BlocksPanel.js +4 -0
  14. package/dist/_virtual/BuiltInControl.js +4 -0
  15. package/dist/_virtual/BuiltInControlTypes.js +4 -0
  16. package/dist/_virtual/ButtonBorderBuiltInControl.js +4 -0
  17. package/dist/_virtual/ButtonColorBuiltInControl.js +4 -0
  18. package/dist/_virtual/ButtonFontColorBuiltInControl.js +4 -0
  19. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +4 -0
  20. package/dist/_virtual/ButtonTextBuiltInControl.js +4 -0
  21. package/dist/_virtual/ContextAction.js +4 -0
  22. package/dist/_virtual/ContextActionType.js +4 -0
  23. package/dist/_virtual/Control.js +4 -0
  24. package/dist/_virtual/EditorStatePropertyType.js +4 -0
  25. package/dist/_virtual/Extension.js +4 -0
  26. package/dist/_virtual/ExtensionBuilder.js +4 -0
  27. package/dist/_virtual/FontFamilyBuiltInControl.js +4 -0
  28. package/dist/_virtual/LinkColorBuiltInControl.js +4 -0
  29. package/dist/_virtual/ModificationDescription.js +4 -0
  30. package/dist/_virtual/PanelPosition.js +4 -0
  31. package/dist/_virtual/PreviewDeviceMode.js +4 -0
  32. package/dist/_virtual/SettingsPanelRegistry.js +4 -0
  33. package/dist/_virtual/SettingsPanelTab.js +4 -0
  34. package/dist/_virtual/SettingsTab.js +4 -0
  35. package/dist/_virtual/StructureBorderBuiltInControl.js +4 -0
  36. package/dist/_virtual/StructurePaddingsBuiltInControl.js +4 -0
  37. package/dist/_virtual/TextColorBuiltInControl.js +4 -0
  38. package/dist/_virtual/TextLineSpacingBuiltInControl.js +4 -0
  39. package/dist/_virtual/TextSizeBuiltInControl.js +4 -0
  40. package/dist/_virtual/TextStyleBuiltInControl.js +4 -0
  41. package/dist/_virtual/UIElement.js +4 -0
  42. package/dist/_virtual/UIElementTagRegistry.js +4 -0
  43. package/dist/_virtual/UIElementType.js +4 -0
  44. package/dist/_virtual/UIElementsAttributes.js +4 -0
  45. package/dist/_virtual/index.js +5 -0
  46. package/dist/_virtual/index2.js +4 -0
  47. package/dist/components/Guido.vue.d.ts +2 -2
  48. package/dist/components/Guido.vue.js +5 -5
  49. package/dist/components/Guido.vue2.js +63 -68
  50. package/dist/components/wrappers/WpDrawer.vue.d.ts +4 -6
  51. package/dist/components/wrappers/WpDrawer.vue.js +4 -6
  52. package/dist/composables/useHtmlValidator.d.ts +1 -2
  53. package/dist/composables/useHtmlValidator.js +95 -114
  54. package/dist/composables/useSave.js +6 -6
  55. package/dist/composables/useStripo.js +29 -35
  56. package/dist/config/compiler/unsubscribeCompilerRules.js +19 -19
  57. package/dist/enums/defaults.js +3 -6
  58. package/dist/enums/unsubscribe.d.ts +0 -19
  59. package/dist/enums/unsubscribe.js +6 -39
  60. package/dist/extensions/DynamicContent/dynamic-content.js +27 -41
  61. package/dist/extensions/DynamicContent/extension.js +6 -18
  62. package/dist/guido.css +1 -1
  63. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +48 -72
  64. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +49 -74
  65. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +38 -120
  66. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +18 -0
  67. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +32 -0
  68. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +18 -0
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +8 -0
  70. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +11 -5
  71. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +34 -0
  72. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +11 -5
  73. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +11 -5
  74. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +101 -116
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +11 -5
  76. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +11 -5
  77. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +11 -5
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +11 -5
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +11 -5
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +11 -5
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +43 -23
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +43 -0
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +46 -0
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +44 -0
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +22 -0
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +46 -0
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +46 -0
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +45 -0
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +45 -0
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +45 -0
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +17 -21
  92. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +43 -0
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +45 -0
  94. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +15 -8
  95. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +29 -30
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +46 -0
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +44 -0
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +43 -0
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +43 -0
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +45 -0
  101. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +43 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +266 -0
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +23 -19
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +19 -37
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +15 -2
  106. package/dist/stores/unsubscribe.d.ts +5 -183
  107. package/dist/stores/unsubscribe.js +6 -125
  108. package/package.json +2 -2
  109. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -2
  110. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +0 -18
  111. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +0 -16
  112. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -2
  113. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +0 -24
  114. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +0 -64
  115. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -2
  116. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +0 -18
  117. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +0 -108
  118. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -2
  119. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +0 -18
  120. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +0 -12
  121. package/dist/config/migrator/checkboxMigrator.d.ts +0 -1
  122. package/dist/config/migrator/checkboxMigrator.js +0 -83
  123. package/dist/config/migrator/index.d.ts +0 -1
  124. package/dist/config/migrator/index.js +0 -9
  125. package/dist/config/migrator/unsubscribeMigrator.d.ts +0 -1
  126. package/dist/config/migrator/unsubscribeMigrator.js +0 -112
  127. package/dist/extensions/Blocks/Checkbox/block.d.ts +0 -10
  128. package/dist/extensions/Blocks/Checkbox/block.js +0 -39
  129. package/dist/extensions/Blocks/Checkbox/control.d.ts +0 -22
  130. package/dist/extensions/Blocks/Checkbox/control.js +0 -104
  131. package/dist/extensions/Blocks/Checkbox/extension.d.ts +0 -2
  132. package/dist/extensions/Blocks/Checkbox/extension.js +0 -20
  133. package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +0 -4
  134. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +0 -38
  135. package/dist/extensions/Blocks/Checkbox/template.d.ts +0 -6
  136. package/dist/extensions/Blocks/Checkbox/template.js +0 -75
  137. package/dist/extensions/Blocks/Unsubscribe/block.d.ts +0 -30
  138. package/dist/extensions/Blocks/Unsubscribe/block.js +0 -141
  139. package/dist/extensions/Blocks/Unsubscribe/control.d.ts +0 -29
  140. package/dist/extensions/Blocks/Unsubscribe/control.js +0 -180
  141. package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +0 -11
  142. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +0 -54
  143. package/dist/extensions/Blocks/Unsubscribe/extension.d.ts +0 -2
  144. package/dist/extensions/Blocks/Unsubscribe/extension.js +0 -21
  145. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +0 -4
  146. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +0 -32
  147. package/dist/extensions/Blocks/Unsubscribe/template.d.ts +0 -3
  148. package/dist/extensions/Blocks/Unsubscribe/template.js +0 -28
  149. package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +0 -9
  150. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +0 -11
  151. package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +0 -7
  152. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +0 -6
  153. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +0 -10
  154. package/dist/extensions/Blocks/_Boilerplate/control.d.ts +0 -17
  155. package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +0 -2
  156. package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +0 -4
  157. package/dist/extensions/Blocks/_Boilerplate/template.d.ts +0 -6
  158. package/dist/mock/api/unsubscribe.d.ts +0 -2
  159. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +0 -12
  160. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +0 -12
  161. package/dist/services/unsubscribeApi.d.ts +0 -4
  162. package/dist/services/unsubscribeApi.js +0 -16
@@ -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.2-beta.ad1dcd9",
3
+ "version": "1.0.2-beta.b11c72f",
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",
@@ -31,7 +31,7 @@
31
31
  "author": "",
32
32
  "license": "ISC",
33
33
  "dependencies": {
34
- "@stripoinc/ui-editor-extensions": "2.0.2",
34
+ "@stripoinc/ui-editor-extensions": "1.0.6",
35
35
  "@useinsider/design-system-vue": "0.14.8",
36
36
  "@vueuse/core": "11.3.0",
37
37
  "lodash-es": "4.17.21",
@@ -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;
@@ -1,24 +0,0 @@
1
- import a from "./UnsubscribePageSelection.vue2.js";
2
- /* empty css */
3
- import n from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var o = function() {
5
- var r = this, e = r._self._c, t = r._self._setupProxy;
6
- return e(t.WpDrawer, { attrs: { id: "unsubscribe-modal", "description-status": "", size: "large", "footer-button-group-options": t.footerButtonGroupOptions, status: t.unsubscribeStore.pageSelectionDrawerStatus, "title-text": t.trans("newsletter.select-a-template") }, on: { cancelOrBackButtonEvent: t.handleBack, onCloseEvent: t.closeModal, primaryButtonEvent: t.handleSave }, scopedSlots: r._u([{ key: "headerBottomSlot", fn: function() {
7
- return [e(t.UnsubscribeBreadcrumb, { staticClass: "px-5 py-3" })];
8
- }, proxy: !0 }]) }, [e("div", { staticClass: "d-g templates-wrapper" }, r._l(t.unsubscribeStore.getTemplatesByActiveType, function(s) {
9
- return e("div", { key: s.id, staticClass: "template-wrapper", on: { click: function(u) {
10
- return t.selectTemplate(s.id);
11
- } } }, [e(t.InContainer, { staticClass: "template-container o-h", class: { selected: t.unsubscribeStore.getSelectedTemplateByActiveType === s.id }, attrs: { border: t.getBorderClass(s.id) } }, [e("div", { staticClass: "w-1 h-1 d-f j-c-c a-i-c" }, [e("img", { staticClass: "w-1 h-1 thumbnail o-h", attrs: { alt: s.name, src: s.thumbnail } })])]), e("div", { staticClass: "mt-1 f-s-1" }, [r._v(" " + r._s(s.name) + " ")])], 1);
12
- }), 0)]);
13
- }, i = [], c = /* @__PURE__ */ n(
14
- a,
15
- o,
16
- i,
17
- !1,
18
- null,
19
- "a86fc486"
20
- );
21
- const _ = c.exports;
22
- export {
23
- _ as default
24
- };
@@ -1,64 +0,0 @@
1
- import { defineComponent as f, ref as y, computed as n, watch as T } from "vue";
2
- import g from "../../wrappers/WpDrawer.vue.js";
3
- import { useToaster as S } from "../../../composables/useToaster.js";
4
- import { useTranslations as v } from "../../../composables/useTranslations.js";
5
- import { ToasterTypeOptions as B } from "../../../enums/toaster.js";
6
- import { useUnsubscribeStore as w } from "../../../stores/unsubscribe.js";
7
- import { InContainer as C } from "@useinsider/design-system-vue";
8
- import h from "./UnsubscribeBreadcrumb.vue.js";
9
- const E = /* @__PURE__ */ f({
10
- __name: "UnsubscribePageSelection",
11
- setup(_) {
12
- const s = v(), e = w(), { showToaster: a } = S(), o = y(!1), c = n(() => e.isActiveTypeLastInCollection ? o.value ? s("unsubscription-preference.applying-changes") : s("statistics.apply") : s("products.select-and-continue")), i = n(() => e.pageSelectionUpdateStatus && e.isActiveTypeFirstInCollection ? s("products.cancel") : s("newsletter.back")), p = n(() => ({
13
- primaryButton: {
14
- styling: "solid",
15
- type: "primary",
16
- labelText: c.value,
17
- loadingStatus: o.value,
18
- disabledStatus: !1
19
- },
20
- cancelOrBackButton: {
21
- styling: "ghost",
22
- type: "secondary",
23
- labelText: i.value,
24
- disabledStatus: o.value
25
- }
26
- })), u = (t) => e.getSelectedTemplateByActiveType === t ? "bor-w-3 bor-s-s bor-c-7" : "bor-w-1 bor-s-s bor-c-6", r = (t) => {
27
- e.pageSelectionDrawerStatus = !1, t && setTimeout(() => {
28
- t();
29
- }, 500);
30
- }, m = () => {
31
- if (e.isActiveTypeFirstInCollection) {
32
- r(), e.pageSelectionUpdateStatus || (e.typeSelectionDrawerStatus = !0);
33
- return;
34
- }
35
- e.setPreviousType();
36
- }, d = () => {
37
- if (e.isActiveTypeLastInCollection) {
38
- o.value = !0;
39
- const t = e.selectedCollectionType, l = e.getSelectedTemplatesByCollection(t);
40
- e.addUnsubscribePages(l), document.dispatchEvent(new CustomEvent("unsubscribe:select", {
41
- detail: {
42
- collectionType: t,
43
- selectedPages: l
44
- }
45
- })), r(() => {
46
- o.value = !1, a({
47
- type: B.Success,
48
- message: s("global-unsubscribe.pages-were-attached")
49
- });
50
- });
51
- return;
52
- }
53
- e.setNextType();
54
- }, b = (t) => {
55
- e.setSelectedTemplate(t);
56
- };
57
- return T(() => e.pageSelectionDrawerStatus, (t) => {
58
- t && e.pageSelectionUpdateStatus && e.fetchTemplates();
59
- }), { __sfc: !0, trans: s, unsubscribeStore: e, showToaster: a, isApplying: o, getPrimaryButtonText: c, getCancelOrBackButtonText: i, footerButtonGroupOptions: p, getBorderClass: u, closeModal: r, handleBack: m, handleSave: d, selectTemplate: b, WpDrawer: g, InContainer: C, UnsubscribeBreadcrumb: h };
60
- }
61
- });
62
- export {
63
- E as default
64
- };
@@ -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 n from "./UnsubscribeTypeSelection.vue2.js";
2
- /* empty css */
3
- import o from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var i = function() {
5
- var e = this, s = e._self._c, t = e._self._setupProxy;
6
- return s(t.WpDrawer, { attrs: { id: "unsubscribe-modal", "description-status": "", "description-text": t.descriptionText, "footer-button-group-options": t.footerButtonGroupOptions, status: t.unsubscribeStore.typeSelectionDrawerStatus, "title-text": t.trans("unsubscription-preference.select-unsubscribe-page-title") }, on: { cancelOrBackButtonEvent: t.closeModal, onCloseEvent: t.closeModal, primaryButtonEvent: t.selectCollection } }, [s(t.InSegments, { staticClass: "w-1", attrs: { "with-icon": "", align: "vertical", disable: t.isSelecting, "segment-list": t.segmentList, selected: t.selectedCollection, "skeleton-sizing": { width: 495, height: 180 }, "skeleton-status": t.skeletonStatus }, on: { click: t.changeCollection } })], 1);
7
- }, r = [], c = /* @__PURE__ */ o(
8
- n,
9
- i,
10
- r,
11
- !1,
12
- null,
13
- "dda47b76"
14
- );
15
- const d = c.exports;
16
- export {
17
- d as default
18
- };
@@ -1,108 +0,0 @@
1
- import { defineComponent as h, ref as b, computed as m, watch as _ } from "vue";
2
- import v from "../../wrappers/WpDrawer.vue.js";
3
- import { useToaster as B } from "../../../composables/useToaster.js";
4
- import { useTranslations as N } from "../../../composables/useTranslations.js";
5
- import { ToasterTypeOptions as U } from "../../../enums/toaster.js";
6
- import { PAGE_TYPES as l, ACADEMY_LINK as w, UNSUBSCRIBE_PAGES_LINK as P, TYPE_TRANSLATIONS as R } from "../../../enums/unsubscribe.js";
7
- import { useUnsubscribeStore as D } from "../../../stores/unsubscribe.js";
8
- import { InSegments as I } from "@useinsider/design-system-vue";
9
- const z = /* @__PURE__ */ h({
10
- __name: "UnsubscribeTypeSelection",
11
- setup(G) {
12
- const e = N(), { showToaster: f } = B(), t = D(), n = b(!1), i = b(!0), r = b(l.GLOBAL_UNSUBSCRIBE), S = e(
13
- "unsubscription-preference.select-unsubscribe-page-description",
14
- { action: `<a href="${w}" target="_blank">${e("ds-rules.visit-academy")}</a>` }
15
- ), T = m(() => [
16
- {
17
- description: e("unsubscription-preference.type-global-unsubscribe-description"),
18
- icon: "line-contact-global-unsub-page",
19
- text: e("unsubscription-preference.type-global-unsubscribe"),
20
- value: l.GLOBAL_UNSUBSCRIBE,
21
- disable: t.isGlobalUnsubscribeDisabled,
22
- tooltipText: t.isGlobalUnsubscribeDisabled ? e("unsubscription-preference.global-unsub-added") : ""
23
- },
24
- {
25
- description: e("unsubscription-preference.type-subscription-preferences-center-description"),
26
- icon: "line-contact-sub-pref-center-page",
27
- text: e("unsubscription-preference.type-subscription-preferences-center"),
28
- value: l.SUBSCRIPTION_PREFERENCE_CENTER,
29
- disable: t.isSubscriptionPreferencesCenterDisabled,
30
- tooltipText: t.isSubscriptionPreferencesCenterDisabled ? e("unsubscription-preference.pref-center-added") : ""
31
- }
32
- ]), y = m(() => ({
33
- primaryButton: {
34
- styling: "solid",
35
- type: "primary",
36
- labelText: e(
37
- n.value ? "unsubscription-preference.selecting-type" : "products.select-and-continue"
38
- ),
39
- loadingStatus: n.value,
40
- disabledStatus: !1,
41
- skeletonStatus: i.value,
42
- skeletonSizing: { width: 168, height: 40 }
43
- },
44
- cancelOrBackButton: {
45
- styling: "ghost",
46
- type: "secondary",
47
- labelText: e("products.cancel"),
48
- disabledStatus: n.value,
49
- skeletonStatus: i.value,
50
- skeletonSizing: { width: 78, height: 40 }
51
- }
52
- })), d = (s) => {
53
- t.typeSelectionDrawerStatus = !1, document.dispatchEvent(new CustomEvent("unsubscribe:cancel")), s && setTimeout(() => {
54
- s();
55
- }, 500);
56
- }, E = (s) => {
57
- r.value = s;
58
- }, g = () => {
59
- const s = t.hasTemplatesByCollectionType, o = [];
60
- if (Object.entries(s).forEach(([c, p]) => {
61
- p || o.push(Number(c));
62
- }), o.length === 0)
63
- return !0;
64
- const a = o.map((c) => R[c]);
65
- let u = "";
66
- if (o.length === 1)
67
- u = e("unsubscription-preference.create-page-to-continue", {
68
- page: a[0]
69
- });
70
- else if (o.length === 2)
71
- u = e("unsubscription-preference.create-pages-to-continue", {
72
- page1: a[0],
73
- page2: a[1]
74
- });
75
- else {
76
- const c = a.pop() ?? "", p = a.join(", ");
77
- u = e("unsubscription-preference.create-multiple-pages-to-continue", {
78
- pages: p,
79
- lastPage: c
80
- });
81
- }
82
- return f({
83
- type: U.Warning,
84
- message: u,
85
- actionButton: {
86
- text: "Go to Unsubscribe Pages",
87
- onClick: () => {
88
- window.location.href = P;
89
- }
90
- }
91
- }), !1;
92
- }, C = async () => {
93
- if (n.value = !0, await t.fetchTemplates(), t.setCollection(r.value), !g()) {
94
- n.value = !1, d();
95
- return;
96
- }
97
- n.value = !1, t.typeSelectionDrawerStatus = !1, t.pageSelectionDrawerStatus = !0;
98
- };
99
- return _(() => t.typeSelectionDrawerStatus, (s) => {
100
- s && (i.value = !0, r.value = l.GLOBAL_UNSUBSCRIBE, t.isGlobalUnsubscribeDisabled && (r.value = t.isSubscriptionPreferencesCenterDisabled ? 0 : l.SUBSCRIPTION_PREFERENCE_CENTER), setTimeout(() => {
101
- i.value = !1;
102
- }, 1e3));
103
- }), { __sfc: !0, trans: e, showToaster: f, unsubscribeStore: t, isSelecting: n, skeletonStatus: i, selectedCollection: r, descriptionText: S, segmentList: T, footerButtonGroupOptions: y, closeModal: d, changeCollection: E, validateTemplates: g, selectCollection: C, WpDrawer: v, InSegments: I };
104
- }
105
- });
106
- export {
107
- z as default
108
- };
@@ -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 o from "./UnsubscribeWrapper.vue2.js";
2
- import t from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var _ = function() {
4
- var s;
5
- var e = this, n = e._self._c, r = e._self._setupProxy;
6
- return (s = r.config.extensions) != null && s.unsubscribe ? n("div", [n(r.UnsubscribeTypeSelection), n(r.UnsubscribePageSelection)], 1) : e._e();
7
- }, c = [], i = /* @__PURE__ */ t(
8
- o,
9
- _,
10
- c,
11
- !1,
12
- null,
13
- null
14
- );
15
- const l = i.exports;
16
- export {
17
- l as default
18
- };
@@ -1,12 +0,0 @@
1
- import { defineComponent as t, defineAsyncComponent as e } from "vue";
2
- import { useConfig as r } from "../../../composables/useConfig.js";
3
- const m = /* @__PURE__ */ t({
4
- __name: "UnsubscribeWrapper",
5
- setup(i) {
6
- const n = e(() => import("./UnsubscribePageSelection.vue.js")), o = e(() => import("./UnsubscribeTypeSelection.vue.js")), { config: s } = r();
7
- return { __sfc: !0, UnsubscribePageSelection: n, UnsubscribeTypeSelection: o, config: s };
8
- }
9
- });
10
- export {
11
- m as default
12
- };
@@ -1 +0,0 @@
1
- export declare function migrateCheckbox(html: string): string;