@rovela-ai/sdk 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/api/accept-invite.d.ts +65 -0
- package/dist/admin/api/accept-invite.d.ts.map +1 -0
- package/dist/admin/api/accept-invite.js +115 -0
- package/dist/admin/api/accept-invite.js.map +1 -0
- package/dist/admin/api/categories.d.ts +68 -0
- package/dist/admin/api/categories.d.ts.map +1 -0
- package/dist/admin/api/categories.js +266 -0
- package/dist/admin/api/categories.js.map +1 -0
- package/dist/admin/api/check.d.ts +38 -0
- package/dist/admin/api/check.d.ts.map +1 -0
- package/dist/admin/api/check.js +49 -0
- package/dist/admin/api/check.js.map +1 -0
- package/dist/admin/api/customers.d.ts +77 -0
- package/dist/admin/api/customers.d.ts.map +1 -0
- package/dist/admin/api/customers.js +219 -0
- package/dist/admin/api/customers.js.map +1 -0
- package/dist/admin/api/forgot-password.d.ts +39 -0
- package/dist/admin/api/forgot-password.d.ts.map +1 -0
- package/dist/admin/api/forgot-password.js +66 -0
- package/dist/admin/api/forgot-password.js.map +1 -0
- package/dist/admin/api/index.d.ts +109 -0
- package/dist/admin/api/index.d.ts.map +1 -0
- package/dist/admin/api/index.js +128 -0
- package/dist/admin/api/index.js.map +1 -0
- package/dist/admin/api/linked-customer.d.ts +32 -0
- package/dist/admin/api/linked-customer.d.ts.map +1 -0
- package/dist/admin/api/linked-customer.js +45 -0
- package/dist/admin/api/linked-customer.js.map +1 -0
- package/dist/admin/api/me.d.ts +72 -0
- package/dist/admin/api/me.d.ts.map +1 -0
- package/dist/admin/api/me.js +177 -0
- package/dist/admin/api/me.js.map +1 -0
- package/dist/admin/api/orders.d.ts +91 -0
- package/dist/admin/api/orders.d.ts.map +1 -0
- package/dist/admin/api/orders.js +390 -0
- package/dist/admin/api/orders.js.map +1 -0
- package/dist/admin/api/products-bulk.d.ts +38 -0
- package/dist/admin/api/products-bulk.d.ts.map +1 -0
- package/dist/admin/api/products-bulk.js +135 -0
- package/dist/admin/api/products-bulk.js.map +1 -0
- package/dist/admin/api/products-stats.d.ts +34 -0
- package/dist/admin/api/products-stats.d.ts.map +1 -0
- package/dist/admin/api/products-stats.js +43 -0
- package/dist/admin/api/products-stats.js.map +1 -0
- package/dist/admin/api/products.d.ts +104 -0
- package/dist/admin/api/products.d.ts.map +1 -0
- package/dist/admin/api/products.js +491 -0
- package/dist/admin/api/products.js.map +1 -0
- package/dist/admin/api/refund.d.ts +29 -0
- package/dist/admin/api/refund.d.ts.map +1 -0
- package/dist/admin/api/refund.js +142 -0
- package/dist/admin/api/refund.js.map +1 -0
- package/dist/admin/api/reset-password.d.ts +49 -0
- package/dist/admin/api/reset-password.d.ts.map +1 -0
- package/dist/admin/api/reset-password.js +99 -0
- package/dist/admin/api/reset-password.js.map +1 -0
- package/dist/admin/api/return.d.ts +47 -0
- package/dist/admin/api/return.d.ts.map +1 -0
- package/dist/admin/api/return.js +186 -0
- package/dist/admin/api/return.js.map +1 -0
- package/dist/admin/api/settings.d.ts +49 -0
- package/dist/admin/api/settings.d.ts.map +1 -0
- package/dist/admin/api/settings.js +201 -0
- package/dist/admin/api/settings.js.map +1 -0
- package/dist/admin/api/setup-guide.d.ts +78 -0
- package/dist/admin/api/setup-guide.d.ts.map +1 -0
- package/dist/admin/api/setup-guide.js +235 -0
- package/dist/admin/api/setup-guide.js.map +1 -0
- package/dist/admin/api/setup.d.ts +60 -0
- package/dist/admin/api/setup.d.ts.map +1 -0
- package/dist/admin/api/setup.js +126 -0
- package/dist/admin/api/setup.js.map +1 -0
- package/dist/admin/api/shipping.d.ts +287 -0
- package/dist/admin/api/shipping.d.ts.map +1 -0
- package/dist/admin/api/shipping.js +746 -0
- package/dist/admin/api/shipping.js.map +1 -0
- package/dist/admin/api/stats.d.ts +43 -0
- package/dist/admin/api/stats.d.ts.map +1 -0
- package/dist/admin/api/stats.js +92 -0
- package/dist/admin/api/stats.js.map +1 -0
- package/dist/admin/api/stripe-status.d.ts +39 -0
- package/dist/admin/api/stripe-status.d.ts.map +1 -0
- package/dist/admin/api/stripe-status.js +99 -0
- package/dist/admin/api/stripe-status.js.map +1 -0
- package/dist/admin/api/tax-zones.d.ts +97 -0
- package/dist/admin/api/tax-zones.d.ts.map +1 -0
- package/dist/admin/api/tax-zones.js +265 -0
- package/dist/admin/api/tax-zones.js.map +1 -0
- package/dist/admin/api/users.d.ts +142 -0
- package/dist/admin/api/users.d.ts.map +1 -0
- package/dist/admin/api/users.js +355 -0
- package/dist/admin/api/users.js.map +1 -0
- package/dist/admin/components/AdminAcceptInviteForm.d.ts +3 -0
- package/dist/admin/components/AdminAcceptInviteForm.d.ts.map +1 -0
- package/dist/admin/components/AdminAcceptInviteForm.js +137 -0
- package/dist/admin/components/AdminAcceptInviteForm.js.map +1 -0
- package/dist/admin/components/AdminAccountPage.d.ts +10 -0
- package/dist/admin/components/AdminAccountPage.d.ts.map +1 -0
- package/dist/admin/components/AdminAccountPage.js +126 -0
- package/dist/admin/components/AdminAccountPage.js.map +1 -0
- package/dist/admin/components/AdminBarBanner.d.ts +2 -0
- package/dist/admin/components/AdminBarBanner.d.ts.map +1 -0
- package/dist/admin/components/AdminBarBanner.js +266 -0
- package/dist/admin/components/AdminBarBanner.js.map +1 -0
- package/dist/admin/components/AdminForgotPasswordForm.d.ts +8 -0
- package/dist/admin/components/AdminForgotPasswordForm.d.ts.map +1 -0
- package/dist/admin/components/AdminForgotPasswordForm.js +59 -0
- package/dist/admin/components/AdminForgotPasswordForm.js.map +1 -0
- package/dist/admin/components/AdminGuard.d.ts +40 -0
- package/dist/admin/components/AdminGuard.d.ts.map +1 -0
- package/dist/admin/components/AdminGuard.js +94 -0
- package/dist/admin/components/AdminGuard.js.map +1 -0
- package/dist/admin/components/AdminLayout.d.ts +40 -0
- package/dist/admin/components/AdminLayout.d.ts.map +1 -0
- package/dist/admin/components/AdminLayout.js +39 -0
- package/dist/admin/components/AdminLayout.js.map +1 -0
- package/dist/admin/components/AdminLoginForm.d.ts +18 -0
- package/dist/admin/components/AdminLoginForm.d.ts.map +1 -0
- package/dist/admin/components/AdminLoginForm.js +61 -0
- package/dist/admin/components/AdminLoginForm.js.map +1 -0
- package/dist/admin/components/AdminNav.d.ts +44 -0
- package/dist/admin/components/AdminNav.d.ts.map +1 -0
- package/dist/admin/components/AdminNav.js +175 -0
- package/dist/admin/components/AdminNav.js.map +1 -0
- package/dist/admin/components/AdminResetPasswordForm.d.ts +12 -0
- package/dist/admin/components/AdminResetPasswordForm.d.ts.map +1 -0
- package/dist/admin/components/AdminResetPasswordForm.js +134 -0
- package/dist/admin/components/AdminResetPasswordForm.js.map +1 -0
- package/dist/admin/components/AdminSelect.d.ts +47 -0
- package/dist/admin/components/AdminSelect.d.ts.map +1 -0
- package/dist/admin/components/AdminSelect.js +71 -0
- package/dist/admin/components/AdminSelect.js.map +1 -0
- package/dist/admin/components/AdminToast.d.ts +31 -0
- package/dist/admin/components/AdminToast.d.ts.map +1 -0
- package/dist/admin/components/AdminToast.js +83 -0
- package/dist/admin/components/AdminToast.js.map +1 -0
- package/dist/admin/components/AdminUserMenu.d.ts +14 -0
- package/dist/admin/components/AdminUserMenu.d.ts.map +1 -0
- package/dist/admin/components/AdminUserMenu.js +34 -0
- package/dist/admin/components/AdminUserMenu.js.map +1 -0
- package/dist/admin/components/CategoryForm.d.ts +30 -0
- package/dist/admin/components/CategoryForm.d.ts.map +1 -0
- package/dist/admin/components/CategoryForm.js +152 -0
- package/dist/admin/components/CategoryForm.js.map +1 -0
- package/dist/admin/components/CategorySelect.d.ts +32 -0
- package/dist/admin/components/CategorySelect.d.ts.map +1 -0
- package/dist/admin/components/CategorySelect.js +139 -0
- package/dist/admin/components/CategorySelect.js.map +1 -0
- package/dist/admin/components/CustomerDetails.d.ts +15 -0
- package/dist/admin/components/CustomerDetails.d.ts.map +1 -0
- package/dist/admin/components/CustomerDetails.js +177 -0
- package/dist/admin/components/CustomerDetails.js.map +1 -0
- package/dist/admin/components/CustomerTable.d.ts +13 -0
- package/dist/admin/components/CustomerTable.d.ts.map +1 -0
- package/dist/admin/components/CustomerTable.js +112 -0
- package/dist/admin/components/CustomerTable.js.map +1 -0
- package/dist/admin/components/DeleteConfirmDialog.d.ts +56 -0
- package/dist/admin/components/DeleteConfirmDialog.d.ts.map +1 -0
- package/dist/admin/components/DeleteConfirmDialog.js +46 -0
- package/dist/admin/components/DeleteConfirmDialog.js.map +1 -0
- package/dist/admin/components/ExampleContentBanner.d.ts +2 -0
- package/dist/admin/components/ExampleContentBanner.d.ts.map +1 -0
- package/dist/admin/components/ExampleContentBanner.js +153 -0
- package/dist/admin/components/ExampleContentBanner.js.map +1 -0
- package/dist/admin/components/InventoryEditor.d.ts +15 -0
- package/dist/admin/components/InventoryEditor.d.ts.map +1 -0
- package/dist/admin/components/InventoryEditor.js +86 -0
- package/dist/admin/components/InventoryEditor.js.map +1 -0
- package/dist/admin/components/InviteUserDialog.d.ts +3 -0
- package/dist/admin/components/InviteUserDialog.d.ts.map +1 -0
- package/dist/admin/components/InviteUserDialog.js +126 -0
- package/dist/admin/components/InviteUserDialog.js.map +1 -0
- package/dist/admin/components/LogoUpload.d.ts +22 -0
- package/dist/admin/components/LogoUpload.d.ts.map +1 -0
- package/dist/admin/components/LogoUpload.js +210 -0
- package/dist/admin/components/LogoUpload.js.map +1 -0
- package/dist/admin/components/LowStockAlert.d.ts +11 -0
- package/dist/admin/components/LowStockAlert.d.ts.map +1 -0
- package/dist/admin/components/LowStockAlert.js +33 -0
- package/dist/admin/components/LowStockAlert.js.map +1 -0
- package/dist/admin/components/OrderDetails.d.ts +14 -0
- package/dist/admin/components/OrderDetails.d.ts.map +1 -0
- package/dist/admin/components/OrderDetails.js +210 -0
- package/dist/admin/components/OrderDetails.js.map +1 -0
- package/dist/admin/components/OrderStatusChart.d.ts +21 -0
- package/dist/admin/components/OrderStatusChart.d.ts.map +1 -0
- package/dist/admin/components/OrderStatusChart.js +61 -0
- package/dist/admin/components/OrderStatusChart.js.map +1 -0
- package/dist/admin/components/OrderTable.d.ts +13 -0
- package/dist/admin/components/OrderTable.d.ts.map +1 -0
- package/dist/admin/components/OrderTable.js +117 -0
- package/dist/admin/components/OrderTable.js.map +1 -0
- package/dist/admin/components/PaymentSettings.d.ts +13 -0
- package/dist/admin/components/PaymentSettings.d.ts.map +1 -0
- package/dist/admin/components/PaymentSettings.js +117 -0
- package/dist/admin/components/PaymentSettings.js.map +1 -0
- package/dist/admin/components/PeriodSelector.d.ts +9 -0
- package/dist/admin/components/PeriodSelector.d.ts.map +1 -0
- package/dist/admin/components/PeriodSelector.js +19 -0
- package/dist/admin/components/PeriodSelector.js.map +1 -0
- package/dist/admin/components/PermissionsMatrix.d.ts +8 -0
- package/dist/admin/components/PermissionsMatrix.d.ts.map +1 -0
- package/dist/admin/components/PermissionsMatrix.js +70 -0
- package/dist/admin/components/PermissionsMatrix.js.map +1 -0
- package/dist/admin/components/PrimaryMetricsRow.d.ts +11 -0
- package/dist/admin/components/PrimaryMetricsRow.d.ts.map +1 -0
- package/dist/admin/components/PrimaryMetricsRow.js +73 -0
- package/dist/admin/components/PrimaryMetricsRow.js.map +1 -0
- package/dist/admin/components/ProductForm.d.ts +18 -0
- package/dist/admin/components/ProductForm.d.ts.map +1 -0
- package/dist/admin/components/ProductForm.js +251 -0
- package/dist/admin/components/ProductForm.js.map +1 -0
- package/dist/admin/components/ProductTable.d.ts +14 -0
- package/dist/admin/components/ProductTable.d.ts.map +1 -0
- package/dist/admin/components/ProductTable.js +384 -0
- package/dist/admin/components/ProductTable.js.map +1 -0
- package/dist/admin/components/RecentOrders.d.ts +11 -0
- package/dist/admin/components/RecentOrders.d.ts.map +1 -0
- package/dist/admin/components/RecentOrders.js +63 -0
- package/dist/admin/components/RecentOrders.js.map +1 -0
- package/dist/admin/components/RefundDialog.d.ts +17 -0
- package/dist/admin/components/RefundDialog.d.ts.map +1 -0
- package/dist/admin/components/RefundDialog.js +90 -0
- package/dist/admin/components/RefundDialog.js.map +1 -0
- package/dist/admin/components/RevenueChart.d.ts +23 -0
- package/dist/admin/components/RevenueChart.d.ts.map +1 -0
- package/dist/admin/components/RevenueChart.js +75 -0
- package/dist/admin/components/RevenueChart.js.map +1 -0
- package/dist/admin/components/SEOPreview.d.ts +33 -0
- package/dist/admin/components/SEOPreview.d.ts.map +1 -0
- package/dist/admin/components/SEOPreview.js +30 -0
- package/dist/admin/components/SEOPreview.js.map +1 -0
- package/dist/admin/components/SecondaryMetricsRow.d.ts +14 -0
- package/dist/admin/components/SecondaryMetricsRow.d.ts.map +1 -0
- package/dist/admin/components/SecondaryMetricsRow.js +45 -0
- package/dist/admin/components/SecondaryMetricsRow.js.map +1 -0
- package/dist/admin/components/SetupGuide.d.ts +4 -0
- package/dist/admin/components/SetupGuide.d.ts.map +1 -0
- package/dist/admin/components/SetupGuide.js +244 -0
- package/dist/admin/components/SetupGuide.js.map +1 -0
- package/dist/admin/components/ShippingSettings.d.ts +3 -0
- package/dist/admin/components/ShippingSettings.d.ts.map +1 -0
- package/dist/admin/components/ShippingSettings.js +553 -0
- package/dist/admin/components/ShippingSettings.js.map +1 -0
- package/dist/admin/components/StatsCards.d.ts +18 -0
- package/dist/admin/components/StatsCards.d.ts.map +1 -0
- package/dist/admin/components/StatsCards.js +71 -0
- package/dist/admin/components/StatsCards.js.map +1 -0
- package/dist/admin/components/StoreSettings.d.ts +19 -0
- package/dist/admin/components/StoreSettings.d.ts.map +1 -0
- package/dist/admin/components/StoreSettings.js +149 -0
- package/dist/admin/components/StoreSettings.js.map +1 -0
- package/dist/admin/components/TagInput.d.ts +29 -0
- package/dist/admin/components/TagInput.d.ts.map +1 -0
- package/dist/admin/components/TagInput.js +69 -0
- package/dist/admin/components/TagInput.js.map +1 -0
- package/dist/admin/components/TaxSettings.d.ts +12 -0
- package/dist/admin/components/TaxSettings.d.ts.map +1 -0
- package/dist/admin/components/TaxSettings.js +272 -0
- package/dist/admin/components/TaxSettings.js.map +1 -0
- package/dist/admin/components/UsersTable.d.ts +3 -0
- package/dist/admin/components/UsersTable.d.ts.map +1 -0
- package/dist/admin/components/UsersTable.js +388 -0
- package/dist/admin/components/UsersTable.js.map +1 -0
- package/dist/admin/components/VariantManager.d.ts +44 -0
- package/dist/admin/components/VariantManager.d.ts.map +1 -0
- package/dist/admin/components/VariantManager.js +324 -0
- package/dist/admin/components/VariantManager.js.map +1 -0
- package/dist/admin/components/index.d.ts +69 -0
- package/dist/admin/components/index.d.ts.map +1 -0
- package/dist/admin/components/index.js +86 -0
- package/dist/admin/components/index.js.map +1 -0
- package/dist/admin/config.d.ts +51 -0
- package/dist/admin/config.d.ts.map +1 -0
- package/dist/admin/config.js +224 -0
- package/dist/admin/config.js.map +1 -0
- package/dist/admin/hooks/fetchAdminApi.d.ts +65 -0
- package/dist/admin/hooks/fetchAdminApi.d.ts.map +1 -0
- package/dist/admin/hooks/fetchAdminApi.js +96 -0
- package/dist/admin/hooks/fetchAdminApi.js.map +1 -0
- package/dist/admin/hooks/index.d.ts +24 -0
- package/dist/admin/hooks/index.d.ts.map +1 -0
- package/dist/admin/hooks/index.js +19 -0
- package/dist/admin/hooks/index.js.map +1 -0
- package/dist/admin/hooks/useAdminAuth.d.ts +25 -0
- package/dist/admin/hooks/useAdminAuth.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminAuth.js +183 -0
- package/dist/admin/hooks/useAdminAuth.js.map +1 -0
- package/dist/admin/hooks/useAdminCategories.d.ts +9 -0
- package/dist/admin/hooks/useAdminCategories.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminCategories.js +112 -0
- package/dist/admin/hooks/useAdminCategories.js.map +1 -0
- package/dist/admin/hooks/useAdminCustomers.d.ts +3 -0
- package/dist/admin/hooks/useAdminCustomers.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminCustomers.js +110 -0
- package/dist/admin/hooks/useAdminCustomers.js.map +1 -0
- package/dist/admin/hooks/useAdminMe.d.ts +31 -0
- package/dist/admin/hooks/useAdminMe.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminMe.js +78 -0
- package/dist/admin/hooks/useAdminMe.js.map +1 -0
- package/dist/admin/hooks/useAdminOrders.d.ts +3 -0
- package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminOrders.js +118 -0
- package/dist/admin/hooks/useAdminOrders.js.map +1 -0
- package/dist/admin/hooks/useAdminPermissions.d.ts +3 -0
- package/dist/admin/hooks/useAdminPermissions.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminPermissions.js +51 -0
- package/dist/admin/hooks/useAdminPermissions.js.map +1 -0
- package/dist/admin/hooks/useAdminProductMetrics.d.ts +3 -0
- package/dist/admin/hooks/useAdminProductMetrics.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminProductMetrics.js +32 -0
- package/dist/admin/hooks/useAdminProductMetrics.js.map +1 -0
- package/dist/admin/hooks/useAdminProducts.d.ts +3 -0
- package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminProducts.js +132 -0
- package/dist/admin/hooks/useAdminProducts.js.map +1 -0
- package/dist/admin/hooks/useAdminSession.d.ts +23 -0
- package/dist/admin/hooks/useAdminSession.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminSession.js +117 -0
- package/dist/admin/hooks/useAdminSession.js.map +1 -0
- package/dist/admin/hooks/useAdminStats.d.ts +47 -0
- package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminStats.js +128 -0
- package/dist/admin/hooks/useAdminStats.js.map +1 -0
- package/dist/admin/hooks/useAdminUsers.d.ts +3 -0
- package/dist/admin/hooks/useAdminUsers.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminUsers.js +177 -0
- package/dist/admin/hooks/useAdminUsers.js.map +1 -0
- package/dist/admin/hooks/useLinkedCustomerStatus.d.ts +3 -0
- package/dist/admin/hooks/useLinkedCustomerStatus.d.ts.map +1 -0
- package/dist/admin/hooks/useLinkedCustomerStatus.js +48 -0
- package/dist/admin/hooks/useLinkedCustomerStatus.js.map +1 -0
- package/dist/admin/hooks/useSetupGuide.d.ts +45 -0
- package/dist/admin/hooks/useSetupGuide.d.ts.map +1 -0
- package/dist/admin/hooks/useSetupGuide.js +60 -0
- package/dist/admin/hooks/useSetupGuide.js.map +1 -0
- package/dist/admin/index.d.ts +66 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +144 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/permissions.d.ts +79 -0
- package/dist/admin/permissions.d.ts.map +1 -0
- package/dist/admin/permissions.js +182 -0
- package/dist/admin/permissions.js.map +1 -0
- package/dist/admin/server/admin-invite.d.ts +122 -0
- package/dist/admin/server/admin-invite.d.ts.map +1 -0
- package/dist/admin/server/admin-invite.js +235 -0
- package/dist/admin/server/admin-invite.js.map +1 -0
- package/dist/admin/server/admin-password-reset.d.ts +87 -0
- package/dist/admin/server/admin-password-reset.d.ts.map +1 -0
- package/dist/admin/server/admin-password-reset.js +220 -0
- package/dist/admin/server/admin-password-reset.js.map +1 -0
- package/dist/admin/server/admin-self-service.d.ts +86 -0
- package/dist/admin/server/admin-self-service.d.ts.map +1 -0
- package/dist/admin/server/admin-self-service.js +188 -0
- package/dist/admin/server/admin-self-service.js.map +1 -0
- package/dist/admin/server/admin-service.d.ts +131 -0
- package/dist/admin/server/admin-service.d.ts.map +1 -0
- package/dist/admin/server/admin-service.js +278 -0
- package/dist/admin/server/admin-service.js.map +1 -0
- package/dist/admin/server/admin-session.d.ts +173 -0
- package/dist/admin/server/admin-session.d.ts.map +1 -0
- package/dist/admin/server/admin-session.js +272 -0
- package/dist/admin/server/admin-session.js.map +1 -0
- package/dist/admin/server/index.d.ts +17 -0
- package/dist/admin/server/index.d.ts.map +1 -0
- package/dist/admin/server/index.js +39 -0
- package/dist/admin/server/index.js.map +1 -0
- package/dist/admin/server/user-management.d.ts +221 -0
- package/dist/admin/server/user-management.d.ts.map +1 -0
- package/dist/admin/server/user-management.js +838 -0
- package/dist/admin/server/user-management.js.map +1 -0
- package/dist/admin/types.d.ts +1161 -0
- package/dist/admin/types.d.ts.map +1 -0
- package/dist/admin/types.js +10 -0
- package/dist/admin/types.js.map +1 -0
- package/dist/auth/api/forgot-password.d.ts +41 -0
- package/dist/auth/api/forgot-password.d.ts.map +1 -0
- package/dist/auth/api/forgot-password.js +65 -0
- package/dist/auth/api/forgot-password.js.map +1 -0
- package/dist/auth/api/index.d.ts +37 -0
- package/dist/auth/api/index.d.ts.map +1 -0
- package/dist/auth/api/index.js +44 -0
- package/dist/auth/api/index.js.map +1 -0
- package/dist/auth/api/register.d.ts +41 -0
- package/dist/auth/api/register.d.ts.map +1 -0
- package/dist/auth/api/register.js +99 -0
- package/dist/auth/api/register.js.map +1 -0
- package/dist/auth/api/request-refund.d.ts +38 -0
- package/dist/auth/api/request-refund.d.ts.map +1 -0
- package/dist/auth/api/request-refund.js +142 -0
- package/dist/auth/api/request-refund.js.map +1 -0
- package/dist/auth/api/request-return.d.ts +39 -0
- package/dist/auth/api/request-return.d.ts.map +1 -0
- package/dist/auth/api/request-return.js +109 -0
- package/dist/auth/api/request-return.js.map +1 -0
- package/dist/auth/api/resend-verification.d.ts +41 -0
- package/dist/auth/api/resend-verification.d.ts.map +1 -0
- package/dist/auth/api/resend-verification.js +68 -0
- package/dist/auth/api/resend-verification.js.map +1 -0
- package/dist/auth/api/reset-password.d.ts +67 -0
- package/dist/auth/api/reset-password.d.ts.map +1 -0
- package/dist/auth/api/reset-password.js +106 -0
- package/dist/auth/api/reset-password.js.map +1 -0
- package/dist/auth/api/verify-email.d.ts +47 -0
- package/dist/auth/api/verify-email.d.ts.map +1 -0
- package/dist/auth/api/verify-email.js +90 -0
- package/dist/auth/api/verify-email.js.map +1 -0
- package/dist/auth/components/AuthGuard.d.ts +52 -0
- package/dist/auth/components/AuthGuard.d.ts.map +1 -0
- package/dist/auth/components/AuthGuard.js +109 -0
- package/dist/auth/components/AuthGuard.js.map +1 -0
- package/dist/auth/components/ForgotPasswordForm.d.ts +15 -0
- package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -0
- package/dist/auth/components/ForgotPasswordForm.js +43 -0
- package/dist/auth/components/ForgotPasswordForm.js.map +1 -0
- package/dist/auth/components/Label.d.ts +19 -0
- package/dist/auth/components/Label.d.ts.map +1 -0
- package/dist/auth/components/Label.js +18 -0
- package/dist/auth/components/Label.js.map +1 -0
- package/dist/auth/components/ResetPasswordForm.d.ts +18 -0
- package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -0
- package/dist/auth/components/ResetPasswordForm.js +87 -0
- package/dist/auth/components/ResetPasswordForm.js.map +1 -0
- package/dist/auth/components/SignInForm.d.ts +21 -0
- package/dist/auth/components/SignInForm.d.ts.map +1 -0
- package/dist/auth/components/SignInForm.js +61 -0
- package/dist/auth/components/SignInForm.js.map +1 -0
- package/dist/auth/components/SignUpForm.d.ts +18 -0
- package/dist/auth/components/SignUpForm.d.ts.map +1 -0
- package/dist/auth/components/SignUpForm.js +78 -0
- package/dist/auth/components/SignUpForm.js.map +1 -0
- package/dist/auth/components/UserMenu.d.ts +18 -0
- package/dist/auth/components/UserMenu.d.ts.map +1 -0
- package/dist/auth/components/UserMenu.js +73 -0
- package/dist/auth/components/UserMenu.js.map +1 -0
- package/dist/auth/components/VerifyEmailNotice.d.ts +20 -0
- package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -0
- package/dist/auth/components/VerifyEmailNotice.js +57 -0
- package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
- package/dist/auth/components/index.d.ts +15 -0
- package/dist/auth/components/index.d.ts.map +1 -0
- package/dist/auth/components/index.js +14 -0
- package/dist/auth/components/index.js.map +1 -0
- package/dist/auth/config.d.ts +52 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +243 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/hooks/index.d.ts +7 -0
- package/dist/auth/hooks/index.d.ts.map +1 -0
- package/dist/auth/hooks/index.js +7 -0
- package/dist/auth/hooks/index.js.map +1 -0
- package/dist/auth/hooks/useAuth.d.ts +30 -0
- package/dist/auth/hooks/useAuth.d.ts.map +1 -0
- package/dist/auth/hooks/useAuth.js +251 -0
- package/dist/auth/hooks/useAuth.js.map +1 -0
- package/dist/auth/index.d.ts +55 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +67 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/server/customer-service.d.ts +140 -0
- package/dist/auth/server/customer-service.d.ts.map +1 -0
- package/dist/auth/server/customer-service.js +266 -0
- package/dist/auth/server/customer-service.js.map +1 -0
- package/dist/auth/server/customer-session.d.ts +79 -0
- package/dist/auth/server/customer-session.d.ts.map +1 -0
- package/dist/auth/server/customer-session.js +103 -0
- package/dist/auth/server/customer-session.js.map +1 -0
- package/dist/auth/server/index.d.ts +14 -0
- package/dist/auth/server/index.d.ts.map +1 -0
- package/dist/auth/server/index.js +17 -0
- package/dist/auth/server/index.js.map +1 -0
- package/dist/auth/server/password-reset-service.d.ts +87 -0
- package/dist/auth/server/password-reset-service.d.ts.map +1 -0
- package/dist/auth/server/password-reset-service.js +203 -0
- package/dist/auth/server/password-reset-service.js.map +1 -0
- package/dist/auth/server/password.d.ts +58 -0
- package/dist/auth/server/password.d.ts.map +1 -0
- package/dist/auth/server/password.js +85 -0
- package/dist/auth/server/password.js.map +1 -0
- package/dist/auth/server/verification-service.d.ts +88 -0
- package/dist/auth/server/verification-service.d.ts.map +1 -0
- package/dist/auth/server/verification-service.js +231 -0
- package/dist/auth/server/verification-service.js.map +1 -0
- package/dist/auth/types.d.ts +311 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +7 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cart/CartProvider.d.ts +65 -0
- package/dist/cart/CartProvider.d.ts.map +1 -0
- package/dist/cart/CartProvider.js +96 -0
- package/dist/cart/CartProvider.js.map +1 -0
- package/dist/cart/components/AddToCartButton.d.ts +77 -0
- package/dist/cart/components/AddToCartButton.d.ts.map +1 -0
- package/dist/cart/components/AddToCartButton.js +122 -0
- package/dist/cart/components/AddToCartButton.js.map +1 -0
- package/dist/cart/components/CartDrawer.d.ts +71 -0
- package/dist/cart/components/CartDrawer.d.ts.map +1 -0
- package/dist/cart/components/CartDrawer.js +117 -0
- package/dist/cart/components/CartDrawer.js.map +1 -0
- package/dist/cart/components/CartIcon.d.ts +36 -0
- package/dist/cart/components/CartIcon.d.ts.map +1 -0
- package/dist/cart/components/CartIcon.js +68 -0
- package/dist/cart/components/CartIcon.js.map +1 -0
- package/dist/cart/components/CartItem.d.ts +52 -0
- package/dist/cart/components/CartItem.d.ts.map +1 -0
- package/dist/cart/components/CartItem.js +55 -0
- package/dist/cart/components/CartItem.js.map +1 -0
- package/dist/cart/components/CartSummary.d.ts +43 -0
- package/dist/cart/components/CartSummary.d.ts.map +1 -0
- package/dist/cart/components/CartSummary.js +60 -0
- package/dist/cart/components/CartSummary.js.map +1 -0
- package/dist/cart/components/QuantitySelector.d.ts +39 -0
- package/dist/cart/components/QuantitySelector.d.ts.map +1 -0
- package/dist/cart/components/QuantitySelector.js +85 -0
- package/dist/cart/components/QuantitySelector.js.map +1 -0
- package/dist/cart/components/index.d.ts +18 -0
- package/dist/cart/components/index.d.ts.map +1 -0
- package/dist/cart/components/index.js +12 -0
- package/dist/cart/components/index.js.map +1 -0
- package/dist/cart/index.d.ts +109 -0
- package/dist/cart/index.d.ts.map +1 -0
- package/dist/cart/index.js +115 -0
- package/dist/cart/index.js.map +1 -0
- package/dist/cart/store.d.ts +150 -0
- package/dist/cart/store.d.ts.map +1 -0
- package/dist/cart/store.js +315 -0
- package/dist/cart/store.js.map +1 -0
- package/dist/checkout/api/checkout.js +112 -0
- package/dist/checkout/api/checkout.js.map +1 -0
- package/dist/checkout/api/countries.d.ts +17 -0
- package/dist/checkout/api/countries.d.ts.map +1 -0
- package/dist/checkout/api/countries.js +38 -0
- package/dist/checkout/api/countries.js.map +1 -0
- package/dist/checkout/api/index.js +11 -0
- package/dist/checkout/api/index.js.map +1 -0
- package/dist/checkout/api/payment-status.d.ts +45 -0
- package/dist/checkout/api/payment-status.d.ts.map +1 -0
- package/dist/checkout/api/payment-status.js +104 -0
- package/dist/checkout/api/payment-status.js.map +1 -0
- package/dist/checkout/api/shipping.d.ts +34 -0
- package/dist/checkout/api/shipping.d.ts.map +1 -0
- package/dist/checkout/api/shipping.js +247 -0
- package/dist/checkout/api/shipping.js.map +1 -0
- package/dist/checkout/api/webhook.js +55 -0
- package/dist/checkout/api/webhook.js.map +1 -0
- package/dist/checkout/components/CheckoutButton.d.ts +55 -0
- package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutButton.js +132 -0
- package/dist/checkout/components/CheckoutButton.js.map +1 -0
- package/dist/checkout/components/CheckoutFlow.d.ts +53 -0
- package/dist/checkout/components/CheckoutFlow.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutFlow.js +286 -0
- package/dist/checkout/components/CheckoutFlow.js.map +1 -0
- package/dist/checkout/components/CheckoutSuccess.d.ts +29 -0
- package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutSuccess.js +49 -0
- package/dist/checkout/components/CheckoutSuccess.js.map +1 -0
- package/dist/checkout/components/OrderSummary.d.ts +37 -0
- package/dist/checkout/components/OrderSummary.d.ts.map +1 -0
- package/dist/checkout/components/OrderSummary.js +71 -0
- package/dist/checkout/components/OrderSummary.js.map +1 -0
- package/dist/checkout/components/ShippingForm.d.ts +30 -0
- package/dist/checkout/components/ShippingForm.d.ts.map +1 -0
- package/dist/checkout/components/ShippingForm.js +185 -0
- package/dist/checkout/components/ShippingForm.js.map +1 -0
- package/dist/checkout/components/ShippingOptions.d.ts +51 -0
- package/dist/checkout/components/ShippingOptions.d.ts.map +1 -0
- package/dist/checkout/components/ShippingOptions.js +93 -0
- package/dist/checkout/components/ShippingOptions.js.map +1 -0
- package/dist/checkout/components/index.d.ts +12 -0
- package/dist/checkout/components/index.d.ts.map +1 -0
- package/dist/checkout/components/index.js +12 -0
- package/dist/checkout/components/index.js.map +1 -0
- package/dist/checkout/constants.d.ts +244 -0
- package/dist/checkout/constants.d.ts.map +1 -0
- package/dist/checkout/constants.js +119 -0
- package/dist/checkout/constants.js.map +1 -0
- package/dist/checkout/hooks/index.d.ts +9 -0
- package/dist/checkout/hooks/index.d.ts.map +1 -0
- package/dist/checkout/hooks/index.js +8 -0
- package/dist/checkout/hooks/index.js.map +1 -0
- package/dist/checkout/hooks/useCheckout.d.ts +38 -0
- package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
- package/dist/checkout/hooks/useCheckout.js +134 -0
- package/dist/checkout/hooks/useCheckout.js.map +1 -0
- package/dist/checkout/hooks/usePaymentStatus.d.ts +42 -0
- package/dist/checkout/hooks/usePaymentStatus.d.ts.map +1 -0
- package/dist/checkout/hooks/usePaymentStatus.js +71 -0
- package/dist/checkout/hooks/usePaymentStatus.js.map +1 -0
- package/dist/checkout/index.js +135 -0
- package/dist/checkout/index.js.map +1 -0
- package/dist/checkout/server/coupons.d.ts +91 -0
- package/dist/checkout/server/coupons.d.ts.map +1 -0
- package/dist/checkout/server/coupons.js +192 -0
- package/dist/checkout/server/coupons.js.map +1 -0
- package/dist/checkout/server/index.js +10 -0
- package/dist/checkout/server/index.js.map +1 -0
- package/dist/checkout/stripe/client.d.ts +74 -0
- package/dist/checkout/stripe/client.d.ts.map +1 -0
- package/dist/checkout/stripe/client.js +175 -0
- package/dist/checkout/stripe/client.js.map +1 -0
- package/dist/checkout/stripe/index.d.ts +7 -0
- package/dist/checkout/stripe/index.d.ts.map +1 -0
- package/dist/checkout/stripe/index.js +7 -0
- package/dist/checkout/stripe/index.js.map +1 -0
- package/dist/checkout/types.d.ts +489 -0
- package/dist/checkout/types.d.ts.map +1 -0
- package/dist/checkout/types.js +8 -0
- package/dist/checkout/types.js.map +1 -0
- package/dist/core/StoreSettingsProvider.d.ts +107 -0
- package/dist/core/StoreSettingsProvider.d.ts.map +1 -0
- package/dist/core/StoreSettingsProvider.js +200 -0
- package/dist/core/StoreSettingsProvider.js.map +1 -0
- package/dist/core/api/index.d.ts +7 -0
- package/dist/core/api/index.d.ts.map +1 -0
- package/dist/core/api/index.js +7 -0
- package/dist/core/api/index.js.map +1 -0
- package/dist/core/api/settings.d.ts +42 -0
- package/dist/core/api/settings.d.ts.map +1 -0
- package/dist/core/api/settings.js +74 -0
- package/dist/core/api/settings.js.map +1 -0
- package/dist/core/config.d.ts +270 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +80 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/cookie-consent/CookieBanner.d.ts +2 -0
- package/dist/core/cookie-consent/CookieBanner.d.ts.map +1 -0
- package/dist/core/cookie-consent/CookieBanner.js +243 -0
- package/dist/core/cookie-consent/CookieBanner.js.map +1 -0
- package/dist/core/cookie-consent/CookieConsentProvider.d.ts +53 -0
- package/dist/core/cookie-consent/CookieConsentProvider.d.ts.map +1 -0
- package/dist/core/cookie-consent/CookieConsentProvider.js +162 -0
- package/dist/core/cookie-consent/CookieConsentProvider.js.map +1 -0
- package/dist/core/cookie-consent/CookiePreferencesLink.d.ts +15 -0
- package/dist/core/cookie-consent/CookiePreferencesLink.d.ts.map +1 -0
- package/dist/core/cookie-consent/CookiePreferencesLink.js +12 -0
- package/dist/core/cookie-consent/CookiePreferencesLink.js.map +1 -0
- package/dist/core/cookie-consent/index.d.ts +17 -0
- package/dist/core/cookie-consent/index.d.ts.map +1 -0
- package/dist/core/cookie-consent/index.js +16 -0
- package/dist/core/cookie-consent/index.js.map +1 -0
- package/dist/core/cookie-consent/types.d.ts +31 -0
- package/dist/core/cookie-consent/types.d.ts.map +1 -0
- package/dist/core/cookie-consent/types.js +10 -0
- package/dist/core/cookie-consent/types.js.map +1 -0
- package/dist/core/cookie-consent/useCookieConsent.d.ts +14 -0
- package/dist/core/cookie-consent/useCookieConsent.d.ts.map +1 -0
- package/dist/core/cookie-consent/useCookieConsent.js +25 -0
- package/dist/core/cookie-consent/useCookieConsent.js.map +1 -0
- package/dist/core/db/client.d.ts +39 -0
- package/dist/core/db/client.d.ts.map +1 -0
- package/dist/core/db/client.js +86 -0
- package/dist/core/db/client.js.map +1 -0
- package/dist/core/db/index.d.ts +11 -0
- package/dist/core/db/index.d.ts.map +1 -0
- package/dist/core/db/index.js +36 -0
- package/dist/core/db/index.js.map +1 -0
- package/dist/core/db/queries.d.ts +1427 -0
- package/dist/core/db/queries.d.ts.map +1 -0
- package/dist/core/db/queries.js +1932 -0
- package/dist/core/db/queries.js.map +1 -0
- package/dist/core/db/schema.d.ts +3462 -0
- package/dist/core/db/schema.d.ts.map +1 -0
- package/dist/core/db/schema.js +495 -0
- package/dist/core/db/schema.js.map +1 -0
- package/dist/core/index.d.ts +22 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +43 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/server/index.d.ts +18 -0
- package/dist/core/server/index.d.ts.map +1 -0
- package/dist/core/server/index.js +47 -0
- package/dist/core/server/index.js.map +1 -0
- package/dist/core/types.d.ts +246 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +147 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +309 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/emails/config.d.ts +69 -0
- package/dist/emails/config.d.ts.map +1 -0
- package/dist/emails/config.js +147 -0
- package/dist/emails/config.js.map +1 -0
- package/dist/emails/index.d.ts +85 -0
- package/dist/emails/index.d.ts.map +1 -0
- package/dist/emails/index.js +110 -0
- package/dist/emails/index.js.map +1 -0
- package/dist/emails/send/admin-auth.d.ts +94 -0
- package/dist/emails/send/admin-auth.d.ts.map +1 -0
- package/dist/emails/send/admin-auth.js +118 -0
- package/dist/emails/send/admin-auth.js.map +1 -0
- package/dist/emails/send/auth.d.ts +91 -0
- package/dist/emails/send/auth.d.ts.map +1 -0
- package/dist/emails/send/auth.js +130 -0
- package/dist/emails/send/auth.js.map +1 -0
- package/dist/emails/send/index.d.ts +12 -0
- package/dist/emails/send/index.d.ts.map +1 -0
- package/dist/emails/send/index.js +18 -0
- package/dist/emails/send/index.js.map +1 -0
- package/dist/emails/send/orders.d.ts +186 -0
- package/dist/emails/send/orders.d.ts.map +1 -0
- package/dist/emails/send/orders.js +258 -0
- package/dist/emails/send/orders.js.map +1 -0
- package/dist/emails/sender.d.ts +72 -0
- package/dist/emails/sender.d.ts.map +1 -0
- package/dist/emails/sender.js +116 -0
- package/dist/emails/sender.js.map +1 -0
- package/dist/emails/templates/admin-invite.d.ts +40 -0
- package/dist/emails/templates/admin-invite.d.ts.map +1 -0
- package/dist/emails/templates/admin-invite.js +62 -0
- package/dist/emails/templates/admin-invite.js.map +1 -0
- package/dist/emails/templates/base.d.ts +109 -0
- package/dist/emails/templates/base.d.ts.map +1 -0
- package/dist/emails/templates/base.js +334 -0
- package/dist/emails/templates/base.js.map +1 -0
- package/dist/emails/templates/email-verification.d.ts +28 -0
- package/dist/emails/templates/email-verification.d.ts.map +1 -0
- package/dist/emails/templates/email-verification.js +52 -0
- package/dist/emails/templates/email-verification.js.map +1 -0
- package/dist/emails/templates/index.d.ts +16 -0
- package/dist/emails/templates/index.d.ts.map +1 -0
- package/dist/emails/templates/index.js +28 -0
- package/dist/emails/templates/index.js.map +1 -0
- package/dist/emails/templates/order-cancelled.d.ts +30 -0
- package/dist/emails/templates/order-cancelled.d.ts.map +1 -0
- package/dist/emails/templates/order-cancelled.js +83 -0
- package/dist/emails/templates/order-cancelled.js.map +1 -0
- package/dist/emails/templates/order-confirmation.d.ts +36 -0
- package/dist/emails/templates/order-confirmation.d.ts.map +1 -0
- package/dist/emails/templates/order-confirmation.js +174 -0
- package/dist/emails/templates/order-confirmation.js.map +1 -0
- package/dist/emails/templates/order-delivered.d.ts +31 -0
- package/dist/emails/templates/order-delivered.d.ts.map +1 -0
- package/dist/emails/templates/order-delivered.js +100 -0
- package/dist/emails/templates/order-delivered.js.map +1 -0
- package/dist/emails/templates/order-shipped.d.ts +32 -0
- package/dist/emails/templates/order-shipped.d.ts.map +1 -0
- package/dist/emails/templates/order-shipped.js +83 -0
- package/dist/emails/templates/order-shipped.js.map +1 -0
- package/dist/emails/templates/password-reset.d.ts +27 -0
- package/dist/emails/templates/password-reset.d.ts.map +1 -0
- package/dist/emails/templates/password-reset.js +51 -0
- package/dist/emails/templates/password-reset.js.map +1 -0
- package/dist/emails/templates/refund-processed.d.ts +32 -0
- package/dist/emails/templates/refund-processed.d.ts.map +1 -0
- package/dist/emails/templates/refund-processed.js +92 -0
- package/dist/emails/templates/refund-processed.js.map +1 -0
- package/dist/emails/templates/welcome.d.ts +27 -0
- package/dist/emails/templates/welcome.d.ts.map +1 -0
- package/dist/emails/templates/welcome.js +52 -0
- package/dist/emails/templates/welcome.js.map +1 -0
- package/dist/emails/types.d.ts +229 -0
- package/dist/emails/types.d.ts.map +1 -0
- package/dist/emails/types.js +7 -0
- package/dist/emails/types.js.map +1 -0
- package/dist/emails/utils.d.ts +94 -0
- package/dist/emails/utils.d.ts.map +1 -0
- package/dist/emails/utils.js +218 -0
- package/dist/emails/utils.js.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/media/api/delete.d.ts +43 -0
- package/dist/media/api/delete.d.ts.map +1 -0
- package/dist/media/api/delete.js +124 -0
- package/dist/media/api/delete.js.map +1 -0
- package/dist/media/api/index.d.ts +17 -0
- package/dist/media/api/index.d.ts.map +1 -0
- package/dist/media/api/index.js +17 -0
- package/dist/media/api/index.js.map +1 -0
- package/dist/media/api/presign.d.ts +38 -0
- package/dist/media/api/presign.d.ts.map +1 -0
- package/dist/media/api/presign.js +130 -0
- package/dist/media/api/presign.js.map +1 -0
- package/dist/media/components/DropZone.d.ts +18 -0
- package/dist/media/components/DropZone.d.ts.map +1 -0
- package/dist/media/components/DropZone.js +107 -0
- package/dist/media/components/DropZone.js.map +1 -0
- package/dist/media/components/ImageGalleryUpload.d.ts +21 -0
- package/dist/media/components/ImageGalleryUpload.d.ts.map +1 -0
- package/dist/media/components/ImageGalleryUpload.js +193 -0
- package/dist/media/components/ImageGalleryUpload.js.map +1 -0
- package/dist/media/components/ImageUpload.d.ts +17 -0
- package/dist/media/components/ImageUpload.d.ts.map +1 -0
- package/dist/media/components/ImageUpload.js +89 -0
- package/dist/media/components/ImageUpload.js.map +1 -0
- package/dist/media/components/index.d.ts +10 -0
- package/dist/media/components/index.d.ts.map +1 -0
- package/dist/media/components/index.js +9 -0
- package/dist/media/components/index.js.map +1 -0
- package/dist/media/config.d.ts +83 -0
- package/dist/media/config.d.ts.map +1 -0
- package/dist/media/config.js +189 -0
- package/dist/media/config.js.map +1 -0
- package/dist/media/hooks/index.d.ts +8 -0
- package/dist/media/hooks/index.d.ts.map +1 -0
- package/dist/media/hooks/index.js +7 -0
- package/dist/media/hooks/index.js.map +1 -0
- package/dist/media/hooks/useUpload.d.ts +32 -0
- package/dist/media/hooks/useUpload.d.ts.map +1 -0
- package/dist/media/hooks/useUpload.js +260 -0
- package/dist/media/hooks/useUpload.js.map +1 -0
- package/dist/media/index.d.ts +57 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +68 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/server/delete.d.ts +59 -0
- package/dist/media/server/delete.d.ts.map +1 -0
- package/dist/media/server/delete.js +176 -0
- package/dist/media/server/delete.js.map +1 -0
- package/dist/media/server/index.d.ts +10 -0
- package/dist/media/server/index.d.ts.map +1 -0
- package/dist/media/server/index.js +13 -0
- package/dist/media/server/index.js.map +1 -0
- package/dist/media/server/presign.d.ts +57 -0
- package/dist/media/server/presign.d.ts.map +1 -0
- package/dist/media/server/presign.js +112 -0
- package/dist/media/server/presign.js.map +1 -0
- package/dist/media/server/r2-client.d.ts +30 -0
- package/dist/media/server/r2-client.d.ts.map +1 -0
- package/dist/media/server/r2-client.js +76 -0
- package/dist/media/server/r2-client.js.map +1 -0
- package/dist/media/types.d.ts +316 -0
- package/dist/media/types.d.ts.map +1 -0
- package/dist/media/types.js +95 -0
- package/dist/media/types.js.map +1 -0
- package/dist/products/api/categories.d.ts +29 -0
- package/dist/products/api/categories.d.ts.map +1 -0
- package/dist/products/api/categories.js +46 -0
- package/dist/products/api/categories.js.map +1 -0
- package/dist/products/api/index.d.ts +24 -0
- package/dist/products/api/index.d.ts.map +1 -0
- package/dist/products/api/index.js +24 -0
- package/dist/products/api/index.js.map +1 -0
- package/dist/products/api/product.d.ts +36 -0
- package/dist/products/api/product.d.ts.map +1 -0
- package/dist/products/api/product.js +67 -0
- package/dist/products/api/product.js.map +1 -0
- package/dist/products/api/products.d.ts +41 -0
- package/dist/products/api/products.d.ts.map +1 -0
- package/dist/products/api/products.js +99 -0
- package/dist/products/api/products.js.map +1 -0
- package/dist/products/components/ProductCard.d.ts +54 -0
- package/dist/products/components/ProductCard.d.ts.map +1 -0
- package/dist/products/components/ProductCard.js +72 -0
- package/dist/products/components/ProductCard.js.map +1 -0
- package/dist/products/components/ProductDetails.d.ts +63 -0
- package/dist/products/components/ProductDetails.d.ts.map +1 -0
- package/dist/products/components/ProductDetails.js +137 -0
- package/dist/products/components/ProductDetails.js.map +1 -0
- package/dist/products/components/ProductGallery.d.ts +30 -0
- package/dist/products/components/ProductGallery.d.ts.map +1 -0
- package/dist/products/components/ProductGallery.js +91 -0
- package/dist/products/components/ProductGallery.js.map +1 -0
- package/dist/products/components/ProductGrid.d.ts +50 -0
- package/dist/products/components/ProductGrid.d.ts.map +1 -0
- package/dist/products/components/ProductGrid.js +81 -0
- package/dist/products/components/ProductGrid.js.map +1 -0
- package/dist/products/components/ProductSearch.d.ts +43 -0
- package/dist/products/components/ProductSearch.d.ts.map +1 -0
- package/dist/products/components/ProductSearch.js +97 -0
- package/dist/products/components/ProductSearch.js.map +1 -0
- package/dist/products/components/ProductSort.d.ts +43 -0
- package/dist/products/components/ProductSort.d.ts.map +1 -0
- package/dist/products/components/ProductSort.js +59 -0
- package/dist/products/components/ProductSort.js.map +1 -0
- package/dist/products/components/VariantSelector.d.ts +43 -0
- package/dist/products/components/VariantSelector.d.ts.map +1 -0
- package/dist/products/components/VariantSelector.js +147 -0
- package/dist/products/components/VariantSelector.js.map +1 -0
- package/dist/products/components/index.d.ts +20 -0
- package/dist/products/components/index.d.ts.map +1 -0
- package/dist/products/components/index.js +15 -0
- package/dist/products/components/index.js.map +1 -0
- package/dist/products/hooks/index.d.ts +10 -0
- package/dist/products/hooks/index.d.ts.map +1 -0
- package/dist/products/hooks/index.js +8 -0
- package/dist/products/hooks/index.js.map +1 -0
- package/dist/products/hooks/useProduct.d.ts +44 -0
- package/dist/products/hooks/useProduct.d.ts.map +1 -0
- package/dist/products/hooks/useProduct.js +87 -0
- package/dist/products/hooks/useProduct.js.map +1 -0
- package/dist/products/hooks/useProducts.d.ts +67 -0
- package/dist/products/hooks/useProducts.d.ts.map +1 -0
- package/dist/products/hooks/useProducts.js +131 -0
- package/dist/products/hooks/useProducts.js.map +1 -0
- package/dist/products/index.d.ts +69 -0
- package/dist/products/index.d.ts.map +1 -0
- package/dist/products/index.js +79 -0
- package/dist/products/index.js.map +1 -0
- package/dist/shipping/index.d.ts +8 -0
- package/dist/shipping/index.d.ts.map +1 -0
- package/dist/shipping/index.js +8 -0
- package/dist/shipping/index.js.map +1 -0
- package/dist/shipping/shippo.d.ts +77 -0
- package/dist/shipping/shippo.d.ts.map +1 -0
- package/dist/shipping/shippo.js +280 -0
- package/dist/shipping/shippo.js.map +1 -0
- package/dist/theme/colors.d.ts +134 -0
- package/dist/theme/colors.d.ts.map +1 -0
- package/dist/theme/colors.js +214 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/defaults.d.ts +133 -0
- package/dist/theme/defaults.d.ts.map +1 -0
- package/dist/theme/defaults.js +210 -0
- package/dist/theme/defaults.js.map +1 -0
- package/dist/theme/fonts.d.ts +28 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +55 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/generator.d.ts +43 -0
- package/dist/theme/generator.d.ts.map +1 -0
- package/dist/theme/generator.js +272 -0
- package/dist/theme/generator.js.map +1 -0
- package/dist/theme/index.d.ts +23 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +30 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +2 -2
- /package/dist/admin/{admin-theme.css → styles/admin-theme.css} +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela-ai/sdk/media/server/r2-client
|
|
3
|
+
*
|
|
4
|
+
* S3-compatible client for Cloudflare R2 storage.
|
|
5
|
+
* Server-side only - do not import in client components.
|
|
6
|
+
*/
|
|
7
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
8
|
+
import { requireMediaConfig } from '../config';
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Client Instance Management
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/** Cached S3 client instance */
|
|
13
|
+
let cachedClient = null;
|
|
14
|
+
/** Cached config used to create the client */
|
|
15
|
+
let cachedConfigHash = null;
|
|
16
|
+
/**
|
|
17
|
+
* Create a hash of the config for cache invalidation
|
|
18
|
+
*/
|
|
19
|
+
function hashConfig(config) {
|
|
20
|
+
return `${config.accountId}:${config.bucketName}:${config.accessKeyId.slice(0, 8)}`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get or create the S3 client for R2.
|
|
24
|
+
* Caches the client instance for reuse.
|
|
25
|
+
*/
|
|
26
|
+
export function getR2Client(config) {
|
|
27
|
+
const resolvedConfig = config || requireMediaConfig();
|
|
28
|
+
const configHash = hashConfig(resolvedConfig);
|
|
29
|
+
// Return cached client if config hasn't changed
|
|
30
|
+
if (cachedClient && cachedConfigHash === configHash) {
|
|
31
|
+
return cachedClient;
|
|
32
|
+
}
|
|
33
|
+
// Create new client
|
|
34
|
+
cachedClient = new S3Client({
|
|
35
|
+
region: 'auto',
|
|
36
|
+
endpoint: `https://${resolvedConfig.accountId}.r2.cloudflarestorage.com`,
|
|
37
|
+
credentials: {
|
|
38
|
+
accessKeyId: resolvedConfig.accessKeyId,
|
|
39
|
+
secretAccessKey: resolvedConfig.secretAccessKey,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
cachedConfigHash = configHash;
|
|
43
|
+
return cachedClient;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Clear the cached client (useful for testing)
|
|
47
|
+
*/
|
|
48
|
+
export function clearR2ClientCache() {
|
|
49
|
+
cachedClient = null;
|
|
50
|
+
cachedConfigHash = null;
|
|
51
|
+
}
|
|
52
|
+
// =============================================================================
|
|
53
|
+
// Bucket Operations
|
|
54
|
+
// =============================================================================
|
|
55
|
+
/**
|
|
56
|
+
* Get the configured bucket name
|
|
57
|
+
*/
|
|
58
|
+
export function getBucketName(config) {
|
|
59
|
+
const resolvedConfig = config || requireMediaConfig();
|
|
60
|
+
return resolvedConfig.bucketName;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the public URL base for the bucket
|
|
64
|
+
*/
|
|
65
|
+
export function getPublicUrlBase(config) {
|
|
66
|
+
const resolvedConfig = config || requireMediaConfig();
|
|
67
|
+
return resolvedConfig.publicUrl;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the store ID for path prefixing
|
|
71
|
+
*/
|
|
72
|
+
export function getStoreId(config) {
|
|
73
|
+
const resolvedConfig = config || requireMediaConfig();
|
|
74
|
+
return resolvedConfig.storeId;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=r2-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r2-client.js","sourceRoot":"","sources":["../../../src/media/server/r2-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF,gCAAgC;AAChC,IAAI,YAAY,GAAoB,IAAI,CAAA;AAExC,8CAA8C;AAC9C,IAAI,gBAAgB,GAAkB,IAAI,CAAA;AAE1C;;GAEG;AACH,SAAS,UAAU,CAAC,MAA0B;IAC5C,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACrF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAA2B;IACrD,MAAM,cAAc,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAA;IACrD,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE7C,gDAAgD;IAChD,IAAI,YAAY,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;QACpD,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,oBAAoB;IACpB,YAAY,GAAG,IAAI,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,WAAW,cAAc,CAAC,SAAS,2BAA2B;QACxE,WAAW,EAAE;YACX,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,eAAe,EAAE,cAAc,CAAC,eAAe;SAChD;KACF,CAAC,CAAA;IAEF,gBAAgB,GAAG,UAAU,CAAA;IAE7B,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,YAAY,GAAG,IAAI,CAAA;IACnB,gBAAgB,GAAG,IAAI,CAAA;AACzB,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,cAAc,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAA;IACrD,OAAO,cAAc,CAAC,UAAU,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,MAAM,cAAc,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAA;IACrD,OAAO,cAAc,CAAC,SAAS,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAA2B;IACpD,MAAM,cAAc,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAA;IACrD,OAAO,cAAc,CAAC,OAAO,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela-ai/sdk/media/types
|
|
3
|
+
*
|
|
4
|
+
* TypeScript type definitions for media upload functionality.
|
|
5
|
+
* Supports product images, category covers, and variant swatches.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* R2/S3 storage configuration
|
|
9
|
+
*/
|
|
10
|
+
export interface MediaStorageConfig {
|
|
11
|
+
/** Cloudflare account ID (for R2) */
|
|
12
|
+
accountId: string;
|
|
13
|
+
/** S3-compatible access key */
|
|
14
|
+
accessKeyId: string;
|
|
15
|
+
/** S3-compatible secret key */
|
|
16
|
+
secretAccessKey: string;
|
|
17
|
+
/** Bucket name */
|
|
18
|
+
bucketName: string;
|
|
19
|
+
/** Public URL for accessing uploaded files */
|
|
20
|
+
publicUrl: string;
|
|
21
|
+
/** Store ID for path prefixing */
|
|
22
|
+
storeId: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Upload constraints configuration
|
|
26
|
+
*/
|
|
27
|
+
export interface UploadConfig {
|
|
28
|
+
/** Maximum file size in bytes (default: 10MB) */
|
|
29
|
+
maxSizeBytes: number;
|
|
30
|
+
/** Allowed MIME types */
|
|
31
|
+
allowedTypes: string[];
|
|
32
|
+
/** Maximum files for batch uploads */
|
|
33
|
+
maxFiles: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Default upload configuration (image-only).
|
|
37
|
+
*
|
|
38
|
+
* Used by single-image surfaces (logos, category covers, variant swatches)
|
|
39
|
+
* where accepting video would break downstream rendering. DO NOT widen this
|
|
40
|
+
* to include video MIMEs — use `DEFAULT_MEDIA_UPLOAD_CONFIG` for surfaces
|
|
41
|
+
* that legitimately accept both kinds.
|
|
42
|
+
*/
|
|
43
|
+
export declare const DEFAULT_UPLOAD_CONFIG: UploadConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Allowed video MIME types across the platform.
|
|
46
|
+
* MP4 (H.264) is the universal baseline; WebM and QuickTime/MOV are accepted
|
|
47
|
+
* because browsers + iOS export them natively. Other formats are rejected.
|
|
48
|
+
*/
|
|
49
|
+
export declare const VIDEO_MIME_TYPES: readonly ["video/mp4", "video/webm", "video/quicktime"];
|
|
50
|
+
/**
|
|
51
|
+
* Default media upload configuration (images + videos).
|
|
52
|
+
*
|
|
53
|
+
* Used by product galleries and any surface where merchants legitimately
|
|
54
|
+
* upload either kind. 100MB cap is the platform-wide ceiling.
|
|
55
|
+
*/
|
|
56
|
+
export declare const DEFAULT_MEDIA_UPLOAD_CONFIG: UploadConfig;
|
|
57
|
+
/**
|
|
58
|
+
* Detect whether a URL points at a video asset by file extension.
|
|
59
|
+
* Used by gallery components to decide between `<img>` and `<video>` rendering.
|
|
60
|
+
*/
|
|
61
|
+
export declare function isVideoUrl(url: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Detect whether a MIME type is a video.
|
|
64
|
+
*/
|
|
65
|
+
export declare function isVideoMime(mime: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Folder types for organizing uploads
|
|
68
|
+
*/
|
|
69
|
+
export type MediaFolder = 'products' | 'categories' | 'variants' | 'general';
|
|
70
|
+
/**
|
|
71
|
+
* Request to generate a presigned upload URL
|
|
72
|
+
*/
|
|
73
|
+
export interface PresignedUrlRequest {
|
|
74
|
+
/** Original filename (used for extension) */
|
|
75
|
+
filename: string;
|
|
76
|
+
/** MIME type of the file */
|
|
77
|
+
contentType: string;
|
|
78
|
+
/** Target folder for organization */
|
|
79
|
+
folder: MediaFolder;
|
|
80
|
+
/** Optional entity ID (productId, categoryId, etc.) */
|
|
81
|
+
entityId?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Response containing presigned URL details
|
|
85
|
+
*/
|
|
86
|
+
export interface PresignedUrlResponse {
|
|
87
|
+
/** Presigned PUT URL for uploading */
|
|
88
|
+
uploadUrl: string;
|
|
89
|
+
/** Final public URL after upload completes */
|
|
90
|
+
publicUrl: string;
|
|
91
|
+
/** Generated unique key/path in storage */
|
|
92
|
+
key: string;
|
|
93
|
+
/** URL expiration timestamp */
|
|
94
|
+
expiresAt: Date;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Upload progress information
|
|
98
|
+
*/
|
|
99
|
+
export interface UploadProgress {
|
|
100
|
+
/** Bytes uploaded so far */
|
|
101
|
+
loaded: number;
|
|
102
|
+
/** Total bytes to upload */
|
|
103
|
+
total: number;
|
|
104
|
+
/** Progress percentage (0-100) */
|
|
105
|
+
percentage: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Status of an upload operation
|
|
109
|
+
*/
|
|
110
|
+
export type UploadStatus = 'idle' | 'preparing' | 'uploading' | 'success' | 'error';
|
|
111
|
+
/**
|
|
112
|
+
* Result of a completed upload
|
|
113
|
+
*/
|
|
114
|
+
export interface UploadResult {
|
|
115
|
+
/** Whether upload succeeded */
|
|
116
|
+
success: boolean;
|
|
117
|
+
/** Final public URL (only if success) */
|
|
118
|
+
url?: string;
|
|
119
|
+
/** Original filename */
|
|
120
|
+
filename: string;
|
|
121
|
+
/** File size in bytes */
|
|
122
|
+
size: number;
|
|
123
|
+
/** MIME type */
|
|
124
|
+
contentType: string;
|
|
125
|
+
/** Error message (only if failed) */
|
|
126
|
+
error?: string;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* State for tracking an upload in progress
|
|
130
|
+
*/
|
|
131
|
+
export interface UploadState {
|
|
132
|
+
/** Current status */
|
|
133
|
+
status: UploadStatus;
|
|
134
|
+
/** Progress information (during upload) */
|
|
135
|
+
progress: UploadProgress | null;
|
|
136
|
+
/** Result (after completion) */
|
|
137
|
+
result: UploadResult | null;
|
|
138
|
+
/** Error message (if failed) */
|
|
139
|
+
error: string | null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* API request body for presign endpoint
|
|
143
|
+
*/
|
|
144
|
+
export interface PresignApiRequest {
|
|
145
|
+
filename: string;
|
|
146
|
+
contentType: string;
|
|
147
|
+
folder: MediaFolder;
|
|
148
|
+
entityId?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* API response from presign endpoint
|
|
152
|
+
*/
|
|
153
|
+
export interface PresignApiResponse {
|
|
154
|
+
success: boolean;
|
|
155
|
+
data?: PresignedUrlResponse;
|
|
156
|
+
error?: string;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* API request body for delete endpoint
|
|
160
|
+
*/
|
|
161
|
+
export interface DeleteApiRequest {
|
|
162
|
+
/** URL or key of the file to delete */
|
|
163
|
+
url: string;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* API response from delete endpoint
|
|
167
|
+
*/
|
|
168
|
+
export interface DeleteApiResponse {
|
|
169
|
+
success: boolean;
|
|
170
|
+
error?: string;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Standard API error response
|
|
174
|
+
*/
|
|
175
|
+
export interface MediaApiError {
|
|
176
|
+
success: false;
|
|
177
|
+
error: string;
|
|
178
|
+
code?: string;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Options for useUpload hook
|
|
182
|
+
*/
|
|
183
|
+
export interface UseUploadOptions {
|
|
184
|
+
/** Target folder for uploads */
|
|
185
|
+
folder: MediaFolder;
|
|
186
|
+
/** Associated entity ID */
|
|
187
|
+
entityId?: string;
|
|
188
|
+
/** Upload configuration overrides */
|
|
189
|
+
config?: Partial<UploadConfig>;
|
|
190
|
+
/** Callback when upload completes */
|
|
191
|
+
onSuccess?: (result: UploadResult) => void;
|
|
192
|
+
/** Callback when upload fails */
|
|
193
|
+
onError?: (error: string) => void;
|
|
194
|
+
/** Callback for progress updates */
|
|
195
|
+
onProgress?: (progress: UploadProgress) => void;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Return type of useUpload hook
|
|
199
|
+
*/
|
|
200
|
+
export interface UseUploadReturn {
|
|
201
|
+
/** Upload a single file */
|
|
202
|
+
upload: (file: File) => Promise<UploadResult>;
|
|
203
|
+
/** Upload multiple files */
|
|
204
|
+
uploadMultiple: (files: File[]) => Promise<UploadResult[]>;
|
|
205
|
+
/** Current upload status */
|
|
206
|
+
status: UploadStatus;
|
|
207
|
+
/** Current progress (if uploading) */
|
|
208
|
+
progress: UploadProgress | null;
|
|
209
|
+
/** Whether currently uploading */
|
|
210
|
+
isUploading: boolean;
|
|
211
|
+
/** Current error (if any) */
|
|
212
|
+
error: string | null;
|
|
213
|
+
/** Reset state to idle */
|
|
214
|
+
reset: () => void;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Props for DropZone component
|
|
218
|
+
*/
|
|
219
|
+
export interface DropZoneProps {
|
|
220
|
+
/** Called when files are dropped/selected */
|
|
221
|
+
onFiles: (files: File[]) => void;
|
|
222
|
+
/** Whether to accept multiple files */
|
|
223
|
+
multiple?: boolean;
|
|
224
|
+
/** Accepted file types (MIME) */
|
|
225
|
+
accept?: string[];
|
|
226
|
+
/** Maximum file size in bytes */
|
|
227
|
+
maxSize?: number;
|
|
228
|
+
/** Whether the dropzone is disabled */
|
|
229
|
+
disabled?: boolean;
|
|
230
|
+
/** Additional CSS classes */
|
|
231
|
+
className?: string;
|
|
232
|
+
/** Custom content inside dropzone */
|
|
233
|
+
children?: React.ReactNode;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Props for ImageUpload component
|
|
237
|
+
*/
|
|
238
|
+
export interface ImageUploadProps {
|
|
239
|
+
/** Current image URL (null if no image) */
|
|
240
|
+
value: string | null;
|
|
241
|
+
/** Called when image changes (updates local state) */
|
|
242
|
+
onChange: (url: string | null) => void;
|
|
243
|
+
/** Called to persist image to database (for auto-save in edit mode) */
|
|
244
|
+
onSave?: (url: string | null) => Promise<void>;
|
|
245
|
+
/** Target folder for uploads */
|
|
246
|
+
folder: MediaFolder;
|
|
247
|
+
/** Associated entity ID */
|
|
248
|
+
entityId?: string;
|
|
249
|
+
/** Maximum file size in MB */
|
|
250
|
+
maxSizeMB?: number;
|
|
251
|
+
/** Whether upload is disabled */
|
|
252
|
+
disabled?: boolean;
|
|
253
|
+
/** Additional CSS classes */
|
|
254
|
+
className?: string;
|
|
255
|
+
/** Placeholder text when no image */
|
|
256
|
+
placeholder?: string;
|
|
257
|
+
/** Aspect ratio for preview (e.g., "1/1", "16/9") */
|
|
258
|
+
aspectRatio?: string;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Props for ImageGalleryUpload component. Images via `value`/`onChange`,
|
|
262
|
+
* videos via `videos`/`onVideosChange` — separate setters mirror the data
|
|
263
|
+
* model (`products.images` + `products.videos` as separate jsonb columns).
|
|
264
|
+
* The component renders them in a single combined gallery; drag-to-reorder
|
|
265
|
+
* works across the boundary and re-splits into the two arrays on drop.
|
|
266
|
+
*/
|
|
267
|
+
export interface ImageGalleryUploadProps {
|
|
268
|
+
/** Current array of image URLs */
|
|
269
|
+
value: string[];
|
|
270
|
+
/** Called when images change (updates local state) */
|
|
271
|
+
onChange: (urls: string[]) => void;
|
|
272
|
+
/** Current array of video URLs (optional — image-only callers can omit) */
|
|
273
|
+
videos?: string[];
|
|
274
|
+
/** Called when videos change (optional — paired with `videos`) */
|
|
275
|
+
onVideosChange?: (urls: string[]) => void;
|
|
276
|
+
/**
|
|
277
|
+
* Called to persist media to the database after a change. Receives
|
|
278
|
+
* BOTH arrays so a single transaction can save the new state. Note: the
|
|
279
|
+
* older single-arg signature `(urls) => Promise<void>` is structurally
|
|
280
|
+
* compatible — TypeScript permits ignoring extra args — so callers that
|
|
281
|
+
* don't care about videos still type-check.
|
|
282
|
+
*/
|
|
283
|
+
onSave?: (images: string[], videos: string[]) => Promise<void>;
|
|
284
|
+
/** Target folder for uploads */
|
|
285
|
+
folder: MediaFolder;
|
|
286
|
+
/** Associated entity ID */
|
|
287
|
+
entityId?: string;
|
|
288
|
+
/** Maximum number of media items allowed (images + videos combined) */
|
|
289
|
+
maxImages?: number;
|
|
290
|
+
/** Maximum file size in MB (default 100, covers the platform-wide video cap) */
|
|
291
|
+
maxSizeMB?: number;
|
|
292
|
+
/** Whether upload is disabled */
|
|
293
|
+
disabled?: boolean;
|
|
294
|
+
/** Additional CSS classes */
|
|
295
|
+
className?: string;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* File validation result
|
|
299
|
+
*/
|
|
300
|
+
export interface FileValidation {
|
|
301
|
+
valid: boolean;
|
|
302
|
+
error?: string;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Validate a file against upload constraints
|
|
306
|
+
*/
|
|
307
|
+
export declare function validateFile(file: File, config?: UploadConfig): FileValidation;
|
|
308
|
+
/**
|
|
309
|
+
* Get file extension from filename
|
|
310
|
+
*/
|
|
311
|
+
export declare function getFileExtension(filename: string): string;
|
|
312
|
+
/**
|
|
313
|
+
* Generate a unique filename with timestamp and random suffix
|
|
314
|
+
*/
|
|
315
|
+
export declare function generateUniqueFilename(originalFilename: string): string;
|
|
316
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/media/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela-ai/sdk/media/types
|
|
3
|
+
*
|
|
4
|
+
* TypeScript type definitions for media upload functionality.
|
|
5
|
+
* Supports product images, category covers, and variant swatches.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Default upload configuration (image-only).
|
|
9
|
+
*
|
|
10
|
+
* Used by single-image surfaces (logos, category covers, variant swatches)
|
|
11
|
+
* where accepting video would break downstream rendering. DO NOT widen this
|
|
12
|
+
* to include video MIMEs — use `DEFAULT_MEDIA_UPLOAD_CONFIG` for surfaces
|
|
13
|
+
* that legitimately accept both kinds.
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_UPLOAD_CONFIG = {
|
|
16
|
+
maxSizeBytes: 10 * 1024 * 1024, // 10MB
|
|
17
|
+
allowedTypes: ['image/jpeg', 'image/png', 'image/webp', 'image/gif'],
|
|
18
|
+
maxFiles: 10,
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Allowed video MIME types across the platform.
|
|
22
|
+
* MP4 (H.264) is the universal baseline; WebM and QuickTime/MOV are accepted
|
|
23
|
+
* because browsers + iOS export them natively. Other formats are rejected.
|
|
24
|
+
*/
|
|
25
|
+
export const VIDEO_MIME_TYPES = ['video/mp4', 'video/webm', 'video/quicktime'];
|
|
26
|
+
/**
|
|
27
|
+
* Default media upload configuration (images + videos).
|
|
28
|
+
*
|
|
29
|
+
* Used by product galleries and any surface where merchants legitimately
|
|
30
|
+
* upload either kind. 100MB cap is the platform-wide ceiling.
|
|
31
|
+
*/
|
|
32
|
+
export const DEFAULT_MEDIA_UPLOAD_CONFIG = {
|
|
33
|
+
maxSizeBytes: 100 * 1024 * 1024, // 100MB
|
|
34
|
+
allowedTypes: [
|
|
35
|
+
'image/jpeg',
|
|
36
|
+
'image/png',
|
|
37
|
+
'image/webp',
|
|
38
|
+
'image/gif',
|
|
39
|
+
...VIDEO_MIME_TYPES,
|
|
40
|
+
],
|
|
41
|
+
maxFiles: 10,
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Detect whether a URL points at a video asset by file extension.
|
|
45
|
+
* Used by gallery components to decide between `<img>` and `<video>` rendering.
|
|
46
|
+
*/
|
|
47
|
+
export function isVideoUrl(url) {
|
|
48
|
+
// Strip query string + fragment so e.g. signed URLs still match
|
|
49
|
+
const path = url.split('?')[0].split('#')[0].toLowerCase();
|
|
50
|
+
return path.endsWith('.mp4') || path.endsWith('.webm') || path.endsWith('.mov');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Detect whether a MIME type is a video.
|
|
54
|
+
*/
|
|
55
|
+
export function isVideoMime(mime) {
|
|
56
|
+
return mime.startsWith('video/');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate a file against upload constraints
|
|
60
|
+
*/
|
|
61
|
+
export function validateFile(file, config = DEFAULT_UPLOAD_CONFIG) {
|
|
62
|
+
// Check file size
|
|
63
|
+
if (file.size > config.maxSizeBytes) {
|
|
64
|
+
const maxMB = Math.round(config.maxSizeBytes / (1024 * 1024));
|
|
65
|
+
return {
|
|
66
|
+
valid: false,
|
|
67
|
+
error: `File size exceeds ${maxMB}MB limit`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// Check file type
|
|
71
|
+
if (!config.allowedTypes.includes(file.type)) {
|
|
72
|
+
return {
|
|
73
|
+
valid: false,
|
|
74
|
+
error: `File type ${file.type} is not allowed`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return { valid: true };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get file extension from filename
|
|
81
|
+
*/
|
|
82
|
+
export function getFileExtension(filename) {
|
|
83
|
+
const parts = filename.split('.');
|
|
84
|
+
return parts.length > 1 ? parts.pop().toLowerCase() : '';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Generate a unique filename with timestamp and random suffix
|
|
88
|
+
*/
|
|
89
|
+
export function generateUniqueFilename(originalFilename) {
|
|
90
|
+
const ext = getFileExtension(originalFilename);
|
|
91
|
+
const timestamp = Date.now();
|
|
92
|
+
const random = Math.random().toString(36).substring(2, 8);
|
|
93
|
+
return ext ? `${timestamp}_${random}.${ext}` : `${timestamp}_${random}`;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/media/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/products/api/categories
|
|
3
|
+
*
|
|
4
|
+
* API route handler for categories endpoint.
|
|
5
|
+
* Provides GET /api/categories with hierarchical structure.
|
|
6
|
+
*
|
|
7
|
+
* Usage in Next.js App Router:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // app/api/categories/route.ts
|
|
10
|
+
* export { GET } from '@rovela/sdk/products/api'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import { NextResponse } from 'next/server';
|
|
14
|
+
import { findCategories } from '../../core/db/queries';
|
|
15
|
+
export interface CategoriesApiResponse {
|
|
16
|
+
data: Awaited<ReturnType<typeof findCategories>>;
|
|
17
|
+
}
|
|
18
|
+
export interface CategoriesApiError {
|
|
19
|
+
error: string;
|
|
20
|
+
code: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* GET /api/categories
|
|
24
|
+
*
|
|
25
|
+
* Returns all categories for the current tenant, ordered by sort order.
|
|
26
|
+
* Categories include parentId for building hierarchical navigation.
|
|
27
|
+
*/
|
|
28
|
+
export declare function GET(): Promise<NextResponse<CategoriesApiResponse | CategoriesApiError>>;
|
|
29
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAMtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAMD;;;;;GAKG;AACH,wBAAsB,GAAG,IAAI,OAAO,CAClC,YAAY,CAAC,qBAAqB,GAAG,kBAAkB,CAAC,CACzD,CA6BA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/products/api/categories
|
|
3
|
+
*
|
|
4
|
+
* API route handler for categories endpoint.
|
|
5
|
+
* Provides GET /api/categories with hierarchical structure.
|
|
6
|
+
*
|
|
7
|
+
* Usage in Next.js App Router:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // app/api/categories/route.ts
|
|
10
|
+
* export { GET } from '@rovela/sdk/products/api'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import { NextResponse } from 'next/server';
|
|
14
|
+
import { findCategories } from '../../core/db/queries';
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Handler
|
|
17
|
+
// =============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* GET /api/categories
|
|
20
|
+
*
|
|
21
|
+
* Returns all categories for the current tenant, ordered by sort order.
|
|
22
|
+
* Categories include parentId for building hierarchical navigation.
|
|
23
|
+
*/
|
|
24
|
+
export async function GET() {
|
|
25
|
+
try {
|
|
26
|
+
const categories = await findCategories();
|
|
27
|
+
return NextResponse.json({
|
|
28
|
+
data: categories,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('[Categories API] Error:', error);
|
|
33
|
+
// Handle tenant not set error gracefully
|
|
34
|
+
if (error instanceof Error && error.message.includes('Tenant ID not set')) {
|
|
35
|
+
return NextResponse.json({
|
|
36
|
+
error: 'Store not configured. Please set TENANT_ID environment variable.',
|
|
37
|
+
code: 'TENANT_NOT_SET',
|
|
38
|
+
}, { status: 500 });
|
|
39
|
+
}
|
|
40
|
+
return NextResponse.json({
|
|
41
|
+
error: 'Failed to fetch categories',
|
|
42
|
+
code: 'INTERNAL_ERROR',
|
|
43
|
+
}, { status: 500 });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAetD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG;IAGvB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QAEzC,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAE/C,yCAAyC;QACzC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,OAAO,YAAY,CAAC,IAAI,CACtB;gBACE,KAAK,EAAE,kEAAkE;gBACzE,IAAI,EAAE,gBAAgB;aACvB,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;QACH,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CACtB;YACE,KAAK,EAAE,4BAA4B;YACnC,IAAI,EAAE,gBAAgB;SACvB,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/products/api
|
|
3
|
+
*
|
|
4
|
+
* API route handlers for product-related endpoints.
|
|
5
|
+
*
|
|
6
|
+
* Usage in Next.js App Router:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // app/api/products/route.ts
|
|
9
|
+
* export { GET as getProducts } from '@rovela/sdk/products/api'
|
|
10
|
+
*
|
|
11
|
+
* // app/api/products/[slug]/route.ts
|
|
12
|
+
* export { getProduct as GET } from '@rovela/sdk/products/api'
|
|
13
|
+
*
|
|
14
|
+
* // app/api/categories/route.ts
|
|
15
|
+
* export { getCategories as GET } from '@rovela/sdk/products/api'
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export { GET as getProducts } from './products';
|
|
19
|
+
export type { ProductsApiResponse, ProductsApiError } from './products';
|
|
20
|
+
export { GET as getProduct } from './product';
|
|
21
|
+
export type { ProductApiResponse, ProductApiError } from './product';
|
|
22
|
+
export { GET as getCategories } from './categories';
|
|
23
|
+
export type { CategoriesApiResponse, CategoriesApiError } from './categories';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/products/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGvE,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGpE,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AACnD,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/products/api
|
|
3
|
+
*
|
|
4
|
+
* API route handlers for product-related endpoints.
|
|
5
|
+
*
|
|
6
|
+
* Usage in Next.js App Router:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // app/api/products/route.ts
|
|
9
|
+
* export { GET as getProducts } from '@rovela/sdk/products/api'
|
|
10
|
+
*
|
|
11
|
+
* // app/api/products/[slug]/route.ts
|
|
12
|
+
* export { getProduct as GET } from '@rovela/sdk/products/api'
|
|
13
|
+
*
|
|
14
|
+
* // app/api/categories/route.ts
|
|
15
|
+
* export { getCategories as GET } from '@rovela/sdk/products/api'
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
// Products list handler
|
|
19
|
+
export { GET as getProducts } from './products';
|
|
20
|
+
// Single product handler
|
|
21
|
+
export { GET as getProduct } from './product';
|
|
22
|
+
// Categories handler
|
|
23
|
+
export { GET as getCategories } from './categories';
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/products/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAwB;AACxB,OAAO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAG/C,yBAAyB;AACzB,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AAG7C,qBAAqB;AACrB,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA"}
|