@codee-sh/medusa-plugin-notification-emails 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/emails-previews/contact-form.js +5 -7
- package/.medusa/server/emails-previews/inventory-level.js +23 -0
- package/.medusa/server/emails-previews/order-completed.js +20 -14
- package/.medusa/server/emails-previews/order-placed.js +19 -13
- package/.medusa/server/src/admin/index.js +385 -2364
- package/.medusa/server/src/admin/index.mjs +307 -2286
- package/.medusa/server/src/api/admin/notification-plugin/render-template/route.js +2 -2
- package/.medusa/server/src/hooks/api/orders.js +3 -2
- package/.medusa/server/src/templates/emails/base-template/index.js +23 -0
- package/.medusa/server/src/templates/emails/base-template/template.js +25 -0
- package/.medusa/server/src/templates/emails/blocks/components/heading.js +15 -0
- package/.medusa/server/src/templates/emails/blocks/components/product-item.js +14 -0
- package/.medusa/server/src/templates/emails/blocks/components/repeater.js +26 -0
- package/.medusa/server/src/templates/emails/blocks/components/row.js +13 -0
- package/.medusa/server/src/templates/emails/blocks/components/section.js +14 -0
- package/.medusa/server/src/templates/emails/blocks/components/separator.js +13 -0
- package/.medusa/server/src/templates/emails/blocks/components/text.js +15 -0
- package/.medusa/server/src/templates/emails/blocks/index.js +41 -0
- package/.medusa/server/src/templates/{shared/i18n → emails/blocks}/types.js +1 -1
- package/.medusa/server/src/templates/emails/contact-form/config.js +95 -0
- package/.medusa/server/src/templates/emails/contact-form/index.js +6 -17
- package/.medusa/server/src/templates/emails/contact-form/translations/de.json +14 -0
- package/.medusa/server/src/templates/emails/contact-form/translations/en.json +12 -14
- package/.medusa/server/src/templates/emails/contact-form/translations/pl.json +8 -10
- package/.medusa/server/src/templates/emails/index.js +183 -92
- package/.medusa/server/src/templates/emails/inventory-level/config.js +126 -0
- package/.medusa/server/src/templates/emails/inventory-level/index.js +6 -17
- package/.medusa/server/src/templates/emails/order-completed/config.js +233 -0
- package/.medusa/server/src/templates/emails/order-completed/index.js +6 -17
- package/.medusa/server/src/templates/emails/order-completed/translations/en.json +2 -1
- package/.medusa/server/src/templates/emails/order-completed/translations/pl.json +2 -1
- package/.medusa/server/src/templates/emails/order-placed/config.js +221 -0
- package/.medusa/server/src/templates/emails/order-placed/index.js +6 -17
- package/.medusa/server/src/templates/emails/order-placed/translations/en.json +1 -1
- package/.medusa/server/src/templates/emails/order-placed/translations/pl.json +1 -1
- package/.medusa/server/src/templates/emails/types.js +2 -1
- package/.medusa/server/src/utils/i18n/i18n.js +194 -0
- package/.medusa/server/src/utils/i18n/index.js +18 -0
- package/.medusa/server/src/utils/index.js +5 -1
- package/.medusa/server/src/utils/is-defined.js +7 -0
- package/.medusa/server/src/utils/is-object.js +7 -0
- package/.medusa/server/src/utils/pick-value-from-object.js +28 -0
- package/package.json +18 -11
- package/.medusa/server/src/templates/emails/contact-form/template.js +0 -28
- package/.medusa/server/src/templates/emails/contact-form/translations/index.js +0 -15
- package/.medusa/server/src/templates/emails/contact-form/types.js +0 -3
- package/.medusa/server/src/templates/emails/inventory-level/template.js +0 -28
- package/.medusa/server/src/templates/emails/inventory-level/types.js +0 -3
- package/.medusa/server/src/templates/emails/order-completed/template.js +0 -36
- package/.medusa/server/src/templates/emails/order-completed/types.js +0 -3
- package/.medusa/server/src/templates/emails/order-placed/template.js +0 -36
- package/.medusa/server/src/templates/emails/order-placed/types.js +0 -3
- package/.medusa/server/src/templates/shared/i18n/index.js +0 -6
- package/.medusa/server/src/templates/shared/i18n/languages.js +0 -187
- package/.medusa/server/src/templates/shared/i18n/utils.js +0 -186
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVariableValue = getVariableValue;
|
|
4
|
+
exports.interpolate = interpolate;
|
|
5
|
+
exports.multiInterpolate = multiInterpolate;
|
|
6
|
+
exports.t = t;
|
|
7
|
+
exports.createTranslator = createTranslator;
|
|
8
|
+
exports.mergeTranslations = mergeTranslations;
|
|
9
|
+
const index_1 = require("../index");
|
|
10
|
+
/**
|
|
11
|
+
* Simple i18n utility for templates
|
|
12
|
+
* Provides basic translation functionality without external dependencies
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Flatten translations structure - extracts 'general' object properties to root level
|
|
16
|
+
* This allows JSON files to have nested structure while templates use flat structure
|
|
17
|
+
*
|
|
18
|
+
* @param translations - Translations object (may contain 'general' wrapper)
|
|
19
|
+
* @returns Flattened translations object
|
|
20
|
+
*/
|
|
21
|
+
function flattenTranslations(translations) {
|
|
22
|
+
if (!(0, index_1.isObject)(translations) || !translations.general) {
|
|
23
|
+
return translations;
|
|
24
|
+
}
|
|
25
|
+
// Extract 'general' properties to root level
|
|
26
|
+
const { general, ...rest } = translations;
|
|
27
|
+
return { ...general, ...rest };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get variable value from text
|
|
31
|
+
*/
|
|
32
|
+
function getVariableValue(text) {
|
|
33
|
+
if (!text || typeof text !== "string") {
|
|
34
|
+
return { replaced: text, original: text };
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
replaced: text.replace(/\{\{(\w+(?:\.\w+)*)\}\}/g, (match, key) => {
|
|
38
|
+
return key;
|
|
39
|
+
}),
|
|
40
|
+
original: text
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Interpolate variables in text using {{variable}} syntax
|
|
45
|
+
* Supports nested object paths (e.g., inventory_level.id)
|
|
46
|
+
*
|
|
47
|
+
* @param text - Text with {{variable}} placeholders
|
|
48
|
+
* @param data - Data object for interpolation
|
|
49
|
+
* @returns Interpolated text
|
|
50
|
+
*/
|
|
51
|
+
function interpolate(text, data = {}) {
|
|
52
|
+
if (!text || typeof text !== "string") {
|
|
53
|
+
return text;
|
|
54
|
+
}
|
|
55
|
+
const { replaced, original } = getVariableValue(text);
|
|
56
|
+
const value = (0, index_1.pickValueFromObject)(replaced, data);
|
|
57
|
+
return value !== undefined && value !== null
|
|
58
|
+
? String(value)
|
|
59
|
+
: original;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Group interpolate - handles variables with prefixes (data. or translations.)
|
|
63
|
+
*
|
|
64
|
+
* Variables with prefix `data.` are resolved using interpolate function
|
|
65
|
+
* Variables with prefix `translations.` are resolved using translator.single
|
|
66
|
+
*
|
|
67
|
+
* @param text - Text with {{data.variable}} and {{translations.key}} placeholders
|
|
68
|
+
* @param data - Data object for interpolation
|
|
69
|
+
* @param translator - Translator instance with single method
|
|
70
|
+
* @returns Interpolated text with all variables resolved
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* multiInterpolate(
|
|
74
|
+
* "Order {{data.order.id}} - {{translations.headerTitle}}",
|
|
75
|
+
* { order: { id: "123" } },
|
|
76
|
+
* translator
|
|
77
|
+
* )
|
|
78
|
+
* // Returns: "Order 123 - Order Confirmation"
|
|
79
|
+
*/
|
|
80
|
+
function multiInterpolate(text, data = {}, translator, config) {
|
|
81
|
+
if (!text || typeof text !== "string") {
|
|
82
|
+
return text;
|
|
83
|
+
}
|
|
84
|
+
// Find all variables in format {{...}}
|
|
85
|
+
const variableRegex = /\{\{((?:data\.|translations\.)?\w+(?:\.\w+)*)\}\}/g;
|
|
86
|
+
const matches = Array.from(text.matchAll(variableRegex));
|
|
87
|
+
if (matches.length === 0) {
|
|
88
|
+
return text;
|
|
89
|
+
}
|
|
90
|
+
// Build dynamic data prefix array (e.g., ["data"] or ["data", "items"])
|
|
91
|
+
const dataPrefix = config?.arrayPath
|
|
92
|
+
? ["data", config.arrayPath]
|
|
93
|
+
: ["data"];
|
|
94
|
+
const dataPrefixString = dataPrefix.join(".");
|
|
95
|
+
// Process each variable separately
|
|
96
|
+
let result = text;
|
|
97
|
+
for (const match of matches) {
|
|
98
|
+
const fullMatch = match[0]; // e.g., "{{data.order.id}}"
|
|
99
|
+
const variable = match[1]; // e.g., "data.order.id"
|
|
100
|
+
let replacement;
|
|
101
|
+
// Check if variable starts with dynamic data prefix
|
|
102
|
+
if (variable.startsWith(`${dataPrefixString}.`)) {
|
|
103
|
+
// Escape dots in prefix for regex
|
|
104
|
+
const escapedPrefix = dataPrefixString.replace(/\./g, '\\.');
|
|
105
|
+
const dataPath = variable.replace(new RegExp(`^${escapedPrefix}\\.`), "");
|
|
106
|
+
const value = (0, index_1.pickValueFromObject)(dataPath, data);
|
|
107
|
+
// Convert value to string, preserving false as "false" and true as "true"
|
|
108
|
+
// String(false) = "false", String(true) = "true", String(0) = "0", etc.
|
|
109
|
+
if (value === undefined || value === null) {
|
|
110
|
+
replacement = undefined;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
replacement = String(value);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Check if variable starts with translations. prefix
|
|
117
|
+
else if (variable.startsWith("translations.")) {
|
|
118
|
+
// Remove "translations." prefix and use translator.single
|
|
119
|
+
const translationKey = variable.replace(/^translations\./, "");
|
|
120
|
+
replacement = translator.t(translationKey, data);
|
|
121
|
+
replacement = multiInterpolate(replacement, data, translator);
|
|
122
|
+
}
|
|
123
|
+
// Replace the variable in text if we found a replacement
|
|
124
|
+
if (replacement !== undefined) {
|
|
125
|
+
result = result.replace(fullMatch, replacement);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Simple translation function
|
|
132
|
+
*
|
|
133
|
+
* @param locale - Target locale (e.g., 'pl', 'en')
|
|
134
|
+
* @param translations - Record of translations by locale
|
|
135
|
+
* @param key - Translation key (supports dot notation: "labels.inventoryLevelId")
|
|
136
|
+
* @param data - Data for interpolation
|
|
137
|
+
* @returns Translated and interpolated text
|
|
138
|
+
*/
|
|
139
|
+
function t(locale, translations, key) {
|
|
140
|
+
// Get translations for locale with fallback to 'pl'
|
|
141
|
+
const localeTranslations = translations[locale] || translations["pl"] || {};
|
|
142
|
+
// Flatten translations structure
|
|
143
|
+
const flatTranslations = flattenTranslations(localeTranslations);
|
|
144
|
+
const { replaced, original } = getVariableValue(key);
|
|
145
|
+
// Get translation value (supports nested keys)
|
|
146
|
+
const translation = (0, index_1.pickValueFromObject)(replaced, flatTranslations);
|
|
147
|
+
// Use key as fallback if translation not found
|
|
148
|
+
const text = translation || original;
|
|
149
|
+
return text;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Create a translator function
|
|
153
|
+
*
|
|
154
|
+
* @param locale - Target locale (e.g., 'pl', 'en')
|
|
155
|
+
* @param translations - Record of translations by locale
|
|
156
|
+
* @returns Translator function that takes (key, data?) and returns translated string
|
|
157
|
+
*/
|
|
158
|
+
function createTranslator(locale, translations) {
|
|
159
|
+
return {
|
|
160
|
+
t: (key, data = {}) => {
|
|
161
|
+
return t(locale, translations, key);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Merge custom translations with base translations
|
|
167
|
+
* Custom translations override base translations
|
|
168
|
+
*
|
|
169
|
+
* @param baseTranslations - Base translations object
|
|
170
|
+
* @param customTranslations - Custom translations to merge (optional)
|
|
171
|
+
* @returns Merged translations object
|
|
172
|
+
*/
|
|
173
|
+
function mergeTranslations(baseTranslations, customTranslations) {
|
|
174
|
+
if (!customTranslations ||
|
|
175
|
+
!(0, index_1.isObject)(customTranslations)) {
|
|
176
|
+
return baseTranslations;
|
|
177
|
+
}
|
|
178
|
+
const merged = {
|
|
179
|
+
...baseTranslations,
|
|
180
|
+
};
|
|
181
|
+
for (const [lang, custom] of Object.entries(customTranslations)) {
|
|
182
|
+
if ((0, index_1.isObject)(custom)) {
|
|
183
|
+
merged[lang] = {
|
|
184
|
+
...baseTranslations[lang],
|
|
185
|
+
general: {
|
|
186
|
+
...(baseTranslations[lang]?.general || {}),
|
|
187
|
+
...(custom?.general || custom),
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return merged;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91dGlscy9pMThuL2kxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE4QkEsNENBZ0JDO0FBVUQsa0NBY0M7QUFxQkQsNENBOERDO0FBV0QsY0F1QkM7QUFTRCw0Q0FTQztBQVVELDhDQThCQztBQXJQRCxvQ0FHaUI7QUFFakI7OztHQUdHO0FBRUg7Ozs7OztHQU1HO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxZQUFpQjtJQUM1QyxJQUFJLENBQUMsSUFBQSxnQkFBUSxFQUFDLFlBQVksQ0FBQyxJQUFJLENBQUUsWUFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5RCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxZQUFtQixDQUFBO0lBQ2hELE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFBO0FBQ2hDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixJQUFZO0lBRVosSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDM0MsQ0FBQztJQUVELE9BQU87UUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FDcEIsMEJBQTBCLEVBQzFCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2IsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLENBQ0Y7UUFDRCxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsSUFBWSxFQUNaLE9BQTRCLEVBQUU7SUFFOUIsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO0lBRXJELE1BQU0sS0FBSyxHQUFHLElBQUEsMkJBQW1CLEVBQUMsUUFBZSxFQUFFLElBQVcsQ0FBQyxDQUFBO0lBQy9ELE9BQU8sS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSTtRQUMxQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxRQUFRLENBQUE7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixJQUFZLEVBQ1osT0FBNEIsRUFBRSxFQUM5QixVQUFzRSxFQUN0RSxNQUFZO0lBRVosSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsTUFBTSxhQUFhLEdBQUcsb0RBQW9ELENBQUE7SUFDMUUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFFeEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsU0FBUztRQUNsQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNaLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUU3QyxtQ0FBbUM7SUFDbkMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFBO0lBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsNEJBQTRCO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFFLHdCQUF3QjtRQUVuRCxJQUFJLFdBQStCLENBQUE7UUFFbkMsb0RBQW9EO1FBQ3BELElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLGdCQUFnQixHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hELGtDQUFrQztZQUNsQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQzVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUEsMkJBQW1CLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRWpELDBFQUEwRTtZQUMxRSx3RUFBd0U7WUFDeEUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUMsV0FBVyxHQUFHLFNBQVMsQ0FBQTtZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELHFEQUFxRDthQUNoRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM5QywwREFBMEQ7WUFDMUQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUM5RCxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDaEQsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDL0QsQ0FBQztRQUVELHlEQUF5RDtRQUN6RCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLENBQUMsQ0FDZixNQUFjLEVBQ2QsWUFBaUMsRUFDakMsR0FBVztJQUVYLG9EQUFvRDtJQUNwRCxNQUFNLGtCQUFrQixHQUN0QixZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUVsRCxpQ0FBaUM7SUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FDMUMsa0JBQWtCLENBQ25CLENBQUE7SUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXBELCtDQUErQztJQUMvQyxNQUFNLFdBQVcsR0FBRyxJQUFBLDJCQUFtQixFQUFDLFFBQWUsRUFBRSxnQkFBdUIsQ0FBQyxDQUFBO0lBRWpGLCtDQUErQztJQUMvQyxNQUFNLElBQUksR0FBRyxXQUFXLElBQUksUUFBUSxDQUFBO0lBRXBDLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixNQUFjLEVBQ2QsWUFBaUM7SUFFakMsT0FBTztRQUNMLENBQUMsRUFBRSxDQUFDLEdBQVcsRUFBRSxPQUE0QixFQUFFLEVBQUUsRUFBRTtZQUNqRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsZ0JBQXFDLEVBQ3JDLGtCQUF3QztJQUV4QyxJQUNFLENBQUMsa0JBQWtCO1FBQ25CLENBQUMsSUFBQSxnQkFBUSxFQUFDLGtCQUFrQixDQUFDLEVBQzdCLENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFBO0lBQ3pCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBd0I7UUFDbEMsR0FBRyxnQkFBZ0I7S0FDcEIsQ0FBQTtJQUVELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUN6QyxrQkFBa0IsQ0FDbkIsRUFBRSxDQUFDO1FBQ0YsSUFBSSxJQUFBLGdCQUFRLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztvQkFDMUMsR0FBRyxDQUFFLE1BQWMsRUFBRSxPQUFPLElBQUssTUFBYyxDQUFDO2lCQUNqRDthQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./i18n"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdXRpbHMvaTE4bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXNCIn0=
|
|
@@ -18,4 +18,8 @@ __exportStar(require("./date"), exports);
|
|
|
18
18
|
__exportStar(require("./addresses"), exports);
|
|
19
19
|
__exportStar(require("./money-amount-helpers"), exports);
|
|
20
20
|
__exportStar(require("./payment"), exports);
|
|
21
|
-
|
|
21
|
+
__exportStar(require("./pick-value-from-object"), exports);
|
|
22
|
+
__exportStar(require("./is-defined"), exports);
|
|
23
|
+
__exportStar(require("./is-object"), exports);
|
|
24
|
+
__exportStar(require("./i18n/i18n"), exports);
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2Qiw4Q0FBNEI7QUFDNUIseURBQXVDO0FBQ3ZDLDRDQUEwQjtBQUMxQiwyREFBeUM7QUFDekMsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1Qiw4Q0FBNEIifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDefined = isDefined;
|
|
4
|
+
function isDefined(val) {
|
|
5
|
+
return typeof val !== "undefined";
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9pcy1kZWZpbmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOEJBSUM7QUFKRCxTQUFnQixTQUFTLENBQ3ZCLEdBQU07SUFFTixPQUFPLE9BQU8sR0FBRyxLQUFLLFdBQVcsQ0FBQTtBQUNuQyxDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isObject = isObject;
|
|
4
|
+
function isObject(obj) {
|
|
5
|
+
return obj != null && obj?.constructor?.name === "Object";
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2lzLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRCQUVDO0FBRkQsU0FBZ0IsUUFBUSxDQUFDLEdBQVE7SUFDL0IsT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQTtBQUMzRCxDQUFDIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pickValueFromObject = pickValueFromObject;
|
|
4
|
+
const is_defined_1 = require("./is-defined");
|
|
5
|
+
const is_object_1 = require("./is-object");
|
|
6
|
+
function pickValueFromObject(path, object) {
|
|
7
|
+
const segments = path.split(".");
|
|
8
|
+
let result = object;
|
|
9
|
+
for (let i = 0; i < segments.length; i++) {
|
|
10
|
+
const segment = segments[i];
|
|
11
|
+
result = result[segment];
|
|
12
|
+
if (!(0, is_defined_1.isDefined)(result)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (i === segments.length - 1) {
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(result)) {
|
|
19
|
+
const subPath = segments.slice(i + 1).join(".");
|
|
20
|
+
return result.map((item) => pickValueFromObject(subPath, item)).flat();
|
|
21
|
+
}
|
|
22
|
+
if (!(0, is_object_1.isObject)(result)) {
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay12YWx1ZS1mcm9tLW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9waWNrLXZhbHVlLWZyb20tb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esa0RBOEJDO0FBakNELDZDQUF3QztBQUN4QywyQ0FBc0M7QUFFdEMsU0FBZ0IsbUJBQW1CLENBQ2pDLElBQVksRUFDWixNQUF3QjtJQUV4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLElBQUksTUFBTSxHQUFRLE1BQU0sQ0FBQTtJQUV4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMzQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyxJQUFBLHNCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQy9DLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFBLG9CQUFRLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codee-sh/medusa-plugin-notification-emails",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Medusa plugin for notifications emails.",
|
|
5
5
|
"author": "Codee Team (https://codee.dev)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,15 +40,22 @@
|
|
|
40
40
|
"prepublishOnly": "medusa plugin:build",
|
|
41
41
|
"publish-local": "npx medusa plugin:publish",
|
|
42
42
|
"publish-package": "dotenv npm publish --access public",
|
|
43
|
-
"email:dev": "email dev --dir emails-previews"
|
|
43
|
+
"email:dev": "email dev --dir emails-previews",
|
|
44
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
45
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
|
|
46
|
+
"changeset": "changeset",
|
|
47
|
+
"version": "changeset version",
|
|
48
|
+
"release": "changeset publish",
|
|
49
|
+
"release:manual": "npm run build && npm publish --access public"
|
|
44
50
|
},
|
|
45
51
|
"dependencies": {
|
|
46
|
-
"@react-email/components": "^0.
|
|
47
|
-
"@react-email/preview-server": "^4.
|
|
48
|
-
"@react-email/render": "^1.
|
|
49
|
-
"react-email": "^4.
|
|
52
|
+
"@react-email/components": "^0.5.7",
|
|
53
|
+
"@react-email/preview-server": "^4.3.1",
|
|
54
|
+
"@react-email/render": "^1.4.0",
|
|
55
|
+
"react-email": "^4.3.1"
|
|
50
56
|
},
|
|
51
57
|
"devDependencies": {
|
|
58
|
+
"@changesets/cli": "^2.29.8",
|
|
52
59
|
"@medusajs/admin-sdk": "2.8.8",
|
|
53
60
|
"@medusajs/cli": "2.8.8",
|
|
54
61
|
"@medusajs/framework": "2.8.8",
|
|
@@ -60,20 +67,20 @@
|
|
|
60
67
|
"@mikro-orm/knex": "6.4.3",
|
|
61
68
|
"@mikro-orm/migrations": "6.4.3",
|
|
62
69
|
"@mikro-orm/postgresql": "6.4.3",
|
|
63
|
-
"@react-email/components": "^0.
|
|
64
|
-
"@react-email/preview-server": "^4.
|
|
65
|
-
"@react-email/render": "^1.
|
|
70
|
+
"@react-email/components": "^0.5.7",
|
|
71
|
+
"@react-email/preview-server": "^4.3.1",
|
|
72
|
+
"@react-email/render": "^1.4.0",
|
|
66
73
|
"@swc/core": "1.5.7",
|
|
67
74
|
"@types/node": "^20.0.0",
|
|
68
75
|
"@types/react": "^18.3.2",
|
|
69
76
|
"@types/react-dom": "^18.2.25",
|
|
70
|
-
"react-i18next": "^15.0.0",
|
|
71
77
|
"awilix": "^8.0.1",
|
|
72
78
|
"dotenv": "^17.2.3",
|
|
73
79
|
"prop-types": "^15.8.1",
|
|
74
80
|
"react": "^18.2.0",
|
|
75
81
|
"react-dom": "^18.2.0",
|
|
76
|
-
"react-email": "^4.
|
|
82
|
+
"react-email": "^4.3.1",
|
|
83
|
+
"react-i18next": "^15.0.0",
|
|
77
84
|
"ts-node": "^10.9.2",
|
|
78
85
|
"typescript": "^5.6.2",
|
|
79
86
|
"vite": "^5.2.11",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderHTMLReact = renderHTMLReact;
|
|
4
|
-
exports.renderHTML = renderHTML;
|
|
5
|
-
exports.renderText = renderText;
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const components_1 = require("@react-email/components");
|
|
8
|
-
const render_1 = require("@react-email/render");
|
|
9
|
-
const utils_1 = require("../../shared/utils");
|
|
10
|
-
function renderHTMLReact(data, options) {
|
|
11
|
-
const theme = options.theme || {};
|
|
12
|
-
const i18n = options.i18n;
|
|
13
|
-
if (!i18n) {
|
|
14
|
-
throw new Error("i18n is required in options. It should be provided by renderTemplate.");
|
|
15
|
-
}
|
|
16
|
-
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, {}), (0, jsx_runtime_1.jsx)(components_1.Tailwind, { config: {
|
|
17
|
-
presets: [components_1.pixelBasedPreset],
|
|
18
|
-
theme: theme
|
|
19
|
-
}, children: (0, jsx_runtime_1.jsx)(components_1.Body, { className: "mx-auto my-auto px-4 font-arial font-normal text-base bg-ui-bg text-ui-text", children: (0, jsx_runtime_1.jsxs)(components_1.Container, { children: [(0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsx)(components_1.Heading, { className: "text-xl text-center font-bold mb-4", children: i18n.t('headerTitle', data) }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.name', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.name) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.email', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.email) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), data.phone && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.phone', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.phone) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" })] })), (0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { className: "font-semibold m-0 p-0", children: i18n.t('labels.message', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "m-0 p-0", children: (0, utils_1.escapeHtml)(data.message) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-sm text-ui-text text-center", children: i18n.t('footer', data) }) })] }) }) })] }));
|
|
20
|
-
}
|
|
21
|
-
async function renderHTML(data, options) {
|
|
22
|
-
return await (0, render_1.pretty)(await (0, render_1.render)(renderHTMLReact(data, options)));
|
|
23
|
-
}
|
|
24
|
-
async function renderText(data, options) {
|
|
25
|
-
const html = await (0, render_1.render)(renderHTMLReact(data, options));
|
|
26
|
-
return (0, render_1.toPlainText)(html);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9jb250YWN0LWZvcm0vdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsMENBa0ZDO0FBRUQsZ0NBS0M7QUFFRCxnQ0FNQzs7QUF2R0Qsd0RBQTJJO0FBQzNJLGdEQUFrRTtBQUdsRSw4Q0FBZ0Q7QUFFaEQsU0FBZ0IsZUFBZSxDQUM3QixJQUFpQyxFQUNqQyxPQUE0QjtJQUU1QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBRTFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsT0FBTyxDQUNMLHdCQUFDLGlCQUFJLGVBQ0gsdUJBQUMsaUJBQUksS0FBRyxFQUNSLHVCQUFDLHFCQUFRLElBQ1AsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxDQUFDLDZCQUFnQixDQUFDO29CQUMzQixLQUFLLEVBQUUsS0FBSztpQkFDYixZQUVELHVCQUFDLGlCQUFJLElBQUMsU0FBUyxFQUFDLDZFQUE2RSxZQUMzRix3QkFBQyxzQkFBUyxlQUNSLHVCQUFDLG9CQUFPLGNBQ04sdUJBQUMsb0JBQU8sSUFBQyxTQUFTLEVBQUMsb0NBQW9DLFlBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUNwQixHQUNGLEVBRVYsdUJBQUMsZUFBRSxJQUFDLFNBQVMsRUFBQyx1QkFBdUIsR0FBRyxFQUd4Qyx1QkFBQyxvQkFBTyxjQUNOLHdCQUFDLGdCQUFHLGVBQ0YsdUJBQUMsbUJBQU0sSUFBQyxTQUFTLEVBQUMsZUFBZSxZQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFVLEVBQ3hFLHVCQUFDLG1CQUFNLElBQUMsU0FBUyxFQUFDLFlBQVksWUFBRSxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFVLElBQzNELEdBQ0UsRUFFVix1QkFBQyxlQUFFLElBQUMsU0FBUyxFQUFDLHVCQUF1QixHQUFHLEVBR3hDLHVCQUFDLG9CQUFPLGNBQ04sd0JBQUMsZ0JBQUcsZUFDRix1QkFBQyxtQkFBTSxJQUFDLFNBQVMsRUFBQyxlQUFlLFlBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQVUsRUFDekUsdUJBQUMsbUJBQU0sSUFBQyxTQUFTLEVBQUMsWUFBWSxZQUFFLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQVUsSUFDNUQsR0FDRSxFQUVWLHVCQUFDLGVBQUUsSUFBQyxTQUFTLEVBQUMsdUJBQXVCLEdBQUcsRUFHdkMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUNiLDZEQUNFLHVCQUFDLG9CQUFPLGNBQ04sd0JBQUMsZ0JBQUcsZUFDRix1QkFBQyxtQkFBTSxJQUFDLFNBQVMsRUFBQyxlQUFlLFlBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQVUsRUFDekUsdUJBQUMsbUJBQU0sSUFBQyxTQUFTLEVBQUMsWUFBWSxZQUFFLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQVUsSUFDNUQsR0FDRSxFQUNWLHVCQUFDLGVBQUUsSUFBQyxTQUFTLEVBQUMsdUJBQXVCLEdBQUcsSUFDdkMsQ0FDSixFQUdELHdCQUFDLG9CQUFPLGVBQ04sdUJBQUMsaUJBQUksSUFBQyxTQUFTLEVBQUMsdUJBQXVCLFlBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBUSxFQUMvRSx1QkFBQyxpQkFBSSxJQUFDLFNBQVMsRUFBQyxTQUFTLFlBQUUsSUFBQSxrQkFBVSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBUSxJQUNuRCxFQUVWLHVCQUFDLGVBQUUsSUFBQyxTQUFTLEVBQUMsdUJBQXVCLEdBQUcsRUFHeEMsdUJBQUMsb0JBQU8sY0FDTix1QkFBQyxpQkFBSSxJQUFDLFNBQVMsRUFBQyxrQ0FBa0MsWUFDL0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQ2xCLEdBQ0MsSUFDQSxHQUNQLEdBQ0UsSUFDTixDQUNSLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLFVBQVUsQ0FDOUIsSUFBaUMsRUFDakMsT0FBNEI7SUFFNUIsT0FBTyxNQUFNLElBQUEsZUFBTSxFQUFDLE1BQU0sSUFBQSxlQUFNLEVBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVNLEtBQUssVUFBVSxVQUFVLENBQzlCLElBQWlDLEVBQ2pDLE9BQTRCO0lBRTVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxlQUFNLEVBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFELE9BQU8sSUFBQSxvQkFBVyxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUMifQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.en = exports.pl = exports.translations = void 0;
|
|
7
|
-
const pl_json_1 = __importDefault(require("./pl.json"));
|
|
8
|
-
exports.pl = pl_json_1.default;
|
|
9
|
-
const en_json_1 = __importDefault(require("./en.json"));
|
|
10
|
-
exports.en = en_json_1.default;
|
|
11
|
-
exports.translations = {
|
|
12
|
-
pl: pl_json_1.default,
|
|
13
|
-
en: en_json_1.default,
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9jb250YWN0LWZvcm0vdHJhbnNsYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUEyQjtBQVFsQixhQVJGLGlCQUFFLENBUUU7QUFQWCx3REFBMkI7QUFPZCxhQVBOLGlCQUFFLENBT007QUFMRixRQUFBLFlBQVksR0FBcUI7SUFDNUMsRUFBRSxFQUFFLGlCQUFFO0lBQ04sRUFBRSxFQUFFLGlCQUFFO0NBQ1AsQ0FBQyJ9
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9jb250YWN0LWZvcm0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderHTMLReact = renderHTMLReact;
|
|
4
|
-
exports.renderHTML = renderHTML;
|
|
5
|
-
exports.renderText = renderText;
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const components_1 = require("@react-email/components");
|
|
8
|
-
const render_1 = require("@react-email/render");
|
|
9
|
-
const utils_1 = require("../../shared/utils");
|
|
10
|
-
function renderHTMLReact(data, options) {
|
|
11
|
-
const theme = options.theme || {};
|
|
12
|
-
const i18n = options.i18n;
|
|
13
|
-
if (!i18n) {
|
|
14
|
-
throw new Error("i18n is required in options. It should be provided by renderTemplate.");
|
|
15
|
-
}
|
|
16
|
-
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, {}), (0, jsx_runtime_1.jsx)(components_1.Tailwind, { config: {
|
|
17
|
-
presets: [components_1.pixelBasedPreset],
|
|
18
|
-
theme: theme
|
|
19
|
-
}, children: (0, jsx_runtime_1.jsx)(components_1.Body, { className: "mx-auto my-auto px-4 font-arial font-normal text-base bg-ui-bg text-ui-text", children: (0, jsx_runtime_1.jsxs)(components_1.Container, { children: [(0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Heading, { className: "text-xl text-center font-bold mb-4", children: i18n.t('headerTitle', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-center mb-4", children: i18n.t('headerDescription', data) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.inventoryLevelId', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.inventory_level.id) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.inventoryLevelLocation', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.inventory_level.location_id) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.inventoryLevelStockedQuantity', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.inventory_level.stocked_quantity) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.inventoryLevelReservedQuantity', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.inventory_level.reserved_quantity) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.inventoryLevelAvailableQuantity', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.inventory_level.available_quantity) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-sm text-gray-600 text-center", children: i18n.t('footer', data) }) })] }) }) })] }));
|
|
20
|
-
}
|
|
21
|
-
async function renderHTML(data, options) {
|
|
22
|
-
return await (0, render_1.pretty)(await (0, render_1.render)(renderHTMLReact(data, options)));
|
|
23
|
-
}
|
|
24
|
-
async function renderText(data, options) {
|
|
25
|
-
const html = await (0, render_1.render)(renderHTMLReact(data, options));
|
|
26
|
-
return (0, render_1.toPlainText)(html);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9pbnZlbnRvcnktbGV2ZWwvdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsMENBOEZDO0FBRUQsZ0NBS0M7QUFFRCxnQ0FNQzs7QUFuSEQsd0RBQW1KO0FBQ25KLGdEQUFrRTtBQUdsRSw4Q0FBZ0Q7QUFFaEQsU0FBZ0IsZUFBZSxDQUM3QixJQUFvQyxFQUNwQyxPQUE0QjtJQUU1QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBRTFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsT0FBTyxDQUNMLHdCQUFDLGlCQUFJLGVBQ0gsdUJBQUMsaUJBQUksS0FBRyxFQUNSLHVCQUFDLHFCQUFRLElBQ1AsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxDQUFDLDZCQUFnQixDQUFDO29CQUMzQixLQUFLLEVBQUUsS0FBSztpQkFDYixZQUVELHVCQUFDLGlCQUFJLElBQUMsU0FBUyxFQUFDLDZFQUE2RSxZQUMzRix3QkFBQyxzQkFBUyxlQUNSLHdCQUFDLG9CQUFPLGVBQ04sdUJBQUMsb0JBQU8sSUFBQyxTQUFTLEVBQUMsb0NBQW9DLFlBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUNwQixFQUNWLHVCQUFDLGlCQUFJLElBQUMsU0FBUyxFQUFDLGtCQUFrQixZQUMvQixJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxHQUM3QixJQUNDLEVBRVYsdUJBQUMsZUFBRSxJQUFDLFNBQVMsRUFBQyx1QkFBdUIsR0FBRyxFQUd4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
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9pbnZlbnRvcnktbGV2ZWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderHTMLReact = renderHTMLReact;
|
|
7
|
-
exports.renderHTML = renderHTML;
|
|
8
|
-
exports.renderText = renderText;
|
|
9
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
|
-
const react_1 = __importDefault(require("react"));
|
|
11
|
-
const components_1 = require("@react-email/components");
|
|
12
|
-
const render_1 = require("@react-email/render");
|
|
13
|
-
const utils_1 = require("../../shared/utils");
|
|
14
|
-
function renderHTMLReact(data, options) {
|
|
15
|
-
const theme = options.theme || {};
|
|
16
|
-
const i18n = options.i18n;
|
|
17
|
-
if (!i18n) {
|
|
18
|
-
throw new Error("i18n is required in options. It should be provided by renderTemplate.");
|
|
19
|
-
}
|
|
20
|
-
// Prepare items list
|
|
21
|
-
const itemsList = data.items.map((item) => `${(0, utils_1.escapeHtml)(item.title)} - ${item.quantity}x ${(0, utils_1.escapeHtml)(item.price)}`);
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, {}), (0, jsx_runtime_1.jsx)(components_1.Tailwind, { config: {
|
|
23
|
-
presets: [components_1.pixelBasedPreset],
|
|
24
|
-
theme: theme
|
|
25
|
-
}, children: (0, jsx_runtime_1.jsx)(components_1.Body, { className: "mx-auto my-auto px-4 font-arial font-normal text-base bg-ui-bg text-ui-text", children: (0, jsx_runtime_1.jsxs)(components_1.Container, { children: [(0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Heading, { className: "text-xl text-center font-bold mb-4", children: i18n.t('headerTitle', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-center mb-4", children: i18n.t('headerDescription', data) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.salesChannel', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.sales_channel.name) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderNumber', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.orderNumber) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderDate', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.orderDate) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.completedDate', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.completedDate) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { className: "p-0", children: [(0, jsx_runtime_1.jsx)(components_1.Text, { className: "font-semibold m-0 p-0", children: i18n.t('labels.products', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "m-0 p-0", children: itemsList.map((item, index) => ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [item, index < itemsList.length - 1 && (0, jsx_runtime_1.jsx)("br", {})] }, index))) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { className: "font-semibold m-0 p-0", children: i18n.t('labels.shippingAddress', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "m-0 p-0", dangerouslySetInnerHTML: {
|
|
26
|
-
__html: data?.shippingAddress || i18n.noData
|
|
27
|
-
} })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { className: "bg-gray-50 p-4 rounded", children: [(0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.discountTotal', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.summary.discount_total) })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderTotal', data) }), (0, jsx_runtime_1.jsxs)(components_1.Column, { className: "text-right", children: [(0, utils_1.escapeHtml)(data.summary.total), " ", (0, utils_1.escapeHtml)(data.summary.currency_code)] })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.paidTotal', data) }), (0, jsx_runtime_1.jsxs)(components_1.Column, { className: "text-right", children: [(0, utils_1.escapeHtml)(data.summary.paid_total), " ", (0, utils_1.escapeHtml)(data.summary.currency_code)] })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.taxTotal', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.summary.tax_total) })] })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), data.orderUrl && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Section, { className: "text-center", children: (0, jsx_runtime_1.jsx)(components_1.Button, { href: data.orderUrl, className: "bg-ui-button text-ui-button-text py-3 px-8 inline-block rounded", children: i18n.t('viewOrderButton', data) }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" })] })), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-sm text-gray-600 text-center", children: i18n.t('footer', data) }) })] }) }) })] }));
|
|
28
|
-
}
|
|
29
|
-
async function renderHTML(data, options) {
|
|
30
|
-
return await (0, render_1.pretty)(await (0, render_1.render)(renderHTMLReact(data, options)));
|
|
31
|
-
}
|
|
32
|
-
async function renderText(data, options) {
|
|
33
|
-
const html = await (0, render_1.render)(renderHTMLReact(data, options));
|
|
34
|
-
return (0, render_1.toPlainText)(html);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9vcmRlci1jb21wbGV0ZWQvdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0EsMENBZ0tDO0FBRUQsZ0NBS0M7QUFFRCxnQ0FNQzs7QUF0TEQsa0RBQTBCO0FBQzFCLHdEQUFtSjtBQUNuSixnREFBa0U7QUFHbEUsOENBQWdEO0FBRWhELFNBQWdCLGVBQWUsQ0FDN0IsSUFBb0MsRUFDcEMsT0FBNEI7SUFFNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUUxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBQSxrQkFBVSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDcEYsQ0FBQztJQUVGLE9BQU8sQ0FDTCx3QkFBQyxpQkFBSSxlQUNILHVCQUFDLGlCQUFJLEtBQUcsRUFDUix1QkFBQyxxQkFBUSxJQUNQLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsQ0FBQyw2QkFBZ0IsQ0FBQztvQkFDM0IsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsWUFFRCx1QkFBQyxpQkFBSSxJQUFDLFNBQVMsRUFBQyw2RUFBNkUsWUFDM0Ysd0JBQUMsc0JBQVMsZUFDUix3QkFBQyxvQkFBTyxlQUNOLHVCQUFDLG9C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
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9vcmRlci1jb21wbGV0ZWQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderHTMLReact = renderHTMLReact;
|
|
7
|
-
exports.renderHTML = renderHTML;
|
|
8
|
-
exports.renderText = renderText;
|
|
9
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
|
-
const react_1 = __importDefault(require("react"));
|
|
11
|
-
const components_1 = require("@react-email/components");
|
|
12
|
-
const render_1 = require("@react-email/render");
|
|
13
|
-
const utils_1 = require("../../shared/utils");
|
|
14
|
-
function renderHTMLReact(data, options) {
|
|
15
|
-
const theme = options.theme || {};
|
|
16
|
-
const i18n = options.i18n;
|
|
17
|
-
if (!i18n) {
|
|
18
|
-
throw new Error("i18n is required in options. It should be provided by renderTemplate.");
|
|
19
|
-
}
|
|
20
|
-
// Prepare items list
|
|
21
|
-
const itemsList = data.items.map((item) => `${(0, utils_1.escapeHtml)(item.title)} - ${item.quantity}x ${(0, utils_1.escapeHtml)(item.price)}`);
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, {}), (0, jsx_runtime_1.jsx)(components_1.Tailwind, { config: {
|
|
23
|
-
presets: [components_1.pixelBasedPreset],
|
|
24
|
-
theme: theme
|
|
25
|
-
}, children: (0, jsx_runtime_1.jsx)(components_1.Body, { className: "mx-auto my-auto px-4 font-arial font-normal text-base bg-ui-bg text-ui-text", children: (0, jsx_runtime_1.jsxs)(components_1.Container, { children: [(0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Heading, { className: "text-xl text-center font-bold mb-4", children: i18n.t('headerTitle', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-center mb-4", children: i18n.t('headerDescription', data) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.salesChannel', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.sales_channel.name) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderNumber', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.orderNumber) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderDate', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.orderDate) })] }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { className: "p-0", children: [(0, jsx_runtime_1.jsx)(components_1.Text, { className: "font-semibold m-0 p-0", children: i18n.t('labels.products', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "m-0 p-0", children: itemsList.map((item, index) => ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [item, index < itemsList.length - 1 && (0, jsx_runtime_1.jsx)("br", {})] }, index))) })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { className: "font-semibold m-0 p-0", children: i18n.t('labels.shippingAddress', data) }), (0, jsx_runtime_1.jsx)(components_1.Text, { className: "m-0 p-0", dangerouslySetInnerHTML: {
|
|
26
|
-
__html: data?.shippingAddress || i18n.noData
|
|
27
|
-
} })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), (0, jsx_runtime_1.jsxs)(components_1.Section, { className: "bg-gray-50 p-4 rounded", children: [(0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.discountTotal', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.summary.discount_total) })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.orderTotal', data) }), (0, jsx_runtime_1.jsxs)(components_1.Column, { className: "text-right", children: [(0, utils_1.escapeHtml)(data.summary.total), " ", (0, utils_1.escapeHtml)(data.summary.currency_code)] })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.paidTotal', data) }), (0, jsx_runtime_1.jsxs)(components_1.Column, { className: "text-right", children: [(0, utils_1.escapeHtml)(data.summary.paid_total), " ", (0, utils_1.escapeHtml)(data.summary.currency_code)] })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { className: "mt-2", children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "font-semibold", children: i18n.t('labels.taxTotal', data) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "text-right", children: (0, utils_1.escapeHtml)(data.summary.tax_total) })] })] }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" }), data.orderUrl && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Section, { className: "text-center", children: (0, jsx_runtime_1.jsx)(components_1.Button, { href: data.orderUrl, className: "bg-ui-button text-ui-button-text py-3 px-8 inline-block rounded", children: i18n.t('viewOrderButton', data) }) }), (0, jsx_runtime_1.jsx)(components_1.Hr, { className: "my-4 border-ui-border" })] })), (0, jsx_runtime_1.jsx)(components_1.Section, { children: (0, jsx_runtime_1.jsx)(components_1.Text, { className: "text-sm text-gray-600 text-center", children: i18n.t('footer', data) }) })] }) }) })] }));
|
|
28
|
-
}
|
|
29
|
-
async function renderHTML(data, options) {
|
|
30
|
-
return await (0, render_1.pretty)(await (0, render_1.render)(renderHTMLReact(data, options)));
|
|
31
|
-
}
|
|
32
|
-
async function renderText(data, options) {
|
|
33
|
-
const html = await (0, render_1.render)(renderHTMLReact(data, options));
|
|
34
|
-
return (0, render_1.toPlainText)(html);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9vcmRlci1wbGFjZWQvdGVtcGxhdGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0EsMENBc0pDO0FBRUQsZ0NBS0M7QUFFRCxnQ0FNQzs7QUE1S0Qsa0RBQTBCO0FBQzFCLHdEQUFtSjtBQUNuSixnREFBa0U7QUFHbEUsOENBQWdEO0FBRWhELFNBQWdCLGVBQWUsQ0FDN0IsSUFBa0MsRUFDbEMsT0FBNEI7SUFFNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUUxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBQSxrQkFBVSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDcEYsQ0FBQztJQUVGLE9BQU8sQ0FDTCx3QkFBQyxpQkFBSSxlQUNILHVCQUFDLGlCQUFJLEtBQUcsRUFDUix1QkFBQyxxQkFBUSxJQUNQLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsQ0FBQyw2QkFBZ0IsQ0FBQztvQkFDM0IsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsWUFFRCx1QkFBQyxpQkFBSSxJQUFDLFNBQVMsRUFBQyw2RUFBNkUsWUFDM0Ysd0JBQUMsc0JBQVMsZUFDUix3QkFBQyxvQkFBTyxlQUNOLHVCQUFDLG9CQUFP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
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL2VtYWlscy9vcmRlci1wbGFjZWQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTranslations = void 0;
|
|
4
|
-
var utils_1 = require("./utils");
|
|
5
|
-
Object.defineProperty(exports, "getTranslations", { enumerable: true, get: function () { return utils_1.getTranslations; } });
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NoYXJlZC9pMThuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGlDQUEwQztBQUFqQyx3R0FBQSxlQUFlLE9BQUEifQ==
|