@rovela-ai/sdk 0.1.18 → 0.1.20

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 (345) hide show
  1. package/dist/admin/api/auth.js +5 -11
  2. package/dist/admin/api/auth.js.map +1 -1
  3. package/dist/admin/api/categories.js +43 -50
  4. package/dist/admin/api/categories.js.map +1 -1
  5. package/dist/admin/api/check.js +6 -9
  6. package/dist/admin/api/check.js.map +1 -1
  7. package/dist/admin/api/customers.js +17 -21
  8. package/dist/admin/api/customers.js.map +1 -1
  9. package/dist/admin/api/index.js +10 -38
  10. package/dist/admin/api/index.js.map +1 -1
  11. package/dist/admin/api/orders.js +30 -35
  12. package/dist/admin/api/orders.js.map +1 -1
  13. package/dist/admin/api/products.js +56 -66
  14. package/dist/admin/api/products.js.map +1 -1
  15. package/dist/admin/api/refund.js +26 -29
  16. package/dist/admin/api/refund.js.map +1 -1
  17. package/dist/admin/api/settings.js +17 -21
  18. package/dist/admin/api/settings.js.map +1 -1
  19. package/dist/admin/api/setup.js +17 -20
  20. package/dist/admin/api/setup.js.map +1 -1
  21. package/dist/admin/api/stats.js +14 -17
  22. package/dist/admin/api/stats.js.map +1 -1
  23. package/dist/admin/components/AdminGuard.js +13 -17
  24. package/dist/admin/components/AdminGuard.js.map +1 -1
  25. package/dist/admin/components/AdminHeader.js +8 -11
  26. package/dist/admin/components/AdminHeader.js.map +1 -1
  27. package/dist/admin/components/AdminLayout.js +5 -8
  28. package/dist/admin/components/AdminLayout.js.map +1 -1
  29. package/dist/admin/components/AdminLoginForm.js +11 -14
  30. package/dist/admin/components/AdminLoginForm.js.map +1 -1
  31. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  32. package/dist/admin/components/AdminNav.js +16 -14
  33. package/dist/admin/components/AdminNav.js.map +1 -1
  34. package/dist/admin/components/AdminSetupForm.js +11 -14
  35. package/dist/admin/components/AdminSetupForm.js.map +1 -1
  36. package/dist/admin/components/CategoryForm.d.ts +30 -0
  37. package/dist/admin/components/CategoryForm.d.ts.map +1 -0
  38. package/dist/admin/components/CategoryForm.js +153 -0
  39. package/dist/admin/components/CategoryForm.js.map +1 -0
  40. package/dist/admin/components/CategorySelect.d.ts +32 -0
  41. package/dist/admin/components/CategorySelect.d.ts.map +1 -0
  42. package/dist/admin/components/CategorySelect.js +148 -0
  43. package/dist/admin/components/CategorySelect.js.map +1 -0
  44. package/dist/admin/components/InventoryEditor.js +16 -19
  45. package/dist/admin/components/InventoryEditor.js.map +1 -1
  46. package/dist/admin/components/LowStockAlert.js +6 -9
  47. package/dist/admin/components/LowStockAlert.js.map +1 -1
  48. package/dist/admin/components/OrderDetails.js +15 -18
  49. package/dist/admin/components/OrderDetails.js.map +1 -1
  50. package/dist/admin/components/OrderTable.js +13 -16
  51. package/dist/admin/components/OrderTable.js.map +1 -1
  52. package/dist/admin/components/ProductForm.d.ts +2 -2
  53. package/dist/admin/components/ProductForm.d.ts.map +1 -1
  54. package/dist/admin/components/ProductForm.js +140 -27
  55. package/dist/admin/components/ProductForm.js.map +1 -1
  56. package/dist/admin/components/ProductTable.js +15 -18
  57. package/dist/admin/components/ProductTable.js.map +1 -1
  58. package/dist/admin/components/RecentOrders.js +6 -9
  59. package/dist/admin/components/RecentOrders.js.map +1 -1
  60. package/dist/admin/components/RefundDialog.js +12 -15
  61. package/dist/admin/components/RefundDialog.js.map +1 -1
  62. package/dist/admin/components/SEOPreview.d.ts +32 -0
  63. package/dist/admin/components/SEOPreview.d.ts.map +1 -0
  64. package/dist/admin/components/SEOPreview.js +30 -0
  65. package/dist/admin/components/SEOPreview.js.map +1 -0
  66. package/dist/admin/components/StatsCards.js +7 -10
  67. package/dist/admin/components/StatsCards.js.map +1 -1
  68. package/dist/admin/components/StoreSettings.js +10 -13
  69. package/dist/admin/components/StoreSettings.js.map +1 -1
  70. package/dist/admin/components/TagInput.d.ts +29 -0
  71. package/dist/admin/components/TagInput.d.ts.map +1 -0
  72. package/dist/admin/components/TagInput.js +73 -0
  73. package/dist/admin/components/TagInput.js.map +1 -0
  74. package/dist/admin/components/VariantManager.d.ts +42 -0
  75. package/dist/admin/components/VariantManager.d.ts.map +1 -0
  76. package/dist/admin/components/VariantManager.js +175 -0
  77. package/dist/admin/components/VariantManager.js.map +1 -0
  78. package/dist/admin/components/index.d.ts +5 -0
  79. package/dist/admin/components/index.d.ts.map +1 -1
  80. package/dist/admin/components/index.js +27 -35
  81. package/dist/admin/components/index.js.map +1 -1
  82. package/dist/admin/config.js +12 -54
  83. package/dist/admin/config.js.map +1 -1
  84. package/dist/admin/hooks/index.d.ts +2 -0
  85. package/dist/admin/hooks/index.d.ts.map +1 -1
  86. package/dist/admin/hooks/index.js +5 -11
  87. package/dist/admin/hooks/index.js.map +1 -1
  88. package/dist/admin/hooks/useAdminAuth.js +9 -12
  89. package/dist/admin/hooks/useAdminAuth.js.map +1 -1
  90. package/dist/admin/hooks/useAdminCategories.d.ts +36 -0
  91. package/dist/admin/hooks/useAdminCategories.d.ts.map +1 -0
  92. package/dist/admin/hooks/useAdminCategories.js +217 -0
  93. package/dist/admin/hooks/useAdminCategories.js.map +1 -0
  94. package/dist/admin/hooks/useAdminOrders.js +11 -14
  95. package/dist/admin/hooks/useAdminOrders.js.map +1 -1
  96. package/dist/admin/hooks/useAdminProducts.js +13 -16
  97. package/dist/admin/hooks/useAdminProducts.js.map +1 -1
  98. package/dist/admin/hooks/useAdminStats.js +11 -14
  99. package/dist/admin/hooks/useAdminStats.js.map +1 -1
  100. package/dist/admin/index.d.ts +3 -2
  101. package/dist/admin/index.d.ts.map +1 -1
  102. package/dist/admin/index.js +17 -66
  103. package/dist/admin/index.js.map +1 -1
  104. package/dist/admin/server/admin-service.js +39 -83
  105. package/dist/admin/server/admin-service.js.map +1 -1
  106. package/dist/admin/server/index.js +3 -13
  107. package/dist/admin/server/index.js.map +1 -1
  108. package/dist/admin/types.js +1 -2
  109. package/dist/admin/types.js.map +1 -1
  110. package/dist/auth/api/auth.js +6 -14
  111. package/dist/auth/api/auth.js.map +1 -1
  112. package/dist/auth/api/forgot-password.js +8 -11
  113. package/dist/auth/api/forgot-password.js.map +1 -1
  114. package/dist/auth/api/index.js +6 -18
  115. package/dist/auth/api/index.js.map +1 -1
  116. package/dist/auth/api/register.js +17 -20
  117. package/dist/auth/api/register.js.map +1 -1
  118. package/dist/auth/api/resend-verification.js +9 -12
  119. package/dist/auth/api/resend-verification.js.map +1 -1
  120. package/dist/auth/api/reset-password.js +18 -22
  121. package/dist/auth/api/reset-password.js.map +1 -1
  122. package/dist/auth/api/verify-email.js +14 -18
  123. package/dist/auth/api/verify-email.js.map +1 -1
  124. package/dist/auth/components/AuthGuard.js +13 -17
  125. package/dist/auth/components/AuthGuard.js.map +1 -1
  126. package/dist/auth/components/ForgotPasswordForm.js +11 -14
  127. package/dist/auth/components/ForgotPasswordForm.js.map +1 -1
  128. package/dist/auth/components/ResetPasswordForm.js +18 -21
  129. package/dist/auth/components/ResetPasswordForm.js.map +1 -1
  130. package/dist/auth/components/SignInForm.js +13 -16
  131. package/dist/auth/components/SignInForm.js.map +1 -1
  132. package/dist/auth/components/SignUpForm.js +15 -18
  133. package/dist/auth/components/SignUpForm.js.map +1 -1
  134. package/dist/auth/components/UserMenu.js +13 -16
  135. package/dist/auth/components/UserMenu.js.map +1 -1
  136. package/dist/auth/components/VerifyEmailNotice.js +10 -13
  137. package/dist/auth/components/VerifyEmailNotice.js.map +1 -1
  138. package/dist/auth/components/index.js +7 -18
  139. package/dist/auth/components/index.js.map +1 -1
  140. package/dist/auth/config.js +9 -49
  141. package/dist/auth/config.js.map +1 -1
  142. package/dist/auth/hooks/index.js +1 -5
  143. package/dist/auth/hooks/index.js.map +1 -1
  144. package/dist/auth/hooks/useAuth.js +14 -17
  145. package/dist/auth/hooks/useAuth.js.map +1 -1
  146. package/dist/auth/index.js +15 -37
  147. package/dist/auth/index.js.map +1 -1
  148. package/dist/auth/server/customer-service.js +39 -83
  149. package/dist/auth/server/customer-service.js.map +1 -1
  150. package/dist/auth/server/email-sender.js +11 -17
  151. package/dist/auth/server/email-sender.js.map +1 -1
  152. package/dist/auth/server/index.js +5 -36
  153. package/dist/auth/server/index.js.map +1 -1
  154. package/dist/auth/server/password-reset-service.js +30 -70
  155. package/dist/auth/server/password-reset-service.js.map +1 -1
  156. package/dist/auth/server/password.js +9 -18
  157. package/dist/auth/server/password.js.map +1 -1
  158. package/dist/auth/server/verification-service.js +35 -76
  159. package/dist/auth/server/verification-service.js.map +1 -1
  160. package/dist/auth/types.js +1 -2
  161. package/dist/auth/types.js.map +1 -1
  162. package/dist/cart/CartProvider.js +13 -17
  163. package/dist/cart/CartProvider.js.map +1 -1
  164. package/dist/cart/components/AddToCartButton.js +16 -19
  165. package/dist/cart/components/AddToCartButton.js.map +1 -1
  166. package/dist/cart/components/CartDrawer.js +17 -23
  167. package/dist/cart/components/CartDrawer.js.map +1 -1
  168. package/dist/cart/components/CartIcon.js +9 -12
  169. package/dist/cart/components/CartIcon.js.map +1 -1
  170. package/dist/cart/components/CartItem.js +7 -13
  171. package/dist/cart/components/CartItem.js.map +1 -1
  172. package/dist/cart/components/CartSummary.js +12 -15
  173. package/dist/cart/components/CartSummary.js.map +1 -1
  174. package/dist/cart/components/QuantitySelector.js +9 -12
  175. package/dist/cart/components/QuantitySelector.js.map +1 -1
  176. package/dist/cart/components/index.js +6 -15
  177. package/dist/cart/components/index.js.map +1 -1
  178. package/dist/cart/index.js +3 -17
  179. package/dist/cart/index.js.map +1 -1
  180. package/dist/cart/store.js +8 -13
  181. package/dist/cart/store.js.map +1 -1
  182. package/dist/checkout/api/checkout.js +12 -15
  183. package/dist/checkout/api/checkout.js.map +1 -1
  184. package/dist/checkout/api/index.js +2 -7
  185. package/dist/checkout/api/index.js.map +1 -1
  186. package/dist/checkout/api/webhook.js +8 -11
  187. package/dist/checkout/api/webhook.js.map +1 -1
  188. package/dist/checkout/components/CheckoutButton.js +8 -11
  189. package/dist/checkout/components/CheckoutButton.js.map +1 -1
  190. package/dist/checkout/components/CheckoutSuccess.js +11 -14
  191. package/dist/checkout/components/CheckoutSuccess.js.map +1 -1
  192. package/dist/checkout/components/OrderSummary.js +8 -11
  193. package/dist/checkout/components/OrderSummary.js.map +1 -1
  194. package/dist/checkout/components/ShippingForm.js +14 -17
  195. package/dist/checkout/components/ShippingForm.js.map +1 -1
  196. package/dist/checkout/components/index.js +4 -11
  197. package/dist/checkout/components/index.js.map +1 -1
  198. package/dist/checkout/hooks/index.js +1 -6
  199. package/dist/checkout/hooks/index.js.map +1 -1
  200. package/dist/checkout/hooks/useCheckout.js +10 -19
  201. package/dist/checkout/hooks/useCheckout.js.map +1 -1
  202. package/dist/checkout/index.js +7 -28
  203. package/dist/checkout/index.js.map +1 -1
  204. package/dist/checkout/server/create-checkout-session.js +11 -16
  205. package/dist/checkout/server/create-checkout-session.js.map +1 -1
  206. package/dist/checkout/server/handle-webhook.js +21 -24
  207. package/dist/checkout/server/handle-webhook.js.map +1 -1
  208. package/dist/checkout/server/index.js +3 -13
  209. package/dist/checkout/server/index.js.map +1 -1
  210. package/dist/checkout/server/order-service.js +11 -16
  211. package/dist/checkout/server/order-service.js.map +1 -1
  212. package/dist/checkout/stripe/client.js +13 -29
  213. package/dist/checkout/stripe/client.js.map +1 -1
  214. package/dist/checkout/stripe/index.js +1 -15
  215. package/dist/checkout/stripe/index.js.map +1 -1
  216. package/dist/checkout/types.js +1 -2
  217. package/dist/checkout/types.js.map +1 -1
  218. package/dist/core/StoreSettingsProvider.d.ts +104 -0
  219. package/dist/core/StoreSettingsProvider.d.ts.map +1 -0
  220. package/dist/core/StoreSettingsProvider.js +195 -0
  221. package/dist/core/StoreSettingsProvider.js.map +1 -0
  222. package/dist/core/api/index.d.ts +7 -0
  223. package/dist/core/api/index.d.ts.map +1 -0
  224. package/dist/core/api/index.js +7 -0
  225. package/dist/core/api/index.js.map +1 -0
  226. package/dist/core/api/settings.d.ts +42 -0
  227. package/dist/core/api/settings.d.ts.map +1 -0
  228. package/dist/core/api/settings.js +74 -0
  229. package/dist/core/api/settings.js.map +1 -0
  230. package/dist/core/config.js +12 -57
  231. package/dist/core/config.js.map +1 -1
  232. package/dist/core/db/client.js +16 -62
  233. package/dist/core/db/client.js.map +1 -1
  234. package/dist/core/db/index.js +14 -93
  235. package/dist/core/db/index.js.map +1 -1
  236. package/dist/core/db/queries.d.ts +6 -6
  237. package/dist/core/db/queries.js +207 -284
  238. package/dist/core/db/queries.js.map +1 -1
  239. package/dist/core/db/schema.js +179 -182
  240. package/dist/core/db/schema.js.map +1 -1
  241. package/dist/core/index.d.ts +2 -0
  242. package/dist/core/index.d.ts.map +1 -1
  243. package/dist/core/index.js +14 -42
  244. package/dist/core/index.js.map +1 -1
  245. package/dist/core/server/index.js +16 -68
  246. package/dist/core/server/index.js.map +1 -1
  247. package/dist/core/types.js +1 -2
  248. package/dist/core/types.js.map +1 -1
  249. package/dist/core/utils.js +26 -51
  250. package/dist/core/utils.js.map +1 -1
  251. package/dist/emails/config.js +13 -21
  252. package/dist/emails/config.js.map +1 -1
  253. package/dist/emails/index.js +10 -72
  254. package/dist/emails/index.js.map +1 -1
  255. package/dist/emails/send/auth.js +26 -34
  256. package/dist/emails/send/auth.js.map +1 -1
  257. package/dist/emails/send/index.js +2 -21
  258. package/dist/emails/send/index.js.map +1 -1
  259. package/dist/emails/send/orders.js +38 -50
  260. package/dist/emails/send/orders.js.map +1 -1
  261. package/dist/emails/sender.js +7 -12
  262. package/dist/emails/sender.js.map +1 -1
  263. package/dist/emails/templates/base.js +37 -53
  264. package/dist/emails/templates/base.js.map +1 -1
  265. package/dist/emails/templates/email-verification.js +12 -16
  266. package/dist/emails/templates/email-verification.js.map +1 -1
  267. package/dist/emails/templates/index.js +9 -43
  268. package/dist/emails/templates/index.js.map +1 -1
  269. package/dist/emails/templates/order-cancelled.js +18 -22
  270. package/dist/emails/templates/order-cancelled.js.map +1 -1
  271. package/dist/emails/templates/order-confirmation.js +30 -34
  272. package/dist/emails/templates/order-confirmation.js.map +1 -1
  273. package/dist/emails/templates/order-delivered.js +20 -24
  274. package/dist/emails/templates/order-delivered.js.map +1 -1
  275. package/dist/emails/templates/order-shipped.js +19 -23
  276. package/dist/emails/templates/order-shipped.js.map +1 -1
  277. package/dist/emails/templates/password-reset.js +12 -16
  278. package/dist/emails/templates/password-reset.js.map +1 -1
  279. package/dist/emails/templates/refund-processed.js +17 -21
  280. package/dist/emails/templates/refund-processed.js.map +1 -1
  281. package/dist/emails/templates/welcome.js +11 -15
  282. package/dist/emails/templates/welcome.js.map +1 -1
  283. package/dist/emails/types.js +1 -2
  284. package/dist/emails/types.js.map +1 -1
  285. package/dist/emails/utils.js +9 -20
  286. package/dist/emails/utils.js.map +1 -1
  287. package/dist/index.js +24 -176
  288. package/dist/index.js.map +1 -1
  289. package/dist/products/api/categories.js +7 -10
  290. package/dist/products/api/categories.js.map +1 -1
  291. package/dist/products/api/index.js +3 -9
  292. package/dist/products/api/index.js.map +1 -1
  293. package/dist/products/api/product.js +10 -13
  294. package/dist/products/api/product.js.map +1 -1
  295. package/dist/products/api/products.js +8 -11
  296. package/dist/products/api/products.js.map +1 -1
  297. package/dist/products/components/CategoryNav.js +20 -26
  298. package/dist/products/components/CategoryNav.js.map +1 -1
  299. package/dist/products/components/ProductBreadcrumb.js +7 -13
  300. package/dist/products/components/ProductBreadcrumb.js.map +1 -1
  301. package/dist/products/components/ProductCard.js +6 -12
  302. package/dist/products/components/ProductCard.js.map +1 -1
  303. package/dist/products/components/ProductDetails.js +14 -17
  304. package/dist/products/components/ProductDetails.js.map +1 -1
  305. package/dist/products/components/ProductFilters.js +15 -18
  306. package/dist/products/components/ProductFilters.js.map +1 -1
  307. package/dist/products/components/ProductGallery.js +17 -23
  308. package/dist/products/components/ProductGallery.js.map +1 -1
  309. package/dist/products/components/ProductGrid.js +10 -13
  310. package/dist/products/components/ProductGrid.js.map +1 -1
  311. package/dist/products/components/ProductSearch.js +14 -17
  312. package/dist/products/components/ProductSearch.js.map +1 -1
  313. package/dist/products/components/ProductSort.js +8 -11
  314. package/dist/products/components/ProductSort.js.map +1 -1
  315. package/dist/products/components/VariantSelector.js +16 -19
  316. package/dist/products/components/VariantSelector.js.map +1 -1
  317. package/dist/products/components/index.js +10 -23
  318. package/dist/products/components/index.js.map +1 -1
  319. package/dist/products/hooks/index.js +4 -11
  320. package/dist/products/hooks/index.js.map +1 -1
  321. package/dist/products/hooks/useCategories.js +12 -15
  322. package/dist/products/hooks/useCategories.js.map +1 -1
  323. package/dist/products/hooks/useProduct.js +9 -12
  324. package/dist/products/hooks/useProduct.js.map +1 -1
  325. package/dist/products/hooks/useProductAttributes.js +10 -13
  326. package/dist/products/hooks/useProductAttributes.js.map +1 -1
  327. package/dist/products/hooks/useProducts.js +15 -18
  328. package/dist/products/hooks/useProducts.js.map +1 -1
  329. package/dist/products/index.js +6 -23
  330. package/dist/products/index.js.map +1 -1
  331. package/dist/theme/ThemeProvider.js +12 -14
  332. package/dist/theme/ThemeProvider.js.map +1 -1
  333. package/dist/theme/colors.js +3 -8
  334. package/dist/theme/colors.js.map +1 -1
  335. package/dist/theme/defaults.js +27 -30
  336. package/dist/theme/defaults.js.map +1 -1
  337. package/dist/theme/fonts.js +12 -18
  338. package/dist/theme/fonts.js.map +1 -1
  339. package/dist/theme/generator.js +63 -69
  340. package/dist/theme/generator.js.map +1 -1
  341. package/dist/theme/hooks.js +11 -16
  342. package/dist/theme/hooks.js.map +1 -1
  343. package/dist/theme/index.js +6 -42
  344. package/dist/theme/index.js.map +1 -1
  345. package/package.json +35 -30
@@ -0,0 +1,148 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * @rovela/sdk/admin/components/CategorySelect
5
+ *
6
+ * Category dropdown selector with tree structure and search.
7
+ */
8
+ import { useState, useEffect, useRef, useCallback } from 'react';
9
+ import { ChevronDown, X, FolderOpen, Plus, Search } from 'lucide-react';
10
+ // =============================================================================
11
+ // Component
12
+ // =============================================================================
13
+ /**
14
+ * Category selector with hierarchical dropdown.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <CategorySelect
19
+ * value={categoryId}
20
+ * onChange={setCategoryId}
21
+ * placeholder="Select a category"
22
+ * showAddNew
23
+ * onAddNew={() => setShowCategoryModal(true)}
24
+ * />
25
+ * ```
26
+ */
27
+ export function CategorySelect({ value, onChange, placeholder = 'Select category', showAddNew = false, onAddNew, disabled = false, className = '', }) {
28
+ const [isOpen, setIsOpen] = useState(false);
29
+ const [search, setSearch] = useState('');
30
+ const [categories, setCategories] = useState([]);
31
+ const [isLoading, setIsLoading] = useState(false);
32
+ const containerRef = useRef(null);
33
+ const searchInputRef = useRef(null);
34
+ // Fetch categories
35
+ useEffect(() => {
36
+ const fetchCategories = async () => {
37
+ setIsLoading(true);
38
+ try {
39
+ const response = await fetch('/api/admin/categories?flat=true');
40
+ if (response.ok) {
41
+ const data = await response.json();
42
+ setCategories(data.data || []);
43
+ }
44
+ }
45
+ catch (error) {
46
+ console.error('[CategorySelect] Failed to fetch categories:', error);
47
+ }
48
+ finally {
49
+ setIsLoading(false);
50
+ }
51
+ };
52
+ fetchCategories();
53
+ }, []);
54
+ // Build tree with levels
55
+ const buildTreeWithLevels = useCallback((items) => {
56
+ const map = new Map();
57
+ const roots = [];
58
+ // First pass: create nodes
59
+ for (const cat of items) {
60
+ map.set(cat.id, { ...cat, children: [], level: 0 });
61
+ }
62
+ // Second pass: build tree and assign levels
63
+ for (const cat of items) {
64
+ const node = map.get(cat.id);
65
+ if (cat.parentId && map.has(cat.parentId)) {
66
+ const parent = map.get(cat.parentId);
67
+ node.level = parent.level + 1;
68
+ parent.children.push(node);
69
+ }
70
+ else {
71
+ roots.push(node);
72
+ }
73
+ }
74
+ // Sort by order
75
+ const sortByOrder = (a, b) => a.order - b.order;
76
+ roots.sort(sortByOrder);
77
+ for (const node of map.values()) {
78
+ node.children.sort(sortByOrder);
79
+ }
80
+ return roots;
81
+ }, []);
82
+ // Flatten tree for display
83
+ const flattenTree = useCallback((tree) => {
84
+ const result = [];
85
+ const traverse = (nodes) => {
86
+ for (const node of nodes) {
87
+ result.push(node);
88
+ traverse(node.children);
89
+ }
90
+ };
91
+ traverse(tree);
92
+ return result;
93
+ }, []);
94
+ // Get flat list with levels
95
+ const flatListWithLevels = flattenTree(buildTreeWithLevels(categories));
96
+ // Filter by search
97
+ const filteredCategories = search
98
+ ? flatListWithLevels.filter((cat) => cat.name.toLowerCase().includes(search.toLowerCase()))
99
+ : flatListWithLevels;
100
+ // Get selected category
101
+ const selectedCategory = categories.find((cat) => cat.id === value);
102
+ // Close on outside click
103
+ useEffect(() => {
104
+ const handleClickOutside = (event) => {
105
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
106
+ setIsOpen(false);
107
+ setSearch('');
108
+ }
109
+ };
110
+ document.addEventListener('mousedown', handleClickOutside);
111
+ return () => document.removeEventListener('mousedown', handleClickOutside);
112
+ }, []);
113
+ // Focus search input when opened
114
+ useEffect(() => {
115
+ if (isOpen && searchInputRef.current) {
116
+ searchInputRef.current.focus();
117
+ }
118
+ }, [isOpen]);
119
+ // Handle keyboard navigation
120
+ const handleKeyDown = (e) => {
121
+ if (e.key === 'Escape') {
122
+ setIsOpen(false);
123
+ setSearch('');
124
+ }
125
+ };
126
+ return (_jsxs("div", { ref: containerRef, className: `relative ${className}`, onKeyDown: handleKeyDown, children: [_jsxs("button", { type: "button", onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled, className: `
127
+ flex w-full items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm
128
+ ${disabled
129
+ ? 'cursor-not-allowed border-input bg-muted text-muted-foreground'
130
+ : 'border-input bg-background text-foreground hover:border-primary focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary'}
131
+ `, children: [_jsx("span", { className: selectedCategory ? 'text-foreground' : 'text-muted-foreground', children: isLoading ? ('Loading...') : selectedCategory ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx(FolderOpen, { className: "h-4 w-4 text-muted-foreground" }), selectedCategory.name] })) : (placeholder) }), _jsxs("div", { className: "flex items-center gap-1", children: [selectedCategory && !disabled && (_jsx("button", { type: "button", onClick: (e) => {
132
+ e.stopPropagation();
133
+ onChange(null);
134
+ }, className: "rounded p-0.5 hover:bg-accent", children: _jsx(X, { className: "h-3 w-3 text-muted-foreground" }) })), _jsx(ChevronDown, { className: `h-4 w-4 text-muted-foreground transition-transform ${isOpen ? 'rotate-180' : ''}` })] })] }), isOpen && (_jsxs("div", { className: "absolute z-50 mt-1 w-full rounded-md border border-border bg-popover shadow-lg", children: [_jsx("div", { className: "border-b border-border p-2", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), _jsx("input", { ref: searchInputRef, type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search categories...", className: "w-full rounded-md border border-input bg-background py-1.5 pl-8 pr-3 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary" })] }) }), _jsx("div", { className: "max-h-60 overflow-auto p-1", children: filteredCategories.length === 0 ? (_jsx("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: search ? 'No categories found' : 'No categories yet' })) : (filteredCategories.map((category) => (_jsxs("button", { type: "button", onClick: () => {
135
+ onChange(category.id);
136
+ setIsOpen(false);
137
+ setSearch('');
138
+ }, className: `
139
+ flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm
140
+ ${category.id === value
141
+ ? 'bg-primary/10 text-primary'
142
+ : 'text-foreground hover:bg-accent'}
143
+ `, style: { paddingLeft: `${12 + category.level * 16}px` }, children: [_jsx(FolderOpen, { className: "h-4 w-4 text-muted-foreground" }), category.name] }, category.id)))) }), showAddNew && onAddNew && (_jsx("div", { className: "border-t border-border p-1", children: _jsxs("button", { type: "button", onClick: () => {
144
+ onAddNew();
145
+ setIsOpen(false);
146
+ }, className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm text-primary hover:bg-accent", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add new category"] }) }))] }))] }));
147
+ }
148
+ //# sourceMappingURL=CategorySelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategorySelect.js","sourceRoot":"","sources":["../../../src/admin/components/CategorySelect.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
1
  'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.InventoryEditor = InventoryEditor;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
3
  /**
7
4
  * @rovela/sdk/admin/components/InventoryEditor
8
5
  *
9
6
  * Inline inventory editing for product variants.
10
7
  */
11
- const react_1 = require("react");
12
- const useAdminProducts_1 = require("../hooks/useAdminProducts");
8
+ import { useState, useCallback } from 'react';
9
+ import { useAdminProducts } from '../hooks/useAdminProducts';
13
10
  // =============================================================================
14
11
  // Component
15
12
  // =============================================================================
@@ -25,20 +22,20 @@ const useAdminProducts_1 = require("../hooks/useAdminProducts");
25
22
  * />
26
23
  * ```
27
24
  */
28
- function InventoryEditor({ productId, variants, onUpdate, className = '', }) {
29
- const { updateVariant } = (0, useAdminProducts_1.useAdminProducts)();
30
- const [editingId, setEditingId] = (0, react_1.useState)(null);
31
- const [editValue, setEditValue] = (0, react_1.useState)(0);
32
- const [isUpdating, setIsUpdating] = (0, react_1.useState)(false);
33
- const handleStartEdit = (0, react_1.useCallback)((variantId, currentValue) => {
25
+ export function InventoryEditor({ productId, variants, onUpdate, className = '', }) {
26
+ const { updateVariant } = useAdminProducts();
27
+ const [editingId, setEditingId] = useState(null);
28
+ const [editValue, setEditValue] = useState(0);
29
+ const [isUpdating, setIsUpdating] = useState(false);
30
+ const handleStartEdit = useCallback((variantId, currentValue) => {
34
31
  setEditingId(variantId);
35
32
  setEditValue(currentValue);
36
33
  }, []);
37
- const handleCancelEdit = (0, react_1.useCallback)(() => {
34
+ const handleCancelEdit = useCallback(() => {
38
35
  setEditingId(null);
39
36
  setEditValue(0);
40
37
  }, []);
41
- const handleSave = (0, react_1.useCallback)(async (variantId) => {
38
+ const handleSave = useCallback(async (variantId) => {
42
39
  setIsUpdating(true);
43
40
  try {
44
41
  const result = await updateVariant(productId, variantId, {
@@ -53,7 +50,7 @@ function InventoryEditor({ productId, variants, onUpdate, className = '', }) {
53
50
  setIsUpdating(false);
54
51
  }
55
52
  }, [productId, editValue, updateVariant, onUpdate]);
56
- const handleKeyDown = (0, react_1.useCallback)((e, variantId) => {
53
+ const handleKeyDown = useCallback((e, variantId) => {
57
54
  if (e.key === 'Enter') {
58
55
  handleSave(variantId);
59
56
  }
@@ -62,18 +59,18 @@ function InventoryEditor({ productId, variants, onUpdate, className = '', }) {
62
59
  }
63
60
  }, [handleSave, handleCancelEdit]);
64
61
  if (!variants || variants.length === 0) {
65
- return ((0, jsx_runtime_1.jsx)("div", { className: `rounded-lg border border-border bg-card p-6 ${className}`, children: (0, jsx_runtime_1.jsx)("p", { className: "text-center text-muted-foreground", children: "No variants to manage inventory for." }) }));
62
+ return (_jsx("div", { className: `rounded-lg border border-border bg-card p-6 ${className}`, children: _jsx("p", { className: "text-center text-muted-foreground", children: "No variants to manage inventory for." }) }));
66
63
  }
67
- return ((0, jsx_runtime_1.jsxs)("div", { className: `rounded-lg border border-border bg-card overflow-hidden ${className}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "border-b border-border px-6 py-4", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-medium text-foreground", children: "Inventory Management" }), (0, jsx_runtime_1.jsx)("p", { className: "mt-1 text-sm text-muted-foreground", children: "Click on inventory count to edit" })] }), (0, jsx_runtime_1.jsx)("div", { className: "overflow-x-auto", children: (0, jsx_runtime_1.jsxs)("table", { className: "w-full", children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", { className: "border-b border-border bg-muted/50 text-left text-xs font-medium uppercase text-muted-foreground", children: [(0, jsx_runtime_1.jsx)("th", { className: "px-6 py-3", children: "Variant" }), (0, jsx_runtime_1.jsx)("th", { className: "px-6 py-3", children: "SKU" }), (0, jsx_runtime_1.jsx)("th", { className: "px-6 py-3", children: "Price" }), (0, jsx_runtime_1.jsx)("th", { className: "px-6 py-3", children: "Inventory" }), (0, jsx_runtime_1.jsx)("th", { className: "px-6 py-3", children: "Status" })] }) }), (0, jsx_runtime_1.jsx)("tbody", { className: "divide-y divide-border", children: variants.map((variant) => {
64
+ return (_jsxs("div", { className: `rounded-lg border border-border bg-card overflow-hidden ${className}`, children: [_jsxs("div", { className: "border-b border-border px-6 py-4", children: [_jsx("h3", { className: "text-lg font-medium text-foreground", children: "Inventory Management" }), _jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: "Click on inventory count to edit" })] }), _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border bg-muted/50 text-left text-xs font-medium uppercase text-muted-foreground", children: [_jsx("th", { className: "px-6 py-3", children: "Variant" }), _jsx("th", { className: "px-6 py-3", children: "SKU" }), _jsx("th", { className: "px-6 py-3", children: "Price" }), _jsx("th", { className: "px-6 py-3", children: "Inventory" }), _jsx("th", { className: "px-6 py-3", children: "Status" })] }) }), _jsx("tbody", { className: "divide-y divide-border", children: variants.map((variant) => {
68
65
  const isEditing = editingId === variant.id;
69
66
  const isLowStock = variant.inventory !== undefined && variant.inventory <= 10;
70
67
  const isOutOfStock = variant.inventory === 0;
71
- return ((0, jsx_runtime_1.jsxs)("tr", { className: "hover:bg-muted/50", children: [(0, jsx_runtime_1.jsxs)("td", { className: "px-6 py-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "font-medium text-foreground", children: variant.name }), variant.attributes && Object.keys(variant.attributes).length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "mt-1 flex flex-wrap gap-1", children: Object.entries(variant.attributes).map(([key, value]) => ((0, jsx_runtime_1.jsxs)("span", { className: "rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: [key, ": ", value] }, key))) }))] }), (0, jsx_runtime_1.jsx)("td", { className: "px-6 py-4 text-sm text-muted-foreground", children: variant.sku || '—' }), (0, jsx_runtime_1.jsx)("td", { className: "px-6 py-4 text-sm text-foreground", children: variant.price
68
+ return (_jsxs("tr", { className: "hover:bg-muted/50", children: [_jsxs("td", { className: "px-6 py-4", children: [_jsx("div", { className: "font-medium text-foreground", children: variant.name }), variant.attributes && Object.keys(variant.attributes).length > 0 && (_jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: Object.entries(variant.attributes).map(([key, value]) => (_jsxs("span", { className: "rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: [key, ": ", value] }, key))) }))] }), _jsx("td", { className: "px-6 py-4 text-sm text-muted-foreground", children: variant.sku || '—' }), _jsx("td", { className: "px-6 py-4 text-sm text-foreground", children: variant.price
72
69
  ? new Intl.NumberFormat('en-US', {
73
70
  style: 'currency',
74
71
  currency: 'USD',
75
72
  }).format(parseFloat(variant.price))
76
- : '—' }), (0, jsx_runtime_1.jsx)("td", { className: "px-6 py-4", children: isEditing ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", value: editValue, onChange: (e) => setEditValue(parseInt(e.target.value) || 0), onKeyDown: (e) => handleKeyDown(e, variant.id), autoFocus: true, disabled: isUpdating, className: "w-20 rounded-md border border-input bg-background px-2 py-1 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary disabled:opacity-50" }), (0, jsx_runtime_1.jsx)("button", { onClick: () => handleSave(variant.id), disabled: isUpdating, className: "rounded-md bg-primary px-2 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50", children: isUpdating ? '...' : 'Save' }), (0, jsx_runtime_1.jsx)("button", { onClick: handleCancelEdit, disabled: isUpdating, className: "rounded-md border border-border px-2 py-1 text-xs text-foreground hover:bg-accent disabled:opacity-50", children: "Cancel" })] })) : ((0, jsx_runtime_1.jsx)("button", { onClick: () => handleStartEdit(variant.id, variant.inventory ?? 0), className: "rounded-md border border-transparent px-2 py-1 text-sm font-medium text-foreground hover:border-border hover:bg-muted", children: variant.inventory ?? 0 })) }), (0, jsx_runtime_1.jsx)("td", { className: "px-6 py-4", children: (0, jsx_runtime_1.jsx)("span", { className: `inline-flex rounded-full px-2 py-1 text-xs font-medium ${isOutOfStock
73
+ : '—' }), _jsx("td", { className: "px-6 py-4", children: isEditing ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "number", min: "0", value: editValue, onChange: (e) => setEditValue(parseInt(e.target.value) || 0), onKeyDown: (e) => handleKeyDown(e, variant.id), autoFocus: true, disabled: isUpdating, className: "w-20 rounded-md border border-input bg-background px-2 py-1 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary disabled:opacity-50" }), _jsx("button", { onClick: () => handleSave(variant.id), disabled: isUpdating, className: "rounded-md bg-primary px-2 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50", children: isUpdating ? '...' : 'Save' }), _jsx("button", { onClick: handleCancelEdit, disabled: isUpdating, className: "rounded-md border border-border px-2 py-1 text-xs text-foreground hover:bg-accent disabled:opacity-50", children: "Cancel" })] })) : (_jsx("button", { onClick: () => handleStartEdit(variant.id, variant.inventory ?? 0), className: "rounded-md border border-transparent px-2 py-1 text-sm font-medium text-foreground hover:border-border hover:bg-muted", children: variant.inventory ?? 0 })) }), _jsx("td", { className: "px-6 py-4", children: _jsx("span", { className: `inline-flex rounded-full px-2 py-1 text-xs font-medium ${isOutOfStock
77
74
  ? 'bg-red-100 text-red-800'
78
75
  : isLowStock
79
76
  ? 'bg-amber-100 text-amber-800'
@@ -1 +1 @@
1
- {"version":3,"file":"InventoryEditor.js","sourceRoot":"","sources":["../../../src/admin/components/InventoryEditor.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;AA4BZ,0CAuKC;;AAjMD;;;;GAIG;AAEH,iCAA6C;AAC7C,gEAA4D;AAG5D,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,SAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,EAAE,GACO;IACrB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,mCAAgB,GAAE,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAS,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,CAAC,SAAiB,EAAE,YAAoB,EAAE,EAAE;QAC9E,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,YAAY,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,YAAY,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;QACzD,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE;gBACvD,SAAS,EAAE,SAAS;aACO,CAAC,CAAA;YAE9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,CAAA;gBAClB,QAAQ,EAAE,EAAE,CAAA;YACd,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEnD,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAsB,EAAE,SAAiB,EAAE,EAAE;QAC9E,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,UAAU,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9B,gBAAgB,EAAE,CAAA;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAElC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CACL,gCAAK,SAAS,EAAE,+CAA+C,SAAS,EAAE,YACxE,8BAAG,SAAS,EAAC,mCAAmC,qDAE5C,GACA,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,2DAA2D,SAAS,EAAE,aACpF,iCAAK,SAAS,EAAC,kCAAkC,aAC/C,+BAAI,SAAS,EAAC,qCAAqC,qCAA0B,EAC7E,8BAAG,SAAS,EAAC,oCAAoC,iDAE7C,IACA,EAEN,gCAAK,SAAS,EAAC,iBAAiB,YAC9B,mCAAO,SAAS,EAAC,QAAQ,aACvB,4CACE,gCAAI,SAAS,EAAC,kGAAkG,aAC9G,+BAAI,SAAS,EAAC,WAAW,wBAAa,EACtC,+BAAI,SAAS,EAAC,WAAW,oBAAS,EAClC,+BAAI,SAAS,EAAC,WAAW,sBAAW,EACpC,+BAAI,SAAS,EAAC,WAAW,0BAAe,EACxC,+BAAI,SAAS,EAAC,WAAW,uBAAY,IAClC,GACC,EACR,kCAAO,SAAS,EAAC,wBAAwB,YACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gCACxB,MAAM,SAAS,GAAG,SAAS,KAAK,OAAO,CAAC,EAAE,CAAA;gCAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;gCAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,KAAK,CAAC,CAAA;gCAE5C,OAAO,CACL,gCAAqB,SAAS,EAAC,mBAAmB,aAChD,gCAAI,SAAS,EAAC,WAAW,aACvB,gCAAK,SAAS,EAAC,6BAA6B,YAAE,OAAO,CAAC,IAAI,GAAO,EAChE,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACnE,gCAAK,SAAS,EAAC,2BAA2B,YACvC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACxD,kCAEE,SAAS,EAAC,8DAA8D,aAEvE,GAAG,QAAI,KAAK,KAHR,GAAG,CAIH,CACR,CAAC,GACE,CACP,IACE,EACL,+BAAI,SAAS,EAAC,yCAAyC,YACpD,OAAO,CAAC,GAAG,IAAI,GAAG,GAChB,EACL,+BAAI,SAAS,EAAC,mCAAmC,YAC9C,OAAO,CAAC,KAAK;gDACZ,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oDAC7B,KAAK,EAAE,UAAU;oDACjB,QAAQ,EAAE,KAAK;iDAChB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gDACtC,CAAC,CAAC,GAAG,GACJ,EACL,+BAAI,SAAS,EAAC,WAAW,YACtB,SAAS,CAAC,CAAC,CAAC,CACX,iCAAK,SAAS,EAAC,yBAAyB,aACtC,kCACE,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,GAAG,EACP,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC5D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAC9C,SAAS,QACT,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,iKAAiK,GAC3K,EACF,mCACE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EACrC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,qHAAqH,YAE9H,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GACrB,EACT,mCACE,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,uGAAuG,uBAG1G,IACL,CACP,CAAC,CAAC,CAAC,CACF,mCACE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAClE,SAAS,EAAC,uHAAuH,YAEhI,OAAO,CAAC,SAAS,IAAI,CAAC,GAChB,CACV,GACE,EACL,+BAAI,SAAS,EAAC,WAAW,YACvB,iCACE,SAAS,EAAE,0DACT,YAAY;oDACV,CAAC,CAAC,yBAAyB;oDAC3B,CAAC,CAAC,UAAU;wDACZ,CAAC,CAAC,6BAA6B;wDAC/B,CAAC,CAAC,6BACN,EAAE,YAED,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,GACjE,GACJ,KA5EE,OAAO,CAAC,EAAE,CA6Ed,CACN,CAAA;4BACH,CAAC,CAAC,GACI,IACF,GACJ,IACF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"InventoryEditor.js","sourceRoot":"","sources":["../../../src/admin/components/InventoryEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.LowStockAlert = LowStockAlert;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
3
  /**
7
4
  * @rovela/sdk/admin/components/LowStockAlert
8
5
  *
9
6
  * Low stock inventory warning widget.
10
7
  */
11
- const useAdminStats_1 = require("../hooks/useAdminStats");
8
+ import { useAdminStats } from '../hooks/useAdminStats';
12
9
  // =============================================================================
13
10
  // Component
14
11
  // =============================================================================
@@ -20,16 +17,16 @@ const useAdminStats_1 = require("../hooks/useAdminStats");
20
17
  * <LowStockAlert threshold={10} viewAllHref="/admin/products?filter=low-stock" />
21
18
  * ```
22
19
  */
23
- function LowStockAlert({ threshold = 10, viewAllHref = '/admin/products', className = '', }) {
24
- const { lowStock, isLoading } = (0, useAdminStats_1.useAdminStats)({
20
+ export function LowStockAlert({ threshold = 10, viewAllHref = '/admin/products', className = '', }) {
21
+ const { lowStock, isLoading } = useAdminStats({
25
22
  lowStockThreshold: threshold,
26
23
  });
27
24
  // Don't show if no low stock items
28
25
  if (!isLoading && lowStock.length === 0) {
29
26
  return null;
30
27
  }
31
- return ((0, jsx_runtime_1.jsxs)("div", { className: `rounded-lg border border-border bg-card ${className}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between border-b border-border px-6 py-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("svg", { className: "h-5 w-5 text-amber-500", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }), (0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-medium text-foreground", children: "Low Stock Alert" }), !isLoading && ((0, jsx_runtime_1.jsxs)("span", { className: "rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800", children: [lowStock.length, " item", lowStock.length !== 1 ? 's' : ''] }))] }), (0, jsx_runtime_1.jsx)("a", { href: viewAllHref, className: "text-sm text-primary hover:underline", children: "View all" })] }), (0, jsx_runtime_1.jsx)("div", { className: "divide-y divide-border", children: isLoading ? ((0, jsx_runtime_1.jsx)("div", { className: "p-6", children: (0, jsx_runtime_1.jsx)("div", { className: "space-y-4", children: [...Array(3)].map((_, i) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "h-4 w-32 animate-pulse rounded bg-muted" }), (0, jsx_runtime_1.jsx)("div", { className: "h-3 w-20 animate-pulse rounded bg-muted" })] }), (0, jsx_runtime_1.jsx)("div", { className: "h-6 w-16 animate-pulse rounded bg-muted" })] }, i))) }) })) : (lowStock.slice(0, 5).map((item) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between px-6 py-4 hover:bg-muted/50", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("a", { href: `/admin/products/${item.productId}`, className: "font-medium text-foreground hover:text-primary", children: item.productName }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: item.variantName })] }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center gap-2", children: (0, jsx_runtime_1.jsx)("span", { className: `rounded-full px-2 py-1 text-xs font-medium ${item.inventory === 0
28
+ return (_jsxs("div", { className: `rounded-lg border border-border bg-card ${className}`, children: [_jsxs("div", { className: "flex items-center justify-between border-b border-border px-6 py-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("svg", { className: "h-5 w-5 text-amber-500", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }), _jsx("h3", { className: "text-lg font-medium text-foreground", children: "Low Stock Alert" }), !isLoading && (_jsxs("span", { className: "rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800", children: [lowStock.length, " item", lowStock.length !== 1 ? 's' : ''] }))] }), _jsx("a", { href: viewAllHref, className: "text-sm text-primary hover:underline", children: "View all" })] }), _jsx("div", { className: "divide-y divide-border", children: isLoading ? (_jsx("div", { className: "p-6", children: _jsx("div", { className: "space-y-4", children: [...Array(3)].map((_, i) => (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "h-4 w-32 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-3 w-20 animate-pulse rounded bg-muted" })] }), _jsx("div", { className: "h-6 w-16 animate-pulse rounded bg-muted" })] }, i))) }) })) : (lowStock.slice(0, 5).map((item) => (_jsxs("div", { className: "flex items-center justify-between px-6 py-4 hover:bg-muted/50", children: [_jsxs("div", { children: [_jsx("a", { href: `/admin/products/${item.productId}`, className: "font-medium text-foreground hover:text-primary", children: item.productName }), _jsx("p", { className: "text-sm text-muted-foreground", children: item.variantName })] }), _jsx("div", { className: "flex items-center gap-2", children: _jsx("span", { className: `rounded-full px-2 py-1 text-xs font-medium ${item.inventory === 0
32
29
  ? 'bg-red-100 text-red-800'
33
- : 'bg-amber-100 text-amber-800'}`, children: item.inventory === 0 ? 'Out of stock' : `${item.inventory} left` }) })] }, item.variantId)))) }), !isLoading && lowStock.length > 5 && ((0, jsx_runtime_1.jsx)("div", { className: "border-t border-border px-6 py-3 text-center", children: (0, jsx_runtime_1.jsxs)("a", { href: viewAllHref, className: "text-sm text-primary hover:underline", children: ["+", lowStock.length - 5, " more items"] }) }))] }));
30
+ : 'bg-amber-100 text-amber-800'}`, children: item.inventory === 0 ? 'Out of stock' : `${item.inventory} left` }) })] }, item.variantId)))) }), !isLoading && lowStock.length > 5 && (_jsx("div", { className: "border-t border-border px-6 py-3 text-center", children: _jsxs("a", { href: viewAllHref, className: "text-sm text-primary hover:underline", children: ["+", lowStock.length - 5, " more items"] }) }))] }));
34
31
  }
35
32
  //# sourceMappingURL=LowStockAlert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LowStockAlert.js","sourceRoot":"","sources":["../../../src/admin/components/LowStockAlert.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LowStockAlert.js","sourceRoot":"","sources":["../../../src/admin/components/LowStockAlert.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
1
  'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.OrderDetails = OrderDetails;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
3
  /**
7
4
  * @rovela/sdk/admin/components/OrderDetails
8
5
  *
9
6
  * Full order details view with items, addresses, and actions.
10
7
  */
11
- const react_1 = require("react");
12
- const useAdminOrders_1 = require("../hooks/useAdminOrders");
8
+ import { useState, useEffect, useCallback } from 'react';
9
+ import { useAdminOrders } from '../hooks/useAdminOrders';
13
10
  // =============================================================================
14
11
  // Status Badge
15
12
  // =============================================================================
@@ -22,7 +19,7 @@ function StatusBadge({ status }) {
22
19
  cancelled: 'bg-red-100 text-red-800',
23
20
  refunded: 'bg-gray-100 text-gray-800',
24
21
  };
25
- return ((0, jsx_runtime_1.jsx)("span", { className: `inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || 'bg-gray-100 text-gray-800'}`, children: status.charAt(0).toUpperCase() + status.slice(1) }));
22
+ return (_jsx("span", { className: `inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || 'bg-gray-100 text-gray-800'}`, children: status.charAt(0).toUpperCase() + status.slice(1) }));
26
23
  }
27
24
  // =============================================================================
28
25
  // Component
@@ -38,12 +35,12 @@ function StatusBadge({ status }) {
38
35
  * />
39
36
  * ```
40
37
  */
41
- function OrderDetails({ orderId, onRefund, onBack, className = '', }) {
42
- const { getOrder, updateStatus } = (0, useAdminOrders_1.useAdminOrders)();
43
- const [order, setOrder] = (0, react_1.useState)(null);
44
- const [isLoading, setIsLoading] = (0, react_1.useState)(true);
45
- const [isUpdating, setIsUpdating] = (0, react_1.useState)(false);
46
- (0, react_1.useEffect)(() => {
38
+ export function OrderDetails({ orderId, onRefund, onBack, className = '', }) {
39
+ const { getOrder, updateStatus } = useAdminOrders();
40
+ const [order, setOrder] = useState(null);
41
+ const [isLoading, setIsLoading] = useState(true);
42
+ const [isUpdating, setIsUpdating] = useState(false);
43
+ useEffect(() => {
47
44
  if (orderId) {
48
45
  setIsLoading(true);
49
46
  getOrder(orderId).then((data) => {
@@ -52,7 +49,7 @@ function OrderDetails({ orderId, onRefund, onBack, className = '', }) {
52
49
  });
53
50
  }
54
51
  }, [orderId, getOrder]);
55
- const handleStatusChange = (0, react_1.useCallback)(async (newStatus) => {
52
+ const handleStatusChange = useCallback(async (newStatus) => {
56
53
  if (!order)
57
54
  return;
58
55
  setIsUpdating(true);
@@ -80,15 +77,15 @@ function OrderDetails({ orderId, onRefund, onBack, className = '', }) {
80
77
  }).format(numValue);
81
78
  };
82
79
  if (isLoading) {
83
- return ((0, jsx_runtime_1.jsxs)("div", { className: `space-y-6 ${className}`, children: [(0, jsx_runtime_1.jsx)("div", { className: "h-8 w-48 animate-pulse rounded bg-muted" }), (0, jsx_runtime_1.jsx)("div", { className: "rounded-lg border border-border bg-card p-6", children: (0, jsx_runtime_1.jsx)("div", { className: "space-y-4", children: [...Array(4)].map((_, i) => ((0, jsx_runtime_1.jsx)("div", { className: "h-6 w-full animate-pulse rounded bg-muted" }, i))) }) })] }));
80
+ return (_jsxs("div", { className: `space-y-6 ${className}`, children: [_jsx("div", { className: "h-8 w-48 animate-pulse rounded bg-muted" }), _jsx("div", { className: "rounded-lg border border-border bg-card p-6", children: _jsx("div", { className: "space-y-4", children: [...Array(4)].map((_, i) => (_jsx("div", { className: "h-6 w-full animate-pulse rounded bg-muted" }, i))) }) })] }));
84
81
  }
85
82
  if (!order) {
86
- return ((0, jsx_runtime_1.jsxs)("div", { className: `rounded-lg border border-border bg-card p-12 text-center ${className}`, children: [(0, jsx_runtime_1.jsx)("p", { className: "text-muted-foreground", children: "Order not found" }), onBack && ((0, jsx_runtime_1.jsx)("button", { onClick: onBack, className: "mt-4 text-sm text-primary hover:underline", children: "Go back" }))] }));
83
+ return (_jsxs("div", { className: `rounded-lg border border-border bg-card p-12 text-center ${className}`, children: [_jsx("p", { className: "text-muted-foreground", children: "Order not found" }), onBack && (_jsx("button", { onClick: onBack, className: "mt-4 text-sm text-primary hover:underline", children: "Go back" }))] }));
87
84
  }
88
85
  const canRefund = order.status === 'paid' || order.status === 'shipped' || order.status === 'delivered';
89
86
  const canUpdateStatus = order.status !== 'refunded' && order.status !== 'cancelled';
90
- return ((0, jsx_runtime_1.jsxs)("div", { className: `space-y-6 ${className}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [onBack && ((0, jsx_runtime_1.jsx)("button", { onClick: onBack, className: "rounded-md border border-border p-2 hover:bg-accent", children: (0, jsx_runtime_1.jsx)("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }) })), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h1", { className: "text-2xl font-semibold text-foreground", children: ["Order #", order.id.slice(-8).toUpperCase()] }), (0, jsx_runtime_1.jsxs)("p", { className: "text-sm text-muted-foreground", children: ["Placed on ", formatDate(order.createdAt)] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(StatusBadge, { status: order.status }), canRefund && onRefund && ((0, jsx_runtime_1.jsx)("button", { onClick: () => onRefund(order.id), className: "rounded-md border border-destructive px-3 py-1.5 text-sm text-destructive hover:bg-destructive/10", children: "Refund" }))] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid gap-6 lg:grid-cols-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "lg:col-span-2 space-y-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card", children: [(0, jsx_runtime_1.jsx)("div", { className: "border-b border-border px-6 py-4", children: (0, jsx_runtime_1.jsx)("h2", { className: "font-medium text-foreground", children: "Order Items" }) }), (0, jsx_runtime_1.jsx)("div", { className: "divide-y divide-border", children: order.items?.map((item, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4 px-6 py-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex h-16 w-16 items-center justify-center rounded bg-muted text-muted-foreground", children: (0, jsx_runtime_1.jsx)("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" }) }) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex-1", children: [(0, jsx_runtime_1.jsx)("p", { className: "font-medium text-foreground", children: item.name }), item.attributes && Object.keys(item.attributes).length > 0 && ((0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: Object.entries(item.attributes).map(([k, v]) => `${k}: ${v}`).join(', ') }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-right", children: [(0, jsx_runtime_1.jsx)("p", { className: "font-medium text-foreground", children: formatCurrency(item.price) }), (0, jsx_runtime_1.jsxs)("p", { className: "text-sm text-muted-foreground", children: ["Qty: ", item.quantity] })] })] }, index))) })] }), canUpdateStatus && ((0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card p-6", children: [(0, jsx_runtime_1.jsx)("h2", { className: "mb-4 font-medium text-foreground", children: "Update Status" }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap gap-2", children: ['pending', 'paid', 'shipped', 'delivered', 'cancelled'].map((s) => ((0, jsx_runtime_1.jsx)("button", { onClick: () => handleStatusChange(s), disabled: isUpdating || order.status === s, className: `rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${order.status === s
87
+ return (_jsxs("div", { className: `space-y-6 ${className}`, children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [onBack && (_jsx("button", { onClick: onBack, className: "rounded-md border border-border p-2 hover:bg-accent", children: _jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }) })), _jsxs("div", { children: [_jsxs("h1", { className: "text-2xl font-semibold text-foreground", children: ["Order #", order.id.slice(-8).toUpperCase()] }), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["Placed on ", formatDate(order.createdAt)] })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(StatusBadge, { status: order.status }), canRefund && onRefund && (_jsx("button", { onClick: () => onRefund(order.id), className: "rounded-md border border-destructive px-3 py-1.5 text-sm text-destructive hover:bg-destructive/10", children: "Refund" }))] })] }), _jsxs("div", { className: "grid gap-6 lg:grid-cols-3", children: [_jsxs("div", { className: "lg:col-span-2 space-y-6", children: [_jsxs("div", { className: "rounded-lg border border-border bg-card", children: [_jsx("div", { className: "border-b border-border px-6 py-4", children: _jsx("h2", { className: "font-medium text-foreground", children: "Order Items" }) }), _jsx("div", { className: "divide-y divide-border", children: order.items?.map((item, index) => (_jsxs("div", { className: "flex items-center gap-4 px-6 py-4", children: [_jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded bg-muted text-muted-foreground", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" }) }) }), _jsxs("div", { className: "flex-1", children: [_jsx("p", { className: "font-medium text-foreground", children: item.name }), item.attributes && Object.keys(item.attributes).length > 0 && (_jsx("p", { className: "text-sm text-muted-foreground", children: Object.entries(item.attributes).map(([k, v]) => `${k}: ${v}`).join(', ') }))] }), _jsxs("div", { className: "text-right", children: [_jsx("p", { className: "font-medium text-foreground", children: formatCurrency(item.price) }), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["Qty: ", item.quantity] })] })] }, index))) })] }), canUpdateStatus && (_jsxs("div", { className: "rounded-lg border border-border bg-card p-6", children: [_jsx("h2", { className: "mb-4 font-medium text-foreground", children: "Update Status" }), _jsx("div", { className: "flex flex-wrap gap-2", children: ['pending', 'paid', 'shipped', 'delivered', 'cancelled'].map((s) => (_jsx("button", { onClick: () => handleStatusChange(s), disabled: isUpdating || order.status === s, className: `rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${order.status === s
91
88
  ? 'bg-primary text-primary-foreground'
92
- : 'border border-border hover:bg-accent'} disabled:opacity-50`, children: s.charAt(0).toUpperCase() + s.slice(1) }, s))) })] }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card p-6", children: [(0, jsx_runtime_1.jsx)("h2", { className: "mb-4 font-medium text-foreground", children: "Order Summary" }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-2 text-sm", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Subtotal" }), (0, jsx_runtime_1.jsx)("span", { className: "text-foreground", children: formatCurrency(order.subtotal) })] }), order.tax && parseFloat(order.tax) > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Tax" }), (0, jsx_runtime_1.jsx)("span", { className: "text-foreground", children: formatCurrency(order.tax) })] })), order.shipping && parseFloat(order.shipping) > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "Shipping" }), (0, jsx_runtime_1.jsx)("span", { className: "text-foreground", children: formatCurrency(order.shipping) })] })), (0, jsx_runtime_1.jsx)("div", { className: "border-t border-border pt-2", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between font-medium", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-foreground", children: "Total" }), (0, jsx_runtime_1.jsx)("span", { className: "text-foreground", children: formatCurrency(order.total) })] }) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card p-6", children: [(0, jsx_runtime_1.jsx)("h2", { className: "mb-4 font-medium text-foreground", children: "Customer" }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-2 text-sm", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-foreground", children: order.email }), order.customerId && ((0, jsx_runtime_1.jsx)("a", { href: `/admin/customers/${order.customerId}`, className: "text-primary hover:underline", children: "View customer profile" }))] })] }), order.shippingAddress && ((0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card p-6", children: [(0, jsx_runtime_1.jsx)("h2", { className: "mb-4 font-medium text-foreground", children: "Shipping Address" }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-1 text-sm text-muted-foreground", children: [(0, jsx_runtime_1.jsx)("p", { children: order.shippingAddress.name }), (0, jsx_runtime_1.jsx)("p", { children: order.shippingAddress.line1 }), order.shippingAddress.line2 && (0, jsx_runtime_1.jsx)("p", { children: order.shippingAddress.line2 }), (0, jsx_runtime_1.jsxs)("p", { children: [order.shippingAddress.city, ", ", order.shippingAddress.state, " ", order.shippingAddress.postalCode] }), (0, jsx_runtime_1.jsx)("p", { children: order.shippingAddress.country })] })] })), order.stripePaymentIntentId && ((0, jsx_runtime_1.jsxs)("div", { className: "rounded-lg border border-border bg-card p-6", children: [(0, jsx_runtime_1.jsx)("h2", { className: "mb-4 font-medium text-foreground", children: "Payment" }), (0, jsx_runtime_1.jsx)("div", { className: "space-y-2 text-sm", children: (0, jsx_runtime_1.jsxs)("p", { className: "text-muted-foreground", children: ["Payment Intent: ", order.stripePaymentIntentId.slice(-8)] }) })] }))] })] })] }));
89
+ : 'border border-border hover:bg-accent'} disabled:opacity-50`, children: s.charAt(0).toUpperCase() + s.slice(1) }, s))) })] }))] }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "rounded-lg border border-border bg-card p-6", children: [_jsx("h2", { className: "mb-4 font-medium text-foreground", children: "Order Summary" }), _jsxs("div", { className: "space-y-2 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-muted-foreground", children: "Subtotal" }), _jsx("span", { className: "text-foreground", children: formatCurrency(order.subtotal) })] }), order.tax && parseFloat(order.tax) > 0 && (_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-muted-foreground", children: "Tax" }), _jsx("span", { className: "text-foreground", children: formatCurrency(order.tax) })] })), order.shipping && parseFloat(order.shipping) > 0 && (_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-muted-foreground", children: "Shipping" }), _jsx("span", { className: "text-foreground", children: formatCurrency(order.shipping) })] })), _jsx("div", { className: "border-t border-border pt-2", children: _jsxs("div", { className: "flex justify-between font-medium", children: [_jsx("span", { className: "text-foreground", children: "Total" }), _jsx("span", { className: "text-foreground", children: formatCurrency(order.total) })] }) })] })] }), _jsxs("div", { className: "rounded-lg border border-border bg-card p-6", children: [_jsx("h2", { className: "mb-4 font-medium text-foreground", children: "Customer" }), _jsxs("div", { className: "space-y-2 text-sm", children: [_jsx("p", { className: "text-foreground", children: order.email }), order.customerId && (_jsx("a", { href: `/admin/customers/${order.customerId}`, className: "text-primary hover:underline", children: "View customer profile" }))] })] }), order.shippingAddress && (_jsxs("div", { className: "rounded-lg border border-border bg-card p-6", children: [_jsx("h2", { className: "mb-4 font-medium text-foreground", children: "Shipping Address" }), _jsxs("div", { className: "space-y-1 text-sm text-muted-foreground", children: [_jsx("p", { children: order.shippingAddress.name }), _jsx("p", { children: order.shippingAddress.line1 }), order.shippingAddress.line2 && _jsx("p", { children: order.shippingAddress.line2 }), _jsxs("p", { children: [order.shippingAddress.city, ", ", order.shippingAddress.state, " ", order.shippingAddress.postalCode] }), _jsx("p", { children: order.shippingAddress.country })] })] })), order.stripePaymentIntentId && (_jsxs("div", { className: "rounded-lg border border-border bg-card p-6", children: [_jsx("h2", { className: "mb-4 font-medium text-foreground", children: "Payment" }), _jsx("div", { className: "space-y-2 text-sm", children: _jsxs("p", { className: "text-muted-foreground", children: ["Payment Intent: ", order.stripePaymentIntentId.slice(-8)] }) })] }))] })] })] }));
93
90
  }
94
91
  //# sourceMappingURL=OrderDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderDetails.js","sourceRoot":"","sources":["../../../src/admin/components/OrderDetails.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderDetails.js","sourceRoot":"","sources":["../../../src/admin/components/OrderDetails.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAKxD,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,SAAS,WAAW,CAAC,EAAE,MAAM,EAAsB;IACjD,MAAM,YAAY,GAA2B;QAC3C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,6BAA6B;QACxC,SAAS,EAAE,yBAAyB;QACpC,QAAQ,EAAE,2BAA2B;KACtC,CAAA;IAED,OAAO,CACL,eACE,SAAS,EAAE,0DACT,YAAY,CAAC,MAAM,CAAC,IAAI,2BAC1B,EAAE,YAED,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAC5C,CACR,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,GAAG,EAAE,GACI;IAClB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAA;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACd,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEvB,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,EAAE,SAAsB,EAAE,EAAE;QACtE,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAA;IAEzB,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE;QACxC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACtD,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACtE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,eAAK,SAAS,EAAE,aAAa,SAAS,EAAE,aACtC,cAAK,SAAS,EAAC,yCAAyC,GAAG,EAC3D,cAAK,SAAS,EAAC,6CAA6C,YAC1D,cAAK,SAAS,EAAC,WAAW,YACvB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,cAAa,SAAS,EAAC,2CAA2C,IAAxD,CAAC,CAA0D,CACtE,CAAC,GACE,GACF,IACF,CACP,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,eAAK,SAAS,EAAE,4DAA4D,SAAS,EAAE,aACrF,YAAG,SAAS,EAAC,uBAAuB,gCAAoB,EACvD,MAAM,IAAI,CACT,iBACE,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,2CAA2C,wBAG9C,CACV,IACG,CACP,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAA;IACvG,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAA;IAEnF,OAAO,CACL,eAAK,SAAS,EAAE,aAAa,SAAS,EAAE,aAEtC,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,yBAAyB,aACrC,MAAM,IAAI,CACT,iBACE,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,qDAAqD,YAE/D,cAAK,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,YAC5E,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAC,iBAAiB,GAAG,GACrF,GACC,CACV,EACD,0BACE,cAAI,SAAS,EAAC,wCAAwC,wBAC5C,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IACrC,EACL,aAAG,SAAS,EAAC,+BAA+B,2BAC/B,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IACpC,IACA,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,WAAW,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,EACpC,SAAS,IAAI,QAAQ,IAAI,CACxB,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EACjC,SAAS,EAAC,mGAAmG,uBAGtG,CACV,IACG,IACF,EAEN,eAAK,SAAS,EAAC,2BAA2B,aAExC,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,yCAAyC,aACtD,cAAK,SAAS,EAAC,kCAAkC,YAC/C,aAAI,SAAS,EAAC,6BAA6B,4BAAiB,GACxD,EACN,cAAK,SAAS,EAAC,wBAAwB,YACpC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,eAAiB,SAAS,EAAC,mCAAmC,aAC5D,cAAK,SAAS,EAAC,mFAAmF,YAChG,cAAK,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,YAC5E,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAC,iEAAiE,GAAG,GACvI,GACF,EACN,eAAK,SAAS,EAAC,QAAQ,aACrB,YAAG,SAAS,EAAC,6BAA6B,YAAE,IAAI,CAAC,IAAI,GAAK,EACzD,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7D,YAAG,SAAS,EAAC,+BAA+B,YACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GACvE,CACL,IACG,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,YAAG,SAAS,EAAC,6BAA6B,YAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAK,EAC3E,aAAG,SAAS,EAAC,+BAA+B,sBAAO,IAAI,CAAC,QAAQ,IAAK,IACjE,KAjBE,KAAK,CAkBT,CACP,CAAC,GACE,IACF,EAGL,eAAe,IAAI,CAClB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,aAAI,SAAS,EAAC,kCAAkC,8BAAmB,EACnE,cAAK,SAAS,EAAC,sBAAsB,YACjC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtF,iBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACpC,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAC1C,SAAS,EAAE,gEACT,KAAK,CAAC,MAAM,KAAK,CAAC;gDAChB,CAAC,CAAC,oCAAoC;gDACtC,CAAC,CAAC,sCACN,sBAAsB,YAErB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IATlC,CAAC,CAUC,CACV,CAAC,GACE,IACF,CACP,IACG,EAGN,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,aAAI,SAAS,EAAC,kCAAkC,8BAAmB,EACnE,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,uBAAuB,yBAAgB,EACvD,eAAM,SAAS,EAAC,iBAAiB,YAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAQ,IACrE,EACL,KAAK,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CACzC,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,uBAAuB,oBAAW,EAClD,eAAM,SAAS,EAAC,iBAAiB,YAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,IAChE,CACP,EACA,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACnD,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,uBAAuB,yBAAgB,EACvD,eAAM,SAAS,EAAC,iBAAiB,YAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAQ,IACrE,CACP,EACD,cAAK,SAAS,EAAC,6BAA6B,YAC1C,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eAAM,SAAS,EAAC,iBAAiB,sBAAa,EAC9C,eAAM,SAAS,EAAC,iBAAiB,YAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAQ,IAClE,GACF,IACF,IACF,EAGN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,aAAI,SAAS,EAAC,kCAAkC,yBAAc,EAC9D,eAAK,SAAS,EAAC,mBAAmB,aAChC,YAAG,SAAS,EAAC,iBAAiB,YAAE,KAAK,CAAC,KAAK,GAAK,EAC/C,KAAK,CAAC,UAAU,IAAI,CACnB,YACE,IAAI,EAAE,oBAAoB,KAAK,CAAC,UAAU,EAAE,EAC5C,SAAS,EAAC,8BAA8B,sCAGtC,CACL,IACG,IACF,EAGL,KAAK,CAAC,eAAe,IAAI,CACxB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,aAAI,SAAS,EAAC,kCAAkC,iCAAsB,EACtE,eAAK,SAAS,EAAC,yCAAyC,aACtD,sBAAI,KAAK,CAAC,eAAe,CAAC,IAAI,GAAK,EACnC,sBAAI,KAAK,CAAC,eAAe,CAAC,KAAK,GAAK,EACnC,KAAK,CAAC,eAAe,CAAC,KAAK,IAAI,sBAAI,KAAK,CAAC,eAAe,CAAC,KAAK,GAAK,EACpE,wBACG,KAAK,CAAC,eAAe,CAAC,IAAI,QAAI,KAAK,CAAC,eAAe,CAAC,KAAK,OAAG,KAAK,CAAC,eAAe,CAAC,UAAU,IAC3F,EACJ,sBAAI,KAAK,CAAC,eAAe,CAAC,OAAO,GAAK,IAClC,IACF,CACP,EAGA,KAAK,CAAC,qBAAqB,IAAI,CAC9B,eAAK,SAAS,EAAC,6CAA6C,aAC1D,aAAI,SAAS,EAAC,kCAAkC,wBAAa,EAC7D,cAAK,SAAS,EAAC,mBAAmB,YAChC,aAAG,SAAS,EAAC,uBAAuB,iCACjB,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IACpD,GACA,IACF,CACP,IACG,IACF,IACF,CACP,CAAA;AACH,CAAC"}