@rovela-ai/sdk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/api/auth.d.ts +32 -0
- package/dist/admin/api/auth.d.ts.map +1 -0
- package/dist/admin/api/auth.js +43 -0
- package/dist/admin/api/auth.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 +247 -0
- package/dist/admin/api/categories.js.map +1 -0
- package/dist/admin/api/customers.d.ts +41 -0
- package/dist/admin/api/customers.d.ts.map +1 -0
- package/dist/admin/api/customers.js +113 -0
- package/dist/admin/api/customers.js.map +1 -0
- package/dist/admin/api/index.d.ts +56 -0
- package/dist/admin/api/index.d.ts.map +1 -0
- package/dist/admin/api/index.js +87 -0
- package/dist/admin/api/index.js.map +1 -0
- package/dist/admin/api/orders.d.ts +59 -0
- package/dist/admin/api/orders.d.ts.map +1 -0
- package/dist/admin/api/orders.js +209 -0
- package/dist/admin/api/orders.js.map +1 -0
- package/dist/admin/api/products.d.ts +103 -0
- package/dist/admin/api/products.d.ts.map +1 -0
- package/dist/admin/api/products.js +329 -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 +136 -0
- package/dist/admin/api/refund.js.map +1 -0
- package/dist/admin/api/stats.d.ts +40 -0
- package/dist/admin/api/stats.d.ts.map +1 -0
- package/dist/admin/api/stats.js +74 -0
- package/dist/admin/api/stats.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 +97 -0
- package/dist/admin/components/AdminGuard.js.map +1 -0
- package/dist/admin/components/AdminHeader.d.ts +18 -0
- package/dist/admin/components/AdminHeader.d.ts.map +1 -0
- package/dist/admin/components/AdminHeader.js +33 -0
- package/dist/admin/components/AdminHeader.js.map +1 -0
- package/dist/admin/components/AdminLayout.d.ts +50 -0
- package/dist/admin/components/AdminLayout.d.ts.map +1 -0
- package/dist/admin/components/AdminLayout.js +46 -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 +58 -0
- package/dist/admin/components/AdminLoginForm.js.map +1 -0
- package/dist/admin/components/AdminNav.d.ts +34 -0
- package/dist/admin/components/AdminNav.d.ts.map +1 -0
- package/dist/admin/components/AdminNav.js +61 -0
- package/dist/admin/components/AdminNav.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 +83 -0
- package/dist/admin/components/InventoryEditor.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 +35 -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 +94 -0
- package/dist/admin/components/OrderDetails.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 +89 -0
- package/dist/admin/components/OrderTable.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 +127 -0
- package/dist/admin/components/ProductForm.js.map +1 -0
- package/dist/admin/components/ProductTable.d.ts +13 -0
- package/dist/admin/components/ProductTable.d.ts.map +1 -0
- package/dist/admin/components/ProductTable.js +81 -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 +58 -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 +86 -0
- package/dist/admin/components/RefundDialog.js.map +1 -0
- package/dist/admin/components/StatsCards.d.ts +23 -0
- package/dist/admin/components/StatsCards.d.ts.map +1 -0
- package/dist/admin/components/StatsCards.js +82 -0
- package/dist/admin/components/StatsCards.js.map +1 -0
- package/dist/admin/components/StoreSettings.d.ts +14 -0
- package/dist/admin/components/StoreSettings.d.ts.map +1 -0
- package/dist/admin/components/StoreSettings.js +88 -0
- package/dist/admin/components/StoreSettings.js.map +1 -0
- package/dist/admin/components/index.d.ts +21 -0
- package/dist/admin/components/index.d.ts.map +1 -0
- package/dist/admin/components/index.js +57 -0
- package/dist/admin/components/index.js.map +1 -0
- package/dist/admin/config.d.ts +74 -0
- package/dist/admin/config.d.ts.map +1 -0
- package/dist/admin/config.js +229 -0
- package/dist/admin/config.js.map +1 -0
- package/dist/admin/hooks/index.d.ts +10 -0
- package/dist/admin/hooks/index.d.ts.map +1 -0
- package/dist/admin/hooks/index.js +17 -0
- package/dist/admin/hooks/index.js.map +1 -0
- package/dist/admin/hooks/useAdminAuth.d.ts +36 -0
- package/dist/admin/hooks/useAdminAuth.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminAuth.js +115 -0
- package/dist/admin/hooks/useAdminAuth.js.map +1 -0
- package/dist/admin/hooks/useAdminOrders.d.ts +41 -0
- package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminOrders.js +191 -0
- package/dist/admin/hooks/useAdminOrders.js.map +1 -0
- package/dist/admin/hooks/useAdminProducts.d.ts +39 -0
- package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminProducts.js +235 -0
- package/dist/admin/hooks/useAdminProducts.js.map +1 -0
- package/dist/admin/hooks/useAdminStats.d.ts +50 -0
- package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminStats.js +111 -0
- package/dist/admin/hooks/useAdminStats.js.map +1 -0
- package/dist/admin/index.d.ts +63 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +148 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/server/admin-service.d.ts +130 -0
- package/dist/admin/server/admin-service.d.ts.map +1 -0
- package/dist/admin/server/admin-service.js +298 -0
- package/dist/admin/server/admin-service.js.map +1 -0
- package/dist/admin/server/index.d.ts +8 -0
- package/dist/admin/server/index.d.ts.map +1 -0
- package/dist/admin/server/index.js +25 -0
- package/dist/admin/server/index.js.map +1 -0
- package/dist/admin/types.d.ts +549 -0
- package/dist/admin/types.d.ts.map +1 -0
- package/dist/admin/types.js +11 -0
- package/dist/admin/types.js.map +1 -0
- package/dist/auth/api/auth.d.ts +54 -0
- package/dist/auth/api/auth.d.ts.map +1 -0
- package/dist/auth/api/auth.js +67 -0
- package/dist/auth/api/auth.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 +68 -0
- package/dist/auth/api/forgot-password.js.map +1 -0
- package/dist/auth/api/index.d.ts +34 -0
- package/dist/auth/api/index.d.ts.map +1 -0
- package/dist/auth/api/index.js +52 -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 +93 -0
- package/dist/auth/api/register.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 +71 -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 +110 -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 +94 -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 +113 -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 +44 -0
- package/dist/auth/components/ForgotPasswordForm.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 +88 -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 +63 -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 +79 -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 +75 -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 +59 -0
- package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
- package/dist/auth/components/index.d.ts +13 -0
- package/dist/auth/components/index.d.ts.map +1 -0
- package/dist/auth/components/index.js +24 -0
- package/dist/auth/components/index.js.map +1 -0
- package/dist/auth/config.d.ts +42 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +174 -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 +11 -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 +248 -0
- package/dist/auth/hooks/useAuth.js.map +1 -0
- package/dist/auth/index.d.ts +54 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +88 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/server/customer-service.d.ts +138 -0
- package/dist/auth/server/customer-service.d.ts.map +1 -0
- package/dist/auth/server/customer-service.js +309 -0
- package/dist/auth/server/customer-service.js.map +1 -0
- package/dist/auth/server/email-sender.d.ts +64 -0
- package/dist/auth/server/email-sender.d.ts.map +1 -0
- package/dist/auth/server/email-sender.js +112 -0
- package/dist/auth/server/email-sender.js.map +1 -0
- package/dist/auth/server/index.d.ts +13 -0
- package/dist/auth/server/index.d.ts.map +1 -0
- package/dist/auth/server/index.js +48 -0
- package/dist/auth/server/index.js.map +1 -0
- package/dist/auth/server/password-reset-service.d.ts +86 -0
- package/dist/auth/server/password-reset-service.d.ts.map +1 -0
- package/dist/auth/server/password-reset-service.js +236 -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 +94 -0
- package/dist/auth/server/password.js.map +1 -0
- package/dist/auth/server/verification-service.d.ts +87 -0
- package/dist/auth/server/verification-service.d.ts.map +1 -0
- package/dist/auth/server/verification-service.js +268 -0
- package/dist/auth/server/verification-service.js.map +1 -0
- package/dist/auth/types.d.ts +305 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -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 +101 -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 +124 -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 +108 -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 +70 -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 +58 -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 +87 -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 +21 -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 +129 -0
- package/dist/cart/index.js.map +1 -0
- package/dist/cart/store.d.ts +101 -0
- package/dist/cart/store.d.ts.map +1 -0
- package/dist/cart/store.js +207 -0
- package/dist/cart/store.js.map +1 -0
- package/dist/checkout/api/checkout.d.ts +31 -0
- package/dist/checkout/api/checkout.d.ts.map +1 -0
- package/dist/checkout/api/checkout.js +103 -0
- package/dist/checkout/api/checkout.js.map +1 -0
- package/dist/checkout/api/index.d.ts +8 -0
- package/dist/checkout/api/index.d.ts.map +1 -0
- package/dist/checkout/api/index.js +13 -0
- package/dist/checkout/api/index.js.map +1 -0
- package/dist/checkout/api/webhook.d.ts +30 -0
- package/dist/checkout/api/webhook.d.ts.map +1 -0
- package/dist/checkout/api/webhook.js +58 -0
- package/dist/checkout/api/webhook.js.map +1 -0
- package/dist/checkout/components/CheckoutButton.d.ts +44 -0
- package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutButton.js +97 -0
- package/dist/checkout/components/CheckoutButton.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 +60 -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 +70 -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 +125 -0
- package/dist/checkout/components/ShippingForm.js.map +1 -0
- package/dist/checkout/components/index.d.ts +10 -0
- package/dist/checkout/components/index.d.ts.map +1 -0
- package/dist/checkout/components/index.js +17 -0
- package/dist/checkout/components/index.js.map +1 -0
- package/dist/checkout/hooks/index.d.ts +7 -0
- package/dist/checkout/hooks/index.d.ts.map +1 -0
- package/dist/checkout/hooks/index.js +12 -0
- package/dist/checkout/hooks/index.js.map +1 -0
- package/dist/checkout/hooks/useCheckout.d.ts +61 -0
- package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
- package/dist/checkout/hooks/useCheckout.js +174 -0
- package/dist/checkout/hooks/useCheckout.js.map +1 -0
- package/dist/checkout/index.d.ts +111 -0
- package/dist/checkout/index.d.ts.map +1 -0
- package/dist/checkout/index.js +148 -0
- package/dist/checkout/index.js.map +1 -0
- package/dist/checkout/server/create-checkout-session.d.ts +69 -0
- package/dist/checkout/server/create-checkout-session.d.ts.map +1 -0
- package/dist/checkout/server/create-checkout-session.js +190 -0
- package/dist/checkout/server/create-checkout-session.js.map +1 -0
- package/dist/checkout/server/handle-webhook.d.ts +35 -0
- package/dist/checkout/server/handle-webhook.d.ts.map +1 -0
- package/dist/checkout/server/handle-webhook.js +279 -0
- package/dist/checkout/server/handle-webhook.js.map +1 -0
- package/dist/checkout/server/index.d.ts +10 -0
- package/dist/checkout/server/index.d.ts.map +1 -0
- package/dist/checkout/server/index.js +19 -0
- package/dist/checkout/server/index.js.map +1 -0
- package/dist/checkout/server/order-service.d.ts +43 -0
- package/dist/checkout/server/order-service.d.ts.map +1 -0
- package/dist/checkout/server/order-service.js +196 -0
- package/dist/checkout/server/order-service.js.map +1 -0
- package/dist/checkout/stripe/client.d.ts +72 -0
- package/dist/checkout/stripe/client.d.ts.map +1 -0
- package/dist/checkout/stripe/client.js +189 -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 +21 -0
- package/dist/checkout/stripe/index.js.map +1 -0
- package/dist/checkout/types.d.ts +263 -0
- package/dist/checkout/types.d.ts.map +1 -0
- package/dist/checkout/types.js +9 -0
- package/dist/checkout/types.js.map +1 -0
- package/dist/core/config.d.ts +296 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +162 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/db/client.d.ts +69 -0
- package/dist/core/db/client.d.ts.map +1 -0
- package/dist/core/db/client.js +202 -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 +87 -0
- package/dist/core/db/index.js.map +1 -0
- package/dist/core/db/queries.d.ts +658 -0
- package/dist/core/db/queries.d.ts.map +1 -0
- package/dist/core/db/queries.js +735 -0
- package/dist/core/db/queries.js.map +1 -0
- package/dist/core/db/schema.d.ts +1628 -0
- package/dist/core/db/schema.d.ts.map +1 -0
- package/dist/core/db/schema.js +262 -0
- package/dist/core/db/schema.js.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +71 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/server/index.d.ts +17 -0
- package/dist/core/server/index.d.ts.map +1 -0
- package/dist/core/server/index.js +68 -0
- package/dist/core/server/index.js.map +1 -0
- package/dist/core/types.d.ts +230 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +153 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +356 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/emails/config.d.ts +42 -0
- package/dist/emails/config.d.ts.map +1 -0
- package/dist/emails/config.js +89 -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 +170 -0
- package/dist/emails/index.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 +132 -0
- package/dist/emails/send/auth.js.map +1 -0
- package/dist/emails/send/index.d.ts +10 -0
- package/dist/emails/send/index.d.ts.map +1 -0
- package/dist/emails/send/index.js +33 -0
- package/dist/emails/send/index.js.map +1 -0
- package/dist/emails/send/orders.d.ts +180 -0
- package/dist/emails/send/orders.d.ts.map +1 -0
- package/dist/emails/send/orders.js +259 -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 +118 -0
- package/dist/emails/sender.js.map +1 -0
- package/dist/emails/templates/base.d.ts +105 -0
- package/dist/emails/templates/base.d.ts.map +1 -0
- package/dist/emails/templates/base.js +291 -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 +56 -0
- package/dist/emails/templates/email-verification.js.map +1 -0
- package/dist/emails/templates/index.d.ts +15 -0
- package/dist/emails/templates/index.d.ts.map +1 -0
- package/dist/emails/templates/index.js +58 -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 +87 -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 +161 -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 +95 -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 +87 -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 +55 -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 +96 -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 +56 -0
- package/dist/emails/templates/welcome.js.map +1 -0
- package/dist/emails/types.d.ts +202 -0
- package/dist/emails/types.d.ts.map +1 -0
- package/dist/emails/types.js +8 -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 +229 -0
- package/dist/emails/utils.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +225 -0
- package/dist/index.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 +49 -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 +30 -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 +70 -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 +102 -0
- package/dist/products/api/products.js.map +1 -0
- package/dist/products/components/CategoryNav.d.ts +51 -0
- package/dist/products/components/CategoryNav.d.ts.map +1 -0
- package/dist/products/components/CategoryNav.js +115 -0
- package/dist/products/components/CategoryNav.js.map +1 -0
- package/dist/products/components/ProductBreadcrumb.d.ts +52 -0
- package/dist/products/components/ProductBreadcrumb.d.ts.map +1 -0
- package/dist/products/components/ProductBreadcrumb.js +78 -0
- package/dist/products/components/ProductBreadcrumb.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 +65 -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 +105 -0
- package/dist/products/components/ProductDetails.js.map +1 -0
- package/dist/products/components/ProductFilters.d.ts +70 -0
- package/dist/products/components/ProductFilters.d.ts.map +1 -0
- package/dist/products/components/ProductFilters.js +127 -0
- package/dist/products/components/ProductFilters.js.map +1 -0
- package/dist/products/components/ProductGallery.d.ts +37 -0
- package/dist/products/components/ProductGallery.d.ts.map +1 -0
- package/dist/products/components/ProductGallery.js +80 -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 +83 -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 +99 -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 +61 -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 +26 -0
- package/dist/products/components/index.d.ts.map +1 -0
- package/dist/products/components/index.js +32 -0
- package/dist/products/components/index.js.map +1 -0
- package/dist/products/hooks/index.d.ts +14 -0
- package/dist/products/hooks/index.d.ts.map +1 -0
- package/dist/products/hooks/index.js +17 -0
- package/dist/products/hooks/index.js.map +1 -0
- package/dist/products/hooks/useCategories.d.ts +56 -0
- package/dist/products/hooks/useCategories.d.ts.map +1 -0
- package/dist/products/hooks/useCategories.js +126 -0
- package/dist/products/hooks/useCategories.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 +86 -0
- package/dist/products/hooks/useProduct.js.map +1 -0
- package/dist/products/hooks/useProductAttributes.d.ts +59 -0
- package/dist/products/hooks/useProductAttributes.d.ts.map +1 -0
- package/dist/products/hooks/useProductAttributes.js +148 -0
- package/dist/products/hooks/useProductAttributes.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 +132 -0
- package/dist/products/hooks/useProducts.js.map +1 -0
- package/dist/products/index.d.ts +94 -0
- package/dist/products/index.d.ts.map +1 -0
- package/dist/products/index.js +123 -0
- package/dist/products/index.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +70 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +77 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/colors.d.ts +148 -0
- package/dist/theme/colors.d.ts.map +1 -0
- package/dist/theme/colors.js +219 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/defaults.d.ts +212 -0
- package/dist/theme/defaults.d.ts.map +1 -0
- package/dist/theme/defaults.js +278 -0
- package/dist/theme/defaults.js.map +1 -0
- package/dist/theme/fonts.d.ts +59 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +202 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/generator.d.ts +50 -0
- package/dist/theme/generator.d.ts.map +1 -0
- package/dist/theme/generator.js +322 -0
- package/dist/theme/generator.js.map +1 -0
- package/dist/theme/hooks.d.ts +110 -0
- package/dist/theme/hooks.d.ts.map +1 -0
- package/dist/theme/hooks.js +106 -0
- package/dist/theme/hooks.js.map +1 -0
- package/dist/theme/index.d.ts +37 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +85 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SignInFormProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Sign in form for customer authentication.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* // Basic usage
|
|
8
|
+
* <SignInForm />
|
|
9
|
+
*
|
|
10
|
+
* // With redirect
|
|
11
|
+
* <SignInForm redirectTo="/account" />
|
|
12
|
+
*
|
|
13
|
+
* // With callbacks
|
|
14
|
+
* <SignInForm
|
|
15
|
+
* onSuccess={() => router.push('/account')}
|
|
16
|
+
* showRememberMe={true}
|
|
17
|
+
* />
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function SignInForm({ redirectTo, onSuccess, showRememberMe, signUpHref, forgotPasswordHref, className, }: SignInFormProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=SignInForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInForm.d.ts","sourceRoot":"","sources":["../../../src/auth/components/SignInForm.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,SAAS,EACT,cAAqB,EACrB,UAA2B,EAC3B,kBAA4C,EAC5C,SAAc,GACf,EAAE,eAAe,2CA6IjB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SignInForm = SignInForm;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* @rovela/sdk/auth/components/SignInForm
|
|
8
|
+
*
|
|
9
|
+
* Sign in form component with email/password authentication.
|
|
10
|
+
*/
|
|
11
|
+
const react_1 = require("react");
|
|
12
|
+
const useAuth_1 = require("../hooks/useAuth");
|
|
13
|
+
/**
|
|
14
|
+
* Sign in form for customer authentication.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Basic usage
|
|
19
|
+
* <SignInForm />
|
|
20
|
+
*
|
|
21
|
+
* // With redirect
|
|
22
|
+
* <SignInForm redirectTo="/account" />
|
|
23
|
+
*
|
|
24
|
+
* // With callbacks
|
|
25
|
+
* <SignInForm
|
|
26
|
+
* onSuccess={() => router.push('/account')}
|
|
27
|
+
* showRememberMe={true}
|
|
28
|
+
* />
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
function SignInForm({ redirectTo, onSuccess, showRememberMe = true, signUpHref = '/auth/signup', forgotPasswordHref = '/auth/forgot-password', className = '', }) {
|
|
32
|
+
const { signIn } = (0, useAuth_1.useAuth)();
|
|
33
|
+
const [email, setEmail] = (0, react_1.useState)('');
|
|
34
|
+
const [password, setPassword] = (0, react_1.useState)('');
|
|
35
|
+
const [rememberMe, setRememberMe] = (0, react_1.useState)(false);
|
|
36
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
37
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
38
|
+
const [requiresVerification, setRequiresVerification] = (0, react_1.useState)(false);
|
|
39
|
+
const handleSubmit = (0, react_1.useCallback)(async (e) => {
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
setIsLoading(true);
|
|
42
|
+
setError(null);
|
|
43
|
+
setRequiresVerification(false);
|
|
44
|
+
const result = await signIn({
|
|
45
|
+
email,
|
|
46
|
+
password,
|
|
47
|
+
rememberMe,
|
|
48
|
+
redirectTo,
|
|
49
|
+
});
|
|
50
|
+
setIsLoading(false);
|
|
51
|
+
if (result.success) {
|
|
52
|
+
onSuccess?.();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (result.requiresVerification) {
|
|
56
|
+
setRequiresVerification(true);
|
|
57
|
+
}
|
|
58
|
+
setError(result.error || 'Sign in failed');
|
|
59
|
+
}
|
|
60
|
+
}, [email, password, rememberMe, redirectTo, signIn, onSuccess]);
|
|
61
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `w-full max-w-md ${className}`, children: (0, jsx_runtime_1.jsxs)("form", { onSubmit: handleSubmit, className: "space-y-4", children: [error && ((0, jsx_runtime_1.jsxs)("div", { className: "rounded-md bg-red-50 p-4 text-sm text-red-600", children: [error, requiresVerification && ((0, jsx_runtime_1.jsx)("p", { className: "mt-2", children: (0, jsx_runtime_1.jsx)("a", { href: `/auth/resend-verification?email=${encodeURIComponent(email)}`, className: "font-medium text-red-700 underline hover:text-red-800", children: "Resend verification email" }) }))] })), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "signin-email", className: "block text-sm font-medium text-foreground", children: "Email" }), (0, jsx_runtime_1.jsx)("input", { id: "signin-email", type: "email", value: email, onChange: (e) => setEmail(e.target.value), required: true, autoComplete: "email", className: "mt-1 block 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", placeholder: "you@example.com" })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "signin-password", className: "block text-sm font-medium text-foreground", children: "Password" }), (0, jsx_runtime_1.jsx)("a", { href: forgotPasswordHref, className: "text-sm text-primary hover:text-primary/80", children: "Forgot password?" })] }), (0, jsx_runtime_1.jsx)("input", { id: "signin-password", type: "password", value: password, onChange: (e) => setPassword(e.target.value), required: true, autoComplete: "current-password", className: "mt-1 block 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", placeholder: "Enter your password" })] }), showRememberMe && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)("input", { id: "remember-me", type: "checkbox", checked: rememberMe, onChange: (e) => setRememberMe(e.target.checked), className: "h-4 w-4 rounded border-gray-300 text-primary focus:ring-primary" }), (0, jsx_runtime_1.jsx)("label", { htmlFor: "remember-me", className: "ml-2 block text-sm text-muted-foreground", children: "Remember me for 30 days" })] })), (0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: isLoading, className: "w-full rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", children: isLoading ? 'Signing in...' : 'Sign in' }), (0, jsx_runtime_1.jsxs)("p", { className: "text-center text-sm text-muted-foreground", children: ["Don't have an account?", ' ', (0, jsx_runtime_1.jsx)("a", { href: signUpHref, className: "font-medium text-primary hover:text-primary/80", children: "Sign up" })] })] }) }));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=SignInForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInForm.js","sourceRoot":"","sources":["../../../src/auth/components/SignInForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SignUpFormProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Sign up form for customer registration.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* // Basic usage
|
|
8
|
+
* <SignUpForm />
|
|
9
|
+
*
|
|
10
|
+
* // With redirect
|
|
11
|
+
* <SignUpForm redirectTo="/auth/verify-email" />
|
|
12
|
+
*
|
|
13
|
+
* // With callback
|
|
14
|
+
* <SignUpForm onSuccess={() => console.log('Account created!')} />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function SignUpForm({ redirectTo, onSuccess, signInHref, className, }: SignUpFormProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=SignUpForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignUpForm.d.ts","sourceRoot":"","sources":["../../../src/auth/components/SignUpForm.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,SAAS,EACT,UAA2B,EAC3B,SAAc,GACf,EAAE,eAAe,2CAsMjB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SignUpForm = SignUpForm;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* @rovela/sdk/auth/components/SignUpForm
|
|
8
|
+
*
|
|
9
|
+
* Sign up form component for customer registration.
|
|
10
|
+
*/
|
|
11
|
+
const react_1 = require("react");
|
|
12
|
+
const useAuth_1 = require("../hooks/useAuth");
|
|
13
|
+
/**
|
|
14
|
+
* Sign up form for customer registration.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Basic usage
|
|
19
|
+
* <SignUpForm />
|
|
20
|
+
*
|
|
21
|
+
* // With redirect
|
|
22
|
+
* <SignUpForm redirectTo="/auth/verify-email" />
|
|
23
|
+
*
|
|
24
|
+
* // With callback
|
|
25
|
+
* <SignUpForm onSuccess={() => console.log('Account created!')} />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function SignUpForm({ redirectTo, onSuccess, signInHref = '/auth/signin', className = '', }) {
|
|
29
|
+
const { signUp } = (0, useAuth_1.useAuth)();
|
|
30
|
+
const [name, setName] = (0, react_1.useState)('');
|
|
31
|
+
const [email, setEmail] = (0, react_1.useState)('');
|
|
32
|
+
const [password, setPassword] = (0, react_1.useState)('');
|
|
33
|
+
const [confirmPassword, setConfirmPassword] = (0, react_1.useState)('');
|
|
34
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
35
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
36
|
+
const [success, setSuccess] = (0, react_1.useState)(false);
|
|
37
|
+
const handleSubmit = (0, react_1.useCallback)(async (e) => {
|
|
38
|
+
e.preventDefault();
|
|
39
|
+
setIsLoading(true);
|
|
40
|
+
setError(null);
|
|
41
|
+
// Validate passwords match
|
|
42
|
+
if (password !== confirmPassword) {
|
|
43
|
+
setError('Passwords do not match');
|
|
44
|
+
setIsLoading(false);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Validate password length
|
|
48
|
+
if (password.length < 8) {
|
|
49
|
+
setError('Password must be at least 8 characters');
|
|
50
|
+
setIsLoading(false);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const result = await signUp({
|
|
54
|
+
email,
|
|
55
|
+
password,
|
|
56
|
+
name: name.trim() || undefined,
|
|
57
|
+
});
|
|
58
|
+
setIsLoading(false);
|
|
59
|
+
if (result.success) {
|
|
60
|
+
setSuccess(true);
|
|
61
|
+
onSuccess?.();
|
|
62
|
+
// Redirect after showing success message
|
|
63
|
+
if (redirectTo) {
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
window.location.href = redirectTo;
|
|
66
|
+
}, 2000);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
setError(result.error || 'Failed to create account');
|
|
71
|
+
}
|
|
72
|
+
}, [name, email, password, confirmPassword, signUp, onSuccess, redirectTo]);
|
|
73
|
+
// Show success state
|
|
74
|
+
if (success) {
|
|
75
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `w-full max-w-md ${className}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "rounded-md bg-green-50 p-6 text-center", children: [(0, jsx_runtime_1.jsx)("svg", { className: "mx-auto h-12 w-12 text-green-500", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" }) }), (0, jsx_runtime_1.jsx)("h3", { className: "mt-4 text-lg font-medium text-green-800", children: "Account created!" }), (0, jsx_runtime_1.jsx)("p", { className: "mt-2 text-sm text-green-600", children: "Please check your email to verify your account before signing in." }), (0, jsx_runtime_1.jsx)("a", { href: signInHref, className: "mt-4 inline-block text-sm font-medium text-green-700 hover:text-green-800", children: "Go to sign in" })] }) }));
|
|
76
|
+
}
|
|
77
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `w-full max-w-md ${className}`, children: (0, jsx_runtime_1.jsxs)("form", { onSubmit: handleSubmit, className: "space-y-4", children: [error && ((0, jsx_runtime_1.jsx)("div", { className: "rounded-md bg-red-50 p-4 text-sm text-red-600", children: error })), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("label", { htmlFor: "signup-name", className: "block text-sm font-medium text-foreground", children: ["Name ", (0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground", children: "(optional)" })] }), (0, jsx_runtime_1.jsx)("input", { id: "signup-name", type: "text", value: name, onChange: (e) => setName(e.target.value), autoComplete: "name", className: "mt-1 block 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", placeholder: "John Doe" })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "signup-email", className: "block text-sm font-medium text-foreground", children: "Email" }), (0, jsx_runtime_1.jsx)("input", { id: "signup-email", type: "email", value: email, onChange: (e) => setEmail(e.target.value), required: true, autoComplete: "email", className: "mt-1 block 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", placeholder: "you@example.com" })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "signup-password", className: "block text-sm font-medium text-foreground", children: "Password" }), (0, jsx_runtime_1.jsx)("input", { id: "signup-password", type: "password", value: password, onChange: (e) => setPassword(e.target.value), required: true, autoComplete: "new-password", minLength: 8, className: "mt-1 block 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", placeholder: "At least 8 characters" })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "signup-confirm-password", className: "block text-sm font-medium text-foreground", children: "Confirm Password" }), (0, jsx_runtime_1.jsx)("input", { id: "signup-confirm-password", type: "password", value: confirmPassword, onChange: (e) => setConfirmPassword(e.target.value), required: true, autoComplete: "new-password", minLength: 8, className: "mt-1 block 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", placeholder: "Confirm your password" })] }), (0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: isLoading, className: "w-full rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", children: isLoading ? 'Creating account...' : 'Create account' }), (0, jsx_runtime_1.jsxs)("p", { className: "text-center text-sm text-muted-foreground", children: ["Already have an account?", ' ', (0, jsx_runtime_1.jsx)("a", { href: signInHref, className: "font-medium text-primary hover:text-primary/80", children: "Sign in" })] })] }) }));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=SignUpForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignUpForm.js","sourceRoot":"","sources":["../../../src/auth/components/SignUpForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { UserMenuProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* User menu dropdown for authenticated customers.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* // Basic usage
|
|
8
|
+
* <UserMenu />
|
|
9
|
+
*
|
|
10
|
+
* // With custom links
|
|
11
|
+
* <UserMenu
|
|
12
|
+
* accountHref="/my-account"
|
|
13
|
+
* ordersHref="/my-orders"
|
|
14
|
+
* />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function UserMenu({ accountHref, ordersHref, settingsHref, className, }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=UserMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/auth/components/UserMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,EACvB,WAAwB,EACxB,UAA8B,EAC9B,YAAkC,EAClC,SAAc,GACf,EAAE,aAAa,2CAiOf"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.UserMenu = UserMenu;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* @rovela/sdk/auth/components/UserMenu
|
|
8
|
+
*
|
|
9
|
+
* User dropdown menu for authenticated customers.
|
|
10
|
+
*/
|
|
11
|
+
const react_1 = require("react");
|
|
12
|
+
const useAuth_1 = require("../hooks/useAuth");
|
|
13
|
+
/**
|
|
14
|
+
* User menu dropdown for authenticated customers.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Basic usage
|
|
19
|
+
* <UserMenu />
|
|
20
|
+
*
|
|
21
|
+
* // With custom links
|
|
22
|
+
* <UserMenu
|
|
23
|
+
* accountHref="/my-account"
|
|
24
|
+
* ordersHref="/my-orders"
|
|
25
|
+
* />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function UserMenu({ accountHref = '/account', ordersHref = '/account/orders', settingsHref = '/account/settings', className = '', }) {
|
|
29
|
+
const { customer, isAuthenticated, isLoading, signOut } = (0, useAuth_1.useAuth)();
|
|
30
|
+
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
31
|
+
const menuRef = (0, react_1.useRef)(null);
|
|
32
|
+
// Close menu when clicking outside
|
|
33
|
+
(0, react_1.useEffect)(() => {
|
|
34
|
+
function handleClickOutside(event) {
|
|
35
|
+
if (menuRef.current && !menuRef.current.contains(event.target)) {
|
|
36
|
+
setIsOpen(false);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
40
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
41
|
+
}, []);
|
|
42
|
+
// Close menu on Escape key
|
|
43
|
+
(0, react_1.useEffect)(() => {
|
|
44
|
+
function handleEscape(event) {
|
|
45
|
+
if (event.key === 'Escape') {
|
|
46
|
+
setIsOpen(false);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
document.addEventListener('keydown', handleEscape);
|
|
50
|
+
return () => document.removeEventListener('keydown', handleEscape);
|
|
51
|
+
}, []);
|
|
52
|
+
const handleSignOut = (0, react_1.useCallback)(async () => {
|
|
53
|
+
setIsOpen(false);
|
|
54
|
+
await signOut();
|
|
55
|
+
}, [signOut]);
|
|
56
|
+
// Loading state
|
|
57
|
+
if (isLoading) {
|
|
58
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `relative ${className}`, children: (0, jsx_runtime_1.jsx)("div", { className: "flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted" }) }));
|
|
59
|
+
}
|
|
60
|
+
// Not authenticated - show sign in link
|
|
61
|
+
if (!isAuthenticated || !customer) {
|
|
62
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `relative ${className}`, children: (0, jsx_runtime_1.jsxs)("a", { href: "/auth/signin", className: "flex items-center gap-2 text-sm font-medium text-foreground hover:text-primary", children: [(0, jsx_runtime_1.jsx)("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" }) }), (0, jsx_runtime_1.jsx)("span", { children: "Sign in" })] }) }));
|
|
63
|
+
}
|
|
64
|
+
// Get initials for avatar
|
|
65
|
+
const initials = customer.name
|
|
66
|
+
? customer.name
|
|
67
|
+
.split(' ')
|
|
68
|
+
.map((n) => n[0])
|
|
69
|
+
.join('')
|
|
70
|
+
.toUpperCase()
|
|
71
|
+
.slice(0, 2)
|
|
72
|
+
: customer.email[0].toUpperCase();
|
|
73
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `relative ${className}`, ref: menuRef, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setIsOpen(!isOpen), className: "flex items-center gap-2 rounded-full focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2", "aria-expanded": isOpen, "aria-haspopup": "true", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-primary text-xs font-medium text-primary-foreground", children: initials }), (0, jsx_runtime_1.jsx)("svg", { className: `h-4 w-4 text-muted-foreground transition-transform ${isOpen ? 'rotate-180' : ''}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }), isOpen && ((0, jsx_runtime_1.jsxs)("div", { className: "absolute right-0 z-50 mt-2 w-56 origin-top-right rounded-md border border-border bg-background shadow-lg ring-1 ring-black ring-opacity-5", children: [(0, jsx_runtime_1.jsxs)("div", { className: "border-b border-border px-4 py-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-sm font-medium text-foreground", children: customer.name || 'Customer' }), (0, jsx_runtime_1.jsx)("p", { className: "truncate text-xs text-muted-foreground", children: customer.email }), !customer.emailVerified && ((0, jsx_runtime_1.jsx)("p", { className: "mt-1 text-xs text-amber-600", children: "Email not verified" }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "py-1", children: [(0, jsx_runtime_1.jsxs)("a", { href: accountHref, className: "flex items-center gap-2 px-4 py-2 text-sm text-foreground hover:bg-muted", onClick: () => setIsOpen(false), children: [(0, jsx_runtime_1.jsx)("svg", { className: "h-4 w-4 text-muted-foreground", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" }) }), "My Account"] }), (0, jsx_runtime_1.jsxs)("a", { href: ordersHref, className: "flex items-center gap-2 px-4 py-2 text-sm text-foreground hover:bg-muted", onClick: () => setIsOpen(false), children: [(0, jsx_runtime_1.jsx)("svg", { className: "h-4 w-4 text-muted-foreground", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z" }) }), "Orders"] }), (0, jsx_runtime_1.jsxs)("a", { href: settingsHref, className: "flex items-center gap-2 px-4 py-2 text-sm text-foreground hover:bg-muted", onClick: () => setIsOpen(false), children: [(0, jsx_runtime_1.jsxs)("svg", { className: "h-4 w-4 text-muted-foreground", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: [(0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }), (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })] }), "Settings"] })] }), (0, jsx_runtime_1.jsx)("div", { className: "border-t border-border py-1", children: (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: handleSignOut, className: "flex w-full items-center gap-2 px-4 py-2 text-sm text-foreground hover:bg-muted", children: [(0, jsx_runtime_1.jsx)("svg", { className: "h-4 w-4 text-muted-foreground", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" }) }), "Sign out"] }) })] }))] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=UserMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../../src/auth/components/UserMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { VerifyEmailNoticeProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Notice component shown when email verification is required.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* // Basic usage
|
|
8
|
+
* <VerifyEmailNotice email="user@example.com" />
|
|
9
|
+
*
|
|
10
|
+
* // With resend callback
|
|
11
|
+
* <VerifyEmailNotice
|
|
12
|
+
* email="user@example.com"
|
|
13
|
+
* onResend={async () => {
|
|
14
|
+
* // Custom resend logic
|
|
15
|
+
* }}
|
|
16
|
+
* />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function VerifyEmailNotice({ email, onResend, className, }: VerifyEmailNoticeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=VerifyEmailNotice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailNotice.d.ts","sourceRoot":"","sources":["../../../src/auth/components/VerifyEmailNotice.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,SAAc,GACf,EAAE,sBAAsB,2CAuHxB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VerifyEmailNotice = VerifyEmailNotice;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* @rovela/sdk/auth/components/VerifyEmailNotice
|
|
8
|
+
*
|
|
9
|
+
* Email verification notice shown after registration or for unverified users.
|
|
10
|
+
*/
|
|
11
|
+
const react_1 = require("react");
|
|
12
|
+
const useAuth_1 = require("../hooks/useAuth");
|
|
13
|
+
/**
|
|
14
|
+
* Notice component shown when email verification is required.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Basic usage
|
|
19
|
+
* <VerifyEmailNotice email="user@example.com" />
|
|
20
|
+
*
|
|
21
|
+
* // With resend callback
|
|
22
|
+
* <VerifyEmailNotice
|
|
23
|
+
* email="user@example.com"
|
|
24
|
+
* onResend={async () => {
|
|
25
|
+
* // Custom resend logic
|
|
26
|
+
* }}
|
|
27
|
+
* />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function VerifyEmailNotice({ email, onResend, className = '', }) {
|
|
31
|
+
const { resendVerification } = (0, useAuth_1.useAuth)();
|
|
32
|
+
const [isResending, setIsResending] = (0, react_1.useState)(false);
|
|
33
|
+
const [resent, setResent] = (0, react_1.useState)(false);
|
|
34
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
35
|
+
const handleResend = (0, react_1.useCallback)(async () => {
|
|
36
|
+
setIsResending(true);
|
|
37
|
+
setError(null);
|
|
38
|
+
try {
|
|
39
|
+
if (onResend) {
|
|
40
|
+
await onResend();
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const result = await resendVerification(email);
|
|
44
|
+
if (!result.success) {
|
|
45
|
+
setError(result.error || 'Failed to resend email');
|
|
46
|
+
setIsResending(false);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
setResent(true);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
setError('Failed to resend verification email');
|
|
54
|
+
}
|
|
55
|
+
setIsResending(false);
|
|
56
|
+
}, [email, onResend, resendVerification]);
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: `w-full max-w-md ${className}`, children: (0, jsx_runtime_1.jsx)("div", { className: "rounded-md bg-blue-50 p-6", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex-shrink-0", children: (0, jsx_runtime_1.jsx)("svg", { className: "h-6 w-6 text-blue-500", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }) }), (0, jsx_runtime_1.jsxs)("div", { className: "ml-4", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-medium text-blue-800", children: "Verify your email" }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 text-sm text-blue-700", children: [(0, jsx_runtime_1.jsxs)("p", { children: ["We've sent a verification email to", ' ', (0, jsx_runtime_1.jsx)("strong", { className: "font-medium", children: email })] }), (0, jsx_runtime_1.jsx)("p", { className: "mt-2", children: "Please check your inbox and click the verification link to activate your account." })] }), error && ((0, jsx_runtime_1.jsx)("p", { className: "mt-3 text-sm text-red-600", children: error })), (0, jsx_runtime_1.jsx)("div", { className: "mt-4", children: resent ? ((0, jsx_runtime_1.jsxs)("p", { className: "text-sm text-green-700", children: [(0, jsx_runtime_1.jsx)("svg", { className: "mr-1.5 inline-block h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }), "Verification email sent! Check your inbox."] })) : ((0, jsx_runtime_1.jsxs)("p", { className: "text-sm text-blue-600", children: ["Didn't receive the email?", ' ', (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleResend, disabled: isResending, className: "font-medium text-blue-700 underline hover:text-blue-800 disabled:cursor-not-allowed disabled:opacity-50", children: isResending ? 'Sending...' : 'Resend verification email' })] })) }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-4 rounded-md bg-blue-100 p-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-xs text-blue-700", children: (0, jsx_runtime_1.jsx)("strong", { children: "Tips:" }) }), (0, jsx_runtime_1.jsxs)("ul", { className: "mt-1 list-inside list-disc text-xs text-blue-600", children: [(0, jsx_runtime_1.jsx)("li", { children: "Check your spam or junk folder" }), (0, jsx_runtime_1.jsx)("li", { children: "The link expires in 24 hours" }), (0, jsx_runtime_1.jsx)("li", { children: "Make sure you entered the correct email" })] })] })] })] }) }) }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=VerifyEmailNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailNotice.js","sourceRoot":"","sources":["../../../src/auth/components/VerifyEmailNotice.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/auth/components
|
|
3
|
+
*
|
|
4
|
+
* Authentication UI components.
|
|
5
|
+
*/
|
|
6
|
+
export { SignInForm } from './SignInForm';
|
|
7
|
+
export { SignUpForm } from './SignUpForm';
|
|
8
|
+
export { ForgotPasswordForm } from './ForgotPasswordForm';
|
|
9
|
+
export { ResetPasswordForm } from './ResetPasswordForm';
|
|
10
|
+
export { VerifyEmailNotice } from './VerifyEmailNotice';
|
|
11
|
+
export { UserMenu } from './UserMenu';
|
|
12
|
+
export { AuthGuard, withAuth } from './AuthGuard';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @rovela/sdk/auth/components
|
|
4
|
+
*
|
|
5
|
+
* Authentication UI components.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.withAuth = exports.AuthGuard = exports.UserMenu = exports.VerifyEmailNotice = exports.ResetPasswordForm = exports.ForgotPasswordForm = exports.SignUpForm = exports.SignInForm = void 0;
|
|
9
|
+
var SignInForm_1 = require("./SignInForm");
|
|
10
|
+
Object.defineProperty(exports, "SignInForm", { enumerable: true, get: function () { return SignInForm_1.SignInForm; } });
|
|
11
|
+
var SignUpForm_1 = require("./SignUpForm");
|
|
12
|
+
Object.defineProperty(exports, "SignUpForm", { enumerable: true, get: function () { return SignUpForm_1.SignUpForm; } });
|
|
13
|
+
var ForgotPasswordForm_1 = require("./ForgotPasswordForm");
|
|
14
|
+
Object.defineProperty(exports, "ForgotPasswordForm", { enumerable: true, get: function () { return ForgotPasswordForm_1.ForgotPasswordForm; } });
|
|
15
|
+
var ResetPasswordForm_1 = require("./ResetPasswordForm");
|
|
16
|
+
Object.defineProperty(exports, "ResetPasswordForm", { enumerable: true, get: function () { return ResetPasswordForm_1.ResetPasswordForm; } });
|
|
17
|
+
var VerifyEmailNotice_1 = require("./VerifyEmailNotice");
|
|
18
|
+
Object.defineProperty(exports, "VerifyEmailNotice", { enumerable: true, get: function () { return VerifyEmailNotice_1.VerifyEmailNotice; } });
|
|
19
|
+
var UserMenu_1 = require("./UserMenu");
|
|
20
|
+
Object.defineProperty(exports, "UserMenu", { enumerable: true, get: function () { return UserMenu_1.UserMenu; } });
|
|
21
|
+
var AuthGuard_1 = require("./AuthGuard");
|
|
22
|
+
Object.defineProperty(exports, "AuthGuard", { enumerable: true, get: function () { return AuthGuard_1.AuthGuard; } });
|
|
23
|
+
Object.defineProperty(exports, "withAuth", { enumerable: true, get: function () { return AuthGuard_1.withAuth; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/components/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,yCAAiD;AAAxC,sGAAA,SAAS,OAAA;AAAE,qGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/auth/config
|
|
3
|
+
*
|
|
4
|
+
* NextAuth configuration for store customer authentication.
|
|
5
|
+
* Uses JWT strategy with credentials provider.
|
|
6
|
+
*/
|
|
7
|
+
import type { NextAuthOptions } from 'next-auth';
|
|
8
|
+
import type { CustomerSession, AuthConfigOptions } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Create NextAuth options for store customer authentication.
|
|
11
|
+
*
|
|
12
|
+
* @param options - Configuration options
|
|
13
|
+
* @returns NextAuth options object
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // app/api/auth/[...nextauth]/route.ts
|
|
18
|
+
* import NextAuth from 'next-auth'
|
|
19
|
+
* import { createAuthOptions } from '@rovela/sdk/auth'
|
|
20
|
+
*
|
|
21
|
+
* const handler = NextAuth(createAuthOptions())
|
|
22
|
+
* export { handler as GET, handler as POST }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function createAuthOptions(options?: AuthConfigOptions): NextAuthOptions;
|
|
26
|
+
/**
|
|
27
|
+
* Get customer session data from the current session.
|
|
28
|
+
* Refreshes data from database for accuracy.
|
|
29
|
+
*
|
|
30
|
+
* @param customerId - Customer UUID from session
|
|
31
|
+
* @returns Customer session data or null
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const session = await getServerSession(authOptions)
|
|
36
|
+
* if (session?.user?.id) {
|
|
37
|
+
* const customer = await getCustomerSession(session.user.id)
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function getCustomerSession(customerId: string): Promise<CustomerSession | null>;
|
|
42
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/auth/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,WAAW,CAAA;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAoBjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,eAAe,CAuIlF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC"}
|