@rovela-ai/sdk 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/admin/api/auth.js +5 -11
  2. package/dist/admin/api/auth.js.map +1 -1
  3. package/dist/admin/api/categories.js +43 -50
  4. package/dist/admin/api/categories.js.map +1 -1
  5. package/dist/admin/api/check.js +6 -9
  6. package/dist/admin/api/check.js.map +1 -1
  7. package/dist/admin/api/customers.js +17 -21
  8. package/dist/admin/api/customers.js.map +1 -1
  9. package/dist/admin/api/index.js +10 -38
  10. package/dist/admin/api/index.js.map +1 -1
  11. package/dist/admin/api/orders.js +30 -35
  12. package/dist/admin/api/orders.js.map +1 -1
  13. package/dist/admin/api/products.js +56 -66
  14. package/dist/admin/api/products.js.map +1 -1
  15. package/dist/admin/api/refund.js +26 -29
  16. package/dist/admin/api/refund.js.map +1 -1
  17. package/dist/admin/api/settings.js +17 -21
  18. package/dist/admin/api/settings.js.map +1 -1
  19. package/dist/admin/api/setup.js +17 -20
  20. package/dist/admin/api/setup.js.map +1 -1
  21. package/dist/admin/api/stats.js +14 -17
  22. package/dist/admin/api/stats.js.map +1 -1
  23. package/dist/admin/components/AdminGuard.js +13 -17
  24. package/dist/admin/components/AdminGuard.js.map +1 -1
  25. package/dist/admin/components/AdminHeader.js +8 -11
  26. package/dist/admin/components/AdminHeader.js.map +1 -1
  27. package/dist/admin/components/AdminLayout.js +5 -8
  28. package/dist/admin/components/AdminLayout.js.map +1 -1
  29. package/dist/admin/components/AdminLoginForm.js +11 -14
  30. package/dist/admin/components/AdminLoginForm.js.map +1 -1
  31. package/dist/admin/components/AdminNav.js +11 -14
  32. package/dist/admin/components/AdminNav.js.map +1 -1
  33. package/dist/admin/components/AdminSetupForm.js +11 -14
  34. package/dist/admin/components/AdminSetupForm.js.map +1 -1
  35. package/dist/admin/components/InventoryEditor.js +16 -19
  36. package/dist/admin/components/InventoryEditor.js.map +1 -1
  37. package/dist/admin/components/LowStockAlert.js +6 -9
  38. package/dist/admin/components/LowStockAlert.js.map +1 -1
  39. package/dist/admin/components/OrderDetails.js +15 -18
  40. package/dist/admin/components/OrderDetails.js.map +1 -1
  41. package/dist/admin/components/OrderTable.js +13 -16
  42. package/dist/admin/components/OrderTable.js.map +1 -1
  43. package/dist/admin/components/ProductForm.js +17 -20
  44. package/dist/admin/components/ProductForm.js.map +1 -1
  45. package/dist/admin/components/ProductTable.js +15 -18
  46. package/dist/admin/components/ProductTable.js.map +1 -1
  47. package/dist/admin/components/RecentOrders.js +6 -9
  48. package/dist/admin/components/RecentOrders.js.map +1 -1
  49. package/dist/admin/components/RefundDialog.js +12 -15
  50. package/dist/admin/components/RefundDialog.js.map +1 -1
  51. package/dist/admin/components/StatsCards.js +7 -10
  52. package/dist/admin/components/StatsCards.js.map +1 -1
  53. package/dist/admin/components/StoreSettings.js +10 -13
  54. package/dist/admin/components/StoreSettings.js.map +1 -1
  55. package/dist/admin/components/index.js +16 -35
  56. package/dist/admin/components/index.js.map +1 -1
  57. package/dist/admin/config.js +12 -54
  58. package/dist/admin/config.js.map +1 -1
  59. package/dist/admin/hooks/index.js +4 -11
  60. package/dist/admin/hooks/index.js.map +1 -1
  61. package/dist/admin/hooks/useAdminAuth.js +9 -12
  62. package/dist/admin/hooks/useAdminAuth.js.map +1 -1
  63. package/dist/admin/hooks/useAdminOrders.js +11 -14
  64. package/dist/admin/hooks/useAdminOrders.js.map +1 -1
  65. package/dist/admin/hooks/useAdminProducts.js +13 -16
  66. package/dist/admin/hooks/useAdminProducts.js.map +1 -1
  67. package/dist/admin/hooks/useAdminStats.js +11 -14
  68. package/dist/admin/hooks/useAdminStats.js.map +1 -1
  69. package/dist/admin/index.js +13 -66
  70. package/dist/admin/index.js.map +1 -1
  71. package/dist/admin/server/admin-service.js +39 -83
  72. package/dist/admin/server/admin-service.js.map +1 -1
  73. package/dist/admin/server/index.js +3 -13
  74. package/dist/admin/server/index.js.map +1 -1
  75. package/dist/admin/types.js +1 -2
  76. package/dist/admin/types.js.map +1 -1
  77. package/dist/auth/api/auth.js +6 -14
  78. package/dist/auth/api/auth.js.map +1 -1
  79. package/dist/auth/api/forgot-password.js +8 -11
  80. package/dist/auth/api/forgot-password.js.map +1 -1
  81. package/dist/auth/api/index.js +6 -18
  82. package/dist/auth/api/index.js.map +1 -1
  83. package/dist/auth/api/register.js +17 -20
  84. package/dist/auth/api/register.js.map +1 -1
  85. package/dist/auth/api/resend-verification.js +9 -12
  86. package/dist/auth/api/resend-verification.js.map +1 -1
  87. package/dist/auth/api/reset-password.js +18 -22
  88. package/dist/auth/api/reset-password.js.map +1 -1
  89. package/dist/auth/api/verify-email.js +14 -18
  90. package/dist/auth/api/verify-email.js.map +1 -1
  91. package/dist/auth/components/AuthGuard.js +13 -17
  92. package/dist/auth/components/AuthGuard.js.map +1 -1
  93. package/dist/auth/components/ForgotPasswordForm.js +11 -14
  94. package/dist/auth/components/ForgotPasswordForm.js.map +1 -1
  95. package/dist/auth/components/ResetPasswordForm.js +18 -21
  96. package/dist/auth/components/ResetPasswordForm.js.map +1 -1
  97. package/dist/auth/components/SignInForm.js +13 -16
  98. package/dist/auth/components/SignInForm.js.map +1 -1
  99. package/dist/auth/components/SignUpForm.js +15 -18
  100. package/dist/auth/components/SignUpForm.js.map +1 -1
  101. package/dist/auth/components/UserMenu.js +13 -16
  102. package/dist/auth/components/UserMenu.js.map +1 -1
  103. package/dist/auth/components/VerifyEmailNotice.js +10 -13
  104. package/dist/auth/components/VerifyEmailNotice.js.map +1 -1
  105. package/dist/auth/components/index.js +7 -18
  106. package/dist/auth/components/index.js.map +1 -1
  107. package/dist/auth/config.js +9 -49
  108. package/dist/auth/config.js.map +1 -1
  109. package/dist/auth/hooks/index.js +1 -5
  110. package/dist/auth/hooks/index.js.map +1 -1
  111. package/dist/auth/hooks/useAuth.js +14 -17
  112. package/dist/auth/hooks/useAuth.js.map +1 -1
  113. package/dist/auth/index.js +15 -37
  114. package/dist/auth/index.js.map +1 -1
  115. package/dist/auth/server/customer-service.js +39 -83
  116. package/dist/auth/server/customer-service.js.map +1 -1
  117. package/dist/auth/server/email-sender.js +11 -17
  118. package/dist/auth/server/email-sender.js.map +1 -1
  119. package/dist/auth/server/index.js +5 -36
  120. package/dist/auth/server/index.js.map +1 -1
  121. package/dist/auth/server/password-reset-service.js +30 -70
  122. package/dist/auth/server/password-reset-service.js.map +1 -1
  123. package/dist/auth/server/password.js +9 -18
  124. package/dist/auth/server/password.js.map +1 -1
  125. package/dist/auth/server/verification-service.js +35 -76
  126. package/dist/auth/server/verification-service.js.map +1 -1
  127. package/dist/auth/types.js +1 -2
  128. package/dist/auth/types.js.map +1 -1
  129. package/dist/cart/CartProvider.js +13 -17
  130. package/dist/cart/CartProvider.js.map +1 -1
  131. package/dist/cart/components/AddToCartButton.js +16 -19
  132. package/dist/cart/components/AddToCartButton.js.map +1 -1
  133. package/dist/cart/components/CartDrawer.js +17 -23
  134. package/dist/cart/components/CartDrawer.js.map +1 -1
  135. package/dist/cart/components/CartIcon.js +9 -12
  136. package/dist/cart/components/CartIcon.js.map +1 -1
  137. package/dist/cart/components/CartItem.js +7 -13
  138. package/dist/cart/components/CartItem.js.map +1 -1
  139. package/dist/cart/components/CartSummary.js +12 -15
  140. package/dist/cart/components/CartSummary.js.map +1 -1
  141. package/dist/cart/components/QuantitySelector.js +9 -12
  142. package/dist/cart/components/QuantitySelector.js.map +1 -1
  143. package/dist/cart/components/index.js +6 -15
  144. package/dist/cart/components/index.js.map +1 -1
  145. package/dist/cart/index.js +3 -17
  146. package/dist/cart/index.js.map +1 -1
  147. package/dist/cart/store.js +8 -13
  148. package/dist/cart/store.js.map +1 -1
  149. package/dist/checkout/api/checkout.js +12 -15
  150. package/dist/checkout/api/checkout.js.map +1 -1
  151. package/dist/checkout/api/index.js +2 -7
  152. package/dist/checkout/api/index.js.map +1 -1
  153. package/dist/checkout/api/webhook.js +8 -11
  154. package/dist/checkout/api/webhook.js.map +1 -1
  155. package/dist/checkout/components/CheckoutButton.js +8 -11
  156. package/dist/checkout/components/CheckoutButton.js.map +1 -1
  157. package/dist/checkout/components/CheckoutSuccess.js +11 -14
  158. package/dist/checkout/components/CheckoutSuccess.js.map +1 -1
  159. package/dist/checkout/components/OrderSummary.js +8 -11
  160. package/dist/checkout/components/OrderSummary.js.map +1 -1
  161. package/dist/checkout/components/ShippingForm.js +14 -17
  162. package/dist/checkout/components/ShippingForm.js.map +1 -1
  163. package/dist/checkout/components/index.js +4 -11
  164. package/dist/checkout/components/index.js.map +1 -1
  165. package/dist/checkout/hooks/index.js +1 -6
  166. package/dist/checkout/hooks/index.js.map +1 -1
  167. package/dist/checkout/hooks/useCheckout.js +10 -19
  168. package/dist/checkout/hooks/useCheckout.js.map +1 -1
  169. package/dist/checkout/index.js +7 -28
  170. package/dist/checkout/index.js.map +1 -1
  171. package/dist/checkout/server/create-checkout-session.js +11 -16
  172. package/dist/checkout/server/create-checkout-session.js.map +1 -1
  173. package/dist/checkout/server/handle-webhook.js +21 -24
  174. package/dist/checkout/server/handle-webhook.js.map +1 -1
  175. package/dist/checkout/server/index.js +3 -13
  176. package/dist/checkout/server/index.js.map +1 -1
  177. package/dist/checkout/server/order-service.js +11 -16
  178. package/dist/checkout/server/order-service.js.map +1 -1
  179. package/dist/checkout/stripe/client.js +13 -29
  180. package/dist/checkout/stripe/client.js.map +1 -1
  181. package/dist/checkout/stripe/index.js +1 -15
  182. package/dist/checkout/stripe/index.js.map +1 -1
  183. package/dist/checkout/types.js +1 -2
  184. package/dist/checkout/types.js.map +1 -1
  185. package/dist/core/config.js +12 -57
  186. package/dist/core/config.js.map +1 -1
  187. package/dist/core/db/client.js +16 -62
  188. package/dist/core/db/client.js.map +1 -1
  189. package/dist/core/db/index.js +14 -93
  190. package/dist/core/db/index.js.map +1 -1
  191. package/dist/core/db/queries.d.ts +6 -6
  192. package/dist/core/db/queries.js +207 -284
  193. package/dist/core/db/queries.js.map +1 -1
  194. package/dist/core/db/schema.js +179 -182
  195. package/dist/core/db/schema.js.map +1 -1
  196. package/dist/core/index.js +12 -42
  197. package/dist/core/index.js.map +1 -1
  198. package/dist/core/server/index.js +16 -68
  199. package/dist/core/server/index.js.map +1 -1
  200. package/dist/core/types.js +1 -2
  201. package/dist/core/types.js.map +1 -1
  202. package/dist/core/utils.js +26 -51
  203. package/dist/core/utils.js.map +1 -1
  204. package/dist/emails/config.js +13 -21
  205. package/dist/emails/config.js.map +1 -1
  206. package/dist/emails/index.js +10 -72
  207. package/dist/emails/index.js.map +1 -1
  208. package/dist/emails/send/auth.js +26 -34
  209. package/dist/emails/send/auth.js.map +1 -1
  210. package/dist/emails/send/index.js +2 -21
  211. package/dist/emails/send/index.js.map +1 -1
  212. package/dist/emails/send/orders.js +38 -50
  213. package/dist/emails/send/orders.js.map +1 -1
  214. package/dist/emails/sender.js +7 -12
  215. package/dist/emails/sender.js.map +1 -1
  216. package/dist/emails/templates/base.js +37 -53
  217. package/dist/emails/templates/base.js.map +1 -1
  218. package/dist/emails/templates/email-verification.js +12 -16
  219. package/dist/emails/templates/email-verification.js.map +1 -1
  220. package/dist/emails/templates/index.js +9 -43
  221. package/dist/emails/templates/index.js.map +1 -1
  222. package/dist/emails/templates/order-cancelled.js +18 -22
  223. package/dist/emails/templates/order-cancelled.js.map +1 -1
  224. package/dist/emails/templates/order-confirmation.js +30 -34
  225. package/dist/emails/templates/order-confirmation.js.map +1 -1
  226. package/dist/emails/templates/order-delivered.js +20 -24
  227. package/dist/emails/templates/order-delivered.js.map +1 -1
  228. package/dist/emails/templates/order-shipped.js +19 -23
  229. package/dist/emails/templates/order-shipped.js.map +1 -1
  230. package/dist/emails/templates/password-reset.js +12 -16
  231. package/dist/emails/templates/password-reset.js.map +1 -1
  232. package/dist/emails/templates/refund-processed.js +17 -21
  233. package/dist/emails/templates/refund-processed.js.map +1 -1
  234. package/dist/emails/templates/welcome.js +11 -15
  235. package/dist/emails/templates/welcome.js.map +1 -1
  236. package/dist/emails/types.js +1 -2
  237. package/dist/emails/types.js.map +1 -1
  238. package/dist/emails/utils.js +9 -20
  239. package/dist/emails/utils.js.map +1 -1
  240. package/dist/index.js +24 -176
  241. package/dist/index.js.map +1 -1
  242. package/dist/products/api/categories.js +7 -10
  243. package/dist/products/api/categories.js.map +1 -1
  244. package/dist/products/api/index.js +3 -9
  245. package/dist/products/api/index.js.map +1 -1
  246. package/dist/products/api/product.js +10 -13
  247. package/dist/products/api/product.js.map +1 -1
  248. package/dist/products/api/products.js +8 -11
  249. package/dist/products/api/products.js.map +1 -1
  250. package/dist/products/components/CategoryNav.js +20 -26
  251. package/dist/products/components/CategoryNav.js.map +1 -1
  252. package/dist/products/components/ProductBreadcrumb.js +7 -13
  253. package/dist/products/components/ProductBreadcrumb.js.map +1 -1
  254. package/dist/products/components/ProductCard.js +6 -12
  255. package/dist/products/components/ProductCard.js.map +1 -1
  256. package/dist/products/components/ProductDetails.js +14 -17
  257. package/dist/products/components/ProductDetails.js.map +1 -1
  258. package/dist/products/components/ProductFilters.js +15 -18
  259. package/dist/products/components/ProductFilters.js.map +1 -1
  260. package/dist/products/components/ProductGallery.js +17 -23
  261. package/dist/products/components/ProductGallery.js.map +1 -1
  262. package/dist/products/components/ProductGrid.js +10 -13
  263. package/dist/products/components/ProductGrid.js.map +1 -1
  264. package/dist/products/components/ProductSearch.js +14 -17
  265. package/dist/products/components/ProductSearch.js.map +1 -1
  266. package/dist/products/components/ProductSort.js +8 -11
  267. package/dist/products/components/ProductSort.js.map +1 -1
  268. package/dist/products/components/VariantSelector.js +16 -19
  269. package/dist/products/components/VariantSelector.js.map +1 -1
  270. package/dist/products/components/index.js +10 -23
  271. package/dist/products/components/index.js.map +1 -1
  272. package/dist/products/hooks/index.js +4 -11
  273. package/dist/products/hooks/index.js.map +1 -1
  274. package/dist/products/hooks/useCategories.js +12 -15
  275. package/dist/products/hooks/useCategories.js.map +1 -1
  276. package/dist/products/hooks/useProduct.js +9 -12
  277. package/dist/products/hooks/useProduct.js.map +1 -1
  278. package/dist/products/hooks/useProductAttributes.js +10 -13
  279. package/dist/products/hooks/useProductAttributes.js.map +1 -1
  280. package/dist/products/hooks/useProducts.js +15 -18
  281. package/dist/products/hooks/useProducts.js.map +1 -1
  282. package/dist/products/index.js +6 -23
  283. package/dist/products/index.js.map +1 -1
  284. package/dist/theme/ThemeProvider.js +12 -14
  285. package/dist/theme/ThemeProvider.js.map +1 -1
  286. package/dist/theme/colors.js +3 -8
  287. package/dist/theme/colors.js.map +1 -1
  288. package/dist/theme/defaults.js +27 -30
  289. package/dist/theme/defaults.js.map +1 -1
  290. package/dist/theme/fonts.js +12 -18
  291. package/dist/theme/fonts.js.map +1 -1
  292. package/dist/theme/generator.js +63 -69
  293. package/dist/theme/generator.js.map +1 -1
  294. package/dist/theme/hooks.js +11 -16
  295. package/dist/theme/hooks.js.map +1 -1
  296. package/dist/theme/index.js +6 -42
  297. package/dist/theme/index.js.map +1 -1
  298. package/package.json +31 -30
@@ -1,23 +1,11 @@
1
- "use strict";
2
1
  /**
3
2
  * @rovela/sdk/emails/send/orders
4
3
  *
5
4
  * Send functions for order-related emails.
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.sendOrderConfirmation = sendOrderConfirmation;
9
- exports.sendOrderConfirmationAsync = sendOrderConfirmationAsync;
10
- exports.sendOrderShipped = sendOrderShipped;
11
- exports.sendOrderShippedAsync = sendOrderShippedAsync;
12
- exports.sendOrderDelivered = sendOrderDelivered;
13
- exports.sendOrderDeliveredAsync = sendOrderDeliveredAsync;
14
- exports.sendOrderCancelled = sendOrderCancelled;
15
- exports.sendOrderCancelledAsync = sendOrderCancelledAsync;
16
- exports.sendRefundProcessed = sendRefundProcessed;
17
- exports.sendRefundProcessedAsync = sendRefundProcessedAsync;
18
- const sender_1 = require("../sender");
19
- const config_1 = require("../config");
20
- const templates_1 = require("../templates");
6
+ import { sendEmail } from '../sender';
7
+ import { getEmailConfig, getStoreName } from '../config';
8
+ import { renderOrderConfirmation, getOrderConfirmationSubject, renderOrderShipped, getOrderShippedSubject, renderOrderDelivered, getOrderDeliveredSubject, renderOrderCancelled, getOrderCancelledSubject, renderRefundProcessed, getRefundProcessedSubject, } from '../templates';
21
9
  /**
22
10
  * Send an order confirmation email.
23
11
  *
@@ -41,12 +29,12 @@ const templates_1 = require("../templates");
41
29
  * })
42
30
  * ```
43
31
  */
44
- async function sendOrderConfirmation(params) {
32
+ export async function sendOrderConfirmation(params) {
45
33
  const [config, storeName] = await Promise.all([
46
- (0, config_1.getEmailConfig)(),
47
- (0, config_1.getStoreName)(),
34
+ getEmailConfig(),
35
+ getStoreName(),
48
36
  ]);
49
- const html = (0, templates_1.renderOrderConfirmation)({
37
+ const html = renderOrderConfirmation({
50
38
  config,
51
39
  customerName: params.customerName,
52
40
  customerEmail: params.to,
@@ -61,9 +49,9 @@ async function sendOrderConfirmation(params) {
61
49
  shippingAddress: params.shippingAddress,
62
50
  orderTrackingUrl: params.orderTrackingUrl,
63
51
  });
64
- return (0, sender_1.sendEmail)({
52
+ return sendEmail({
65
53
  to: params.to,
66
- subject: (0, templates_1.getOrderConfirmationSubject)(storeName, params.orderNumber),
54
+ subject: getOrderConfirmationSubject(storeName, params.orderNumber),
67
55
  html,
68
56
  });
69
57
  }
@@ -71,7 +59,7 @@ async function sendOrderConfirmation(params) {
71
59
  * Send order confirmation without waiting (fire-and-forget).
72
60
  * Use this in webhooks to not block the response.
73
61
  */
74
- function sendOrderConfirmationAsync(params) {
62
+ export function sendOrderConfirmationAsync(params) {
75
63
  sendOrderConfirmation(params).catch((err) => {
76
64
  console.error('[Email] Failed to send order confirmation:', err);
77
65
  });
@@ -95,12 +83,12 @@ function sendOrderConfirmationAsync(params) {
95
83
  * })
96
84
  * ```
97
85
  */
98
- async function sendOrderShipped(params) {
86
+ export async function sendOrderShipped(params) {
99
87
  const [config, storeName] = await Promise.all([
100
- (0, config_1.getEmailConfig)(),
101
- (0, config_1.getStoreName)(),
88
+ getEmailConfig(),
89
+ getStoreName(),
102
90
  ]);
103
- const html = (0, templates_1.renderOrderShipped)({
91
+ const html = renderOrderShipped({
104
92
  config,
105
93
  customerName: params.customerName,
106
94
  customerEmail: params.to,
@@ -111,16 +99,16 @@ async function sendOrderShipped(params) {
111
99
  shippingAddress: params.shippingAddress,
112
100
  trackingUrl: params.trackingUrl,
113
101
  });
114
- return (0, sender_1.sendEmail)({
102
+ return sendEmail({
115
103
  to: params.to,
116
- subject: (0, templates_1.getOrderShippedSubject)(storeName, params.orderNumber),
104
+ subject: getOrderShippedSubject(storeName, params.orderNumber),
117
105
  html,
118
106
  });
119
107
  }
120
108
  /**
121
109
  * Send order shipped without waiting (fire-and-forget).
122
110
  */
123
- function sendOrderShippedAsync(params) {
111
+ export function sendOrderShippedAsync(params) {
124
112
  sendOrderShipped(params).catch((err) => {
125
113
  console.error('[Email] Failed to send order shipped email:', err);
126
114
  });
@@ -143,12 +131,12 @@ function sendOrderShippedAsync(params) {
143
131
  * })
144
132
  * ```
145
133
  */
146
- async function sendOrderDelivered(params) {
134
+ export async function sendOrderDelivered(params) {
147
135
  const [config, storeName] = await Promise.all([
148
- (0, config_1.getEmailConfig)(),
149
- (0, config_1.getStoreName)(),
136
+ getEmailConfig(),
137
+ getStoreName(),
150
138
  ]);
151
- const html = (0, templates_1.renderOrderDelivered)({
139
+ const html = renderOrderDelivered({
152
140
  config,
153
141
  customerName: params.customerName,
154
142
  customerEmail: params.to,
@@ -158,16 +146,16 @@ async function sendOrderDelivered(params) {
158
146
  reviewUrl: params.reviewUrl,
159
147
  returnCenterUrl: params.returnCenterUrl,
160
148
  });
161
- return (0, sender_1.sendEmail)({
149
+ return sendEmail({
162
150
  to: params.to,
163
- subject: (0, templates_1.getOrderDeliveredSubject)(storeName, params.orderNumber),
151
+ subject: getOrderDeliveredSubject(storeName, params.orderNumber),
164
152
  html,
165
153
  });
166
154
  }
167
155
  /**
168
156
  * Send order delivered without waiting (fire-and-forget).
169
157
  */
170
- function sendOrderDeliveredAsync(params) {
158
+ export function sendOrderDeliveredAsync(params) {
171
159
  sendOrderDelivered(params).catch((err) => {
172
160
  console.error('[Email] Failed to send order delivered email:', err);
173
161
  });
@@ -189,12 +177,12 @@ function sendOrderDeliveredAsync(params) {
189
177
  * })
190
178
  * ```
191
179
  */
192
- async function sendOrderCancelled(params) {
180
+ export async function sendOrderCancelled(params) {
193
181
  const [config, storeName] = await Promise.all([
194
- (0, config_1.getEmailConfig)(),
195
- (0, config_1.getStoreName)(),
182
+ getEmailConfig(),
183
+ getStoreName(),
196
184
  ]);
197
- const html = (0, templates_1.renderOrderCancelled)({
185
+ const html = renderOrderCancelled({
198
186
  config,
199
187
  customerName: params.customerName,
200
188
  customerEmail: params.to,
@@ -203,16 +191,16 @@ async function sendOrderCancelled(params) {
203
191
  cancellationDate: params.cancellationDate,
204
192
  refundMessage: params.refundMessage,
205
193
  });
206
- return (0, sender_1.sendEmail)({
194
+ return sendEmail({
207
195
  to: params.to,
208
- subject: (0, templates_1.getOrderCancelledSubject)(storeName, params.orderNumber),
196
+ subject: getOrderCancelledSubject(storeName, params.orderNumber),
209
197
  html,
210
198
  });
211
199
  }
212
200
  /**
213
201
  * Send order cancelled without waiting (fire-and-forget).
214
202
  */
215
- function sendOrderCancelledAsync(params) {
203
+ export function sendOrderCancelledAsync(params) {
216
204
  sendOrderCancelled(params).catch((err) => {
217
205
  console.error('[Email] Failed to send order cancelled email:', err);
218
206
  });
@@ -236,12 +224,12 @@ function sendOrderCancelledAsync(params) {
236
224
  * })
237
225
  * ```
238
226
  */
239
- async function sendRefundProcessed(params) {
227
+ export async function sendRefundProcessed(params) {
240
228
  const [config, storeName] = await Promise.all([
241
- (0, config_1.getEmailConfig)(),
242
- (0, config_1.getStoreName)(),
229
+ getEmailConfig(),
230
+ getStoreName(),
243
231
  ]);
244
- const html = (0, templates_1.renderRefundProcessed)({
232
+ const html = renderRefundProcessed({
245
233
  config,
246
234
  customerName: params.customerName,
247
235
  customerEmail: params.to,
@@ -252,16 +240,16 @@ async function sendRefundProcessed(params) {
252
240
  estimatedArrival: params.estimatedArrival,
253
241
  businessDays: params.businessDays,
254
242
  });
255
- return (0, sender_1.sendEmail)({
243
+ return sendEmail({
256
244
  to: params.to,
257
- subject: (0, templates_1.getRefundProcessedSubject)(storeName, params.orderNumber),
245
+ subject: getRefundProcessedSubject(storeName, params.orderNumber),
258
246
  html,
259
247
  });
260
248
  }
261
249
  /**
262
250
  * Send refund processed without waiting (fire-and-forget).
263
251
  */
264
- function sendRefundProcessedAsync(params) {
252
+ export function sendRefundProcessedAsync(params) {
265
253
  sendRefundProcessed(params).catch((err) => {
266
254
  console.error('[Email] Failed to send refund processed email:', err);
267
255
  });
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../src/emails/send/orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../src/emails/send/orders.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,9 @@
1
- "use strict";
2
1
  /**
3
2
  * @rovela/sdk/emails/sender
4
3
  *
5
4
  * Core email sending functionality using Resend.
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.sendEmail = sendEmail;
9
- exports.sendEmailAsync = sendEmailAsync;
10
- exports.sendEmailBatch = sendEmailBatch;
11
- const config_1 = require("./config");
6
+ import { getResend, getFromEmail, getSupportEmail } from './config';
12
7
  // =============================================================================
13
8
  // Email Sender
14
9
  // =============================================================================
@@ -35,12 +30,12 @@ const config_1 = require("./config");
35
30
  * }
36
31
  * ```
37
32
  */
38
- async function sendEmail(options) {
33
+ export async function sendEmail(options) {
39
34
  try {
40
- const resend = (0, config_1.getResend)();
35
+ const resend = getResend();
41
36
  const [from, replyTo] = await Promise.all([
42
- (0, config_1.getFromEmail)(),
43
- options.replyTo ? Promise.resolve(options.replyTo) : (0, config_1.getSupportEmail)(),
37
+ getFromEmail(),
38
+ options.replyTo ? Promise.resolve(options.replyTo) : getSupportEmail(),
44
39
  ]);
45
40
  const { data, error } = await resend.emails.send({
46
41
  from,
@@ -92,7 +87,7 @@ async function sendEmail(options) {
92
87
  * return Response.json({ received: true })
93
88
  * ```
94
89
  */
95
- function sendEmailAsync(options) {
90
+ export function sendEmailAsync(options) {
96
91
  sendEmail(options).catch((err) => {
97
92
  console.error('[Email] Async send failed:', err);
98
93
  });
@@ -115,7 +110,7 @@ function sendEmailAsync(options) {
115
110
  * console.log(`Sent ${successful}/${results.length} emails`)
116
111
  * ```
117
112
  */
118
- async function sendEmailBatch(emails) {
113
+ export async function sendEmailBatch(emails) {
119
114
  return Promise.all(emails.map(sendEmail));
120
115
  }
121
116
  //# sourceMappingURL=sender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../src/emails/sender.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgCH,8BAwCC;AAuBD,wCAIC;AAoBD,wCAIC;AAzHD,qCAAmE;AAGnE,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,KAAK,UAAU,SAAS,CAC7B,OAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,IAAA,qBAAY,GAAE;YACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAe,GAAE;SACvE,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/C,IAAI;YACJ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YAC7C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,sBAAsB;aAC/C,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACtE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,EAAE,EAAE;SACpB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAA;QACpE,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;QACjD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,cAAc,CAAC,OAAyB;IACtD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,cAAc,CAClC,MAA0B;IAE1B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../src/emails/sender.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGnE,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,YAAY,EAAE;YACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;SACvE,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/C,IAAI;YACJ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YAC7C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,sBAAsB;aAC/C,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACtE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,EAAE,EAAE;SACpB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAA;QACpE,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;QACjD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA0B;IAE1B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAC3C,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @rovela/sdk/emails/templates/base
4
3
  *
@@ -8,23 +7,7 @@
8
7
  * Uses consistent brand defaults for reliable email client rendering.
9
8
  * Email clients have limited CSS support, so we use reliable fallback colors.
10
9
  */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.STYLES = void 0;
13
- exports.baseLayout = baseLayout;
14
- exports.primaryButton = primaryButton;
15
- exports.heading = heading;
16
- exports.paragraph = paragraph;
17
- exports.infoBox = infoBox;
18
- exports.linkFallback = linkFallback;
19
- exports.detailBox = detailBox;
20
- exports.statusBadge = statusBadge;
21
- exports.labeledValue = labeledValue;
22
- exports.labeledValueRow = labeledValueRow;
23
- exports.highlightBox = highlightBox;
24
- exports.secondaryButton = secondaryButton;
25
- exports.addressSection = addressSection;
26
- exports.sectionHeading = sectionHeading;
27
- const utils_1 = require("../utils");
10
+ import { escapeHtml } from '../utils';
28
11
  // =============================================================================
29
12
  // Theme Loading
30
13
  // =============================================================================
@@ -86,7 +69,6 @@ const STYLES = {
86
69
  textSecondary: THEME.colors.neutral500,
87
70
  textMuted: THEME.colors.neutral800,
88
71
  };
89
- exports.STYLES = STYLES;
90
72
  // =============================================================================
91
73
  // Layout Components
92
74
  // =============================================================================
@@ -106,7 +88,7 @@ function renderHeader(logoUrl) {
106
88
  return `
107
89
  <tr>
108
90
  <td align="center" style="padding: 48px 32px 32px 32px;">
109
- <img src="${(0, utils_1.escapeHtml)(logoUrl)}" alt="Store Logo" style="max-width: 180px; height: auto;" />
91
+ <img src="${escapeHtml(logoUrl)}" alt="Store Logo" style="max-width: 180px; height: auto;" />
110
92
  </td>
111
93
  </tr>
112
94
  `;
@@ -119,15 +101,15 @@ function renderFooter(config) {
119
101
  <tr>
120
102
  <td style="padding: 32px 48px; background-color: ${STYLES.footerBackground}; border-top: 1px solid ${STYLES.cardBorder};">
121
103
  <p style="margin: 0 0 8px 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 500; line-height: 1.5; color: ${STYLES.textMuted}; text-align: center;">
122
- ${(0, utils_1.escapeHtml)(config.storeName)}
104
+ ${escapeHtml(config.storeName)}
123
105
  </p>
124
106
  ${config.storeAddress
125
107
  ? `<p style="margin: 0 0 16px 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 400; line-height: 1.5; color: ${STYLES.textSecondary}; text-align: center;">
126
- ${(0, utils_1.escapeHtml)(config.storeAddress)}
108
+ ${escapeHtml(config.storeAddress)}
127
109
  </p>`
128
110
  : ''}
129
111
  <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 400; line-height: 1.5; color: ${STYLES.textSecondary}; text-align: center;">
130
- Need help? Contact us at <a href="mailto:${(0, utils_1.escapeHtml)(config.supportEmail)}" style="color: ${STYLES.primaryColor}; text-decoration: none; font-weight: 500;">${(0, utils_1.escapeHtml)(config.supportEmail)}</a>
112
+ Need help? Contact us at <a href="mailto:${escapeHtml(config.supportEmail)}" style="color: ${STYLES.primaryColor}; text-decoration: none; font-weight: 500;">${escapeHtml(config.supportEmail)}</a>
131
113
  </p>
132
114
  </td>
133
115
  </tr>
@@ -146,7 +128,7 @@ function renderFooter(config) {
146
128
  * })
147
129
  * ```
148
130
  */
149
- function baseLayout({ config, title, content }) {
131
+ export function baseLayout({ config, title, content }) {
150
132
  // Build Google Fonts URL with dynamic font name
151
133
  const fontNameEncoded = STYLES.fontName.replace(/ /g, '+');
152
134
  const googleFontsUrl = `https://fonts.googleapis.com/css2?family=${fontNameEncoded}:wght@400;500;600;700&display=swap`;
@@ -155,7 +137,7 @@ function baseLayout({ config, title, content }) {
155
137
  <head>
156
138
  <meta charset="UTF-8">
157
139
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
158
- <title>${(0, utils_1.escapeHtml)(title)}</title>
140
+ <title>${escapeHtml(title)}</title>
159
141
  <link rel="preconnect" href="https://fonts.googleapis.com">
160
142
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
161
143
  <link href="${googleFontsUrl}" rel="stylesheet">
@@ -185,12 +167,12 @@ function baseLayout({ config, title, content }) {
185
167
  /**
186
168
  * Render a primary CTA button.
187
169
  */
188
- function primaryButton(text, href) {
170
+ export function primaryButton(text, href) {
189
171
  return `
190
172
  <table width="100%" cellpadding="0" cellspacing="0" style="margin: 0 0 32px 0;">
191
173
  <tr>
192
174
  <td align="center">
193
- <a href="${(0, utils_1.escapeHtml)(href)}" style="display: inline-block; padding: 12px 32px; background-color: ${STYLES.primaryColor}; color: #FFFFFF; text-decoration: none; border-radius: 12px; font-family: ${STYLES.fontFamily}; font-size: 16px; font-weight: 600;">${(0, utils_1.escapeHtml)(text)}</a>
175
+ <a href="${escapeHtml(href)}" style="display: inline-block; padding: 12px 32px; background-color: ${STYLES.primaryColor}; color: #FFFFFF; text-decoration: none; border-radius: 12px; font-family: ${STYLES.fontFamily}; font-size: 16px; font-weight: 600;">${escapeHtml(text)}</a>
194
176
  </td>
195
177
  </tr>
196
178
  </table>
@@ -199,19 +181,19 @@ function primaryButton(text, href) {
199
181
  /**
200
182
  * Render a heading (h1).
201
183
  */
202
- function heading(text) {
203
- return `<h1 style="margin: 0 0 24px 0; font-family: ${STYLES.fontFamily}; font-size: 30px; font-weight: 700; color: ${STYLES.textPrimary}; text-align: center; line-height: 1.1;">${(0, utils_1.escapeHtml)(text)}</h1>`;
184
+ export function heading(text) {
185
+ return `<h1 style="margin: 0 0 24px 0; font-family: ${STYLES.fontFamily}; font-size: 30px; font-weight: 700; color: ${STYLES.textPrimary}; text-align: center; line-height: 1.1;">${escapeHtml(text)}</h1>`;
204
186
  }
205
187
  /**
206
188
  * Render a paragraph of text.
207
189
  */
208
- function paragraph(text, marginBottom = '16px') {
190
+ export function paragraph(text, marginBottom = '16px') {
209
191
  return `<p style="margin: 0 0 ${marginBottom} 0; font-family: ${STYLES.fontFamily}; font-size: 16px; font-weight: 400; line-height: 1.625; color: ${STYLES.textSecondary};">${text}</p>`;
210
192
  }
211
193
  /**
212
194
  * Render an info box (muted background).
213
195
  */
214
- function infoBox(content) {
196
+ export function infoBox(content) {
215
197
  return `
216
198
  <div style="padding: 16px; background-color: ${STYLES.footerBackground}; border-radius: 12px; border: 1px solid ${STYLES.cardBorder};">
217
199
  <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 400; line-height: 1.5; color: ${STYLES.textSecondary};">
@@ -223,26 +205,26 @@ function infoBox(content) {
223
205
  /**
224
206
  * Render a link with fallback text.
225
207
  */
226
- function linkFallback(href) {
208
+ export function linkFallback(href) {
227
209
  return infoBox(`
228
210
  If the button doesn't work, copy and paste this link into your browser:<br>
229
- <a href="${(0, utils_1.escapeHtml)(href)}" style="color: ${STYLES.primaryColor}; word-break: break-all; text-decoration: none;">${(0, utils_1.escapeHtml)(href)}</a>
211
+ <a href="${escapeHtml(href)}" style="color: ${STYLES.primaryColor}; word-break: break-all; text-decoration: none;">${escapeHtml(href)}</a>
230
212
  `);
231
213
  }
232
214
  /**
233
215
  * Render a detail box with label-value pairs.
234
216
  */
235
- function detailBox(title, details) {
217
+ export function detailBox(title, details) {
236
218
  const detailsHtml = details
237
219
  .map((d) => `
238
220
  <p style="margin: 0 0 8px 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 400; line-height: 1.5; color: ${STYLES.textSecondary};">
239
- <strong style="color: ${STYLES.textMuted};">${(0, utils_1.escapeHtml)(d.label)}:</strong> ${(0, utils_1.escapeHtml)(d.value)}
221
+ <strong style="color: ${STYLES.textMuted};">${escapeHtml(d.label)}:</strong> ${escapeHtml(d.value)}
240
222
  </p>
241
223
  `)
242
224
  .join('');
243
225
  return `
244
226
  <div style="padding: 20px; background-color: ${STYLES.footerBackground}; border-radius: 12px; border: 1px solid ${STYLES.cardBorder};">
245
- <h3 style="margin: 0 0 12px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${(0, utils_1.escapeHtml)(title)}</h3>
227
+ <h3 style="margin: 0 0 12px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${escapeHtml(title)}</h3>
246
228
  ${detailsHtml}
247
229
  </div>
248
230
  `;
@@ -253,14 +235,14 @@ function detailBox(title, details) {
253
235
  /**
254
236
  * Render a success status badge.
255
237
  */
256
- function statusBadge(text, emoji) {
238
+ export function statusBadge(text, emoji) {
257
239
  const displayText = emoji ? `${emoji} ${text}` : `✓ ${text}`;
258
240
  return `
259
241
  <table width="100%" cellpadding="0" cellspacing="0">
260
242
  <tr>
261
243
  <td align="center" style="padding: 0 48px 24px 48px;">
262
244
  <div style="display: inline-block; padding: 8px 16px; background-color: ${hexToRgba(STYLES.primaryColor, 0.1)}; border-radius: 9999px; border: 1px solid ${hexToRgba(STYLES.primaryColor, 0.3)};">
263
- <span style="font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 600; color: ${STYLES.primaryColor};">${(0, utils_1.escapeHtml)(displayText)}</span>
245
+ <span style="font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 600; color: ${STYLES.primaryColor};">${escapeHtml(displayText)}</span>
264
246
  </div>
265
247
  </td>
266
248
  </tr>
@@ -273,15 +255,15 @@ function statusBadge(text, emoji) {
273
255
  /**
274
256
  * Render a labeled value row.
275
257
  */
276
- function labeledValue(label, value, options = {}) {
258
+ export function labeledValue(label, value, options = {}) {
277
259
  const { valueColor = STYLES.textPrimary, valueSize = '18px', borderTop = false, borderBottom = false, } = options;
278
260
  const borderTopStyle = borderTop ? `padding-top: 16px; border-top: 1px solid ${STYLES.cardBorder};` : '';
279
261
  const borderBottomStyle = borderBottom ? 'padding-bottom: 16px;' : '';
280
262
  return `
281
263
  <tr>
282
264
  <td style="${borderTopStyle} ${borderBottomStyle}">
283
- <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${(0, utils_1.escapeHtml)(label)}</p>
284
- <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: ${valueSize}; font-weight: 600; color: ${valueColor};">${(0, utils_1.escapeHtml)(value)}</p>
265
+ <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${escapeHtml(label)}</p>
266
+ <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: ${valueSize}; font-weight: 600; color: ${valueColor};">${escapeHtml(value)}</p>
285
267
  </td>
286
268
  </tr>
287
269
  `;
@@ -289,17 +271,17 @@ function labeledValue(label, value, options = {}) {
289
271
  /**
290
272
  * Render a two-column labeled value row.
291
273
  */
292
- function labeledValueRow(left, right, borderBottom) {
274
+ export function labeledValueRow(left, right, borderBottom) {
293
275
  const borderStyle = borderBottom ? 'padding-bottom: 16px;' : '';
294
276
  return `
295
277
  <tr>
296
278
  <td style="${borderStyle}">
297
- <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${(0, utils_1.escapeHtml)(left.label)}</p>
298
- <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${(0, utils_1.escapeHtml)(left.value)}</p>
279
+ <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${escapeHtml(left.label)}</p>
280
+ <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${escapeHtml(left.value)}</p>
299
281
  </td>
300
282
  <td align="right" style="${borderStyle}">
301
- <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${(0, utils_1.escapeHtml)(right.label)}</p>
302
- <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${(0, utils_1.escapeHtml)(right.value)}</p>
283
+ <p style="margin: 0 0 4px 0; font-family: ${STYLES.fontFamily}; font-size: 12px; font-weight: 400; color: ${STYLES.textSecondary}; text-transform: uppercase; letter-spacing: 0.05em;">${escapeHtml(right.label)}</p>
284
+ <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${escapeHtml(right.value)}</p>
303
285
  </td>
304
286
  </tr>
305
287
  `;
@@ -307,7 +289,7 @@ function labeledValueRow(left, right, borderBottom) {
307
289
  /**
308
290
  * Render a highlighted box (green tinted).
309
291
  */
310
- function highlightBox(content) {
292
+ export function highlightBox(content) {
311
293
  return `
312
294
  <div style="padding: 20px; background-color: ${hexToRgba(STYLES.primaryColor, 0.05)}; border-radius: 12px; border: 1px solid ${hexToRgba(STYLES.primaryColor, 0.2)}; margin-bottom: 32px;">
313
295
  ${content}
@@ -317,12 +299,12 @@ function highlightBox(content) {
317
299
  /**
318
300
  * Render a secondary/outline button.
319
301
  */
320
- function secondaryButton(text, href) {
302
+ export function secondaryButton(text, href) {
321
303
  return `
322
304
  <table width="100%" cellpadding="0" cellspacing="0">
323
305
  <tr>
324
306
  <td align="center">
325
- <a href="${(0, utils_1.escapeHtml)(href)}" style="display: inline-block; padding: 12px 32px; background-color: transparent; color: ${STYLES.primaryColor}; text-decoration: none; border-radius: 12px; border: 1px solid ${hexToRgba(STYLES.primaryColor, 0.3)}; font-family: ${STYLES.fontFamily}; font-size: 16px; font-weight: 600;">${(0, utils_1.escapeHtml)(text)}</a>
307
+ <a href="${escapeHtml(href)}" style="display: inline-block; padding: 12px 32px; background-color: transparent; color: ${STYLES.primaryColor}; text-decoration: none; border-radius: 12px; border: 1px solid ${hexToRgba(STYLES.primaryColor, 0.3)}; font-family: ${STYLES.fontFamily}; font-size: 16px; font-weight: 600;">${escapeHtml(text)}</a>
326
308
  </td>
327
309
  </tr>
328
310
  </table>
@@ -331,10 +313,10 @@ function secondaryButton(text, href) {
331
313
  /**
332
314
  * Render address section.
333
315
  */
334
- function addressSection(title, addressHtml) {
316
+ export function addressSection(title, addressHtml) {
335
317
  return `
336
318
  <div style="margin-bottom: 32px;">
337
- <h3 style="margin: 0 0 12px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${(0, utils_1.escapeHtml)(title)}</h3>
319
+ <h3 style="margin: 0 0 12px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${escapeHtml(title)}</h3>
338
320
  <p style="margin: 0; font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 400; line-height: 1.5; color: ${STYLES.textSecondary};">
339
321
  ${addressHtml}
340
322
  </p>
@@ -344,7 +326,9 @@ function addressSection(title, addressHtml) {
344
326
  /**
345
327
  * Render a section heading.
346
328
  */
347
- function sectionHeading(text) {
348
- return `<h3 style="margin: 0 0 16px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${(0, utils_1.escapeHtml)(text)}</h3>`;
329
+ export function sectionHeading(text) {
330
+ return `<h3 style="margin: 0 0 16px 0; font-family: ${STYLES.fontFamily}; font-size: 18px; font-weight: 600; color: ${STYLES.textPrimary};">${escapeHtml(text)}</h3>`;
349
331
  }
332
+ // Export styles for use in specialized templates
333
+ export { STYLES };
350
334
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":"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"}