BladewindUI Documentation

repository·main·Indexed 20 days ago

https://github.com/mkocansey/bladewind

A collection of modular UI components built with TailwindCSS, Laravel Blade templates, and vanilla JavaScript. BladewindUI allows developers to install the full library or individual components—such as Accordion, Alert, Avatar, Button, Card, and Chart—via Composer. It includes specialized bundles for forms and content, as well as a core foundation for shared helpers and CSS variables.

Tokens
16.7K
Snippets
77
Records
106
Agent score
68%

What's inside BladewindUI

  1. BladewindUI package contents and structure

    main

    The mkocansey/bladewind package is a meta-package that aggregates several specialized component bundles. Each bundle package (e.g., mkocansey/bladewind-forms) automatically pulls in all of its constituent individual component packages.

    | Package | Component |
    |---|---|
    | `mkocansey/bladewind-core` | Core |
    | `mkocansey/bladewind-icon` | Icon |
    | `mkocansey/bladewind-script` | Script |
    | `mkocansey/bladewind-spinner` | Spinner, Shimmer & Processing |
    | `mkocansey/bladewind-button` | Button |
    | `mkocansey/bladewind-alert` | Alert, Notification & Bell |
    | `mkocansey/bladewind-modal` | Modal |
    | `mkocansey/bladewind-table` | Table |
    | `mkocansey/bladewind-forms` | Forms Bundle |
    | `mkocansey/bladewind-content` | Content Bundle |
    | `mkocansey/bladewind-navigation` | Navigation Bundle |
  2. Understand BladewindUI package architecture

    main

    BladewindUI uses a monorepo structure that provides both granular and aggregate installation options:

    • Standalone Leaf Packages: Every component is a standalone package (e.g., mkocansey/bladewind-button). These are ideal for minimal installations where you only need specific functionality.
    • Aggregate Metapackages: These are type: metapackage bundles that contain no code themselves but require a list of related leaf packages. They are used for convenience (e.g., mkocansey/bladewind-forms bundles all form-related components).
    • Full-Install Meta-Package: The mkocansey/bladewind package pulls in everything available in the library.

    All packages share the same semantic version number, which is enforced during the release process.

  3. How BladewindUI component groups work

    main

    BladewindUI uses metapackages for its logical groups (bladewind-forms, bladewind-content, and bladewind-navigation). These group packages contain no code themselves; they exist solely to pull in the correct leaf packages via Composer.

    Key implications for developers:

    • Installation is identical: Installing a group package is functionally equivalent to installing every individual leaf package within that group one by one.
    • Clean uninstallation: If you decide to stop using a group and only need one specific component, you can uninstall the group and require only the specific leaf package (e.g., mkocansey/bladewind-accordion) without leaving unused dependencies behind.
    • Auto-discovery: Each leaf package registers its own Laravel service provider, so components are automatically discovered regardless of whether they were installed as part of a group or individually.
  4. Install the Radio Button component

    main

    You can install the Radio Button component specifically using Composer, or install the entire BladewindUI library to access all components.

    # Install only the radio component
    composer require mkocansey/bladewind-radio
    
    # OR install the full BladewindUI library
    composer require mkocansey/bladewind
  5. Install the Tooltip component

    main

    You can install the Tooltip component specifically using Composer, or install the entire BladewindUI library to access all available components.

    # Install only the tooltip component
    composer require mkocansey/bladewind-tooltip
    
    # Or install the full BladewindUI library
    composer require mkocansey/bladewind