@useinsider/guido 1.0.0-beta.7f477db → 1.0.0-beta.80693fc

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 (147) hide show
  1. package/README.md +259 -11
  2. package/dist/@types/generic.d.ts +14 -0
  3. package/dist/App.vue.d.ts +1 -1
  4. package/dist/_virtual/AddCustomFont.js +4 -0
  5. package/dist/_virtual/AiAssistantValueType.js +4 -0
  6. package/dist/_virtual/BackgroundColorBuiltInControl.js +4 -0
  7. package/dist/_virtual/BackgroundImageBuiltInControl.js +4 -0
  8. package/dist/_virtual/Block.js +4 -0
  9. package/dist/_virtual/BlockAttributes.js +4 -0
  10. package/dist/_virtual/BlockCompositionType.js +4 -0
  11. package/dist/_virtual/BlockPaddingsBuiltInControl.js +4 -0
  12. package/dist/_virtual/BlockRenderer.js +4 -0
  13. package/dist/_virtual/BlockType.js +4 -0
  14. package/dist/_virtual/BlocksPanel.js +4 -0
  15. package/dist/_virtual/BuiltInControl.js +4 -0
  16. package/dist/_virtual/BuiltInControlTypes.js +4 -0
  17. package/dist/_virtual/ButtonBorderBuiltInControl.js +4 -0
  18. package/dist/_virtual/ButtonColorBuiltInControl.js +4 -0
  19. package/dist/_virtual/ButtonFontColorBuiltInControl.js +4 -0
  20. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +4 -0
  21. package/dist/_virtual/ButtonTextBuiltInControl.js +4 -0
  22. package/dist/_virtual/ContextAction.js +4 -0
  23. package/dist/_virtual/ContextActionType.js +4 -0
  24. package/dist/_virtual/Control.js +4 -0
  25. package/dist/_virtual/EditorStatePropertyType.js +4 -0
  26. package/dist/_virtual/Extension.js +4 -0
  27. package/dist/_virtual/ExtensionBuilder.js +4 -0
  28. package/dist/_virtual/FontFamilyBuiltInControl.js +4 -0
  29. package/dist/_virtual/LinkColorBuiltInControl.js +4 -0
  30. package/dist/_virtual/ModificationDescription.js +4 -0
  31. package/dist/_virtual/PanelPosition.js +4 -0
  32. package/dist/_virtual/PreviewDeviceMode.js +4 -0
  33. package/dist/_virtual/SettingsPanelRegistry.js +4 -0
  34. package/dist/_virtual/SettingsPanelTab.js +4 -0
  35. package/dist/_virtual/SettingsTab.js +4 -0
  36. package/dist/_virtual/StructureBorderBuiltInControl.js +4 -0
  37. package/dist/_virtual/StructurePaddingsBuiltInControl.js +4 -0
  38. package/dist/_virtual/TextColorBuiltInControl.js +4 -0
  39. package/dist/_virtual/TextLineSpacingBuiltInControl.js +4 -0
  40. package/dist/_virtual/TextSizeBuiltInControl.js +4 -0
  41. package/dist/_virtual/TextStyleBuiltInControl.js +4 -0
  42. package/dist/_virtual/UIElement.js +4 -0
  43. package/dist/_virtual/UIElementTagRegistry.js +4 -0
  44. package/dist/_virtual/UIElementType.js +4 -0
  45. package/dist/_virtual/UIElementsAttributes.js +4 -0
  46. package/dist/_virtual/index.js +5 -0
  47. package/dist/_virtual/index2.js +4 -0
  48. package/dist/components/Guido.vue.d.ts +9 -2
  49. package/dist/components/Guido.vue.js +8 -8
  50. package/dist/components/Guido.vue2.js +38 -27
  51. package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
  52. package/dist/components/organisms/header/MiddleSlot.vue2.js +19 -17
  53. package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
  54. package/dist/components/organisms/header/RightSlot.vue.js +7 -7
  55. package/dist/components/organisms/header/RightSlot.vue2.js +17 -15
  56. package/dist/components/organisms/header/ViewOptions.vue.d.ts +1 -1
  57. package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +1 -1
  58. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +1 -1
  59. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +1 -1
  60. package/dist/components/organisms/header/version-history/ViewOptions.vue.d.ts +1 -1
  61. package/dist/composables/useActionsApi.d.ts +2 -2
  62. package/dist/composables/useActionsApi.js +36 -43
  63. package/dist/composables/useExport.d.ts +1 -1
  64. package/dist/composables/useExport.js +35 -20
  65. package/dist/composables/useHtmlCompiler.d.ts +4 -0
  66. package/dist/composables/useHtmlCompiler.js +16 -0
  67. package/dist/composables/useHttp.js +21 -23
  68. package/dist/composables/useStripo.js +39 -28
  69. package/dist/config/compiler/htmlCompilerRules.d.ts +2 -0
  70. package/dist/config/compiler/htmlCompilerRules.js +145 -0
  71. package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
  72. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +6 -0
  73. package/dist/extensions/DynamicContent/dynamic-content-modal.js +27 -0
  74. package/dist/extensions/DynamicContent/dynamic-content.css.js +24 -0
  75. package/dist/extensions/DynamicContent/dynamic-content.d.ts +16 -0
  76. package/dist/extensions/DynamicContent/dynamic-content.js +63 -0
  77. package/dist/extensions/DynamicContent/extension.d.ts +2 -0
  78. package/dist/extensions/DynamicContent/extension.js +11 -0
  79. package/dist/guido.css +1 -1
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +51 -0
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +52 -0
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +41 -0
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +18 -0
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +32 -0
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +18 -0
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +8 -0
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +13 -0
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +34 -0
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +13 -0
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +13 -0
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +104 -0
  92. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +13 -0
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +13 -0
  94. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +13 -0
  95. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +13 -0
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +13 -0
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +13 -0
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +45 -0
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +43 -0
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +46 -0
  101. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +44 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +22 -0
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +46 -0
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +46 -0
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +45 -0
  106. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +45 -0
  107. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +45 -0
  108. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +20 -0
  109. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +43 -0
  110. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +45 -0
  111. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +18 -0
  112. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +32 -0
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +46 -0
  114. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +44 -0
  115. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +43 -0
  116. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +43 -0
  117. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +45 -0
  118. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +43 -0
  119. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +266 -0
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +26 -0
  121. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +22 -0
  122. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +18 -0
  123. package/dist/stores/editor.d.ts +1 -1
  124. package/dist/stores/editor.js +4 -4
  125. package/dist/utils/htmlCompiler.d.ts +12 -0
  126. package/dist/utils/htmlCompiler.js +70 -0
  127. package/dist/utils/tooltipUtils.d.ts +2 -0
  128. package/dist/utils/tooltipUtils.js +9 -0
  129. package/package.json +4 -1
  130. package/dist/components/organisms/save-template/SaveTemplateModal.vue.d.ts +0 -16
  131. package/dist/components/organisms/save-template/SaveTemplateModal.vue.js +0 -20
  132. package/dist/components/organisms/save-template/SaveTemplateModal.vue2.js +0 -78
  133. package/dist/components/wrappers/ModalWrapper.vue.d.ts +0 -72
  134. package/dist/components/wrappers/ModalWrapper.vue.js +0 -19
  135. package/dist/components/wrappers/ModalWrapper.vue2.js +0 -43
  136. package/dist/composables/useSaveAsTemplate.d.ts +0 -7
  137. package/dist/composables/useSaveAsTemplate.js +0 -51
  138. package/dist/composables/useTemplateNameValidation.d.ts +0 -7
  139. package/dist/composables/useTemplateNameValidation.js +0 -33
  140. package/dist/mock/api/template-library.d.ts +0 -2
  141. package/dist/stores/template-categories.d.ts +0 -41
  142. package/dist/stores/template-categories.js +0 -91
  143. package/dist/utils/base64.d.ts +0 -2
  144. package/dist/utils/base64.js +0 -14
  145. package/dist/utils/generic.d.ts +0 -1
  146. package/dist/utils/generic.js +0 -7
  147. package/dist/utils/textUtil.d.ts +0 -2
@@ -1,72 +0,0 @@
1
- interface ModalWrapperProps {
2
- isOpen: boolean;
3
- title: string;
4
- description?: string;
5
- size?: 'small' | 'medium' | 'large';
6
- primaryButtonText?: string;
7
- primaryButtonDisabled?: boolean;
8
- primaryButtonLoading?: boolean;
9
- cancelButtonText?: string;
10
- showCancelButton?: boolean;
11
- className?: string;
12
- }
13
- declare var __VLS_12: {};
14
- type __VLS_Slots = {} & {
15
- default?: (props: typeof __VLS_12) => any;
16
- };
17
- declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<ModalWrapperProps>, {
18
- description: string;
19
- size: string;
20
- primaryButtonText: string;
21
- primaryButtonDisabled: boolean;
22
- primaryButtonLoading: boolean;
23
- cancelButtonText: string;
24
- showCancelButton: boolean;
25
- className: string;
26
- }>, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {
27
- close: () => void;
28
- save: () => void;
29
- cancel: () => void;
30
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ModalWrapperProps>, {
31
- description: string;
32
- size: string;
33
- primaryButtonText: string;
34
- primaryButtonDisabled: boolean;
35
- primaryButtonLoading: boolean;
36
- cancelButtonText: string;
37
- showCancelButton: boolean;
38
- className: string;
39
- }>>>, {
40
- className: string;
41
- size: "small" | "medium" | "large";
42
- description: string;
43
- primaryButtonText: string;
44
- primaryButtonDisabled: boolean;
45
- primaryButtonLoading: boolean;
46
- cancelButtonText: string;
47
- showCancelButton: boolean;
48
- }>;
49
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
50
- export default _default;
51
- type __VLS_WithDefaults<P, D> = {
52
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
53
- default: D[K];
54
- }> : P[K];
55
- };
56
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
57
- type __VLS_TypePropsToOption<T> = {
58
- [K in keyof T]-?: {} extends Pick<T, K> ? {
59
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
60
- } : {
61
- type: import('vue').PropType<T[K]>;
62
- required: true;
63
- };
64
- };
65
- type __VLS_WithSlots<T, S> = T & {
66
- new (): {
67
- $scopedSlots: S;
68
- };
69
- };
70
- type __VLS_PrettifyLocal<T> = {
71
- [K in keyof T]: T[K];
72
- } & {};
@@ -1,19 +0,0 @@
1
- import r from "./ModalWrapper.vue2.js";
2
- import o from "../../_virtual/_plugin-vue2_normalizer.js";
3
- var s = function() {
4
- var t = this, n = t._self._c, e = t._self._setupProxy;
5
- return n(e.InDrawer, { attrs: { id: "modal-wrapper", "description-text": t.description, "footer-button-group-options": e.drawerFooterOptions, size: t.size, status: t.isOpen, "title-text": t.title }, on: { cancelOrBackButtonEvent: e.handleCancel, onCloseEvent: e.handleClose, primaryButtonEvent: e.handleSave }, scopedSlots: t._u([{ key: "contentSlot", fn: function() {
6
- return [n("div", { staticClass: "modal-content-wrapper", class: t.className }, [t._t("default")], 2)];
7
- }, proxy: !0 }], null, !0) });
8
- }, a = [], l = /* @__PURE__ */ o(
9
- r,
10
- s,
11
- a,
12
- !1,
13
- null,
14
- null
15
- );
16
- const u = l.exports;
17
- export {
18
- u as default
19
- };
@@ -1,43 +0,0 @@
1
- import { defineComponent as o, computed as l } from "vue";
2
- import { InDrawer as s } from "@useinsider/design-system-vue";
3
- const i = /* @__PURE__ */ o({
4
- __name: "ModalWrapper",
5
- props: {
6
- isOpen: { type: Boolean },
7
- title: null,
8
- description: { default: "" },
9
- size: { default: "small" },
10
- primaryButtonText: { default: "" },
11
- primaryButtonDisabled: { type: Boolean, default: !1 },
12
- primaryButtonLoading: { type: Boolean, default: !1 },
13
- cancelButtonText: { default: "" },
14
- showCancelButton: { type: Boolean, default: !0 },
15
- className: { default: "" }
16
- },
17
- emits: ["close", "save", "cancel"],
18
- setup(a, { emit: t }) {
19
- const e = a, n = l(() => ({
20
- primaryButton: {
21
- styling: "solid",
22
- type: "primary",
23
- labelText: e.primaryButtonText,
24
- disabledStatus: e.primaryButtonDisabled || e.primaryButtonLoading
25
- },
26
- cancelOrBackButton: e.showCancelButton ? {
27
- type: "secondary",
28
- styling: "ghost",
29
- labelText: e.cancelButtonText
30
- } : void 0
31
- }));
32
- return { __sfc: !0, props: e, emit: t, drawerFooterOptions: n, handleClose: () => {
33
- t("close");
34
- }, handleSave: () => {
35
- t("save");
36
- }, handleCancel: () => {
37
- t("cancel");
38
- }, InDrawer: s };
39
- }
40
- });
41
- export {
42
- i as default
43
- };
@@ -1,7 +0,0 @@
1
- import type { SaveTemplatePayload } from '@@/Types/save-as-template';
2
- export declare const useSaveAsTemplate: () => {
3
- state: {
4
- saving: boolean;
5
- };
6
- saveTemplate: (data: SaveTemplatePayload) => Promise<boolean>;
7
- };
@@ -1,51 +0,0 @@
1
- import { useHttp as m } from "./useHttp.js";
2
- import { base64EncodeWithSpecialChars as t } from "../utils/base64.js";
3
- import { reactive as a } from "vue";
4
- const u = () => {
5
- const { post: o } = m(), n = a({
6
- saving: !1
7
- });
8
- return {
9
- state: n,
10
- saveTemplate: async (e) => {
11
- n.saving = !0;
12
- const i = {
13
- editor: "stripo",
14
- html: t(e.htmlContent),
15
- css: t(e.css)
16
- }, c = t(JSON.stringify(i ?? ""));
17
- try {
18
- const s = {
19
- name: e.name,
20
- categories: e.categoryIds,
21
- productId: 60,
22
- editorType: 2,
23
- messageType: 2,
24
- stripoConfig: c,
25
- content: t(e.htmlContent),
26
- unsubscriptionPreferencePages: [],
27
- unsubscriptionPreferencePageStatus: !1
28
- };
29
- e.css && (s.css = t(e.css)), e.stripoConfig && (s.stripoConfig = t(
30
- JSON.stringify(e.stripoConfig)
31
- )), e.recommendationConfigs && (s.recommendationConfigs = t(
32
- JSON.stringify(e.recommendationConfigs)
33
- )), e.recommendationCampaignUrls && (s.recommendationCampaignUrls = t(
34
- JSON.stringify(e.recommendationCampaignUrls)
35
- ));
36
- const r = await o(
37
- "/newsletter/template-library/create-template",
38
- s
39
- );
40
- return !(!r.data || r.data.type === "error");
41
- } catch {
42
- return !1;
43
- } finally {
44
- n.saving = !1;
45
- }
46
- }
47
- };
48
- };
49
- export {
50
- u as useSaveAsTemplate
51
- };
@@ -1,7 +0,0 @@
1
- export declare function useTemplateNameValidation(): {
2
- templateName: import("vue").Ref<string>;
3
- getValidationMessage: () => string;
4
- hasError: () => boolean;
5
- validateInputs: () => Promise<boolean>;
6
- resetValidation: () => void;
7
- };
@@ -1,33 +0,0 @@
1
- import { ref as r } from "vue";
2
- import { useHttp as i } from "./useHttp.js";
3
- import { useTranslations as m } from "./useTranslations.js";
4
- const o = 255;
5
- function h() {
6
- const n = r(""), e = r(""), t = m();
7
- return {
8
- templateName: n,
9
- getValidationMessage: () => e.value,
10
- hasError: () => !!e.value.length,
11
- validateInputs: async () => {
12
- const a = n.value.trim();
13
- if (!a)
14
- return e.value = t("whatsapp-business.template-name-required"), !1;
15
- if (a.length > o)
16
- return e.value = t("validations.enter-up-to-x-characters", {
17
- article: "a",
18
- field: t("products.template-name"),
19
- max: o
20
- }), !1;
21
- const l = encodeURIComponent(a), { data: s = {} } = await i().get(
22
- `/newsletter/template-library/template-name-exists?name=${l}`
23
- );
24
- return s != null && s.status ? (e.value = t("whatsapp-business.template-name-exists"), !1) : !0;
25
- },
26
- resetValidation: () => {
27
- e.value = "";
28
- }
29
- };
30
- }
31
- export {
32
- h as useTemplateNameValidation
33
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("msw").HttpHandler[];
2
- export default _default;
@@ -1,41 +0,0 @@
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
- }>;
@@ -1,91 +0,0 @@
1
- import { useHttp as c } from "../composables/useHttp.js";
2
- import { useToaster as r } 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 } = r();
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 } = r();
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 } = r();
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 i = (await s("/newsletter/template-library/create-category", { name: e })).data;
54
- if (i) {
55
- this.categories.push(i);
56
- const n = {
57
- value: i.id.toString(),
58
- text: e
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: o } = r();
67
- o(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
- };
@@ -1,2 +0,0 @@
1
- export declare const base64EncodeWithSpecialChars: (input: string) => string;
2
- export declare const base64DecodeWithSpecialChars: (input: string) => string;
@@ -1,14 +0,0 @@
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
- };
@@ -1 +0,0 @@
1
- export declare const getCsrfToken: () => string;
@@ -1,7 +0,0 @@
1
- const t = () => {
2
- var e;
3
- return ((e = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : e.getAttribute("content")) ?? "";
4
- };
5
- export {
6
- t as getCsrfToken
7
- };
@@ -1,2 +0,0 @@
1
- export declare function getValueFromDotNotation<T extends object>(path: string, obj: T): unknown;
2
- export declare function isEmpty(value: unknown): boolean;