### Development Setup and Scripts Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Instructions for setting up the development environment and common scripts for building, testing, and formatting the component library and documentation site. ```bash git clone https://github.com/your-username/components.git cd components pnpm install pnpm dev pnpm build pnpm --filter ./packages/lib test pnpm --filter ./packages/lib test:watch pnpm format ``` -------------------------------- ### Add Live Component Examples Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md This code demonstrates how to create live examples for a component, allowing users to see different variations and states. It's written in React and TypeScript. ```tsx import { MyComponent } from "@g4rcez/components/my-component"; export const MyComponentExample = () => { return (
Default Primary
); }; ``` -------------------------------- ### Development Setup and Scripts Source: https://github.com/g4rcez/components/blob/main/README.md Instructions for setting up the development environment, including cloning the repository, installing dependencies with pnpm, and running development or build scripts. ```bash # Clone the repository git clone https://github.com/g4rcez/components.git cd components # Install dependencies pnpm install # Start development server (docs site) pnpm dev # Build the library pnpm build ``` -------------------------------- ### Install Tailwind CSS v4 and @g4rcez/components Source: https://github.com/g4rcez/components/blob/main/docs/TAILWIND_V4_INTEGRATION.md Installs the necessary packages for Tailwind CSS v4 and the @g4rcez/components library using npm. ```bash # Install Tailwind CSS v4 (when available) npm install tailwindcss@next # Install the components library npm install @g4rcez/components ``` -------------------------------- ### Branching Strategy for Contributions Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Provides examples of Git commands for creating feature, bug fix, and documentation branches according to the project's workflow. ```bash git checkout -b feature/component-name git checkout -b fix/issue-description git checkout -b docs/update-readme ``` -------------------------------- ### Install G4rcez Components Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Installs the G4rcez components library using npm. ```bash npm install @g4rcez/components ``` -------------------------------- ### Basic Setup with ComponentsProvider Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Demonstrates the basic setup for using G4rcez components by wrapping the application with ComponentsProvider and importing the necessary CSS. ```tsx import { ComponentsProvider } from "@g4rcez/components"; import "@g4rcez/components/index.css"; function App() { return ( ); } ``` -------------------------------- ### Global CSS Setup with Tailwind and @g4rcez/components Source: https://github.com/g4rcez/components/blob/main/docs/TAILWIND_V4_INTEGRATION.md Sets up global CSS by importing Tailwind CSS and @g4rcez/components, and defines custom CSS variables for theming and animations. ```css /* styles/globals.css */ @import "tailwindcss"; @import "@g4rcez/components/index.css"; /* Custom CSS variables for theming */ @theme { --color-brand-primary: #3b82f6; --color-brand-secondary: #64748b; --color-brand-accent: #8b5cf6; --spacing-component: 1rem; --radius-component: 0.5rem; --shadow-component: 0 4px 6px -1px rgb(0 0 0 / 0.1); } /* Custom animations */ @keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse-soft { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } ``` -------------------------------- ### Add Component Documentation Page Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md This snippet shows how to create a documentation page for a component using React and TypeScript. It includes importing the component, displaying its description, and providing an example usage. ```tsx import { MyComponent } from "@g4rcez/components/my-component"; export default function MyComponentPage() { return (

MyComponent

Component description...

Examples

Example usage

API Reference

{/* Props table */}
); } ``` -------------------------------- ### Write Component Tests Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Provides examples of unit tests for a React component using Vitest and React Testing Library. Covers rendering, prop variations, and ref forwarding. ```tsx // packages/lib/tests/components/my-component.test.tsx import { render, screen } from "@testing-library/react"; import { MyComponent } from "../../src/components/category/my-component"; describe("MyComponent", () => { it("renders with default props", () => { render(Test content); expect(screen.getByText("Test content")).toBeInTheDocument(); }); it("applies variant classes correctly", () => { render(Test); const element = screen.getByText("Test"); expect(element).toHaveClass("primary-classes"); }); it("forwards ref correctly", () => { const ref = React.createRef(); render(Test); expect(ref.current).toBeInstanceOf(HTMLDivElement); }); }); ``` -------------------------------- ### Example: Basic Card Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md A simple example demonstrating a Card component with a heading and paragraph content. ```tsx

Welcome

This is a simple card with basic content.

``` -------------------------------- ### Create a New React Component Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Demonstrates the creation of a new React component using TypeScript, CVA for styling variants, and forwardRef for ref forwarding. Includes prop definitions, JSDoc comments, and usage examples. ```tsx // packages/lib/src/components/category/my-component.tsx import React, { forwardRef } from "react"; import { cva } from "class-variance-authority"; import { css } from "../../lib/dom"; /** * Component variant definitions * @internal */ const variants = { variant: { default: "default-classes", primary: "primary-classes", }, size: { sm: "small-classes", md: "medium-classes", }, }; /** * Class variance authority configuration * @internal */ const componentVariants = cva("base-classes", { variants, defaultVariants: { variant: "default", size: "md" }, }); /** * Props for the MyComponent */ export interface MyComponentProps { /** Component variant */ variant?: keyof typeof variants.variant; /** Component size */ size?: keyof typeof variants.size; /** Additional CSS classes */ className?: string; /** Component children */ children?: React.ReactNode; } /** * A description of what this component does. * * @example * ```tsx * * Content * * ``` */ export const MyComponent = forwardRef( ({ variant, size, className, children, ...props }, ref) => { return (
{children}
); }, ); MyComponent.displayName = "MyComponent"; ``` -------------------------------- ### Currency Input Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Example of using the Input component with a currency mask and state management. ```tsx setAmount(e.target.value)} /> ``` -------------------------------- ### Basic Text Input Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md A standard example of using the Input component for text input with state management. ```tsx setName(e.target.value)} /> ``` -------------------------------- ### Installation Source: https://github.com/g4rcez/components/blob/main/README.md Provides instructions for installing the @g4rcez/components library using npm, yarn, or pnpm package managers. ```bash npm install @g4rcez/components # or yarn add @g4rcez/components # or pnpm add @g4rcez/components ``` -------------------------------- ### Project Structure Overview Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Illustrates the directory structure of the @g4rcez/components project, highlighting the main library ('lib') and documentation ('docs') packages. ```directory-structure packages/ ├── lib/ # Main component library │ ├── src/ │ │ ├── components/ │ │ ├── hooks/ │ │ ├── lib/ │ │ ├── styles/ │ │ └── config/ │ ├── tests/ │ └── dist/ └── docs/ # Documentation site ├── src/app/docs/ └── src/components/examples/ ``` -------------------------------- ### Basic Dialog Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Modal.md A complete example demonstrating how to use the Modal component as a basic dialog, including a button to open it and confirmation/cancel actions within the footer. ```tsx const BasicDialog = () => { const [open, setOpen] = useState(false); return ( <>

Are you sure you want to proceed?

); }; ``` -------------------------------- ### Tailwind CSS v4 Integration Examples Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Showcases examples of Tailwind CSS v4 features integrated into various project components. Demonstrates CSS variables, container queries, CSS Grid areas, color functions, modern animations, and responsive design patterns. ```APIDOC Component Examples with Tailwind CSS v4: Button: Features: CSS variables, container queries, dynamic styling, custom animations Input: Features: Responsive forms, locale-aware styling, validation animations, multi-step layouts Modal: Features: Dynamic theming, container-based sizing, CSS Grid areas, modern animations Card: Features: Masonry layouts, hover effects, data visualization, adaptive components Alert: Features: Notification systems, progress indicators, stacking animations Tabs: Features: Vertical layouts, CSS Grid areas, animated transitions, responsive behavior Select: Features: Dynamic theming, responsive forms, advanced state styling Checkbox: Features: Task lists, priority styling, animated states, complex layouts ``` -------------------------------- ### Alert Basic Variants Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Alert.md Shows examples of using the Alert component with different themes like 'info', 'success', 'warn', and 'danger'. ```tsx This is an informational message. Your changes have been saved successfully. Please review your input before proceeding. Something went wrong. Please try again. ``` -------------------------------- ### Date Input Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Example of using the Input component with a date mask and state management. ```tsx setDate(e.target.value)} /> ``` -------------------------------- ### Example: Basic Tabs Source: https://github.com/g4rcez/components/blob/main/docs/components/Tabs.md A functional example of the Tabs component, demonstrating how to manage the active tab state and render different content for each tab. ```tsx const BasicTabs = () => { const [active, setActive] = useState("overview"); return (

Project Overview

This is the overview of your project.

Project Details

Detailed information about your project.

Project Settings

Configure your project settings here.

); }; ``` -------------------------------- ### Credit Card Input Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Example of using the Input component with a credit card mask and state management. ```tsx setCardNumber(e.target.value)} /> ``` -------------------------------- ### Run Component Tests Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Commands to execute tests for the 'lib' package using pnpm, including running all tests, watching for changes, and generating a coverage report. ```bash # Run all tests pnpm --filter ./packages/lib test # Watch mode pnpm --filter ./packages/lib test:watch # Coverage report pnpm --filter ./packages/lib test --coverage ``` -------------------------------- ### Percentage Mask Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Demonstrates the usage of the percentage mask for the Input component. ```tsx ``` -------------------------------- ### Example: Card as Different Elements Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Demonstrates rendering the Card component as different HTML elements like 'article' or 'section' using the `as` prop. ```tsx // As article

Blog post content...

// As section
  • Feature 1
  • Feature 2
``` -------------------------------- ### Phone Number Input Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Example of using the Input component with a phone number mask and state management. ```tsx setPhone(e.target.value)} /> ``` -------------------------------- ### Basic Button Usage Source: https://github.com/g4rcez/components/blob/main/docs/components/Button.md Shows a simple example of how to render and use the Button component with default settings. ```tsx ``` -------------------------------- ### Polymorph Basic Usage Examples Source: https://github.com/g4rcez/components/blob/main/docs/components/Polymorph.md Illustrates the basic usage of the Polymorph component, showing how to render it as different HTML elements like button, link, and div. ```tsx Button Element Link Element Div Element ``` -------------------------------- ### Basic Select Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Select.md An example demonstrating how to manage the selected value of the Select component using React's useState hook and handle changes. ```tsx const [selectedValue, setSelectedValue] = useState(""); // Euro // Brazilian Real ``` -------------------------------- ### Update Package Exports Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Configures the `package.json` to correctly export the component for different module systems (import, require, default). ```json { "./my-component": { "type": "./dist/components/category/my-component.d.ts", "import": "./dist/components/category/my-component.js", "require": "./dist/components/category/my-component.js", "default": "./dist/components/category/my-component.js" } } ``` -------------------------------- ### Select Component Use Cases Source: https://github.com/g4rcez/components/blob/main/docs/components/Select.md Examples of using the Select component for common UI patterns like selecting user preferences (theme), status, and priority levels. ```tsx ``` ```tsx // Only numbers // Mixed pattern ``` -------------------------------- ### Export Component in Index Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Shows how to export a newly created component from the library's main index file to make it available for import. ```tsx export * from "./category/my-component"; ``` -------------------------------- ### Example: Card with Title Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Illustrates using the `title` prop to automatically generate a card header with user profile information. ```tsx

John Doe

john@example.com

``` -------------------------------- ### Polymorph Component Examples: With TypeScript Source: https://github.com/g4rcez/components/blob/main/docs/components/Polymorph.md Demonstrates TypeScript integration with Polymorph, showing how it correctly types props for button and input elements, including event handlers. ```tsx // TypeScript knows this is a button and provides button props { // e is properly typed as MouseEvent console.log('Button clicked'); }}> Submit // TypeScript knows this is an input and provides input props { // e is properly typed as ChangeEvent setValue(e.target.value); }}/> ``` -------------------------------- ### Development Workflow Commands Source: https://github.com/g4rcez/components/blob/main/ARCHITECTURE.md Outlines the essential commands for local development, including starting the development server, running tests, and building the library. These commands facilitate the development and maintenance of the components. ```bash # Start development environment pnpm dev # Run tests pnpm test # Build library pnpm build ``` -------------------------------- ### Release Versioning and Steps Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Details on the versioning strategy (Semantic Versioning) and the steps involved in releasing new versions of the component library, including version bumping, building, testing, publishing, and tagging. ```bash # Update version in package.json npm version patch|minor|major pnpm build pnpm test npm publish git tag v1.0.0 git push origin v1.0.0 ``` -------------------------------- ### Monorepo Project Structure Source: https://github.com/g4rcez/components/blob/main/ARCHITECTURE.md Illustrates the monorepo organization for the @g4rcez/components library, detailing the 'packages' directory with 'lib' for the main component library and 'docs' for the documentation site. It outlines subdirectories for components, hooks, styles, configuration, and testing within the library. ```bash packages/ ├── lib/ # Main component library │ ├── src/ │ │ ├── components/ # Component implementations │ │ ├── hooks/ # Reusable React hooks │ │ ├── lib/ # Utility functions │ │ ├── styles/ # Theme system and design tokens │ │ ├── config/ # Configuration and context │ │ ├── flow/ # Flow diagram components │ │ └── types.ts # Global type definitions │ ├── tests/ # Unit tests │ └── dist/ # Built output └── docs/ # Documentation site ├── src/app/docs/ # Documentation pages └── src/components/ # Example components ``` -------------------------------- ### Tailwind CSS v3 to v4 Migration Example Source: https://github.com/g4rcez/components/blob/main/docs/TAILWIND_V4_INTEGRATION.md Provides a code comparison illustrating the migration from Tailwind CSS v3 to v4. It highlights the shift from viewport-based responsive classes (e.g., `md:grid-cols-2`) to container query modifiers (e.g., `@md:grid-cols-2`) and the use of `@container` on parent elements. ```tsx // Before (Tailwind v3)

Title

// After (Tailwind v4)

Title

``` -------------------------------- ### Core Components - @g4rcez/components Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Foundation components offering basic functionality and polymorphic rendering capabilities. Includes Button, Polymorph, RenderOnView, and Tag. ```markdown ## 🔧 Core Components Foundation components that provide basic functionality and polymorphic capabilities. | Component | Description | | ---------------- | ------------------------------------------------------------------- | | **Button** | Versatile button with multiple variants and polymorphic rendering | | **Polymorph** | Base polymorphic component for rendering as different HTML elements | | **RenderOnView** | Performance optimization component with intersection observer | | **Tag** | Label/badge component for metadata and status display | ``` -------------------------------- ### Example: Interactive Cards with State Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Provides an example of an interactive Card component that uses React state to manage expandable content. ```javascript import React, { useState } from 'react'; import { Card } from "@g4rcez/components/card"; const InteractiveCard = () => { const [expanded, setExpanded] = useState(false); return (

Always visible content.

{expanded && (

Additional content that can be toggled.

)}
); }; export default InteractiveCard; ``` -------------------------------- ### Component File Structure and Naming Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md Guidelines for structuring and naming component files within the project, emphasizing consistency and readability. Includes naming conventions for components, hooks, utilities, and CSS classes. ```tsx // 1. Imports import React from "react"; // 2. Types and interfaces interface Props {} // 3. Component implementation export const Component = () => {}; // 4. Display name Component.displayName = "Component"; ``` -------------------------------- ### Custom String Mask Examples Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Provides examples of using custom string masks for phone numbers, CPF, dates, and credit card numbers. ```tsx // Phone number // CPF (Brazilian tax ID) // Date // Credit card ``` -------------------------------- ### Polymorph Component Best Practices Source: https://github.com/g4rcez/components/blob/main/docs/components/Polymorph.md Outlines best practices for using the Polymorph component, including default element provision, type safety, ref forwarding, prop spreading, and documentation. ```markdown 1. **Default Element**: Always provide a sensible default for the `as` prop 2. **Type Safety**: Leverage TypeScript's type checking for prop validation 3. **Ref Forwarding**: Always forward refs when creating polymorphic components 4. **Prop Spreading**: Use proper prop spreading to maintain element-specific props 5. **Documentation**: Document which elements are supported and recommended ``` -------------------------------- ### Pull Request Template Source: https://github.com/g4rcez/components/blob/main/CONTRIBUTING.md A standard template for pull requests, ensuring all necessary information is provided for review. Includes sections for description, type of change, testing, screenshots, and a checklist. ```markdown ## Description Brief description of changes ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Testing - [ ] Unit tests added/updated - [ ] Manual testing completed - [ ] Accessibility tested ## Screenshots (If applicable) ## Checklist - [ ] Code follows style guidelines - [ ] Self-review completed - [ ] Documentation updated - [ ] Tests added/updated ``` -------------------------------- ### Dismissible Alert Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Alert.md Provides an example of a dismissible alert using the 'open' and 'onClose' props to manage its visibility state with React's useState hook. ```tsx const [showAlert, setShowAlert] = useState(true); setShowAlert(false)} > Thanks for joining our platform. ; ``` -------------------------------- ### Polymorph Component Examples: Basic Elements Source: https://github.com/g4rcez/components/blob/main/docs/components/Polymorph.md Provides examples of using Polymorph for default span rendering, as a button with an onClick handler, and as a link with href and target attributes. ```tsx // Renders as span (default) Default span // Renders as button console.log('clicked')}>Button // Renders as link External Link ``` -------------------------------- ### Example: Checkbox Sizes Source: https://github.com/g4rcez/components/blob/main/docs/components/Checkbox.md Demonstrates how to change the visual size of the checkbox component using the `size` prop. ```tsx
Medium checkbox (default) Large checkbox
``` -------------------------------- ### Floating Components - @g4rcez/components Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Overlay components utilizing Floating UI for advanced positioning. Includes Modal, Dropdown, Tooltip, and Command Palette for interactive elements. ```markdown ## 🎈 Floating Components Overlay components using Floating UI for positioning. | Component | Description | | ------------------ | ---------------------------------------- | | **CommandPalette** | Command palette with search and actions | | **Dropdown** | Dropdown menu component | | **Expand** | Expandable content container | | **Menu** | Context menu component | | **Modal** | Modal dialog with multiple display types | | **Toolbar** | Floating toolbar component | | **Tooltip** | Hover tooltip component | ``` -------------------------------- ### Example: Disabled Checkboxes Source: https://github.com/g4rcez/components/blob/main/docs/components/Checkbox.md Shows how to use the `disabled` prop to make checkboxes non-interactive, both when checked and unchecked. ```tsx
This option is disabled and checked This option is disabled and unchecked
``` -------------------------------- ### Basic Input Usage Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Shows the fundamental way to render the Input component with a placeholder. ```tsx ``` -------------------------------- ### Input with Validation Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Demonstrates how to implement input validation for the Input component, specifically for email format. ```tsx const [email, setEmail] = useState(""); const [error, setError] = useState(""); const validateEmail = (value: string) => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(value)) { setError("Please enter a valid email address"); } else { setError(""); } }; { setEmail(e.target.value); validateEmail(e.target.value); }} error={error} />; ``` -------------------------------- ### Example: Nested Cards Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Shows how to nest Card components within each other to create complex, multi-level layouts. ```tsx
Chart content here
  • User logged in
  • New order received
  • Payment processed
``` -------------------------------- ### Individual Component Imports Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Shows how to import specific components either individually from their respective paths or from the main package. ```tsx // Import specific components import { Button } from "@g4rcez/components/button"; import { Input } from "@g4rcez/components/input"; import { Modal } from "@g4rcez/components/modal"; // Or import from main package import { Button, Input, Modal } from "@g4rcez/components"; ``` -------------------------------- ### Example: Loading Checkbox State Source: https://github.com/g4rcez/components/blob/main/docs/components/Checkbox.md Illustrates the `loading` prop, which visually indicates an ongoing operation and disables the checkbox. ```tsx const [loading, setLoading] = useState(false); const [subscribed, setSubscribed] = useState(false); const handleSubscribe = async (checked: boolean) => { setLoading(true); try { // Simulate API call await new Promise((resolve) => setTimeout(resolve, 1000)); setSubscribed(checked); } finally { setLoading(false); } }; handleSubscribe(e.target.checked)} loading={loading} > Subscribe to newsletter ; ``` -------------------------------- ### Theme System Source: https://github.com/g4rcez/components/blob/main/COMPONENTS.md Allows customization of the component library's theme by providing a `ComponentsProvider` with a custom theme object. ```javascript import { ComponentsProvider } from "@g4rcez/components"; const customTheme = { colors: { primary: "#your-color", }, }; ; ``` -------------------------------- ### Product Cards Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Shows a Card component used for displaying product information, specifically a pricing plan. It includes a title with a price, a list of features, and a call-to-action button. ```tsx $29/mo
  • ✓ Unlimited projects
  • ✓ Priority support
  • ✓ Advanced analytics
``` -------------------------------- ### Display Components - @g4rcez/components Source: https://github.com/g4rcez/components/blob/main/docs/COMPONENT_INDEX.md Components designed for presenting information and organizing content effectively. Includes Alert, Card, Tabs, and others for various display needs. ```markdown ## 🎨 Display Components Components for presenting information and organizing content. | Component | Description | | ----------------- | ---------------------------------------------------------- | | **Alert** | Notification and message display with animations | | **Calendar** | Calendar display and date selection | | **Card** | Container component with header, body, and footer sections | | **Empty** | Empty state placeholder component | | **List** | List display component with virtualization support | | **Notifications** | Toast notification system | | **Progress** | Progress indicators and loading states | | **Shortcut** | Keyboard shortcut display component | | **Skeleton** | Loading skeleton placeholders | | **Stats** | Statistics and metrics display | | **Step** | Step indicator for multi-step processes | | **Tabs** | Tab navigation with keyboard support | | **Timeline** | Timeline and stepper component | ``` -------------------------------- ### Example: Card.Title with Navigation Source: https://github.com/g4rcez/components/blob/main/docs/components/Card.md Utilizes the Card.Title subcomponent to include navigation buttons alongside the card's title. ```tsx

Project description and details...

Status: Active
``` -------------------------------- ### Select with Validation Example Source: https://github.com/g4rcez/components/blob/main/docs/components/Select.md Illustrates how to implement validation for the Select component, displaying an error message when a required option is not selected. ```tsx const [country, setCountry] = useState(""); const [error, setError] = useState(""); const validateCountry = (value: string) => { if (!value) { setError("Please select a country"); } else { setError(""); } }; ; ``` -------------------------------- ### Button Component Unit Test Source: https://github.com/g4rcez/components/blob/main/ARCHITECTURE.md Provides an example of a unit test for the Button component using Vitest and React Testing Library. It verifies that the button renders with the correct CSS classes based on its variant prop. ```tsx // Component test example describe("Button", () => { it("renders with correct variant", () => { render(); expect(screen.getByRole("button")).toHaveClass("primary-classes"); }); }); ``` -------------------------------- ### Import Input Component Source: https://github.com/g4rcez/components/blob/main/docs/components/Input.md Demonstrates how to import the Input component from the @g4rcez/components library. ```tsx import { Input } from "@g4rcez/components/input"; ``` -------------------------------- ### Component Exports Source: https://github.com/g4rcez/components/blob/main/ARCHITECTURE.md Demonstrates the export strategy for components, including a main export for all components and individual exports for better tree-shaking support. This optimizes bundle size by allowing users to import only the components they need. ```typescript // Main export (all components) export * from "./components"; // Individual exports (tree-shaking friendly) export { Button } from "./components/core/button"; export { Input } from "./components/form/input"; ```