Open source · Blade + Alpine · 41 components

Beautiful, accessible components you own.

Browse the collection live below, open any one in a real Laravel app running in your browser, then publish it straight into resources/views/components.

composer require devdojo/components

Forms

14 components

Avatar Upload

x-avatar-upload

A circular avatar picker with a built-in crop-and-resize modal. Click the circle to choose a JPG or PNG, position it, and the cropped image syncs to a Livewire property.

View component

Button

x-button

A versatile button with multiple variants, sizes, link support, and built-in Livewire loading states.

View component

Checkbox

x-checkbox

An accessible checkbox with label, description, custom icon, and clickable-card layouts. Works with wire:model.

View component

Date Picker

x-date-picker

A calendar date picker bound to a read-only input, with month navigation, today/selected highlighting and several display formats. The calendar is teleported so it never clips. Works with wire:model.

View component

Input

x-input

A text input with an optional label and automatic validation error display for Livewire and request errors.

View component

Label

x-label

An accessible form label that pairs with inputs, checkboxes, and other controls.

View component

Number Input

x-number-input

A numeric field with minus/plus steppers that respect min, max, and step — works with wire:model and keyboard arrows.

View component

OTP Input

x-otp

A segmented one-time-code input with auto-advance, backspace and arrow-key navigation, and paste-to-fill. Works with wire:model or a plain form field, and can fire an event when complete.

View component

Radio

x-radio

A radio control matching the checkbox API, with label, description, and clickable-row layouts.

View component

Rating

x-rating

An interactive star rating with hover preview and click-to-set (click the current value again to clear). Read-only mode for display. Works with wire:model or a plain form field.

View component

Select

x-select

A styled native select with an optional label, placeholder and automatic validation errors. Pass <option> elements as the content. Works with wire:model.

View component

Slider

x-slider

A range slider for picking a value within a range. Themed with the primary accent color across browsers, with an optional label and live value readout. Works with wire:model.

View component

Textarea

x-textarea

A multi-line text field with an optional label and automatic validation errors. Matches the input component's styling. Works with wire:model.

View component

Toggle

x-toggle

An animated switch control for boolean settings, with label, description, and three sizes. Works with wire:model. Announced as a switch (role="switch" on the underlying checkbox) to assistive technology.

View component

Layout

6 components

Accordion

x-accordion

A set of stacked, collapsible sections. Expand any number of items, or set `exclusive` to keep only one open. Pairs with <x-accordion.item>.

View component

Card

x-card

A flexible content container with optional header and footer slots and three sizes.

View component

Infinite Canvas

x-infinite-canvas

A pannable, zoomable infinite surface. Scroll or trackpad to glide with momentum, dispatch events to zoom or recenter, and drop any content in the middle. Optional dotted background.

View component

Separator

x-separator

A thin divider for separating content. Horizontal by default, vertical on demand, or with a centered label.

View component

Splitter

x-splitter

A draggable split layout with resizable panes. Lay panes out horizontally or vertically with a slim, grabbable gutter between them. Nest splitters for complex layouts.

View component

Tabs

x-tabs

A segmented tab control for switching between panels of content. Compose with <x-tabs.list>, <x-tabs.tab> and <x-tabs.panel>.

View component

Display

5 components

Overlays

6 components

Feedback

5 components

Editors

2 components

No components match “