@rovela-ai/sdk 0.1.7 → 0.1.9
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/dist/admin/index.d.ts +0 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +2 -34
- package/dist/admin/index.js.map +1 -1
- package/dist/emails/templates/base.d.ts +5 -1
- package/dist/emails/templates/base.d.ts.map +1 -1
- package/dist/emails/templates/base.js +107 -13
- package/dist/emails/templates/base.js.map +1 -1
- package/dist/emails/templates/email-verification.js +1 -1
- package/dist/emails/templates/email-verification.js.map +1 -1
- package/dist/emails/templates/order-cancelled.js +1 -1
- package/dist/emails/templates/order-cancelled.js.map +1 -1
- package/dist/emails/templates/order-confirmation.js +5 -5
- package/dist/emails/templates/order-confirmation.js.map +1 -1
- package/dist/emails/templates/order-delivered.js +1 -1
- package/dist/emails/templates/order-delivered.js.map +1 -1
- package/dist/emails/templates/order-shipped.js +1 -1
- package/dist/emails/templates/order-shipped.js.map +1 -1
- package/dist/emails/templates/password-reset.js +1 -1
- package/dist/emails/templates/password-reset.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -25
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/admin/index.d.ts
CHANGED
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
export type { OrderStatus, ProductStatus, AdminRole, Order, OrderItem, Product, ProductVariant, Customer, StoreAdmin, Category, PaginatedResponse, ApiError, Address, AdminApiError, AdminSession, AdminAuthState, AdminSignInOptions, AdminSignInResult, DashboardStats, LowStockItem, RecentOrder, UseAdminStatsOptions, ProductFormData, VariantFormData, CategoryFormData, ProductListOptions, OrderListOptions, CustomerListOptions, CrudResult, RefundResult, StoreSettingsData, AdminOrderListItem, AdminOrderDetail, AdminOrderItem, AdminProductListItem, AdminProductDetail, AdminProductVariant, AdminCustomerListItem, AdminCustomerDetail, AdminCategoryListItem, AdminLayoutProps, AdminGuardProps, AdminLoginFormProps, AdminNavProps, AdminHeaderProps, StatsCardsProps, RecentOrdersProps, LowStockAlertProps, ProductTableProps, ProductFormProps, InventoryEditorProps, OrderTableProps, OrderDetailsProps, RefundDialogProps, StoreSettingsProps, CustomerTableProps, AdminAuthConfigOptions, UseAdminAuthReturn, UseAdminStatsReturn, UseAdminOrdersReturn, UseAdminProductsReturn, UseAdminCustomersReturn, UseAdminCategoriesReturn, } from './types';
|
|
58
58
|
export { createAdminAuthOptions, adminAuthConfig, adminAuthHandlers, createAdminNextAuthHandler, getAdminSession, } from './config';
|
|
59
59
|
export { authenticateAdmin, createAdmin, updateAdminPassword, findAdminForSession, findAdminByEmail, findAdminById, updateAdmin, adminEmailExists, countAdmins, } from './server';
|
|
60
|
-
export { createAdminAuthHandlers, getProducts, createProduct as createProductHandler, getProduct, updateProduct as updateProductHandler, deleteProduct as deleteProductHandler, addVariant, updateVariantHandler, deleteVariantHandler, getOrders, getOrder, updateOrder, processRefund as processRefundHandler, getStats, getCategories, createCategory as createCategoryHandler, getCategory, updateCategory as updateCategoryHandler, deleteCategory as deleteCategoryHandler, getCustomers, getCustomer, } from './api';
|
|
61
60
|
export { useAdminAuth, useAdminStats, useAdminProducts, useAdminOrders, } from './hooks';
|
|
62
61
|
export { AdminGuard, AdminLoginForm, AdminLayout, AdminNav, AdminHeader, StatsCards, RecentOrders, LowStockAlert, ProductTable, ProductForm, InventoryEditor, OrderTable, OrderDetails, RefundDialog, StoreSettings, } from './components';
|
|
63
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAMH,YAAY,EAEV,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,SAAS,EACT,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EAGP,aAAa,EAGb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,iBAAiB,EAGjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EAGrB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAGlB,sBAAsB,EAGtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAMH,YAAY,EAEV,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,SAAS,EACT,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EAGP,aAAa,EAGb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,iBAAiB,EAGjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EAGrB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAGlB,sBAAsB,EAGtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,UAAU,CAAA;AAOjB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,UAAU,CAAA;AAMjB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,SAAS,CAAA;AAMhB,OAAO,EAEL,UAAU,EACV,cAAc,EAEd,WAAW,EACX,QAAQ,EACR,WAAW,EAEX,UAAU,EACV,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,eAAe,EAEf,UAAU,EACV,YAAY,EACZ,YAAY,EAEZ,aAAa,GACd,MAAM,cAAc,CAAA"}
|
package/dist/admin/index.js
CHANGED
|
@@ -56,8 +56,7 @@
|
|
|
56
56
|
* ```
|
|
57
57
|
*/
|
|
58
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
-
exports.
|
|
60
|
-
exports.StoreSettings = exports.RefundDialog = exports.OrderDetails = exports.OrderTable = void 0;
|
|
59
|
+
exports.StoreSettings = exports.RefundDialog = exports.OrderDetails = exports.OrderTable = exports.InventoryEditor = exports.ProductForm = exports.ProductTable = exports.LowStockAlert = exports.RecentOrders = exports.StatsCards = exports.AdminHeader = exports.AdminNav = exports.AdminLayout = exports.AdminLoginForm = exports.AdminGuard = exports.useAdminOrders = exports.useAdminProducts = exports.useAdminStats = exports.useAdminAuth = exports.countAdmins = exports.adminEmailExists = exports.updateAdmin = exports.findAdminById = exports.findAdminByEmail = exports.findAdminForSession = exports.updateAdminPassword = exports.createAdmin = exports.authenticateAdmin = exports.getAdminSession = exports.createAdminNextAuthHandler = exports.adminAuthHandlers = exports.adminAuthConfig = exports.createAdminAuthOptions = void 0;
|
|
61
60
|
// =============================================================================
|
|
62
61
|
// Configuration (NextAuth)
|
|
63
62
|
// =============================================================================
|
|
@@ -69,6 +68,7 @@ Object.defineProperty(exports, "createAdminNextAuthHandler", { enumerable: true,
|
|
|
69
68
|
Object.defineProperty(exports, "getAdminSession", { enumerable: true, get: function () { return config_1.getAdminSession; } });
|
|
70
69
|
// =============================================================================
|
|
71
70
|
// Server-side Services
|
|
71
|
+
// NOTE: For API route handlers, import from '@rovela-ai/sdk/admin/api' instead
|
|
72
72
|
// =============================================================================
|
|
73
73
|
var server_1 = require("./server");
|
|
74
74
|
Object.defineProperty(exports, "authenticateAdmin", { enumerable: true, get: function () { return server_1.authenticateAdmin; } });
|
|
@@ -81,38 +81,6 @@ Object.defineProperty(exports, "updateAdmin", { enumerable: true, get: function
|
|
|
81
81
|
Object.defineProperty(exports, "adminEmailExists", { enumerable: true, get: function () { return server_1.adminEmailExists; } });
|
|
82
82
|
Object.defineProperty(exports, "countAdmins", { enumerable: true, get: function () { return server_1.countAdmins; } });
|
|
83
83
|
// =============================================================================
|
|
84
|
-
// API Route Handlers
|
|
85
|
-
// =============================================================================
|
|
86
|
-
var api_1 = require("./api");
|
|
87
|
-
// Auth
|
|
88
|
-
Object.defineProperty(exports, "createAdminAuthHandlers", { enumerable: true, get: function () { return api_1.createAdminAuthHandlers; } });
|
|
89
|
-
// Products
|
|
90
|
-
Object.defineProperty(exports, "getProducts", { enumerable: true, get: function () { return api_1.getProducts; } });
|
|
91
|
-
Object.defineProperty(exports, "createProductHandler", { enumerable: true, get: function () { return api_1.createProduct; } });
|
|
92
|
-
Object.defineProperty(exports, "getProduct", { enumerable: true, get: function () { return api_1.getProduct; } });
|
|
93
|
-
Object.defineProperty(exports, "updateProductHandler", { enumerable: true, get: function () { return api_1.updateProduct; } });
|
|
94
|
-
Object.defineProperty(exports, "deleteProductHandler", { enumerable: true, get: function () { return api_1.deleteProduct; } });
|
|
95
|
-
Object.defineProperty(exports, "addVariant", { enumerable: true, get: function () { return api_1.addVariant; } });
|
|
96
|
-
Object.defineProperty(exports, "updateVariantHandler", { enumerable: true, get: function () { return api_1.updateVariantHandler; } });
|
|
97
|
-
Object.defineProperty(exports, "deleteVariantHandler", { enumerable: true, get: function () { return api_1.deleteVariantHandler; } });
|
|
98
|
-
// Orders
|
|
99
|
-
Object.defineProperty(exports, "getOrders", { enumerable: true, get: function () { return api_1.getOrders; } });
|
|
100
|
-
Object.defineProperty(exports, "getOrder", { enumerable: true, get: function () { return api_1.getOrder; } });
|
|
101
|
-
Object.defineProperty(exports, "updateOrder", { enumerable: true, get: function () { return api_1.updateOrder; } });
|
|
102
|
-
// Refund
|
|
103
|
-
Object.defineProperty(exports, "processRefundHandler", { enumerable: true, get: function () { return api_1.processRefund; } });
|
|
104
|
-
// Stats
|
|
105
|
-
Object.defineProperty(exports, "getStats", { enumerable: true, get: function () { return api_1.getStats; } });
|
|
106
|
-
// Categories
|
|
107
|
-
Object.defineProperty(exports, "getCategories", { enumerable: true, get: function () { return api_1.getCategories; } });
|
|
108
|
-
Object.defineProperty(exports, "createCategoryHandler", { enumerable: true, get: function () { return api_1.createCategory; } });
|
|
109
|
-
Object.defineProperty(exports, "getCategory", { enumerable: true, get: function () { return api_1.getCategory; } });
|
|
110
|
-
Object.defineProperty(exports, "updateCategoryHandler", { enumerable: true, get: function () { return api_1.updateCategory; } });
|
|
111
|
-
Object.defineProperty(exports, "deleteCategoryHandler", { enumerable: true, get: function () { return api_1.deleteCategory; } });
|
|
112
|
-
// Customers
|
|
113
|
-
Object.defineProperty(exports, "getCustomers", { enumerable: true, get: function () { return api_1.getCustomers; } });
|
|
114
|
-
Object.defineProperty(exports, "getCustomer", { enumerable: true, get: function () { return api_1.getCustomer; } });
|
|
115
|
-
// =============================================================================
|
|
116
84
|
// React Hooks
|
|
117
85
|
// =============================================================================
|
|
118
86
|
var hooks_1 = require("./hooks");
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;;;AAqFH,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,mCAMiB;AALf,gHAAA,sBAAsB,OAAA;AACtB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,oHAAA,0BAA0B,OAAA;AAC1B,yGAAA,eAAe,OAAA;AAGjB,gFAAgF;AAChF,uBAAuB;AACvB,+EAA+E;AAC/E,gFAAgF;AAEhF,mCAUiB;AATf,2GAAA,iBAAiB,OAAA;AACjB,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,0GAAA,gBAAgB,OAAA;AAChB,qGAAA,WAAW,OAAA;AAGb,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,iCAKgB;AAJd,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAChB,uGAAA,cAAc,OAAA;AAGhB,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,2CAsBqB;AArBnB,OAAO;AACP,wGAAA,UAAU,OAAA;AACV,4GAAA,cAAc,OAAA;AACd,SAAS;AACT,yGAAA,WAAW,OAAA;AACX,sGAAA,QAAQ,OAAA;AACR,yGAAA,WAAW,OAAA;AACX,YAAY;AACZ,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,WAAW;AACX,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,6GAAA,eAAe,OAAA;AACf,SAAS;AACT,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,WAAW;AACX,2GAAA,aAAa,OAAA"}
|
|
@@ -3,10 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Base email layout used by all email templates.
|
|
5
5
|
* Provides consistent styling and structure.
|
|
6
|
+
*
|
|
7
|
+
* Theme colors are loaded from the store's blueprint at module init.
|
|
8
|
+
* Falls back to default colors if blueprint is not available.
|
|
6
9
|
*/
|
|
7
10
|
import type { EmailConfig } from '../types';
|
|
8
11
|
declare const STYLES: {
|
|
9
|
-
readonly fontFamily:
|
|
12
|
+
readonly fontFamily: string;
|
|
13
|
+
readonly fontName: string;
|
|
10
14
|
readonly backgroundColor: "#F7F7F7";
|
|
11
15
|
readonly cardBackground: "#FFFFFF";
|
|
12
16
|
readonly cardBorder: "#E8DFD3";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAkH3C,QAAA,MAAM,MAAM;;;;;;;;;;;CAWF,CAAA;AA0DV,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAiChF;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUhE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,MAAe,GAAG,MAAM,CAE7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,MAAM,CAiBR;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAahE;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CAClB,GACL,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACtC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACvC,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CASzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Base email layout used by all email templates.
|
|
6
6
|
* Provides consistent styling and structure.
|
|
7
|
+
*
|
|
8
|
+
* Theme colors are loaded from the store's blueprint at module init.
|
|
9
|
+
* Falls back to default colors if blueprint is not available.
|
|
7
10
|
*/
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.STYLES = void 0;
|
|
@@ -23,18 +26,100 @@ exports.addressSection = addressSection;
|
|
|
23
26
|
exports.sectionHeading = sectionHeading;
|
|
24
27
|
const utils_1 = require("../utils");
|
|
25
28
|
// =============================================================================
|
|
29
|
+
// Theme Loading
|
|
30
|
+
// =============================================================================
|
|
31
|
+
/**
|
|
32
|
+
* Default email colors (Rovela brand colors as fallback)
|
|
33
|
+
*/
|
|
34
|
+
const DEFAULT_COLORS = {
|
|
35
|
+
primary: '#0CAF7D',
|
|
36
|
+
neutral50: '#FBF8F5',
|
|
37
|
+
neutral200: '#E8DFD3',
|
|
38
|
+
neutral500: '#78716C',
|
|
39
|
+
neutral800: '#1C1917',
|
|
40
|
+
neutral900: '#0A0A0A',
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Default email typography
|
|
44
|
+
*/
|
|
45
|
+
const DEFAULT_TYPOGRAPHY = {
|
|
46
|
+
fontFamily: "'Plus Jakarta Sans', system-ui, sans-serif",
|
|
47
|
+
fontName: 'Plus Jakarta Sans',
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Build a CSS font-family string from font config.
|
|
51
|
+
*/
|
|
52
|
+
function buildFontFamily(fontName, fallback) {
|
|
53
|
+
const name = fontName || DEFAULT_TYPOGRAPHY.fontName;
|
|
54
|
+
const fallbacks = fallback?.join(', ') || 'system-ui, sans-serif';
|
|
55
|
+
return `'${name}', ${fallbacks}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Load theme from blueprint.
|
|
59
|
+
* Called once at module initialization.
|
|
60
|
+
*/
|
|
61
|
+
function loadTheme() {
|
|
62
|
+
try {
|
|
63
|
+
// Dynamic import to avoid circular dependencies and allow graceful fallback
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
65
|
+
const { getTheme } = require('../../core/config');
|
|
66
|
+
const theme = getTheme();
|
|
67
|
+
// Load colors
|
|
68
|
+
const colors = {
|
|
69
|
+
primary: theme.colors?.primary?.[600] || DEFAULT_COLORS.primary,
|
|
70
|
+
neutral50: theme.colors?.neutral?.[50] || DEFAULT_COLORS.neutral50,
|
|
71
|
+
neutral200: theme.colors?.neutral?.[200] || DEFAULT_COLORS.neutral200,
|
|
72
|
+
neutral500: theme.colors?.neutral?.[500] || DEFAULT_COLORS.neutral500,
|
|
73
|
+
neutral800: theme.colors?.neutral?.[800] || DEFAULT_COLORS.neutral800,
|
|
74
|
+
neutral900: theme.colors?.neutral?.[900] || DEFAULT_COLORS.neutral900,
|
|
75
|
+
};
|
|
76
|
+
// Load typography - use body font for emails
|
|
77
|
+
const fontName = theme.typography?.body?.name || DEFAULT_TYPOGRAPHY.fontName;
|
|
78
|
+
const fontFamily = buildFontFamily(theme.typography?.body?.name, theme.typography?.body?.fallback);
|
|
79
|
+
return { colors, fontFamily, fontName };
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Blueprint not available - use defaults
|
|
83
|
+
// This is expected during build time or in test environments
|
|
84
|
+
return {
|
|
85
|
+
colors: DEFAULT_COLORS,
|
|
86
|
+
fontFamily: DEFAULT_TYPOGRAPHY.fontFamily,
|
|
87
|
+
fontName: DEFAULT_TYPOGRAPHY.fontName,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Load theme once at module init
|
|
92
|
+
const loadedTheme = loadTheme();
|
|
93
|
+
// =============================================================================
|
|
94
|
+
// Color Utilities
|
|
95
|
+
// =============================================================================
|
|
96
|
+
/**
|
|
97
|
+
* Convert hex color to rgba with opacity.
|
|
98
|
+
* Used for translucent backgrounds and borders.
|
|
99
|
+
*/
|
|
100
|
+
function hexToRgba(hex, opacity) {
|
|
101
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
102
|
+
if (!result)
|
|
103
|
+
return `rgba(0, 0, 0, ${opacity})`;
|
|
104
|
+
const r = parseInt(result[1], 16);
|
|
105
|
+
const g = parseInt(result[2], 16);
|
|
106
|
+
const b = parseInt(result[3], 16);
|
|
107
|
+
return `rgba(${r}, ${g}, ${b}, ${opacity})`;
|
|
108
|
+
}
|
|
109
|
+
// =============================================================================
|
|
26
110
|
// Styles
|
|
27
111
|
// =============================================================================
|
|
28
112
|
const STYLES = {
|
|
29
|
-
fontFamily:
|
|
113
|
+
fontFamily: loadedTheme.fontFamily,
|
|
114
|
+
fontName: loadedTheme.fontName,
|
|
30
115
|
backgroundColor: '#F7F7F7',
|
|
31
116
|
cardBackground: '#FFFFFF',
|
|
32
|
-
cardBorder:
|
|
33
|
-
footerBackground:
|
|
34
|
-
primaryColor:
|
|
35
|
-
textPrimary:
|
|
36
|
-
textSecondary:
|
|
37
|
-
textMuted:
|
|
117
|
+
cardBorder: loadedTheme.colors.neutral200,
|
|
118
|
+
footerBackground: loadedTheme.colors.neutral50,
|
|
119
|
+
primaryColor: loadedTheme.colors.primary,
|
|
120
|
+
textPrimary: loadedTheme.colors.neutral900,
|
|
121
|
+
textSecondary: loadedTheme.colors.neutral500,
|
|
122
|
+
textMuted: loadedTheme.colors.neutral800,
|
|
38
123
|
};
|
|
39
124
|
exports.STYLES = STYLES;
|
|
40
125
|
// =============================================================================
|
|
@@ -42,10 +127,16 @@ exports.STYLES = STYLES;
|
|
|
42
127
|
// =============================================================================
|
|
43
128
|
/**
|
|
44
129
|
* Render the email header with logo.
|
|
130
|
+
* When no logo is provided, returns a spacer row for consistent top padding.
|
|
45
131
|
*/
|
|
46
132
|
function renderHeader(logoUrl) {
|
|
47
133
|
if (!logoUrl) {
|
|
48
|
-
|
|
134
|
+
// Return a spacer row for top padding when no logo
|
|
135
|
+
return `
|
|
136
|
+
<tr>
|
|
137
|
+
<td style="padding-top: 48px;"></td>
|
|
138
|
+
</tr>
|
|
139
|
+
`;
|
|
49
140
|
}
|
|
50
141
|
return `
|
|
51
142
|
<tr>
|
|
@@ -91,6 +182,9 @@ function renderFooter(config) {
|
|
|
91
182
|
* ```
|
|
92
183
|
*/
|
|
93
184
|
function baseLayout({ config, title, content }) {
|
|
185
|
+
// Build Google Fonts URL with dynamic font name
|
|
186
|
+
const fontNameEncoded = STYLES.fontName.replace(/ /g, '+');
|
|
187
|
+
const googleFontsUrl = `https://fonts.googleapis.com/css2?family=${fontNameEncoded}:wght@400;500;600;700&display=swap`;
|
|
94
188
|
return `<!DOCTYPE html>
|
|
95
189
|
<html lang="en">
|
|
96
190
|
<head>
|
|
@@ -99,7 +193,7 @@ function baseLayout({ config, title, content }) {
|
|
|
99
193
|
<title>${(0, utils_1.escapeHtml)(title)}</title>
|
|
100
194
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
101
195
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
102
|
-
<link href="
|
|
196
|
+
<link href="${googleFontsUrl}" rel="stylesheet">
|
|
103
197
|
</head>
|
|
104
198
|
<body style="margin: 0; padding: 0; font-family: ${STYLES.fontFamily}; background-color: ${STYLES.backgroundColor};">
|
|
105
199
|
<table width="100%" cellpadding="0" cellspacing="0" style="background-color: ${STYLES.backgroundColor}; padding: 40px 0;">
|
|
@@ -200,7 +294,7 @@ function statusBadge(text, emoji) {
|
|
|
200
294
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
201
295
|
<tr>
|
|
202
296
|
<td align="center" style="padding: 0 48px 24px 48px;">
|
|
203
|
-
<div style="display: inline-block; padding: 8px 16px; background-color:
|
|
297
|
+
<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)};">
|
|
204
298
|
<span style="font-family: ${STYLES.fontFamily}; font-size: 14px; font-weight: 600; color: ${STYLES.primaryColor};">${(0, utils_1.escapeHtml)(displayText)}</span>
|
|
205
299
|
</div>
|
|
206
300
|
</td>
|
|
@@ -216,7 +310,7 @@ function statusBadge(text, emoji) {
|
|
|
216
310
|
*/
|
|
217
311
|
function labeledValue(label, value, options = {}) {
|
|
218
312
|
const { valueColor = STYLES.textPrimary, valueSize = '18px', borderTop = false, borderBottom = false, } = options;
|
|
219
|
-
const borderTopStyle = borderTop ?
|
|
313
|
+
const borderTopStyle = borderTop ? `padding-top: 16px; border-top: 1px solid ${STYLES.cardBorder};` : '';
|
|
220
314
|
const borderBottomStyle = borderBottom ? 'padding-bottom: 16px;' : '';
|
|
221
315
|
return `
|
|
222
316
|
<tr>
|
|
@@ -250,7 +344,7 @@ function labeledValueRow(left, right, borderBottom) {
|
|
|
250
344
|
*/
|
|
251
345
|
function highlightBox(content) {
|
|
252
346
|
return `
|
|
253
|
-
<div style="padding: 20px; background-color:
|
|
347
|
+
<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;">
|
|
254
348
|
${content}
|
|
255
349
|
</div>
|
|
256
350
|
`;
|
|
@@ -263,7 +357,7 @@ function secondaryButton(text, href) {
|
|
|
263
357
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
264
358
|
<tr>
|
|
265
359
|
<td align="center">
|
|
266
|
-
<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
|
|
360
|
+
<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>
|
|
267
361
|
</td>
|
|
268
362
|
</tr>
|
|
269
363
|
</table>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/emails/templates/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ function renderEmailVerification(data) {
|
|
|
35
35
|
|
|
36
36
|
${(0, base_1.primaryButton)('Verify Email Address', data.verificationLink)}
|
|
37
37
|
|
|
38
|
-
${(0, base_1.paragraph)(`This link will expire in ${(0, utils_1.escapeHtml)(data.expiryTime)} hours for security reasons.`, '24px')}
|
|
38
|
+
${(0, base_1.paragraph)(`This link will expire in ${(0, utils_1.escapeHtml)(data.expiryTime)} ${data.expiryTime === '1' ? 'hour' : 'hours'} for security reasons.`, '24px')}
|
|
39
39
|
|
|
40
40
|
${(0, base_1.paragraph)("If you didn't create an account with us, you can safely ignore this email.", '24px')}
|
|
41
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-verification.js","sourceRoot":"","sources":["../../../src/emails/templates/email-verification.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,0DA+BC;AAKD,kEAEC;AA/DD,oCAAqC;AACrC,iCAMe;AAEf;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CAAC,IAA2B;IACjE,MAAM,OAAO,GAAG;MACZ,IAAA,cAAO,EAAC,2BAA2B,CAAC;;MAEpC,IAAA,gBAAS,EAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;;MAEjD,IAAA,gBAAS,EACT,8BAA8B,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oHAAoH,EACnL,MAAM,CACP;;MAEC,IAAA,oBAAa,EAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC;;MAE5D,IAAA,gBAAS,EACT,4BAA4B,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"email-verification.js","sourceRoot":"","sources":["../../../src/emails/templates/email-verification.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,0DA+BC;AAKD,kEAEC;AA/DD,oCAAqC;AACrC,iCAMe;AAEf;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CAAC,IAA2B;IACjE,MAAM,OAAO,GAAG;MACZ,IAAA,cAAO,EAAC,2BAA2B,CAAC;;MAEpC,IAAA,gBAAS,EAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;;MAEjD,IAAA,gBAAS,EACT,8BAA8B,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oHAAoH,EACnL,MAAM,CACP;;MAEC,IAAA,oBAAa,EAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC;;MAE5D,IAAA,gBAAS,EACT,4BAA4B,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,wBAAwB,EAC7H,MAAM,CACP;;MAEC,IAAA,gBAAS,EACT,4EAA4E,EAC5E,MAAM,CACP;;MAEC,IAAA,mBAAY,EAAC,IAAI,CAAC,gBAAgB,CAAC;GACtC,CAAA;IAED,OAAO,IAAA,iBAAU,EAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,2BAA2B;QAClC,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,2BAA2B,CAAC,SAAiB;IAC3D,OAAO,+BAA+B,SAAS,EAAE,CAAA;AACnD,CAAC"}
|
|
@@ -37,7 +37,7 @@ function renderOrderCancelled(data) {
|
|
|
37
37
|
: '';
|
|
38
38
|
// Order details box
|
|
39
39
|
const orderDetailsBox = `
|
|
40
|
-
<div style="padding: 24px; background-color:
|
|
40
|
+
<div style="padding: 24px; background-color: ${base_1.STYLES.footerBackground}; border-radius: 16px; border: 1px solid ${base_1.STYLES.cardBorder}; margin-bottom: 32px;">
|
|
41
41
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
42
42
|
${(0, base_1.labeledValue)('Order Number', `#${data.orderNumber}`, {
|
|
43
43
|
valueSize: '16px',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-cancelled.js","sourceRoot":"","sources":["../../../src/emails/templates/order-cancelled.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,oDAyDC;AAKD,4DAKC;AApGD,oCAAqC;AACrC,iCAQe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,oBAAoB,CAAC,IAAwB;IAC3D,iCAAiC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB;QACxC,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;QAC3C,CAAC,CAAC,EAAE,CAAA;IAEN,oBAAoB;IACpB,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"order-cancelled.js","sourceRoot":"","sources":["../../../src/emails/templates/order-cancelled.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,oDAyDC;AAKD,4DAKC;AApGD,oCAAqC;AACrC,iCAQe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,oBAAoB,CAAC,IAAwB;IAC3D,iCAAiC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB;QACxC,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;QAC3C,CAAC,CAAC,EAAE,CAAA;IAEN,oBAAoB;IACpB,MAAM,eAAe,GAAG;mDACyB,aAAM,CAAC,gBAAgB,4CAA4C,aAAM,CAAC,UAAU;;UAE7H,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;QACrD,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,IAAI;KACnB,CAAC;UACA,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;QACpD,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,IAAI;KAChB,CAAC;;;GAGP,CAAA;IAED,yBAAyB;IACzB,MAAM,aAAa,GAAG,IAAA,mBAAY,EAAC;kDACa,aAAM,CAAC,UAAU,+CAA+C,aAAM,CAAC,WAAW;wCAC5F,aAAM,CAAC,UAAU,iEAAiE,aAAM,CAAC,aAAa;QACtI,IAAA,kBAAU,EAAC,IAAI,CAAC,aAAa,CAAC;;GAEnC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;MACZ,IAAA,cAAO,EAAC,iBAAiB,CAAC;;MAE1B,IAAA,gBAAS,EAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;;MAEjD,IAAA,gBAAS,EACT,eAAe,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,oCAAoC,UAAU,EAAE,EAC3F,MAAM,CACP;;MAEC,eAAe;;MAEf,aAAa;;MAEb,IAAA,gBAAS,EACT,4GAA4G,EAC5G,MAAM,CACP;;MAEC,IAAA,oBAAa,EAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;GAC1D,CAAA;IAED,OAAO,IAAA,iBAAU,EAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,sBAAsB,IAAI,CAAC,WAAW,EAAE;QAC/C,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,SAAiB,EACjB,WAAmB;IAEnB,OAAO,sBAAsB,WAAW,MAAM,SAAS,EAAE,CAAA;AAC3D,CAAC"}
|
|
@@ -15,7 +15,7 @@ const base_1 = require("./base");
|
|
|
15
15
|
function renderOrderItem(item) {
|
|
16
16
|
const imageHtml = item.imageUrl
|
|
17
17
|
? `<td width="80" style="padding-right: 16px;">
|
|
18
|
-
<img src="${(0, utils_1.escapeHtml)(item.imageUrl)}" alt="${(0, utils_1.escapeHtml)(item.name)}" style="width: 80px; height: 80px; border-radius: 8px; object-fit: cover; border: 1px solid
|
|
18
|
+
<img src="${(0, utils_1.escapeHtml)(item.imageUrl)}" alt="${(0, utils_1.escapeHtml)(item.name)}" style="width: 80px; height: 80px; border-radius: 8px; object-fit: cover; border: 1px solid ${base_1.STYLES.cardBorder};" />
|
|
19
19
|
</td>`
|
|
20
20
|
: '';
|
|
21
21
|
return `
|
|
@@ -39,7 +39,7 @@ function renderOrderItems(items) {
|
|
|
39
39
|
// =============================================================================
|
|
40
40
|
function renderOrderSummary(data) {
|
|
41
41
|
return `
|
|
42
|
-
<div style="padding: 24px; background-color:
|
|
42
|
+
<div style="padding: 24px; background-color: ${base_1.STYLES.footerBackground}; border-radius: 16px; border: 1px solid ${base_1.STYLES.cardBorder}; margin-bottom: 32px;">
|
|
43
43
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
44
44
|
<tr>
|
|
45
45
|
<td style="padding-bottom: 8px;">
|
|
@@ -66,10 +66,10 @@ function renderOrderSummary(data) {
|
|
|
66
66
|
</td>
|
|
67
67
|
</tr>
|
|
68
68
|
<tr>
|
|
69
|
-
<td style="padding-top: 16px; border-top: 1px solid
|
|
69
|
+
<td style="padding-top: 16px; border-top: 1px solid ${base_1.STYLES.cardBorder};">
|
|
70
70
|
<p style="margin: 0; font-family: ${base_1.STYLES.fontFamily}; font-size: 18px; font-weight: 700; color: ${base_1.STYLES.textPrimary};">Total</p>
|
|
71
71
|
</td>
|
|
72
|
-
<td align="right" style="padding-top: 16px; border-top: 1px solid
|
|
72
|
+
<td align="right" style="padding-top: 16px; border-top: 1px solid ${base_1.STYLES.cardBorder};">
|
|
73
73
|
<p style="margin: 0; font-family: ${base_1.STYLES.fontFamily}; font-size: 18px; font-weight: 700; color: ${base_1.STYLES.textPrimary};">${(0, utils_1.escapeHtml)(data.total)}</p>
|
|
74
74
|
</td>
|
|
75
75
|
</tr>
|
|
@@ -109,7 +109,7 @@ function renderOrderConfirmation(data) {
|
|
|
109
109
|
const badge = (0, base_1.statusBadge)('Order Confirmed');
|
|
110
110
|
// Order details box
|
|
111
111
|
const orderDetailsBox = `
|
|
112
|
-
<div style="padding: 24px; background-color:
|
|
112
|
+
<div style="padding: 24px; background-color: ${base_1.STYLES.footerBackground}; border-radius: 16px; border: 1px solid ${base_1.STYLES.cardBorder}; margin-bottom: 32px;">
|
|
113
113
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
114
114
|
${(0, base_1.labeledValueRow)({ label: 'Order Number', value: `#${data.orderNumber}` }, { label: 'Order Date', value: data.orderDate }, true)}
|
|
115
115
|
${(0, base_1.labeledValue)('Payment Status', data.paymentStatus, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-confirmation.js","sourceRoot":"","sources":["../../../src/emails/templates/order-confirmation.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4HH,0DAsDC;AAKD,kEAKC;AAzLD,oCAAwD;AACxD,iCAWe;AAEf,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,SAAS,eAAe,CAAC,IAAoB;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ;QAC7B,CAAC,CAAC;oBACc,IAAA,kBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"order-confirmation.js","sourceRoot":"","sources":["../../../src/emails/templates/order-confirmation.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ function renderOrderDelivered(data) {
|
|
|
35
35
|
const badge = (0, base_1.statusBadge)('Delivered');
|
|
36
36
|
// Delivery details box
|
|
37
37
|
const deliveryDetailsBox = `
|
|
38
|
-
<div style="padding: 24px; background-color:
|
|
38
|
+
<div style="padding: 24px; background-color: ${base_1.STYLES.footerBackground}; border-radius: 16px; border: 1px solid ${base_1.STYLES.cardBorder}; margin-bottom: 32px;">
|
|
39
39
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
40
40
|
${(0, base_1.labeledValue)('Order Number', `#${data.orderNumber}`, { borderBottom: true })}
|
|
41
41
|
${(0, base_1.labeledValue)('Delivered On', data.deliveryDate, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-delivered.js","sourceRoot":"","sources":["../../../src/emails/templates/order-delivered.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAuCH,oDA0DC;AAKD,4DAKC;AAxGD,oCAAqC;AACrC,iCAUe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,KAAK,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,CAAA;IAEtC,uBAAuB;IACvB,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"order-delivered.js","sourceRoot":"","sources":["../../../src/emails/templates/order-delivered.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAuCH,oDA0DC;AAKD,4DAKC;AAxGD,oCAAqC;AACrC,iCAUe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,KAAK,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,CAAA;IAEtC,uBAAuB;IACvB,MAAM,kBAAkB,GAAG;mDACsB,aAAM,CAAC,gBAAgB,4CAA4C,aAAM,CAAC,UAAU;;UAE7H,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;UAC5E,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE;QAChD,UAAU,EAAE,aAAM,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;KACnB,CAAC;UACA,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;QACpD,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,IAAI;KAChB,CAAC;;;GAGP,CAAA;IAED,mBAAmB;IACnB,MAAM,eAAe,GAAG,IAAA,mBAAY,EAAC;kDACW,aAAM,CAAC,UAAU,+CAA+C,aAAM,CAAC,WAAW;iDACnF,aAAM,CAAC,UAAU,iEAAiE,aAAM,CAAC,aAAa;;;;;;qBAMlI,IAAA,kBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,yEAAyE,aAAM,CAAC,YAAY,8EAA8E,aAAM,CAAC,UAAU;;;;GAIvO,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;MACZ,KAAK;MACL,IAAA,cAAO,EAAC,gCAAgC,CAAC;;iDAEE,aAAM,CAAC,UAAU,mEAAmE,aAAM,CAAC,aAAa;WAC9I,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC;;;MAGlC,kBAAkB;;MAElB,eAAe;;MAEf,IAAA,gBAAS,EAAC,uCAAuC,EAAE,MAAM,CAAC;;MAE1D,IAAA,sBAAe,EAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC;GAC/D,CAAA;IAED,OAAO,IAAA,iBAAU,EAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,sBAAsB,IAAI,CAAC,WAAW,EAAE;QAC/C,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,SAAiB,EACjB,WAAmB;IAEnB,OAAO,oCAAoC,WAAW,MAAM,SAAS,EAAE,CAAA;AACzE,CAAC"}
|
|
@@ -36,7 +36,7 @@ function renderOrderShipped(data) {
|
|
|
36
36
|
const badge = (0, base_1.statusBadge)('Order Shipped', '📦');
|
|
37
37
|
// Tracking info box
|
|
38
38
|
const trackingInfoBox = `
|
|
39
|
-
<div style="padding: 24px; background-color:
|
|
39
|
+
<div style="padding: 24px; background-color: ${base_1.STYLES.footerBackground}; border-radius: 16px; border: 1px solid ${base_1.STYLES.cardBorder}; margin-bottom: 32px;">
|
|
40
40
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
41
41
|
${(0, base_1.labeledValue)('Order Number', `#${data.orderNumber}`, { borderBottom: true })}
|
|
42
42
|
${(0, base_1.labeledValue)('Tracking Number', data.trackingNumber, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-shipped.js","sourceRoot":"","sources":["../../../src/emails/templates/order-shipped.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAuCH,gDAiDC;AAKD,wDAKC;AA/FD,oCAAwD;AACxD,iCASe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,kBAAkB,CAAC,IAAsB;IACvD,MAAM,KAAK,GAAG,IAAA,kBAAW,EAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IAEhD,oBAAoB;IACpB,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"order-shipped.js","sourceRoot":"","sources":["../../../src/emails/templates/order-shipped.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAuCH,gDAiDC;AAKD,wDAKC;AA/FD,oCAAwD;AACxD,iCASe;AAEf,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,kBAAkB,CAAC,IAAsB;IACvD,MAAM,KAAK,GAAG,IAAA,kBAAW,EAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IAEhD,oBAAoB;IACpB,MAAM,eAAe,GAAG;mDACyB,aAAM,CAAC,gBAAgB,4CAA4C,aAAM,CAAC,UAAU;;UAE7H,IAAA,mBAAY,EAAC,cAAc,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;UAC5E,IAAA,mBAAY,EAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE;QACrD,UAAU,EAAE,aAAM,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;KACnB,CAAC;UACA,IAAA,mBAAY,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE;QAC1C,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,IAAI;KAChB,CAAC;;;GAGP,CAAA;IAED,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,IAAA,mBAAY,EAAC;gDACI,aAAM,CAAC,UAAU,+CAA+C,aAAM,CAAC,aAAa;wCAC5F,aAAM,CAAC,UAAU,+CAA+C,aAAM,CAAC,YAAY,0BAA0B,IAAA,kBAAU,EAAC,IAAI,CAAC,qBAAqB,CAAC;GACxL,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;MACZ,KAAK;MACL,IAAA,cAAO,EAAC,2BAA2B,CAAC;;iDAEO,aAAM,CAAC,UAAU,mEAAmE,aAAM,CAAC,aAAa;WAC9I,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC;;;MAGlC,eAAe;;MAEf,oBAAoB;;MAEpB,IAAA,qBAAc,EAAC,aAAa,EAAE,IAAA,yBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;MAEtE,IAAA,oBAAa,EAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC;GACxD,CAAA;IAED,OAAO,IAAA,iBAAU,EAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,6BAA6B,IAAI,CAAC,WAAW,EAAE;QACtD,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,SAAiB,EACjB,WAAmB;IAEnB,OAAO,6BAA6B,WAAW,MAAM,SAAS,EAAE,CAAA;AAClE,CAAC"}
|
|
@@ -34,7 +34,7 @@ function renderPasswordResetEmail(data) {
|
|
|
34
34
|
|
|
35
35
|
${(0, base_1.primaryButton)('Reset Password', data.resetLink)}
|
|
36
36
|
|
|
37
|
-
${(0, base_1.paragraph)(`This link will expire in ${(0, utils_1.escapeHtml)(data.expiryTime)} hours for security reasons.`)}
|
|
37
|
+
${(0, base_1.paragraph)(`This link will expire in ${(0, utils_1.escapeHtml)(data.expiryTime)} ${data.expiryTime === '1' ? 'hour' : 'hours'} for security reasons.`)}
|
|
38
38
|
|
|
39
39
|
${(0, base_1.paragraph)("If you didn't request a password reset, you can safely ignore this email. Your password will remain unchanged.", '24px')}
|
|
40
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-reset.js","sourceRoot":"","sources":["../../../src/emails/templates/password-reset.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2BH,4DA8BC;AAKD,0DAEC;AA7DD,oCAAqC;AACrC,iCAMe;AAEf;;;;;;;;;;;;;;GAcG;AACH,SAAgB,wBAAwB,CAAC,IAA4B;IACnE,MAAM,OAAO,GAAG;MACZ,IAAA,cAAO,EAAC,qBAAqB,CAAC;;MAE9B,IAAA,gBAAS,EAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;;MAEjD,IAAA,gBAAS,EACT,gGAAgG,EAChG,MAAM,CACP;;MAEC,IAAA,oBAAa,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;;MAE/C,IAAA,gBAAS,EACT,4BAA4B,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"password-reset.js","sourceRoot":"","sources":["../../../src/emails/templates/password-reset.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA2BH,4DA8BC;AAKD,0DAEC;AA7DD,oCAAqC;AACrC,iCAMe;AAEf;;;;;;;;;;;;;;GAcG;AACH,SAAgB,wBAAwB,CAAC,IAA4B;IACnE,MAAM,OAAO,GAAG;MACZ,IAAA,cAAO,EAAC,qBAAqB,CAAC;;MAE9B,IAAA,gBAAS,EAAC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;;MAEjD,IAAA,gBAAS,EACT,gGAAgG,EAChG,MAAM,CACP;;MAEC,IAAA,oBAAa,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;;MAE/C,IAAA,gBAAS,EACT,4BAA4B,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,wBAAwB,CAC9H;;MAEC,IAAA,gBAAS,EACT,gHAAgH,EAChH,MAAM,CACP;;MAEC,IAAA,mBAAY,EAAC,IAAI,CAAC,SAAS,CAAC;GAC/B,CAAA;IAED,OAAO,IAAA,iBAAU,EAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,qBAAqB;QAC5B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,OAAO,yBAAyB,SAAS,EAAE,CAAA;AAC7C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export { CheckoutButton, CheckoutSuccess, OrderSummary, ShippingForm, useCheckou
|
|
|
33
33
|
export type { CheckoutLineItem, CheckoutSessionRequest, CheckoutSessionResponse, CheckoutApiError, CreateOrderParams, WebhookResult, CheckoutStep, CheckoutState, CheckoutButtonProps, ShippingFormProps, OrderSummaryProps, CheckoutSuccessProps, UseCheckoutOptions, UseCheckoutReturn, CreateCheckoutSessionOptions, } from './checkout';
|
|
34
34
|
export * from './auth';
|
|
35
35
|
export { adminAuthConfig, adminAuthHandlers, createAdminAuthOptions, createAdminNextAuthHandler, getAdminSession, authenticateAdmin, createAdmin, updateAdminPassword, findAdminForSession, findAdminByEmail as findAdminByEmailAdmin, // Renamed to avoid conflict with core
|
|
36
|
-
findAdminById, updateAdmin, adminEmailExists, countAdmins,
|
|
36
|
+
findAdminById, updateAdmin, adminEmailExists, countAdmins, useAdminAuth, useAdminStats, useAdminProducts, useAdminOrders, AdminGuard, AdminLoginForm, AdminLayout, AdminNav, AdminHeader, StatsCards, RecentOrders, LowStockAlert, ProductTable, ProductForm, InventoryEditor, OrderTable, OrderDetails, RefundDialog, StoreSettings, } from './admin';
|
|
37
37
|
export type { AdminApiError, AdminSession, AdminAuthState, AdminSignInOptions, AdminSignInResult, DashboardStats, LowStockItem, RecentOrder, UseAdminStatsOptions, ProductFormData, VariantFormData, CategoryFormData, ProductListOptions, OrderListOptions, CustomerListOptions, CrudResult, RefundResult, StoreSettingsData, AdminOrderListItem, AdminOrderDetail, AdminOrderItem, AdminProductListItem, AdminProductDetail, AdminProductVariant, AdminCustomerListItem, AdminCustomerDetail, AdminCategoryListItem, AdminLayoutProps, AdminGuardProps, AdminLoginFormProps, AdminNavProps, AdminHeaderProps, StatsCardsProps, RecentOrdersProps, LowStockAlertProps, ProductTableProps, ProductFormProps, InventoryEditorProps, OrderTableProps, OrderDetailsProps, RefundDialogProps, StoreSettingsProps, CustomerTableProps, AdminAuthConfigOptions, UseAdminAuthReturn, UseAdminStatsReturn, UseAdminOrdersReturn, UseAdminProductsReturn, UseAdminCustomersReturn, UseAdminCategoriesReturn, } from './admin';
|
|
38
38
|
export { getResend, getFromEmail, getStoreName, getStoreUrl, getEmailConfig, getSupportEmail, sendEmail, sendEmailAsync, sendEmailBatch, formatDate as formatEmailDate, formatDateTime, formatPrice as formatEmailPrice, formatAddressLine, formatAddressHtml, escapeHtml, emailButton, emailFooter, formatOrderNumber, baseLayout, primaryButton, heading, paragraph, infoBox, linkFallback, detailBox, statusBadge, highlightBox, secondaryButton, addressSection, sectionHeading, STYLES, renderEmailVerification, getEmailVerificationSubject, renderWelcomeEmail, getWelcomeEmailSubject, renderPasswordResetEmail, getPasswordResetSubject, renderOrderConfirmation, getOrderConfirmationSubject, renderOrderShipped, getOrderShippedSubject, renderOrderDelivered, getOrderDeliveredSubject, renderOrderCancelled, getOrderCancelledSubject, renderRefundProcessed, getRefundProcessedSubject, sendVerificationEmail, sendVerificationEmailAsync, sendWelcomeEmail, sendWelcomeEmailAsync, sendPasswordResetEmail, sendPasswordResetEmailAsync, sendOrderConfirmation, sendOrderConfirmationAsync, sendOrderShipped, sendOrderShippedAsync, sendOrderDelivered, sendOrderDeliveredAsync, sendOrderCancelled, sendOrderCancelledAsync, sendRefundProcessed, sendRefundProcessedAsync, } from './emails';
|
|
39
39
|
export type { EmailConfig, SendEmailOptions, SendEmailResult, EmailAddress, EmailOrderItem, EmailVerificationData, WelcomeEmailData, PasswordResetEmailData, OrderConfirmationData, OrderShippedData, OrderDeliveredData, OrderCancelledData, RefundProcessedData, EmailTemplateType, EmailData, SendVerificationEmailParams, SendWelcomeEmailParams, SendPasswordResetEmailParams, SendOrderConfirmationParams, SendOrderShippedParams, SendOrderDeliveredParams, SendOrderCancelledParams, SendRefundProcessedParams, } from './emails';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,QAAQ,IAAI,YAAY,EAAG,yDAAyD;AACpF,WAAW,EACX,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,aAAa,IAAI,iBAAiB,EAClC,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAEL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EAEZ,WAAW,EACX,kBAAkB,EAElB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,6BAA6B,EAC7B,YAAY,EACZ,mBAAmB,EAEnB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,cAAc,QAAQ,CAAC;AAIvB,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EAEf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,IAAI,qBAAqB,EAAE,sCAAsC;AACjF,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,9 +39,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
39
39
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.
|
|
43
|
-
exports.
|
|
44
|
-
exports.sendRefundProcessedAsync = exports.sendRefundProcessed = exports.sendOrderCancelledAsync = exports.sendOrderCancelled = exports.sendOrderDeliveredAsync = exports.sendOrderDelivered = exports.sendOrderShippedAsync = exports.sendOrderShipped = exports.sendOrderConfirmationAsync = exports.sendOrderConfirmation = exports.sendPasswordResetEmailAsync = exports.sendPasswordResetEmail = exports.sendWelcomeEmailAsync = exports.sendWelcomeEmail = exports.sendVerificationEmailAsync = exports.sendVerificationEmail = exports.getRefundProcessedSubject = exports.renderRefundProcessed = exports.getOrderCancelledSubject = exports.renderOrderCancelled = exports.getOrderDeliveredSubject = exports.renderOrderDelivered = exports.getOrderShippedSubject = exports.renderOrderShipped = exports.getOrderConfirmationSubject = exports.renderOrderConfirmation = exports.getPasswordResetSubject = exports.renderPasswordResetEmail =
|
|
42
|
+
exports.useAdminOrders = exports.useAdminProducts = exports.useAdminStats = exports.useAdminAuth = exports.countAdmins = exports.adminEmailExists = exports.updateAdmin = exports.findAdminById = exports.findAdminByEmailAdmin = exports.findAdminForSession = exports.updateAdminPassword = exports.createAdmin = exports.authenticateAdmin = exports.getAdminSession = exports.createAdminNextAuthHandler = exports.createAdminAuthOptions = exports.adminAuthHandlers = exports.adminAuthConfig = exports.getPublishableKey = exports.getAllowedShippingCountries = exports.getStoreCurrency = exports.getWebhookSecret = exports.calculateApplicationFee = exports.getPlatformFeePercent = exports.hasConnectedAccount = exports.getConnectedAccountId = exports.getStripe = exports.handleStripeWebhook = exports.handleRefund = exports.extractOrderParamsFromSession = exports.createOrderFromCheckout = exports.getCheckoutSession = exports.createCheckoutSession = exports.useCheckoutSuccess = exports.useCheckout = exports.ShippingForm = exports.OrderSummary = exports.CheckoutSuccess = exports.CheckoutButton = exports.QuantitySelector = exports.AddToCartButton = exports.CartIcon = exports.CartSummary = exports.CartLineItem = exports.CartDrawer = exports.useCartHydrated = exports.CartProvider = exports.isCartHydrated = exports.hydrateCart = exports.useCart = void 0;
|
|
43
|
+
exports.getWelcomeEmailSubject = exports.renderWelcomeEmail = exports.getEmailVerificationSubject = exports.renderEmailVerification = exports.STYLES = exports.sectionHeading = exports.addressSection = exports.secondaryButton = exports.highlightBox = exports.statusBadge = exports.detailBox = exports.linkFallback = exports.infoBox = exports.paragraph = exports.heading = exports.primaryButton = exports.baseLayout = exports.formatOrderNumber = exports.emailFooter = exports.emailButton = exports.escapeHtml = exports.formatAddressHtml = exports.formatAddressLine = exports.formatEmailPrice = exports.formatDateTime = exports.formatEmailDate = exports.sendEmailBatch = exports.sendEmailAsync = exports.sendEmail = exports.getSupportEmail = exports.getEmailConfig = exports.getStoreUrl = exports.getStoreName = exports.getFromEmail = exports.getResend = exports.StoreSettings = exports.RefundDialog = exports.OrderDetails = exports.OrderTable = exports.InventoryEditor = exports.ProductForm = exports.ProductTable = exports.LowStockAlert = exports.RecentOrders = exports.StatsCards = exports.AdminHeader = exports.AdminNav = exports.AdminLayout = exports.AdminLoginForm = exports.AdminGuard = void 0;
|
|
44
|
+
exports.sendRefundProcessedAsync = exports.sendRefundProcessed = exports.sendOrderCancelledAsync = exports.sendOrderCancelled = exports.sendOrderDeliveredAsync = exports.sendOrderDelivered = exports.sendOrderShippedAsync = exports.sendOrderShipped = exports.sendOrderConfirmationAsync = exports.sendOrderConfirmation = exports.sendPasswordResetEmailAsync = exports.sendPasswordResetEmail = exports.sendWelcomeEmailAsync = exports.sendWelcomeEmail = exports.sendVerificationEmailAsync = exports.sendVerificationEmail = exports.getRefundProcessedSubject = exports.renderRefundProcessed = exports.getOrderCancelledSubject = exports.renderOrderCancelled = exports.getOrderDeliveredSubject = exports.renderOrderDelivered = exports.getOrderShippedSubject = exports.renderOrderShipped = exports.getOrderConfirmationSubject = exports.renderOrderConfirmation = exports.getPasswordResetSubject = exports.renderPasswordResetEmail = void 0;
|
|
45
45
|
// Re-export all modules
|
|
46
46
|
// Note: Cart module has a CartItem component that shares name with CartItem type from core.
|
|
47
47
|
// Import from specific module paths to avoid conflicts: '@rovela/sdk/cart' or '@rovela/sdk/core'
|
|
@@ -108,28 +108,7 @@ Object.defineProperty(exports, "findAdminById", { enumerable: true, get: functio
|
|
|
108
108
|
Object.defineProperty(exports, "updateAdmin", { enumerable: true, get: function () { return admin_1.updateAdmin; } });
|
|
109
109
|
Object.defineProperty(exports, "adminEmailExists", { enumerable: true, get: function () { return admin_1.adminEmailExists; } });
|
|
110
110
|
Object.defineProperty(exports, "countAdmins", { enumerable: true, get: function () { return admin_1.countAdmins; } });
|
|
111
|
-
// API handlers
|
|
112
|
-
Object.defineProperty(exports, "createAdminAuthHandlers", { enumerable: true, get: function () { return admin_1.createAdminAuthHandlers; } });
|
|
113
|
-
Object.defineProperty(exports, "getAdminProducts", { enumerable: true, get: function () { return admin_1.getProducts; } });
|
|
114
|
-
Object.defineProperty(exports, "createProductHandler", { enumerable: true, get: function () { return admin_1.createProductHandler; } });
|
|
115
|
-
Object.defineProperty(exports, "getAdminProduct", { enumerable: true, get: function () { return admin_1.getProduct; } });
|
|
116
|
-
Object.defineProperty(exports, "updateProductHandler", { enumerable: true, get: function () { return admin_1.updateProductHandler; } });
|
|
117
|
-
Object.defineProperty(exports, "deleteProductHandler", { enumerable: true, get: function () { return admin_1.deleteProductHandler; } });
|
|
118
|
-
Object.defineProperty(exports, "addVariant", { enumerable: true, get: function () { return admin_1.addVariant; } });
|
|
119
|
-
Object.defineProperty(exports, "updateVariantHandler", { enumerable: true, get: function () { return admin_1.updateVariantHandler; } });
|
|
120
|
-
Object.defineProperty(exports, "deleteVariantHandler", { enumerable: true, get: function () { return admin_1.deleteVariantHandler; } });
|
|
121
|
-
Object.defineProperty(exports, "getAdminOrders", { enumerable: true, get: function () { return admin_1.getOrders; } });
|
|
122
|
-
Object.defineProperty(exports, "getAdminOrder", { enumerable: true, get: function () { return admin_1.getOrder; } });
|
|
123
|
-
Object.defineProperty(exports, "updateOrder", { enumerable: true, get: function () { return admin_1.updateOrder; } });
|
|
124
|
-
Object.defineProperty(exports, "processRefundHandler", { enumerable: true, get: function () { return admin_1.processRefundHandler; } });
|
|
125
|
-
Object.defineProperty(exports, "getStats", { enumerable: true, get: function () { return admin_1.getStats; } });
|
|
126
|
-
Object.defineProperty(exports, "getAdminCategories", { enumerable: true, get: function () { return admin_1.getCategories; } });
|
|
127
|
-
Object.defineProperty(exports, "createCategoryHandler", { enumerable: true, get: function () { return admin_1.createCategoryHandler; } });
|
|
128
|
-
Object.defineProperty(exports, "getAdminCategory", { enumerable: true, get: function () { return admin_1.getCategory; } });
|
|
129
|
-
Object.defineProperty(exports, "updateCategoryHandler", { enumerable: true, get: function () { return admin_1.updateCategoryHandler; } });
|
|
130
|
-
Object.defineProperty(exports, "deleteCategoryHandler", { enumerable: true, get: function () { return admin_1.deleteCategoryHandler; } });
|
|
131
|
-
Object.defineProperty(exports, "getAdminCustomers", { enumerable: true, get: function () { return admin_1.getCustomers; } });
|
|
132
|
-
Object.defineProperty(exports, "getAdminCustomer", { enumerable: true, get: function () { return admin_1.getCustomer; } });
|
|
111
|
+
// NOTE: For API handlers, import from '@rovela-ai/sdk/admin/api' instead
|
|
133
112
|
// Hooks
|
|
134
113
|
Object.defineProperty(exports, "useAdminAuth", { enumerable: true, get: function () { return admin_1.useAdminAuth; } });
|
|
135
114
|
Object.defineProperty(exports, "useAdminStats", { enumerable: true, get: function () { return admin_1.useAdminStats; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;;;;;;;;;;;;;;;;;AAEH,wBAAwB;AACxB,4FAA4F;AAC5F,iGAAiG;AACjG,yCAAuB;AACvB,0CAAwB;AACxB,6CAA2B;AAC3B,0EAA0E;AAC1E,+BAYgB;AAXd,+FAAA,OAAO,OAAA;AACP,mGAAA,WAAW,OAAA;AACX,sGAAA,cAAc,OAAA;AACd,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,kGAAA,UAAU,OAAA;AACV,oGAAA,QAAQ,OAAgB;AACxB,mGAAA,WAAW,OAAA;AACX,gGAAA,QAAQ,OAAA;AACR,uGAAA,eAAe,OAAA;AACf,wGAAA,gBAAgB,OAAA;AAelB,oFAAoF;AACpF,uCA0BoB;AAzBlB,aAAa;AACb,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,QAAQ;AACR,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,mBAAmB;AACnB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,mHAAA,uBAAuB,OAAA;AACvB,yHAAA,6BAA6B,OAAA;AAC7B,wGAAA,YAAY,OAAA;AACZ,+GAAA,mBAAmB,OAAA;AACnB,mBAAmB;AACnB,qGAAA,SAAS,OAAA;AACT,iHAAA,qBAAqB,OAAA;AACrB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,uHAAA,2BAA2B,OAAA;AAC3B,6GAAA,iBAAiB,OAAA;AAoBnB,yCAAuB;AAEvB,oFAAoF;AACpF,iGAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|