Skip to content

HydePHP UI Kit - Documentation

The HydePHP UI Kit is a collection of minimalistic and un-opinionated TailwindCSS components for Laravel Blade, indented to be used with HydePHP. Note that these components may require CSS classes not present in the bundled app.css file and that you may need to recompile the CSS file using the included Laravel Mix configuration.

Screenshot

Here are some of the components you can use to build your next project! As you can see, all components support both light and dark mode out of the box, just like the rest of HydePHP.

Components Screenshot

Components

Please make sure you're familiar with Laravel Blade before using the HydePHP UI Kit.

Tip: Most components allow you to pass any additional HTML attributes to the element!

Buttons

Primary

<x-hyde-ui::button-primary>
    Primary Button
</x-hyde-ui::button-primary>

Secondary

<x-hyde-ui::button-secondary>
    Secondary Button
</x-hyde-ui::button-secondary>

Input

The base component is <x-hyde-ui::input />, any additional attributes will be passed to the input element as seen below.

<x-hyde-ui::input type="text" name="name" placeholder="Name" value="John Doe" />

Card

An incredibly versatile component that can be used for a wide variety of purposes.

In the most basic form, a card is just a container with a white background and a shadow. However, it also supports two slots: title and footer.

<x-hyde-ui::card>
    A card with some content.
</x-hyde-ui::card>
<x-hyde-ui::card>
    <x-slot name="title">
        Card Title
    </x-slot>
</x-hyde-ui::card>
<x-hyde-ui::card>
    <x-slot name="footer">
       Some footer content.
    </x-slot>
</x-hyde-ui::card>

Why not combine the components?

<x-hyde-ui::card>
    <x-slot name="title">
        My Amazing Card
    </x-slot>

    A card with some content and a footer with a button.

    <x-slot name="footer" class="text-center">
        <x-hyde-ui::button-primary>
            Primary Button
        </x-hyde-ui::button-primary>
    </x-slot>
</x-hyde-ui::card>

Typography Components

Heading

This component will create a styled <h1> level heading centred on the page.

<x-hyde-ui::heading>
    Lorem ipsum dolor sit amet.
</x-hyde-ui::heading>

Prose

This simple component will create an <article> element with TailwindCSS Typography (prose) styles applied.

<x-hyde-ui::prose>
    <h2>Prose Heading</h2>
    <p>Prose paragraph</p>
</x-hyde-ui::prose>

Markdown

This component will convert any Markdown within it to HTML using the Hyde Markdown compiler.

<x-hyde-ui::markdown>
    ## Markdown Heading

    Hello world!
</x-hyde-ui::markdown>

Tip: You may also want to wrap this in the prose element or the Markdown will not be styled.

What's Next?

The UI kit is minimal by design. It's up to you to create something amazing, we just want to give you a head start. You can get surprisingly far when you combine the components. Take this newsletter signup card for example!

<x-hyde-ui::card>
    <x-slot name="title">
        Let your creativity flow!
    </x-slot>

    <x-slot name="main" style="padding-top: 0; padding-bottom: 0;">
        <x-hyde-ui::prose>
            <x-hyde-ui::markdown>
                The UI kit is minimal by design. It's up to **you** to create something _amazing_.

                Maybe create a form to collect newsletter subscriptions?
            </x-hyde-ui::markdown>
        </x-hyde-ui::prose>
    </x-slot>

    <x-slot name="footer" class="text-center flex">
        <x-hyde-ui::input placeholder="Enter email" />

        <x-hyde-ui::button-primary>
            Subscribe
        </x-hyde-ui::button-primary>
    </x-slot>
</x-hyde-ui::card>

Newsletter Screenshot

GitHub Repository

You can find the source code for the UI Kit on GitHub at hydephp/ui-kit.