@rovela-ai/sdk 0.4.1 → 0.4.2

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 (922) hide show
  1. package/dist/admin/api/accept-invite.d.ts +65 -0
  2. package/dist/admin/api/accept-invite.d.ts.map +1 -0
  3. package/dist/admin/api/accept-invite.js +115 -0
  4. package/dist/admin/api/accept-invite.js.map +1 -0
  5. package/dist/admin/api/categories.d.ts +68 -0
  6. package/dist/admin/api/categories.d.ts.map +1 -0
  7. package/dist/admin/api/categories.js +266 -0
  8. package/dist/admin/api/categories.js.map +1 -0
  9. package/dist/admin/api/check.d.ts +38 -0
  10. package/dist/admin/api/check.d.ts.map +1 -0
  11. package/dist/admin/api/check.js +49 -0
  12. package/dist/admin/api/check.js.map +1 -0
  13. package/dist/admin/api/customers.d.ts +77 -0
  14. package/dist/admin/api/customers.d.ts.map +1 -0
  15. package/dist/admin/api/customers.js +219 -0
  16. package/dist/admin/api/customers.js.map +1 -0
  17. package/dist/admin/api/forgot-password.d.ts +39 -0
  18. package/dist/admin/api/forgot-password.d.ts.map +1 -0
  19. package/dist/admin/api/forgot-password.js +66 -0
  20. package/dist/admin/api/forgot-password.js.map +1 -0
  21. package/dist/admin/api/index.d.ts +109 -0
  22. package/dist/admin/api/index.d.ts.map +1 -0
  23. package/dist/admin/api/index.js +128 -0
  24. package/dist/admin/api/index.js.map +1 -0
  25. package/dist/admin/api/linked-customer.d.ts +32 -0
  26. package/dist/admin/api/linked-customer.d.ts.map +1 -0
  27. package/dist/admin/api/linked-customer.js +45 -0
  28. package/dist/admin/api/linked-customer.js.map +1 -0
  29. package/dist/admin/api/me.d.ts +72 -0
  30. package/dist/admin/api/me.d.ts.map +1 -0
  31. package/dist/admin/api/me.js +177 -0
  32. package/dist/admin/api/me.js.map +1 -0
  33. package/dist/admin/api/orders.d.ts +91 -0
  34. package/dist/admin/api/orders.d.ts.map +1 -0
  35. package/dist/admin/api/orders.js +390 -0
  36. package/dist/admin/api/orders.js.map +1 -0
  37. package/dist/admin/api/products-bulk.d.ts +38 -0
  38. package/dist/admin/api/products-bulk.d.ts.map +1 -0
  39. package/dist/admin/api/products-bulk.js +135 -0
  40. package/dist/admin/api/products-bulk.js.map +1 -0
  41. package/dist/admin/api/products-stats.d.ts +34 -0
  42. package/dist/admin/api/products-stats.d.ts.map +1 -0
  43. package/dist/admin/api/products-stats.js +43 -0
  44. package/dist/admin/api/products-stats.js.map +1 -0
  45. package/dist/admin/api/products.d.ts +104 -0
  46. package/dist/admin/api/products.d.ts.map +1 -0
  47. package/dist/admin/api/products.js +491 -0
  48. package/dist/admin/api/products.js.map +1 -0
  49. package/dist/admin/api/refund.d.ts +29 -0
  50. package/dist/admin/api/refund.d.ts.map +1 -0
  51. package/dist/admin/api/refund.js +142 -0
  52. package/dist/admin/api/refund.js.map +1 -0
  53. package/dist/admin/api/reset-password.d.ts +49 -0
  54. package/dist/admin/api/reset-password.d.ts.map +1 -0
  55. package/dist/admin/api/reset-password.js +99 -0
  56. package/dist/admin/api/reset-password.js.map +1 -0
  57. package/dist/admin/api/return.d.ts +47 -0
  58. package/dist/admin/api/return.d.ts.map +1 -0
  59. package/dist/admin/api/return.js +186 -0
  60. package/dist/admin/api/return.js.map +1 -0
  61. package/dist/admin/api/settings.d.ts +49 -0
  62. package/dist/admin/api/settings.d.ts.map +1 -0
  63. package/dist/admin/api/settings.js +201 -0
  64. package/dist/admin/api/settings.js.map +1 -0
  65. package/dist/admin/api/setup-guide.d.ts +78 -0
  66. package/dist/admin/api/setup-guide.d.ts.map +1 -0
  67. package/dist/admin/api/setup-guide.js +235 -0
  68. package/dist/admin/api/setup-guide.js.map +1 -0
  69. package/dist/admin/api/setup.d.ts +60 -0
  70. package/dist/admin/api/setup.d.ts.map +1 -0
  71. package/dist/admin/api/setup.js +126 -0
  72. package/dist/admin/api/setup.js.map +1 -0
  73. package/dist/admin/api/shipping.d.ts +287 -0
  74. package/dist/admin/api/shipping.d.ts.map +1 -0
  75. package/dist/admin/api/shipping.js +746 -0
  76. package/dist/admin/api/shipping.js.map +1 -0
  77. package/dist/admin/api/stats.d.ts +43 -0
  78. package/dist/admin/api/stats.d.ts.map +1 -0
  79. package/dist/admin/api/stats.js +92 -0
  80. package/dist/admin/api/stats.js.map +1 -0
  81. package/dist/admin/api/stripe-status.d.ts +39 -0
  82. package/dist/admin/api/stripe-status.d.ts.map +1 -0
  83. package/dist/admin/api/stripe-status.js +99 -0
  84. package/dist/admin/api/stripe-status.js.map +1 -0
  85. package/dist/admin/api/tax-zones.d.ts +97 -0
  86. package/dist/admin/api/tax-zones.d.ts.map +1 -0
  87. package/dist/admin/api/tax-zones.js +265 -0
  88. package/dist/admin/api/tax-zones.js.map +1 -0
  89. package/dist/admin/api/users.d.ts +142 -0
  90. package/dist/admin/api/users.d.ts.map +1 -0
  91. package/dist/admin/api/users.js +355 -0
  92. package/dist/admin/api/users.js.map +1 -0
  93. package/dist/admin/components/AdminAcceptInviteForm.d.ts +3 -0
  94. package/dist/admin/components/AdminAcceptInviteForm.d.ts.map +1 -0
  95. package/dist/admin/components/AdminAcceptInviteForm.js +137 -0
  96. package/dist/admin/components/AdminAcceptInviteForm.js.map +1 -0
  97. package/dist/admin/components/AdminAccountPage.d.ts +10 -0
  98. package/dist/admin/components/AdminAccountPage.d.ts.map +1 -0
  99. package/dist/admin/components/AdminAccountPage.js +126 -0
  100. package/dist/admin/components/AdminAccountPage.js.map +1 -0
  101. package/dist/admin/components/AdminBarBanner.d.ts +2 -0
  102. package/dist/admin/components/AdminBarBanner.d.ts.map +1 -0
  103. package/dist/admin/components/AdminBarBanner.js +266 -0
  104. package/dist/admin/components/AdminBarBanner.js.map +1 -0
  105. package/dist/admin/components/AdminForgotPasswordForm.d.ts +8 -0
  106. package/dist/admin/components/AdminForgotPasswordForm.d.ts.map +1 -0
  107. package/dist/admin/components/AdminForgotPasswordForm.js +59 -0
  108. package/dist/admin/components/AdminForgotPasswordForm.js.map +1 -0
  109. package/dist/admin/components/AdminGuard.d.ts +40 -0
  110. package/dist/admin/components/AdminGuard.d.ts.map +1 -0
  111. package/dist/admin/components/AdminGuard.js +94 -0
  112. package/dist/admin/components/AdminGuard.js.map +1 -0
  113. package/dist/admin/components/AdminLayout.d.ts +40 -0
  114. package/dist/admin/components/AdminLayout.d.ts.map +1 -0
  115. package/dist/admin/components/AdminLayout.js +39 -0
  116. package/dist/admin/components/AdminLayout.js.map +1 -0
  117. package/dist/admin/components/AdminLoginForm.d.ts +18 -0
  118. package/dist/admin/components/AdminLoginForm.d.ts.map +1 -0
  119. package/dist/admin/components/AdminLoginForm.js +61 -0
  120. package/dist/admin/components/AdminLoginForm.js.map +1 -0
  121. package/dist/admin/components/AdminNav.d.ts +44 -0
  122. package/dist/admin/components/AdminNav.d.ts.map +1 -0
  123. package/dist/admin/components/AdminNav.js +175 -0
  124. package/dist/admin/components/AdminNav.js.map +1 -0
  125. package/dist/admin/components/AdminResetPasswordForm.d.ts +12 -0
  126. package/dist/admin/components/AdminResetPasswordForm.d.ts.map +1 -0
  127. package/dist/admin/components/AdminResetPasswordForm.js +134 -0
  128. package/dist/admin/components/AdminResetPasswordForm.js.map +1 -0
  129. package/dist/admin/components/AdminSelect.d.ts +47 -0
  130. package/dist/admin/components/AdminSelect.d.ts.map +1 -0
  131. package/dist/admin/components/AdminSelect.js +71 -0
  132. package/dist/admin/components/AdminSelect.js.map +1 -0
  133. package/dist/admin/components/AdminToast.d.ts +31 -0
  134. package/dist/admin/components/AdminToast.d.ts.map +1 -0
  135. package/dist/admin/components/AdminToast.js +83 -0
  136. package/dist/admin/components/AdminToast.js.map +1 -0
  137. package/dist/admin/components/AdminUserMenu.d.ts +14 -0
  138. package/dist/admin/components/AdminUserMenu.d.ts.map +1 -0
  139. package/dist/admin/components/AdminUserMenu.js +34 -0
  140. package/dist/admin/components/AdminUserMenu.js.map +1 -0
  141. package/dist/admin/components/CategoryForm.d.ts +30 -0
  142. package/dist/admin/components/CategoryForm.d.ts.map +1 -0
  143. package/dist/admin/components/CategoryForm.js +152 -0
  144. package/dist/admin/components/CategoryForm.js.map +1 -0
  145. package/dist/admin/components/CategorySelect.d.ts +32 -0
  146. package/dist/admin/components/CategorySelect.d.ts.map +1 -0
  147. package/dist/admin/components/CategorySelect.js +139 -0
  148. package/dist/admin/components/CategorySelect.js.map +1 -0
  149. package/dist/admin/components/CustomerDetails.d.ts +15 -0
  150. package/dist/admin/components/CustomerDetails.d.ts.map +1 -0
  151. package/dist/admin/components/CustomerDetails.js +177 -0
  152. package/dist/admin/components/CustomerDetails.js.map +1 -0
  153. package/dist/admin/components/CustomerTable.d.ts +13 -0
  154. package/dist/admin/components/CustomerTable.d.ts.map +1 -0
  155. package/dist/admin/components/CustomerTable.js +112 -0
  156. package/dist/admin/components/CustomerTable.js.map +1 -0
  157. package/dist/admin/components/DeleteConfirmDialog.d.ts +56 -0
  158. package/dist/admin/components/DeleteConfirmDialog.d.ts.map +1 -0
  159. package/dist/admin/components/DeleteConfirmDialog.js +46 -0
  160. package/dist/admin/components/DeleteConfirmDialog.js.map +1 -0
  161. package/dist/admin/components/ExampleContentBanner.d.ts +2 -0
  162. package/dist/admin/components/ExampleContentBanner.d.ts.map +1 -0
  163. package/dist/admin/components/ExampleContentBanner.js +153 -0
  164. package/dist/admin/components/ExampleContentBanner.js.map +1 -0
  165. package/dist/admin/components/InventoryEditor.d.ts +15 -0
  166. package/dist/admin/components/InventoryEditor.d.ts.map +1 -0
  167. package/dist/admin/components/InventoryEditor.js +86 -0
  168. package/dist/admin/components/InventoryEditor.js.map +1 -0
  169. package/dist/admin/components/InviteUserDialog.d.ts +3 -0
  170. package/dist/admin/components/InviteUserDialog.d.ts.map +1 -0
  171. package/dist/admin/components/InviteUserDialog.js +126 -0
  172. package/dist/admin/components/InviteUserDialog.js.map +1 -0
  173. package/dist/admin/components/LogoUpload.d.ts +22 -0
  174. package/dist/admin/components/LogoUpload.d.ts.map +1 -0
  175. package/dist/admin/components/LogoUpload.js +210 -0
  176. package/dist/admin/components/LogoUpload.js.map +1 -0
  177. package/dist/admin/components/LowStockAlert.d.ts +11 -0
  178. package/dist/admin/components/LowStockAlert.d.ts.map +1 -0
  179. package/dist/admin/components/LowStockAlert.js +33 -0
  180. package/dist/admin/components/LowStockAlert.js.map +1 -0
  181. package/dist/admin/components/OrderDetails.d.ts +14 -0
  182. package/dist/admin/components/OrderDetails.d.ts.map +1 -0
  183. package/dist/admin/components/OrderDetails.js +210 -0
  184. package/dist/admin/components/OrderDetails.js.map +1 -0
  185. package/dist/admin/components/OrderStatusChart.d.ts +21 -0
  186. package/dist/admin/components/OrderStatusChart.d.ts.map +1 -0
  187. package/dist/admin/components/OrderStatusChart.js +61 -0
  188. package/dist/admin/components/OrderStatusChart.js.map +1 -0
  189. package/dist/admin/components/OrderTable.d.ts +13 -0
  190. package/dist/admin/components/OrderTable.d.ts.map +1 -0
  191. package/dist/admin/components/OrderTable.js +117 -0
  192. package/dist/admin/components/OrderTable.js.map +1 -0
  193. package/dist/admin/components/PaymentSettings.d.ts +13 -0
  194. package/dist/admin/components/PaymentSettings.d.ts.map +1 -0
  195. package/dist/admin/components/PaymentSettings.js +117 -0
  196. package/dist/admin/components/PaymentSettings.js.map +1 -0
  197. package/dist/admin/components/PeriodSelector.d.ts +9 -0
  198. package/dist/admin/components/PeriodSelector.d.ts.map +1 -0
  199. package/dist/admin/components/PeriodSelector.js +19 -0
  200. package/dist/admin/components/PeriodSelector.js.map +1 -0
  201. package/dist/admin/components/PermissionsMatrix.d.ts +8 -0
  202. package/dist/admin/components/PermissionsMatrix.d.ts.map +1 -0
  203. package/dist/admin/components/PermissionsMatrix.js +70 -0
  204. package/dist/admin/components/PermissionsMatrix.js.map +1 -0
  205. package/dist/admin/components/PrimaryMetricsRow.d.ts +11 -0
  206. package/dist/admin/components/PrimaryMetricsRow.d.ts.map +1 -0
  207. package/dist/admin/components/PrimaryMetricsRow.js +73 -0
  208. package/dist/admin/components/PrimaryMetricsRow.js.map +1 -0
  209. package/dist/admin/components/ProductForm.d.ts +18 -0
  210. package/dist/admin/components/ProductForm.d.ts.map +1 -0
  211. package/dist/admin/components/ProductForm.js +251 -0
  212. package/dist/admin/components/ProductForm.js.map +1 -0
  213. package/dist/admin/components/ProductTable.d.ts +14 -0
  214. package/dist/admin/components/ProductTable.d.ts.map +1 -0
  215. package/dist/admin/components/ProductTable.js +384 -0
  216. package/dist/admin/components/ProductTable.js.map +1 -0
  217. package/dist/admin/components/RecentOrders.d.ts +11 -0
  218. package/dist/admin/components/RecentOrders.d.ts.map +1 -0
  219. package/dist/admin/components/RecentOrders.js +63 -0
  220. package/dist/admin/components/RecentOrders.js.map +1 -0
  221. package/dist/admin/components/RefundDialog.d.ts +17 -0
  222. package/dist/admin/components/RefundDialog.d.ts.map +1 -0
  223. package/dist/admin/components/RefundDialog.js +90 -0
  224. package/dist/admin/components/RefundDialog.js.map +1 -0
  225. package/dist/admin/components/RevenueChart.d.ts +23 -0
  226. package/dist/admin/components/RevenueChart.d.ts.map +1 -0
  227. package/dist/admin/components/RevenueChart.js +75 -0
  228. package/dist/admin/components/RevenueChart.js.map +1 -0
  229. package/dist/admin/components/SEOPreview.d.ts +33 -0
  230. package/dist/admin/components/SEOPreview.d.ts.map +1 -0
  231. package/dist/admin/components/SEOPreview.js +30 -0
  232. package/dist/admin/components/SEOPreview.js.map +1 -0
  233. package/dist/admin/components/SecondaryMetricsRow.d.ts +14 -0
  234. package/dist/admin/components/SecondaryMetricsRow.d.ts.map +1 -0
  235. package/dist/admin/components/SecondaryMetricsRow.js +45 -0
  236. package/dist/admin/components/SecondaryMetricsRow.js.map +1 -0
  237. package/dist/admin/components/SetupGuide.d.ts +4 -0
  238. package/dist/admin/components/SetupGuide.d.ts.map +1 -0
  239. package/dist/admin/components/SetupGuide.js +244 -0
  240. package/dist/admin/components/SetupGuide.js.map +1 -0
  241. package/dist/admin/components/ShippingSettings.d.ts +3 -0
  242. package/dist/admin/components/ShippingSettings.d.ts.map +1 -0
  243. package/dist/admin/components/ShippingSettings.js +553 -0
  244. package/dist/admin/components/ShippingSettings.js.map +1 -0
  245. package/dist/admin/components/StatsCards.d.ts +18 -0
  246. package/dist/admin/components/StatsCards.d.ts.map +1 -0
  247. package/dist/admin/components/StatsCards.js +71 -0
  248. package/dist/admin/components/StatsCards.js.map +1 -0
  249. package/dist/admin/components/StoreSettings.d.ts +19 -0
  250. package/dist/admin/components/StoreSettings.d.ts.map +1 -0
  251. package/dist/admin/components/StoreSettings.js +149 -0
  252. package/dist/admin/components/StoreSettings.js.map +1 -0
  253. package/dist/admin/components/TagInput.d.ts +29 -0
  254. package/dist/admin/components/TagInput.d.ts.map +1 -0
  255. package/dist/admin/components/TagInput.js +69 -0
  256. package/dist/admin/components/TagInput.js.map +1 -0
  257. package/dist/admin/components/TaxSettings.d.ts +12 -0
  258. package/dist/admin/components/TaxSettings.d.ts.map +1 -0
  259. package/dist/admin/components/TaxSettings.js +272 -0
  260. package/dist/admin/components/TaxSettings.js.map +1 -0
  261. package/dist/admin/components/UsersTable.d.ts +3 -0
  262. package/dist/admin/components/UsersTable.d.ts.map +1 -0
  263. package/dist/admin/components/UsersTable.js +388 -0
  264. package/dist/admin/components/UsersTable.js.map +1 -0
  265. package/dist/admin/components/VariantManager.d.ts +44 -0
  266. package/dist/admin/components/VariantManager.d.ts.map +1 -0
  267. package/dist/admin/components/VariantManager.js +324 -0
  268. package/dist/admin/components/VariantManager.js.map +1 -0
  269. package/dist/admin/components/index.d.ts +69 -0
  270. package/dist/admin/components/index.d.ts.map +1 -0
  271. package/dist/admin/components/index.js +86 -0
  272. package/dist/admin/components/index.js.map +1 -0
  273. package/dist/admin/config.d.ts +51 -0
  274. package/dist/admin/config.d.ts.map +1 -0
  275. package/dist/admin/config.js +224 -0
  276. package/dist/admin/config.js.map +1 -0
  277. package/dist/admin/hooks/fetchAdminApi.d.ts +65 -0
  278. package/dist/admin/hooks/fetchAdminApi.d.ts.map +1 -0
  279. package/dist/admin/hooks/fetchAdminApi.js +96 -0
  280. package/dist/admin/hooks/fetchAdminApi.js.map +1 -0
  281. package/dist/admin/hooks/index.d.ts +24 -0
  282. package/dist/admin/hooks/index.d.ts.map +1 -0
  283. package/dist/admin/hooks/index.js +19 -0
  284. package/dist/admin/hooks/index.js.map +1 -0
  285. package/dist/admin/hooks/useAdminAuth.d.ts +25 -0
  286. package/dist/admin/hooks/useAdminAuth.d.ts.map +1 -0
  287. package/dist/admin/hooks/useAdminAuth.js +183 -0
  288. package/dist/admin/hooks/useAdminAuth.js.map +1 -0
  289. package/dist/admin/hooks/useAdminCategories.d.ts +9 -0
  290. package/dist/admin/hooks/useAdminCategories.d.ts.map +1 -0
  291. package/dist/admin/hooks/useAdminCategories.js +112 -0
  292. package/dist/admin/hooks/useAdminCategories.js.map +1 -0
  293. package/dist/admin/hooks/useAdminCustomers.d.ts +3 -0
  294. package/dist/admin/hooks/useAdminCustomers.d.ts.map +1 -0
  295. package/dist/admin/hooks/useAdminCustomers.js +110 -0
  296. package/dist/admin/hooks/useAdminCustomers.js.map +1 -0
  297. package/dist/admin/hooks/useAdminMe.d.ts +31 -0
  298. package/dist/admin/hooks/useAdminMe.d.ts.map +1 -0
  299. package/dist/admin/hooks/useAdminMe.js +78 -0
  300. package/dist/admin/hooks/useAdminMe.js.map +1 -0
  301. package/dist/admin/hooks/useAdminOrders.d.ts +3 -0
  302. package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
  303. package/dist/admin/hooks/useAdminOrders.js +118 -0
  304. package/dist/admin/hooks/useAdminOrders.js.map +1 -0
  305. package/dist/admin/hooks/useAdminPermissions.d.ts +3 -0
  306. package/dist/admin/hooks/useAdminPermissions.d.ts.map +1 -0
  307. package/dist/admin/hooks/useAdminPermissions.js +51 -0
  308. package/dist/admin/hooks/useAdminPermissions.js.map +1 -0
  309. package/dist/admin/hooks/useAdminProductMetrics.d.ts +3 -0
  310. package/dist/admin/hooks/useAdminProductMetrics.d.ts.map +1 -0
  311. package/dist/admin/hooks/useAdminProductMetrics.js +32 -0
  312. package/dist/admin/hooks/useAdminProductMetrics.js.map +1 -0
  313. package/dist/admin/hooks/useAdminProducts.d.ts +3 -0
  314. package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
  315. package/dist/admin/hooks/useAdminProducts.js +132 -0
  316. package/dist/admin/hooks/useAdminProducts.js.map +1 -0
  317. package/dist/admin/hooks/useAdminSession.d.ts +23 -0
  318. package/dist/admin/hooks/useAdminSession.d.ts.map +1 -0
  319. package/dist/admin/hooks/useAdminSession.js +117 -0
  320. package/dist/admin/hooks/useAdminSession.js.map +1 -0
  321. package/dist/admin/hooks/useAdminStats.d.ts +47 -0
  322. package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
  323. package/dist/admin/hooks/useAdminStats.js +128 -0
  324. package/dist/admin/hooks/useAdminStats.js.map +1 -0
  325. package/dist/admin/hooks/useAdminUsers.d.ts +3 -0
  326. package/dist/admin/hooks/useAdminUsers.d.ts.map +1 -0
  327. package/dist/admin/hooks/useAdminUsers.js +177 -0
  328. package/dist/admin/hooks/useAdminUsers.js.map +1 -0
  329. package/dist/admin/hooks/useLinkedCustomerStatus.d.ts +3 -0
  330. package/dist/admin/hooks/useLinkedCustomerStatus.d.ts.map +1 -0
  331. package/dist/admin/hooks/useLinkedCustomerStatus.js +48 -0
  332. package/dist/admin/hooks/useLinkedCustomerStatus.js.map +1 -0
  333. package/dist/admin/hooks/useSetupGuide.d.ts +45 -0
  334. package/dist/admin/hooks/useSetupGuide.d.ts.map +1 -0
  335. package/dist/admin/hooks/useSetupGuide.js +60 -0
  336. package/dist/admin/hooks/useSetupGuide.js.map +1 -0
  337. package/dist/admin/index.d.ts +66 -0
  338. package/dist/admin/index.d.ts.map +1 -0
  339. package/dist/admin/index.js +144 -0
  340. package/dist/admin/index.js.map +1 -0
  341. package/dist/admin/permissions.d.ts +79 -0
  342. package/dist/admin/permissions.d.ts.map +1 -0
  343. package/dist/admin/permissions.js +182 -0
  344. package/dist/admin/permissions.js.map +1 -0
  345. package/dist/admin/server/admin-invite.d.ts +122 -0
  346. package/dist/admin/server/admin-invite.d.ts.map +1 -0
  347. package/dist/admin/server/admin-invite.js +235 -0
  348. package/dist/admin/server/admin-invite.js.map +1 -0
  349. package/dist/admin/server/admin-password-reset.d.ts +87 -0
  350. package/dist/admin/server/admin-password-reset.d.ts.map +1 -0
  351. package/dist/admin/server/admin-password-reset.js +220 -0
  352. package/dist/admin/server/admin-password-reset.js.map +1 -0
  353. package/dist/admin/server/admin-self-service.d.ts +86 -0
  354. package/dist/admin/server/admin-self-service.d.ts.map +1 -0
  355. package/dist/admin/server/admin-self-service.js +188 -0
  356. package/dist/admin/server/admin-self-service.js.map +1 -0
  357. package/dist/admin/server/admin-service.d.ts +131 -0
  358. package/dist/admin/server/admin-service.d.ts.map +1 -0
  359. package/dist/admin/server/admin-service.js +278 -0
  360. package/dist/admin/server/admin-service.js.map +1 -0
  361. package/dist/admin/server/admin-session.d.ts +173 -0
  362. package/dist/admin/server/admin-session.d.ts.map +1 -0
  363. package/dist/admin/server/admin-session.js +272 -0
  364. package/dist/admin/server/admin-session.js.map +1 -0
  365. package/dist/admin/server/index.d.ts +17 -0
  366. package/dist/admin/server/index.d.ts.map +1 -0
  367. package/dist/admin/server/index.js +39 -0
  368. package/dist/admin/server/index.js.map +1 -0
  369. package/dist/admin/server/user-management.d.ts +221 -0
  370. package/dist/admin/server/user-management.d.ts.map +1 -0
  371. package/dist/admin/server/user-management.js +838 -0
  372. package/dist/admin/server/user-management.js.map +1 -0
  373. package/dist/admin/types.d.ts +1161 -0
  374. package/dist/admin/types.d.ts.map +1 -0
  375. package/dist/admin/types.js +10 -0
  376. package/dist/admin/types.js.map +1 -0
  377. package/dist/auth/api/forgot-password.d.ts +41 -0
  378. package/dist/auth/api/forgot-password.d.ts.map +1 -0
  379. package/dist/auth/api/forgot-password.js +65 -0
  380. package/dist/auth/api/forgot-password.js.map +1 -0
  381. package/dist/auth/api/index.d.ts +37 -0
  382. package/dist/auth/api/index.d.ts.map +1 -0
  383. package/dist/auth/api/index.js +44 -0
  384. package/dist/auth/api/index.js.map +1 -0
  385. package/dist/auth/api/register.d.ts +41 -0
  386. package/dist/auth/api/register.d.ts.map +1 -0
  387. package/dist/auth/api/register.js +99 -0
  388. package/dist/auth/api/register.js.map +1 -0
  389. package/dist/auth/api/request-refund.d.ts +38 -0
  390. package/dist/auth/api/request-refund.d.ts.map +1 -0
  391. package/dist/auth/api/request-refund.js +142 -0
  392. package/dist/auth/api/request-refund.js.map +1 -0
  393. package/dist/auth/api/request-return.d.ts +39 -0
  394. package/dist/auth/api/request-return.d.ts.map +1 -0
  395. package/dist/auth/api/request-return.js +109 -0
  396. package/dist/auth/api/request-return.js.map +1 -0
  397. package/dist/auth/api/resend-verification.d.ts +41 -0
  398. package/dist/auth/api/resend-verification.d.ts.map +1 -0
  399. package/dist/auth/api/resend-verification.js +68 -0
  400. package/dist/auth/api/resend-verification.js.map +1 -0
  401. package/dist/auth/api/reset-password.d.ts +67 -0
  402. package/dist/auth/api/reset-password.d.ts.map +1 -0
  403. package/dist/auth/api/reset-password.js +106 -0
  404. package/dist/auth/api/reset-password.js.map +1 -0
  405. package/dist/auth/api/verify-email.d.ts +47 -0
  406. package/dist/auth/api/verify-email.d.ts.map +1 -0
  407. package/dist/auth/api/verify-email.js +90 -0
  408. package/dist/auth/api/verify-email.js.map +1 -0
  409. package/dist/auth/components/AuthGuard.d.ts +52 -0
  410. package/dist/auth/components/AuthGuard.d.ts.map +1 -0
  411. package/dist/auth/components/AuthGuard.js +109 -0
  412. package/dist/auth/components/AuthGuard.js.map +1 -0
  413. package/dist/auth/components/ForgotPasswordForm.d.ts +15 -0
  414. package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -0
  415. package/dist/auth/components/ForgotPasswordForm.js +43 -0
  416. package/dist/auth/components/ForgotPasswordForm.js.map +1 -0
  417. package/dist/auth/components/Label.d.ts +19 -0
  418. package/dist/auth/components/Label.d.ts.map +1 -0
  419. package/dist/auth/components/Label.js +18 -0
  420. package/dist/auth/components/Label.js.map +1 -0
  421. package/dist/auth/components/ResetPasswordForm.d.ts +18 -0
  422. package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -0
  423. package/dist/auth/components/ResetPasswordForm.js +87 -0
  424. package/dist/auth/components/ResetPasswordForm.js.map +1 -0
  425. package/dist/auth/components/SignInForm.d.ts +21 -0
  426. package/dist/auth/components/SignInForm.d.ts.map +1 -0
  427. package/dist/auth/components/SignInForm.js +61 -0
  428. package/dist/auth/components/SignInForm.js.map +1 -0
  429. package/dist/auth/components/SignUpForm.d.ts +18 -0
  430. package/dist/auth/components/SignUpForm.d.ts.map +1 -0
  431. package/dist/auth/components/SignUpForm.js +78 -0
  432. package/dist/auth/components/SignUpForm.js.map +1 -0
  433. package/dist/auth/components/UserMenu.d.ts +18 -0
  434. package/dist/auth/components/UserMenu.d.ts.map +1 -0
  435. package/dist/auth/components/UserMenu.js +73 -0
  436. package/dist/auth/components/UserMenu.js.map +1 -0
  437. package/dist/auth/components/VerifyEmailNotice.d.ts +20 -0
  438. package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -0
  439. package/dist/auth/components/VerifyEmailNotice.js +57 -0
  440. package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
  441. package/dist/auth/components/index.d.ts +15 -0
  442. package/dist/auth/components/index.d.ts.map +1 -0
  443. package/dist/auth/components/index.js +14 -0
  444. package/dist/auth/components/index.js.map +1 -0
  445. package/dist/auth/config.d.ts +52 -0
  446. package/dist/auth/config.d.ts.map +1 -0
  447. package/dist/auth/config.js +243 -0
  448. package/dist/auth/config.js.map +1 -0
  449. package/dist/auth/hooks/index.d.ts +7 -0
  450. package/dist/auth/hooks/index.d.ts.map +1 -0
  451. package/dist/auth/hooks/index.js +7 -0
  452. package/dist/auth/hooks/index.js.map +1 -0
  453. package/dist/auth/hooks/useAuth.d.ts +30 -0
  454. package/dist/auth/hooks/useAuth.d.ts.map +1 -0
  455. package/dist/auth/hooks/useAuth.js +251 -0
  456. package/dist/auth/hooks/useAuth.js.map +1 -0
  457. package/dist/auth/index.d.ts +55 -0
  458. package/dist/auth/index.d.ts.map +1 -0
  459. package/dist/auth/index.js +67 -0
  460. package/dist/auth/index.js.map +1 -0
  461. package/dist/auth/server/customer-service.d.ts +140 -0
  462. package/dist/auth/server/customer-service.d.ts.map +1 -0
  463. package/dist/auth/server/customer-service.js +266 -0
  464. package/dist/auth/server/customer-service.js.map +1 -0
  465. package/dist/auth/server/customer-session.d.ts +79 -0
  466. package/dist/auth/server/customer-session.d.ts.map +1 -0
  467. package/dist/auth/server/customer-session.js +103 -0
  468. package/dist/auth/server/customer-session.js.map +1 -0
  469. package/dist/auth/server/index.d.ts +14 -0
  470. package/dist/auth/server/index.d.ts.map +1 -0
  471. package/dist/auth/server/index.js +17 -0
  472. package/dist/auth/server/index.js.map +1 -0
  473. package/dist/auth/server/password-reset-service.d.ts +87 -0
  474. package/dist/auth/server/password-reset-service.d.ts.map +1 -0
  475. package/dist/auth/server/password-reset-service.js +203 -0
  476. package/dist/auth/server/password-reset-service.js.map +1 -0
  477. package/dist/auth/server/password.d.ts +58 -0
  478. package/dist/auth/server/password.d.ts.map +1 -0
  479. package/dist/auth/server/password.js +85 -0
  480. package/dist/auth/server/password.js.map +1 -0
  481. package/dist/auth/server/verification-service.d.ts +88 -0
  482. package/dist/auth/server/verification-service.d.ts.map +1 -0
  483. package/dist/auth/server/verification-service.js +231 -0
  484. package/dist/auth/server/verification-service.js.map +1 -0
  485. package/dist/auth/types.d.ts +311 -0
  486. package/dist/auth/types.d.ts.map +1 -0
  487. package/dist/auth/types.js +7 -0
  488. package/dist/auth/types.js.map +1 -0
  489. package/dist/cart/CartProvider.d.ts +65 -0
  490. package/dist/cart/CartProvider.d.ts.map +1 -0
  491. package/dist/cart/CartProvider.js +96 -0
  492. package/dist/cart/CartProvider.js.map +1 -0
  493. package/dist/cart/components/AddToCartButton.d.ts +77 -0
  494. package/dist/cart/components/AddToCartButton.d.ts.map +1 -0
  495. package/dist/cart/components/AddToCartButton.js +122 -0
  496. package/dist/cart/components/AddToCartButton.js.map +1 -0
  497. package/dist/cart/components/CartDrawer.d.ts +71 -0
  498. package/dist/cart/components/CartDrawer.d.ts.map +1 -0
  499. package/dist/cart/components/CartDrawer.js +117 -0
  500. package/dist/cart/components/CartDrawer.js.map +1 -0
  501. package/dist/cart/components/CartIcon.d.ts +36 -0
  502. package/dist/cart/components/CartIcon.d.ts.map +1 -0
  503. package/dist/cart/components/CartIcon.js +68 -0
  504. package/dist/cart/components/CartIcon.js.map +1 -0
  505. package/dist/cart/components/CartItem.d.ts +52 -0
  506. package/dist/cart/components/CartItem.d.ts.map +1 -0
  507. package/dist/cart/components/CartItem.js +55 -0
  508. package/dist/cart/components/CartItem.js.map +1 -0
  509. package/dist/cart/components/CartSummary.d.ts +43 -0
  510. package/dist/cart/components/CartSummary.d.ts.map +1 -0
  511. package/dist/cart/components/CartSummary.js +60 -0
  512. package/dist/cart/components/CartSummary.js.map +1 -0
  513. package/dist/cart/components/QuantitySelector.d.ts +39 -0
  514. package/dist/cart/components/QuantitySelector.d.ts.map +1 -0
  515. package/dist/cart/components/QuantitySelector.js +85 -0
  516. package/dist/cart/components/QuantitySelector.js.map +1 -0
  517. package/dist/cart/components/index.d.ts +18 -0
  518. package/dist/cart/components/index.d.ts.map +1 -0
  519. package/dist/cart/components/index.js +12 -0
  520. package/dist/cart/components/index.js.map +1 -0
  521. package/dist/cart/index.d.ts +109 -0
  522. package/dist/cart/index.d.ts.map +1 -0
  523. package/dist/cart/index.js +115 -0
  524. package/dist/cart/index.js.map +1 -0
  525. package/dist/cart/store.d.ts +150 -0
  526. package/dist/cart/store.d.ts.map +1 -0
  527. package/dist/cart/store.js +315 -0
  528. package/dist/cart/store.js.map +1 -0
  529. package/dist/checkout/api/checkout.js +112 -0
  530. package/dist/checkout/api/checkout.js.map +1 -0
  531. package/dist/checkout/api/countries.d.ts +17 -0
  532. package/dist/checkout/api/countries.d.ts.map +1 -0
  533. package/dist/checkout/api/countries.js +38 -0
  534. package/dist/checkout/api/countries.js.map +1 -0
  535. package/dist/checkout/api/index.js +11 -0
  536. package/dist/checkout/api/index.js.map +1 -0
  537. package/dist/checkout/api/payment-status.d.ts +45 -0
  538. package/dist/checkout/api/payment-status.d.ts.map +1 -0
  539. package/dist/checkout/api/payment-status.js +104 -0
  540. package/dist/checkout/api/payment-status.js.map +1 -0
  541. package/dist/checkout/api/shipping.d.ts +34 -0
  542. package/dist/checkout/api/shipping.d.ts.map +1 -0
  543. package/dist/checkout/api/shipping.js +247 -0
  544. package/dist/checkout/api/shipping.js.map +1 -0
  545. package/dist/checkout/api/webhook.js +55 -0
  546. package/dist/checkout/api/webhook.js.map +1 -0
  547. package/dist/checkout/components/CheckoutButton.d.ts +55 -0
  548. package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
  549. package/dist/checkout/components/CheckoutButton.js +132 -0
  550. package/dist/checkout/components/CheckoutButton.js.map +1 -0
  551. package/dist/checkout/components/CheckoutFlow.d.ts +53 -0
  552. package/dist/checkout/components/CheckoutFlow.d.ts.map +1 -0
  553. package/dist/checkout/components/CheckoutFlow.js +286 -0
  554. package/dist/checkout/components/CheckoutFlow.js.map +1 -0
  555. package/dist/checkout/components/CheckoutSuccess.d.ts +29 -0
  556. package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -0
  557. package/dist/checkout/components/CheckoutSuccess.js +49 -0
  558. package/dist/checkout/components/CheckoutSuccess.js.map +1 -0
  559. package/dist/checkout/components/OrderSummary.d.ts +37 -0
  560. package/dist/checkout/components/OrderSummary.d.ts.map +1 -0
  561. package/dist/checkout/components/OrderSummary.js +71 -0
  562. package/dist/checkout/components/OrderSummary.js.map +1 -0
  563. package/dist/checkout/components/ShippingForm.d.ts +30 -0
  564. package/dist/checkout/components/ShippingForm.d.ts.map +1 -0
  565. package/dist/checkout/components/ShippingForm.js +185 -0
  566. package/dist/checkout/components/ShippingForm.js.map +1 -0
  567. package/dist/checkout/components/ShippingOptions.d.ts +51 -0
  568. package/dist/checkout/components/ShippingOptions.d.ts.map +1 -0
  569. package/dist/checkout/components/ShippingOptions.js +93 -0
  570. package/dist/checkout/components/ShippingOptions.js.map +1 -0
  571. package/dist/checkout/components/index.d.ts +12 -0
  572. package/dist/checkout/components/index.d.ts.map +1 -0
  573. package/dist/checkout/components/index.js +12 -0
  574. package/dist/checkout/components/index.js.map +1 -0
  575. package/dist/checkout/constants.d.ts +244 -0
  576. package/dist/checkout/constants.d.ts.map +1 -0
  577. package/dist/checkout/constants.js +119 -0
  578. package/dist/checkout/constants.js.map +1 -0
  579. package/dist/checkout/hooks/index.d.ts +9 -0
  580. package/dist/checkout/hooks/index.d.ts.map +1 -0
  581. package/dist/checkout/hooks/index.js +8 -0
  582. package/dist/checkout/hooks/index.js.map +1 -0
  583. package/dist/checkout/hooks/useCheckout.d.ts +38 -0
  584. package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
  585. package/dist/checkout/hooks/useCheckout.js +134 -0
  586. package/dist/checkout/hooks/useCheckout.js.map +1 -0
  587. package/dist/checkout/hooks/usePaymentStatus.d.ts +42 -0
  588. package/dist/checkout/hooks/usePaymentStatus.d.ts.map +1 -0
  589. package/dist/checkout/hooks/usePaymentStatus.js +71 -0
  590. package/dist/checkout/hooks/usePaymentStatus.js.map +1 -0
  591. package/dist/checkout/index.js +135 -0
  592. package/dist/checkout/index.js.map +1 -0
  593. package/dist/checkout/server/coupons.d.ts +91 -0
  594. package/dist/checkout/server/coupons.d.ts.map +1 -0
  595. package/dist/checkout/server/coupons.js +192 -0
  596. package/dist/checkout/server/coupons.js.map +1 -0
  597. package/dist/checkout/server/index.js +10 -0
  598. package/dist/checkout/server/index.js.map +1 -0
  599. package/dist/checkout/stripe/client.d.ts +74 -0
  600. package/dist/checkout/stripe/client.d.ts.map +1 -0
  601. package/dist/checkout/stripe/client.js +175 -0
  602. package/dist/checkout/stripe/client.js.map +1 -0
  603. package/dist/checkout/stripe/index.d.ts +7 -0
  604. package/dist/checkout/stripe/index.d.ts.map +1 -0
  605. package/dist/checkout/stripe/index.js +7 -0
  606. package/dist/checkout/stripe/index.js.map +1 -0
  607. package/dist/checkout/types.d.ts +489 -0
  608. package/dist/checkout/types.d.ts.map +1 -0
  609. package/dist/checkout/types.js +8 -0
  610. package/dist/checkout/types.js.map +1 -0
  611. package/dist/core/StoreSettingsProvider.d.ts +107 -0
  612. package/dist/core/StoreSettingsProvider.d.ts.map +1 -0
  613. package/dist/core/StoreSettingsProvider.js +200 -0
  614. package/dist/core/StoreSettingsProvider.js.map +1 -0
  615. package/dist/core/api/index.d.ts +7 -0
  616. package/dist/core/api/index.d.ts.map +1 -0
  617. package/dist/core/api/index.js +7 -0
  618. package/dist/core/api/index.js.map +1 -0
  619. package/dist/core/api/settings.d.ts +42 -0
  620. package/dist/core/api/settings.d.ts.map +1 -0
  621. package/dist/core/api/settings.js +74 -0
  622. package/dist/core/api/settings.js.map +1 -0
  623. package/dist/core/config.d.ts +270 -0
  624. package/dist/core/config.d.ts.map +1 -0
  625. package/dist/core/config.js +80 -0
  626. package/dist/core/config.js.map +1 -0
  627. package/dist/core/cookie-consent/CookieBanner.d.ts +2 -0
  628. package/dist/core/cookie-consent/CookieBanner.d.ts.map +1 -0
  629. package/dist/core/cookie-consent/CookieBanner.js +243 -0
  630. package/dist/core/cookie-consent/CookieBanner.js.map +1 -0
  631. package/dist/core/cookie-consent/CookieConsentProvider.d.ts +53 -0
  632. package/dist/core/cookie-consent/CookieConsentProvider.d.ts.map +1 -0
  633. package/dist/core/cookie-consent/CookieConsentProvider.js +162 -0
  634. package/dist/core/cookie-consent/CookieConsentProvider.js.map +1 -0
  635. package/dist/core/cookie-consent/CookiePreferencesLink.d.ts +15 -0
  636. package/dist/core/cookie-consent/CookiePreferencesLink.d.ts.map +1 -0
  637. package/dist/core/cookie-consent/CookiePreferencesLink.js +12 -0
  638. package/dist/core/cookie-consent/CookiePreferencesLink.js.map +1 -0
  639. package/dist/core/cookie-consent/index.d.ts +17 -0
  640. package/dist/core/cookie-consent/index.d.ts.map +1 -0
  641. package/dist/core/cookie-consent/index.js +16 -0
  642. package/dist/core/cookie-consent/index.js.map +1 -0
  643. package/dist/core/cookie-consent/types.d.ts +31 -0
  644. package/dist/core/cookie-consent/types.d.ts.map +1 -0
  645. package/dist/core/cookie-consent/types.js +10 -0
  646. package/dist/core/cookie-consent/types.js.map +1 -0
  647. package/dist/core/cookie-consent/useCookieConsent.d.ts +14 -0
  648. package/dist/core/cookie-consent/useCookieConsent.d.ts.map +1 -0
  649. package/dist/core/cookie-consent/useCookieConsent.js +25 -0
  650. package/dist/core/cookie-consent/useCookieConsent.js.map +1 -0
  651. package/dist/core/db/client.d.ts +39 -0
  652. package/dist/core/db/client.d.ts.map +1 -0
  653. package/dist/core/db/client.js +86 -0
  654. package/dist/core/db/client.js.map +1 -0
  655. package/dist/core/db/index.d.ts +11 -0
  656. package/dist/core/db/index.d.ts.map +1 -0
  657. package/dist/core/db/index.js +36 -0
  658. package/dist/core/db/index.js.map +1 -0
  659. package/dist/core/db/queries.d.ts +1427 -0
  660. package/dist/core/db/queries.d.ts.map +1 -0
  661. package/dist/core/db/queries.js +1932 -0
  662. package/dist/core/db/queries.js.map +1 -0
  663. package/dist/core/db/schema.d.ts +3462 -0
  664. package/dist/core/db/schema.d.ts.map +1 -0
  665. package/dist/core/db/schema.js +495 -0
  666. package/dist/core/db/schema.js.map +1 -0
  667. package/dist/core/index.d.ts +22 -0
  668. package/dist/core/index.d.ts.map +1 -0
  669. package/dist/core/index.js +43 -0
  670. package/dist/core/index.js.map +1 -0
  671. package/dist/core/server/index.d.ts +18 -0
  672. package/dist/core/server/index.d.ts.map +1 -0
  673. package/dist/core/server/index.js +47 -0
  674. package/dist/core/server/index.js.map +1 -0
  675. package/dist/core/types.d.ts +246 -0
  676. package/dist/core/types.d.ts.map +1 -0
  677. package/dist/core/types.js +8 -0
  678. package/dist/core/types.js.map +1 -0
  679. package/dist/core/utils.d.ts +147 -0
  680. package/dist/core/utils.d.ts.map +1 -0
  681. package/dist/core/utils.js +309 -0
  682. package/dist/core/utils.js.map +1 -0
  683. package/dist/emails/config.d.ts +69 -0
  684. package/dist/emails/config.d.ts.map +1 -0
  685. package/dist/emails/config.js +147 -0
  686. package/dist/emails/config.js.map +1 -0
  687. package/dist/emails/index.d.ts +85 -0
  688. package/dist/emails/index.d.ts.map +1 -0
  689. package/dist/emails/index.js +110 -0
  690. package/dist/emails/index.js.map +1 -0
  691. package/dist/emails/send/admin-auth.d.ts +94 -0
  692. package/dist/emails/send/admin-auth.d.ts.map +1 -0
  693. package/dist/emails/send/admin-auth.js +118 -0
  694. package/dist/emails/send/admin-auth.js.map +1 -0
  695. package/dist/emails/send/auth.d.ts +91 -0
  696. package/dist/emails/send/auth.d.ts.map +1 -0
  697. package/dist/emails/send/auth.js +130 -0
  698. package/dist/emails/send/auth.js.map +1 -0
  699. package/dist/emails/send/index.d.ts +12 -0
  700. package/dist/emails/send/index.d.ts.map +1 -0
  701. package/dist/emails/send/index.js +18 -0
  702. package/dist/emails/send/index.js.map +1 -0
  703. package/dist/emails/send/orders.d.ts +186 -0
  704. package/dist/emails/send/orders.d.ts.map +1 -0
  705. package/dist/emails/send/orders.js +258 -0
  706. package/dist/emails/send/orders.js.map +1 -0
  707. package/dist/emails/sender.d.ts +72 -0
  708. package/dist/emails/sender.d.ts.map +1 -0
  709. package/dist/emails/sender.js +116 -0
  710. package/dist/emails/sender.js.map +1 -0
  711. package/dist/emails/templates/admin-invite.d.ts +40 -0
  712. package/dist/emails/templates/admin-invite.d.ts.map +1 -0
  713. package/dist/emails/templates/admin-invite.js +62 -0
  714. package/dist/emails/templates/admin-invite.js.map +1 -0
  715. package/dist/emails/templates/base.d.ts +109 -0
  716. package/dist/emails/templates/base.d.ts.map +1 -0
  717. package/dist/emails/templates/base.js +334 -0
  718. package/dist/emails/templates/base.js.map +1 -0
  719. package/dist/emails/templates/email-verification.d.ts +28 -0
  720. package/dist/emails/templates/email-verification.d.ts.map +1 -0
  721. package/dist/emails/templates/email-verification.js +52 -0
  722. package/dist/emails/templates/email-verification.js.map +1 -0
  723. package/dist/emails/templates/index.d.ts +16 -0
  724. package/dist/emails/templates/index.d.ts.map +1 -0
  725. package/dist/emails/templates/index.js +28 -0
  726. package/dist/emails/templates/index.js.map +1 -0
  727. package/dist/emails/templates/order-cancelled.d.ts +30 -0
  728. package/dist/emails/templates/order-cancelled.d.ts.map +1 -0
  729. package/dist/emails/templates/order-cancelled.js +83 -0
  730. package/dist/emails/templates/order-cancelled.js.map +1 -0
  731. package/dist/emails/templates/order-confirmation.d.ts +36 -0
  732. package/dist/emails/templates/order-confirmation.d.ts.map +1 -0
  733. package/dist/emails/templates/order-confirmation.js +174 -0
  734. package/dist/emails/templates/order-confirmation.js.map +1 -0
  735. package/dist/emails/templates/order-delivered.d.ts +31 -0
  736. package/dist/emails/templates/order-delivered.d.ts.map +1 -0
  737. package/dist/emails/templates/order-delivered.js +100 -0
  738. package/dist/emails/templates/order-delivered.js.map +1 -0
  739. package/dist/emails/templates/order-shipped.d.ts +32 -0
  740. package/dist/emails/templates/order-shipped.d.ts.map +1 -0
  741. package/dist/emails/templates/order-shipped.js +83 -0
  742. package/dist/emails/templates/order-shipped.js.map +1 -0
  743. package/dist/emails/templates/password-reset.d.ts +27 -0
  744. package/dist/emails/templates/password-reset.d.ts.map +1 -0
  745. package/dist/emails/templates/password-reset.js +51 -0
  746. package/dist/emails/templates/password-reset.js.map +1 -0
  747. package/dist/emails/templates/refund-processed.d.ts +32 -0
  748. package/dist/emails/templates/refund-processed.d.ts.map +1 -0
  749. package/dist/emails/templates/refund-processed.js +92 -0
  750. package/dist/emails/templates/refund-processed.js.map +1 -0
  751. package/dist/emails/templates/welcome.d.ts +27 -0
  752. package/dist/emails/templates/welcome.d.ts.map +1 -0
  753. package/dist/emails/templates/welcome.js +52 -0
  754. package/dist/emails/templates/welcome.js.map +1 -0
  755. package/dist/emails/types.d.ts +229 -0
  756. package/dist/emails/types.d.ts.map +1 -0
  757. package/dist/emails/types.js +7 -0
  758. package/dist/emails/types.js.map +1 -0
  759. package/dist/emails/utils.d.ts +94 -0
  760. package/dist/emails/utils.d.ts.map +1 -0
  761. package/dist/emails/utils.js +218 -0
  762. package/dist/emails/utils.js.map +1 -0
  763. package/dist/index.js +73 -0
  764. package/dist/index.js.map +1 -0
  765. package/dist/media/api/delete.d.ts +43 -0
  766. package/dist/media/api/delete.d.ts.map +1 -0
  767. package/dist/media/api/delete.js +124 -0
  768. package/dist/media/api/delete.js.map +1 -0
  769. package/dist/media/api/index.d.ts +17 -0
  770. package/dist/media/api/index.d.ts.map +1 -0
  771. package/dist/media/api/index.js +17 -0
  772. package/dist/media/api/index.js.map +1 -0
  773. package/dist/media/api/presign.d.ts +38 -0
  774. package/dist/media/api/presign.d.ts.map +1 -0
  775. package/dist/media/api/presign.js +130 -0
  776. package/dist/media/api/presign.js.map +1 -0
  777. package/dist/media/components/DropZone.d.ts +18 -0
  778. package/dist/media/components/DropZone.d.ts.map +1 -0
  779. package/dist/media/components/DropZone.js +107 -0
  780. package/dist/media/components/DropZone.js.map +1 -0
  781. package/dist/media/components/ImageGalleryUpload.d.ts +21 -0
  782. package/dist/media/components/ImageGalleryUpload.d.ts.map +1 -0
  783. package/dist/media/components/ImageGalleryUpload.js +193 -0
  784. package/dist/media/components/ImageGalleryUpload.js.map +1 -0
  785. package/dist/media/components/ImageUpload.d.ts +17 -0
  786. package/dist/media/components/ImageUpload.d.ts.map +1 -0
  787. package/dist/media/components/ImageUpload.js +89 -0
  788. package/dist/media/components/ImageUpload.js.map +1 -0
  789. package/dist/media/components/index.d.ts +10 -0
  790. package/dist/media/components/index.d.ts.map +1 -0
  791. package/dist/media/components/index.js +9 -0
  792. package/dist/media/components/index.js.map +1 -0
  793. package/dist/media/config.d.ts +83 -0
  794. package/dist/media/config.d.ts.map +1 -0
  795. package/dist/media/config.js +189 -0
  796. package/dist/media/config.js.map +1 -0
  797. package/dist/media/hooks/index.d.ts +8 -0
  798. package/dist/media/hooks/index.d.ts.map +1 -0
  799. package/dist/media/hooks/index.js +7 -0
  800. package/dist/media/hooks/index.js.map +1 -0
  801. package/dist/media/hooks/useUpload.d.ts +32 -0
  802. package/dist/media/hooks/useUpload.d.ts.map +1 -0
  803. package/dist/media/hooks/useUpload.js +260 -0
  804. package/dist/media/hooks/useUpload.js.map +1 -0
  805. package/dist/media/index.d.ts +57 -0
  806. package/dist/media/index.d.ts.map +1 -0
  807. package/dist/media/index.js +68 -0
  808. package/dist/media/index.js.map +1 -0
  809. package/dist/media/server/delete.d.ts +59 -0
  810. package/dist/media/server/delete.d.ts.map +1 -0
  811. package/dist/media/server/delete.js +176 -0
  812. package/dist/media/server/delete.js.map +1 -0
  813. package/dist/media/server/index.d.ts +10 -0
  814. package/dist/media/server/index.d.ts.map +1 -0
  815. package/dist/media/server/index.js +13 -0
  816. package/dist/media/server/index.js.map +1 -0
  817. package/dist/media/server/presign.d.ts +57 -0
  818. package/dist/media/server/presign.d.ts.map +1 -0
  819. package/dist/media/server/presign.js +112 -0
  820. package/dist/media/server/presign.js.map +1 -0
  821. package/dist/media/server/r2-client.d.ts +30 -0
  822. package/dist/media/server/r2-client.d.ts.map +1 -0
  823. package/dist/media/server/r2-client.js +76 -0
  824. package/dist/media/server/r2-client.js.map +1 -0
  825. package/dist/media/types.d.ts +316 -0
  826. package/dist/media/types.d.ts.map +1 -0
  827. package/dist/media/types.js +95 -0
  828. package/dist/media/types.js.map +1 -0
  829. package/dist/products/api/categories.d.ts +29 -0
  830. package/dist/products/api/categories.d.ts.map +1 -0
  831. package/dist/products/api/categories.js +46 -0
  832. package/dist/products/api/categories.js.map +1 -0
  833. package/dist/products/api/index.d.ts +24 -0
  834. package/dist/products/api/index.d.ts.map +1 -0
  835. package/dist/products/api/index.js +24 -0
  836. package/dist/products/api/index.js.map +1 -0
  837. package/dist/products/api/product.d.ts +36 -0
  838. package/dist/products/api/product.d.ts.map +1 -0
  839. package/dist/products/api/product.js +67 -0
  840. package/dist/products/api/product.js.map +1 -0
  841. package/dist/products/api/products.d.ts +41 -0
  842. package/dist/products/api/products.d.ts.map +1 -0
  843. package/dist/products/api/products.js +99 -0
  844. package/dist/products/api/products.js.map +1 -0
  845. package/dist/products/components/ProductCard.d.ts +54 -0
  846. package/dist/products/components/ProductCard.d.ts.map +1 -0
  847. package/dist/products/components/ProductCard.js +72 -0
  848. package/dist/products/components/ProductCard.js.map +1 -0
  849. package/dist/products/components/ProductDetails.d.ts +63 -0
  850. package/dist/products/components/ProductDetails.d.ts.map +1 -0
  851. package/dist/products/components/ProductDetails.js +137 -0
  852. package/dist/products/components/ProductDetails.js.map +1 -0
  853. package/dist/products/components/ProductGallery.d.ts +30 -0
  854. package/dist/products/components/ProductGallery.d.ts.map +1 -0
  855. package/dist/products/components/ProductGallery.js +91 -0
  856. package/dist/products/components/ProductGallery.js.map +1 -0
  857. package/dist/products/components/ProductGrid.d.ts +50 -0
  858. package/dist/products/components/ProductGrid.d.ts.map +1 -0
  859. package/dist/products/components/ProductGrid.js +81 -0
  860. package/dist/products/components/ProductGrid.js.map +1 -0
  861. package/dist/products/components/ProductSearch.d.ts +43 -0
  862. package/dist/products/components/ProductSearch.d.ts.map +1 -0
  863. package/dist/products/components/ProductSearch.js +97 -0
  864. package/dist/products/components/ProductSearch.js.map +1 -0
  865. package/dist/products/components/ProductSort.d.ts +43 -0
  866. package/dist/products/components/ProductSort.d.ts.map +1 -0
  867. package/dist/products/components/ProductSort.js +59 -0
  868. package/dist/products/components/ProductSort.js.map +1 -0
  869. package/dist/products/components/VariantSelector.d.ts +43 -0
  870. package/dist/products/components/VariantSelector.d.ts.map +1 -0
  871. package/dist/products/components/VariantSelector.js +147 -0
  872. package/dist/products/components/VariantSelector.js.map +1 -0
  873. package/dist/products/components/index.d.ts +20 -0
  874. package/dist/products/components/index.d.ts.map +1 -0
  875. package/dist/products/components/index.js +15 -0
  876. package/dist/products/components/index.js.map +1 -0
  877. package/dist/products/hooks/index.d.ts +10 -0
  878. package/dist/products/hooks/index.d.ts.map +1 -0
  879. package/dist/products/hooks/index.js +8 -0
  880. package/dist/products/hooks/index.js.map +1 -0
  881. package/dist/products/hooks/useProduct.d.ts +44 -0
  882. package/dist/products/hooks/useProduct.d.ts.map +1 -0
  883. package/dist/products/hooks/useProduct.js +87 -0
  884. package/dist/products/hooks/useProduct.js.map +1 -0
  885. package/dist/products/hooks/useProducts.d.ts +67 -0
  886. package/dist/products/hooks/useProducts.d.ts.map +1 -0
  887. package/dist/products/hooks/useProducts.js +131 -0
  888. package/dist/products/hooks/useProducts.js.map +1 -0
  889. package/dist/products/index.d.ts +69 -0
  890. package/dist/products/index.d.ts.map +1 -0
  891. package/dist/products/index.js +79 -0
  892. package/dist/products/index.js.map +1 -0
  893. package/dist/shipping/index.d.ts +8 -0
  894. package/dist/shipping/index.d.ts.map +1 -0
  895. package/dist/shipping/index.js +8 -0
  896. package/dist/shipping/index.js.map +1 -0
  897. package/dist/shipping/shippo.d.ts +77 -0
  898. package/dist/shipping/shippo.d.ts.map +1 -0
  899. package/dist/shipping/shippo.js +280 -0
  900. package/dist/shipping/shippo.js.map +1 -0
  901. package/dist/theme/colors.d.ts +134 -0
  902. package/dist/theme/colors.d.ts.map +1 -0
  903. package/dist/theme/colors.js +214 -0
  904. package/dist/theme/colors.js.map +1 -0
  905. package/dist/theme/defaults.d.ts +133 -0
  906. package/dist/theme/defaults.d.ts.map +1 -0
  907. package/dist/theme/defaults.js +210 -0
  908. package/dist/theme/defaults.js.map +1 -0
  909. package/dist/theme/fonts.d.ts +28 -0
  910. package/dist/theme/fonts.d.ts.map +1 -0
  911. package/dist/theme/fonts.js +55 -0
  912. package/dist/theme/fonts.js.map +1 -0
  913. package/dist/theme/generator.d.ts +43 -0
  914. package/dist/theme/generator.d.ts.map +1 -0
  915. package/dist/theme/generator.js +272 -0
  916. package/dist/theme/generator.js.map +1 -0
  917. package/dist/theme/index.d.ts +23 -0
  918. package/dist/theme/index.d.ts.map +1 -0
  919. package/dist/theme/index.js +30 -0
  920. package/dist/theme/index.js.map +1 -0
  921. package/package.json +2 -2
  922. /package/dist/admin/{admin-theme.css → styles/admin-theme.css} +0 -0
@@ -0,0 +1,746 @@
1
+ /**
2
+ * @rovela/sdk/admin/api/shipping
3
+ *
4
+ * API route handlers for admin shipping carrier, zone, and rate management.
5
+ * Implements a carrier-first hierarchy: Carrier → Zone → Rate
6
+ *
7
+ * Usage:
8
+ * ```typescript
9
+ * // app/api/admin/shipping/carriers/route.ts
10
+ * export { getCarriers as GET, createCarrier as POST } from '@rovela/sdk/admin/api/shipping'
11
+ *
12
+ * // app/api/admin/shipping/carriers/[id]/route.ts
13
+ * export { getCarrier as GET, updateCarrier as PUT, deleteCarrier as DELETE } from '@rovela/sdk/admin/api/shipping'
14
+ *
15
+ * // app/api/admin/shipping/zones/route.ts
16
+ * export { getZones as GET, createZone as POST } from '@rovela/sdk/admin/api/shipping'
17
+ *
18
+ * // app/api/admin/shipping/zones/[id]/route.ts
19
+ * export { getZone as GET, updateZone as PUT, deleteZone as DELETE } from '@rovela/sdk/admin/api/shipping'
20
+ *
21
+ * // app/api/admin/shipping/rates/route.ts
22
+ * export { createRate as POST } from '@rovela/sdk/admin/api/shipping'
23
+ *
24
+ * // app/api/admin/shipping/rates/[id]/route.ts
25
+ * export { updateRate as PUT, deleteRate as DELETE } from '@rovela/sdk/admin/api/shipping'
26
+ * ```
27
+ */
28
+ import { NextResponse } from 'next/server';
29
+ import { requireAdmin } from '../server/admin-session';
30
+ import {
31
+ // Carrier queries
32
+ findCarriersWithZonesAndRates, findShippingCarrierById, createShippingCarrier, updateShippingCarrier, deleteShippingCarrier,
33
+ // Zone queries
34
+ findShippingZones, findShippingZoneById, createShippingZone, updateShippingZone, deleteShippingZone,
35
+ // Rate queries
36
+ createShippingRate, updateShippingRate, deleteShippingRate,
37
+ // Settings queries (for Shippo API key)
38
+ findSettings, upsertSettings, } from '../../core/db/queries';
39
+ // =============================================================================
40
+ // Shipping Carriers - List & Create
41
+ // =============================================================================
42
+ /**
43
+ * GET /api/admin/shipping/carriers
44
+ *
45
+ * List all shipping carriers with their zones and rates.
46
+ * Returns carriers sorted by sortOrder, each with nested zones/rates.
47
+ */
48
+ export async function getCarriers() {
49
+ // Shipping config is part of store settings — read permission.
50
+ const guard = await requireAdmin({ permission: 'settings.read' });
51
+ if (!guard.ok) {
52
+ return guard.response;
53
+ }
54
+ try {
55
+ const carriers = await findCarriersWithZonesAndRates();
56
+ return NextResponse.json({ data: carriers });
57
+ }
58
+ catch (error) {
59
+ console.error('[Admin Shipping API] getCarriers error:', error);
60
+ return NextResponse.json({ error: 'Failed to fetch shipping carriers', code: 'INTERNAL_ERROR' }, { status: 500 });
61
+ }
62
+ }
63
+ /**
64
+ * POST /api/admin/shipping/carriers
65
+ *
66
+ * Create a new shipping carrier.
67
+ * Store owners define their own carriers (e.g., "Standard Delivery", "Local Pickup").
68
+ *
69
+ * Request Body:
70
+ * ```json
71
+ * {
72
+ * "name": "Standard Delivery",
73
+ * "code": "standard",
74
+ * "description": "Regular shipping via postal service",
75
+ * "isActive": true,
76
+ * "sortOrder": 0
77
+ * }
78
+ * ```
79
+ */
80
+ export async function createCarrier(request) {
81
+ const guard = await requireAdmin({ permission: 'settings.write' });
82
+ if (!guard.ok) {
83
+ return guard.response;
84
+ }
85
+ try {
86
+ const body = await request.json();
87
+ // Validate required fields
88
+ if (!body.name || typeof body.name !== 'string' || body.name.trim().length === 0) {
89
+ return NextResponse.json({ error: 'Carrier name is required', code: 'VALIDATION_ERROR' }, { status: 400 });
90
+ }
91
+ if (!body.code || typeof body.code !== 'string' || body.code.trim().length === 0) {
92
+ return NextResponse.json({ error: 'Carrier code is required', code: 'VALIDATION_ERROR' }, { status: 400 });
93
+ }
94
+ // Sanitize code: lowercase, alphanumeric + hyphens only
95
+ const code = body.code
96
+ .toLowerCase()
97
+ .trim()
98
+ .replace(/[^a-z0-9-]/g, '-')
99
+ .replace(/-+/g, '-')
100
+ .slice(0, 50);
101
+ if (code.length === 0) {
102
+ return NextResponse.json({ error: 'Carrier code must contain alphanumeric characters', code: 'VALIDATION_ERROR' }, { status: 400 });
103
+ }
104
+ const carrier = await createShippingCarrier({
105
+ name: body.name.trim().slice(0, 255),
106
+ code,
107
+ description: body.description ? body.description.trim().slice(0, 500) : undefined,
108
+ isActive: body.isActive !== false,
109
+ sortOrder: typeof body.sortOrder === 'number' ? body.sortOrder : 0,
110
+ });
111
+ return NextResponse.json({ success: true, data: carrier }, { status: 201 });
112
+ }
113
+ catch (error) {
114
+ console.error('[Admin Shipping API] createCarrier error:', error);
115
+ // Handle unique constraint violation
116
+ if (error instanceof Error && error.message.includes('unique')) {
117
+ return NextResponse.json({ error: 'A carrier with this code already exists', code: 'VALIDATION_ERROR' }, { status: 400 });
118
+ }
119
+ return NextResponse.json({ error: 'Failed to create shipping carrier', code: 'INTERNAL_ERROR' }, { status: 500 });
120
+ }
121
+ }
122
+ // =============================================================================
123
+ // Shipping Carriers - Single Operations
124
+ // =============================================================================
125
+ /**
126
+ * GET /api/admin/shipping/carriers/[id]
127
+ *
128
+ * Get a single shipping carrier by ID with its zones and rates.
129
+ */
130
+ export async function getCarrier(_request, { params }) {
131
+ const guard = await requireAdmin({ permission: 'settings.read' });
132
+ if (!guard.ok) {
133
+ return guard.response;
134
+ }
135
+ try {
136
+ const { id } = await params;
137
+ const carrier = await findShippingCarrierById(id);
138
+ if (!carrier) {
139
+ return NextResponse.json({ error: 'Shipping carrier not found', code: 'NOT_FOUND' }, { status: 404 });
140
+ }
141
+ return NextResponse.json({ data: carrier });
142
+ }
143
+ catch (error) {
144
+ console.error('[Admin Shipping API] getCarrier error:', error);
145
+ return NextResponse.json({ error: 'Failed to fetch shipping carrier', code: 'INTERNAL_ERROR' }, { status: 500 });
146
+ }
147
+ }
148
+ /**
149
+ * PUT /api/admin/shipping/carriers/[id]
150
+ *
151
+ * Update a shipping carrier by ID.
152
+ *
153
+ * Request Body:
154
+ * ```json
155
+ * {
156
+ * "name": "Express Delivery",
157
+ * "code": "express",
158
+ * "description": "Fast shipping option",
159
+ * "isActive": true,
160
+ * "sortOrder": 1
161
+ * }
162
+ * ```
163
+ */
164
+ export async function updateCarrier(request, { params }) {
165
+ const guard = await requireAdmin({ permission: 'settings.write' });
166
+ if (!guard.ok) {
167
+ return guard.response;
168
+ }
169
+ try {
170
+ const { id } = await params;
171
+ const body = await request.json();
172
+ // Check carrier exists
173
+ const existing = await findShippingCarrierById(id);
174
+ if (!existing) {
175
+ return NextResponse.json({ error: 'Shipping carrier not found', code: 'NOT_FOUND' }, { status: 404 });
176
+ }
177
+ // Build update data
178
+ const updateData = {};
179
+ if (body.name !== undefined) {
180
+ if (typeof body.name !== 'string' || body.name.trim().length === 0) {
181
+ return NextResponse.json({ error: 'Carrier name cannot be empty', code: 'VALIDATION_ERROR' }, { status: 400 });
182
+ }
183
+ updateData.name = body.name.trim().slice(0, 255);
184
+ }
185
+ if (body.code !== undefined) {
186
+ const code = body.code
187
+ .toLowerCase()
188
+ .trim()
189
+ .replace(/[^a-z0-9-]/g, '-')
190
+ .replace(/-+/g, '-')
191
+ .slice(0, 50);
192
+ if (code.length === 0) {
193
+ return NextResponse.json({ error: 'Carrier code must contain alphanumeric characters', code: 'VALIDATION_ERROR' }, { status: 400 });
194
+ }
195
+ updateData.code = code;
196
+ }
197
+ if (body.description !== undefined) {
198
+ updateData.description = body.description ? body.description.trim().slice(0, 500) : null;
199
+ }
200
+ if (body.isActive !== undefined) {
201
+ updateData.isActive = Boolean(body.isActive);
202
+ }
203
+ if (body.sortOrder !== undefined) {
204
+ updateData.sortOrder = typeof body.sortOrder === 'number' ? body.sortOrder : 0;
205
+ }
206
+ const carrier = await updateShippingCarrier(id, updateData);
207
+ return NextResponse.json({ success: true, data: carrier });
208
+ }
209
+ catch (error) {
210
+ console.error('[Admin Shipping API] updateCarrier error:', error);
211
+ // Handle unique constraint violation
212
+ if (error instanceof Error && error.message.includes('unique')) {
213
+ return NextResponse.json({ error: 'A carrier with this code already exists', code: 'VALIDATION_ERROR' }, { status: 400 });
214
+ }
215
+ return NextResponse.json({ error: 'Failed to update shipping carrier', code: 'INTERNAL_ERROR' }, { status: 500 });
216
+ }
217
+ }
218
+ /**
219
+ * DELETE /api/admin/shipping/carriers/[id]
220
+ *
221
+ * Delete a shipping carrier by ID.
222
+ * This cascades to delete all zones and rates under this carrier.
223
+ */
224
+ export async function deleteCarrier(_request, { params }) {
225
+ const guard = await requireAdmin({ permission: 'settings.write' });
226
+ if (!guard.ok) {
227
+ return guard.response;
228
+ }
229
+ try {
230
+ const { id } = await params;
231
+ const deleted = await deleteShippingCarrier(id);
232
+ if (!deleted) {
233
+ return NextResponse.json({ error: 'Shipping carrier not found', code: 'NOT_FOUND' }, { status: 404 });
234
+ }
235
+ return NextResponse.json({ success: true });
236
+ }
237
+ catch (error) {
238
+ console.error('[Admin Shipping API] deleteCarrier error:', error);
239
+ return NextResponse.json({ error: 'Failed to delete shipping carrier', code: 'INTERNAL_ERROR' }, { status: 500 });
240
+ }
241
+ }
242
+ // =============================================================================
243
+ // Shipping Zones - List & Create
244
+ // =============================================================================
245
+ /**
246
+ * GET /api/admin/shipping/zones
247
+ *
248
+ * List all shipping zones with their rates.
249
+ */
250
+ export async function getZones() {
251
+ const guard = await requireAdmin({ permission: 'settings.read' });
252
+ if (!guard.ok) {
253
+ return guard.response;
254
+ }
255
+ try {
256
+ const zones = await findShippingZones();
257
+ return NextResponse.json({ data: zones });
258
+ }
259
+ catch (error) {
260
+ console.error('[Admin Shipping API] getZones error:', error);
261
+ return NextResponse.json({ error: 'Failed to fetch shipping zones', code: 'INTERNAL_ERROR' }, { status: 500 });
262
+ }
263
+ }
264
+ /**
265
+ * POST /api/admin/shipping/zones
266
+ *
267
+ * Create a new shipping zone under a carrier.
268
+ * Zones must belong to a carrier (carrier-first architecture).
269
+ *
270
+ * Request Body:
271
+ * ```json
272
+ * {
273
+ * "carrierId": "uuid",
274
+ * "name": "Domestic",
275
+ * "countries": ["US", "CA"],
276
+ * "isActive": true,
277
+ * "sortOrder": 0
278
+ * }
279
+ * ```
280
+ */
281
+ export async function createZone(request) {
282
+ const guard = await requireAdmin({ permission: 'settings.write' });
283
+ if (!guard.ok) {
284
+ return guard.response;
285
+ }
286
+ try {
287
+ const body = await request.json();
288
+ // Validate required fields
289
+ if (!body.carrierId || typeof body.carrierId !== 'string') {
290
+ return NextResponse.json({ error: 'Carrier ID is required', code: 'VALIDATION_ERROR' }, { status: 400 });
291
+ }
292
+ if (!body.name || typeof body.name !== 'string') {
293
+ return NextResponse.json({ error: 'Zone name is required', code: 'VALIDATION_ERROR' }, { status: 400 });
294
+ }
295
+ if (!Array.isArray(body.countries) || body.countries.length === 0) {
296
+ return NextResponse.json({ error: 'At least one country is required', code: 'VALIDATION_ERROR' }, { status: 400 });
297
+ }
298
+ // Verify carrier exists
299
+ const carrier = await findShippingCarrierById(body.carrierId);
300
+ if (!carrier) {
301
+ return NextResponse.json({ error: 'Shipping carrier not found', code: 'VALIDATION_ERROR' }, { status: 400 });
302
+ }
303
+ // Sanitize countries (uppercase, 2-char codes, or '*')
304
+ const countries = body.countries
305
+ .filter((c) => typeof c === 'string')
306
+ .map((c) => c.toUpperCase().trim())
307
+ .filter((c) => c === '*' || c.length === 2);
308
+ if (countries.length === 0) {
309
+ return NextResponse.json({ error: 'Invalid country codes. Use 2-letter ISO codes or "*" for all countries.', code: 'VALIDATION_ERROR' }, { status: 400 });
310
+ }
311
+ const zone = await createShippingZone({
312
+ carrierId: body.carrierId,
313
+ name: body.name.trim().slice(0, 255),
314
+ countries,
315
+ isActive: body.isActive !== false,
316
+ sortOrder: typeof body.sortOrder === 'number' ? body.sortOrder : 0,
317
+ });
318
+ return NextResponse.json({ success: true, data: zone }, { status: 201 });
319
+ }
320
+ catch (error) {
321
+ console.error('[Admin Shipping API] createZone error:', error);
322
+ return NextResponse.json({ error: 'Failed to create shipping zone', code: 'INTERNAL_ERROR' }, { status: 500 });
323
+ }
324
+ }
325
+ // =============================================================================
326
+ // Shipping Zones - Single Operations
327
+ // =============================================================================
328
+ /**
329
+ * GET /api/admin/shipping/zones/[id]
330
+ *
331
+ * Get a single shipping zone by ID with its rates.
332
+ */
333
+ export async function getZone(_request, { params }) {
334
+ const guard = await requireAdmin({ permission: 'settings.read' });
335
+ if (!guard.ok) {
336
+ return guard.response;
337
+ }
338
+ try {
339
+ const { id } = await params;
340
+ const zone = await findShippingZoneById(id);
341
+ if (!zone) {
342
+ return NextResponse.json({ error: 'Shipping zone not found', code: 'NOT_FOUND' }, { status: 404 });
343
+ }
344
+ return NextResponse.json({ data: zone });
345
+ }
346
+ catch (error) {
347
+ console.error('[Admin Shipping API] getZone error:', error);
348
+ return NextResponse.json({ error: 'Failed to fetch shipping zone', code: 'INTERNAL_ERROR' }, { status: 500 });
349
+ }
350
+ }
351
+ /**
352
+ * PUT /api/admin/shipping/zones/[id]
353
+ *
354
+ * Update a shipping zone by ID.
355
+ * Can move zone to a different carrier by changing carrierId.
356
+ *
357
+ * Request Body:
358
+ * ```json
359
+ * {
360
+ * "carrierId": "uuid",
361
+ * "name": "Updated Zone Name",
362
+ * "countries": ["US", "CA", "MX"],
363
+ * "isActive": true,
364
+ * "sortOrder": 1
365
+ * }
366
+ * ```
367
+ */
368
+ export async function updateZone(request, { params }) {
369
+ const guard = await requireAdmin({ permission: 'settings.write' });
370
+ if (!guard.ok) {
371
+ return guard.response;
372
+ }
373
+ try {
374
+ const { id } = await params;
375
+ const body = await request.json();
376
+ // Check zone exists
377
+ const existing = await findShippingZoneById(id);
378
+ if (!existing) {
379
+ return NextResponse.json({ error: 'Shipping zone not found', code: 'NOT_FOUND' }, { status: 404 });
380
+ }
381
+ // Build update data
382
+ const updateData = {};
383
+ // Allow moving zone to different carrier
384
+ if (body.carrierId !== undefined) {
385
+ if (typeof body.carrierId !== 'string') {
386
+ return NextResponse.json({ error: 'Invalid carrier ID', code: 'VALIDATION_ERROR' }, { status: 400 });
387
+ }
388
+ // Verify new carrier exists
389
+ const carrier = await findShippingCarrierById(body.carrierId);
390
+ if (!carrier) {
391
+ return NextResponse.json({ error: 'Shipping carrier not found', code: 'VALIDATION_ERROR' }, { status: 400 });
392
+ }
393
+ updateData.carrierId = body.carrierId;
394
+ }
395
+ if (body.name !== undefined) {
396
+ updateData.name = body.name.trim().slice(0, 255);
397
+ }
398
+ if (body.countries !== undefined) {
399
+ if (!Array.isArray(body.countries) || body.countries.length === 0) {
400
+ return NextResponse.json({ error: 'At least one country is required', code: 'VALIDATION_ERROR' }, { status: 400 });
401
+ }
402
+ const countries = body.countries
403
+ .filter((c) => typeof c === 'string')
404
+ .map((c) => c.toUpperCase().trim())
405
+ .filter((c) => c === '*' || c.length === 2);
406
+ if (countries.length === 0) {
407
+ return NextResponse.json({ error: 'Invalid country codes', code: 'VALIDATION_ERROR' }, { status: 400 });
408
+ }
409
+ updateData.countries = countries;
410
+ }
411
+ if (body.isActive !== undefined) {
412
+ updateData.isActive = Boolean(body.isActive);
413
+ }
414
+ if (body.sortOrder !== undefined) {
415
+ updateData.sortOrder = typeof body.sortOrder === 'number' ? body.sortOrder : 0;
416
+ }
417
+ const zone = await updateShippingZone(id, updateData);
418
+ return NextResponse.json({ success: true, data: zone });
419
+ }
420
+ catch (error) {
421
+ console.error('[Admin Shipping API] updateZone error:', error);
422
+ return NextResponse.json({ error: 'Failed to update shipping zone', code: 'INTERNAL_ERROR' }, { status: 500 });
423
+ }
424
+ }
425
+ /**
426
+ * DELETE /api/admin/shipping/zones/[id]
427
+ *
428
+ * Delete a shipping zone by ID. This cascades to delete all rates in the zone.
429
+ */
430
+ export async function deleteZone(_request, { params }) {
431
+ const guard = await requireAdmin({ permission: 'settings.write' });
432
+ if (!guard.ok) {
433
+ return guard.response;
434
+ }
435
+ try {
436
+ const { id } = await params;
437
+ const deleted = await deleteShippingZone(id);
438
+ if (!deleted) {
439
+ return NextResponse.json({ error: 'Shipping zone not found', code: 'NOT_FOUND' }, { status: 404 });
440
+ }
441
+ return NextResponse.json({ success: true });
442
+ }
443
+ catch (error) {
444
+ console.error('[Admin Shipping API] deleteZone error:', error);
445
+ return NextResponse.json({ error: 'Failed to delete shipping zone', code: 'INTERNAL_ERROR' }, { status: 500 });
446
+ }
447
+ }
448
+ // =============================================================================
449
+ // Shipping Rates - Create
450
+ // =============================================================================
451
+ /**
452
+ * POST /api/admin/shipping/rates
453
+ *
454
+ * Create a new shipping rate for a zone.
455
+ *
456
+ * Request Body:
457
+ * ```json
458
+ * {
459
+ * "zoneId": "uuid",
460
+ * "name": "Standard Shipping",
461
+ * "description": "5-7 business days",
462
+ * "price": 5.99,
463
+ * "minOrderAmount": 0,
464
+ * "maxOrderAmount": null,
465
+ * "estimatedDays": "5-7",
466
+ * "isActive": true,
467
+ * "sortOrder": 0
468
+ * }
469
+ * ```
470
+ */
471
+ export async function createRate(request) {
472
+ const guard = await requireAdmin({ permission: 'settings.write' });
473
+ if (!guard.ok) {
474
+ return guard.response;
475
+ }
476
+ try {
477
+ const body = await request.json();
478
+ // Validate required fields
479
+ if (!body.zoneId || typeof body.zoneId !== 'string') {
480
+ return NextResponse.json({ error: 'Zone ID is required', code: 'VALIDATION_ERROR' }, { status: 400 });
481
+ }
482
+ if (!body.name || typeof body.name !== 'string') {
483
+ return NextResponse.json({ error: 'Rate name is required', code: 'VALIDATION_ERROR' }, { status: 400 });
484
+ }
485
+ if (typeof body.price !== 'number' || body.price < 0) {
486
+ return NextResponse.json({ error: 'Valid price is required (non-negative number)', code: 'VALIDATION_ERROR' }, { status: 400 });
487
+ }
488
+ // Verify zone exists
489
+ const zone = await findShippingZoneById(body.zoneId);
490
+ if (!zone) {
491
+ return NextResponse.json({ error: 'Shipping zone not found', code: 'VALIDATION_ERROR' }, { status: 400 });
492
+ }
493
+ const rate = await createShippingRate({
494
+ zoneId: body.zoneId,
495
+ name: body.name.trim().slice(0, 255),
496
+ description: body.description ? body.description.trim().slice(0, 500) : undefined,
497
+ price: body.price,
498
+ minOrderAmount: typeof body.minOrderAmount === 'number' && body.minOrderAmount >= 0
499
+ ? body.minOrderAmount
500
+ : undefined,
501
+ maxOrderAmount: typeof body.maxOrderAmount === 'number' && body.maxOrderAmount >= 0
502
+ ? body.maxOrderAmount
503
+ : undefined,
504
+ estimatedDays: body.estimatedDays ? body.estimatedDays.trim().slice(0, 50) : undefined,
505
+ isActive: body.isActive !== false,
506
+ sortOrder: typeof body.sortOrder === 'number' ? body.sortOrder : 0,
507
+ });
508
+ return NextResponse.json({ success: true, data: rate }, { status: 201 });
509
+ }
510
+ catch (error) {
511
+ console.error('[Admin Shipping API] createRate error:', error);
512
+ return NextResponse.json({ error: 'Failed to create shipping rate', code: 'INTERNAL_ERROR' }, { status: 500 });
513
+ }
514
+ }
515
+ // =============================================================================
516
+ // Shipping Rates - Update & Delete
517
+ // =============================================================================
518
+ /**
519
+ * PUT /api/admin/shipping/rates/[id]
520
+ *
521
+ * Update a shipping rate by ID.
522
+ *
523
+ * Request Body:
524
+ * ```json
525
+ * {
526
+ * "name": "Express Shipping",
527
+ * "description": "2-3 business days",
528
+ * "price": 12.99,
529
+ * "minOrderAmount": 0,
530
+ * "maxOrderAmount": 100,
531
+ * "estimatedDays": "2-3",
532
+ * "isActive": true,
533
+ * "sortOrder": 1
534
+ * }
535
+ * ```
536
+ */
537
+ export async function updateRate(request, { params }) {
538
+ const guard = await requireAdmin({ permission: 'settings.write' });
539
+ if (!guard.ok) {
540
+ return guard.response;
541
+ }
542
+ try {
543
+ const { id } = await params;
544
+ const body = await request.json();
545
+ // Build update data
546
+ const updateData = {};
547
+ if (body.name !== undefined) {
548
+ updateData.name = body.name.trim().slice(0, 255);
549
+ }
550
+ if (body.description !== undefined) {
551
+ updateData.description = body.description ? body.description.trim().slice(0, 500) : null;
552
+ }
553
+ if (body.price !== undefined) {
554
+ if (typeof body.price !== 'number' || body.price < 0) {
555
+ return NextResponse.json({ error: 'Price must be a non-negative number', code: 'VALIDATION_ERROR' }, { status: 400 });
556
+ }
557
+ updateData.price = body.price;
558
+ }
559
+ if (body.minOrderAmount !== undefined) {
560
+ updateData.minOrderAmount = typeof body.minOrderAmount === 'number' && body.minOrderAmount >= 0
561
+ ? body.minOrderAmount
562
+ : null;
563
+ }
564
+ if (body.maxOrderAmount !== undefined) {
565
+ updateData.maxOrderAmount = typeof body.maxOrderAmount === 'number' && body.maxOrderAmount >= 0
566
+ ? body.maxOrderAmount
567
+ : null;
568
+ }
569
+ if (body.estimatedDays !== undefined) {
570
+ updateData.estimatedDays = body.estimatedDays ? body.estimatedDays.trim().slice(0, 50) : null;
571
+ }
572
+ if (body.isActive !== undefined) {
573
+ updateData.isActive = Boolean(body.isActive);
574
+ }
575
+ if (body.sortOrder !== undefined) {
576
+ updateData.sortOrder = typeof body.sortOrder === 'number' ? body.sortOrder : 0;
577
+ }
578
+ const rate = await updateShippingRate(id, updateData);
579
+ if (!rate) {
580
+ return NextResponse.json({ error: 'Shipping rate not found', code: 'NOT_FOUND' }, { status: 404 });
581
+ }
582
+ return NextResponse.json({ success: true, data: rate });
583
+ }
584
+ catch (error) {
585
+ console.error('[Admin Shipping API] updateRate error:', error);
586
+ return NextResponse.json({ error: 'Failed to update shipping rate', code: 'INTERNAL_ERROR' }, { status: 500 });
587
+ }
588
+ }
589
+ /**
590
+ * DELETE /api/admin/shipping/rates/[id]
591
+ *
592
+ * Delete a shipping rate by ID.
593
+ */
594
+ export async function deleteRate(_request, { params }) {
595
+ const guard = await requireAdmin({ permission: 'settings.write' });
596
+ if (!guard.ok) {
597
+ return guard.response;
598
+ }
599
+ try {
600
+ const { id } = await params;
601
+ const deleted = await deleteShippingRate(id);
602
+ if (!deleted) {
603
+ return NextResponse.json({ error: 'Shipping rate not found', code: 'NOT_FOUND' }, { status: 404 });
604
+ }
605
+ return NextResponse.json({ success: true });
606
+ }
607
+ catch (error) {
608
+ console.error('[Admin Shipping API] deleteRate error:', error);
609
+ return NextResponse.json({ error: 'Failed to delete shipping rate', code: 'INTERNAL_ERROR' }, { status: 500 });
610
+ }
611
+ }
612
+ // =============================================================================
613
+ // Shippo API Validation
614
+ // =============================================================================
615
+ /**
616
+ * POST /api/admin/shipping/shippo/validate
617
+ *
618
+ * Validate Shippo API key.
619
+ * Checks database first for store-specific key, falls back to environment variable.
620
+ *
621
+ * Response:
622
+ * ```json
623
+ * { "valid": true, "hasStoredKey": true, "maskedKey": "...abc1" }
624
+ * // or
625
+ * { "valid": false, "error": "Invalid API key", "hasStoredKey": false }
626
+ * ```
627
+ */
628
+ export async function validateShippoApiKey() {
629
+ const guard = await requireAdmin({ permission: 'settings.read' });
630
+ if (!guard.ok) {
631
+ return guard.response;
632
+ }
633
+ try {
634
+ // 1. Check database for stored API key first
635
+ const settings = await findSettings();
636
+ let apiKey = settings?.shippoApiKey;
637
+ const hasStoredKey = !!apiKey;
638
+ // 2. Fallback to environment variable
639
+ if (!apiKey) {
640
+ apiKey = process.env.SHIPPO_API_KEY;
641
+ }
642
+ if (!apiKey) {
643
+ return NextResponse.json({
644
+ valid: false,
645
+ error: 'No Shippo API key configured. Add it in Settings > Shipping.',
646
+ hasStoredKey: false,
647
+ maskedKey: null,
648
+ });
649
+ }
650
+ // 3. Validate with Shippo API
651
+ const { validateShippoKey } = await import('../../shipping/shippo');
652
+ const result = await validateShippoKey(apiKey);
653
+ return NextResponse.json({
654
+ ...result,
655
+ hasStoredKey,
656
+ maskedKey: hasStoredKey ? `...${apiKey.slice(-4)}` : null,
657
+ });
658
+ }
659
+ catch (error) {
660
+ console.error('[Admin Shipping API] validateShippoApiKey error:', error);
661
+ return NextResponse.json({ error: 'Failed to validate Shippo API key', code: 'INTERNAL_ERROR' }, { status: 500 });
662
+ }
663
+ }
664
+ /**
665
+ * POST /api/admin/shipping/shippo/api-key
666
+ *
667
+ * Save Shippo API key to database.
668
+ * Validates the key with Shippo before saving.
669
+ *
670
+ * Request:
671
+ * ```json
672
+ * { "apiKey": "shippo_live_abc123..." }
673
+ * ```
674
+ *
675
+ * Response:
676
+ * ```json
677
+ * { "success": true, "maskedKey": "...c123", "message": "Shippo API key saved successfully" }
678
+ * ```
679
+ */
680
+ export async function saveShippoApiKey(request) {
681
+ const guard = await requireAdmin({ permission: 'settings.write' });
682
+ if (!guard.ok) {
683
+ return guard.response;
684
+ }
685
+ try {
686
+ const body = await request.json();
687
+ const { apiKey } = body;
688
+ // Validate input
689
+ if (!apiKey || typeof apiKey !== 'string') {
690
+ return NextResponse.json({ error: 'API key is required', code: 'VALIDATION_ERROR' }, { status: 400 });
691
+ }
692
+ const trimmedKey = apiKey.trim();
693
+ if (trimmedKey.length < 10) {
694
+ return NextResponse.json({ error: 'Invalid API key format', code: 'VALIDATION_ERROR' }, { status: 400 });
695
+ }
696
+ // Validate the key actually works with Shippo
697
+ const { validateShippoKey } = await import('../../shipping/shippo');
698
+ const validation = await validateShippoKey(trimmedKey);
699
+ if (!validation.valid) {
700
+ return NextResponse.json({ error: validation.error || 'Invalid Shippo API key', code: 'VALIDATION_ERROR' }, { status: 400 });
701
+ }
702
+ // Save to database
703
+ await upsertSettings({ shippoApiKey: trimmedKey });
704
+ // Return masked key for UI display
705
+ const maskedKey = `...${trimmedKey.slice(-4)}`;
706
+ return NextResponse.json({
707
+ success: true,
708
+ maskedKey,
709
+ message: 'Shippo API key saved successfully',
710
+ });
711
+ }
712
+ catch (error) {
713
+ console.error('[Admin Shipping API] saveShippoApiKey error:', error);
714
+ return NextResponse.json({ error: 'Failed to save Shippo API key', code: 'INTERNAL_ERROR' }, { status: 500 });
715
+ }
716
+ }
717
+ /**
718
+ * DELETE /api/admin/shipping/shippo/api-key
719
+ *
720
+ * Remove Shippo API key from database.
721
+ * After removal, system will fallback to SHIPPO_API_KEY environment variable if set.
722
+ *
723
+ * Response:
724
+ * ```json
725
+ * { "success": true, "message": "Shippo API key removed" }
726
+ * ```
727
+ */
728
+ export async function deleteShippoApiKey() {
729
+ const guard = await requireAdmin({ permission: 'settings.write' });
730
+ if (!guard.ok) {
731
+ return guard.response;
732
+ }
733
+ try {
734
+ // Set to null in database
735
+ await upsertSettings({ shippoApiKey: null });
736
+ return NextResponse.json({
737
+ success: true,
738
+ message: 'Shippo API key removed. Will fallback to environment variable if configured.',
739
+ });
740
+ }
741
+ catch (error) {
742
+ console.error('[Admin Shipping API] deleteShippoApiKey error:', error);
743
+ return NextResponse.json({ error: 'Failed to remove Shippo API key', code: 'INTERNAL_ERROR' }, { status: 500 });
744
+ }
745
+ }
746
+ //# sourceMappingURL=shipping.js.map