package aceternityui

// AceternityComponents contains all Aceternity UI components
var AceternityComponents = []ComponentInfo{
	{
		Name:           "bento-grid",
		Description:    "A responsive grid layout component with modern design",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/bento-grid.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"grid", "layout", "responsive", "bento"},
		IsPro:          false,
		Documentation:  "https://ui.aceternity.com/components/bento-grid",
	},
	{
		Name:           "background-beams",
		Description:    "Animated background beams with collision effects",
		Category:       "background",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/background-beams.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"background", "animation", "beams", "effects"},
		IsPro:          false,
		Documentation:  "https://ui.aceternity.com/components/background-beams",
	},
	{
		Name:           "expandable-cards",
		Description:    "Click cards to expand them and show additional information",
		Category:       "cards",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/expandable-card-demo-standard.json https://ui.aceternity.com/registry/expandable-card-demo-grid.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"cards", "expandable", "interactive", "animation"},
		IsPro:          false,
	},
	{
		Name:           "floating-dock",
		Description:    "A floating dock mac os style component, acts as a navigation bar",
		Category:       "navigation",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/floating-dock.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"dock", "navigation", "macos", "floating"},
		IsPro:          false,
	},
	{
		Name:           "focus-cards",
		Description:    "Hover over the card to focus on it, blurring the rest of the cards",
		Category:       "cards",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/focus-cards.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"cards", "focus", "hover", "blur"},
		IsPro:          false,
	},
	{
		Name:           "file-upload",
		Description:    "A minimal file upload form with background grid, drag and drop, and micro interactions",
		Category:       "form",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/file-upload.json",
		Dependencies:   []string{"motion", "tailwindcss", "clsx", "tailwind-merge"},
		Tags:           []string{"form", "upload", "drag-drop", "file"},
		IsPro:          false,
	},
	{
		Name:           "hero",
		Description:    "A set of hero sections ranging from simple to complex layouts",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/hero-section-demo-1.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge", "@tabler/icons-react", "cobe"},
		Tags:           []string{"hero", "landing", "hero-section", "banner"},
		IsPro:          false,
	},
	{
		Name:           "signup-form",
		Description:    "A customisable form built on top of shadcn's input and label, with a touch of framer motion",
		Category:       "form",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/signup-form-demo.json",
		Dependencies:   []string{"motion", "tailwindcss", "@radix-ui/react-label", "@tabler/icons-react", "clsx", "tailwind-merge"},
		Tags:           []string{"form", "signup", "authentication", "input"},
		IsPro:          false,
	},
	{
		Name:           "timeline",
		Description:    "A timeline component with sticky header and scroll beam follow",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/timeline.json",
		Dependencies:   []string{"motion", "@tabler/icons-react", "clsx", "tailwind-merge"},
		Tags:           []string{"timeline", "chronological", "events", "history"},
		IsPro:          false,
	},
	{
		Name:           "world-map",
		Description:    "A world map with animated lines and dots, programmatically generated",
		Category:       "map",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/world-map.json",
		Dependencies:   []string{"motion", "dotted-map", "clsx", "tailwind-merge"},
		Tags:           []string{"map", "world", "geography", "animation"},
		IsPro:          false,
	},
	{
		Name:           "feature-section",
		Description:    "A set of feature sections ranging from bento grids to simple layouts",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/features-section-demo-1.json https://ui.aceternity.com/registry/features-section-demo-2.json https://ui.aceternity.com/registry/features-section-demo-3.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge", "@tabler/icons-react", "cobe"},
		Tags:           []string{"card", "feature", "bento-grid"},
		IsPro:          false,
	},
	{
		Name:           "sidebar",
		Description:    "Expandable sidebar that expands on hover, mobile responsive and dark mode support",
		Category:       "sidebar",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/sidebar.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge", "@tabler/icons-react"},
		Tags:           []string{"sidebar", "special", "utilities", "dashboard"},
		IsPro:          false,
	},
	{
		Name:           "resizable-navbar",
		Description:    "A navbar that changes width on scroll, responsive and animated",
		Category:       "navbar",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/resizable-navbar.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge", "@tabler/icons-react"},
		Tags:           []string{"navbar", "responsive", "navigation", "layout"},
		IsPro:          false,
	},
	{
		Name:           "loader",
		Description:    "A set of simple and minimal loaders for your loading screens and components",
		Category:       "loader",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/loader.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"loading", "loaders", "loader"},
		IsPro:          false,
	},
	{
		Name:           "layout-grid",
		Description:    "A layout effect that animates the grid item on click, powered by framer motion layout",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/layout-grid.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"section", "features", "product", "special"},
		IsPro:          false,
	},
	{
		Name:           "hero-highlight",
		Description:    "A background effect with a text highlight component, perfect for hero sections",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/hero-highlight.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"hero", "section", "special", "text", "background"},
		IsPro:          false,
	},
	{
		Name:           "animated-tooltip",
		Description:    "A cool tooltip that reveals on hover, follows mouse pointer",
		Category:       "layout",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/animated-tooltip.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"card", "cover", "special", "utility"},
		IsPro:          false,
	},
	{
		Name:           "container-cover",
		Description:    "A Cover component that wraps any children, providing beams and space effect, hover to reveal speed",
		Category:       "container",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/cover.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge", "@tsparticles/react", "@tsparticles/engine", "@tsparticles/slim"},
		Tags:           []string{"features", "special", "highlight"},
		IsPro:          false,
	},
	{
		Name:           "placeholder-and-vanish-input",
		Description:    "Sliding in placeholders and vanish effect of input on submit",
		Category:       "container",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/placeholders-and-vanish-input.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"utility", "form", "section", "special"},
		IsPro:          false,
	},
	{
		Name:           "animated-tabs",
		Description:    "Tabs to switch content, click on a tab to check background animation",
		Category:       "container",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/tabs.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"hero", "feature", "product", "utility"},
		IsPro:          false,
	},
	{
		Name:           "text-generate-effect",
		Description:    "A cool text effect that fades in text on page load, one by one",
		Category:       "text",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/text-generate-effect.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"text", "content", "hero", "section", "special"},
		IsPro:          false,
	},
	{
		Name:           "text-hover-effect",
		Description:    "A text hover effect that animates and outlines gradient on hover, as seen on x.ai",
		Category:       "text",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/text-hover-effect.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"text", "content", "hero", "section", "special"},
		IsPro:          false,
	},
	{
		Name:           "typewriter-effect",
		Description:    "Text generates as if it is being typed on the screen",
		Category:       "text",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/typewriter-effect.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"text", "content", "hero", "section", "special"},
		IsPro:          false,
	},
	{
		Name:           "text-reveal-card",
		Description:    "Mousemove effect to reveal text content at the bottom of the card",
		Category:       "card",
		InstallCommand: "npx shadcn@latest add https://ui.aceternity.com/registry/text-reveal-card.json",
		Dependencies:   []string{"motion", "clsx", "tailwind-merge"},
		Tags:           []string{"text", "card", "reveal", "mousemove", "interaction"},
		IsPro:          false,
	},
}

// ComponentCategories contains all component categories
var ComponentCategories = []CategoryInfo{
	{
		Name:        "layout",
		Components:  []string{"bento-grid", "hero", "timeline", "feature-section", "layout-grid", "hero-highlight", "animated-tooltip"},
		Description: "Layout and structural components",
	},
	{
		Name:        "cards",
		Components:  []string{"expandable-cards", "focus-cards"},
		Description: "Card-based components with various interactions",
	},
	{
		Name:        "form",
		Components:  []string{"file-upload", "signup-form"},
		Description: "Form components and input elements",
	},
	{
		Name:        "navigation",
		Components:  []string{"floating-dock", "resizable-navbar"},
		Description: "Navigation and menu components",
	},
	{
		Name:        "background",
		Components:  []string{"background-beams", "hero-highlight"},
		Description: "Background effects and animations",
	},
	{
		Name:        "utilities",
		Components:  []string{"loader", "placeholder-and-vanish-input"},
		Description: "Utility components for enhanced functionality",
	},
	{
		Name:        "map",
		Components:  []string{"world-map"},
		Description: "Map and geographical components",
	},
	{
		Name:        "sidebar",
		Components:  []string{"sidebar"},
		Description: "Sidebar and dashboard components",
	},
	{
		Name:        "container",
		Components:  []string{"container-cover", "animated-tabs"},
		Description: "Container and tab components",
	},
	{
		Name:        "text",
		Components:  []string{"text-generate-effect", "text-hover-effect", "typewriter-effect"},
		Description: "Text and content effects",
	},
	{
		Name:        "card",
		Components:  []string{"text-reveal-card"},
		Description: "Card reveal and animation components",
	},
}
