@rovela-ai/sdk 0.4.0 → 0.4.1

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 (976) hide show
  1. package/dist/checkout/server/create-checkout-session.d.ts +10 -1
  2. package/dist/checkout/server/create-checkout-session.d.ts.map +1 -1
  3. package/dist/checkout/server/create-checkout-session.js +28 -17
  4. package/dist/checkout/server/create-checkout-session.js.map +1 -1
  5. package/dist/checkout/server/handle-webhook.js +22 -2
  6. package/dist/checkout/server/handle-webhook.js.map +1 -1
  7. package/dist/checkout/server/order-service.d.ts +7 -1
  8. package/dist/checkout/server/order-service.d.ts.map +1 -1
  9. package/dist/checkout/server/order-service.js +59 -12
  10. package/dist/checkout/server/order-service.js.map +1 -1
  11. package/package.json +1 -1
  12. package/dist/admin/api/accept-invite.d.ts +0 -65
  13. package/dist/admin/api/accept-invite.d.ts.map +0 -1
  14. package/dist/admin/api/accept-invite.js +0 -115
  15. package/dist/admin/api/accept-invite.js.map +0 -1
  16. package/dist/admin/api/auth.d.ts +0 -32
  17. package/dist/admin/api/auth.d.ts.map +0 -1
  18. package/dist/admin/api/auth.js +0 -37
  19. package/dist/admin/api/auth.js.map +0 -1
  20. package/dist/admin/api/categories.d.ts +0 -68
  21. package/dist/admin/api/categories.d.ts.map +0 -1
  22. package/dist/admin/api/categories.js +0 -266
  23. package/dist/admin/api/categories.js.map +0 -1
  24. package/dist/admin/api/check.d.ts +0 -38
  25. package/dist/admin/api/check.d.ts.map +0 -1
  26. package/dist/admin/api/check.js +0 -49
  27. package/dist/admin/api/check.js.map +0 -1
  28. package/dist/admin/api/customers.d.ts +0 -77
  29. package/dist/admin/api/customers.d.ts.map +0 -1
  30. package/dist/admin/api/customers.js +0 -219
  31. package/dist/admin/api/customers.js.map +0 -1
  32. package/dist/admin/api/forgot-password.d.ts +0 -39
  33. package/dist/admin/api/forgot-password.d.ts.map +0 -1
  34. package/dist/admin/api/forgot-password.js +0 -66
  35. package/dist/admin/api/forgot-password.js.map +0 -1
  36. package/dist/admin/api/index.d.ts +0 -109
  37. package/dist/admin/api/index.d.ts.map +0 -1
  38. package/dist/admin/api/index.js +0 -128
  39. package/dist/admin/api/index.js.map +0 -1
  40. package/dist/admin/api/linked-customer.d.ts +0 -32
  41. package/dist/admin/api/linked-customer.d.ts.map +0 -1
  42. package/dist/admin/api/linked-customer.js +0 -45
  43. package/dist/admin/api/linked-customer.js.map +0 -1
  44. package/dist/admin/api/me.d.ts +0 -72
  45. package/dist/admin/api/me.d.ts.map +0 -1
  46. package/dist/admin/api/me.js +0 -177
  47. package/dist/admin/api/me.js.map +0 -1
  48. package/dist/admin/api/orders.d.ts +0 -91
  49. package/dist/admin/api/orders.d.ts.map +0 -1
  50. package/dist/admin/api/orders.js +0 -390
  51. package/dist/admin/api/orders.js.map +0 -1
  52. package/dist/admin/api/products-bulk.d.ts +0 -38
  53. package/dist/admin/api/products-bulk.d.ts.map +0 -1
  54. package/dist/admin/api/products-bulk.js +0 -135
  55. package/dist/admin/api/products-bulk.js.map +0 -1
  56. package/dist/admin/api/products-stats.d.ts +0 -34
  57. package/dist/admin/api/products-stats.d.ts.map +0 -1
  58. package/dist/admin/api/products-stats.js +0 -43
  59. package/dist/admin/api/products-stats.js.map +0 -1
  60. package/dist/admin/api/products.d.ts +0 -104
  61. package/dist/admin/api/products.d.ts.map +0 -1
  62. package/dist/admin/api/products.js +0 -491
  63. package/dist/admin/api/products.js.map +0 -1
  64. package/dist/admin/api/refund.d.ts +0 -29
  65. package/dist/admin/api/refund.d.ts.map +0 -1
  66. package/dist/admin/api/refund.js +0 -142
  67. package/dist/admin/api/refund.js.map +0 -1
  68. package/dist/admin/api/reset-password.d.ts +0 -49
  69. package/dist/admin/api/reset-password.d.ts.map +0 -1
  70. package/dist/admin/api/reset-password.js +0 -99
  71. package/dist/admin/api/reset-password.js.map +0 -1
  72. package/dist/admin/api/return.d.ts +0 -47
  73. package/dist/admin/api/return.d.ts.map +0 -1
  74. package/dist/admin/api/return.js +0 -186
  75. package/dist/admin/api/return.js.map +0 -1
  76. package/dist/admin/api/settings.d.ts +0 -49
  77. package/dist/admin/api/settings.d.ts.map +0 -1
  78. package/dist/admin/api/settings.js +0 -201
  79. package/dist/admin/api/settings.js.map +0 -1
  80. package/dist/admin/api/setup-guide.d.ts +0 -78
  81. package/dist/admin/api/setup-guide.d.ts.map +0 -1
  82. package/dist/admin/api/setup-guide.js +0 -235
  83. package/dist/admin/api/setup-guide.js.map +0 -1
  84. package/dist/admin/api/setup.d.ts +0 -60
  85. package/dist/admin/api/setup.d.ts.map +0 -1
  86. package/dist/admin/api/setup.js +0 -126
  87. package/dist/admin/api/setup.js.map +0 -1
  88. package/dist/admin/api/shipping.d.ts +0 -287
  89. package/dist/admin/api/shipping.d.ts.map +0 -1
  90. package/dist/admin/api/shipping.js +0 -746
  91. package/dist/admin/api/shipping.js.map +0 -1
  92. package/dist/admin/api/stats.d.ts +0 -43
  93. package/dist/admin/api/stats.d.ts.map +0 -1
  94. package/dist/admin/api/stats.js +0 -92
  95. package/dist/admin/api/stats.js.map +0 -1
  96. package/dist/admin/api/stripe-status.d.ts +0 -39
  97. package/dist/admin/api/stripe-status.d.ts.map +0 -1
  98. package/dist/admin/api/stripe-status.js +0 -99
  99. package/dist/admin/api/stripe-status.js.map +0 -1
  100. package/dist/admin/api/tax-zones.d.ts +0 -97
  101. package/dist/admin/api/tax-zones.d.ts.map +0 -1
  102. package/dist/admin/api/tax-zones.js +0 -265
  103. package/dist/admin/api/tax-zones.js.map +0 -1
  104. package/dist/admin/api/users.d.ts +0 -142
  105. package/dist/admin/api/users.d.ts.map +0 -1
  106. package/dist/admin/api/users.js +0 -355
  107. package/dist/admin/api/users.js.map +0 -1
  108. package/dist/admin/components/AdminAcceptInviteForm.d.ts +0 -3
  109. package/dist/admin/components/AdminAcceptInviteForm.d.ts.map +0 -1
  110. package/dist/admin/components/AdminAcceptInviteForm.js +0 -137
  111. package/dist/admin/components/AdminAcceptInviteForm.js.map +0 -1
  112. package/dist/admin/components/AdminAccountPage.d.ts +0 -10
  113. package/dist/admin/components/AdminAccountPage.d.ts.map +0 -1
  114. package/dist/admin/components/AdminAccountPage.js +0 -126
  115. package/dist/admin/components/AdminAccountPage.js.map +0 -1
  116. package/dist/admin/components/AdminBarBanner.d.ts +0 -2
  117. package/dist/admin/components/AdminBarBanner.d.ts.map +0 -1
  118. package/dist/admin/components/AdminBarBanner.js +0 -266
  119. package/dist/admin/components/AdminBarBanner.js.map +0 -1
  120. package/dist/admin/components/AdminForgotPasswordForm.d.ts +0 -8
  121. package/dist/admin/components/AdminForgotPasswordForm.d.ts.map +0 -1
  122. package/dist/admin/components/AdminForgotPasswordForm.js +0 -59
  123. package/dist/admin/components/AdminForgotPasswordForm.js.map +0 -1
  124. package/dist/admin/components/AdminGuard.d.ts +0 -40
  125. package/dist/admin/components/AdminGuard.d.ts.map +0 -1
  126. package/dist/admin/components/AdminGuard.js +0 -94
  127. package/dist/admin/components/AdminGuard.js.map +0 -1
  128. package/dist/admin/components/AdminLayout.d.ts +0 -40
  129. package/dist/admin/components/AdminLayout.d.ts.map +0 -1
  130. package/dist/admin/components/AdminLayout.js +0 -39
  131. package/dist/admin/components/AdminLayout.js.map +0 -1
  132. package/dist/admin/components/AdminLoginForm.d.ts +0 -18
  133. package/dist/admin/components/AdminLoginForm.d.ts.map +0 -1
  134. package/dist/admin/components/AdminLoginForm.js +0 -61
  135. package/dist/admin/components/AdminLoginForm.js.map +0 -1
  136. package/dist/admin/components/AdminNav.d.ts +0 -44
  137. package/dist/admin/components/AdminNav.d.ts.map +0 -1
  138. package/dist/admin/components/AdminNav.js +0 -175
  139. package/dist/admin/components/AdminNav.js.map +0 -1
  140. package/dist/admin/components/AdminResetPasswordForm.d.ts +0 -12
  141. package/dist/admin/components/AdminResetPasswordForm.d.ts.map +0 -1
  142. package/dist/admin/components/AdminResetPasswordForm.js +0 -134
  143. package/dist/admin/components/AdminResetPasswordForm.js.map +0 -1
  144. package/dist/admin/components/AdminSelect.d.ts +0 -47
  145. package/dist/admin/components/AdminSelect.d.ts.map +0 -1
  146. package/dist/admin/components/AdminSelect.js +0 -71
  147. package/dist/admin/components/AdminSelect.js.map +0 -1
  148. package/dist/admin/components/AdminSetupForm.d.ts +0 -28
  149. package/dist/admin/components/AdminSetupForm.d.ts.map +0 -1
  150. package/dist/admin/components/AdminSetupForm.js +0 -85
  151. package/dist/admin/components/AdminSetupForm.js.map +0 -1
  152. package/dist/admin/components/AdminToast.d.ts +0 -31
  153. package/dist/admin/components/AdminToast.d.ts.map +0 -1
  154. package/dist/admin/components/AdminToast.js +0 -83
  155. package/dist/admin/components/AdminToast.js.map +0 -1
  156. package/dist/admin/components/AdminUserMenu.d.ts +0 -14
  157. package/dist/admin/components/AdminUserMenu.d.ts.map +0 -1
  158. package/dist/admin/components/AdminUserMenu.js +0 -34
  159. package/dist/admin/components/AdminUserMenu.js.map +0 -1
  160. package/dist/admin/components/CategoryForm.d.ts +0 -30
  161. package/dist/admin/components/CategoryForm.d.ts.map +0 -1
  162. package/dist/admin/components/CategoryForm.js +0 -152
  163. package/dist/admin/components/CategoryForm.js.map +0 -1
  164. package/dist/admin/components/CategorySelect.d.ts +0 -32
  165. package/dist/admin/components/CategorySelect.d.ts.map +0 -1
  166. package/dist/admin/components/CategorySelect.js +0 -139
  167. package/dist/admin/components/CategorySelect.js.map +0 -1
  168. package/dist/admin/components/CustomerDetails.d.ts +0 -15
  169. package/dist/admin/components/CustomerDetails.d.ts.map +0 -1
  170. package/dist/admin/components/CustomerDetails.js +0 -177
  171. package/dist/admin/components/CustomerDetails.js.map +0 -1
  172. package/dist/admin/components/CustomerTable.d.ts +0 -13
  173. package/dist/admin/components/CustomerTable.d.ts.map +0 -1
  174. package/dist/admin/components/CustomerTable.js +0 -112
  175. package/dist/admin/components/CustomerTable.js.map +0 -1
  176. package/dist/admin/components/DeleteConfirmDialog.d.ts +0 -56
  177. package/dist/admin/components/DeleteConfirmDialog.d.ts.map +0 -1
  178. package/dist/admin/components/DeleteConfirmDialog.js +0 -46
  179. package/dist/admin/components/DeleteConfirmDialog.js.map +0 -1
  180. package/dist/admin/components/ExampleContentBanner.d.ts +0 -2
  181. package/dist/admin/components/ExampleContentBanner.d.ts.map +0 -1
  182. package/dist/admin/components/ExampleContentBanner.js +0 -153
  183. package/dist/admin/components/ExampleContentBanner.js.map +0 -1
  184. package/dist/admin/components/InventoryEditor.d.ts +0 -15
  185. package/dist/admin/components/InventoryEditor.d.ts.map +0 -1
  186. package/dist/admin/components/InventoryEditor.js +0 -86
  187. package/dist/admin/components/InventoryEditor.js.map +0 -1
  188. package/dist/admin/components/InviteUserDialog.d.ts +0 -3
  189. package/dist/admin/components/InviteUserDialog.d.ts.map +0 -1
  190. package/dist/admin/components/InviteUserDialog.js +0 -126
  191. package/dist/admin/components/InviteUserDialog.js.map +0 -1
  192. package/dist/admin/components/LogoUpload.d.ts +0 -22
  193. package/dist/admin/components/LogoUpload.d.ts.map +0 -1
  194. package/dist/admin/components/LogoUpload.js +0 -210
  195. package/dist/admin/components/LogoUpload.js.map +0 -1
  196. package/dist/admin/components/LowStockAlert.d.ts +0 -11
  197. package/dist/admin/components/LowStockAlert.d.ts.map +0 -1
  198. package/dist/admin/components/LowStockAlert.js +0 -33
  199. package/dist/admin/components/LowStockAlert.js.map +0 -1
  200. package/dist/admin/components/OrderDetails.d.ts +0 -14
  201. package/dist/admin/components/OrderDetails.d.ts.map +0 -1
  202. package/dist/admin/components/OrderDetails.js +0 -210
  203. package/dist/admin/components/OrderDetails.js.map +0 -1
  204. package/dist/admin/components/OrderStatusChart.d.ts +0 -21
  205. package/dist/admin/components/OrderStatusChart.d.ts.map +0 -1
  206. package/dist/admin/components/OrderStatusChart.js +0 -61
  207. package/dist/admin/components/OrderStatusChart.js.map +0 -1
  208. package/dist/admin/components/OrderTable.d.ts +0 -13
  209. package/dist/admin/components/OrderTable.d.ts.map +0 -1
  210. package/dist/admin/components/OrderTable.js +0 -117
  211. package/dist/admin/components/OrderTable.js.map +0 -1
  212. package/dist/admin/components/PaymentSettings.d.ts +0 -13
  213. package/dist/admin/components/PaymentSettings.d.ts.map +0 -1
  214. package/dist/admin/components/PaymentSettings.js +0 -117
  215. package/dist/admin/components/PaymentSettings.js.map +0 -1
  216. package/dist/admin/components/PeriodSelector.d.ts +0 -9
  217. package/dist/admin/components/PeriodSelector.d.ts.map +0 -1
  218. package/dist/admin/components/PeriodSelector.js +0 -19
  219. package/dist/admin/components/PeriodSelector.js.map +0 -1
  220. package/dist/admin/components/PermissionsMatrix.d.ts +0 -8
  221. package/dist/admin/components/PermissionsMatrix.d.ts.map +0 -1
  222. package/dist/admin/components/PermissionsMatrix.js +0 -70
  223. package/dist/admin/components/PermissionsMatrix.js.map +0 -1
  224. package/dist/admin/components/PrimaryMetricsRow.d.ts +0 -11
  225. package/dist/admin/components/PrimaryMetricsRow.d.ts.map +0 -1
  226. package/dist/admin/components/PrimaryMetricsRow.js +0 -73
  227. package/dist/admin/components/PrimaryMetricsRow.js.map +0 -1
  228. package/dist/admin/components/ProductForm.d.ts +0 -18
  229. package/dist/admin/components/ProductForm.d.ts.map +0 -1
  230. package/dist/admin/components/ProductForm.js +0 -251
  231. package/dist/admin/components/ProductForm.js.map +0 -1
  232. package/dist/admin/components/ProductTable.d.ts +0 -14
  233. package/dist/admin/components/ProductTable.d.ts.map +0 -1
  234. package/dist/admin/components/ProductTable.js +0 -384
  235. package/dist/admin/components/ProductTable.js.map +0 -1
  236. package/dist/admin/components/RecentOrders.d.ts +0 -11
  237. package/dist/admin/components/RecentOrders.d.ts.map +0 -1
  238. package/dist/admin/components/RecentOrders.js +0 -63
  239. package/dist/admin/components/RecentOrders.js.map +0 -1
  240. package/dist/admin/components/RefundDialog.d.ts +0 -17
  241. package/dist/admin/components/RefundDialog.d.ts.map +0 -1
  242. package/dist/admin/components/RefundDialog.js +0 -90
  243. package/dist/admin/components/RefundDialog.js.map +0 -1
  244. package/dist/admin/components/RevenueChart.d.ts +0 -23
  245. package/dist/admin/components/RevenueChart.d.ts.map +0 -1
  246. package/dist/admin/components/RevenueChart.js +0 -75
  247. package/dist/admin/components/RevenueChart.js.map +0 -1
  248. package/dist/admin/components/SEOPreview.d.ts +0 -33
  249. package/dist/admin/components/SEOPreview.d.ts.map +0 -1
  250. package/dist/admin/components/SEOPreview.js +0 -30
  251. package/dist/admin/components/SEOPreview.js.map +0 -1
  252. package/dist/admin/components/SecondaryMetricsRow.d.ts +0 -14
  253. package/dist/admin/components/SecondaryMetricsRow.d.ts.map +0 -1
  254. package/dist/admin/components/SecondaryMetricsRow.js +0 -45
  255. package/dist/admin/components/SecondaryMetricsRow.js.map +0 -1
  256. package/dist/admin/components/SetupGuide.d.ts +0 -4
  257. package/dist/admin/components/SetupGuide.d.ts.map +0 -1
  258. package/dist/admin/components/SetupGuide.js +0 -244
  259. package/dist/admin/components/SetupGuide.js.map +0 -1
  260. package/dist/admin/components/ShippingSettings.d.ts +0 -3
  261. package/dist/admin/components/ShippingSettings.d.ts.map +0 -1
  262. package/dist/admin/components/ShippingSettings.js +0 -553
  263. package/dist/admin/components/ShippingSettings.js.map +0 -1
  264. package/dist/admin/components/StatsCards.d.ts +0 -18
  265. package/dist/admin/components/StatsCards.d.ts.map +0 -1
  266. package/dist/admin/components/StatsCards.js +0 -71
  267. package/dist/admin/components/StatsCards.js.map +0 -1
  268. package/dist/admin/components/StoreSettings.d.ts +0 -19
  269. package/dist/admin/components/StoreSettings.d.ts.map +0 -1
  270. package/dist/admin/components/StoreSettings.js +0 -149
  271. package/dist/admin/components/StoreSettings.js.map +0 -1
  272. package/dist/admin/components/TagInput.d.ts +0 -29
  273. package/dist/admin/components/TagInput.d.ts.map +0 -1
  274. package/dist/admin/components/TagInput.js +0 -69
  275. package/dist/admin/components/TagInput.js.map +0 -1
  276. package/dist/admin/components/TaxSettings.d.ts +0 -12
  277. package/dist/admin/components/TaxSettings.d.ts.map +0 -1
  278. package/dist/admin/components/TaxSettings.js +0 -272
  279. package/dist/admin/components/TaxSettings.js.map +0 -1
  280. package/dist/admin/components/UsersTable.d.ts +0 -3
  281. package/dist/admin/components/UsersTable.d.ts.map +0 -1
  282. package/dist/admin/components/UsersTable.js +0 -388
  283. package/dist/admin/components/UsersTable.js.map +0 -1
  284. package/dist/admin/components/VariantManager.d.ts +0 -44
  285. package/dist/admin/components/VariantManager.d.ts.map +0 -1
  286. package/dist/admin/components/VariantManager.js +0 -324
  287. package/dist/admin/components/VariantManager.js.map +0 -1
  288. package/dist/admin/components/index.d.ts +0 -69
  289. package/dist/admin/components/index.d.ts.map +0 -1
  290. package/dist/admin/components/index.js +0 -86
  291. package/dist/admin/components/index.js.map +0 -1
  292. package/dist/admin/config.d.ts +0 -51
  293. package/dist/admin/config.d.ts.map +0 -1
  294. package/dist/admin/config.js +0 -224
  295. package/dist/admin/config.js.map +0 -1
  296. package/dist/admin/hooks/fetchAdminApi.d.ts +0 -65
  297. package/dist/admin/hooks/fetchAdminApi.d.ts.map +0 -1
  298. package/dist/admin/hooks/fetchAdminApi.js +0 -96
  299. package/dist/admin/hooks/fetchAdminApi.js.map +0 -1
  300. package/dist/admin/hooks/index.d.ts +0 -24
  301. package/dist/admin/hooks/index.d.ts.map +0 -1
  302. package/dist/admin/hooks/index.js +0 -19
  303. package/dist/admin/hooks/index.js.map +0 -1
  304. package/dist/admin/hooks/useAdminAuth.d.ts +0 -25
  305. package/dist/admin/hooks/useAdminAuth.d.ts.map +0 -1
  306. package/dist/admin/hooks/useAdminAuth.js +0 -183
  307. package/dist/admin/hooks/useAdminAuth.js.map +0 -1
  308. package/dist/admin/hooks/useAdminCategories.d.ts +0 -9
  309. package/dist/admin/hooks/useAdminCategories.d.ts.map +0 -1
  310. package/dist/admin/hooks/useAdminCategories.js +0 -112
  311. package/dist/admin/hooks/useAdminCategories.js.map +0 -1
  312. package/dist/admin/hooks/useAdminCustomers.d.ts +0 -3
  313. package/dist/admin/hooks/useAdminCustomers.d.ts.map +0 -1
  314. package/dist/admin/hooks/useAdminCustomers.js +0 -110
  315. package/dist/admin/hooks/useAdminCustomers.js.map +0 -1
  316. package/dist/admin/hooks/useAdminMe.d.ts +0 -31
  317. package/dist/admin/hooks/useAdminMe.d.ts.map +0 -1
  318. package/dist/admin/hooks/useAdminMe.js +0 -78
  319. package/dist/admin/hooks/useAdminMe.js.map +0 -1
  320. package/dist/admin/hooks/useAdminOrders.d.ts +0 -3
  321. package/dist/admin/hooks/useAdminOrders.d.ts.map +0 -1
  322. package/dist/admin/hooks/useAdminOrders.js +0 -118
  323. package/dist/admin/hooks/useAdminOrders.js.map +0 -1
  324. package/dist/admin/hooks/useAdminPermissions.d.ts +0 -3
  325. package/dist/admin/hooks/useAdminPermissions.d.ts.map +0 -1
  326. package/dist/admin/hooks/useAdminPermissions.js +0 -51
  327. package/dist/admin/hooks/useAdminPermissions.js.map +0 -1
  328. package/dist/admin/hooks/useAdminProductMetrics.d.ts +0 -3
  329. package/dist/admin/hooks/useAdminProductMetrics.d.ts.map +0 -1
  330. package/dist/admin/hooks/useAdminProductMetrics.js +0 -32
  331. package/dist/admin/hooks/useAdminProductMetrics.js.map +0 -1
  332. package/dist/admin/hooks/useAdminProducts.d.ts +0 -3
  333. package/dist/admin/hooks/useAdminProducts.d.ts.map +0 -1
  334. package/dist/admin/hooks/useAdminProducts.js +0 -132
  335. package/dist/admin/hooks/useAdminProducts.js.map +0 -1
  336. package/dist/admin/hooks/useAdminSession.d.ts +0 -23
  337. package/dist/admin/hooks/useAdminSession.d.ts.map +0 -1
  338. package/dist/admin/hooks/useAdminSession.js +0 -117
  339. package/dist/admin/hooks/useAdminSession.js.map +0 -1
  340. package/dist/admin/hooks/useAdminStats.d.ts +0 -47
  341. package/dist/admin/hooks/useAdminStats.d.ts.map +0 -1
  342. package/dist/admin/hooks/useAdminStats.js +0 -128
  343. package/dist/admin/hooks/useAdminStats.js.map +0 -1
  344. package/dist/admin/hooks/useAdminUsers.d.ts +0 -3
  345. package/dist/admin/hooks/useAdminUsers.d.ts.map +0 -1
  346. package/dist/admin/hooks/useAdminUsers.js +0 -177
  347. package/dist/admin/hooks/useAdminUsers.js.map +0 -1
  348. package/dist/admin/hooks/useLinkedCustomerStatus.d.ts +0 -3
  349. package/dist/admin/hooks/useLinkedCustomerStatus.d.ts.map +0 -1
  350. package/dist/admin/hooks/useLinkedCustomerStatus.js +0 -48
  351. package/dist/admin/hooks/useLinkedCustomerStatus.js.map +0 -1
  352. package/dist/admin/hooks/useSetupGuide.d.ts +0 -45
  353. package/dist/admin/hooks/useSetupGuide.d.ts.map +0 -1
  354. package/dist/admin/hooks/useSetupGuide.js +0 -60
  355. package/dist/admin/hooks/useSetupGuide.js.map +0 -1
  356. package/dist/admin/index.d.ts +0 -66
  357. package/dist/admin/index.d.ts.map +0 -1
  358. package/dist/admin/index.js +0 -144
  359. package/dist/admin/index.js.map +0 -1
  360. package/dist/admin/permissions.d.ts +0 -79
  361. package/dist/admin/permissions.d.ts.map +0 -1
  362. package/dist/admin/permissions.js +0 -182
  363. package/dist/admin/permissions.js.map +0 -1
  364. package/dist/admin/server/admin-invite.d.ts +0 -122
  365. package/dist/admin/server/admin-invite.d.ts.map +0 -1
  366. package/dist/admin/server/admin-invite.js +0 -235
  367. package/dist/admin/server/admin-invite.js.map +0 -1
  368. package/dist/admin/server/admin-password-reset.d.ts +0 -87
  369. package/dist/admin/server/admin-password-reset.d.ts.map +0 -1
  370. package/dist/admin/server/admin-password-reset.js +0 -220
  371. package/dist/admin/server/admin-password-reset.js.map +0 -1
  372. package/dist/admin/server/admin-self-service.d.ts +0 -86
  373. package/dist/admin/server/admin-self-service.d.ts.map +0 -1
  374. package/dist/admin/server/admin-self-service.js +0 -188
  375. package/dist/admin/server/admin-self-service.js.map +0 -1
  376. package/dist/admin/server/admin-service.d.ts +0 -131
  377. package/dist/admin/server/admin-service.d.ts.map +0 -1
  378. package/dist/admin/server/admin-service.js +0 -278
  379. package/dist/admin/server/admin-service.js.map +0 -1
  380. package/dist/admin/server/admin-session.d.ts +0 -173
  381. package/dist/admin/server/admin-session.d.ts.map +0 -1
  382. package/dist/admin/server/admin-session.js +0 -272
  383. package/dist/admin/server/admin-session.js.map +0 -1
  384. package/dist/admin/server/index.d.ts +0 -17
  385. package/dist/admin/server/index.d.ts.map +0 -1
  386. package/dist/admin/server/index.js +0 -39
  387. package/dist/admin/server/index.js.map +0 -1
  388. package/dist/admin/server/user-management.d.ts +0 -221
  389. package/dist/admin/server/user-management.d.ts.map +0 -1
  390. package/dist/admin/server/user-management.js +0 -838
  391. package/dist/admin/server/user-management.js.map +0 -1
  392. package/dist/admin/types.d.ts +0 -1161
  393. package/dist/admin/types.d.ts.map +0 -1
  394. package/dist/admin/types.js +0 -10
  395. package/dist/admin/types.js.map +0 -1
  396. package/dist/auth/api/auth.d.ts +0 -9
  397. package/dist/auth/api/auth.d.ts.map +0 -1
  398. package/dist/auth/api/auth.js +0 -9
  399. package/dist/auth/api/auth.js.map +0 -1
  400. package/dist/auth/api/forgot-password.d.ts +0 -41
  401. package/dist/auth/api/forgot-password.d.ts.map +0 -1
  402. package/dist/auth/api/forgot-password.js +0 -65
  403. package/dist/auth/api/forgot-password.js.map +0 -1
  404. package/dist/auth/api/index.d.ts +0 -37
  405. package/dist/auth/api/index.d.ts.map +0 -1
  406. package/dist/auth/api/index.js +0 -44
  407. package/dist/auth/api/index.js.map +0 -1
  408. package/dist/auth/api/register.d.ts +0 -41
  409. package/dist/auth/api/register.d.ts.map +0 -1
  410. package/dist/auth/api/register.js +0 -99
  411. package/dist/auth/api/register.js.map +0 -1
  412. package/dist/auth/api/request-refund.d.ts +0 -38
  413. package/dist/auth/api/request-refund.d.ts.map +0 -1
  414. package/dist/auth/api/request-refund.js +0 -142
  415. package/dist/auth/api/request-refund.js.map +0 -1
  416. package/dist/auth/api/request-return.d.ts +0 -39
  417. package/dist/auth/api/request-return.d.ts.map +0 -1
  418. package/dist/auth/api/request-return.js +0 -109
  419. package/dist/auth/api/request-return.js.map +0 -1
  420. package/dist/auth/api/resend-verification.d.ts +0 -41
  421. package/dist/auth/api/resend-verification.d.ts.map +0 -1
  422. package/dist/auth/api/resend-verification.js +0 -68
  423. package/dist/auth/api/resend-verification.js.map +0 -1
  424. package/dist/auth/api/reset-password.d.ts +0 -67
  425. package/dist/auth/api/reset-password.d.ts.map +0 -1
  426. package/dist/auth/api/reset-password.js +0 -106
  427. package/dist/auth/api/reset-password.js.map +0 -1
  428. package/dist/auth/api/verify-email.d.ts +0 -47
  429. package/dist/auth/api/verify-email.d.ts.map +0 -1
  430. package/dist/auth/api/verify-email.js +0 -90
  431. package/dist/auth/api/verify-email.js.map +0 -1
  432. package/dist/auth/components/AuthGuard.d.ts +0 -52
  433. package/dist/auth/components/AuthGuard.d.ts.map +0 -1
  434. package/dist/auth/components/AuthGuard.js +0 -109
  435. package/dist/auth/components/AuthGuard.js.map +0 -1
  436. package/dist/auth/components/ForgotPasswordForm.d.ts +0 -15
  437. package/dist/auth/components/ForgotPasswordForm.d.ts.map +0 -1
  438. package/dist/auth/components/ForgotPasswordForm.js +0 -43
  439. package/dist/auth/components/ForgotPasswordForm.js.map +0 -1
  440. package/dist/auth/components/Label.d.ts +0 -19
  441. package/dist/auth/components/Label.d.ts.map +0 -1
  442. package/dist/auth/components/Label.js +0 -18
  443. package/dist/auth/components/Label.js.map +0 -1
  444. package/dist/auth/components/ResetPasswordForm.d.ts +0 -18
  445. package/dist/auth/components/ResetPasswordForm.d.ts.map +0 -1
  446. package/dist/auth/components/ResetPasswordForm.js +0 -87
  447. package/dist/auth/components/ResetPasswordForm.js.map +0 -1
  448. package/dist/auth/components/SignInForm.d.ts +0 -21
  449. package/dist/auth/components/SignInForm.d.ts.map +0 -1
  450. package/dist/auth/components/SignInForm.js +0 -61
  451. package/dist/auth/components/SignInForm.js.map +0 -1
  452. package/dist/auth/components/SignUpForm.d.ts +0 -18
  453. package/dist/auth/components/SignUpForm.d.ts.map +0 -1
  454. package/dist/auth/components/SignUpForm.js +0 -78
  455. package/dist/auth/components/SignUpForm.js.map +0 -1
  456. package/dist/auth/components/UserMenu.d.ts +0 -18
  457. package/dist/auth/components/UserMenu.d.ts.map +0 -1
  458. package/dist/auth/components/UserMenu.js +0 -73
  459. package/dist/auth/components/UserMenu.js.map +0 -1
  460. package/dist/auth/components/VerifyEmailNotice.d.ts +0 -20
  461. package/dist/auth/components/VerifyEmailNotice.d.ts.map +0 -1
  462. package/dist/auth/components/VerifyEmailNotice.js +0 -57
  463. package/dist/auth/components/VerifyEmailNotice.js.map +0 -1
  464. package/dist/auth/components/index.d.ts +0 -15
  465. package/dist/auth/components/index.d.ts.map +0 -1
  466. package/dist/auth/components/index.js +0 -14
  467. package/dist/auth/components/index.js.map +0 -1
  468. package/dist/auth/config.d.ts +0 -52
  469. package/dist/auth/config.d.ts.map +0 -1
  470. package/dist/auth/config.js +0 -243
  471. package/dist/auth/config.js.map +0 -1
  472. package/dist/auth/hooks/index.d.ts +0 -7
  473. package/dist/auth/hooks/index.d.ts.map +0 -1
  474. package/dist/auth/hooks/index.js +0 -7
  475. package/dist/auth/hooks/index.js.map +0 -1
  476. package/dist/auth/hooks/useAuth.d.ts +0 -30
  477. package/dist/auth/hooks/useAuth.d.ts.map +0 -1
  478. package/dist/auth/hooks/useAuth.js +0 -251
  479. package/dist/auth/hooks/useAuth.js.map +0 -1
  480. package/dist/auth/index.d.ts +0 -55
  481. package/dist/auth/index.d.ts.map +0 -1
  482. package/dist/auth/index.js +0 -67
  483. package/dist/auth/index.js.map +0 -1
  484. package/dist/auth/server/customer-service.d.ts +0 -140
  485. package/dist/auth/server/customer-service.d.ts.map +0 -1
  486. package/dist/auth/server/customer-service.js +0 -266
  487. package/dist/auth/server/customer-service.js.map +0 -1
  488. package/dist/auth/server/customer-session.d.ts +0 -79
  489. package/dist/auth/server/customer-session.d.ts.map +0 -1
  490. package/dist/auth/server/customer-session.js +0 -103
  491. package/dist/auth/server/customer-session.js.map +0 -1
  492. package/dist/auth/server/email-sender.d.ts +0 -64
  493. package/dist/auth/server/email-sender.d.ts.map +0 -1
  494. package/dist/auth/server/email-sender.js +0 -106
  495. package/dist/auth/server/email-sender.js.map +0 -1
  496. package/dist/auth/server/index.d.ts +0 -14
  497. package/dist/auth/server/index.d.ts.map +0 -1
  498. package/dist/auth/server/index.js +0 -17
  499. package/dist/auth/server/index.js.map +0 -1
  500. package/dist/auth/server/password-reset-service.d.ts +0 -87
  501. package/dist/auth/server/password-reset-service.d.ts.map +0 -1
  502. package/dist/auth/server/password-reset-service.js +0 -203
  503. package/dist/auth/server/password-reset-service.js.map +0 -1
  504. package/dist/auth/server/password.d.ts +0 -58
  505. package/dist/auth/server/password.d.ts.map +0 -1
  506. package/dist/auth/server/password.js +0 -85
  507. package/dist/auth/server/password.js.map +0 -1
  508. package/dist/auth/server/verification-service.d.ts +0 -88
  509. package/dist/auth/server/verification-service.d.ts.map +0 -1
  510. package/dist/auth/server/verification-service.js +0 -231
  511. package/dist/auth/server/verification-service.js.map +0 -1
  512. package/dist/auth/types.d.ts +0 -311
  513. package/dist/auth/types.d.ts.map +0 -1
  514. package/dist/auth/types.js +0 -7
  515. package/dist/auth/types.js.map +0 -1
  516. package/dist/cart/CartProvider.d.ts +0 -65
  517. package/dist/cart/CartProvider.d.ts.map +0 -1
  518. package/dist/cart/CartProvider.js +0 -96
  519. package/dist/cart/CartProvider.js.map +0 -1
  520. package/dist/cart/components/AddToCartButton.d.ts +0 -77
  521. package/dist/cart/components/AddToCartButton.d.ts.map +0 -1
  522. package/dist/cart/components/AddToCartButton.js +0 -122
  523. package/dist/cart/components/AddToCartButton.js.map +0 -1
  524. package/dist/cart/components/CartDrawer.d.ts +0 -71
  525. package/dist/cart/components/CartDrawer.d.ts.map +0 -1
  526. package/dist/cart/components/CartDrawer.js +0 -117
  527. package/dist/cart/components/CartDrawer.js.map +0 -1
  528. package/dist/cart/components/CartIcon.d.ts +0 -36
  529. package/dist/cart/components/CartIcon.d.ts.map +0 -1
  530. package/dist/cart/components/CartIcon.js +0 -68
  531. package/dist/cart/components/CartIcon.js.map +0 -1
  532. package/dist/cart/components/CartItem.d.ts +0 -52
  533. package/dist/cart/components/CartItem.d.ts.map +0 -1
  534. package/dist/cart/components/CartItem.js +0 -55
  535. package/dist/cart/components/CartItem.js.map +0 -1
  536. package/dist/cart/components/CartSummary.d.ts +0 -43
  537. package/dist/cart/components/CartSummary.d.ts.map +0 -1
  538. package/dist/cart/components/CartSummary.js +0 -60
  539. package/dist/cart/components/CartSummary.js.map +0 -1
  540. package/dist/cart/components/QuantitySelector.d.ts +0 -39
  541. package/dist/cart/components/QuantitySelector.d.ts.map +0 -1
  542. package/dist/cart/components/QuantitySelector.js +0 -85
  543. package/dist/cart/components/QuantitySelector.js.map +0 -1
  544. package/dist/cart/components/index.d.ts +0 -18
  545. package/dist/cart/components/index.d.ts.map +0 -1
  546. package/dist/cart/components/index.js +0 -12
  547. package/dist/cart/components/index.js.map +0 -1
  548. package/dist/cart/index.d.ts +0 -109
  549. package/dist/cart/index.d.ts.map +0 -1
  550. package/dist/cart/index.js +0 -115
  551. package/dist/cart/index.js.map +0 -1
  552. package/dist/cart/store.d.ts +0 -150
  553. package/dist/cart/store.d.ts.map +0 -1
  554. package/dist/cart/store.js +0 -315
  555. package/dist/cart/store.js.map +0 -1
  556. package/dist/checkout/api/checkout.js +0 -112
  557. package/dist/checkout/api/checkout.js.map +0 -1
  558. package/dist/checkout/api/countries.d.ts +0 -17
  559. package/dist/checkout/api/countries.d.ts.map +0 -1
  560. package/dist/checkout/api/countries.js +0 -38
  561. package/dist/checkout/api/countries.js.map +0 -1
  562. package/dist/checkout/api/index.js +0 -11
  563. package/dist/checkout/api/index.js.map +0 -1
  564. package/dist/checkout/api/payment-status.d.ts +0 -45
  565. package/dist/checkout/api/payment-status.d.ts.map +0 -1
  566. package/dist/checkout/api/payment-status.js +0 -104
  567. package/dist/checkout/api/payment-status.js.map +0 -1
  568. package/dist/checkout/api/shipping.d.ts +0 -34
  569. package/dist/checkout/api/shipping.d.ts.map +0 -1
  570. package/dist/checkout/api/shipping.js +0 -247
  571. package/dist/checkout/api/shipping.js.map +0 -1
  572. package/dist/checkout/api/webhook.js +0 -55
  573. package/dist/checkout/api/webhook.js.map +0 -1
  574. package/dist/checkout/components/CheckoutButton.d.ts +0 -55
  575. package/dist/checkout/components/CheckoutButton.d.ts.map +0 -1
  576. package/dist/checkout/components/CheckoutButton.js +0 -132
  577. package/dist/checkout/components/CheckoutButton.js.map +0 -1
  578. package/dist/checkout/components/CheckoutFlow.d.ts +0 -53
  579. package/dist/checkout/components/CheckoutFlow.d.ts.map +0 -1
  580. package/dist/checkout/components/CheckoutFlow.js +0 -286
  581. package/dist/checkout/components/CheckoutFlow.js.map +0 -1
  582. package/dist/checkout/components/CheckoutSuccess.d.ts +0 -29
  583. package/dist/checkout/components/CheckoutSuccess.d.ts.map +0 -1
  584. package/dist/checkout/components/CheckoutSuccess.js +0 -49
  585. package/dist/checkout/components/CheckoutSuccess.js.map +0 -1
  586. package/dist/checkout/components/OrderSummary.d.ts +0 -37
  587. package/dist/checkout/components/OrderSummary.d.ts.map +0 -1
  588. package/dist/checkout/components/OrderSummary.js +0 -71
  589. package/dist/checkout/components/OrderSummary.js.map +0 -1
  590. package/dist/checkout/components/ShippingForm.d.ts +0 -30
  591. package/dist/checkout/components/ShippingForm.d.ts.map +0 -1
  592. package/dist/checkout/components/ShippingForm.js +0 -185
  593. package/dist/checkout/components/ShippingForm.js.map +0 -1
  594. package/dist/checkout/components/ShippingOptions.d.ts +0 -51
  595. package/dist/checkout/components/ShippingOptions.d.ts.map +0 -1
  596. package/dist/checkout/components/ShippingOptions.js +0 -93
  597. package/dist/checkout/components/ShippingOptions.js.map +0 -1
  598. package/dist/checkout/components/index.d.ts +0 -12
  599. package/dist/checkout/components/index.d.ts.map +0 -1
  600. package/dist/checkout/components/index.js +0 -12
  601. package/dist/checkout/components/index.js.map +0 -1
  602. package/dist/checkout/constants.d.ts +0 -244
  603. package/dist/checkout/constants.d.ts.map +0 -1
  604. package/dist/checkout/constants.js +0 -119
  605. package/dist/checkout/constants.js.map +0 -1
  606. package/dist/checkout/hooks/index.d.ts +0 -9
  607. package/dist/checkout/hooks/index.d.ts.map +0 -1
  608. package/dist/checkout/hooks/index.js +0 -8
  609. package/dist/checkout/hooks/index.js.map +0 -1
  610. package/dist/checkout/hooks/useCheckout.d.ts +0 -38
  611. package/dist/checkout/hooks/useCheckout.d.ts.map +0 -1
  612. package/dist/checkout/hooks/useCheckout.js +0 -134
  613. package/dist/checkout/hooks/useCheckout.js.map +0 -1
  614. package/dist/checkout/hooks/usePaymentStatus.d.ts +0 -42
  615. package/dist/checkout/hooks/usePaymentStatus.d.ts.map +0 -1
  616. package/dist/checkout/hooks/usePaymentStatus.js +0 -71
  617. package/dist/checkout/hooks/usePaymentStatus.js.map +0 -1
  618. package/dist/checkout/index.js +0 -135
  619. package/dist/checkout/index.js.map +0 -1
  620. package/dist/checkout/server/coupons.d.ts +0 -91
  621. package/dist/checkout/server/coupons.d.ts.map +0 -1
  622. package/dist/checkout/server/coupons.js +0 -192
  623. package/dist/checkout/server/coupons.js.map +0 -1
  624. package/dist/checkout/server/index.js +0 -10
  625. package/dist/checkout/server/index.js.map +0 -1
  626. package/dist/checkout/stripe/client.d.ts +0 -74
  627. package/dist/checkout/stripe/client.d.ts.map +0 -1
  628. package/dist/checkout/stripe/client.js +0 -175
  629. package/dist/checkout/stripe/client.js.map +0 -1
  630. package/dist/checkout/stripe/index.d.ts +0 -7
  631. package/dist/checkout/stripe/index.d.ts.map +0 -1
  632. package/dist/checkout/stripe/index.js +0 -7
  633. package/dist/checkout/stripe/index.js.map +0 -1
  634. package/dist/checkout/types.d.ts +0 -489
  635. package/dist/checkout/types.d.ts.map +0 -1
  636. package/dist/checkout/types.js +0 -8
  637. package/dist/checkout/types.js.map +0 -1
  638. package/dist/core/StoreSettingsProvider.d.ts +0 -107
  639. package/dist/core/StoreSettingsProvider.d.ts.map +0 -1
  640. package/dist/core/StoreSettingsProvider.js +0 -200
  641. package/dist/core/StoreSettingsProvider.js.map +0 -1
  642. package/dist/core/api/index.d.ts +0 -7
  643. package/dist/core/api/index.d.ts.map +0 -1
  644. package/dist/core/api/index.js +0 -7
  645. package/dist/core/api/index.js.map +0 -1
  646. package/dist/core/api/settings.d.ts +0 -42
  647. package/dist/core/api/settings.d.ts.map +0 -1
  648. package/dist/core/api/settings.js +0 -74
  649. package/dist/core/api/settings.js.map +0 -1
  650. package/dist/core/config.d.ts +0 -270
  651. package/dist/core/config.d.ts.map +0 -1
  652. package/dist/core/config.js +0 -80
  653. package/dist/core/config.js.map +0 -1
  654. package/dist/core/cookie-consent/CookieBanner.d.ts +0 -2
  655. package/dist/core/cookie-consent/CookieBanner.d.ts.map +0 -1
  656. package/dist/core/cookie-consent/CookieBanner.js +0 -243
  657. package/dist/core/cookie-consent/CookieBanner.js.map +0 -1
  658. package/dist/core/cookie-consent/CookieConsentProvider.d.ts +0 -53
  659. package/dist/core/cookie-consent/CookieConsentProvider.d.ts.map +0 -1
  660. package/dist/core/cookie-consent/CookieConsentProvider.js +0 -162
  661. package/dist/core/cookie-consent/CookieConsentProvider.js.map +0 -1
  662. package/dist/core/cookie-consent/CookiePreferencesLink.d.ts +0 -15
  663. package/dist/core/cookie-consent/CookiePreferencesLink.d.ts.map +0 -1
  664. package/dist/core/cookie-consent/CookiePreferencesLink.js +0 -12
  665. package/dist/core/cookie-consent/CookiePreferencesLink.js.map +0 -1
  666. package/dist/core/cookie-consent/index.d.ts +0 -17
  667. package/dist/core/cookie-consent/index.d.ts.map +0 -1
  668. package/dist/core/cookie-consent/index.js +0 -16
  669. package/dist/core/cookie-consent/index.js.map +0 -1
  670. package/dist/core/cookie-consent/types.d.ts +0 -31
  671. package/dist/core/cookie-consent/types.d.ts.map +0 -1
  672. package/dist/core/cookie-consent/types.js +0 -10
  673. package/dist/core/cookie-consent/types.js.map +0 -1
  674. package/dist/core/cookie-consent/useCookieConsent.d.ts +0 -14
  675. package/dist/core/cookie-consent/useCookieConsent.d.ts.map +0 -1
  676. package/dist/core/cookie-consent/useCookieConsent.js +0 -25
  677. package/dist/core/cookie-consent/useCookieConsent.js.map +0 -1
  678. package/dist/core/db/client.d.ts +0 -39
  679. package/dist/core/db/client.d.ts.map +0 -1
  680. package/dist/core/db/client.js +0 -86
  681. package/dist/core/db/client.js.map +0 -1
  682. package/dist/core/db/index.d.ts +0 -11
  683. package/dist/core/db/index.d.ts.map +0 -1
  684. package/dist/core/db/index.js +0 -36
  685. package/dist/core/db/index.js.map +0 -1
  686. package/dist/core/db/queries.d.ts +0 -1427
  687. package/dist/core/db/queries.d.ts.map +0 -1
  688. package/dist/core/db/queries.js +0 -1932
  689. package/dist/core/db/queries.js.map +0 -1
  690. package/dist/core/db/schema.d.ts +0 -3462
  691. package/dist/core/db/schema.d.ts.map +0 -1
  692. package/dist/core/db/schema.js +0 -495
  693. package/dist/core/db/schema.js.map +0 -1
  694. package/dist/core/index.d.ts +0 -22
  695. package/dist/core/index.d.ts.map +0 -1
  696. package/dist/core/index.js +0 -43
  697. package/dist/core/index.js.map +0 -1
  698. package/dist/core/server/index.d.ts +0 -18
  699. package/dist/core/server/index.d.ts.map +0 -1
  700. package/dist/core/server/index.js +0 -47
  701. package/dist/core/server/index.js.map +0 -1
  702. package/dist/core/types.d.ts +0 -246
  703. package/dist/core/types.d.ts.map +0 -1
  704. package/dist/core/types.js +0 -8
  705. package/dist/core/types.js.map +0 -1
  706. package/dist/core/utils.d.ts +0 -147
  707. package/dist/core/utils.d.ts.map +0 -1
  708. package/dist/core/utils.js +0 -309
  709. package/dist/core/utils.js.map +0 -1
  710. package/dist/emails/config.d.ts +0 -69
  711. package/dist/emails/config.d.ts.map +0 -1
  712. package/dist/emails/config.js +0 -147
  713. package/dist/emails/config.js.map +0 -1
  714. package/dist/emails/index.d.ts +0 -85
  715. package/dist/emails/index.d.ts.map +0 -1
  716. package/dist/emails/index.js +0 -110
  717. package/dist/emails/index.js.map +0 -1
  718. package/dist/emails/send/admin-auth.d.ts +0 -94
  719. package/dist/emails/send/admin-auth.d.ts.map +0 -1
  720. package/dist/emails/send/admin-auth.js +0 -118
  721. package/dist/emails/send/admin-auth.js.map +0 -1
  722. package/dist/emails/send/auth.d.ts +0 -91
  723. package/dist/emails/send/auth.d.ts.map +0 -1
  724. package/dist/emails/send/auth.js +0 -130
  725. package/dist/emails/send/auth.js.map +0 -1
  726. package/dist/emails/send/index.d.ts +0 -12
  727. package/dist/emails/send/index.d.ts.map +0 -1
  728. package/dist/emails/send/index.js +0 -18
  729. package/dist/emails/send/index.js.map +0 -1
  730. package/dist/emails/send/orders.d.ts +0 -186
  731. package/dist/emails/send/orders.d.ts.map +0 -1
  732. package/dist/emails/send/orders.js +0 -258
  733. package/dist/emails/send/orders.js.map +0 -1
  734. package/dist/emails/sender.d.ts +0 -72
  735. package/dist/emails/sender.d.ts.map +0 -1
  736. package/dist/emails/sender.js +0 -116
  737. package/dist/emails/sender.js.map +0 -1
  738. package/dist/emails/templates/admin-invite.d.ts +0 -40
  739. package/dist/emails/templates/admin-invite.d.ts.map +0 -1
  740. package/dist/emails/templates/admin-invite.js +0 -62
  741. package/dist/emails/templates/admin-invite.js.map +0 -1
  742. package/dist/emails/templates/base.d.ts +0 -109
  743. package/dist/emails/templates/base.d.ts.map +0 -1
  744. package/dist/emails/templates/base.js +0 -334
  745. package/dist/emails/templates/base.js.map +0 -1
  746. package/dist/emails/templates/email-verification.d.ts +0 -28
  747. package/dist/emails/templates/email-verification.d.ts.map +0 -1
  748. package/dist/emails/templates/email-verification.js +0 -52
  749. package/dist/emails/templates/email-verification.js.map +0 -1
  750. package/dist/emails/templates/index.d.ts +0 -16
  751. package/dist/emails/templates/index.d.ts.map +0 -1
  752. package/dist/emails/templates/index.js +0 -28
  753. package/dist/emails/templates/index.js.map +0 -1
  754. package/dist/emails/templates/order-cancelled.d.ts +0 -30
  755. package/dist/emails/templates/order-cancelled.d.ts.map +0 -1
  756. package/dist/emails/templates/order-cancelled.js +0 -83
  757. package/dist/emails/templates/order-cancelled.js.map +0 -1
  758. package/dist/emails/templates/order-confirmation.d.ts +0 -36
  759. package/dist/emails/templates/order-confirmation.d.ts.map +0 -1
  760. package/dist/emails/templates/order-confirmation.js +0 -174
  761. package/dist/emails/templates/order-confirmation.js.map +0 -1
  762. package/dist/emails/templates/order-delivered.d.ts +0 -31
  763. package/dist/emails/templates/order-delivered.d.ts.map +0 -1
  764. package/dist/emails/templates/order-delivered.js +0 -100
  765. package/dist/emails/templates/order-delivered.js.map +0 -1
  766. package/dist/emails/templates/order-shipped.d.ts +0 -32
  767. package/dist/emails/templates/order-shipped.d.ts.map +0 -1
  768. package/dist/emails/templates/order-shipped.js +0 -83
  769. package/dist/emails/templates/order-shipped.js.map +0 -1
  770. package/dist/emails/templates/password-reset.d.ts +0 -27
  771. package/dist/emails/templates/password-reset.d.ts.map +0 -1
  772. package/dist/emails/templates/password-reset.js +0 -51
  773. package/dist/emails/templates/password-reset.js.map +0 -1
  774. package/dist/emails/templates/refund-processed.d.ts +0 -32
  775. package/dist/emails/templates/refund-processed.d.ts.map +0 -1
  776. package/dist/emails/templates/refund-processed.js +0 -92
  777. package/dist/emails/templates/refund-processed.js.map +0 -1
  778. package/dist/emails/templates/welcome.d.ts +0 -27
  779. package/dist/emails/templates/welcome.d.ts.map +0 -1
  780. package/dist/emails/templates/welcome.js +0 -52
  781. package/dist/emails/templates/welcome.js.map +0 -1
  782. package/dist/emails/types.d.ts +0 -229
  783. package/dist/emails/types.d.ts.map +0 -1
  784. package/dist/emails/types.js +0 -7
  785. package/dist/emails/types.js.map +0 -1
  786. package/dist/emails/utils.d.ts +0 -94
  787. package/dist/emails/utils.d.ts.map +0 -1
  788. package/dist/emails/utils.js +0 -218
  789. package/dist/emails/utils.js.map +0 -1
  790. package/dist/index.js +0 -73
  791. package/dist/index.js.map +0 -1
  792. package/dist/media/api/delete.d.ts +0 -43
  793. package/dist/media/api/delete.d.ts.map +0 -1
  794. package/dist/media/api/delete.js +0 -124
  795. package/dist/media/api/delete.js.map +0 -1
  796. package/dist/media/api/index.d.ts +0 -17
  797. package/dist/media/api/index.d.ts.map +0 -1
  798. package/dist/media/api/index.js +0 -17
  799. package/dist/media/api/index.js.map +0 -1
  800. package/dist/media/api/presign.d.ts +0 -38
  801. package/dist/media/api/presign.d.ts.map +0 -1
  802. package/dist/media/api/presign.js +0 -130
  803. package/dist/media/api/presign.js.map +0 -1
  804. package/dist/media/components/DropZone.d.ts +0 -18
  805. package/dist/media/components/DropZone.d.ts.map +0 -1
  806. package/dist/media/components/DropZone.js +0 -107
  807. package/dist/media/components/DropZone.js.map +0 -1
  808. package/dist/media/components/ImageGalleryUpload.d.ts +0 -21
  809. package/dist/media/components/ImageGalleryUpload.d.ts.map +0 -1
  810. package/dist/media/components/ImageGalleryUpload.js +0 -193
  811. package/dist/media/components/ImageGalleryUpload.js.map +0 -1
  812. package/dist/media/components/ImageUpload.d.ts +0 -17
  813. package/dist/media/components/ImageUpload.d.ts.map +0 -1
  814. package/dist/media/components/ImageUpload.js +0 -89
  815. package/dist/media/components/ImageUpload.js.map +0 -1
  816. package/dist/media/components/index.d.ts +0 -10
  817. package/dist/media/components/index.d.ts.map +0 -1
  818. package/dist/media/components/index.js +0 -9
  819. package/dist/media/components/index.js.map +0 -1
  820. package/dist/media/config.d.ts +0 -83
  821. package/dist/media/config.d.ts.map +0 -1
  822. package/dist/media/config.js +0 -189
  823. package/dist/media/config.js.map +0 -1
  824. package/dist/media/hooks/index.d.ts +0 -8
  825. package/dist/media/hooks/index.d.ts.map +0 -1
  826. package/dist/media/hooks/index.js +0 -7
  827. package/dist/media/hooks/index.js.map +0 -1
  828. package/dist/media/hooks/useUpload.d.ts +0 -32
  829. package/dist/media/hooks/useUpload.d.ts.map +0 -1
  830. package/dist/media/hooks/useUpload.js +0 -260
  831. package/dist/media/hooks/useUpload.js.map +0 -1
  832. package/dist/media/index.d.ts +0 -57
  833. package/dist/media/index.d.ts.map +0 -1
  834. package/dist/media/index.js +0 -68
  835. package/dist/media/index.js.map +0 -1
  836. package/dist/media/server/delete.d.ts +0 -59
  837. package/dist/media/server/delete.d.ts.map +0 -1
  838. package/dist/media/server/delete.js +0 -176
  839. package/dist/media/server/delete.js.map +0 -1
  840. package/dist/media/server/index.d.ts +0 -10
  841. package/dist/media/server/index.d.ts.map +0 -1
  842. package/dist/media/server/index.js +0 -13
  843. package/dist/media/server/index.js.map +0 -1
  844. package/dist/media/server/presign.d.ts +0 -57
  845. package/dist/media/server/presign.d.ts.map +0 -1
  846. package/dist/media/server/presign.js +0 -112
  847. package/dist/media/server/presign.js.map +0 -1
  848. package/dist/media/server/r2-client.d.ts +0 -30
  849. package/dist/media/server/r2-client.d.ts.map +0 -1
  850. package/dist/media/server/r2-client.js +0 -76
  851. package/dist/media/server/r2-client.js.map +0 -1
  852. package/dist/media/types.d.ts +0 -316
  853. package/dist/media/types.d.ts.map +0 -1
  854. package/dist/media/types.js +0 -95
  855. package/dist/media/types.js.map +0 -1
  856. package/dist/products/api/categories.d.ts +0 -29
  857. package/dist/products/api/categories.d.ts.map +0 -1
  858. package/dist/products/api/categories.js +0 -46
  859. package/dist/products/api/categories.js.map +0 -1
  860. package/dist/products/api/index.d.ts +0 -24
  861. package/dist/products/api/index.d.ts.map +0 -1
  862. package/dist/products/api/index.js +0 -24
  863. package/dist/products/api/index.js.map +0 -1
  864. package/dist/products/api/product.d.ts +0 -36
  865. package/dist/products/api/product.d.ts.map +0 -1
  866. package/dist/products/api/product.js +0 -67
  867. package/dist/products/api/product.js.map +0 -1
  868. package/dist/products/api/products.d.ts +0 -41
  869. package/dist/products/api/products.d.ts.map +0 -1
  870. package/dist/products/api/products.js +0 -99
  871. package/dist/products/api/products.js.map +0 -1
  872. package/dist/products/components/CategoryNav.d.ts +0 -51
  873. package/dist/products/components/CategoryNav.d.ts.map +0 -1
  874. package/dist/products/components/CategoryNav.js +0 -110
  875. package/dist/products/components/CategoryNav.js.map +0 -1
  876. package/dist/products/components/ProductBreadcrumb.d.ts +0 -52
  877. package/dist/products/components/ProductBreadcrumb.d.ts.map +0 -1
  878. package/dist/products/components/ProductBreadcrumb.js +0 -73
  879. package/dist/products/components/ProductBreadcrumb.js.map +0 -1
  880. package/dist/products/components/ProductCard.d.ts +0 -54
  881. package/dist/products/components/ProductCard.d.ts.map +0 -1
  882. package/dist/products/components/ProductCard.js +0 -72
  883. package/dist/products/components/ProductCard.js.map +0 -1
  884. package/dist/products/components/ProductDetails.d.ts +0 -63
  885. package/dist/products/components/ProductDetails.d.ts.map +0 -1
  886. package/dist/products/components/ProductDetails.js +0 -137
  887. package/dist/products/components/ProductDetails.js.map +0 -1
  888. package/dist/products/components/ProductFilters.d.ts +0 -70
  889. package/dist/products/components/ProductFilters.d.ts.map +0 -1
  890. package/dist/products/components/ProductFilters.js +0 -125
  891. package/dist/products/components/ProductFilters.js.map +0 -1
  892. package/dist/products/components/ProductGallery.d.ts +0 -30
  893. package/dist/products/components/ProductGallery.d.ts.map +0 -1
  894. package/dist/products/components/ProductGallery.js +0 -91
  895. package/dist/products/components/ProductGallery.js.map +0 -1
  896. package/dist/products/components/ProductGrid.d.ts +0 -50
  897. package/dist/products/components/ProductGrid.d.ts.map +0 -1
  898. package/dist/products/components/ProductGrid.js +0 -81
  899. package/dist/products/components/ProductGrid.js.map +0 -1
  900. package/dist/products/components/ProductSearch.d.ts +0 -43
  901. package/dist/products/components/ProductSearch.d.ts.map +0 -1
  902. package/dist/products/components/ProductSearch.js +0 -97
  903. package/dist/products/components/ProductSearch.js.map +0 -1
  904. package/dist/products/components/ProductSort.d.ts +0 -43
  905. package/dist/products/components/ProductSort.d.ts.map +0 -1
  906. package/dist/products/components/ProductSort.js +0 -59
  907. package/dist/products/components/ProductSort.js.map +0 -1
  908. package/dist/products/components/VariantSelector.d.ts +0 -43
  909. package/dist/products/components/VariantSelector.d.ts.map +0 -1
  910. package/dist/products/components/VariantSelector.js +0 -147
  911. package/dist/products/components/VariantSelector.js.map +0 -1
  912. package/dist/products/components/index.d.ts +0 -20
  913. package/dist/products/components/index.d.ts.map +0 -1
  914. package/dist/products/components/index.js +0 -15
  915. package/dist/products/components/index.js.map +0 -1
  916. package/dist/products/hooks/index.d.ts +0 -10
  917. package/dist/products/hooks/index.d.ts.map +0 -1
  918. package/dist/products/hooks/index.js +0 -8
  919. package/dist/products/hooks/index.js.map +0 -1
  920. package/dist/products/hooks/useCategories.d.ts +0 -56
  921. package/dist/products/hooks/useCategories.d.ts.map +0 -1
  922. package/dist/products/hooks/useCategories.js +0 -126
  923. package/dist/products/hooks/useCategories.js.map +0 -1
  924. package/dist/products/hooks/useProduct.d.ts +0 -44
  925. package/dist/products/hooks/useProduct.d.ts.map +0 -1
  926. package/dist/products/hooks/useProduct.js +0 -87
  927. package/dist/products/hooks/useProduct.js.map +0 -1
  928. package/dist/products/hooks/useProductAttributes.d.ts +0 -59
  929. package/dist/products/hooks/useProductAttributes.d.ts.map +0 -1
  930. package/dist/products/hooks/useProductAttributes.js +0 -125
  931. package/dist/products/hooks/useProductAttributes.js.map +0 -1
  932. package/dist/products/hooks/useProducts.d.ts +0 -67
  933. package/dist/products/hooks/useProducts.d.ts.map +0 -1
  934. package/dist/products/hooks/useProducts.js +0 -131
  935. package/dist/products/hooks/useProducts.js.map +0 -1
  936. package/dist/products/index.d.ts +0 -69
  937. package/dist/products/index.d.ts.map +0 -1
  938. package/dist/products/index.js +0 -79
  939. package/dist/products/index.js.map +0 -1
  940. package/dist/shipping/index.d.ts +0 -8
  941. package/dist/shipping/index.d.ts.map +0 -1
  942. package/dist/shipping/index.js +0 -8
  943. package/dist/shipping/index.js.map +0 -1
  944. package/dist/shipping/shippo.d.ts +0 -77
  945. package/dist/shipping/shippo.d.ts.map +0 -1
  946. package/dist/shipping/shippo.js +0 -280
  947. package/dist/shipping/shippo.js.map +0 -1
  948. package/dist/theme/ThemeProvider.d.ts +0 -70
  949. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  950. package/dist/theme/ThemeProvider.js +0 -75
  951. package/dist/theme/ThemeProvider.js.map +0 -1
  952. package/dist/theme/colors.d.ts +0 -134
  953. package/dist/theme/colors.d.ts.map +0 -1
  954. package/dist/theme/colors.js +0 -214
  955. package/dist/theme/colors.js.map +0 -1
  956. package/dist/theme/defaults.d.ts +0 -133
  957. package/dist/theme/defaults.d.ts.map +0 -1
  958. package/dist/theme/defaults.js +0 -210
  959. package/dist/theme/defaults.js.map +0 -1
  960. package/dist/theme/fonts.d.ts +0 -28
  961. package/dist/theme/fonts.d.ts.map +0 -1
  962. package/dist/theme/fonts.js +0 -55
  963. package/dist/theme/fonts.js.map +0 -1
  964. package/dist/theme/generator.d.ts +0 -43
  965. package/dist/theme/generator.d.ts.map +0 -1
  966. package/dist/theme/generator.js +0 -272
  967. package/dist/theme/generator.js.map +0 -1
  968. package/dist/theme/hooks.d.ts +0 -110
  969. package/dist/theme/hooks.d.ts.map +0 -1
  970. package/dist/theme/hooks.js +0 -101
  971. package/dist/theme/hooks.js.map +0 -1
  972. package/dist/theme/index.d.ts +0 -23
  973. package/dist/theme/index.d.ts.map +0 -1
  974. package/dist/theme/index.js +0 -30
  975. package/dist/theme/index.js.map +0 -1
  976. /package/dist/admin/{styles/admin-theme.css → admin-theme.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"presign.d.ts","sourceRoot":"","sources":["../../../src/media/api/presign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA6EvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAkDtE"}
@@ -1,130 +0,0 @@
1
- /**
2
- * @rovela-ai/sdk/media/api/presign
3
- *
4
- * API route handler for generating presigned upload URLs.
5
- *
6
- * Usage:
7
- * ```typescript
8
- * // app/api/media/presign/route.ts
9
- * export { POST } from '@rovela-ai/sdk/media/api/presign'
10
- * ```
11
- */
12
- import { NextResponse } from 'next/server';
13
- import { requireAdmin } from '../../admin/server/admin-session';
14
- import { generatePresignedUrl } from '../server/presign';
15
- import { isMediaConfigured, getMediaUploadConfig } from '../config';
16
- // =============================================================================
17
- // Validation
18
- // =============================================================================
19
- const VALID_FOLDERS = ['products', 'categories', 'variants', 'general'];
20
- function validateRequest(body) {
21
- if (!body || typeof body !== 'object') {
22
- return { valid: false, error: 'Request body is required' };
23
- }
24
- const req = body;
25
- // Validate filename
26
- if (!req.filename || typeof req.filename !== 'string') {
27
- return { valid: false, error: 'filename is required' };
28
- }
29
- // Validate contentType
30
- if (!req.contentType || typeof req.contentType !== 'string') {
31
- return { valid: false, error: 'contentType is required' };
32
- }
33
- // Validate folder
34
- if (!req.folder || typeof req.folder !== 'string') {
35
- return { valid: false, error: 'folder is required' };
36
- }
37
- if (!VALID_FOLDERS.includes(req.folder)) {
38
- return { valid: false, error: `folder must be one of: ${VALID_FOLDERS.join(', ')}` };
39
- }
40
- // Validate entityId (optional)
41
- if (req.entityId !== undefined && typeof req.entityId !== 'string') {
42
- return { valid: false, error: 'entityId must be a string' };
43
- }
44
- // Validate content type against the media-wide allowlist (image + video).
45
- // Single-image surfaces (logos, category covers) gate at the component
46
- // level via DropZone `accept`; this is the server-side ceiling.
47
- const uploadConfig = getMediaUploadConfig();
48
- if (!uploadConfig.allowedTypes.includes(req.contentType)) {
49
- return {
50
- valid: false,
51
- error: `Content type ${req.contentType} is not allowed. Allowed: ${uploadConfig.allowedTypes.join(', ')}`,
52
- };
53
- }
54
- return {
55
- valid: true,
56
- data: {
57
- filename: req.filename,
58
- contentType: req.contentType,
59
- folder: req.folder,
60
- entityId: req.entityId,
61
- },
62
- };
63
- }
64
- // =============================================================================
65
- // POST Handler
66
- // =============================================================================
67
- /**
68
- * POST /api/media/presign
69
- *
70
- * Generate a presigned URL for uploading a file to R2.
71
- *
72
- * Request Body:
73
- * {
74
- * filename: string, // Original filename (for extension)
75
- * contentType: string, // MIME type (must be allowed type)
76
- * folder: 'products' | 'categories' | 'variants' | 'general',
77
- * entityId?: string // Optional entity ID for organization
78
- * }
79
- *
80
- * Response:
81
- * {
82
- * success: true,
83
- * data: {
84
- * uploadUrl: string, // Presigned PUT URL (expires in 5 min)
85
- * publicUrl: string, // Final accessible URL after upload
86
- * key: string, // Storage key
87
- * expiresAt: string // ISO date when URL expires
88
- * }
89
- * }
90
- */
91
- export async function POST(request) {
92
- // Any active admin (owner / administrator / manager / user) can upload
93
- // media. Reads the admin cookie via the canonical helper, which handles
94
- // session-version + DB status + the post-0.3.20 two-cookie split.
95
- const guard = await requireAdmin();
96
- if (!guard.ok)
97
- return guard.response;
98
- // Check if media is configured
99
- if (!isMediaConfigured()) {
100
- return NextResponse.json({
101
- success: false,
102
- error: 'Media storage not configured',
103
- code: 'NOT_CONFIGURED',
104
- }, { status: 503 });
105
- }
106
- try {
107
- // Parse request body
108
- const body = await request.json();
109
- // Validate request
110
- const validation = validateRequest(body);
111
- if (!validation.valid || !validation.data) {
112
- return NextResponse.json({ success: false, error: validation.error || 'Invalid request' }, { status: 400 });
113
- }
114
- // Generate presigned URL
115
- const result = await generatePresignedUrl(validation.data);
116
- return NextResponse.json({
117
- success: true,
118
- data: result,
119
- });
120
- }
121
- catch (error) {
122
- console.error('[Media API] Presign error:', error);
123
- return NextResponse.json({
124
- success: false,
125
- error: 'Failed to generate upload URL',
126
- code: 'PRESIGN_FAILED',
127
- }, { status: 500 });
128
- }
129
- }
130
- //# sourceMappingURL=presign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"presign.js","sourceRoot":"","sources":["../../../src/media/api/presign.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { DropZoneProps } from '../types';
2
- /**
3
- * DropZone component for drag-and-drop file selection.
4
- *
5
- * @example
6
- * ```tsx
7
- * <DropZone
8
- * onFiles={(files) => handleFiles(files)}
9
- * multiple
10
- * accept={['image/jpeg', 'image/png']}
11
- * >
12
- * Drop images here
13
- * </DropZone>
14
- * ```
15
- */
16
- export declare function DropZone({ onFiles, multiple, accept, maxSize, disabled, className, children, }: DropZoneProps): import("react/jsx-runtime").JSX.Element;
17
- export default DropZone;
18
- //# sourceMappingURL=DropZone.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropZone.d.ts","sourceRoot":"","sources":["../../../src/media/components/DropZone.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,QAAgB,EAChB,MAA2C,EAC3C,OAA4C,EAC5C,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,aAAa,2CAqKf;AAED,eAAe,QAAQ,CAAA"}
@@ -1,107 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- /**
4
- * @rovela-ai/sdk/media/components/DropZone
5
- *
6
- * Drag-and-drop zone for file uploads.
7
- */
8
- import { useState, useCallback, useRef } from 'react';
9
- import { Upload } from 'lucide-react';
10
- import { cn } from '../../core/utils';
11
- import { DEFAULT_UPLOAD_CONFIG } from '../types';
12
- /**
13
- * DropZone component for drag-and-drop file selection.
14
- *
15
- * @example
16
- * ```tsx
17
- * <DropZone
18
- * onFiles={(files) => handleFiles(files)}
19
- * multiple
20
- * accept={['image/jpeg', 'image/png']}
21
- * >
22
- * Drop images here
23
- * </DropZone>
24
- * ```
25
- */
26
- export function DropZone({ onFiles, multiple = false, accept = DEFAULT_UPLOAD_CONFIG.allowedTypes, maxSize = DEFAULT_UPLOAD_CONFIG.maxSizeBytes, disabled = false, className, children, }) {
27
- const [isDragging, setIsDragging] = useState(false);
28
- const fileInputRef = useRef(null);
29
- // Handle drag events
30
- const handleDragEnter = useCallback((e) => {
31
- e.preventDefault();
32
- e.stopPropagation();
33
- if (!disabled) {
34
- setIsDragging(true);
35
- }
36
- }, [disabled]);
37
- const handleDragLeave = useCallback((e) => {
38
- e.preventDefault();
39
- e.stopPropagation();
40
- setIsDragging(false);
41
- }, []);
42
- const handleDragOver = useCallback((e) => {
43
- e.preventDefault();
44
- e.stopPropagation();
45
- if (!disabled) {
46
- setIsDragging(true);
47
- }
48
- }, [disabled]);
49
- // Filter and validate files
50
- const filterFiles = useCallback((fileList) => {
51
- if (!fileList)
52
- return [];
53
- const files = Array.from(fileList);
54
- return files.filter((file) => {
55
- // Check type
56
- if (accept.length > 0 && !accept.includes(file.type)) {
57
- console.warn(`File type ${file.type} not accepted`);
58
- return false;
59
- }
60
- // Check size
61
- if (maxSize && file.size > maxSize) {
62
- console.warn(`File ${file.name} exceeds size limit`);
63
- return false;
64
- }
65
- return true;
66
- });
67
- }, [accept, maxSize]);
68
- // Handle drop
69
- const handleDrop = useCallback((e) => {
70
- e.preventDefault();
71
- e.stopPropagation();
72
- setIsDragging(false);
73
- if (disabled)
74
- return;
75
- const files = filterFiles(e.dataTransfer.files);
76
- if (files.length > 0) {
77
- onFiles(multiple ? files : [files[0]]);
78
- }
79
- }, [disabled, filterFiles, multiple, onFiles]);
80
- // Handle file input change
81
- const handleFileChange = useCallback((e) => {
82
- const files = filterFiles(e.target.files);
83
- if (files.length > 0) {
84
- onFiles(multiple ? files : [files[0]]);
85
- }
86
- // Reset input so the same file can be selected again
87
- e.target.value = '';
88
- }, [filterFiles, multiple, onFiles]);
89
- // Handle click to open file picker
90
- const handleClick = useCallback(() => {
91
- if (!disabled && fileInputRef.current) {
92
- fileInputRef.current.click();
93
- }
94
- }, [disabled]);
95
- // Handle keyboard activation
96
- const handleKeyDown = useCallback((e) => {
97
- if ((e.key === 'Enter' || e.key === ' ') && !disabled) {
98
- e.preventDefault();
99
- fileInputRef.current?.click();
100
- }
101
- }, [disabled]);
102
- return (_jsxs("div", { role: "button", tabIndex: disabled ? -1 : 0, onClick: handleClick, onKeyDown: handleKeyDown, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, onDragOver: handleDragOver, onDrop: handleDrop, className: cn('relative rounded-lg border-2 border-dashed transition-colors', 'flex items-center justify-center p-6 text-center', 'cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2', isDragging && !disabled && 'border-primary bg-primary/5', !isDragging && !disabled && 'border-border hover:border-primary/50 hover:bg-muted/50', disabled && 'cursor-not-allowed opacity-50', className), children: [_jsx("input", { ref: fileInputRef, type: "file", multiple: multiple, accept: accept.join(','), onChange: handleFileChange, disabled: disabled, className: "sr-only", tabIndex: -1 }), _jsx("div", { className: "pointer-events-none", children: children || (_jsxs("div", { className: "text-muted-foreground", children: [_jsx(Upload, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: isDragging ? 'Drop files here' : 'Drop files or click to upload' }), _jsx("p", { className: "mt-1 text-xs", children: accept.length > 0
103
- ? `Accepts: ${accept.map((t) => t.split('/')[1]).join(', ')}`
104
- : 'All file types accepted' })] })) }), isDragging && (_jsx("div", { className: "absolute inset-0 rounded-lg bg-primary/10 pointer-events-none" }))] }));
105
- }
106
- export default DropZone;
107
- //# sourceMappingURL=DropZone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropZone.js","sourceRoot":"","sources":["../../../src/media/components/DropZone.tsx"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { ImageGalleryUploadProps } from '../types';
2
- /**
3
- * Multi-media upload component for products. Accepts both images and videos.
4
- *
5
- * @example
6
- * ```tsx
7
- * <ImageGalleryUpload
8
- * value={productImages}
9
- * onChange={setProductImages}
10
- * videos={productVideos}
11
- * onVideosChange={setProductVideos}
12
- * onSave={async (images, videos) => updateProduct({ images, videos })}
13
- * folder="products"
14
- * entityId={productId}
15
- * maxImages={10}
16
- * />
17
- * ```
18
- */
19
- export declare function ImageGalleryUpload({ value, onChange, videos, onVideosChange, onSave, folder, entityId, maxImages, maxSizeMB, disabled, className, }: ImageGalleryUploadProps): import("react/jsx-runtime").JSX.Element;
20
- export default ImageGalleryUpload;
21
- //# sourceMappingURL=ImageGalleryUpload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageGalleryUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,SAAe,EACf,QAAgB,EAChB,SAAS,GACV,EAAE,uBAAuB,2CA6WzB;AAED,eAAe,kBAAkB,CAAA"}
@@ -1,193 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- /**
4
- * @rovela-ai/sdk/media/components/ImageGalleryUpload
5
- *
6
- * Combined image + video gallery uploader for products. Images via
7
- * `value`/`onChange`, videos via `videos`/`onVideosChange` — separate
8
- * setters because the data model stores them in separate columns
9
- * (`products.images jsonb<string[]>`, `products.videos jsonb<string[]>`).
10
- *
11
- * Internally renders a single ordered grid (images first, then videos);
12
- * drag-to-reorder operates on the combined list and re-splits on drop by
13
- * URL extension. Tile rendering branches on `isVideoUrl()`.
14
- */
15
- import { useState, useCallback, useMemo } from 'react';
16
- import Image from 'next/image';
17
- import { ImagePlus, Trash2, Star, GripVertical, Loader2, AlertCircle, Play, } from 'lucide-react';
18
- import { cn } from '../../core/utils';
19
- import { useUpload } from '../hooks/useUpload';
20
- import { DropZone } from './DropZone';
21
- import { DEFAULT_MEDIA_UPLOAD_CONFIG, isVideoUrl, isVideoMime } from '../types';
22
- /**
23
- * Multi-media upload component for products. Accepts both images and videos.
24
- *
25
- * @example
26
- * ```tsx
27
- * <ImageGalleryUpload
28
- * value={productImages}
29
- * onChange={setProductImages}
30
- * videos={productVideos}
31
- * onVideosChange={setProductVideos}
32
- * onSave={async (images, videos) => updateProduct({ images, videos })}
33
- * folder="products"
34
- * entityId={productId}
35
- * maxImages={10}
36
- * />
37
- * ```
38
- */
39
- export function ImageGalleryUpload({ value = [], onChange, videos, onVideosChange, onSave, folder, entityId, maxImages = 10, maxSizeMB = 100, disabled = false, className, }) {
40
- // Memoized so downstream useCallbacks listing them as deps don't re-create
41
- // every render (videos prop default `[]` would create a new array each time).
42
- const videosArr = useMemo(() => videos ?? [], [videos]);
43
- // Combined list, images first then videos. Drag-to-reorder operates on
44
- // this list; on drop we re-split by URL extension and call both setters.
45
- const combined = useMemo(() => [...value, ...videosArr], [value, videosArr]);
46
- const [deletingIndex, setDeletingIndex] = useState(null);
47
- const [dragIndex, setDragIndex] = useState(null);
48
- const [dragOverIndex, setDragOverIndex] = useState(null);
49
- const splitByKind = useCallback((urls) => {
50
- const images = [];
51
- const vids = [];
52
- for (const u of urls) {
53
- if (isVideoUrl(u))
54
- vids.push(u);
55
- else
56
- images.push(u);
57
- }
58
- return { images, videos: vids };
59
- }, []);
60
- const persistBoth = useCallback((nextImages, nextVideos) => {
61
- onChange(nextImages);
62
- onVideosChange?.(nextVideos);
63
- onSave?.(nextImages, nextVideos).catch((err) => {
64
- console.error('[ImageGalleryUpload] Failed to save:', err);
65
- });
66
- }, [onChange, onVideosChange, onSave]);
67
- // Upload hook — routes new uploads to images or videos by MIME
68
- const { upload, isUploading, progress, error, reset } = useUpload({
69
- folder,
70
- entityId,
71
- config: {
72
- maxSizeBytes: maxSizeMB * 1024 * 1024,
73
- allowedTypes: DEFAULT_MEDIA_UPLOAD_CONFIG.allowedTypes,
74
- },
75
- onSuccess: (result) => {
76
- if (!result.url)
77
- return;
78
- const isVideo = isVideoMime(result.contentType) || isVideoUrl(result.url);
79
- if (isVideo) {
80
- persistBoth(value, [...videosArr, result.url]);
81
- }
82
- else {
83
- persistBoth([...value, result.url], videosArr);
84
- }
85
- },
86
- });
87
- // Handle file selection (DropZone gives us pre-validated File[])
88
- const handleFiles = useCallback(async (files) => {
89
- if (disabled || isUploading)
90
- return;
91
- // Combined cap (images + videos)
92
- const remainingSlots = maxImages - combined.length;
93
- if (remainingSlots <= 0)
94
- return;
95
- const filesToUpload = files.slice(0, remainingSlots);
96
- for (const file of filesToUpload) {
97
- await upload(file);
98
- }
99
- }, [upload, disabled, isUploading, maxImages, combined.length]);
100
- // Handle delete — figure out which array the URL lives in, drop it
101
- const handleDelete = useCallback(async (index) => {
102
- if (disabled || deletingIndex !== null)
103
- return;
104
- const url = combined[index];
105
- if (!url)
106
- return;
107
- setDeletingIndex(index);
108
- try {
109
- await fetch('/api/media', {
110
- method: 'DELETE',
111
- headers: { 'Content-Type': 'application/json' },
112
- body: JSON.stringify({ url }),
113
- });
114
- }
115
- catch (err) {
116
- console.error('Delete error:', err);
117
- // Continue regardless — local state should reflect user intent.
118
- }
119
- // Remove from whichever array owns it
120
- const isVideo = isVideoUrl(url);
121
- if (isVideo) {
122
- const nextVideos = videosArr.filter((u) => u !== url);
123
- persistBoth(value, nextVideos);
124
- }
125
- else {
126
- const nextImages = value.filter((u) => u !== url);
127
- persistBoth(nextImages, videosArr);
128
- }
129
- setDeletingIndex(null);
130
- }, [combined, value, videosArr, persistBoth, disabled, deletingIndex]);
131
- // Drag and drop reordering — operates on the combined list, re-splits by
132
- // extension on drop so each kind ends up in its own array.
133
- const handleDragStart = useCallback((e, index) => {
134
- if (disabled)
135
- return;
136
- setDragIndex(index);
137
- e.dataTransfer.effectAllowed = 'move';
138
- if (e.currentTarget instanceof HTMLElement) {
139
- e.dataTransfer.setDragImage(e.currentTarget, 50, 50);
140
- }
141
- }, [disabled]);
142
- const handleDragOver = useCallback((e, index) => {
143
- e.preventDefault();
144
- if (dragIndex === null || dragIndex === index)
145
- return;
146
- setDragOverIndex(index);
147
- }, [dragIndex]);
148
- const handleDragEnd = useCallback(() => {
149
- if (dragIndex !== null &&
150
- dragOverIndex !== null &&
151
- dragIndex !== dragOverIndex) {
152
- const next = [...combined];
153
- const [removed] = next.splice(dragIndex, 1);
154
- next.splice(dragOverIndex, 0, removed);
155
- const { images, videos: vids } = splitByKind(next);
156
- persistBoth(images, vids);
157
- }
158
- setDragIndex(null);
159
- setDragOverIndex(null);
160
- }, [dragIndex, dragOverIndex, combined, persistBoth, splitByKind]);
161
- const handleDragLeave = useCallback(() => {
162
- setDragOverIndex(null);
163
- }, []);
164
- // "Make primary" — the first tile is the primary product image. Only
165
- // applies when the moved tile is an image (videos can't be primary).
166
- const handleMakePrimary = useCallback((index) => {
167
- if (index === 0 || disabled)
168
- return;
169
- const url = combined[index];
170
- if (!url || isVideoUrl(url))
171
- return;
172
- const nextImages = [url, ...value.filter((u) => u !== url)];
173
- persistBoth(nextImages, videosArr);
174
- }, [combined, value, videosArr, persistBoth, disabled]);
175
- const canAddMore = combined.length < maxImages;
176
- const dropZoneAccept = DEFAULT_MEDIA_UPLOAD_CONFIG.allowedTypes;
177
- return (_jsxs("div", { className: cn('space-y-4', className), children: [combined.length > 0 && (_jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4", children: combined.map((url, index) => {
178
- const tileIsVideo = isVideoUrl(url);
179
- return (_jsxs("div", { draggable: !disabled, onDragStart: (e) => handleDragStart(e, index), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, onDragLeave: handleDragLeave, className: cn('relative aspect-square rounded-lg border overflow-hidden group bg-muted/30', 'transition-all duration-200', dragIndex === index && 'opacity-50 scale-95', dragOverIndex === index &&
180
- 'ring-2 ring-primary ring-offset-2', !disabled && 'cursor-grab active:cursor-grabbing'), children: [tileIsVideo ? (_jsxs(_Fragment, { children: [_jsx("video", { src: url, preload: "metadata", muted: true, playsInline: true, className: "absolute inset-0 h-full w-full object-cover" }), _jsx("span", { className: "pointer-events-none absolute inset-0 flex items-center justify-center bg-black/15", "aria-hidden": "true", children: _jsx(Play, { className: "h-6 w-6 fill-white text-white drop-shadow" }) })] })) : (
181
- // object-contain so the whole photo is visible — merchants
182
- // upload all aspect ratios and want to verify their actual
183
- // image, not a cropped square. Letterbox shows the tile's
184
- // bg-muted/30 backdrop, reads as intentional. Videos kept
185
- // as object-cover (different aesthetic, often have baked-in
186
- // bars). Same policy on storefront ProductGallery + ProductCard.
187
- _jsx(Image, { src: url, alt: `Image ${index + 1}`, fill: true, className: "object-contain", sizes: "(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw" })), index === 0 && !tileIsVideo && (_jsx("div", { className: "absolute top-2 left-2 px-2 py-0.5 rounded-full bg-primary text-primary-foreground text-xs font-medium", children: "Primary" })), tileIsVideo && (_jsx("div", { className: "absolute top-2 left-2 px-2 py-0.5 rounded-full bg-black/70 text-white text-xs font-medium", children: "Video" })), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/40 transition-colors", children: _jsxs("div", { className: "absolute inset-0 flex items-center justify-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity", children: [index !== 0 && !tileIsVideo && (_jsx("button", { type: "button", onClick: () => handleMakePrimary(index), disabled: disabled, className: cn('rounded-full bg-white/90 p-2 text-gray-700', 'hover:bg-white transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: "Make primary", children: _jsx(Star, { className: "h-4 w-4" }) })), _jsx("button", { type: "button", onClick: () => handleDelete(index), disabled: disabled || deletingIndex !== null, className: cn('rounded-full bg-destructive p-2 text-destructive-foreground', 'hover:bg-destructive/90 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: tileIsVideo ? 'Remove video' : 'Remove image', children: deletingIndex === index ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Trash2, { className: "h-4 w-4" })) })] }) }), _jsx("div", { className: "absolute top-2 right-2 p-1 rounded bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx(GripVertical, { className: "h-4 w-4 text-white" }) })] }, url));
188
- }) })), canAddMore && (_jsx(DropZone, { onFiles: handleFiles, multiple: maxImages - combined.length > 1, accept: dropZoneAccept, maxSize: maxSizeMB * 1024 * 1024, disabled: disabled || isUploading, className: "min-h-[120px]", children: _jsx("div", { className: "text-muted-foreground", children: isUploading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Loader2, { className: "mx-auto h-8 w-8 animate-spin" }), _jsx("p", { className: "text-sm", children: "Uploading..." }), progress && (_jsxs("div", { className: "w-full max-w-[200px] mx-auto", children: [_jsx("div", { className: "h-1.5 bg-muted rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300", style: { width: `${progress.percentage}%` } }) }), _jsxs("p", { className: "text-xs mt-1", children: [progress.percentage, "%"] })] }))] })) : (_jsxs(_Fragment, { children: [_jsx(ImagePlus, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: combined.length === 0
189
- ? 'Add product media'
190
- : 'Add more media' }), _jsx("p", { className: "text-xs mt-1", children: "Drop images or videos, or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: [combined.length, " / ", maxImages, " items"] })] })) }) })), !canAddMore && (_jsxs("p", { className: "text-sm text-muted-foreground text-center", children: ["Maximum ", maxImages, " items reached. Remove one to add more."] })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: reset, className: "text-primary hover:underline ml-auto", children: "Retry" })] })), combined.length > 1 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Drag to reorder. The first image is the primary product image. Videos can be reordered but cannot be set as primary." }))] }));
191
- }
192
- export default ImageGalleryUpload;
193
- //# sourceMappingURL=ImageGalleryUpload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageGalleryUpload.js","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { ImageUploadProps } from '../types';
2
- /**
3
- * Single image upload component.
4
- *
5
- * @example
6
- * ```tsx
7
- * <ImageUpload
8
- * value={categoryImage}
9
- * onChange={(url) => setCategoryImage(url)}
10
- * folder="categories"
11
- * entityId={categoryId}
12
- * />
13
- * ```
14
- */
15
- export declare function ImageUpload({ value, onChange, onSave, folder, entityId, maxSizeMB, disabled, className, placeholder, aspectRatio, }: ImageUploadProps): import("react/jsx-runtime").JSX.Element;
16
- export default ImageUpload;
17
- //# sourceMappingURL=ImageUpload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageUpload.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,WAAoB,GACrB,EAAE,gBAAgB,2CAyKlB;AAED,eAAe,WAAW,CAAA"}
@@ -1,89 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- /**
4
- * @rovela-ai/sdk/media/components/ImageUpload
5
- *
6
- * Single image upload component with preview, progress, and delete functionality.
7
- */
8
- import { useState, useCallback } from 'react';
9
- import Image from 'next/image';
10
- import { ImageIcon, Trash2, Loader2, AlertCircle } from 'lucide-react';
11
- import { cn } from '../../core/utils';
12
- import { useUpload } from '../hooks/useUpload';
13
- import { DropZone } from './DropZone';
14
- import { DEFAULT_UPLOAD_CONFIG } from '../types';
15
- /**
16
- * Single image upload component.
17
- *
18
- * @example
19
- * ```tsx
20
- * <ImageUpload
21
- * value={categoryImage}
22
- * onChange={(url) => setCategoryImage(url)}
23
- * folder="categories"
24
- * entityId={categoryId}
25
- * />
26
- * ```
27
- */
28
- export function ImageUpload({ value, onChange, onSave, folder, entityId, maxSizeMB = 10, disabled = false, className, placeholder = 'Upload an image', aspectRatio = '16/9', }) {
29
- const [isDeleting, setIsDeleting] = useState(false);
30
- // Upload hook
31
- const { upload, isUploading, progress, error, reset } = useUpload({
32
- folder,
33
- entityId,
34
- config: {
35
- maxSizeBytes: maxSizeMB * 1024 * 1024,
36
- },
37
- onSuccess: (result) => {
38
- if (result.url) {
39
- onChange(result.url);
40
- // Auto-persist to database if onSave is provided (edit mode)
41
- onSave?.(result.url).catch((err) => {
42
- console.error('[ImageUpload] Failed to save after upload:', err);
43
- });
44
- }
45
- },
46
- });
47
- // Handle file selection
48
- const handleFiles = useCallback(async (files) => {
49
- if (files.length === 0 || disabled || isUploading)
50
- return;
51
- await upload(files[0]);
52
- }, [upload, disabled, isUploading]);
53
- // Handle delete
54
- const handleDelete = useCallback(async () => {
55
- if (!value || disabled || isDeleting)
56
- return;
57
- setIsDeleting(true);
58
- try {
59
- await fetch('/api/media', {
60
- method: 'DELETE',
61
- headers: { 'Content-Type': 'application/json' },
62
- body: JSON.stringify({ url: value }),
63
- });
64
- // Update local state
65
- onChange(null);
66
- // Auto-persist to database if onSave is provided (edit mode)
67
- onSave?.(null).catch((err) => {
68
- console.error('[ImageUpload] Failed to save after delete:', err);
69
- });
70
- }
71
- catch (err) {
72
- console.error('Delete error:', err);
73
- // Still remove from local state (R2 file may already be gone)
74
- onChange(null);
75
- // Still try to persist the removal to DB
76
- onSave?.(null).catch(() => { });
77
- }
78
- finally {
79
- setIsDeleting(false);
80
- }
81
- }, [value, disabled, isDeleting, onChange, onSave]);
82
- // Reset error and retry
83
- const handleRetry = useCallback(() => {
84
- reset();
85
- }, [reset]);
86
- return (_jsxs("div", { className: cn('space-y-2', className), children: [value ? (_jsxs("div", { className: "relative rounded-lg border border-border overflow-hidden", children: [_jsx("div", { className: "relative bg-muted", style: { aspectRatio }, children: _jsx(Image, { src: value, alt: "Uploaded image", fill: true, className: "object-cover", sizes: "(max-width: 768px) 100vw, 50vw" }) }), _jsx("div", { className: "absolute inset-0 bg-black/0 hover:bg-black/40 transition-colors group", children: _jsx("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx("button", { type: "button", onClick: handleDelete, disabled: disabled || isDeleting, className: cn('rounded-full bg-destructive p-2 text-destructive-foreground', 'hover:bg-destructive/90 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: "Remove image", children: isDeleting ? (_jsx(Loader2, { className: "h-5 w-5 animate-spin" })) : (_jsx(Trash2, { className: "h-5 w-5" })) }) }) })] })) : (_jsx(DropZone, { onFiles: handleFiles, multiple: false, accept: DEFAULT_UPLOAD_CONFIG.allowedTypes, maxSize: maxSizeMB * 1024 * 1024, disabled: disabled || isUploading, className: cn('min-h-[120px]', aspectRatio && `aspect-[${aspectRatio}]`), children: _jsx("div", { className: "text-muted-foreground", children: isUploading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Loader2, { className: "mx-auto h-8 w-8 animate-spin" }), _jsx("p", { className: "text-sm", children: "Uploading..." }), progress && (_jsxs("div", { className: "w-full max-w-[200px] mx-auto", children: [_jsx("div", { className: "h-1.5 bg-muted rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300", style: { width: `${progress.percentage}%` } }) }), _jsxs("p", { className: "text-xs mt-1", children: [progress.percentage, "%"] })] }))] })) : (_jsxs(_Fragment, { children: [_jsx(ImageIcon, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: placeholder }), _jsx("p", { className: "text-xs mt-1", children: "Drop an image or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: ["Max ", maxSizeMB, "MB"] })] })) }) })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: handleRetry, className: "text-primary hover:underline ml-auto", children: "Retry" })] }))] }));
87
- }
88
- export default ImageUpload;
89
- //# sourceMappingURL=ImageUpload.js.map