@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,104 @@
1
+ /**
2
+ * @rovela/sdk/checkout/api/payment-status
3
+ *
4
+ * API route handler for checking payment configuration status.
5
+ * Returns whether the store can accept payments.
6
+ *
7
+ * This handler verifies:
8
+ * 1. Environment variables are configured (STRIPE_SECRET_KEY, publishable key)
9
+ * 2. Connected account ID is set (STRIPE_CONNECTED_ACCOUNT_ID)
10
+ * 3. Connected account is active with charges_enabled (via Stripe API)
11
+ *
12
+ * Usage in Next.js App Router:
13
+ * ```typescript
14
+ * // app/api/checkout/status/route.ts
15
+ * export { GET } from '@rovela-ai/sdk/checkout/api/payment-status'
16
+ * ```
17
+ */
18
+ import { NextResponse } from 'next/server';
19
+ import { getStripe } from '../stripe/client';
20
+ // =============================================================================
21
+ // Handler
22
+ // =============================================================================
23
+ /**
24
+ * GET /api/checkout/status
25
+ *
26
+ * Checks if the store is configured to accept payments.
27
+ * Performs actual Stripe API call to verify account status.
28
+ *
29
+ * Response:
30
+ * - canAcceptPayments: boolean
31
+ * - status: 'active' | 'not_configured' | 'incomplete' | 'restricted' | 'pending'
32
+ * - message: Human-readable explanation
33
+ */
34
+ export async function GET() {
35
+ // Check for connected account
36
+ const connectedAccountId = process.env.STRIPE_CONNECTED_ACCOUNT_ID;
37
+ if (!connectedAccountId) {
38
+ return NextResponse.json({
39
+ canAcceptPayments: false,
40
+ status: 'not_configured',
41
+ message: 'Payment setup is not complete. The store owner needs to connect their Stripe account.',
42
+ });
43
+ }
44
+ // Check for platform credentials
45
+ const secretKey = process.env.STRIPE_SECRET_KEY;
46
+ const publishableKey = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY;
47
+ if (!secretKey || !publishableKey) {
48
+ return NextResponse.json({
49
+ canAcceptPayments: false,
50
+ status: 'incomplete',
51
+ message: 'Payment system configuration is incomplete.',
52
+ });
53
+ }
54
+ // Verify the connected account status with Stripe
55
+ try {
56
+ const stripe = getStripe();
57
+ const account = await stripe.accounts.retrieve(connectedAccountId);
58
+ const chargesEnabled = account.charges_enabled ?? false;
59
+ const payoutsEnabled = account.payouts_enabled ?? false;
60
+ const detailsSubmitted = account.details_submitted ?? false;
61
+ // Include details in development mode for debugging
62
+ const isDev = process.env.NODE_ENV === 'development';
63
+ const details = isDev
64
+ ? { chargesEnabled, payoutsEnabled, detailsSubmitted }
65
+ : undefined;
66
+ // Check if account can accept charges
67
+ if (!chargesEnabled) {
68
+ // Determine why charges are disabled
69
+ if (!detailsSubmitted) {
70
+ return NextResponse.json({
71
+ canAcceptPayments: false,
72
+ status: 'pending',
73
+ message: 'Payment setup is pending. The store owner needs to complete Stripe onboarding.',
74
+ details,
75
+ });
76
+ }
77
+ // Details submitted but charges still disabled = restricted
78
+ return NextResponse.json({
79
+ canAcceptPayments: false,
80
+ status: 'restricted',
81
+ message: 'Payment account is restricted. Please check your Stripe dashboard for required actions.',
82
+ details,
83
+ });
84
+ }
85
+ // All good - account is active and can accept charges
86
+ return NextResponse.json({
87
+ canAcceptPayments: true,
88
+ status: 'active',
89
+ message: 'Ready to accept payments.',
90
+ details,
91
+ });
92
+ }
93
+ catch (error) {
94
+ console.error('[Payment Status] Error verifying Stripe account:', error);
95
+ // If we can't verify, fall back to assuming configured but unknown
96
+ // This prevents blocking checkout if Stripe API is temporarily unavailable
97
+ return NextResponse.json({
98
+ canAcceptPayments: true,
99
+ status: 'active',
100
+ message: 'Payment system is configured.',
101
+ });
102
+ }
103
+ }
104
+ //# sourceMappingURL=payment-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-status.js","sourceRoot":"","sources":["../../../src/checkout/api/payment-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAqB5C,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAA;IAElE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,uFAAuF;SACjG,CAAC,CAAA;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAA;IAErE,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,6CAA6C;SACvD,CAAC,CAAA;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAElE,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAA;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAA;QACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAA;QAE3D,oDAAoD;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAA;QACpD,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE;YACtD,CAAC,CAAC,SAAS,CAAA;QAEb,sCAAsC;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,qCAAqC;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,YAAY,CAAC,IAAI,CAAC;oBACvB,iBAAiB,EAAE,KAAK;oBACxB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,gFAAgF;oBACzF,OAAO;iBACR,CAAC,CAAA;YACJ,CAAC;YAED,4DAA4D;YAC5D,OAAO,YAAY,CAAC,IAAI,CAAC;gBACvB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,yFAAyF;gBAClG,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QAED,sDAAsD;QACtD,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,2BAA2B;YACpC,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAA;QAExE,mEAAmE;QACnE,2EAA2E;QAC3E,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @rovela/sdk/checkout/api/shipping
3
+ *
4
+ * API route handler for calculating shipping options.
5
+ * Supports both manual (zones/rates) and Shippo (carrier API) modes.
6
+ *
7
+ * Usage in Next.js App Router:
8
+ * ```typescript
9
+ * // app/api/checkout/shipping/route.ts
10
+ * export { ShippingPOST as POST } from '@rovela/sdk/checkout/api'
11
+ * ```
12
+ */
13
+ import { NextRequest, NextResponse } from 'next/server';
14
+ import type { ShippingCalculationResponse, CheckoutApiError } from '../types';
15
+ /**
16
+ * POST /api/checkout/shipping
17
+ *
18
+ * Calculate available shipping options based on destination address.
19
+ * Automatically switches between manual (zones/rates) and Shippo (carrier API)
20
+ * modes based on store settings.
21
+ *
22
+ * Request Body:
23
+ * - address: Full shipping address (required)
24
+ * - items: Array of { price, quantity } for order total calculation (required)
25
+ *
26
+ * Response:
27
+ * - success: boolean
28
+ * - options: ShippingOptionsGroupedByCarrier[]
29
+ * - flatOptions: ShippingOption[]
30
+ * - mode: 'manual' | 'shippo'
31
+ * - error?: string (if calculation failed)
32
+ */
33
+ export declare function POST(request: NextRequest): Promise<NextResponse<ShippingCalculationResponse | CheckoutApiError>>;
34
+ //# sourceMappingURL=shipping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping.d.ts","sourceRoot":"","sources":["../../../src/checkout/api/shipping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EACV,2BAA2B,EAG3B,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAqCjB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,2BAA2B,GAAG,gBAAgB,CAAC,CAAC,CA2PvE"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * @rovela/sdk/checkout/api/shipping
3
+ *
4
+ * API route handler for calculating shipping options.
5
+ * Supports both manual (zones/rates) and Shippo (carrier API) modes.
6
+ *
7
+ * Usage in Next.js App Router:
8
+ * ```typescript
9
+ * // app/api/checkout/shipping/route.ts
10
+ * export { ShippingPOST as POST } from '@rovela/sdk/checkout/api'
11
+ * ```
12
+ */
13
+ import { NextResponse } from 'next/server';
14
+ import { findSettings, findShippingOptionsForCountry, findTaxRateForAddress } from '../../core/db/queries';
15
+ import { getShippoRates, groupShippoRatesByCarrier, shippingAddressToShippo, } from '../../shipping/shippo';
16
+ import { countryRequiresState } from '../constants';
17
+ // =============================================================================
18
+ // Handler
19
+ // =============================================================================
20
+ /**
21
+ * POST /api/checkout/shipping
22
+ *
23
+ * Calculate available shipping options based on destination address.
24
+ * Automatically switches between manual (zones/rates) and Shippo (carrier API)
25
+ * modes based on store settings.
26
+ *
27
+ * Request Body:
28
+ * - address: Full shipping address (required)
29
+ * - items: Array of { price, quantity } for order total calculation (required)
30
+ *
31
+ * Response:
32
+ * - success: boolean
33
+ * - options: ShippingOptionsGroupedByCarrier[]
34
+ * - flatOptions: ShippingOption[]
35
+ * - mode: 'manual' | 'shippo'
36
+ * - error?: string (if calculation failed)
37
+ */
38
+ export async function POST(request) {
39
+ try {
40
+ const body = (await request.json());
41
+ // Validate address
42
+ if (!body.address) {
43
+ return NextResponse.json({ error: 'Address is required', code: 'INVALID_REQUEST' }, { status: 400 });
44
+ }
45
+ const { address, items } = body;
46
+ // Validate required address fields
47
+ if (!address.firstName || !address.lastName) {
48
+ return NextResponse.json({ error: 'First name and last name are required', code: 'INVALID_REQUEST' }, { status: 400 });
49
+ }
50
+ // State is only required for countries that have states (e.g., US)
51
+ const stateRequired = countryRequiresState(address.country || '');
52
+ if (!address.line1 || !address.city || (stateRequired && !address.state) || !address.postalCode || !address.country) {
53
+ const requiredFields = ['line1', 'city', 'postalCode', 'country'];
54
+ if (stateRequired)
55
+ requiredFields.splice(2, 0, 'state'); // Insert state after city
56
+ return NextResponse.json({ error: `Complete address is required (${requiredFields.join(', ')})`, code: 'INVALID_REQUEST' }, { status: 400 });
57
+ }
58
+ // Validate items
59
+ if (!items || !Array.isArray(items) || items.length === 0) {
60
+ return NextResponse.json({ error: 'Items array is required for order total calculation', code: 'INVALID_REQUEST' }, { status: 400 });
61
+ }
62
+ // Calculate order total in cents (items come from useCheckout with prices in cents)
63
+ const orderAmountCents = items.reduce((sum, item) => sum + (item.price * item.quantity), 0);
64
+ // Convert to dollars for DB queries (min/max order amounts are stored in dollars)
65
+ const orderAmountDollars = orderAmountCents / 100;
66
+ // Fetch store settings to determine shipping mode
67
+ const settings = await findSettings();
68
+ const shippingMode = settings?.shippingMode || 'manual';
69
+ const shippingEnabled = settings?.shippingEnabled ?? true;
70
+ if (!shippingEnabled) {
71
+ return NextResponse.json({
72
+ success: true,
73
+ options: [],
74
+ flatOptions: [],
75
+ mode: shippingMode,
76
+ error: 'Shipping is not enabled for this store',
77
+ });
78
+ }
79
+ let groupedOptions = [];
80
+ if (shippingMode === 'shippo') {
81
+ // =======================================================================
82
+ // Shippo Mode: Get real-time carrier rates
83
+ // =======================================================================
84
+ const shippoFromAddress = settings?.shippoFromAddress;
85
+ const shippoDefaultParcel = settings?.shippoDefaultParcel;
86
+ if (!shippoFromAddress) {
87
+ return NextResponse.json({
88
+ success: false,
89
+ options: [],
90
+ flatOptions: [],
91
+ mode: 'shippo',
92
+ error: 'Shippo is not properly configured. Store address is missing.',
93
+ });
94
+ }
95
+ if (!shippoDefaultParcel) {
96
+ return NextResponse.json({
97
+ success: false,
98
+ options: [],
99
+ flatOptions: [],
100
+ mode: 'shippo',
101
+ error: 'Shippo is not properly configured. Default parcel dimensions are missing.',
102
+ });
103
+ }
104
+ try {
105
+ // Convert our ShippingAddress to Shippo format
106
+ const toAddress = shippingAddressToShippo(address);
107
+ // Get rates from Shippo
108
+ const rates = await getShippoRates({
109
+ fromAddress: shippoFromAddress,
110
+ toAddress,
111
+ parcel: shippoDefaultParcel,
112
+ });
113
+ // Group rates by carrier for consistent UI
114
+ groupedOptions = groupShippoRatesByCarrier(rates);
115
+ }
116
+ catch (error) {
117
+ console.error('[Shipping API] Shippo error:', error);
118
+ return NextResponse.json({
119
+ success: false,
120
+ options: [],
121
+ flatOptions: [],
122
+ mode: 'shippo',
123
+ error: error instanceof Error
124
+ ? `Failed to get carrier rates: ${error.message}`
125
+ : 'Failed to get carrier rates',
126
+ });
127
+ }
128
+ }
129
+ else {
130
+ // =======================================================================
131
+ // Manual Mode: Use configured zones and rates
132
+ // =======================================================================
133
+ try {
134
+ // Convert country code to uppercase for consistency
135
+ const country = address.country.toUpperCase();
136
+ // Get shipping options for this country and order amount (in dollars for DB query)
137
+ const dbOptions = await findShippingOptionsForCountry(country, orderAmountDollars);
138
+ // Convert prices from dollars (DB storage) to cents (frontend/Stripe expects cents)
139
+ groupedOptions = dbOptions.map(group => ({
140
+ ...group,
141
+ options: group.options.map(opt => ({
142
+ ...opt,
143
+ price: Math.round(opt.price * 100), // dollars to cents
144
+ })),
145
+ }));
146
+ // Check for free shipping threshold
147
+ const freeShippingThreshold = settings?.freeShippingThreshold;
148
+ if (freeShippingThreshold && orderAmountDollars >= freeShippingThreshold) {
149
+ // Add free shipping option at the start
150
+ const currency = settings?.storeCurrency || 'USD';
151
+ const formattedThreshold = new Intl.NumberFormat('en-US', {
152
+ style: 'currency',
153
+ currency: currency,
154
+ }).format(freeShippingThreshold);
155
+ const freeShippingGroup = {
156
+ carrier: {
157
+ id: 'free-shipping',
158
+ name: 'Free Shipping',
159
+ code: 'free-shipping',
160
+ },
161
+ options: [
162
+ {
163
+ id: 'free-shipping',
164
+ carrierName: 'Free Shipping',
165
+ carrierCode: 'free-shipping',
166
+ name: 'Free Shipping',
167
+ description: `Free shipping on orders over ${formattedThreshold}`,
168
+ price: 0,
169
+ estimatedDays: '5-7',
170
+ source: 'manual',
171
+ },
172
+ ],
173
+ };
174
+ groupedOptions = [freeShippingGroup, ...groupedOptions];
175
+ }
176
+ }
177
+ catch (error) {
178
+ console.error('[Shipping API] Manual mode error:', error);
179
+ return NextResponse.json({
180
+ success: false,
181
+ options: [],
182
+ flatOptions: [],
183
+ mode: 'manual',
184
+ error: error instanceof Error
185
+ ? `Failed to calculate shipping: ${error.message}`
186
+ : 'Failed to calculate shipping',
187
+ });
188
+ }
189
+ }
190
+ // Flatten options for convenience
191
+ const flatOptions = groupedOptions.flatMap((group) => group.options);
192
+ // =========================================================================
193
+ // Calculate Tax
194
+ // =========================================================================
195
+ let tax = null;
196
+ try {
197
+ // Look up tax zone for the customer's address
198
+ const taxMatch = await findTaxRateForAddress(address.country.toUpperCase(), address.state?.toUpperCase());
199
+ if (taxMatch && taxMatch.taxRate > 0) {
200
+ const taxIncludedInPrices = settings?.taxIncludedInPrices ?? true;
201
+ const taxRate = taxMatch.taxRate; // Percentage (e.g., 8.25 = 8.25%)
202
+ // Calculate tax based on mode
203
+ // Note: orderAmountCents is the subtotal, tax applies to subtotal only
204
+ // (Shipping tax calculation can be added later if needed)
205
+ let taxAmountCents;
206
+ if (taxIncludedInPrices) {
207
+ // Prices already include tax - extract the tax portion
208
+ // Formula: taxAmount = subtotal - (subtotal / (1 + taxRate/100))
209
+ const taxDivisor = 1 + (taxRate / 100);
210
+ const preTaxAmount = orderAmountCents / taxDivisor;
211
+ taxAmountCents = Math.round(orderAmountCents - preTaxAmount);
212
+ }
213
+ else {
214
+ // Prices are pre-tax - add tax on top
215
+ // Formula: taxAmount = subtotal * (taxRate/100)
216
+ taxAmountCents = Math.round(orderAmountCents * (taxRate / 100));
217
+ }
218
+ tax = {
219
+ zoneId: taxMatch.zoneId,
220
+ zoneName: taxMatch.zoneName,
221
+ taxRate: taxRate,
222
+ amount: taxAmountCents,
223
+ includedInPrices: taxIncludedInPrices,
224
+ };
225
+ }
226
+ }
227
+ catch (error) {
228
+ // Tax calculation is non-fatal - log and continue with no tax
229
+ console.warn('[Shipping API] Tax calculation error:', error);
230
+ }
231
+ return NextResponse.json({
232
+ success: true,
233
+ options: groupedOptions,
234
+ flatOptions,
235
+ mode: shippingMode,
236
+ tax,
237
+ });
238
+ }
239
+ catch (error) {
240
+ console.error('[Shipping API] Error:', error);
241
+ return NextResponse.json({
242
+ error: 'Failed to calculate shipping options. Please try again.',
243
+ code: 'CHECKOUT_ERROR',
244
+ }, { status: 500 });
245
+ }
246
+ }
247
+ //# sourceMappingURL=shipping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping.js","sourceRoot":"","sources":["../../../src/checkout/api/shipping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @rovela/sdk/checkout/api/webhook
3
+ *
4
+ * API route handler for Stripe webhooks.
5
+ *
6
+ * Usage in Next.js App Router:
7
+ * ```typescript
8
+ * // app/api/webhooks/stripe/route.ts
9
+ * export { POST } from '@rovela/sdk/checkout/api'
10
+ * ```
11
+ */
12
+ import { NextResponse } from 'next/server';
13
+ import { handleStripeWebhook } from '../server/handle-webhook';
14
+ // =============================================================================
15
+ // Handler
16
+ // =============================================================================
17
+ /**
18
+ * POST /api/webhooks/stripe
19
+ *
20
+ * Handles incoming Stripe webhook events.
21
+ * Verifies the signature and processes the event.
22
+ *
23
+ * Required Headers:
24
+ * - stripe-signature: Webhook signature from Stripe
25
+ *
26
+ * Response:
27
+ * - received: Whether the event was received
28
+ * - event: The event type (if processed)
29
+ * - orderId: The order ID (if created)
30
+ * - error: Error message (if failed)
31
+ */
32
+ export async function POST(request) {
33
+ // Get raw body for signature verification
34
+ const payload = await request.text();
35
+ // Get signature header
36
+ const signature = request.headers.get('stripe-signature');
37
+ if (!signature) {
38
+ console.error('[Webhook] Missing stripe-signature header');
39
+ return NextResponse.json({ received: false, error: 'Missing stripe-signature header' }, { status: 400 });
40
+ }
41
+ // Process the webhook
42
+ const result = await handleStripeWebhook(payload, signature);
43
+ // Return appropriate status based on result
44
+ if (!result.received) {
45
+ return NextResponse.json(result, { status: 400 });
46
+ }
47
+ if (result.error) {
48
+ // Event received but processing failed - return 200 to prevent retries
49
+ // for non-recoverable errors (Stripe will retry on 5xx)
50
+ console.warn('[Webhook] Processing error:', result.error);
51
+ return NextResponse.json(result, { status: 200 });
52
+ }
53
+ return NextResponse.json(result, { status: 200 });
54
+ }
55
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/checkout/api/webhook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAG9D,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,OAAoB;IAEpB,0CAA0C;IAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;IAEpC,uBAAuB;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC1D,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAC7D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE5D,4CAA4C;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,uEAAuE;QACvE,wDAAwD;QACxD,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACzD,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/CheckoutButton
3
+ *
4
+ * Button that initiates Stripe Checkout.
5
+ * Automatically checks payment configuration and shows appropriate state.
6
+ */
7
+ import type { CheckoutButtonProps } from '../types';
8
+ /**
9
+ * Button that initiates Stripe Checkout with cart items.
10
+ *
11
+ * Automatically checks if payments are configured and shows appropriate state:
12
+ * - If payments are active: Shows normal checkout button
13
+ * - If payments are not configured: Shows disabled state with message
14
+ * - If loading: Shows loading state
15
+ *
16
+ * @example Basic usage
17
+ * ```tsx
18
+ * import { CheckoutButton } from '@rovela/sdk/checkout'
19
+ *
20
+ * function Cart() {
21
+ * return (
22
+ * <div>
23
+ * <CartItems />
24
+ * <CheckoutButton />
25
+ * </div>
26
+ * )
27
+ * }
28
+ * ```
29
+ *
30
+ * @example With custom content
31
+ * ```tsx
32
+ * <CheckoutButton size="lg" fullWidth>
33
+ * Proceed to Payment
34
+ * </CheckoutButton>
35
+ * ```
36
+ *
37
+ * @example With callbacks
38
+ * ```tsx
39
+ * <CheckoutButton
40
+ * onBeforeCheckout={async () => {
41
+ * await saveCart()
42
+ * }}
43
+ * onError={(error) => {
44
+ * showToast(error.message)
45
+ * }}
46
+ * />
47
+ * ```
48
+ *
49
+ * @example Skip payment status check (for faster UX if you know payments are configured)
50
+ * ```tsx
51
+ * <CheckoutButton skipPaymentCheck />
52
+ * ```
53
+ */
54
+ export declare function CheckoutButton({ children, disabled, className, onBeforeCheckout, onError, size, fullWidth, skipPaymentCheck, }: CheckoutButtonProps): import("react/jsx-runtime").JSX.Element;
55
+ //# sourceMappingURL=CheckoutButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckoutButton.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAW,EACX,SAAiB,EACjB,gBAAwB,GACzB,EAAE,mBAAmB,2CA+HrB"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/CheckoutButton
3
+ *
4
+ * Button that initiates Stripe Checkout.
5
+ * Automatically checks payment configuration and shows appropriate state.
6
+ */
7
+ 'use client';
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ import { Loader2, AlertCircle } from 'lucide-react';
10
+ import { useCheckout } from '../hooks/useCheckout';
11
+ import { usePaymentStatus } from '../hooks/usePaymentStatus';
12
+ import { cn } from '../../core/utils';
13
+ // =============================================================================
14
+ // Component
15
+ // =============================================================================
16
+ /**
17
+ * Button that initiates Stripe Checkout with cart items.
18
+ *
19
+ * Automatically checks if payments are configured and shows appropriate state:
20
+ * - If payments are active: Shows normal checkout button
21
+ * - If payments are not configured: Shows disabled state with message
22
+ * - If loading: Shows loading state
23
+ *
24
+ * @example Basic usage
25
+ * ```tsx
26
+ * import { CheckoutButton } from '@rovela/sdk/checkout'
27
+ *
28
+ * function Cart() {
29
+ * return (
30
+ * <div>
31
+ * <CartItems />
32
+ * <CheckoutButton />
33
+ * </div>
34
+ * )
35
+ * }
36
+ * ```
37
+ *
38
+ * @example With custom content
39
+ * ```tsx
40
+ * <CheckoutButton size="lg" fullWidth>
41
+ * Proceed to Payment
42
+ * </CheckoutButton>
43
+ * ```
44
+ *
45
+ * @example With callbacks
46
+ * ```tsx
47
+ * <CheckoutButton
48
+ * onBeforeCheckout={async () => {
49
+ * await saveCart()
50
+ * }}
51
+ * onError={(error) => {
52
+ * showToast(error.message)
53
+ * }}
54
+ * />
55
+ * ```
56
+ *
57
+ * @example Skip payment status check (for faster UX if you know payments are configured)
58
+ * ```tsx
59
+ * <CheckoutButton skipPaymentCheck />
60
+ * ```
61
+ */
62
+ export function CheckoutButton({ children = 'Checkout', disabled = false, className, onBeforeCheckout, onError, size = 'md', fullWidth = false, skipPaymentCheck = false, }) {
63
+ const paymentStatus = usePaymentStatus();
64
+ const { checkout, isLoading } = useCheckout({
65
+ onError: (err) => {
66
+ if (onError) {
67
+ // Provide user-friendly message for guest checkout disabled
68
+ if (err.code === 'GUEST_CHECKOUT_DISABLED') {
69
+ onError(new Error('Please sign in to continue. Guest checkout is disabled for this store.'));
70
+ }
71
+ else {
72
+ onError(new Error(err.error));
73
+ }
74
+ }
75
+ },
76
+ });
77
+ // Check if payments are unavailable
78
+ const paymentsUnavailable = !skipPaymentCheck && !paymentStatus.isLoading && !paymentStatus.canAcceptPayments;
79
+ const handleClick = async () => {
80
+ try {
81
+ if (onBeforeCheckout) {
82
+ await onBeforeCheckout();
83
+ }
84
+ await checkout();
85
+ }
86
+ catch (err) {
87
+ if (onError && err instanceof Error) {
88
+ onError(err);
89
+ }
90
+ }
91
+ };
92
+ // Size classes
93
+ const sizeClasses = {
94
+ sm: 'px-4 py-2 text-sm',
95
+ md: 'px-6 py-3 text-base',
96
+ lg: 'px-8 py-4 text-lg',
97
+ };
98
+ // If payments are unavailable, show a disabled state with message
99
+ if (paymentsUnavailable) {
100
+ return (_jsxs("div", { className: cn('flex flex-col gap-2', fullWidth && 'w-full'), children: [_jsxs("button", { type: "button", disabled: true, className: cn(
101
+ // Base styles
102
+ 'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors',
103
+ // Disabled styles - muted appearance
104
+ 'bg-muted text-muted-foreground', 'cursor-not-allowed opacity-60',
105
+ // Size
106
+ sizeClasses[size],
107
+ // Width
108
+ fullWidth && 'w-full', className), children: [_jsx(AlertCircle, { className: "h-4 w-4 mr-2" }), "Checkout Unavailable"] }), _jsx("p", { className: "text-xs text-muted-foreground text-center", children: paymentStatus.message })] }));
109
+ }
110
+ // Show loading state while checking payment status
111
+ if (!skipPaymentCheck && paymentStatus.isLoading) {
112
+ return (_jsxs("button", { type: "button", disabled: true, className: cn(
113
+ // Base styles
114
+ 'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors', 'bg-primary text-primary-foreground', 'opacity-70 cursor-wait',
115
+ // Size
116
+ sizeClasses[size],
117
+ // Width
118
+ fullWidth && 'w-full', className), children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin mr-2" }), "Loading..."] }));
119
+ }
120
+ return (_jsx("button", { type: "button", onClick: handleClick, disabled: disabled || isLoading, className: cn(
121
+ // Base styles
122
+ 'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors', 'focus:outline-none focus:ring-2 focus:ring-offset-2',
123
+ // Colors
124
+ 'bg-primary text-primary-foreground', 'hover:bg-primary/90', 'focus:ring-primary',
125
+ // Disabled
126
+ 'disabled:opacity-50 disabled:cursor-not-allowed',
127
+ // Size
128
+ sizeClasses[size],
129
+ // Width
130
+ fullWidth && 'w-full', className), children: isLoading ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin mr-2" }), "Redirecting..."] })) : (children) }));
131
+ }
132
+ //# sourceMappingURL=CheckoutButton.js.map