{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "Now.ts UI", "homepage": "https://ui.nowts.app", "items": [ { "name": "better-auth-otp", "type": "registry:block", "title": "Better Auth OTP", "description": "A component for signing in with email OTP.", "registryDependencies": [ "button", "input", "label", "textarea", "card", "input-otp", "sonner" ], "dependencies": ["motion", "react-use-measure", "@hookform/resolvers"], "files": [ { "path": "registry/nowts/blocks/better-auth-otp/components/better-auth-otp.tsx", "type": "registry:component" }, { "path": "registry/nowts/blocks/better-auth-otp/hooks/use-countdown.ts", "type": "registry:hook" } ] }, { "name": "better-auth-signin", "type": "registry:block", "title": "Better Auth Sign In Page", "description": "A complete and customizable sign-in page with email/password, OTP, and OAuth provider support using Better Auth.", "registryDependencies": [ "button", "input", "label", "card", "avatar", "sonner", "https://ui.nowts.app/r/better-auth-otp.json" ], "dependencies": [], "docs": "This component provides a complete sign-in experience with support for multiple authentication methods. Customize the appearance and behavior through props.", "files": [ { "path": "registry/nowts/blocks/better-auth-signin/sign-in-page.tsx", "type": "registry:component" }, { "path": "registry/nowts/blocks/better-auth-signin/sign-in-auth-methods.tsx", "type": "registry:component" }, { "path": "registry/nowts/blocks/better-auth-signin/sign-in-password-form.tsx", "type": "registry:component" }, { "path": "registry/nowts/blocks/better-auth-signin/sign-in-provider-button.tsx", "type": "registry:component" }, { "path": "registry/nowts/blocks/better-auth-signin/divider.tsx", "type": "registry:component" } ] }, { "name": "server-toast", "type": "registry:block", "title": "Server Toast", "description": "A library for server-side toast notifications.", "registryDependencies": ["sonner"], "dependencies": [], "docs": "Important : Add inside app/layout.tsx to render the toast notifications.", "files": [ { "path": "registry/nowts/blocks/server-toast/server-toast.type.ts", "type": "registry:lib", "target": "lib/server-toast/server-toast.type.ts" }, { "path": "registry/nowts/blocks/server-toast/server-toast.ts", "type": "registry:lib", "target": "lib/server-toast/server-toast.ts" }, { "path": "registry/nowts/blocks/server-toast/server-toast.server.tsx", "type": "registry:lib", "target": "lib/server-toast/server-toast.server.tsx" }, { "path": "registry/nowts/blocks/server-toast/server-toast.client.tsx", "type": "registry:lib", "target": "lib/server-toast/server-toast.client.tsx" } ] }, { "name": "dialog-manager", "type": "registry:block", "title": "Dialog Manager", "description": "A powerful dialog manager for handling confirm, input, and custom dialogs with global state management.", "registryDependencies": [ "alert-dialog", "button", "input", "label", "sonner" ], "dependencies": ["zustand"], "docs": "Important: Add inside app/layout.tsx to render the dialogs.", "files": [ { "path": "registry/nowts/blocks/dialog-manager/dialog-types.ts", "type": "registry:lib", "target": "lib/dialog-manager/dialog-types.ts" }, { "path": "registry/nowts/blocks/dialog-manager/dialog-factory.ts", "type": "registry:lib", "target": "lib/dialog-manager/dialog-factory.ts" }, { "path": "registry/nowts/blocks/dialog-manager/dialog-store.ts", "type": "registry:lib", "target": "lib/dialog-manager/dialog-store.ts" }, { "path": "registry/nowts/blocks/dialog-manager/dialog-manager.ts", "type": "registry:lib", "target": "lib/dialog-manager/dialog-manager.ts" }, { "path": "registry/nowts/blocks/dialog-manager/dialog-component.tsx", "type": "registry:lib", "target": "lib/dialog-manager/dialog-component.tsx" }, { "path": "registry/nowts/blocks/dialog-manager/dialog-manager-renderer.tsx", "type": "registry:lib", "target": "lib/dialog-manager/dialog-manager-renderer.tsx" } ] }, { "name": "use-is-client", "type": "registry:hook", "title": "useIsClient", "description": "A React hook to check if the component is rendered on the client side, useful for SSR/hydration scenarios.", "registryDependencies": [], "dependencies": [], "files": [ { "path": "registry/nowts/hooks/use-is-client.ts", "type": "registry:hook" } ] }, { "name": "use-warn-if-unsaved-changes", "type": "registry:hook", "title": "Use Warn If Unsaved Changes", "description": "A React hook that warns users before leaving the page when there are unsaved changes.", "registryDependencies": [], "dependencies": [], "files": [ { "path": "registry/nowts/hooks/use-warn-if-unsaved-changes.ts", "type": "registry:hook" } ] }, { "name": "use-debounce-fn", "type": "registry:hook", "title": "Use Debounce Function", "description": "A React hook that debounces function calls to improve performance and prevent excessive API calls.", "registryDependencies": [], "dependencies": [], "files": [ { "path": "registry/nowts/hooks/use-debounce-fn.ts", "type": "registry:hook" } ] }, { "name": "form-management", "type": "registry:block", "title": "Form Management", "description": "A comprehensive form management system with auto-save, unsaved changes warning, and sticky action bar for enhanced UX.", "registryDependencies": [ "button", "tooltip", "https://ui.nowts.app/r/submit-button.json", "https://ui.nowts.app/r/extended-form.json", "https://ui.nowts.app/r/use-debounce-fn.json", "https://ui.nowts.app/r/use-warn-if-unsaved-changes.json", "https://ui.nowts.app/r/use-is-client.json" ], "dependencies": ["motion", "react-hotkeys-hook", "lucide-react"], "docs": "Important: This component requires react-hook-form and uses other internal hooks. Make sure to install use-debounce-fn, use-warn-if-unsaved-changes, use-is-client, and submit-button components.", "files": [ { "path": "registry/nowts/blocks/form-management/form-management.tsx", "type": "registry:lib", "target": "lib/form-management/form-management.tsx" }, { "path": "registry/nowts/blocks/form-management/form-management-sticky-bar.tsx", "type": "registry:lib", "target": "lib/form-management/form-management-sticky-bar.tsx" } ] }, { "name": "submit-button", "type": "registry:component", "title": "Submit Button", "description": "Enhanced submit button with loading state that automatically detects form submission state using React's useFormStatus hook.", "registryDependencies": ["button", "https://ui.nowts.app/r/spinner.json"], "dependencies": ["motion", "lucide-react"], "files": [ { "path": "registry/nowts/components/submit-button.tsx", "type": "registry:component" } ] }, { "name": "spinner", "type": "registry:component", "title": "Spinner", "description": "A simple loading spinner component using Lucide's Loader2 icon with spin animation.", "registryDependencies": [], "dependencies": ["lucide-react"], "files": [ { "path": "registry/nowts/components/spinner.tsx", "type": "registry:component" } ] }, { "name": "next-top-loader", "type": "registry:component", "title": "Next Top Loader", "description": "A Next.js compatible top loading bar component with automatic navigation detection and customizable progress indicators.", "registryDependencies": [], "dependencies": ["zustand"], "docs": "Important: Add to your app/layout.tsx file to enable the top loading bar across your application.", "files": [ { "path": "registry/nowts/components/next-top-loader.tsx", "type": "registry:component" } ] }, { "name": "extended-form", "type": "registry:component", "title": "Extended Form", "description": "Enhanced form component with Zod schema validation and TypeScript support using react-hook-form.", "registryDependencies": ["form"], "dependencies": ["react-hook-form", "@hookform/resolvers", "zod"], "files": [ { "path": "registry/nowts/components/extended-form.tsx", "type": "registry:component" } ] }, { "name": "use-copy-to-clipboard", "type": "registry:hook", "title": "Use Copy to Clipboard", "description": "A React hook for copying text to the clipboard with fallback support and feedback state management.", "registryDependencies": [], "dependencies": [], "files": [ { "path": "registry/nowts/hooks/use-copy-to-clipboard.ts", "type": "registry:hook" } ] }, { "name": "better-auth-signup", "type": "registry:block", "title": "Better Auth Sign Up", "description": "A complete sign-up form component with email and password authentication using Better Auth.", "registryDependencies": [ "button", "input", "label", "card", "sonner", "https://ui.nowts.app/r/extended-form.json" ], "dependencies": ["zod", "react-hook-form", "@hookform/resolvers"], "files": [ { "path": "registry/nowts/blocks/better-auth-signup/better-auth-signup.tsx", "type": "registry:component" } ] } ] }