@rovela-ai/sdk 0.1.2 → 0.1.3

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 (569) hide show
  1. package/dist/admin/api/auth.d.ts +32 -0
  2. package/dist/admin/api/auth.d.ts.map +1 -0
  3. package/dist/admin/api/auth.js +43 -0
  4. package/dist/admin/api/auth.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 +247 -0
  8. package/dist/admin/api/categories.js.map +1 -0
  9. package/dist/admin/api/customers.d.ts +41 -0
  10. package/dist/admin/api/customers.d.ts.map +1 -0
  11. package/dist/admin/api/customers.js +113 -0
  12. package/dist/admin/api/customers.js.map +1 -0
  13. package/dist/admin/api/index.d.ts +56 -0
  14. package/dist/admin/api/index.d.ts.map +1 -0
  15. package/dist/admin/api/index.js +87 -0
  16. package/dist/admin/api/index.js.map +1 -0
  17. package/dist/admin/api/orders.d.ts +59 -0
  18. package/dist/admin/api/orders.d.ts.map +1 -0
  19. package/dist/admin/api/orders.js +209 -0
  20. package/dist/admin/api/orders.js.map +1 -0
  21. package/dist/admin/api/products.d.ts +103 -0
  22. package/dist/admin/api/products.d.ts.map +1 -0
  23. package/dist/admin/api/products.js +329 -0
  24. package/dist/admin/api/products.js.map +1 -0
  25. package/dist/admin/api/refund.d.ts +29 -0
  26. package/dist/admin/api/refund.d.ts.map +1 -0
  27. package/dist/admin/api/refund.js +136 -0
  28. package/dist/admin/api/refund.js.map +1 -0
  29. package/dist/admin/api/stats.d.ts +40 -0
  30. package/dist/admin/api/stats.d.ts.map +1 -0
  31. package/dist/admin/api/stats.js +74 -0
  32. package/dist/admin/api/stats.js.map +1 -0
  33. package/dist/admin/components/AdminGuard.d.ts +40 -0
  34. package/dist/admin/components/AdminGuard.d.ts.map +1 -0
  35. package/dist/admin/components/AdminGuard.js +97 -0
  36. package/dist/admin/components/AdminGuard.js.map +1 -0
  37. package/dist/admin/components/AdminHeader.d.ts +18 -0
  38. package/dist/admin/components/AdminHeader.d.ts.map +1 -0
  39. package/dist/admin/components/AdminHeader.js +33 -0
  40. package/dist/admin/components/AdminHeader.js.map +1 -0
  41. package/dist/admin/components/AdminLayout.d.ts +50 -0
  42. package/dist/admin/components/AdminLayout.d.ts.map +1 -0
  43. package/dist/admin/components/AdminLayout.js +46 -0
  44. package/dist/admin/components/AdminLayout.js.map +1 -0
  45. package/dist/admin/components/AdminLoginForm.d.ts +18 -0
  46. package/dist/admin/components/AdminLoginForm.d.ts.map +1 -0
  47. package/dist/admin/components/AdminLoginForm.js +58 -0
  48. package/dist/admin/components/AdminLoginForm.js.map +1 -0
  49. package/dist/admin/components/AdminNav.d.ts +34 -0
  50. package/dist/admin/components/AdminNav.d.ts.map +1 -0
  51. package/dist/admin/components/AdminNav.js +61 -0
  52. package/dist/admin/components/AdminNav.js.map +1 -0
  53. package/dist/admin/components/InventoryEditor.d.ts +15 -0
  54. package/dist/admin/components/InventoryEditor.d.ts.map +1 -0
  55. package/dist/admin/components/InventoryEditor.js +83 -0
  56. package/dist/admin/components/InventoryEditor.js.map +1 -0
  57. package/dist/admin/components/LowStockAlert.d.ts +11 -0
  58. package/dist/admin/components/LowStockAlert.d.ts.map +1 -0
  59. package/dist/admin/components/LowStockAlert.js +35 -0
  60. package/dist/admin/components/LowStockAlert.js.map +1 -0
  61. package/dist/admin/components/OrderDetails.d.ts +14 -0
  62. package/dist/admin/components/OrderDetails.d.ts.map +1 -0
  63. package/dist/admin/components/OrderDetails.js +94 -0
  64. package/dist/admin/components/OrderDetails.js.map +1 -0
  65. package/dist/admin/components/OrderTable.d.ts +13 -0
  66. package/dist/admin/components/OrderTable.d.ts.map +1 -0
  67. package/dist/admin/components/OrderTable.js +89 -0
  68. package/dist/admin/components/OrderTable.js.map +1 -0
  69. package/dist/admin/components/ProductForm.d.ts +18 -0
  70. package/dist/admin/components/ProductForm.d.ts.map +1 -0
  71. package/dist/admin/components/ProductForm.js +127 -0
  72. package/dist/admin/components/ProductForm.js.map +1 -0
  73. package/dist/admin/components/ProductTable.d.ts +13 -0
  74. package/dist/admin/components/ProductTable.d.ts.map +1 -0
  75. package/dist/admin/components/ProductTable.js +81 -0
  76. package/dist/admin/components/ProductTable.js.map +1 -0
  77. package/dist/admin/components/RecentOrders.d.ts +11 -0
  78. package/dist/admin/components/RecentOrders.d.ts.map +1 -0
  79. package/dist/admin/components/RecentOrders.js +58 -0
  80. package/dist/admin/components/RecentOrders.js.map +1 -0
  81. package/dist/admin/components/RefundDialog.d.ts +17 -0
  82. package/dist/admin/components/RefundDialog.d.ts.map +1 -0
  83. package/dist/admin/components/RefundDialog.js +86 -0
  84. package/dist/admin/components/RefundDialog.js.map +1 -0
  85. package/dist/admin/components/StatsCards.d.ts +23 -0
  86. package/dist/admin/components/StatsCards.d.ts.map +1 -0
  87. package/dist/admin/components/StatsCards.js +82 -0
  88. package/dist/admin/components/StatsCards.js.map +1 -0
  89. package/dist/admin/components/StoreSettings.d.ts +14 -0
  90. package/dist/admin/components/StoreSettings.d.ts.map +1 -0
  91. package/dist/admin/components/StoreSettings.js +88 -0
  92. package/dist/admin/components/StoreSettings.js.map +1 -0
  93. package/dist/admin/components/index.d.ts +21 -0
  94. package/dist/admin/components/index.d.ts.map +1 -0
  95. package/dist/admin/components/index.js +57 -0
  96. package/dist/admin/components/index.js.map +1 -0
  97. package/dist/admin/config.d.ts +74 -0
  98. package/dist/admin/config.d.ts.map +1 -0
  99. package/dist/admin/config.js +229 -0
  100. package/dist/admin/config.js.map +1 -0
  101. package/dist/admin/hooks/index.d.ts +10 -0
  102. package/dist/admin/hooks/index.d.ts.map +1 -0
  103. package/dist/admin/hooks/index.js +17 -0
  104. package/dist/admin/hooks/index.js.map +1 -0
  105. package/dist/admin/hooks/useAdminOrders.d.ts +41 -0
  106. package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
  107. package/dist/admin/hooks/useAdminOrders.js +191 -0
  108. package/dist/admin/hooks/useAdminOrders.js.map +1 -0
  109. package/dist/admin/hooks/useAdminProducts.d.ts +39 -0
  110. package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
  111. package/dist/admin/hooks/useAdminProducts.js +235 -0
  112. package/dist/admin/hooks/useAdminProducts.js.map +1 -0
  113. package/dist/admin/hooks/useAdminStats.d.ts +50 -0
  114. package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
  115. package/dist/admin/hooks/useAdminStats.js +111 -0
  116. package/dist/admin/hooks/useAdminStats.js.map +1 -0
  117. package/dist/admin/index.d.ts +63 -0
  118. package/dist/admin/index.d.ts.map +1 -0
  119. package/dist/admin/index.js +148 -0
  120. package/dist/admin/index.js.map +1 -0
  121. package/dist/admin/server/admin-service.d.ts +130 -0
  122. package/dist/admin/server/admin-service.d.ts.map +1 -0
  123. package/dist/admin/server/admin-service.js +298 -0
  124. package/dist/admin/server/admin-service.js.map +1 -0
  125. package/dist/admin/server/index.d.ts +8 -0
  126. package/dist/admin/server/index.d.ts.map +1 -0
  127. package/dist/admin/server/index.js +25 -0
  128. package/dist/admin/server/index.js.map +1 -0
  129. package/dist/admin/types.d.ts +549 -0
  130. package/dist/admin/types.d.ts.map +1 -0
  131. package/dist/admin/types.js +11 -0
  132. package/dist/admin/types.js.map +1 -0
  133. package/dist/auth/api/auth.d.ts +54 -0
  134. package/dist/auth/api/auth.d.ts.map +1 -0
  135. package/dist/auth/api/auth.js +67 -0
  136. package/dist/auth/api/auth.js.map +1 -0
  137. package/dist/auth/api/forgot-password.d.ts +41 -0
  138. package/dist/auth/api/forgot-password.d.ts.map +1 -0
  139. package/dist/auth/api/forgot-password.js +68 -0
  140. package/dist/auth/api/forgot-password.js.map +1 -0
  141. package/dist/auth/api/index.d.ts +34 -0
  142. package/dist/auth/api/index.d.ts.map +1 -0
  143. package/dist/auth/api/index.js +52 -0
  144. package/dist/auth/api/index.js.map +1 -0
  145. package/dist/auth/api/register.d.ts +41 -0
  146. package/dist/auth/api/register.d.ts.map +1 -0
  147. package/dist/auth/api/register.js +93 -0
  148. package/dist/auth/api/register.js.map +1 -0
  149. package/dist/auth/api/resend-verification.d.ts +41 -0
  150. package/dist/auth/api/resend-verification.d.ts.map +1 -0
  151. package/dist/auth/api/resend-verification.js +71 -0
  152. package/dist/auth/api/resend-verification.js.map +1 -0
  153. package/dist/auth/api/reset-password.d.ts +67 -0
  154. package/dist/auth/api/reset-password.d.ts.map +1 -0
  155. package/dist/auth/api/reset-password.js +110 -0
  156. package/dist/auth/api/reset-password.js.map +1 -0
  157. package/dist/auth/api/verify-email.d.ts +47 -0
  158. package/dist/auth/api/verify-email.d.ts.map +1 -0
  159. package/dist/auth/api/verify-email.js +94 -0
  160. package/dist/auth/api/verify-email.js.map +1 -0
  161. package/dist/auth/components/AuthGuard.d.ts +52 -0
  162. package/dist/auth/components/AuthGuard.d.ts.map +1 -0
  163. package/dist/auth/components/AuthGuard.js +113 -0
  164. package/dist/auth/components/AuthGuard.js.map +1 -0
  165. package/dist/auth/components/ForgotPasswordForm.d.ts +15 -0
  166. package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -0
  167. package/dist/auth/components/ForgotPasswordForm.js +44 -0
  168. package/dist/auth/components/ForgotPasswordForm.js.map +1 -0
  169. package/dist/auth/components/ResetPasswordForm.d.ts +18 -0
  170. package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -0
  171. package/dist/auth/components/ResetPasswordForm.js +88 -0
  172. package/dist/auth/components/ResetPasswordForm.js.map +1 -0
  173. package/dist/auth/components/SignInForm.d.ts +21 -0
  174. package/dist/auth/components/SignInForm.d.ts.map +1 -0
  175. package/dist/auth/components/SignInForm.js +63 -0
  176. package/dist/auth/components/SignInForm.js.map +1 -0
  177. package/dist/auth/components/SignUpForm.d.ts +18 -0
  178. package/dist/auth/components/SignUpForm.d.ts.map +1 -0
  179. package/dist/auth/components/SignUpForm.js +79 -0
  180. package/dist/auth/components/SignUpForm.js.map +1 -0
  181. package/dist/auth/components/UserMenu.d.ts +18 -0
  182. package/dist/auth/components/UserMenu.d.ts.map +1 -0
  183. package/dist/auth/components/UserMenu.js +75 -0
  184. package/dist/auth/components/UserMenu.js.map +1 -0
  185. package/dist/auth/components/VerifyEmailNotice.d.ts +20 -0
  186. package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -0
  187. package/dist/auth/components/VerifyEmailNotice.js +59 -0
  188. package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
  189. package/dist/auth/components/index.d.ts +13 -0
  190. package/dist/auth/components/index.d.ts.map +1 -0
  191. package/dist/auth/components/index.js +24 -0
  192. package/dist/auth/components/index.js.map +1 -0
  193. package/dist/auth/config.d.ts +42 -0
  194. package/dist/auth/config.d.ts.map +1 -0
  195. package/dist/auth/config.js +174 -0
  196. package/dist/auth/config.js.map +1 -0
  197. package/dist/auth/hooks/index.d.ts +7 -0
  198. package/dist/auth/hooks/index.d.ts.map +1 -0
  199. package/dist/auth/hooks/index.js +11 -0
  200. package/dist/auth/hooks/index.js.map +1 -0
  201. package/dist/auth/index.d.ts +54 -0
  202. package/dist/auth/index.d.ts.map +1 -0
  203. package/dist/auth/index.js +88 -0
  204. package/dist/auth/index.js.map +1 -0
  205. package/dist/auth/server/customer-service.d.ts +138 -0
  206. package/dist/auth/server/customer-service.d.ts.map +1 -0
  207. package/dist/auth/server/customer-service.js +309 -0
  208. package/dist/auth/server/customer-service.js.map +1 -0
  209. package/dist/auth/server/email-sender.d.ts +64 -0
  210. package/dist/auth/server/email-sender.d.ts.map +1 -0
  211. package/dist/auth/server/email-sender.js +112 -0
  212. package/dist/auth/server/email-sender.js.map +1 -0
  213. package/dist/auth/server/index.d.ts +13 -0
  214. package/dist/auth/server/index.d.ts.map +1 -0
  215. package/dist/auth/server/index.js +48 -0
  216. package/dist/auth/server/index.js.map +1 -0
  217. package/dist/auth/server/password-reset-service.d.ts +86 -0
  218. package/dist/auth/server/password-reset-service.d.ts.map +1 -0
  219. package/dist/auth/server/password-reset-service.js +236 -0
  220. package/dist/auth/server/password-reset-service.js.map +1 -0
  221. package/dist/auth/server/password.d.ts +58 -0
  222. package/dist/auth/server/password.d.ts.map +1 -0
  223. package/dist/auth/server/password.js +94 -0
  224. package/dist/auth/server/password.js.map +1 -0
  225. package/dist/auth/server/verification-service.d.ts +87 -0
  226. package/dist/auth/server/verification-service.d.ts.map +1 -0
  227. package/dist/auth/server/verification-service.js +268 -0
  228. package/dist/auth/server/verification-service.js.map +1 -0
  229. package/dist/auth/types.d.ts +305 -0
  230. package/dist/auth/types.d.ts.map +1 -0
  231. package/dist/auth/types.js +8 -0
  232. package/dist/auth/types.js.map +1 -0
  233. package/dist/cart/CartProvider.d.ts +65 -0
  234. package/dist/cart/CartProvider.d.ts.map +1 -0
  235. package/dist/cart/CartProvider.js +101 -0
  236. package/dist/cart/CartProvider.js.map +1 -0
  237. package/dist/cart/components/AddToCartButton.d.ts +77 -0
  238. package/dist/cart/components/AddToCartButton.d.ts.map +1 -0
  239. package/dist/cart/components/AddToCartButton.js +124 -0
  240. package/dist/cart/components/AddToCartButton.js.map +1 -0
  241. package/dist/cart/components/CartDrawer.d.ts +71 -0
  242. package/dist/cart/components/CartDrawer.d.ts.map +1 -0
  243. package/dist/cart/components/CartDrawer.js +108 -0
  244. package/dist/cart/components/CartDrawer.js.map +1 -0
  245. package/dist/cart/components/CartIcon.d.ts +36 -0
  246. package/dist/cart/components/CartIcon.d.ts.map +1 -0
  247. package/dist/cart/components/CartIcon.js +70 -0
  248. package/dist/cart/components/CartIcon.js.map +1 -0
  249. package/dist/cart/components/CartItem.d.ts +52 -0
  250. package/dist/cart/components/CartItem.d.ts.map +1 -0
  251. package/dist/cart/components/CartItem.js +55 -0
  252. package/dist/cart/components/CartItem.js.map +1 -0
  253. package/dist/cart/components/CartSummary.d.ts +43 -0
  254. package/dist/cart/components/CartSummary.d.ts.map +1 -0
  255. package/dist/cart/components/CartSummary.js +58 -0
  256. package/dist/cart/components/CartSummary.js.map +1 -0
  257. package/dist/cart/components/QuantitySelector.d.ts +39 -0
  258. package/dist/cart/components/QuantitySelector.d.ts.map +1 -0
  259. package/dist/cart/components/QuantitySelector.js +87 -0
  260. package/dist/cart/components/QuantitySelector.js.map +1 -0
  261. package/dist/cart/components/index.d.ts +18 -0
  262. package/dist/cart/components/index.d.ts.map +1 -0
  263. package/dist/cart/components/index.js +21 -0
  264. package/dist/cart/components/index.js.map +1 -0
  265. package/dist/cart/index.d.ts +109 -0
  266. package/dist/cart/index.d.ts.map +1 -0
  267. package/dist/cart/index.js +129 -0
  268. package/dist/cart/index.js.map +1 -0
  269. package/dist/cart/store.d.ts +101 -0
  270. package/dist/cart/store.d.ts.map +1 -0
  271. package/dist/cart/store.js +207 -0
  272. package/dist/cart/store.js.map +1 -0
  273. package/dist/checkout/api/checkout.d.ts +31 -0
  274. package/dist/checkout/api/checkout.d.ts.map +1 -0
  275. package/dist/checkout/api/checkout.js +103 -0
  276. package/dist/checkout/api/checkout.js.map +1 -0
  277. package/dist/checkout/api/index.d.ts +8 -0
  278. package/dist/checkout/api/index.d.ts.map +1 -0
  279. package/dist/checkout/api/index.js +13 -0
  280. package/dist/checkout/api/index.js.map +1 -0
  281. package/dist/checkout/api/webhook.d.ts +30 -0
  282. package/dist/checkout/api/webhook.d.ts.map +1 -0
  283. package/dist/checkout/api/webhook.js +58 -0
  284. package/dist/checkout/api/webhook.js.map +1 -0
  285. package/dist/checkout/components/CheckoutButton.d.ts +44 -0
  286. package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
  287. package/dist/checkout/components/CheckoutButton.js +97 -0
  288. package/dist/checkout/components/CheckoutButton.js.map +1 -0
  289. package/dist/checkout/components/CheckoutSuccess.d.ts +29 -0
  290. package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -0
  291. package/dist/checkout/components/CheckoutSuccess.js +60 -0
  292. package/dist/checkout/components/CheckoutSuccess.js.map +1 -0
  293. package/dist/checkout/components/OrderSummary.d.ts +37 -0
  294. package/dist/checkout/components/OrderSummary.d.ts.map +1 -0
  295. package/dist/checkout/components/OrderSummary.js +70 -0
  296. package/dist/checkout/components/OrderSummary.js.map +1 -0
  297. package/dist/checkout/components/ShippingForm.d.ts +30 -0
  298. package/dist/checkout/components/ShippingForm.d.ts.map +1 -0
  299. package/dist/checkout/components/ShippingForm.js +125 -0
  300. package/dist/checkout/components/ShippingForm.js.map +1 -0
  301. package/dist/checkout/components/index.d.ts +10 -0
  302. package/dist/checkout/components/index.d.ts.map +1 -0
  303. package/dist/checkout/components/index.js +17 -0
  304. package/dist/checkout/components/index.js.map +1 -0
  305. package/dist/checkout/hooks/index.d.ts +7 -0
  306. package/dist/checkout/hooks/index.d.ts.map +1 -0
  307. package/dist/checkout/hooks/index.js +12 -0
  308. package/dist/checkout/hooks/index.js.map +1 -0
  309. package/dist/checkout/hooks/useCheckout.d.ts +61 -0
  310. package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
  311. package/dist/checkout/hooks/useCheckout.js +174 -0
  312. package/dist/checkout/hooks/useCheckout.js.map +1 -0
  313. package/dist/checkout/index.d.ts +111 -0
  314. package/dist/checkout/index.d.ts.map +1 -0
  315. package/dist/checkout/index.js +148 -0
  316. package/dist/checkout/index.js.map +1 -0
  317. package/dist/checkout/server/create-checkout-session.d.ts +69 -0
  318. package/dist/checkout/server/create-checkout-session.d.ts.map +1 -0
  319. package/dist/checkout/server/create-checkout-session.js +190 -0
  320. package/dist/checkout/server/create-checkout-session.js.map +1 -0
  321. package/dist/checkout/server/handle-webhook.d.ts +35 -0
  322. package/dist/checkout/server/handle-webhook.d.ts.map +1 -0
  323. package/dist/checkout/server/handle-webhook.js +279 -0
  324. package/dist/checkout/server/handle-webhook.js.map +1 -0
  325. package/dist/checkout/server/index.d.ts +10 -0
  326. package/dist/checkout/server/index.d.ts.map +1 -0
  327. package/dist/checkout/server/index.js +19 -0
  328. package/dist/checkout/server/index.js.map +1 -0
  329. package/dist/checkout/server/order-service.d.ts +43 -0
  330. package/dist/checkout/server/order-service.d.ts.map +1 -0
  331. package/dist/checkout/server/order-service.js +196 -0
  332. package/dist/checkout/server/order-service.js.map +1 -0
  333. package/dist/checkout/stripe/client.d.ts +72 -0
  334. package/dist/checkout/stripe/client.d.ts.map +1 -0
  335. package/dist/checkout/stripe/client.js +189 -0
  336. package/dist/checkout/stripe/client.js.map +1 -0
  337. package/dist/checkout/stripe/index.d.ts +7 -0
  338. package/dist/checkout/stripe/index.d.ts.map +1 -0
  339. package/dist/checkout/stripe/index.js +21 -0
  340. package/dist/checkout/stripe/index.js.map +1 -0
  341. package/dist/checkout/types.d.ts +263 -0
  342. package/dist/checkout/types.d.ts.map +1 -0
  343. package/dist/checkout/types.js +9 -0
  344. package/dist/checkout/types.js.map +1 -0
  345. package/dist/core/config.d.ts +296 -0
  346. package/dist/core/config.d.ts.map +1 -0
  347. package/dist/core/config.js +162 -0
  348. package/dist/core/config.js.map +1 -0
  349. package/dist/core/db/client.d.ts +69 -0
  350. package/dist/core/db/client.d.ts.map +1 -0
  351. package/dist/core/db/client.js +202 -0
  352. package/dist/core/db/client.js.map +1 -0
  353. package/dist/core/db/index.d.ts +11 -0
  354. package/dist/core/db/index.d.ts.map +1 -0
  355. package/dist/core/db/index.js +87 -0
  356. package/dist/core/db/index.js.map +1 -0
  357. package/dist/core/db/queries.d.ts +658 -0
  358. package/dist/core/db/queries.d.ts.map +1 -0
  359. package/dist/core/db/queries.js +735 -0
  360. package/dist/core/db/queries.js.map +1 -0
  361. package/dist/core/db/schema.d.ts +1628 -0
  362. package/dist/core/db/schema.d.ts.map +1 -0
  363. package/dist/core/db/schema.js +262 -0
  364. package/dist/core/db/schema.js.map +1 -0
  365. package/dist/core/index.d.ts +20 -0
  366. package/dist/core/index.d.ts.map +1 -0
  367. package/dist/core/index.js +71 -0
  368. package/dist/core/index.js.map +1 -0
  369. package/dist/core/server/index.d.ts +17 -0
  370. package/dist/core/server/index.d.ts.map +1 -0
  371. package/dist/core/server/index.js +68 -0
  372. package/dist/core/server/index.js.map +1 -0
  373. package/dist/core/types.d.ts +230 -0
  374. package/dist/core/types.d.ts.map +1 -0
  375. package/dist/core/types.js +9 -0
  376. package/dist/core/types.js.map +1 -0
  377. package/dist/core/utils.d.ts +153 -0
  378. package/dist/core/utils.d.ts.map +1 -0
  379. package/dist/core/utils.js +356 -0
  380. package/dist/core/utils.js.map +1 -0
  381. package/dist/emails/config.d.ts +42 -0
  382. package/dist/emails/config.d.ts.map +1 -0
  383. package/dist/emails/config.js +89 -0
  384. package/dist/emails/config.js.map +1 -0
  385. package/dist/emails/index.d.ts +85 -0
  386. package/dist/emails/index.d.ts.map +1 -0
  387. package/dist/emails/index.js +170 -0
  388. package/dist/emails/index.js.map +1 -0
  389. package/dist/emails/send/auth.d.ts +91 -0
  390. package/dist/emails/send/auth.d.ts.map +1 -0
  391. package/dist/emails/send/auth.js +132 -0
  392. package/dist/emails/send/auth.js.map +1 -0
  393. package/dist/emails/send/index.d.ts +10 -0
  394. package/dist/emails/send/index.d.ts.map +1 -0
  395. package/dist/emails/send/index.js +33 -0
  396. package/dist/emails/send/index.js.map +1 -0
  397. package/dist/emails/send/orders.d.ts +180 -0
  398. package/dist/emails/send/orders.d.ts.map +1 -0
  399. package/dist/emails/send/orders.js +259 -0
  400. package/dist/emails/send/orders.js.map +1 -0
  401. package/dist/emails/sender.d.ts +72 -0
  402. package/dist/emails/sender.d.ts.map +1 -0
  403. package/dist/emails/sender.js +118 -0
  404. package/dist/emails/sender.js.map +1 -0
  405. package/dist/emails/templates/base.d.ts +105 -0
  406. package/dist/emails/templates/base.d.ts.map +1 -0
  407. package/dist/emails/templates/base.js +291 -0
  408. package/dist/emails/templates/base.js.map +1 -0
  409. package/dist/emails/templates/email-verification.d.ts +28 -0
  410. package/dist/emails/templates/email-verification.d.ts.map +1 -0
  411. package/dist/emails/templates/email-verification.js +56 -0
  412. package/dist/emails/templates/email-verification.js.map +1 -0
  413. package/dist/emails/templates/index.d.ts +15 -0
  414. package/dist/emails/templates/index.d.ts.map +1 -0
  415. package/dist/emails/templates/index.js +58 -0
  416. package/dist/emails/templates/index.js.map +1 -0
  417. package/dist/emails/templates/order-cancelled.d.ts +30 -0
  418. package/dist/emails/templates/order-cancelled.d.ts.map +1 -0
  419. package/dist/emails/templates/order-cancelled.js +87 -0
  420. package/dist/emails/templates/order-cancelled.js.map +1 -0
  421. package/dist/emails/templates/order-confirmation.d.ts +36 -0
  422. package/dist/emails/templates/order-confirmation.d.ts.map +1 -0
  423. package/dist/emails/templates/order-confirmation.js +161 -0
  424. package/dist/emails/templates/order-confirmation.js.map +1 -0
  425. package/dist/emails/templates/order-delivered.d.ts +31 -0
  426. package/dist/emails/templates/order-delivered.d.ts.map +1 -0
  427. package/dist/emails/templates/order-delivered.js +95 -0
  428. package/dist/emails/templates/order-delivered.js.map +1 -0
  429. package/dist/emails/templates/order-shipped.d.ts +32 -0
  430. package/dist/emails/templates/order-shipped.d.ts.map +1 -0
  431. package/dist/emails/templates/order-shipped.js +87 -0
  432. package/dist/emails/templates/order-shipped.js.map +1 -0
  433. package/dist/emails/templates/password-reset.d.ts +27 -0
  434. package/dist/emails/templates/password-reset.d.ts.map +1 -0
  435. package/dist/emails/templates/password-reset.js +55 -0
  436. package/dist/emails/templates/password-reset.js.map +1 -0
  437. package/dist/emails/templates/refund-processed.d.ts +32 -0
  438. package/dist/emails/templates/refund-processed.d.ts.map +1 -0
  439. package/dist/emails/templates/refund-processed.js +96 -0
  440. package/dist/emails/templates/refund-processed.js.map +1 -0
  441. package/dist/emails/templates/welcome.d.ts +27 -0
  442. package/dist/emails/templates/welcome.d.ts.map +1 -0
  443. package/dist/emails/templates/welcome.js +56 -0
  444. package/dist/emails/templates/welcome.js.map +1 -0
  445. package/dist/emails/types.d.ts +202 -0
  446. package/dist/emails/types.d.ts.map +1 -0
  447. package/dist/emails/types.js +8 -0
  448. package/dist/emails/types.js.map +1 -0
  449. package/dist/emails/utils.d.ts +94 -0
  450. package/dist/emails/utils.d.ts.map +1 -0
  451. package/dist/emails/utils.js +229 -0
  452. package/dist/emails/utils.js.map +1 -0
  453. package/dist/index.d.ts +40 -0
  454. package/dist/index.d.ts.map +1 -0
  455. package/dist/index.js +225 -0
  456. package/dist/index.js.map +1 -0
  457. package/dist/products/api/categories.d.ts +29 -0
  458. package/dist/products/api/categories.d.ts.map +1 -0
  459. package/dist/products/api/categories.js +49 -0
  460. package/dist/products/api/categories.js.map +1 -0
  461. package/dist/products/api/index.d.ts +24 -0
  462. package/dist/products/api/index.d.ts.map +1 -0
  463. package/dist/products/api/index.js +30 -0
  464. package/dist/products/api/index.js.map +1 -0
  465. package/dist/products/api/product.d.ts +36 -0
  466. package/dist/products/api/product.d.ts.map +1 -0
  467. package/dist/products/api/product.js +70 -0
  468. package/dist/products/api/product.js.map +1 -0
  469. package/dist/products/api/products.d.ts +41 -0
  470. package/dist/products/api/products.d.ts.map +1 -0
  471. package/dist/products/api/products.js +102 -0
  472. package/dist/products/api/products.js.map +1 -0
  473. package/dist/products/components/CategoryNav.d.ts +51 -0
  474. package/dist/products/components/CategoryNav.d.ts.map +1 -0
  475. package/dist/products/components/CategoryNav.js +115 -0
  476. package/dist/products/components/CategoryNav.js.map +1 -0
  477. package/dist/products/components/ProductBreadcrumb.d.ts +52 -0
  478. package/dist/products/components/ProductBreadcrumb.d.ts.map +1 -0
  479. package/dist/products/components/ProductBreadcrumb.js +78 -0
  480. package/dist/products/components/ProductBreadcrumb.js.map +1 -0
  481. package/dist/products/components/ProductCard.d.ts +54 -0
  482. package/dist/products/components/ProductCard.d.ts.map +1 -0
  483. package/dist/products/components/ProductCard.js +65 -0
  484. package/dist/products/components/ProductCard.js.map +1 -0
  485. package/dist/products/components/ProductDetails.d.ts +63 -0
  486. package/dist/products/components/ProductDetails.d.ts.map +1 -0
  487. package/dist/products/components/ProductDetails.js +105 -0
  488. package/dist/products/components/ProductDetails.js.map +1 -0
  489. package/dist/products/components/ProductFilters.d.ts +70 -0
  490. package/dist/products/components/ProductFilters.d.ts.map +1 -0
  491. package/dist/products/components/ProductFilters.js +127 -0
  492. package/dist/products/components/ProductFilters.js.map +1 -0
  493. package/dist/products/components/ProductGallery.d.ts +37 -0
  494. package/dist/products/components/ProductGallery.d.ts.map +1 -0
  495. package/dist/products/components/ProductGallery.js +80 -0
  496. package/dist/products/components/ProductGallery.js.map +1 -0
  497. package/dist/products/components/ProductGrid.d.ts +50 -0
  498. package/dist/products/components/ProductGrid.d.ts.map +1 -0
  499. package/dist/products/components/ProductGrid.js +83 -0
  500. package/dist/products/components/ProductGrid.js.map +1 -0
  501. package/dist/products/components/ProductSearch.d.ts +43 -0
  502. package/dist/products/components/ProductSearch.d.ts.map +1 -0
  503. package/dist/products/components/ProductSearch.js +99 -0
  504. package/dist/products/components/ProductSearch.js.map +1 -0
  505. package/dist/products/components/ProductSort.d.ts +43 -0
  506. package/dist/products/components/ProductSort.d.ts.map +1 -0
  507. package/dist/products/components/ProductSort.js +61 -0
  508. package/dist/products/components/ProductSort.js.map +1 -0
  509. package/dist/products/components/VariantSelector.d.ts +43 -0
  510. package/dist/products/components/VariantSelector.d.ts.map +1 -0
  511. package/dist/products/components/VariantSelector.js +147 -0
  512. package/dist/products/components/VariantSelector.js.map +1 -0
  513. package/dist/products/components/index.d.ts +26 -0
  514. package/dist/products/components/index.d.ts.map +1 -0
  515. package/dist/products/components/index.js +32 -0
  516. package/dist/products/components/index.js.map +1 -0
  517. package/dist/products/hooks/index.d.ts +14 -0
  518. package/dist/products/hooks/index.d.ts.map +1 -0
  519. package/dist/products/hooks/index.js +17 -0
  520. package/dist/products/hooks/index.js.map +1 -0
  521. package/dist/products/hooks/useCategories.d.ts +56 -0
  522. package/dist/products/hooks/useCategories.d.ts.map +1 -0
  523. package/dist/products/hooks/useCategories.js +126 -0
  524. package/dist/products/hooks/useCategories.js.map +1 -0
  525. package/dist/products/hooks/useProduct.d.ts +44 -0
  526. package/dist/products/hooks/useProduct.d.ts.map +1 -0
  527. package/dist/products/hooks/useProduct.js +86 -0
  528. package/dist/products/hooks/useProduct.js.map +1 -0
  529. package/dist/products/hooks/useProductAttributes.d.ts +59 -0
  530. package/dist/products/hooks/useProductAttributes.d.ts.map +1 -0
  531. package/dist/products/hooks/useProductAttributes.js +148 -0
  532. package/dist/products/hooks/useProductAttributes.js.map +1 -0
  533. package/dist/products/hooks/useProducts.d.ts +67 -0
  534. package/dist/products/hooks/useProducts.d.ts.map +1 -0
  535. package/dist/products/hooks/useProducts.js +132 -0
  536. package/dist/products/hooks/useProducts.js.map +1 -0
  537. package/dist/products/index.d.ts +94 -0
  538. package/dist/products/index.d.ts.map +1 -0
  539. package/dist/products/index.js +123 -0
  540. package/dist/products/index.js.map +1 -0
  541. package/dist/theme/ThemeProvider.d.ts +70 -0
  542. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  543. package/dist/theme/ThemeProvider.js +77 -0
  544. package/dist/theme/ThemeProvider.js.map +1 -0
  545. package/dist/theme/colors.d.ts +148 -0
  546. package/dist/theme/colors.d.ts.map +1 -0
  547. package/dist/theme/colors.js +219 -0
  548. package/dist/theme/colors.js.map +1 -0
  549. package/dist/theme/defaults.d.ts +212 -0
  550. package/dist/theme/defaults.d.ts.map +1 -0
  551. package/dist/theme/defaults.js +278 -0
  552. package/dist/theme/defaults.js.map +1 -0
  553. package/dist/theme/fonts.d.ts +59 -0
  554. package/dist/theme/fonts.d.ts.map +1 -0
  555. package/dist/theme/fonts.js +202 -0
  556. package/dist/theme/fonts.js.map +1 -0
  557. package/dist/theme/generator.d.ts +50 -0
  558. package/dist/theme/generator.d.ts.map +1 -0
  559. package/dist/theme/generator.js +322 -0
  560. package/dist/theme/generator.js.map +1 -0
  561. package/dist/theme/hooks.d.ts +110 -0
  562. package/dist/theme/hooks.d.ts.map +1 -0
  563. package/dist/theme/hooks.js +106 -0
  564. package/dist/theme/hooks.js.map +1 -0
  565. package/dist/theme/index.d.ts +37 -0
  566. package/dist/theme/index.d.ts.map +1 -0
  567. package/dist/theme/index.js +85 -0
  568. package/dist/theme/index.js.map +1 -0
  569. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/checkout/api/webhook
4
+ *
5
+ * API route handler for Stripe webhooks.
6
+ *
7
+ * Usage in Next.js App Router:
8
+ * ```typescript
9
+ * // app/api/webhooks/stripe/route.ts
10
+ * export { POST } from '@rovela/sdk/checkout/api'
11
+ * ```
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.POST = POST;
15
+ const server_1 = require("next/server");
16
+ const handle_webhook_1 = require("../server/handle-webhook");
17
+ // =============================================================================
18
+ // Handler
19
+ // =============================================================================
20
+ /**
21
+ * POST /api/webhooks/stripe
22
+ *
23
+ * Handles incoming Stripe webhook events.
24
+ * Verifies the signature and processes the event.
25
+ *
26
+ * Required Headers:
27
+ * - stripe-signature: Webhook signature from Stripe
28
+ *
29
+ * Response:
30
+ * - received: Whether the event was received
31
+ * - event: The event type (if processed)
32
+ * - orderId: The order ID (if created)
33
+ * - error: Error message (if failed)
34
+ */
35
+ async function POST(request) {
36
+ // Get raw body for signature verification
37
+ const payload = await request.text();
38
+ // Get signature header
39
+ const signature = request.headers.get('stripe-signature');
40
+ if (!signature) {
41
+ console.error('[Webhook] Missing stripe-signature header');
42
+ return server_1.NextResponse.json({ received: false, error: 'Missing stripe-signature header' }, { status: 400 });
43
+ }
44
+ // Process the webhook
45
+ const result = await (0, handle_webhook_1.handleStripeWebhook)(payload, signature);
46
+ // Return appropriate status based on result
47
+ if (!result.received) {
48
+ return server_1.NextResponse.json(result, { status: 400 });
49
+ }
50
+ if (result.error) {
51
+ // Event received but processing failed - return 200 to prevent retries
52
+ // for non-recoverable errors (Stripe will retry on 5xx)
53
+ console.warn('[Webhook] Processing error:', result.error);
54
+ return server_1.NextResponse.json(result, { status: 200 });
55
+ }
56
+ return server_1.NextResponse.json(result, { status: 200 });
57
+ }
58
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/checkout/api/webhook.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAyBH,oBAiCC;AAxDD,wCAAuD;AACvD,6DAA8D;AAG9D,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACI,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,qBAAY,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,IAAA,oCAAmB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE5D,4CAA4C;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,qBAAY,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,qBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,qBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/CheckoutButton
3
+ *
4
+ * Button that initiates Stripe Checkout.
5
+ */
6
+ import type { CheckoutButtonProps } from '../types';
7
+ /**
8
+ * Button that initiates Stripe Checkout with cart items.
9
+ *
10
+ * @example Basic usage
11
+ * ```tsx
12
+ * import { CheckoutButton } from '@rovela/sdk/checkout'
13
+ *
14
+ * function Cart() {
15
+ * return (
16
+ * <div>
17
+ * <CartItems />
18
+ * <CheckoutButton />
19
+ * </div>
20
+ * )
21
+ * }
22
+ * ```
23
+ *
24
+ * @example With custom content
25
+ * ```tsx
26
+ * <CheckoutButton size="lg" fullWidth>
27
+ * Proceed to Payment
28
+ * </CheckoutButton>
29
+ * ```
30
+ *
31
+ * @example With callbacks
32
+ * ```tsx
33
+ * <CheckoutButton
34
+ * onBeforeCheckout={async () => {
35
+ * await saveCart()
36
+ * }}
37
+ * onError={(error) => {
38
+ * showToast(error.message)
39
+ * }}
40
+ * />
41
+ * ```
42
+ */
43
+ export declare function CheckoutButton({ children, disabled, className, onBeforeCheckout, onError, size, fullWidth, }: CheckoutButtonProps): import("react/jsx-runtime").JSX.Element;
44
+ //# 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;;;;GAIG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAqB,EACrB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAW,EACX,SAAiB,GAClB,EAAE,mBAAmB,2CA8DrB"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/checkout/components/CheckoutButton
4
+ *
5
+ * Button that initiates Stripe Checkout.
6
+ */
7
+ 'use client';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CheckoutButton = CheckoutButton;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const useCheckout_1 = require("../hooks/useCheckout");
12
+ const utils_1 = require("../../core/utils");
13
+ // =============================================================================
14
+ // Component
15
+ // =============================================================================
16
+ /**
17
+ * Button that initiates Stripe Checkout with cart items.
18
+ *
19
+ * @example Basic usage
20
+ * ```tsx
21
+ * import { CheckoutButton } from '@rovela/sdk/checkout'
22
+ *
23
+ * function Cart() {
24
+ * return (
25
+ * <div>
26
+ * <CartItems />
27
+ * <CheckoutButton />
28
+ * </div>
29
+ * )
30
+ * }
31
+ * ```
32
+ *
33
+ * @example With custom content
34
+ * ```tsx
35
+ * <CheckoutButton size="lg" fullWidth>
36
+ * Proceed to Payment
37
+ * </CheckoutButton>
38
+ * ```
39
+ *
40
+ * @example With callbacks
41
+ * ```tsx
42
+ * <CheckoutButton
43
+ * onBeforeCheckout={async () => {
44
+ * await saveCart()
45
+ * }}
46
+ * onError={(error) => {
47
+ * showToast(error.message)
48
+ * }}
49
+ * />
50
+ * ```
51
+ */
52
+ function CheckoutButton({ children = 'Checkout', disabled = false, className, onBeforeCheckout, onError, size = 'md', fullWidth = false, }) {
53
+ const { checkout, isLoading, error } = (0, useCheckout_1.useCheckout)({
54
+ onError: (err) => {
55
+ if (onError) {
56
+ onError(new Error(err.error));
57
+ }
58
+ },
59
+ });
60
+ const handleClick = async () => {
61
+ try {
62
+ if (onBeforeCheckout) {
63
+ await onBeforeCheckout();
64
+ }
65
+ await checkout();
66
+ }
67
+ catch (err) {
68
+ if (onError && err instanceof Error) {
69
+ onError(err);
70
+ }
71
+ }
72
+ };
73
+ // Size classes
74
+ const sizeClasses = {
75
+ sm: 'px-4 py-2 text-sm',
76
+ md: 'px-6 py-3 text-base',
77
+ lg: 'px-8 py-4 text-lg',
78
+ };
79
+ return ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleClick, disabled: disabled || isLoading, className: (0, utils_1.cn)(
80
+ // Base styles
81
+ 'inline-flex items-center justify-center', 'rounded-md font-medium transition-colors', 'focus:outline-none focus:ring-2 focus:ring-offset-2',
82
+ // Colors
83
+ 'bg-primary text-primary-foreground', 'hover:bg-primary/90', 'focus:ring-primary',
84
+ // Disabled
85
+ 'disabled:opacity-50 disabled:cursor-not-allowed',
86
+ // Size
87
+ sizeClasses[size],
88
+ // Width
89
+ fullWidth && 'w-full', className), children: isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(LoadingSpinner, { className: "mr-2" }), "Redirecting..."] })) : (children) }));
90
+ }
91
+ // =============================================================================
92
+ // Helper Components
93
+ // =============================================================================
94
+ function LoadingSpinner({ className }) {
95
+ return ((0, jsx_runtime_1.jsxs)("svg", { className: (0, utils_1.cn)('h-4 w-4 animate-spin', className), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [(0, jsx_runtime_1.jsx)("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), (0, jsx_runtime_1.jsx)("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }));
96
+ }
97
+ //# sourceMappingURL=CheckoutButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckoutButton.js","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutButton.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,YAAY,CAAA;;AA8CZ,wCAsEC;;AAlHD,sDAAkD;AAClD,4CAAqC;AAGrC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAgB,cAAc,CAAC,EAC7B,QAAQ,GAAG,UAAU,EACrB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,GACG;IACpB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC;QACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,gBAAgB,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,QAAQ,EAAE,CAAA;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,eAAe;IACf,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,mBAAmB;KACxB,CAAA;IAED,OAAO,CACL,mCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,SAAS,EAAE,IAAA,UAAE;QACX,cAAc;QACd,yCAAyC,EACzC,0CAA0C,EAC1C,qDAAqD;QACrD,SAAS;QACT,oCAAoC,EACpC,qBAAqB,EACrB,oBAAoB;QACpB,WAAW;QACX,iDAAiD;QACjD,OAAO;QACP,WAAW,CAAC,IAAI,CAAC;QACjB,QAAQ;QACR,SAAS,IAAI,QAAQ,EACrB,SAAS,CACV,YAEA,SAAS,CAAC,CAAC,CAAC,CACX,6DACE,uBAAC,cAAc,IAAC,SAAS,EAAC,MAAM,GAAG,sBAElC,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACM,CACV,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,SAAS,cAAc,CAAC,EAAE,SAAS,EAA0B;IAC3D,OAAO,CACL,iCACE,SAAS,EAAE,IAAA,UAAE,EAAC,sBAAsB,EAAE,SAAS,CAAC,EAChD,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,aAEnB,mCACE,SAAS,EAAC,YAAY,EACtB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,GACf,EACF,iCACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,iHAAiH,GACnH,IACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/CheckoutSuccess
3
+ *
4
+ * Success page component after successful checkout.
5
+ */
6
+ import type { CheckoutSuccessProps } from '../types';
7
+ /**
8
+ * Success page content after checkout completion.
9
+ *
10
+ * @example Basic usage
11
+ * ```tsx
12
+ * // app/checkout/success/page.tsx
13
+ * import { CheckoutSuccess } from '@rovela/sdk/checkout'
14
+ *
15
+ * export default function SuccessPage() {
16
+ * return <CheckoutSuccess />
17
+ * }
18
+ * ```
19
+ *
20
+ * @example With custom links
21
+ * ```tsx
22
+ * <CheckoutSuccess
23
+ * continueShoppingHref="/products"
24
+ * viewOrderHref="/account/orders/{orderId}"
25
+ * />
26
+ * ```
27
+ */
28
+ export declare function CheckoutSuccess({ orderId, email, className, continueShoppingHref, viewOrderHref, onMount, }: CheckoutSuccessProps): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=CheckoutSuccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckoutSuccess.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutSuccess.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAMpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,SAAS,EACT,oBAA0B,EAC1B,aAAa,EACb,OAAO,GACR,EAAE,oBAAoB,2CAsFtB"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/checkout/components/CheckoutSuccess
4
+ *
5
+ * Success page component after successful checkout.
6
+ */
7
+ 'use client';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CheckoutSuccess = CheckoutSuccess;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const react_1 = require("react");
12
+ const useCheckout_1 = require("../hooks/useCheckout");
13
+ const utils_1 = require("../../core/utils");
14
+ // =============================================================================
15
+ // Component
16
+ // =============================================================================
17
+ /**
18
+ * Success page content after checkout completion.
19
+ *
20
+ * @example Basic usage
21
+ * ```tsx
22
+ * // app/checkout/success/page.tsx
23
+ * import { CheckoutSuccess } from '@rovela/sdk/checkout'
24
+ *
25
+ * export default function SuccessPage() {
26
+ * return <CheckoutSuccess />
27
+ * }
28
+ * ```
29
+ *
30
+ * @example With custom links
31
+ * ```tsx
32
+ * <CheckoutSuccess
33
+ * continueShoppingHref="/products"
34
+ * viewOrderHref="/account/orders/{orderId}"
35
+ * />
36
+ * ```
37
+ */
38
+ function CheckoutSuccess({ orderId, email, className, continueShoppingHref = '/', viewOrderHref, onMount, }) {
39
+ const { sessionId } = (0, useCheckout_1.useCheckoutSuccess)();
40
+ // Call onMount callback (e.g., to clear cart)
41
+ (0, react_1.useEffect)(() => {
42
+ if (onMount) {
43
+ onMount();
44
+ }
45
+ }, [onMount]);
46
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)('text-center py-12 px-4', className), children: [(0, jsx_runtime_1.jsx)("div", { className: "mx-auto w-16 h-16 rounded-full bg-green-100 flex items-center justify-center mb-6", children: (0, jsx_runtime_1.jsx)(CheckIcon, { className: "w-8 h-8 text-green-600" }) }), (0, jsx_runtime_1.jsx)("h1", { className: "text-2xl font-bold mb-2", children: "Thank you for your order!" }), (0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground mb-6 max-w-md mx-auto", children: email ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["We've sent a confirmation email to", ' ', (0, jsx_runtime_1.jsx)("span", { className: "font-medium text-foreground", children: email }), "."] })) : ('A confirmation email has been sent to your email address.') }), (orderId || sessionId) && ((0, jsx_runtime_1.jsxs)("div", { className: "bg-muted rounded-lg p-4 mb-8 max-w-sm mx-auto", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground mb-1", children: orderId ? 'Order ID' : 'Confirmation ID' }), (0, jsx_runtime_1.jsx)("p", { className: "font-mono font-medium", children: orderId || sessionId })] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col sm:flex-row gap-4 justify-center", children: [viewOrderHref && orderId && ((0, jsx_runtime_1.jsx)("a", { href: viewOrderHref.replace('{orderId}', orderId), className: (0, utils_1.cn)('inline-flex items-center justify-center', 'px-6 py-3 rounded-md font-medium', 'bg-primary text-primary-foreground', 'hover:bg-primary/90 transition-colors'), children: "View Order" })), (0, jsx_runtime_1.jsx)("a", { href: continueShoppingHref, className: (0, utils_1.cn)('inline-flex items-center justify-center', 'px-6 py-3 rounded-md font-medium', 'border border-input bg-background', 'hover:bg-accent hover:text-accent-foreground', 'transition-colors'), children: "Continue Shopping" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-12 text-sm text-muted-foreground space-y-2", children: [(0, jsx_runtime_1.jsxs)("p", { children: [(0, jsx_runtime_1.jsx)(ShippingIcon, { className: "inline-block w-4 h-4 mr-1" }), "You'll receive a shipping confirmation when your order ships."] }), (0, jsx_runtime_1.jsxs)("p", { children: [(0, jsx_runtime_1.jsx)(QuestionIcon, { className: "inline-block w-4 h-4 mr-1" }), "Questions? Contact us at support@example.com"] })] })] }));
47
+ }
48
+ // =============================================================================
49
+ // Icons
50
+ // =============================================================================
51
+ function CheckIcon({ className }) {
52
+ return ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: (0, jsx_runtime_1.jsx)("polyline", { points: "20 6 9 17 4 12" }) }));
53
+ }
54
+ function ShippingIcon({ className }) {
55
+ return ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: [(0, jsx_runtime_1.jsx)("rect", { x: "1", y: "3", width: "15", height: "13" }), (0, jsx_runtime_1.jsx)("polygon", { points: "16 8 20 8 23 11 23 16 16 16 16 8" }), (0, jsx_runtime_1.jsx)("circle", { cx: "5.5", cy: "18.5", r: "2.5" }), (0, jsx_runtime_1.jsx)("circle", { cx: "18.5", cy: "18.5", r: "2.5" })] }));
56
+ }
57
+ function QuestionIcon({ className }) {
58
+ return ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "10" }), (0, jsx_runtime_1.jsx)("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }), (0, jsx_runtime_1.jsx)("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
59
+ }
60
+ //# sourceMappingURL=CheckoutSuccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckoutSuccess.js","sourceRoot":"","sources":["../../../src/checkout/components/CheckoutSuccess.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/OrderSummary
3
+ *
4
+ * Displays order items and totals.
5
+ */
6
+ import type { OrderSummaryProps } from '../types';
7
+ /**
8
+ * Displays order summary with items and totals.
9
+ * Automatically reads from cart if no items provided.
10
+ *
11
+ * @example Basic usage (reads from cart)
12
+ * ```tsx
13
+ * import { OrderSummary } from '@rovela/sdk/checkout'
14
+ *
15
+ * function CheckoutPage() {
16
+ * return (
17
+ * <div className="flex">
18
+ * <CheckoutForm />
19
+ * <OrderSummary />
20
+ * </div>
21
+ * )
22
+ * }
23
+ * ```
24
+ *
25
+ * @example With custom data
26
+ * ```tsx
27
+ * <OrderSummary
28
+ * items={orderItems}
29
+ * subtotal={4999}
30
+ * shipping={500}
31
+ * tax={450}
32
+ * total={5949}
33
+ * />
34
+ * ```
35
+ */
36
+ export declare function OrderSummary({ items: propItems, subtotal: propSubtotal, shipping, tax, total: propTotal, currency, locale, className, showItems, showEditLink, editHref, }: OrderSummaryProps): import("react/jsx-runtime").JSX.Element;
37
+ //# sourceMappingURL=OrderSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummary.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/OrderSummary.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,UAAU,CAAA;AAMnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,QAAY,EACZ,GAAO,EACP,KAAK,EAAE,SAAS,EAChB,QAAgB,EAChB,MAAgB,EAChB,SAAS,EACT,SAAgB,EAChB,YAAoB,EACpB,QAAkB,GACnB,EAAE,iBAAiB,2CAqFnB"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/checkout/components/OrderSummary
4
+ *
5
+ * Displays order items and totals.
6
+ */
7
+ 'use client';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.OrderSummary = OrderSummary;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const store_1 = require("../../cart/store");
12
+ const utils_1 = require("../../core/utils");
13
+ // =============================================================================
14
+ // Component
15
+ // =============================================================================
16
+ /**
17
+ * Displays order summary with items and totals.
18
+ * Automatically reads from cart if no items provided.
19
+ *
20
+ * @example Basic usage (reads from cart)
21
+ * ```tsx
22
+ * import { OrderSummary } from '@rovela/sdk/checkout'
23
+ *
24
+ * function CheckoutPage() {
25
+ * return (
26
+ * <div className="flex">
27
+ * <CheckoutForm />
28
+ * <OrderSummary />
29
+ * </div>
30
+ * )
31
+ * }
32
+ * ```
33
+ *
34
+ * @example With custom data
35
+ * ```tsx
36
+ * <OrderSummary
37
+ * items={orderItems}
38
+ * subtotal={4999}
39
+ * shipping={500}
40
+ * tax={450}
41
+ * total={5949}
42
+ * />
43
+ * ```
44
+ */
45
+ function OrderSummary({ items: propItems, subtotal: propSubtotal, shipping = 0, tax = 0, total: propTotal, currency = 'USD', locale = 'en-US', className, showItems = true, showEditLink = false, editHref = '/cart', }) {
46
+ // Get items from cart if not provided
47
+ const { items: cartItems, subtotal: cartSubtotal } = (0, store_1.useCart)();
48
+ // Convert cart items to checkout line items
49
+ const items = propItems ||
50
+ cartItems.map((item) => ({
51
+ productId: item.productId,
52
+ variantId: item.variantId,
53
+ name: item.name,
54
+ price: Math.round(item.price * 100), // Convert to cents
55
+ quantity: item.quantity,
56
+ image: item.image,
57
+ attributes: item.attributes,
58
+ }));
59
+ // Calculate totals (cart subtotal is in dollars, convert to cents)
60
+ const subtotal = propSubtotal ?? Math.round(cartSubtotal * 100);
61
+ const total = propTotal ?? subtotal + shipping + tax;
62
+ // Format price helper
63
+ const format = (cents) => (0, utils_1.formatPrice)(cents / 100, { currency, locale });
64
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)('rounded-lg border bg-card p-6', className), children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mb-4", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-lg font-semibold", children: "Order Summary" }), showEditLink && ((0, jsx_runtime_1.jsx)("a", { href: editHref, className: "text-sm text-primary hover:underline", children: "Edit Cart" }))] }), showItems && items.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "space-y-4 mb-6", children: items.map((item, index) => ((0, jsx_runtime_1.jsx)(OrderItem, { item: item, format: format }, item.productId ? `${item.productId}-${item.variantId || ''}` : index))) })), (0, jsx_runtime_1.jsx)("div", { className: "border-t my-4" }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between text-sm", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Subtotal" }), (0, jsx_runtime_1.jsx)("span", { children: format(subtotal) })] }), shipping > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between text-sm", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Shipping" }), (0, jsx_runtime_1.jsx)("span", { children: format(shipping) })] })), tax > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between text-sm", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Tax" }), (0, jsx_runtime_1.jsx)("span", { children: format(tax) })] })), (0, jsx_runtime_1.jsx)("div", { className: "border-t my-2" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between font-semibold text-lg", children: [(0, jsx_runtime_1.jsx)("span", { children: "Total" }), (0, jsx_runtime_1.jsx)("span", { children: format(total) })] })] })] }));
65
+ }
66
+ function OrderItem({ item, format }) {
67
+ const itemTotal = item.price * item.quantity;
68
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4", children: [item.image && ((0, jsx_runtime_1.jsx)("div", { className: "h-16 w-16 flex-shrink-0 overflow-hidden rounded-md border", children: (0, jsx_runtime_1.jsx)("img", { src: item.image, alt: item.name, className: "h-full w-full object-cover" }) })), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-1 flex-col", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-sm font-medium", children: item.name }), item.description && ((0, jsx_runtime_1.jsx)("p", { className: "text-xs text-muted-foreground mt-0.5", children: item.description }))] }), (0, jsx_runtime_1.jsx)("span", { className: "text-sm font-medium", children: format(itemTotal) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2 mt-1 text-xs text-muted-foreground", children: [(0, jsx_runtime_1.jsxs)("span", { children: ["Qty: ", item.quantity] }), item.quantity > 1 && ((0, jsx_runtime_1.jsxs)("span", { children: ["@ ", format(item.price), " each"] }))] })] })] }));
69
+ }
70
+ //# sourceMappingURL=OrderSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummary.js","sourceRoot":"","sources":["../../../src/checkout/components/OrderSummary.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @rovela/sdk/checkout/components/ShippingForm
3
+ *
4
+ * Shipping address form for checkout.
5
+ */
6
+ import type { ShippingFormProps } from '../types';
7
+ /**
8
+ * Shipping address form with validation.
9
+ *
10
+ * Note: This is provided as a reference implementation for custom checkout flows.
11
+ * When using Stripe Checkout (hosted), Stripe handles address collection.
12
+ *
13
+ * @example Basic usage
14
+ * ```tsx
15
+ * import { ShippingForm } from '@rovela/sdk/checkout'
16
+ *
17
+ * function CustomCheckout() {
18
+ * const [address, setAddress] = useState(null)
19
+ *
20
+ * return (
21
+ * <ShippingForm
22
+ * onSubmit={setAddress}
23
+ * onCancel={() => router.back()}
24
+ * />
25
+ * )
26
+ * }
27
+ * ```
28
+ */
29
+ export declare function ShippingForm({ defaultValues, onSubmit, onCancel, isSubmitting, className, showBillingAddress, onBillingAddressChange, }: ShippingFormProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=ShippingForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShippingForm.d.ts","sourceRoot":"","sources":["../../../src/checkout/components/ShippingForm.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,YAAoB,EACpB,SAAS,EACT,kBAA0B,EAC1B,sBAAsB,GACvB,EAAE,iBAAiB,2CA2JnB"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * @rovela/sdk/checkout/components/ShippingForm
4
+ *
5
+ * Shipping address form for checkout.
6
+ */
7
+ 'use client';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ShippingForm = ShippingForm;
10
+ const jsx_runtime_1 = require("react/jsx-runtime");
11
+ const react_1 = require("react");
12
+ const utils_1 = require("../../core/utils");
13
+ // =============================================================================
14
+ // Component
15
+ // =============================================================================
16
+ /**
17
+ * Shipping address form with validation.
18
+ *
19
+ * Note: This is provided as a reference implementation for custom checkout flows.
20
+ * When using Stripe Checkout (hosted), Stripe handles address collection.
21
+ *
22
+ * @example Basic usage
23
+ * ```tsx
24
+ * import { ShippingForm } from '@rovela/sdk/checkout'
25
+ *
26
+ * function CustomCheckout() {
27
+ * const [address, setAddress] = useState(null)
28
+ *
29
+ * return (
30
+ * <ShippingForm
31
+ * onSubmit={setAddress}
32
+ * onCancel={() => router.back()}
33
+ * />
34
+ * )
35
+ * }
36
+ * ```
37
+ */
38
+ function ShippingForm({ defaultValues, onSubmit, onCancel, isSubmitting = false, className, showBillingAddress = false, onBillingAddressChange, }) {
39
+ // Form state
40
+ const [formData, setFormData] = (0, react_1.useState)({
41
+ firstName: defaultValues?.firstName || '',
42
+ lastName: defaultValues?.lastName || '',
43
+ line1: defaultValues?.line1 || '',
44
+ line2: defaultValues?.line2 || '',
45
+ city: defaultValues?.city || '',
46
+ state: defaultValues?.state || '',
47
+ postalCode: defaultValues?.postalCode || '',
48
+ country: defaultValues?.country || 'US',
49
+ });
50
+ const [billingDifferent, setBillingDifferent] = (0, react_1.useState)(false);
51
+ const [billingData, setBillingData] = (0, react_1.useState)({});
52
+ const [errors, setErrors] = (0, react_1.useState)({});
53
+ // Handle field change
54
+ const handleChange = (0, react_1.useCallback)((field, value, isBilling = false) => {
55
+ if (isBilling) {
56
+ setBillingData((prev) => ({ ...prev, [field]: value }));
57
+ }
58
+ else {
59
+ setFormData((prev) => ({ ...prev, [field]: value }));
60
+ }
61
+ // Clear error on change
62
+ setErrors((prev) => {
63
+ const newErrors = { ...prev };
64
+ delete newErrors[isBilling ? `billing_${field}` : field];
65
+ return newErrors;
66
+ });
67
+ }, []);
68
+ // Validate form
69
+ const validate = (0, react_1.useCallback)(() => {
70
+ const newErrors = {};
71
+ // Required fields for shipping
72
+ if (!formData.firstName?.trim())
73
+ newErrors.firstName = 'First name is required';
74
+ if (!formData.lastName?.trim())
75
+ newErrors.lastName = 'Last name is required';
76
+ if (!formData.line1?.trim())
77
+ newErrors.line1 = 'Address is required';
78
+ if (!formData.city?.trim())
79
+ newErrors.city = 'City is required';
80
+ if (!formData.state?.trim())
81
+ newErrors.state = 'State is required';
82
+ if (!formData.postalCode?.trim())
83
+ newErrors.postalCode = 'Postal code is required';
84
+ if (!formData.country?.trim())
85
+ newErrors.country = 'Country is required';
86
+ // Required fields for billing if different
87
+ if (billingDifferent) {
88
+ if (!billingData.firstName?.trim())
89
+ newErrors.billing_firstName = 'First name is required';
90
+ if (!billingData.lastName?.trim())
91
+ newErrors.billing_lastName = 'Last name is required';
92
+ if (!billingData.line1?.trim())
93
+ newErrors.billing_line1 = 'Address is required';
94
+ if (!billingData.city?.trim())
95
+ newErrors.billing_city = 'City is required';
96
+ if (!billingData.state?.trim())
97
+ newErrors.billing_state = 'State is required';
98
+ if (!billingData.postalCode?.trim())
99
+ newErrors.billing_postalCode = 'Postal code is required';
100
+ if (!billingData.country?.trim())
101
+ newErrors.billing_country = 'Country is required';
102
+ }
103
+ setErrors(newErrors);
104
+ return Object.keys(newErrors).length === 0;
105
+ }, [formData, billingData, billingDifferent]);
106
+ // Handle form submission
107
+ const handleSubmit = (0, react_1.useCallback)((e) => {
108
+ e.preventDefault();
109
+ if (!validate())
110
+ return;
111
+ const shippingAddress = formData;
112
+ onSubmit(shippingAddress);
113
+ if (showBillingAddress && onBillingAddressChange) {
114
+ onBillingAddressChange(billingDifferent ? billingData : null);
115
+ }
116
+ }, [formData, billingData, billingDifferent, validate, onSubmit, onBillingAddressChange, showBillingAddress]);
117
+ return ((0, jsx_runtime_1.jsxs)("form", { onSubmit: handleSubmit, className: (0, utils_1.cn)('space-y-6', className), children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-semibold mb-4", children: "Shipping Address" }), (0, jsx_runtime_1.jsx)(AddressFields, { data: formData, errors: errors, onChange: (field, value) => handleChange(field, value, false), prefix: "" })] }), showBillingAddress && ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-4", children: [(0, jsx_runtime_1.jsxs)("label", { className: "flex items-center gap-2 cursor-pointer", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: billingDifferent, onChange: (e) => setBillingDifferent(e.target.checked), className: "rounded border-input" }), (0, jsx_runtime_1.jsx)("span", { className: "text-sm", children: "Billing address is different from shipping" })] }), billingDifferent && ((0, jsx_runtime_1.jsxs)("div", { className: "pt-4 border-t", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-semibold mb-4", children: "Billing Address" }), (0, jsx_runtime_1.jsx)(AddressFields, { data: billingData, errors: errors, onChange: (field, value) => handleChange(field, value, true), prefix: "billing_" })] }))] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4", children: [onCancel && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onCancel, disabled: isSubmitting, className: (0, utils_1.cn)('flex-1 px-4 py-2 rounded-md font-medium', 'border border-input bg-background', 'hover:bg-accent hover:text-accent-foreground', 'transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), children: "Cancel" })), (0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: isSubmitting, className: (0, utils_1.cn)('flex-1 px-4 py-2 rounded-md font-medium', 'bg-primary text-primary-foreground', 'hover:bg-primary/90', 'transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), children: isSubmitting ? 'Saving...' : 'Continue' })] })] }));
118
+ }
119
+ function AddressFields({ data, errors, onChange, prefix }) {
120
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-2 gap-4", children: [(0, jsx_runtime_1.jsx)(FormField, { label: "First Name", value: data.firstName || '', error: errors[`${prefix}firstName`], onChange: (v) => onChange('firstName', v), required: true }), (0, jsx_runtime_1.jsx)(FormField, { label: "Last Name", value: data.lastName || '', error: errors[`${prefix}lastName`], onChange: (v) => onChange('lastName', v), required: true })] }), (0, jsx_runtime_1.jsx)(FormField, { label: "Address", value: data.line1 || '', error: errors[`${prefix}line1`], onChange: (v) => onChange('line1', v), placeholder: "Street address", required: true }), (0, jsx_runtime_1.jsx)(FormField, { label: "Apartment, suite, etc. (optional)", value: data.line2 || '', onChange: (v) => onChange('line2', v), placeholder: "Apt, Suite, Unit, Building" }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-6 gap-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: (0, jsx_runtime_1.jsx)(FormField, { label: "City", value: data.city || '', error: errors[`${prefix}city`], onChange: (v) => onChange('city', v), required: true }) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: (0, jsx_runtime_1.jsx)(FormField, { label: "State", value: data.state || '', error: errors[`${prefix}state`], onChange: (v) => onChange('state', v), required: true }) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: (0, jsx_runtime_1.jsx)(FormField, { label: "ZIP Code", value: data.postalCode || '', error: errors[`${prefix}postalCode`], onChange: (v) => onChange('postalCode', v), required: true }) })] }), (0, jsx_runtime_1.jsx)(FormField, { label: "Country", value: data.country || '', error: errors[`${prefix}country`], onChange: (v) => onChange('country', v), required: true })] }));
121
+ }
122
+ function FormField({ label, value, error, onChange, placeholder, required, }) {
123
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("label", { className: "block text-sm font-medium mb-1", children: [label, required && (0, jsx_runtime_1.jsx)("span", { className: "text-destructive ml-1", children: "*" })] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: value, onChange: (e) => onChange(e.target.value), placeholder: placeholder, className: (0, utils_1.cn)('w-full px-3 py-2 rounded-md border', 'bg-background text-foreground', 'focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary', error ? 'border-destructive' : 'border-input') }), error && (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-destructive mt-1", children: error })] }));
124
+ }
125
+ //# sourceMappingURL=ShippingForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShippingForm.js","sourceRoot":"","sources":["../../../src/checkout/components/ShippingForm.tsx"],"names":[],"mappings":"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"}