@rovela-ai/sdk 0.1.29 → 0.1.31

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 (154) hide show
  1. package/dist/admin/components/AdminGuard.d.ts.map +1 -1
  2. package/dist/admin/components/AdminGuard.js +2 -1
  3. package/dist/admin/components/AdminGuard.js.map +1 -1
  4. package/dist/admin/components/AdminHeader.d.ts.map +1 -1
  5. package/dist/admin/components/AdminHeader.js +16 -1
  6. package/dist/admin/components/AdminHeader.js.map +1 -1
  7. package/dist/admin/components/AdminLayout.d.ts +2 -0
  8. package/dist/admin/components/AdminLayout.d.ts.map +1 -1
  9. package/dist/admin/components/AdminLayout.js +4 -1
  10. package/dist/admin/components/AdminLayout.js.map +1 -1
  11. package/dist/admin/components/AdminLoginForm.d.ts.map +1 -1
  12. package/dist/admin/components/AdminLoginForm.js +23 -1
  13. package/dist/admin/components/AdminLoginForm.js.map +1 -1
  14. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  15. package/dist/admin/components/AdminNav.js +32 -47
  16. package/dist/admin/components/AdminNav.js.map +1 -1
  17. package/dist/admin/components/AdminSetupForm.d.ts.map +1 -1
  18. package/dist/admin/components/AdminSetupForm.js +31 -1
  19. package/dist/admin/components/AdminSetupForm.js.map +1 -1
  20. package/dist/admin/components/CategoryForm.d.ts.map +1 -1
  21. package/dist/admin/components/CategoryForm.js +45 -3
  22. package/dist/admin/components/CategoryForm.js.map +1 -1
  23. package/dist/admin/components/CategorySelect.d.ts.map +1 -1
  24. package/dist/admin/components/CategorySelect.js +21 -14
  25. package/dist/admin/components/CategorySelect.js.map +1 -1
  26. package/dist/admin/components/CustomerTable.d.ts.map +1 -1
  27. package/dist/admin/components/CustomerTable.js +46 -7
  28. package/dist/admin/components/CustomerTable.js.map +1 -1
  29. package/dist/admin/components/DeleteConfirmDialog.d.ts +0 -6
  30. package/dist/admin/components/DeleteConfirmDialog.d.ts.map +1 -1
  31. package/dist/admin/components/DeleteConfirmDialog.js +32 -1
  32. package/dist/admin/components/DeleteConfirmDialog.js.map +1 -1
  33. package/dist/admin/components/InventoryEditor.d.ts.map +1 -1
  34. package/dist/admin/components/InventoryEditor.js +42 -8
  35. package/dist/admin/components/InventoryEditor.js.map +1 -1
  36. package/dist/admin/components/LowStockAlert.d.ts +1 -1
  37. package/dist/admin/components/LowStockAlert.d.ts.map +1 -1
  38. package/dist/admin/components/LowStockAlert.js +25 -15
  39. package/dist/admin/components/LowStockAlert.js.map +1 -1
  40. package/dist/admin/components/OrderDetails.d.ts.map +1 -1
  41. package/dist/admin/components/OrderDetails.js +2 -1
  42. package/dist/admin/components/OrderDetails.js.map +1 -1
  43. package/dist/admin/components/OrderStatusChart.d.ts +1 -1
  44. package/dist/admin/components/OrderStatusChart.d.ts.map +1 -1
  45. package/dist/admin/components/OrderStatusChart.js +24 -14
  46. package/dist/admin/components/OrderStatusChart.js.map +1 -1
  47. package/dist/admin/components/OrderTable.d.ts.map +1 -1
  48. package/dist/admin/components/OrderTable.js +53 -9
  49. package/dist/admin/components/OrderTable.js.map +1 -1
  50. package/dist/admin/components/ProductForm.d.ts.map +1 -1
  51. package/dist/admin/components/ProductForm.js +97 -5
  52. package/dist/admin/components/ProductForm.js.map +1 -1
  53. package/dist/admin/components/ProductTable.d.ts.map +1 -1
  54. package/dist/admin/components/ProductTable.js +59 -13
  55. package/dist/admin/components/ProductTable.js.map +1 -1
  56. package/dist/admin/components/RecentOrders.d.ts +1 -1
  57. package/dist/admin/components/RecentOrders.d.ts.map +1 -1
  58. package/dist/admin/components/RecentOrders.js +24 -12
  59. package/dist/admin/components/RecentOrders.js.map +1 -1
  60. package/dist/admin/components/RefundDialog.d.ts.map +1 -1
  61. package/dist/admin/components/RefundDialog.js +29 -1
  62. package/dist/admin/components/RefundDialog.js.map +1 -1
  63. package/dist/admin/components/RevenueChart.d.ts +1 -1
  64. package/dist/admin/components/RevenueChart.d.ts.map +1 -1
  65. package/dist/admin/components/RevenueChart.js +15 -5
  66. package/dist/admin/components/RevenueChart.js.map +1 -1
  67. package/dist/admin/components/SEOPreview.d.ts +1 -0
  68. package/dist/admin/components/SEOPreview.d.ts.map +1 -1
  69. package/dist/admin/components/SEOPreview.js +4 -1
  70. package/dist/admin/components/SEOPreview.js.map +1 -1
  71. package/dist/admin/components/StatsCards.d.ts +1 -6
  72. package/dist/admin/components/StatsCards.d.ts.map +1 -1
  73. package/dist/admin/components/StatsCards.js +28 -20
  74. package/dist/admin/components/StatsCards.js.map +1 -1
  75. package/dist/admin/components/TagInput.d.ts.map +1 -1
  76. package/dist/admin/components/TagInput.js +10 -7
  77. package/dist/admin/components/TagInput.js.map +1 -1
  78. package/dist/admin/components/VariantManager.d.ts.map +1 -1
  79. package/dist/admin/components/VariantManager.js +56 -4
  80. package/dist/admin/components/VariantManager.js.map +1 -1
  81. package/dist/admin/styles/admin-theme.css +1308 -0
  82. package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -1
  83. package/dist/auth/components/ForgotPasswordForm.js +2 -1
  84. package/dist/auth/components/ForgotPasswordForm.js.map +1 -1
  85. package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -1
  86. package/dist/auth/components/ResetPasswordForm.js +3 -2
  87. package/dist/auth/components/ResetPasswordForm.js.map +1 -1
  88. package/dist/auth/components/SignUpForm.d.ts.map +1 -1
  89. package/dist/auth/components/SignUpForm.js +2 -1
  90. package/dist/auth/components/SignUpForm.js.map +1 -1
  91. package/dist/auth/components/UserMenu.d.ts.map +1 -1
  92. package/dist/auth/components/UserMenu.js +3 -2
  93. package/dist/auth/components/UserMenu.js.map +1 -1
  94. package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -1
  95. package/dist/auth/components/VerifyEmailNotice.js +2 -1
  96. package/dist/auth/components/VerifyEmailNotice.js.map +1 -1
  97. package/dist/cart/components/AddToCartButton.d.ts.map +1 -1
  98. package/dist/cart/components/AddToCartButton.js +3 -2
  99. package/dist/cart/components/AddToCartButton.js.map +1 -1
  100. package/dist/cart/components/CartDrawer.d.ts.map +1 -1
  101. package/dist/cart/components/CartDrawer.js +2 -1
  102. package/dist/cart/components/CartDrawer.js.map +1 -1
  103. package/dist/cart/components/CartIcon.d.ts.map +1 -1
  104. package/dist/cart/components/CartIcon.js +2 -1
  105. package/dist/cart/components/CartIcon.js.map +1 -1
  106. package/dist/cart/components/CartItem.d.ts.map +1 -1
  107. package/dist/cart/components/CartItem.js +2 -1
  108. package/dist/cart/components/CartItem.js.map +1 -1
  109. package/dist/cart/components/QuantitySelector.d.ts.map +1 -1
  110. package/dist/cart/components/QuantitySelector.js +2 -1
  111. package/dist/cart/components/QuantitySelector.js.map +1 -1
  112. package/dist/checkout/components/CheckoutButton.d.ts.map +1 -1
  113. package/dist/checkout/components/CheckoutButton.js +2 -7
  114. package/dist/checkout/components/CheckoutButton.js.map +1 -1
  115. package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -1
  116. package/dist/checkout/components/CheckoutSuccess.js +2 -13
  117. package/dist/checkout/components/CheckoutSuccess.js.map +1 -1
  118. package/dist/media/components/DropZone.d.ts.map +1 -1
  119. package/dist/media/components/DropZone.js +2 -7
  120. package/dist/media/components/DropZone.js.map +1 -1
  121. package/dist/media/components/ImageGalleryUpload.d.ts.map +1 -1
  122. package/dist/media/components/ImageGalleryUpload.js +2 -22
  123. package/dist/media/components/ImageGalleryUpload.js.map +1 -1
  124. package/dist/media/components/ImageUpload.d.ts.map +1 -1
  125. package/dist/media/components/ImageUpload.js +2 -16
  126. package/dist/media/components/ImageUpload.js.map +1 -1
  127. package/dist/products/components/CategoryNav.d.ts.map +1 -1
  128. package/dist/products/components/CategoryNav.js +3 -2
  129. package/dist/products/components/CategoryNav.js.map +1 -1
  130. package/dist/products/components/ProductBreadcrumb.d.ts.map +1 -1
  131. package/dist/products/components/ProductBreadcrumb.js +2 -1
  132. package/dist/products/components/ProductBreadcrumb.js.map +1 -1
  133. package/dist/products/components/ProductCard.d.ts.map +1 -1
  134. package/dist/products/components/ProductCard.js +2 -1
  135. package/dist/products/components/ProductCard.js.map +1 -1
  136. package/dist/products/components/ProductDetails.d.ts.map +1 -1
  137. package/dist/products/components/ProductDetails.js +3 -2
  138. package/dist/products/components/ProductDetails.js.map +1 -1
  139. package/dist/products/components/ProductFilters.d.ts.map +1 -1
  140. package/dist/products/components/ProductFilters.js +2 -1
  141. package/dist/products/components/ProductFilters.js.map +1 -1
  142. package/dist/products/components/ProductGallery.d.ts.map +1 -1
  143. package/dist/products/components/ProductGallery.js +4 -3
  144. package/dist/products/components/ProductGallery.js.map +1 -1
  145. package/dist/products/components/ProductGrid.d.ts.map +1 -1
  146. package/dist/products/components/ProductGrid.js +2 -1
  147. package/dist/products/components/ProductGrid.js.map +1 -1
  148. package/dist/products/components/ProductSearch.d.ts.map +1 -1
  149. package/dist/products/components/ProductSearch.js +2 -1
  150. package/dist/products/components/ProductSearch.js.map +1 -1
  151. package/dist/products/components/ProductSort.d.ts.map +1 -1
  152. package/dist/products/components/ProductSort.js +2 -1
  153. package/dist/products/components/ProductSort.js.map +1 -1
  154. package/package.json +6 -2
@@ -3,30 +3,35 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * @rovela/sdk/admin/components/RecentOrders
5
5
  *
6
- * Recent orders table for dashboard with theme-aware styling.
6
+ * Recent orders table for dashboard with Rovela admin theme styling.
7
7
  */
8
+ import { useState } from 'react';
9
+ import { ChevronRight, ShoppingBag } from 'lucide-react';
8
10
  import { useAdminStats } from '../hooks/useAdminStats';
9
11
  import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
10
12
  // =============================================================================
11
- // Status Badge
13
+ // Status Badge - Rovela Admin Theme
12
14
  // =============================================================================
13
15
  function StatusBadge({ status }) {
14
- // Theme-aware status styles using CSS variables
15
16
  const statusStyles = {
16
- pending: 'bg-amber-500/10 text-amber-600 dark:text-amber-400',
17
- paid: 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400',
18
- shipped: 'bg-blue-500/10 text-blue-600 dark:text-blue-400',
19
- delivered: 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400',
20
- cancelled: 'bg-red-500/10 text-red-600 dark:text-red-400',
21
- refunded: 'bg-muted text-muted-foreground',
17
+ pending: { bg: 'hsl(var(--admin-warning) / 0.1)', color: 'hsl(var(--admin-warning))' },
18
+ paid: { bg: 'hsl(var(--admin-success) / 0.1)', color: 'hsl(var(--admin-success))' },
19
+ shipped: { bg: 'hsl(var(--admin-info) / 0.1)', color: 'hsl(var(--admin-info))' },
20
+ delivered: { bg: 'hsl(var(--admin-primary) / 0.1)', color: 'hsl(var(--admin-primary))' },
21
+ cancelled: { bg: 'hsl(var(--admin-destructive) / 0.1)', color: 'hsl(var(--admin-destructive))' },
22
+ refunded: { bg: 'hsl(var(--admin-background-subtle))', color: 'hsl(var(--admin-foreground-muted))' },
22
23
  };
23
- return (_jsx("span", { className: `inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ${statusStyles[status] || 'bg-muted text-muted-foreground'}`, children: status.charAt(0).toUpperCase() + status.slice(1) }));
24
+ const style = statusStyles[status] || statusStyles.refunded;
25
+ return (_jsx("span", { className: "admin-badge", style: {
26
+ background: style.bg,
27
+ color: style.color,
28
+ }, children: status.charAt(0).toUpperCase() + status.slice(1) }));
24
29
  }
25
30
  // =============================================================================
26
31
  // Component
27
32
  // =============================================================================
28
33
  /**
29
- * Recent orders widget for dashboard with elegant styling.
34
+ * Recent orders widget for dashboard with Rovela admin styling.
30
35
  *
31
36
  * @example
32
37
  * ```tsx
@@ -37,6 +42,7 @@ export function RecentOrders({ limit = 5, viewAllHref = '/admin/orders', classNa
37
42
  const { recentOrders, isLoading } = useAdminStats({
38
43
  recentOrdersLimit: limit,
39
44
  });
45
+ const [hoveredRow, setHoveredRow] = useState(null);
40
46
  // Get currency from context
41
47
  const storeSettings = useStoreSettingsOptional();
42
48
  const resolvedCurrency = storeSettings?.currency ?? 'USD';
@@ -56,6 +62,12 @@ export function RecentOrders({ limit = 5, viewAllHref = '/admin/orders', classNa
56
62
  currency: resolvedCurrency,
57
63
  }).format(parseFloat(value));
58
64
  };
59
- return (_jsxs("div", { className: `rounded-xl 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", { children: [_jsx("h3", { className: "text-lg font-semibold text-foreground", children: "Recent Orders" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Latest customer orders" })] }), _jsxs("a", { href: viewAllHref, className: "inline-flex items-center gap-1 text-sm font-medium text-primary transition-colors hover:text-primary/80", children: ["View all", _jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })] })] }), _jsx("div", { className: "overflow-x-auto", children: isLoading ? (_jsx("div", { className: "p-6", children: _jsx("div", { className: "space-y-4", children: [...Array(limit)].map((_, i) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "h-4 w-24 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-4 w-32 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-4 w-16 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-4 w-20 animate-pulse rounded bg-muted" })] }, i))) }) })) : recentOrders.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx("svg", { className: "h-12 w-12 text-muted-foreground/30", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" }) }), _jsx("p", { className: "mt-4 text-sm text-muted-foreground", children: "No orders yet" }), _jsx("p", { className: "text-xs text-muted-foreground/70", children: "Orders will appear here as they come in" })] })) : (_jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border text-left text-xs font-medium uppercase tracking-wider text-muted-foreground", children: [_jsx("th", { className: "px-6 py-3", children: "Order" }), _jsx("th", { className: "px-6 py-3", children: "Customer" }), _jsx("th", { className: "px-6 py-3", children: "Status" }), _jsx("th", { className: "px-6 py-3 text-right", children: "Total" }), _jsx("th", { className: "px-6 py-3 text-right", children: "Date" })] }) }), _jsx("tbody", { className: "divide-y divide-border", children: recentOrders.map((order) => (_jsxs("tr", { className: "group transition-colors hover:bg-muted/50", children: [_jsx("td", { className: "whitespace-nowrap px-6 py-4", children: _jsxs("a", { href: `/admin/orders/${order.id}`, className: "font-medium text-primary transition-colors hover:text-primary/80", children: ["#", order.id.slice(-8).toUpperCase()] }) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-sm text-foreground", children: order.email }), _jsx("td", { className: "whitespace-nowrap px-6 py-4", children: _jsx(StatusBadge, { status: order.status }) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right text-sm font-medium text-foreground", children: formatCurrency(order.total) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right text-sm text-muted-foreground", children: formatDate(order.createdAt) })] }, order.id))) })] })) })] }));
65
+ return (_jsxs("div", { className: `admin-card ${className}`, style: {
66
+ background: 'hsl(var(--admin-card))',
67
+ borderColor: 'hsl(var(--admin-border))',
68
+ }, children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4", style: { borderBottom: '1px solid hsl(var(--admin-border))' }, children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold", style: { color: 'hsl(var(--admin-foreground))' }, children: "Recent Orders" }), _jsx("p", { className: "text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Latest customer orders" })] }), _jsxs("a", { href: viewAllHref, className: "inline-flex items-center gap-1 text-sm font-medium transition-colors", style: { color: 'hsl(var(--admin-primary))' }, children: ["View all", _jsx(ChevronRight, { className: "h-4 w-4" })] })] }), _jsx("div", { className: "overflow-x-auto", children: isLoading ? (_jsx("div", { className: "p-6", children: _jsx("div", { className: "space-y-4", children: [...Array(limit)].map((_, i) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "h-4 w-24 animate-pulse rounded", style: { background: 'hsl(var(--admin-background-subtle))' } }), _jsx("div", { className: "h-4 w-32 animate-pulse rounded", style: { background: 'hsl(var(--admin-background-subtle))' } }), _jsx("div", { className: "h-4 w-16 animate-pulse rounded", style: { background: 'hsl(var(--admin-background-subtle))' } }), _jsx("div", { className: "h-4 w-20 animate-pulse rounded", style: { background: 'hsl(var(--admin-background-subtle))' } })] }, i))) }) })) : recentOrders.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx(ShoppingBag, { className: "h-12 w-12", style: { color: 'hsl(var(--admin-foreground-muted) / 0.3)' }, strokeWidth: 1 }), _jsx("p", { className: "mt-4 text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "No orders yet" }), _jsx("p", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted) / 0.7)' }, children: "Orders will appear here as they come in" })] })) : (_jsxs("table", { className: "admin-table w-full", children: [_jsx("thead", { children: _jsxs("tr", { style: { borderBottom: '1px solid hsl(var(--admin-border))' }, children: [_jsx("th", { className: "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Order" }), _jsx("th", { className: "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Customer" }), _jsx("th", { className: "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Status" }), _jsx("th", { className: "px-6 py-3 text-right text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Total" }), _jsx("th", { className: "px-6 py-3 text-right text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Date" })] }) }), _jsx("tbody", { children: recentOrders.map((order) => (_jsxs("tr", { className: "transition-colors", style: {
69
+ borderBottom: '1px solid hsl(var(--admin-border))',
70
+ background: hoveredRow === order.id ? 'hsl(var(--admin-background-subtle))' : 'transparent',
71
+ }, onMouseEnter: () => setHoveredRow(order.id), onMouseLeave: () => setHoveredRow(null), children: [_jsx("td", { className: "whitespace-nowrap px-6 py-4", children: _jsxs("a", { href: `/admin/orders/${order.id}`, className: "font-medium transition-colors", style: { color: 'hsl(var(--admin-primary))' }, children: ["#", order.id.slice(-8).toUpperCase()] }) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-sm", style: { color: 'hsl(var(--admin-foreground))' }, children: order.email }), _jsx("td", { className: "whitespace-nowrap px-6 py-4", children: _jsx(StatusBadge, { status: order.status }) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right text-sm font-medium", style: { color: 'hsl(var(--admin-foreground))' }, children: formatCurrency(order.total) }), _jsx("td", { className: "whitespace-nowrap px-6 py-4 text-right text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: formatDate(order.createdAt) })] }, order.id))) })] })) })] }));
60
72
  }
61
73
  //# sourceMappingURL=RecentOrders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecentOrders.js","sourceRoot":"","sources":["../../../src/admin/components/RecentOrders.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecentOrders.js","sourceRoot":"","sources":["../../../src/admin/components/RecentOrders.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RefundDialog.d.ts","sourceRoot":"","sources":["../../../src/admin/components/RefundDialog.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EACN,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,kDAwKnB"}
1
+ {"version":3,"file":"RefundDialog.d.ts","sourceRoot":"","sources":["../../../src/admin/components/RefundDialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EACN,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,kDAsOnB"}
@@ -4,8 +4,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  * @rovela/sdk/admin/components/RefundDialog
5
5
  *
6
6
  * Refund dialog with reason and confirmation.
7
+ * Styled with Rovela admin theme.
7
8
  */
8
9
  import { useState, useCallback, useEffect } from 'react';
10
+ import { AlertTriangle, X } from 'lucide-react';
9
11
  import { useAdminOrders } from '../hooks/useAdminOrders';
10
12
  import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
11
13
  // =============================================================================
@@ -83,6 +85,32 @@ export function RefundDialog({ orderId, orderTotal, isOpen, onClose, onSuccess,
83
85
  style: 'currency',
84
86
  currency: resolvedCurrency,
85
87
  }).format(total);
86
- return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [_jsx("div", { className: "absolute inset-0 bg-black/50", onClick: () => !isProcessing && onClose() }), _jsxs("div", { className: "relative w-full max-w-md rounded-lg border border-border bg-card p-6 shadow-lg", children: [_jsx("div", { className: "mb-6", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10", children: _jsx("svg", { className: "h-5 w-5 text-destructive", 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" }) }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Process Refund" }), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["Order #", orderId.slice(-8).toUpperCase()] })] })] }) }), _jsxs("form", { onSubmit: handleSubmit, children: [error && (_jsx("div", { className: "mb-4 rounded-md bg-destructive/10 px-4 py-3 text-sm text-destructive", children: error })), _jsxs("div", { className: "mb-6 rounded-md bg-muted/50 p-4", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Refund Amount" }), _jsx("p", { className: "text-2xl font-semibold text-foreground", children: formattedTotal }), _jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: "Full refund will be processed via Stripe" })] }), _jsxs("div", { className: "mb-6", children: [_jsx("label", { htmlFor: "reason", className: "mb-2 block text-sm font-medium text-foreground", children: "Reason for refund *" }), _jsx("textarea", { id: "reason", value: reason, onChange: (e) => setReason(e.target.value), placeholder: "Enter the reason for this refund...", rows: 3, required: true, disabled: isProcessing, className: "w-full rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary disabled:opacity-50" })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: onClose, disabled: isProcessing, className: "flex-1 rounded-md border border-border px-4 py-2 text-sm font-medium text-foreground hover:bg-accent disabled:opacity-50", children: "Cancel" }), _jsx("button", { type: "submit", disabled: isProcessing || !reason.trim(), className: "flex-1 rounded-md bg-destructive px-4 py-2 text-sm font-medium text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50", children: isProcessing ? 'Processing...' : 'Process Refund' })] })] }), _jsx("button", { onClick: onClose, disabled: isProcessing, className: "absolute right-4 top-4 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-50", children: _jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] })] }));
88
+ return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [_jsx("div", { className: "absolute inset-0", style: { background: 'rgb(0 0 0 / 0.5)', backdropFilter: 'blur(4px)' }, onClick: () => !isProcessing && onClose() }), _jsxs("div", { className: "relative w-full max-w-md mx-4", style: {
89
+ background: 'hsl(var(--admin-card))',
90
+ borderRadius: '1rem',
91
+ boxShadow: '0 25px 50px -12px rgb(0 0 0 / 0.15)',
92
+ }, children: [_jsxs("div", { className: "flex items-start gap-4 p-6", style: { borderBottom: '1px solid hsl(var(--admin-border))' }, children: [_jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-full flex-shrink-0", style: {
93
+ background: 'hsl(var(--admin-warning) / 0.1)',
94
+ color: 'hsl(var(--admin-warning))',
95
+ }, children: _jsx(AlertTriangle, { className: "h-5 w-5" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h2", { className: "text-lg font-semibold", style: { color: 'hsl(var(--admin-foreground))' }, children: "Process Refund" }), _jsxs("p", { className: "text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: ["Order #", orderId.slice(-8).toUpperCase()] })] }), _jsx("button", { onClick: onClose, disabled: isProcessing, className: "rounded-md p-1.5 transition-colors disabled:opacity-50", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: _jsx(X, { className: "h-5 w-5" }) })] }), _jsxs("form", { onSubmit: handleSubmit, children: [_jsxs("div", { className: "p-6 space-y-6", children: [error && (_jsx("div", { className: "rounded-lg px-4 py-3 text-sm", style: {
96
+ background: 'hsl(var(--admin-error) / 0.1)',
97
+ color: 'hsl(var(--admin-error))',
98
+ }, children: error })), _jsxs("div", { className: "rounded-lg p-4", style: { background: 'hsl(var(--admin-background-subtle))' }, children: [_jsx("p", { className: "text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Refund Amount" }), _jsx("p", { className: "text-2xl font-semibold mt-1", style: { color: 'hsl(var(--admin-foreground))' }, children: formattedTotal }), _jsx("p", { className: "mt-1 text-xs", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Full refund will be processed via Stripe" })] }), _jsxs("div", { children: [_jsxs("label", { htmlFor: "reason", className: "mb-2 block text-sm font-medium", style: { color: 'hsl(var(--admin-foreground))' }, children: ["Reason for refund ", _jsx("span", { style: { color: 'hsl(var(--admin-error))' }, children: "*" })] }), _jsx("textarea", { id: "reason", value: reason, onChange: (e) => setReason(e.target.value), placeholder: "Enter the reason for this refund...", rows: 3, required: true, disabled: isProcessing, className: "admin-input admin-textarea w-full resize-none", style: {
99
+ background: 'hsl(var(--admin-card))',
100
+ borderColor: 'hsl(var(--admin-border))',
101
+ color: 'hsl(var(--admin-foreground))',
102
+ minHeight: '5rem',
103
+ padding: '0.75rem',
104
+ } })] })] }), _jsxs("div", { className: "flex items-center gap-3 px-6 py-4", style: {
105
+ borderTop: '1px solid hsl(var(--admin-border))',
106
+ background: 'hsl(var(--admin-background-subtle) / 0.5)',
107
+ }, children: [_jsx("button", { type: "button", onClick: onClose, disabled: isProcessing, className: "admin-btn admin-btn-secondary flex-1 rounded-md px-4 py-2 text-sm font-medium disabled:opacity-50", style: {
108
+ background: 'hsl(var(--admin-card))',
109
+ borderColor: 'hsl(var(--admin-border))',
110
+ color: 'hsl(var(--admin-foreground))',
111
+ }, children: "Cancel" }), _jsx("button", { type: "submit", disabled: isProcessing || !reason.trim(), className: "admin-btn admin-btn-destructive flex-1 rounded-md px-4 py-2 text-sm font-medium disabled:opacity-50", style: {
112
+ background: 'hsl(var(--admin-error))',
113
+ color: 'white',
114
+ }, children: isProcessing ? 'Processing...' : 'Process Refund' })] })] })] })] }));
87
115
  }
88
116
  //# sourceMappingURL=RefundDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefundDialog.js","sourceRoot":"","sources":["../../../src/admin/components/RefundDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefundDialog.js","sourceRoot":"","sources":["../../../src/admin/components/RefundDialog.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface RevenueChartProps {
12
12
  className?: string;
13
13
  }
14
14
  /**
15
- * Revenue chart showing last 30 days of revenue data.
15
+ * Revenue chart showing last 30 days of revenue data with Rovela admin styling.
16
16
  *
17
17
  * @example
18
18
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"RevenueChart.d.ts","sourceRoot":"","sources":["../../../src/admin/components/RevenueChart.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+CD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,SAAiB,EACjB,QAAgB,EAChB,SAAc,GACf,EAAE,iBAAiB,2CAiHnB"}
1
+ {"version":3,"file":"RevenueChart.d.ts","sourceRoot":"","sources":["../../../src/admin/components/RevenueChart.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0DD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,SAAiB,EACjB,QAAgB,EAChB,SAAc,GACf,EAAE,iBAAiB,2CAyInB"}
@@ -3,8 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * @rovela/sdk/admin/components/RevenueChart
5
5
  *
6
- * 30-day revenue line chart for dashboard.
6
+ * 30-day revenue line chart for dashboard with Rovela admin theme.
7
7
  */
8
+ import { BarChart3 } from 'lucide-react';
8
9
  import { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis, } from 'recharts';
9
10
  function CustomTooltip({ active, payload, label, currency }) {
10
11
  if (!active || !payload || !payload.length)
@@ -24,13 +25,19 @@ function CustomTooltip({ active, payload, label, currency }) {
24
25
  day: 'numeric',
25
26
  });
26
27
  };
27
- return (_jsxs("div", { className: "rounded-lg border border-border bg-card px-3 py-2 shadow-lg", children: [_jsx("p", { className: "text-xs text-muted-foreground", children: label ? formatDate(label) : '' }), _jsx("p", { className: "text-sm font-semibold text-foreground", children: formatCurrency(payload[0].value) })] }));
28
+ return (_jsxs("div", { className: "rounded-lg px-3 py-2", style: {
29
+ background: 'hsl(var(--admin-card))',
30
+ borderColor: 'hsl(var(--admin-border))',
31
+ borderWidth: '1px',
32
+ borderStyle: 'solid',
33
+ boxShadow: 'var(--admin-shadow-lg)',
34
+ }, children: [_jsx("p", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: label ? formatDate(label) : '' }), _jsx("p", { className: "text-sm font-semibold", style: { color: 'hsl(var(--admin-foreground))' }, children: formatCurrency(payload[0].value) })] }));
28
35
  }
29
36
  // =============================================================================
30
37
  // Component
31
38
  // =============================================================================
32
39
  /**
33
- * Revenue chart showing last 30 days of revenue data.
40
+ * Revenue chart showing last 30 days of revenue data with Rovela admin styling.
34
41
  *
35
42
  * @example
36
43
  * ```tsx
@@ -60,11 +67,14 @@ export function RevenueChart({ data, isLoading = false, currency = 'USD', classN
60
67
  }
61
68
  return '';
62
69
  };
63
- return (_jsxs("div", { className: `rounded-xl 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", { children: [_jsx("h3", { className: "text-lg font-semibold text-foreground", children: "Revenue" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Last 30 days" })] }), !isLoading && (_jsxs("div", { className: "text-right", children: [_jsx("p", { className: "text-2xl font-bold text-foreground", children: new Intl.NumberFormat('en-US', {
70
+ return (_jsxs("div", { className: `admin-card ${className}`, style: {
71
+ background: 'hsl(var(--admin-card))',
72
+ borderColor: 'hsl(var(--admin-border))',
73
+ }, children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4", style: { borderBottom: '1px solid hsl(var(--admin-border))' }, children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold", style: { color: 'hsl(var(--admin-foreground))' }, children: "Revenue" }), _jsx("p", { className: "text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Last 30 days" })] }), !isLoading && (_jsxs("div", { className: "text-right", children: [_jsx("p", { className: "text-2xl font-bold", style: { color: 'hsl(var(--admin-foreground))' }, children: new Intl.NumberFormat('en-US', {
64
74
  style: 'currency',
65
75
  currency,
66
76
  minimumFractionDigits: 0,
67
77
  maximumFractionDigits: 0,
68
- }).format(totalRevenue) }), _jsx("p", { className: "text-xs text-muted-foreground", children: "Total" })] }))] }), _jsx("div", { className: "p-6", children: isLoading ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent" }) })) : data.length === 0 ? (_jsxs("div", { className: "flex h-64 flex-col items-center justify-center text-center", children: [_jsx("svg", { className: "h-12 w-12 text-muted-foreground/30", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 013 19.875v-6.75zM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V8.625zM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V4.125z" }) }), _jsx("p", { className: "mt-4 text-sm text-muted-foreground", children: "No revenue data yet" }), _jsx("p", { className: "text-xs text-muted-foreground/70", children: "Revenue will appear here after your first sale" })] })) : (_jsx(ResponsiveContainer, { width: "100%", height: 256, children: _jsxs(AreaChart, { data: data, margin: { top: 10, right: 10, left: 0, bottom: 0 }, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "revenueGradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: "hsl(var(--primary))", stopOpacity: 0.3 }), _jsx("stop", { offset: "100%", stopColor: "hsl(var(--primary))", stopOpacity: 0 })] }) }), _jsx(CartesianGrid, { strokeDasharray: "3 3", vertical: false, stroke: "hsl(var(--border))" }), _jsx(XAxis, { dataKey: "date", tickFormatter: tickFormatter, axisLine: false, tickLine: false, tick: { fill: 'hsl(var(--muted-foreground))', fontSize: 12 }, dy: 10 }), _jsx(YAxis, { tickFormatter: formatCurrency, axisLine: false, tickLine: false, tick: { fill: 'hsl(var(--muted-foreground))', fontSize: 12 }, width: 60 }), _jsx(Tooltip, { content: _jsx(CustomTooltip, { currency: currency }) }), _jsx(Area, { type: "monotone", dataKey: "revenue", stroke: "hsl(var(--primary))", strokeWidth: 2, fill: "url(#revenueGradient)" })] }) })) })] }));
78
+ }).format(totalRevenue) }), _jsx("p", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Total" })] }))] }), _jsx("div", { className: "p-6", children: isLoading ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-t-transparent", style: { borderColor: 'hsl(var(--admin-primary))', borderTopColor: 'transparent' } }) })) : data.length === 0 ? (_jsxs("div", { className: "flex h-64 flex-col items-center justify-center text-center", children: [_jsx(BarChart3, { className: "h-12 w-12", style: { color: 'hsl(var(--admin-foreground-muted) / 0.3)' }, strokeWidth: 1 }), _jsx("p", { className: "mt-4 text-sm", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "No revenue data yet" }), _jsx("p", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted) / 0.7)' }, children: "Revenue will appear here after your first sale" })] })) : (_jsx(ResponsiveContainer, { width: "100%", height: 256, children: _jsxs(AreaChart, { data: data, margin: { top: 10, right: 10, left: 0, bottom: 0 }, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "revenueGradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: "hsl(var(--admin-primary))", stopOpacity: 0.3 }), _jsx("stop", { offset: "100%", stopColor: "hsl(var(--admin-primary))", stopOpacity: 0 })] }) }), _jsx(CartesianGrid, { strokeDasharray: "3 3", vertical: false, stroke: "hsl(var(--admin-border))" }), _jsx(XAxis, { dataKey: "date", tickFormatter: tickFormatter, axisLine: false, tickLine: false, tick: { fill: 'hsl(var(--admin-foreground-muted))', fontSize: 12 }, dy: 10 }), _jsx(YAxis, { tickFormatter: formatCurrency, axisLine: false, tickLine: false, tick: { fill: 'hsl(var(--admin-foreground-muted))', fontSize: 12 }, width: 60 }), _jsx(Tooltip, { content: _jsx(CustomTooltip, { currency: currency }) }), _jsx(Area, { type: "monotone", dataKey: "revenue", stroke: "hsl(var(--admin-primary))", strokeWidth: 2, fill: "url(#revenueGradient)" })] }) })) })] }));
69
79
  }
70
80
  //# sourceMappingURL=RevenueChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RevenueChart.js","sourceRoot":"","sources":["../../../src/admin/components/RevenueChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RevenueChart.js","sourceRoot":"","sources":["../../../src/admin/components/RevenueChart.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * @rovela/sdk/admin/components/SEOPreview
3
3
  *
4
4
  * Google search result preview for SEO fields.
5
+ * Styled with Rovela admin theme.
5
6
  */
6
7
  export interface SEOPreviewProps {
7
8
  /** Page title */
@@ -1 +1 @@
1
- {"version":3,"file":"SEOPreview.d.ts","sourceRoot":"","sources":["../../../src/admin/components/SEOPreview.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAA0C,EAC1C,SAAc,GACf,EAAE,eAAe,2CA6DjB"}
1
+ {"version":3,"file":"SEOPreview.d.ts","sourceRoot":"","sources":["../../../src/admin/components/SEOPreview.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAMH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAA0C,EAC1C,SAAc,GACf,EAAE,eAAe,2CAyFjB"}
@@ -25,6 +25,9 @@ export function SEOPreview({ title, description, slug, baseUrl = 'https://yourst
25
25
  : description;
26
26
  // Build URL
27
27
  const displayUrl = `${baseUrl}/${slug || 'product-name'}`;
28
- return (_jsxs("div", { className: `rounded-lg border border-border bg-card p-4 ${className}`, children: [_jsx("p", { className: "mb-3 text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Search Engine Preview" }), _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [_jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-full bg-muted", children: _jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "S" }) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: "Your Store" }), _jsx("span", { className: "text-xs text-muted-foreground truncate max-w-[300px]", children: displayUrl })] })] }), _jsx("h3", { className: "text-lg font-normal text-[#1a0dab] hover:underline cursor-pointer leading-snug", children: displayTitle || 'Product Title' }), _jsx("p", { className: "text-sm text-[#545454] leading-relaxed", children: displayDescription || 'Add a meta description to help search engines understand what this product is about and to entice users to click.' })] }), _jsxs("div", { className: "mt-4 flex gap-6 border-t border-border pt-3", children: [_jsxs("div", { className: "text-xs", children: [_jsx("span", { className: "text-muted-foreground", children: "Title: " }), _jsxs("span", { className: title.length > 60 ? 'text-destructive' : 'text-foreground', children: [title.length, "/60"] })] }), _jsxs("div", { className: "text-xs", children: [_jsx("span", { className: "text-muted-foreground", children: "Description: " }), _jsxs("span", { className: description.length > 160 ? 'text-destructive' : 'text-foreground', children: [description.length, "/160"] })] })] })] }));
28
+ return (_jsxs("div", { className: `rounded-lg p-4 ${className}`, style: {
29
+ background: 'hsl(var(--admin-card))',
30
+ border: '1px solid hsl(var(--admin-border))',
31
+ }, children: [_jsx("p", { className: "mb-3 text-xs font-medium uppercase tracking-wider", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Search Engine Preview" }), _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-sm", children: [_jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-full", style: { background: 'hsl(var(--admin-background-subtle))' }, children: _jsx("span", { className: "text-xs font-medium", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "S" }) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Your Store" }), _jsx("span", { className: "text-xs truncate max-w-[300px]", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: displayUrl })] })] }), _jsx("h3", { className: "text-lg font-normal hover:underline cursor-pointer leading-snug", style: { color: '#1a0dab' }, children: displayTitle || 'Product Title' }), _jsx("p", { className: "text-sm leading-relaxed", style: { color: '#545454' }, children: displayDescription || 'Add a meta description to help search engines understand what this product is about and to entice users to click.' })] }), _jsxs("div", { className: "mt-4 flex gap-6 pt-3", style: { borderTop: '1px solid hsl(var(--admin-border))' }, children: [_jsxs("div", { className: "text-xs", children: [_jsx("span", { style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Title: " }), _jsxs("span", { style: { color: title.length > 60 ? 'hsl(var(--admin-error))' : 'hsl(var(--admin-foreground))' }, children: [title.length, "/60"] })] }), _jsxs("div", { className: "text-xs", children: [_jsx("span", { style: { color: 'hsl(var(--admin-foreground-muted))' }, children: "Description: " }), _jsxs("span", { style: { color: description.length > 160 ? 'hsl(var(--admin-error))' : 'hsl(var(--admin-foreground))' }, children: [description.length, "/160"] })] })] })] }));
29
32
  }
30
33
  //# sourceMappingURL=SEOPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SEOPreview.js","sourceRoot":"","sources":["../../../src/admin/components/SEOPreview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAyBZ,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,GAAG,gCAAgC,EAC1C,SAAS,GAAG,EAAE,GACE;IAChB,4DAA4D;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAE3E,qEAAqE;IACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG;QACjD,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;QACnC,CAAC,CAAC,WAAW,CAAA;IAEf,YAAY;IACZ,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,cAAc,EAAE,CAAA;IAEzD,OAAO,CACL,eAAK,SAAS,EAAE,+CAA+C,SAAS,EAAE,aACxE,YAAG,SAAS,EAAC,yEAAyE,sCAElF,EAGJ,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAC,gEAAgE,YAC7E,eAAM,SAAS,EAAC,2CAA2C,kBAAS,GAChE,EACN,eAAK,SAAS,EAAC,eAAe,aAC5B,eAAM,SAAS,EAAC,+BAA+B,2BAAkB,EACjE,eAAM,SAAS,EAAC,sDAAsD,YACnE,UAAU,GACN,IACH,IACF,EAGN,aAAI,SAAS,EAAC,gFAAgF,YAC3F,YAAY,IAAI,eAAe,GAC7B,EAGL,YAAG,SAAS,EAAC,wCAAwC,YAClD,kBAAkB,IAAI,mHAAmH,GACxI,IACA,EAGN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,SAAS,aACtB,eAAM,SAAS,EAAC,uBAAuB,wBAAe,EACtD,gBAAM,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,aACxE,KAAK,CAAC,MAAM,WACR,IACH,EACN,eAAK,SAAS,EAAC,SAAS,aACtB,eAAM,SAAS,EAAC,uBAAuB,8BAAqB,EAC5D,gBAAM,SAAS,EAAE,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,aAC/E,WAAW,CAAC,MAAM,YACd,IACH,IACF,IACF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"SEOPreview.js","sourceRoot":"","sources":["../../../src/admin/components/SEOPreview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA0BZ,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,GAAG,gCAAgC,EAC1C,SAAS,GAAG,EAAE,GACE;IAChB,4DAA4D;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAE3E,qEAAqE;IACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG;QACjD,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;QACnC,CAAC,CAAC,WAAW,CAAA;IAEf,YAAY;IACZ,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,cAAc,EAAE,CAAA;IAEzD,OAAO,CACL,eACE,SAAS,EAAE,kBAAkB,SAAS,EAAE,EACxC,KAAK,EAAE;YACL,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,oCAAoC;SAC7C,aAED,YACE,SAAS,EAAC,mDAAmD,EAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,sCAGpD,EAGJ,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,UAAU,EAAE,qCAAqC,EAAE,YAE5D,eACE,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,kBAGjD,GACH,EACN,eAAK,SAAS,EAAC,eAAe,aAC5B,eACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,2BAGjD,EACP,eACE,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,YAErD,UAAU,GACN,IACH,IACF,EAGN,aAAI,SAAS,EAAC,iEAAiE,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YACxG,YAAY,IAAI,eAAe,GAC7B,EAGL,YAAG,SAAS,EAAC,yBAAyB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAC/D,kBAAkB,IAAI,mHAAmH,GACxI,IACA,EAGN,eACE,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,EAAE,SAAS,EAAE,oCAAoC,EAAE,aAE1D,eAAK,SAAS,EAAC,SAAS,aACtB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,wBAAgB,EAC5E,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,8BAA8B,EAAE,aACnG,KAAK,CAAC,MAAM,WACR,IACH,EACN,eAAK,SAAS,EAAC,SAAS,aACtB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE,8BAAsB,EAClF,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,8BAA8B,EAAE,aAC1G,WAAW,CAAC,MAAM,YACd,IACH,IACF,IACF,CACP,CAAA;AACH,CAAC"}
@@ -1,11 +1,6 @@
1
- /**
2
- * @rovela/sdk/admin/components/StatsCards
3
- *
4
- * Dashboard statistics cards with elegant design and theme-aware colors.
5
- */
6
1
  import type { StatsCardsProps } from '../types';
7
2
  /**
8
- * Dashboard statistics cards showing key metrics with elegant design.
3
+ * Dashboard statistics cards showing key metrics with Rovela admin styling.
9
4
  *
10
5
  * @example
11
6
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"StatsCards.d.ts","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA0C/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAiB,EACjB,QAAgB,EAChB,SAAc,GACf,EAAE,eAAe,2CA2FjB"}
1
+ {"version":3,"file":"StatsCards.d.ts","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAiG/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAiB,EACjB,QAAgB,EAChB,SAAc,GACf,EAAE,eAAe,2CAwDjB"}
@@ -1,25 +1,33 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- // =============================================================================
4
- // Icons
5
- // =============================================================================
6
- function RevenueIcon({ className = 'h-6 w-6' }) {
7
- return (_jsx("svg", { className: className, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M2.25 18.75a60.07 60.07 0 0115.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 013 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 00-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 01-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 003 15h-.75M15 10.5a3 3 0 11-6 0 3 3 0 016 0zm3 0h.008v.008H18V10.5zm-12 0h.008v.008H6V10.5z" }) }));
8
- }
9
- function OrdersIcon({ className = 'h-6 w-6' }) {
10
- return (_jsx("svg", { className: className, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" }) }));
11
- }
12
- function CustomersIcon({ className = 'h-6 w-6' }) {
13
- return (_jsx("svg", { className: className, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z" }) }));
14
- }
15
- function ProductsIcon({ className = 'h-6 w-6' }) {
16
- return (_jsx("svg", { className: className, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z" }) }));
3
+ /**
4
+ * @rovela/sdk/admin/components/StatsCards
5
+ *
6
+ * Dashboard statistics cards with Rovela admin theme styling.
7
+ */
8
+ import { useState } from 'react';
9
+ import { DollarSign, ShoppingBag, Users, Package, ChevronRight } from 'lucide-react';
10
+ function StatsCardItem({ label, value, format, icon: Icon, href, isLoading }) {
11
+ const [isHovered, setIsHovered] = useState(false);
12
+ return (_jsxs("a", { href: href, className: "admin-card group relative overflow-hidden p-6", style: {
13
+ background: 'hsl(var(--admin-card))',
14
+ borderColor: isHovered ? 'hsl(var(--admin-primary))' : 'hsl(var(--admin-border))',
15
+ transform: isHovered ? 'translateY(-2px)' : 'translateY(0)',
16
+ boxShadow: isHovered ? 'var(--admin-shadow-lg)' : 'var(--admin-shadow)',
17
+ transition: 'all 0.2s ease',
18
+ }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [_jsx("div", { className: "absolute inset-0 opacity-0 transition-opacity duration-200", style: {
19
+ background: 'linear-gradient(to bottom right, hsl(var(--admin-primary) / 0.05), transparent)',
20
+ opacity: isHovered ? 1 : 0,
21
+ } }), _jsxs("div", { className: "relative flex items-start justify-between", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-sm font-medium", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: label }), isLoading ? (_jsx("div", { className: "h-9 w-28 animate-pulse rounded-md", style: { background: 'hsl(var(--admin-background-subtle))' } })) : (_jsx("p", { className: "text-3xl font-bold tracking-tight", style: { color: 'hsl(var(--admin-foreground))' }, children: format(value) }))] }), _jsx("div", { className: "rounded-xl p-3 transition-colors", style: {
22
+ background: isHovered ? 'hsl(var(--admin-primary) / 0.15)' : 'hsl(var(--admin-primary) / 0.1)',
23
+ color: 'hsl(var(--admin-primary))',
24
+ }, children: _jsx(Icon, { className: "h-6 w-6" }) })] }), _jsxs("div", { className: "relative mt-4 flex items-center text-xs font-medium transition-colors", style: { color: isHovered ? 'hsl(var(--admin-primary))' : 'hsl(var(--admin-foreground-muted))' }, children: [_jsx("span", { children: "View details" }), _jsx(ChevronRight, { className: "ml-1 h-3 w-3 transition-transform", style: { transform: isHovered ? 'translateX(2px)' : 'translateX(0)' } })] })] }));
17
25
  }
18
26
  // =============================================================================
19
27
  // Component
20
28
  // =============================================================================
21
29
  /**
22
- * Dashboard statistics cards showing key metrics with elegant design.
30
+ * Dashboard statistics cards showing key metrics with Rovela admin styling.
23
31
  *
24
32
  * @example
25
33
  * ```tsx
@@ -47,31 +55,31 @@ export function StatsCards({ stats, isLoading = false, currency = 'USD', classNa
47
55
  label: 'Total Revenue',
48
56
  value: stats?.revenue ?? 0,
49
57
  format: formatCurrency,
50
- icon: RevenueIcon,
58
+ icon: DollarSign,
51
59
  href: '/admin/orders',
52
60
  },
53
61
  {
54
62
  label: 'Total Orders',
55
63
  value: stats?.orders ?? 0,
56
64
  format: (v) => v.toLocaleString(),
57
- icon: OrdersIcon,
65
+ icon: ShoppingBag,
58
66
  href: '/admin/orders',
59
67
  },
60
68
  {
61
69
  label: 'Customers',
62
70
  value: stats?.customers ?? 0,
63
71
  format: (v) => v.toLocaleString(),
64
- icon: CustomersIcon,
72
+ icon: Users,
65
73
  href: '/admin/customers',
66
74
  },
67
75
  {
68
76
  label: 'Products',
69
77
  value: stats?.products ?? 0,
70
78
  format: (v) => v.toLocaleString(),
71
- icon: ProductsIcon,
79
+ icon: Package,
72
80
  href: '/admin/products',
73
81
  },
74
82
  ];
75
- return (_jsx("div", { className: `grid gap-4 sm:grid-cols-2 lg:grid-cols-4 ${className}`, children: cards.map((card) => (_jsxs("a", { href: card.href, className: "group relative overflow-hidden rounded-xl border border-border bg-card p-6 transition-all duration-200 hover:shadow-lg hover:shadow-primary/5 hover:-translate-y-0.5", children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-br from-primary/5 via-transparent to-transparent opacity-0 transition-opacity duration-200 group-hover:opacity-100" }), _jsxs("div", { className: "relative flex items-start justify-between", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-sm font-medium text-muted-foreground", children: card.label }), isLoading ? (_jsx("div", { className: "h-9 w-28 animate-pulse rounded-md bg-muted" })) : (_jsx("p", { className: "text-3xl font-bold tracking-tight text-foreground", children: card.format(card.value) }))] }), _jsx("div", { className: "rounded-xl bg-primary/10 p-3 text-primary transition-colors group-hover:bg-primary/15", children: _jsx(card.icon, { className: "h-6 w-6" }) })] }), _jsxs("div", { className: "relative mt-4 flex items-center text-xs font-medium text-muted-foreground transition-colors group-hover:text-primary", children: [_jsx("span", { children: "View details" }), _jsx("svg", { className: "ml-1 h-3 w-3 transition-transform group-hover:translate-x-0.5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })] })] }, card.label))) }));
83
+ return (_jsx("div", { className: `grid gap-4 sm:grid-cols-2 lg:grid-cols-4 ${className}`, children: cards.map((card) => (_jsx(StatsCardItem, { label: card.label, value: card.value, format: card.format, icon: card.icon, href: card.href, isLoading: isLoading }, card.label))) }));
76
84
  }
77
85
  //# sourceMappingURL=StatsCards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatsCards.js","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatsCards.js","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../../src/admin/components/TagInput.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,gCAAgC;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAuC,EACvC,OAAY,EACZ,QAAgB,EAChB,SAAc,GACf,EAAE,aAAa,2CA+Ff"}
1
+ {"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../../src/admin/components/TagInput.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,gCAAgC;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAuC,EACvC,OAAY,EACZ,QAAgB,EAChB,SAAc,GACf,EAAE,aAAa,2CA0Gf"}
@@ -4,6 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  * @rovela/sdk/admin/components/TagInput
5
5
  *
6
6
  * Tag input component for keywords, tags, etc.
7
+ * Styled with Rovela admin theme.
7
8
  */
8
9
  import { useState, useRef, useCallback } from 'react';
9
10
  import { X } from 'lucide-react';
@@ -60,14 +61,16 @@ export function TagInput({ value, onChange, placeholder = 'Add tag and press Ent
60
61
  const handleContainerClick = useCallback(() => {
61
62
  inputRef.current?.focus();
62
63
  }, []);
63
- return (_jsxs("div", { onClick: handleContainerClick, className: `
64
- flex flex-wrap items-center gap-1.5 rounded-md border border-input bg-background px-3 py-2
65
- ${disabled ? 'cursor-not-allowed bg-muted' : 'cursor-text'}
66
- focus-within:border-primary focus-within:ring-1 focus-within:ring-primary
67
- ${className}
68
- `, children: [value.map((tag) => (_jsxs("span", { className: "inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-sm text-secondary-foreground", children: [tag, !disabled && (_jsx("button", { type: "button", onClick: (e) => {
64
+ return (_jsxs("div", { onClick: handleContainerClick, className: `admin-input flex flex-wrap items-center gap-1.5 rounded-md px-3 py-2 ${className}`, style: {
65
+ background: disabled ? 'hsl(var(--admin-background-subtle))' : 'hsl(var(--admin-card))',
66
+ borderColor: 'hsl(var(--admin-border))',
67
+ cursor: disabled ? 'not-allowed' : 'text',
68
+ }, children: [value.map((tag) => (_jsxs("span", { className: "inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-sm", style: {
69
+ background: 'hsl(var(--admin-primary) / 0.1)',
70
+ color: 'hsl(var(--admin-primary))',
71
+ }, children: [tag, !disabled && (_jsx("button", { type: "button", onClick: (e) => {
69
72
  e.stopPropagation();
70
73
  removeTag(tag);
71
- }, className: "rounded hover:bg-secondary-foreground/10", children: _jsx(X, { className: "h-3 w-3" }) }))] }, tag))), !disabled && value.length < maxTags && (_jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: (e) => setInputValue(e.target.value), onKeyDown: handleKeyDown, onBlur: handleBlur, placeholder: value.length === 0 ? placeholder : '', className: "flex-1 min-w-[120px] border-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground" })), value.length >= maxTags && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["Max ", maxTags, " tags"] }))] }));
74
+ }, className: "rounded hover:opacity-70", style: { color: 'hsl(var(--admin-primary))' }, children: _jsx(X, { className: "h-3 w-3" }) }))] }, tag))), !disabled && value.length < maxTags && (_jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: (e) => setInputValue(e.target.value), onKeyDown: handleKeyDown, onBlur: handleBlur, placeholder: value.length === 0 ? placeholder : '', className: "flex-1 min-w-[120px] border-0 bg-transparent text-sm outline-none", style: { color: 'hsl(var(--admin-foreground))' } })), value.length >= maxTags && (_jsxs("span", { className: "text-xs", style: { color: 'hsl(var(--admin-foreground-muted))' }, children: ["Max ", maxTags, " tags"] }))] }));
72
75
  }
73
76
  //# sourceMappingURL=TagInput.js.map