Initial commit

This commit is contained in:
vitalijmulika
2025-12-23 17:33:02 +02:00
commit 8bcc8563ea
307 changed files with 62565 additions and 0 deletions

28
src/types/button.ts Normal file
View File

@@ -0,0 +1,28 @@
import type { CTAButtonVariant, ButtonPropsForVariant } from "@/components/button/types";
/**
* Configuration for button components used across sections.
*
* @property text - Button label text (required, 2-15 characters recommended)
* @property onClick - Optional click handler
* @property href - Optional link destination (converted to Next.js Link)
* @property props - Additional variant-specific props (e.g., iconClassName for icon-arrow)
*
* @example
* ```tsx
* const buttons: ButtonConfig[] = [
* { text: "Get Started", href: "/signup" },
* { text: "Learn More", onClick: () => console.log("clicked") }
* ];
* ```
*
* @remarks
* Button variant (text-stagger, icon-arrow, etc.) is controlled by ThemeProvider.
* Do not specify variant in ButtonConfig - it's applied automatically.
*/
export interface ButtonConfig {
text: string;
onClick?: () => void;
href?: string;
props?: Partial<ButtonPropsForVariant<CTAButtonVariant>>;
}

11
src/types/navigation.ts Normal file
View File

@@ -0,0 +1,11 @@
export interface NavItem {
name: string;
id: string;
}
export interface NavbarProps {
navItems: NavItem[];
// logoSrc?: string;
// logoAlt?: string;
brandName?: string;
}