Kibo UI Documentation

repository·main·Indexed 26 days ago

https://github.com/shadcnblocks/kibo

A component registry of composable and accessible building blocks designed to extend shadcn/ui. Kibo UI wraps complex headless library logic to provide sophisticated components and blocks—such as Hero, Pricing, Roadmap, and Collaborative Canvas—reducing boilerplate while maintaining flexibility and responsive design.

Tokens
46.7K
Snippets
43
Records
338
Agent score
86%

What's inside Kibo UI

  1. Overview of the Reel component

    main

    The Reel component is a composable, Instagram-style component designed for vertical content (9:16 aspect ratio). It supports both video and image content and includes features such as:

    • Progress Indicators: Shows current and total reels.
    • Automatic Playback: Seamless transitions and auto-advance to the next reel.
    • Navigation: Supports touch-friendly tapping (left/right sides) and keyboard accessibility.
    • Customization: Composable architecture allows for custom overlays, headers, and footers for metadata, social interactions, and controls (play/pause, mute/unmute).
  2. Overview of the Tree component features

    main

    The Tree component is a composable component designed for displaying hierarchical data structures. Key features include:

    • Animated expand/collapse: Configurable animations for opening and closing nodes.
    • Customizable nodes: Support for custom icons and labels via a composable API.
    • Selection modes: Supports both single and multi-selection.
    • Visual hierarchy: Optional tree lines to visually connect parent and child nodes.
    • Keyboard navigation: Supports keyboard interaction, including Ctrl/Cmd for multi-select.
    • Built-in icons: Includes default folder/file icons with open/closed states.
  3. Overview of Kibo UI

    main

    Kibo UI is a custom registry of composable, accessible, and open-source components designed to work with shadcn/ui.

    Key characteristics:

    • shadcn/ui Integration: Uses existing shadcn/ui CSS variables and is designed to work with its primitives.
    • Composable Building Blocks: Components are designed to reduce boilerplate while maintaining flexibility and responsive design.
    • Complex Logic: Unlike core shadcn/ui which primarily wraps Radix UI primitives, Kibo UI wraps more complex logic from various headless libraries to provide components suitable for building comprehensive applications.
  4. Overview of Color Picker features

    main

    The Color Picker is a Figma-inspired component that allows users to select colors with high precision. Key capabilities include:

    • Interactive Selection: Drag and drop functionality for color selection.
    • Precise Adjustments: Dedicated sliders for Hue and Alpha (transparency).
    • EyeDropper Tool: Ability to pick colors from anywhere on the screen.
    • Multiple Formats: Outputs color in HEX, RGB, CSS, and HSL formats.
    • Real-time Preview: Instant visual feedback of the selected color.
    • Customization: Fully stylable via className and component props.
  5. Overview of Editor features

    main

    The Editor component is a rich text editor built on top of TipTap. It supports a wide range of text manipulation and formatting features, including:

    • Formatting: Bold, italic, underline, strikethrough, code, superscript, subscript, text/background colors, and links.
    • Menus: Slash commands, floating menus, and bubble menus for text selection.
    • Structure: Headings (H1, H2, H3), lists (bullet, ordered, task), blockquotes, and horizontal rules.
    • Tables: Full table management including column/row management and merging/splitting cells.
    • Advanced Content: Code blocks with syntax highlighting and placeholder text.
    • Utilities: Character and word count, clear formatting, and character limit support.
  6. Understand Kibo UI and its relationship to shadcn/ui

    main

    Kibo UI is a component library and custom registry built on top of shadcn/ui. It is designed to extend shadcn/ui by providing higher-level, complex components that include built-in logic and functionality (such as tables, file dropzones, and AI chat primitives) rather than just pre-styled primitives.

    Key Characteristics:

    • Compatibility: Uses the same Tailwind CSS variable theming as shadcn/ui, allowing it to work seamlessly with existing shadcn/ui setups.
    • Complexity: While shadcn/ui focuses on foundational primitives (wrapping Radix UI), Kibo UI wraps more complex logic from additional headless libraries to provide features like calendars, rich text editors, and drag-and-drop functionality.
    • Blocks: Kibo UI provides 'blocks'—pre-built components designed for entire application sections like dashboards or login pages.
    • Extensibility: Components are un-opinionated in styling (using Tailwind utility classes) and are fully composable, making them suitable for use as a foundation for custom design systems.
  7. Use the Image Crop component

    main

    The Image Crop component provides an interactive interface for cropping images. Key features include:

    • Aspect Ratios: Support for custom aspect ratios or free-form cropping.
    • Circular Mode: A dedicated mode for circular cropping, ideal for profile pictures and avatars.
    • Output: Returns the cropped image as a PNG data URL, making it ready for immediate upload or display.
    • Styling: Uses shadcn/ui variables for consistent styling and includes a checkered background pattern to preview transparency.
    • Optimization: Includes automatic image scaling and compression based on maximum file size.
  8. Gantt component features

    main

    The Gantt chart component provides the following capabilities for visualizing project schedules:

    • Timeline Interaction: Resizable and draggable timeline items.
    • Markers: Support for markers to highlight important dates, a 'today' marker for the current date, and a 'create marker' trigger.
    • Organization: Grouping of features and support for multiple items per row (useful for resource booking or hotel reservations).
    • Layout Variations: Support for layouts without a sidebar and read-only modes.
  9. Use the Rating component

    main

    The Rating component is a star rating component that supports keyboard navigation, hover effects, and accessible ARIA attributes. It can be customized for colors, size, and icons, and supports both read-only modes and hidden input support for forms.

    Key Features:

    • Customizable number of stars and size
    • Support for keyboard navigation
    • Hover and focus states
    • Accessible ARIA attributes
    • Read-only mode
    • Hidden input support for forms
  10. Use the Combobox component

    main

    The Combobox is an autocomplete input and command palette that provides a list of suggestions. It supports several modes and features:

    • Controlled and Uncontrolled modes: Manage the selected value via state or let the component handle it internally.
    • Customizable Trigger: You can customize the button that opens the dropdown.
    • Search & Navigation: Includes built-in search functionality and full keyboard navigation support.
    • Layout Features: Supports responsive width (matching the trigger), fixed width, and grouping of items.
    • Advanced Capabilities: Handles empty states, context-based type labeling, and native "create new" functionality for adding items that don't exist in the list.
  11. Use the Pill component with various features

    main

    The Pill component is a flexible badge-like component that supports several specialized layouts and indicators:

    • Avatar: Display a pill with an avatar and text.
    • Status: Use status indicators with variants (success, error, warning, info) and pulse animations.
    • Button: Integrate a dismissal button within the pill.
    • Indicator: Show different indicator states.
    • Delta: Display change indicators (increase/decrease).
    • Icon: Include icons with consistent styling.
    • Avatar Group: Display multiple avatars with an overlapping effect.
  12. Understand Kibo UI Design Principles

    main

    Kibo UI is built on five core design principles that influence how you use and extend the library:

    • Composability: Components are modular "lego blocks." You can use high-level components for convenience or assemble sub-components manually (e.g., using AIInput, AIMessage, and AIResponse to build a custom AI Chat) for more control.
    • Simplicity: APIs are designed to be straightforward, often using standard React props like value and onChange to ensure easy integration with form state management. Customization is typically achieved via Tailwind utility classes.
    • Accessibility: Components are built to meet WCAG and ARIA guidelines, leveraging headless libraries like Radix UI. This includes built-in keyboard navigation, focus trapping (e.g., in Dialogs), and support for reduced motion and color contrast.
    • Performance: The library is lightweight. Components are added individually via the CLI to prevent bloat, use minimal runtime dependencies, and leverage Tailwind CSS for optimized, atomic styling.
    • Developer Experience (DX): Kibo UI provides full TypeScript support for autocompletion, sensible defaults for immediate use, and thorough documentation with usage examples.