New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@tager/admin-mail

Package Overview
Dependencies
Maintainers
3
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tager/admin-mail - npm Package Compare versions

Comparing version 0.3.4 to 0.3.5

32

dist/index.esm.js

@@ -515,7 +515,7 @@ import { ref, computed, defineComponent, onMounted, watch } from '@vue/composition-api';

if (!inject) return
inject("data-v-129d4794_0", { source: ".config-block[data-v-129d4794] {\n margin-bottom: 1rem;\n}\n.option-list[data-v-129d4794] {\n padding-left: 1rem;\n list-style-type: disc;\n}\n\n/*# sourceMappingURL=ModuleConfiguration.vue.map */", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailTemplateList\\components\\ModuleConfiguration.vue","ModuleConfiguration.vue"],"names":[],"mappings":"AAyDA;EACA,mBAAA;ACxDA;AD2DA;EACA,kBAAA;EACA,qBAAA;ACxDA;;AAEA,kDAAkD","file":"ModuleConfiguration.vue","sourcesContent":["<template>\n <div v-if=\"config\" class=\"config-block\">\n <h4>Configuration:</h4>\n <ul class=\"option-list\">\n <li>\n <span>Enabled: </span>\n <span>{{ config.enabled }}</span>\n </li>\n <li>\n <span>Allowed emails: </span>\n <span>\n {{\n Array.isArray(config.allowedEmails)\n ? config.allowedEmails.join(', ')\n : config.allowedEmails\n }}\n </span>\n </li>\n <li>\n <span>Subject template: </span>\n <span>{{ config.subjectTemplate }}</span>\n </li>\n <li>\n <span>Service: </span>\n <span>{{ config.service }}</span>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, onMounted } from '@vue/composition-api';\nimport { EmailModuleConfig } from '../../../typings/model';\nimport useResource from '../../../hooks/useResource';\nimport { Nullable } from '@tager/admin-services';\nimport { getEmailModuleConfiguration } from '../../../services/requests';\n\nexport default defineComponent({\n name: 'ModuleConfiguration',\n setup() {\n const [fetchModuleConfig, { data: moduleConfig }] = useResource<\n Nullable<EmailModuleConfig>\n >({\n fetchResource: getEmailModuleConfiguration,\n initialValue: null,\n });\n\n onMounted(() => {\n fetchModuleConfig();\n });\n\n return { config: moduleConfig };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.config-block {\n margin-bottom: 1rem;\n}\n\n.option-list {\n padding-left: 1rem;\n list-style-type: disc;\n}\n</style>\n",".config-block {\n margin-bottom: 1rem;\n}\n\n.option-list {\n padding-left: 1rem;\n list-style-type: disc;\n}\n\n/*# sourceMappingURL=ModuleConfiguration.vue.map */"]}, media: undefined });
inject("data-v-6159c28c_0", { source: ".config-block[data-v-6159c28c] {\n margin-bottom: 1rem;\n}\n.option-list[data-v-6159c28c] {\n padding-left: 1rem;\n list-style-type: disc;\n}\n\n/*# sourceMappingURL=ModuleConfiguration.vue.map */", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailTemplateList/components/ModuleConfiguration.vue","ModuleConfiguration.vue"],"names":[],"mappings":"AAyDA;EACA,mBAAA;ACxDA;AD2DA;EACA,kBAAA;EACA,qBAAA;ACxDA;;AAEA,kDAAkD","file":"ModuleConfiguration.vue","sourcesContent":["<template>\n <div v-if=\"config\" class=\"config-block\">\n <h4>Configuration:</h4>\n <ul class=\"option-list\">\n <li>\n <span>Enabled: </span>\n <span>{{ config.enabled }}</span>\n </li>\n <li>\n <span>Allowed emails: </span>\n <span>\n {{\n Array.isArray(config.allowedEmails)\n ? config.allowedEmails.join(', ')\n : config.allowedEmails\n }}\n </span>\n </li>\n <li>\n <span>Subject template: </span>\n <span>{{ config.subjectTemplate }}</span>\n </li>\n <li>\n <span>Service: </span>\n <span>{{ config.service }}</span>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, onMounted } from '@vue/composition-api';\nimport { EmailModuleConfig } from '../../../typings/model';\nimport useResource from '../../../hooks/useResource';\nimport { Nullable } from '@tager/admin-services';\nimport { getEmailModuleConfiguration } from '../../../services/requests';\n\nexport default defineComponent({\n name: 'ModuleConfiguration',\n setup() {\n const [fetchModuleConfig, { data: moduleConfig }] = useResource<\n Nullable<EmailModuleConfig>\n >({\n fetchResource: getEmailModuleConfiguration,\n initialValue: null,\n });\n\n onMounted(() => {\n fetchModuleConfig();\n });\n\n return { config: moduleConfig };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.config-block {\n margin-bottom: 1rem;\n}\n\n.option-list {\n padding-left: 1rem;\n list-style-type: disc;\n}\n</style>\n",".config-block {\n margin-bottom: 1rem;\n}\n\n.option-list {\n padding-left: 1rem;\n list-style-type: disc;\n}\n\n/*# sourceMappingURL=ModuleConfiguration.vue.map */"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__ = "data-v-129d4794";
const __vue_scope_id__ = "data-v-6159c28c";
/* module identifier */

@@ -673,7 +673,7 @@ const __vue_module_identifier__ = undefined;

if (!inject) return
inject("data-v-d411c354_0", { source: "\n\n/*# sourceMappingURL=EmailTemplateList.vue.map */", map: {"version":3,"sources":["EmailTemplateList.vue"],"names":[],"mappings":";;AAEA,gDAAgD","file":"EmailTemplateList.vue"}, media: undefined });
inject("data-v-221ddcf6_0", { source: "\n\n/*# sourceMappingURL=EmailTemplateList.vue.map */", map: {"version":3,"sources":["EmailTemplateList.vue"],"names":[],"mappings":";;AAEA,gDAAgD","file":"EmailTemplateList.vue"}, media: undefined });
};
/* scoped */
const __vue_scope_id__$1 = "data-v-d411c354";
const __vue_scope_id__$1 = "data-v-221ddcf6";
/* module identifier */

@@ -985,7 +985,7 @@ const __vue_module_identifier__$1 = undefined;

if (!inject) return
inject("data-v-ee159624_0", { source: ".legend-vars h4[data-v-ee159624] {\n margin-bottom: 0.5rem;\n}\n.legend-vars ul[data-v-ee159624] {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n}\n.legend-vars ul li[data-v-ee159624]:not(:last-child) {\n border-bottom: 1px solid #eee;\n}\n.legend-vars button[data-v-ee159624] {\n margin-left: 0.5rem;\n}\n\n/*# sourceMappingURL=EmailTemplateForm.vue.map */", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailTemplateForm.vue","EmailTemplateForm.vue"],"names":[],"mappings":"AAkQA;EACA,qBAAA;ACjQA;ADmQA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;ACjQA;ADmQA;EACA,6BAAA;ACjQA;ADqQA;EACA,mBAAA;ACnQA;;AAEA,gDAAgD","file":"EmailTemplateForm.vue","sourcesContent":["<template>\n <page\n :title=\"pageTitle\"\n :is-content-loading=\"isInitialLoading\"\n :footer=\"{\n backHref: templateListRoutePath,\n onSubmit: submitForm,\n isSubmitting: isSubmitting,\n }\"\n >\n <form novalidate @submit.prevent>\n <form-field\n v-model=\"values.subject\"\n name=\"subject\"\n :error=\"errors.subject\"\n label=\"Subject\"\n />\n\n <form-field\n v-model=\"values.recipients\"\n name=\"recipients\"\n :error=\"errors.recipients\"\n label=\"Recipients\"\n />\n\n <form-field-checkbox\n v-model=\"values.useServiceTemplate\"\n name=\"useServiceTemplate\"\n :error=\"errors.useServiceTemplate\"\n label=\"Use Service Template\"\n />\n <form-field-select\n v-if=\"values.useServiceTemplate\"\n v-model=\"values.serviceTemplate\"\n name=\"serviceTemplate\"\n :error=\"errors.serviceTemplate\"\n label=\"Service Template\"\n no-options-message=\"No templates\"\n :options=\"serviceTemplateOptions\"\n />\n <template v-else>\n <form-field-rich-text-input\n v-model=\"values.body\"\n name=\"body\"\n :error=\"errors.body\"\n label=\"Body\"\n />\n\n <div\n v-if=\"emailTemplate && emailTemplate.variables.length > 0\"\n class=\"legend-vars\"\n >\n <h4 class=\"title\">Template variables</h4>\n <ul>\n <li v-for=\"variable of emailTemplate.variables\" :key=\"variable.key\">\n <span>{{ variable.label }}</span> -\n <span>\n {{ getKeyTemplate(variable.key) }}\n </span>\n <base-button\n variant=\"icon\"\n title=\"Copy\"\n @click=\"copyVarTemplate(variable.key)\"\n >\n <svg-icon name=\"contentCopy\" />\n </base-button>\n </li>\n </ul>\n </div>\n </template>\n </form>\n </page>\n</template>\n\n<script lang=\"ts\">\nimport { convertRequestErrorToMap, Nullable } from '@tager/admin-services';\n\nimport {\n getServiceTemplateList,\n getTemplate,\n TemplateUpdatePayload,\n updateTemplate,\n} from '../services/requests';\nimport { EmailServiceTemplate, EmailTemplate } from '../typings/model';\nimport { getEmailTemplateListUrl } from '../utils/paths';\nimport {\n computed,\n defineComponent,\n onMounted,\n ref,\n watch,\n} from '@vue/composition-api';\nimport useResource from '../hooks/useResource';\nimport { OptionType } from '@tager/admin-ui';\n\ntype FormValues = {\n subject: string;\n body: string;\n recipients: string;\n useServiceTemplate: boolean;\n serviceTemplate: Nullable<OptionType>;\n};\n\nconst INITIAL_VALUES: FormValues = {\n subject: '',\n body: '',\n recipients: '',\n useServiceTemplate: false,\n serviceTemplate: null,\n};\n\nexport default defineComponent({\n name: 'EmailTemplateForm',\n setup(props, context) {\n /** Service template list fetching */\n\n const [\n fetchServiceTemplateList,\n { data: serviceTemplateList, loading: isServiceTemplateListLoading },\n ] = useResource<Array<EmailServiceTemplate>>({\n fetchResource: getServiceTemplateList,\n initialValue: [],\n });\n\n /** Email template fetching */\n\n const templateId = computed<string>(\n () => context.root.$route.params.templateId\n );\n\n const [\n fetchEmailTemplate,\n { data: emailTemplate, loading: isTemplateLoading },\n ] = useResource<Nullable<EmailTemplate>>({\n fetchResource: () => getTemplate(templateId.value),\n initialValue: null,\n });\n\n onMounted(() => {\n fetchEmailTemplate();\n fetchServiceTemplateList();\n });\n\n watch(templateId, fetchEmailTemplate);\n\n /** Form related logic */\n\n function convertEmailTemplateToFormValues(\n template: Nullable<EmailTemplate>,\n serviceTemplateOptions: Array<OptionType>\n ): FormValues {\n if (!template) return INITIAL_VALUES;\n\n const foundServiceTemplate =\n serviceTemplateOptions.find(\n (option) => option.value === template.serviceTemplate\n ) ?? null;\n\n return {\n subject: template.subject,\n body: template.body,\n recipients: template.recipients.join(','),\n useServiceTemplate: Boolean(foundServiceTemplate),\n serviceTemplate: foundServiceTemplate,\n };\n }\n\n const values = ref<FormValues>(INITIAL_VALUES);\n const errors = ref<Record<string, string>>({});\n const isSubmitting = ref<boolean>(false);\n\n watch([emailTemplate, serviceTemplateList], () => {\n values.value = convertEmailTemplateToFormValues(\n emailTemplate.value,\n serviceTemplateList.value\n );\n });\n\n function submitForm() {\n isSubmitting.value = true;\n\n const body: TemplateUpdatePayload = {\n subject: values.value.subject,\n body: values.value.useServiceTemplate ? null : values.value.body,\n serviceTemplate:\n values.value.useServiceTemplate && values.value.serviceTemplate\n ? values.value.serviceTemplate.value\n : null,\n recipients: values.value.recipients\n .split(',')\n .map((recipient) => recipient.trim())\n .filter(Boolean),\n };\n\n updateTemplate(templateId.value, body)\n .then(() => {\n errors.value = {};\n context.root.$router.push(getEmailTemplateListUrl());\n\n context.root.$toast({\n variant: 'success',\n title: 'Success',\n body: 'Template has been successfully updated',\n });\n })\n .catch((error) => {\n console.error(error);\n errors.value = convertRequestErrorToMap(error);\n context.root.$toast({\n variant: 'danger',\n title: 'Error',\n body: 'Template update has been failed',\n });\n })\n .finally(() => {\n isSubmitting.value = false;\n });\n }\n\n /** Misc */\n\n function getKeyTemplate(key: string): string {\n return `{{${key}}}`;\n }\n\n function copyVarTemplate(key: string) {\n navigator.clipboard.writeText(getKeyTemplate(key)).catch(console.error);\n }\n\n const pageTitle = computed<string>(() =>\n emailTemplate.value\n ? `E-Mail template \"${emailTemplate.value.name}\"`\n : 'E-Mail template'\n );\n\n const isInitialLoading = computed<boolean>(\n () => isTemplateLoading.value || isServiceTemplateListLoading.value\n );\n\n return {\n templateListRoutePath: getEmailTemplateListUrl(),\n values,\n errors,\n pageTitle,\n copyVarTemplate,\n getKeyTemplate,\n submitForm,\n isSubmitting,\n isInitialLoading,\n emailTemplate,\n serviceTemplateOptions: serviceTemplateList,\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.legend-vars {\n h4 {\n margin-bottom: 0.5rem;\n }\n ul {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n\n li:not(:last-child) {\n border-bottom: 1px solid #eee;\n }\n }\n\n button {\n margin-left: 0.5rem;\n }\n}\n</style>\n",".legend-vars h4 {\n margin-bottom: 0.5rem;\n}\n.legend-vars ul {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n}\n.legend-vars ul li:not(:last-child) {\n border-bottom: 1px solid #eee;\n}\n.legend-vars button {\n margin-left: 0.5rem;\n}\n\n/*# sourceMappingURL=EmailTemplateForm.vue.map */"]}, media: undefined });
inject("data-v-576e3152_0", { source: ".legend-vars h4[data-v-576e3152] {\n margin-bottom: 0.5rem;\n}\n.legend-vars ul[data-v-576e3152] {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n}\n.legend-vars ul li[data-v-576e3152]:not(:last-child) {\n border-bottom: 1px solid #eee;\n}\n.legend-vars button[data-v-576e3152] {\n margin-left: 0.5rem;\n}\n\n/*# sourceMappingURL=EmailTemplateForm.vue.map */", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailTemplateForm.vue","EmailTemplateForm.vue"],"names":[],"mappings":"AAkQA;EACA,qBAAA;ACjQA;ADmQA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;ACjQA;ADmQA;EACA,6BAAA;ACjQA;ADqQA;EACA,mBAAA;ACnQA;;AAEA,gDAAgD","file":"EmailTemplateForm.vue","sourcesContent":["<template>\n <page\n :title=\"pageTitle\"\n :is-content-loading=\"isInitialLoading\"\n :footer=\"{\n backHref: templateListRoutePath,\n onSubmit: submitForm,\n isSubmitting: isSubmitting,\n }\"\n >\n <form novalidate @submit.prevent>\n <form-field\n v-model=\"values.subject\"\n name=\"subject\"\n :error=\"errors.subject\"\n label=\"Subject\"\n />\n\n <form-field\n v-model=\"values.recipients\"\n name=\"recipients\"\n :error=\"errors.recipients\"\n label=\"Recipients\"\n />\n\n <form-field-checkbox\n v-model=\"values.useServiceTemplate\"\n name=\"useServiceTemplate\"\n :error=\"errors.useServiceTemplate\"\n label=\"Use Service Template\"\n />\n <form-field-select\n v-if=\"values.useServiceTemplate\"\n v-model=\"values.serviceTemplate\"\n name=\"serviceTemplate\"\n :error=\"errors.serviceTemplate\"\n label=\"Service Template\"\n no-options-message=\"No templates\"\n :options=\"serviceTemplateOptions\"\n />\n <template v-else>\n <form-field-rich-text-input\n v-model=\"values.body\"\n name=\"body\"\n :error=\"errors.body\"\n label=\"Body\"\n />\n\n <div\n v-if=\"emailTemplate && emailTemplate.variables.length > 0\"\n class=\"legend-vars\"\n >\n <h4 class=\"title\">Template variables</h4>\n <ul>\n <li v-for=\"variable of emailTemplate.variables\" :key=\"variable.key\">\n <span>{{ variable.label }}</span> -\n <span>\n {{ getKeyTemplate(variable.key) }}\n </span>\n <base-button\n variant=\"icon\"\n title=\"Copy\"\n @click=\"copyVarTemplate(variable.key)\"\n >\n <svg-icon name=\"contentCopy\" />\n </base-button>\n </li>\n </ul>\n </div>\n </template>\n </form>\n </page>\n</template>\n\n<script lang=\"ts\">\nimport { convertRequestErrorToMap, Nullable } from '@tager/admin-services';\n\nimport {\n getServiceTemplateList,\n getTemplate,\n TemplateUpdatePayload,\n updateTemplate,\n} from '../services/requests';\nimport { EmailServiceTemplate, EmailTemplate } from '../typings/model';\nimport { getEmailTemplateListUrl } from '../utils/paths';\nimport {\n computed,\n defineComponent,\n onMounted,\n ref,\n watch,\n} from '@vue/composition-api';\nimport useResource from '../hooks/useResource';\nimport { OptionType } from '@tager/admin-ui';\n\ntype FormValues = {\n subject: string;\n body: string;\n recipients: string;\n useServiceTemplate: boolean;\n serviceTemplate: Nullable<OptionType>;\n};\n\nconst INITIAL_VALUES: FormValues = {\n subject: '',\n body: '',\n recipients: '',\n useServiceTemplate: false,\n serviceTemplate: null,\n};\n\nexport default defineComponent({\n name: 'EmailTemplateForm',\n setup(props, context) {\n /** Service template list fetching */\n\n const [\n fetchServiceTemplateList,\n { data: serviceTemplateList, loading: isServiceTemplateListLoading },\n ] = useResource<Array<EmailServiceTemplate>>({\n fetchResource: getServiceTemplateList,\n initialValue: [],\n });\n\n /** Email template fetching */\n\n const templateId = computed<string>(\n () => context.root.$route.params.templateId\n );\n\n const [\n fetchEmailTemplate,\n { data: emailTemplate, loading: isTemplateLoading },\n ] = useResource<Nullable<EmailTemplate>>({\n fetchResource: () => getTemplate(templateId.value),\n initialValue: null,\n });\n\n onMounted(() => {\n fetchEmailTemplate();\n fetchServiceTemplateList();\n });\n\n watch(templateId, fetchEmailTemplate);\n\n /** Form related logic */\n\n function convertEmailTemplateToFormValues(\n template: Nullable<EmailTemplate>,\n serviceTemplateOptions: Array<OptionType>\n ): FormValues {\n if (!template) return INITIAL_VALUES;\n\n const foundServiceTemplate =\n serviceTemplateOptions.find(\n (option) => option.value === template.serviceTemplate\n ) ?? null;\n\n return {\n subject: template.subject,\n body: template.body,\n recipients: template.recipients.join(','),\n useServiceTemplate: Boolean(foundServiceTemplate),\n serviceTemplate: foundServiceTemplate,\n };\n }\n\n const values = ref<FormValues>(INITIAL_VALUES);\n const errors = ref<Record<string, string>>({});\n const isSubmitting = ref<boolean>(false);\n\n watch([emailTemplate, serviceTemplateList], () => {\n values.value = convertEmailTemplateToFormValues(\n emailTemplate.value,\n serviceTemplateList.value\n );\n });\n\n function submitForm() {\n isSubmitting.value = true;\n\n const body: TemplateUpdatePayload = {\n subject: values.value.subject,\n body: values.value.useServiceTemplate ? null : values.value.body,\n serviceTemplate:\n values.value.useServiceTemplate && values.value.serviceTemplate\n ? values.value.serviceTemplate.value\n : null,\n recipients: values.value.recipients\n .split(',')\n .map((recipient) => recipient.trim())\n .filter(Boolean),\n };\n\n updateTemplate(templateId.value, body)\n .then(() => {\n errors.value = {};\n context.root.$router.push(getEmailTemplateListUrl());\n\n context.root.$toast({\n variant: 'success',\n title: 'Success',\n body: 'Template has been successfully updated',\n });\n })\n .catch((error) => {\n console.error(error);\n errors.value = convertRequestErrorToMap(error);\n context.root.$toast({\n variant: 'danger',\n title: 'Error',\n body: 'Template update has been failed',\n });\n })\n .finally(() => {\n isSubmitting.value = false;\n });\n }\n\n /** Misc */\n\n function getKeyTemplate(key: string): string {\n return `{{${key}}}`;\n }\n\n function copyVarTemplate(key: string) {\n navigator.clipboard.writeText(getKeyTemplate(key)).catch(console.error);\n }\n\n const pageTitle = computed<string>(() =>\n emailTemplate.value\n ? `E-Mail template \"${emailTemplate.value.name}\"`\n : 'E-Mail template'\n );\n\n const isInitialLoading = computed<boolean>(\n () => isTemplateLoading.value || isServiceTemplateListLoading.value\n );\n\n return {\n templateListRoutePath: getEmailTemplateListUrl(),\n values,\n errors,\n pageTitle,\n copyVarTemplate,\n getKeyTemplate,\n submitForm,\n isSubmitting,\n isInitialLoading,\n emailTemplate,\n serviceTemplateOptions: serviceTemplateList,\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.legend-vars {\n h4 {\n margin-bottom: 0.5rem;\n }\n ul {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n\n li:not(:last-child) {\n border-bottom: 1px solid #eee;\n }\n }\n\n button {\n margin-left: 0.5rem;\n }\n}\n</style>\n",".legend-vars h4 {\n margin-bottom: 0.5rem;\n}\n.legend-vars ul {\n display: inline-block;\n padding-left: 1.2rem;\n list-style-type: decimal;\n}\n.legend-vars ul li:not(:last-child) {\n border-bottom: 1px solid #eee;\n}\n.legend-vars button {\n margin-left: 0.5rem;\n}\n\n/*# sourceMappingURL=EmailTemplateForm.vue.map */"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__$2 = "data-v-ee159624";
const __vue_scope_id__$2 = "data-v-576e3152";
/* module identifier */

@@ -1078,7 +1078,7 @@ const __vue_module_identifier__$2 = undefined;

if (!inject) return
inject("data-v-837c723a_0", { source: "\n.toggle-button[data-v-837c723a] {\n white-space: nowrap;\n}\n.email-body[data-v-837c723a] {\n margin-bottom: 1rem;\n}\n", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailLogList\\components\\BodyCell.vue"],"names":[],"mappings":";AAwCA;EACA,mBAAA;AACA;AAEA;EACA,mBAAA;AACA","file":"BodyCell.vue","sourcesContent":["<template>\n <div>\n <p v-if=\"isOpen\" class=\"email-body\" v-html=\"log.body\" />\n <base-button\n variant=\"outline-secondary\"\n class=\"toggle-button\"\n @click=\"toggleBody\"\n >\n {{ isOpen ? 'Hide Body' : 'View Body' }}\n </base-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailBodyCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n setup() {\n const isOpen = ref<boolean>(false);\n\n function toggleBody() {\n isOpen.value = !isOpen.value;\n }\n\n return { isOpen, toggleBody };\n },\n});\n</script>\n\n<style scoped>\n.toggle-button {\n white-space: nowrap;\n}\n\n.email-body {\n margin-bottom: 1rem;\n}\n</style>\n"]}, media: undefined });
inject("data-v-fcfdc7c2_0", { source: "\n.toggle-button[data-v-fcfdc7c2] {\n white-space: nowrap;\n}\n.email-body[data-v-fcfdc7c2] {\n margin-bottom: 1rem;\n}\n", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailLogList/components/BodyCell.vue"],"names":[],"mappings":";AAwCA;EACA,mBAAA;AACA;AAEA;EACA,mBAAA;AACA","file":"BodyCell.vue","sourcesContent":["<template>\n <div>\n <p v-if=\"isOpen\" class=\"email-body\" v-html=\"log.body\" />\n <base-button\n variant=\"outline-secondary\"\n class=\"toggle-button\"\n @click=\"toggleBody\"\n >\n {{ isOpen ? 'Hide Body' : 'View Body' }}\n </base-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailBodyCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n setup() {\n const isOpen = ref<boolean>(false);\n\n function toggleBody() {\n isOpen.value = !isOpen.value;\n }\n\n return { isOpen, toggleBody };\n },\n});\n</script>\n\n<style scoped>\n.toggle-button {\n white-space: nowrap;\n}\n\n.email-body {\n margin-bottom: 1rem;\n}\n</style>\n"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__$3 = "data-v-837c723a";
const __vue_scope_id__$3 = "data-v-fcfdc7c2";
/* module identifier */

@@ -1158,7 +1158,7 @@ const __vue_module_identifier__$3 = undefined;

if (!inject) return
inject("data-v-cdd6a98c_0", { source: ".error-cell[data-v-cdd6a98c] {\n cursor: pointer;\n width: 300px;\n}\n.error-cell p[data-v-cdd6a98c] {\n max-width: 250px;\n word-break: break-word;\n}\n\n/*# sourceMappingURL=ErrorCell.vue.map */", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailLogList\\components\\ErrorCell.vue","ErrorCell.vue"],"names":[],"mappings":"AA+CA;EACA,eAAA;EACA,YAAA;AC9CA;ADgDA;EACA,gBAAA;EACA,sBAAA;AC9CA;;AAEA,wCAAwC","file":"ErrorCell.vue","sourcesContent":["<template>\n <td class=\"error-cell\" @click=\"toggleError\">\n <p v-if=\"errorText\" :class=\"{ open: isOpen }\">\n {{ errorText }}\n </p>\n </td>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailErrorCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n setup(props) {\n const isOpen = ref<boolean>(false);\n\n function toggleError() {\n isOpen.value = !isOpen.value;\n }\n\n const errorText = computed(() => {\n if (\n typeof props.log.error === 'string' &&\n props.log.error.length > 80 &&\n !isOpen.value\n ) {\n return props.log.error.slice(0, 80) + '...';\n }\n\n return props.log.error;\n });\n\n return { isOpen, toggleError, errorText };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.error-cell {\n cursor: pointer;\n width: 300px;\n\n p {\n max-width: 250px;\n word-break: break-word;\n }\n}\n</style>\n",".error-cell {\n cursor: pointer;\n width: 300px;\n}\n.error-cell p {\n max-width: 250px;\n word-break: break-word;\n}\n\n/*# sourceMappingURL=ErrorCell.vue.map */"]}, media: undefined });
inject("data-v-ad756304_0", { source: ".error-cell[data-v-ad756304] {\n cursor: pointer;\n width: 300px;\n}\n.error-cell p[data-v-ad756304] {\n max-width: 250px;\n word-break: break-word;\n}\n\n/*# sourceMappingURL=ErrorCell.vue.map */", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailLogList/components/ErrorCell.vue","ErrorCell.vue"],"names":[],"mappings":"AA+CA;EACA,eAAA;EACA,YAAA;AC9CA;ADgDA;EACA,gBAAA;EACA,sBAAA;AC9CA;;AAEA,wCAAwC","file":"ErrorCell.vue","sourcesContent":["<template>\n <td class=\"error-cell\" @click=\"toggleError\">\n <p v-if=\"errorText\" :class=\"{ open: isOpen }\">\n {{ errorText }}\n </p>\n </td>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailErrorCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n setup(props) {\n const isOpen = ref<boolean>(false);\n\n function toggleError() {\n isOpen.value = !isOpen.value;\n }\n\n const errorText = computed(() => {\n if (\n typeof props.log.error === 'string' &&\n props.log.error.length > 80 &&\n !isOpen.value\n ) {\n return props.log.error.slice(0, 80) + '...';\n }\n\n return props.log.error;\n });\n\n return { isOpen, toggleError, errorText };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n.error-cell {\n cursor: pointer;\n width: 300px;\n\n p {\n max-width: 250px;\n word-break: break-word;\n }\n}\n</style>\n",".error-cell {\n cursor: pointer;\n width: 300px;\n}\n.error-cell p {\n max-width: 250px;\n word-break: break-word;\n}\n\n/*# sourceMappingURL=ErrorCell.vue.map */"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__$4 = "data-v-cdd6a98c";
const __vue_scope_id__$4 = "data-v-ad756304";
/* module identifier */

@@ -1225,7 +1225,7 @@ const __vue_module_identifier__$4 = undefined;

if (!inject) return
inject("data-v-43bebe8a_0", { source: "\n.service-template[data-v-43bebe8a] {\n font-size: 0.85rem;\n font-style: italic;\n}\n", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailLogList\\components\\TemplateCell.vue"],"names":[],"mappings":";AA2BA;EACA,kBAAA;EACA,kBAAA;AACA","file":"TemplateCell.vue","sourcesContent":["<template>\n <div>\n <p>{{ log.template }}</p>\n <p v-if=\"log.serviceTemplate\" class=\"service-template\">\n Service Template: \"{{ log.serviceTemplate }}\"\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailTemplateCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n});\n</script>\n\n<style scoped>\n.service-template {\n font-size: 0.85rem;\n font-style: italic;\n}\n</style>\n"]}, media: undefined });
inject("data-v-0ed671f7_0", { source: "\n.service-template[data-v-0ed671f7] {\n font-size: 0.85rem;\n font-style: italic;\n}\n", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailLogList/components/TemplateCell.vue"],"names":[],"mappings":";AA2BA;EACA,kBAAA;EACA,kBAAA;AACA","file":"TemplateCell.vue","sourcesContent":["<template>\n <div>\n <p>{{ log.template }}</p>\n <p v-if=\"log.serviceTemplate\" class=\"service-template\">\n Service Template: \"{{ log.serviceTemplate }}\"\n </p>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailTemplateCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n});\n</script>\n\n<style scoped>\n.service-template {\n font-size: 0.85rem;\n font-style: italic;\n}\n</style>\n"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__$5 = "data-v-43bebe8a";
const __vue_scope_id__$5 = "data-v-0ed671f7";
/* module identifier */

@@ -1290,7 +1290,7 @@ const __vue_module_identifier__$5 = undefined;

if (!inject) return
inject("data-v-3579afa5_0", { source: "a[data-v-3579afa5] {\n color: var(--primary);\n}\na[data-v-3579afa5]:hover {\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=AttachmentsCell.vue.map */", map: {"version":3,"sources":["D:\\Work\\@tager\\admin\\admin-mail\\src\\views\\EmailLogList\\components\\AttachmentsCell.vue","AttachmentsCell.vue"],"names":[],"mappings":"AA0BA;EACA,qBAAA;ACzBA;AD0BA;EACA,0BAAA;ACxBA;;AAEA,8CAA8C","file":"AttachmentsCell.vue","sourcesContent":["<template>\n <ul>\n <li v-for=\"(attachment, index) of log.attachments\" :key=\"index\">\n <a :href=\"attachment.url\" target=\"_blank\">{{ attachment.name }}</a>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailAttachmentsCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\na {\n color: var(--primary);\n &:hover {\n text-decoration: underline;\n }\n}\n</style>\n","a {\n color: var(--primary);\n}\na:hover {\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=AttachmentsCell.vue.map */"]}, media: undefined });
inject("data-v-7d98b6e9_0", { source: "a[data-v-7d98b6e9] {\n color: var(--primary);\n}\na[data-v-7d98b6e9]:hover {\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=AttachmentsCell.vue.map */", map: {"version":3,"sources":["/home/runner/work/tager-admin-mail/tager-admin-mail/src/views/EmailLogList/components/AttachmentsCell.vue","AttachmentsCell.vue"],"names":[],"mappings":"AA0BA;EACA,qBAAA;ACzBA;AD0BA;EACA,0BAAA;ACxBA;;AAEA,8CAA8C","file":"AttachmentsCell.vue","sourcesContent":["<template>\n <ul>\n <li v-for=\"(attachment, index) of log.attachments\" :key=\"index\">\n <a :href=\"attachment.url\" target=\"_blank\">{{ attachment.name }}</a>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from '@vue/composition-api';\nimport { EmailLog } from '../../../typings/model';\n\ntype Props = Readonly<{ log: EmailLog }>;\n\nexport default defineComponent<Props>({\n name: 'EmailAttachmentsCell',\n props: {\n log: {\n type: Object,\n required: true,\n },\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\na {\n color: var(--primary);\n &:hover {\n text-decoration: underline;\n }\n}\n</style>\n","a {\n color: var(--primary);\n}\na:hover {\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=AttachmentsCell.vue.map */"]}, media: undefined });
};
/* scoped */
const __vue_scope_id__$6 = "data-v-3579afa5";
const __vue_scope_id__$6 = "data-v-7d98b6e9";
/* module identifier */

@@ -1450,7 +1450,7 @@ const __vue_module_identifier__$6 = undefined;

if (!inject) return
inject("data-v-2980c520_0", { source: "\n\n/*# sourceMappingURL=EmailLogList.vue.map */", map: {"version":3,"sources":["EmailLogList.vue"],"names":[],"mappings":";;AAEA,2CAA2C","file":"EmailLogList.vue"}, media: undefined });
inject("data-v-74a63b27_0", { source: "\n\n/*# sourceMappingURL=EmailLogList.vue.map */", map: {"version":3,"sources":["EmailLogList.vue"],"names":[],"mappings":";;AAEA,2CAA2C","file":"EmailLogList.vue"}, media: undefined });
};
/* scoped */
const __vue_scope_id__$7 = "data-v-2980c520";
const __vue_scope_id__$7 = "data-v-74a63b27";
/* module identifier */

@@ -1457,0 +1457,0 @@ const __vue_module_identifier__$7 = undefined;

{
"name": "@tager/admin-mail",
"version": "0.3.4",
"version": "0.3.5",
"license": "MIT",

@@ -5,0 +5,0 @@ "main": "dist/index.umd.js",

@@ -0,0 +0,0 @@ export function capitalizeWord(word: string): string {

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc