コンポーネントカタログ

46 個の Blade コンポーネント。 Tailwind + daisyUI のみで動く静的コンポーネントと、 Alpine.js で挙動を持つ動的コンポーネントを分けて整理。 カードを押すと各コンポーネントの個別ページに飛びます。

pinion-ui

· 静的 — Tailwind + daisyUI のみ 27

Button

<x-button>

color × appearance (solid / outline / soft / base-100 / base-200 / base-300 / ghost / link) — 全 8 colors

Button Group

<x-button-group>

segmented control 風に複数の button / link を束ねる wrapper。中央 child の border-radius は wrapper が自動で 0 にし、隣接 border は 1 本に統合される。hover は wrapper 側で soft tint に上書きされ、group コンテキストで重くならない (v0.3.3 で改善)。orientation は horizontal (default) / vertical。child に `class="join-item"` を付ける必要はない (v0.3.3 で不要に)。

New Active Pending Error

Badge

<x-badge>

color × appearance (solid / outline / soft / base-100 / base-200 / base-300 / dot)

Card title

A plain surface with border, padding and radius that follow the tune.

Card

<x-card>

appearance = default / elevated / filled / base-100 / base-200 / base-300 / outline / soft / solid / bordered-top / ghost — divider toggle

AK PU

Avatar

<x-avatar>

initials / icon / image + size × shape × status indicator

AK MB TS +5

Avatar Group

<x-avatar-group>

daisyUI 5 の avatar-group クラスで avatar を重ねた列 (facepile)。プロジェクトメンバー / 参加者 / 担当者リスト等に使う。slot に &lt;x-avatar&gt; を複数並べるだけ。spacing で重なり量を 3 段切替 (tight / normal / loose)。

Input

<x-input>

color × appearance (outline / soft / underline / ghost) — プレフィックス/サフィックス, アイコン, フローティングラベル, アペンドスロット対応

Checkbox

<x-checkbox>

fake-checkbox (peer + sr-only) — color × appearance (solid / soft / base-100 / base-200 / base-300) × size

Radio

<x-radio>

fake-radio (peer + sr-only) — color × appearance (solid / soft / base-100 / base-200 / base-300) × size, with radio-group

Toggle

<x-toggle>

switch (peer + sr-only, role="switch") — color × appearance (solid / soft) × size, with optional ON/OFF state label. solid fills the rail; soft inverts and fills the thumb.

57 件中 21 - 30

Pagination

<x-pagination>

full (numbered) / simple (prev-current/total-next) — color × appearance × size、Laravel paginator 対応

Progress

<x-progress>

daisyUI progress bar wrapper. value=null で indeterminate (animated stripe)、value 指定で determinate。color × size × showLabel (percent / fraction) を props で制御。a11y は role=progressbar + aria-valuenow / valuemin / valuemax 付与済み。

Skeleton

<x-skeleton>

コンテンツ読み込み中の placeholder。daisyUI の skeleton class を wrap し、shape (rect / circle / text) / width / height / radius / animated を props で制御。width / height は Tailwind class 名 (`w-32`, `h-4` 等) で渡す。

Spinner

<x-spinner>

ローディング表示用の inline indicator。daisyUI 5 の loading class を wrap。variant (spinner/dots/ring/bars/ball/infinity) × size (xs〜xl) × color (8 色) の組み合わせで、ボタン内・ページ全体・カードなどあらゆる「待ち時間」を表現する。

+K / Esc

Kbd

<x-kbd>

キーボードショートカット用の inline chip。HTML5 要素を daisyUI 5 の kbd class で wrap。size と appearance の 2 props のみ。文章内に埋め込んだり、+ で繋いで combo を表現する。

Tooltip

<x-tooltip>

daisyUI 5 の tooltip class を wrap した no-JS / pure CSS のホバーチップ。trigger を slot に入れ、本文は text prop で渡す。position (top/right/bottom/left)・color (light default + 8 variants 含む neutral)・open (常時表示) の 3 props。

Indicator

<x-indicator>

daisyUI 5 の indicator class を wrap した、別要素の角にバッジやドットを重ねるためのレイアウト。position (top/middle/bottom × start/center/end の 9 通り)・dot (bool, true = テキスト無しの純ドット)・color (8 色、default=error)・appearance (solid default / soft / outline / ghost / dash) の 4 props。default は solid (濃い fill) で「通知あり」を強く伝える。soft 等は opt-in。中身は $badge slot に入れ、被せたい要素は $slot に入れる。

Breadcrumb

<x-breadcrumb>

階層ナビゲーション。daisyUI 5 の breadcrumbs class を wrap。dual API: items 配列で渡すか、自前で &lt;ul&gt; に &lt;li&gt; を書くか。最後の item (url 省略) は現在地として link 化しない。separator は chevron (default) / slash の 2 種、size は sm / md / lg。

Total revenue
$12,480

Stat

<x-stat>

KPI / metric の単独表示。label / value / desc に加え valueColor / trend / trendValue で色付け&方向矢印を制御。複数並べたい場合は wrapped=false にして &lt;x-stat-group&gt; で囲む。

Section A

OR

Section B

Divider

<x-divider>

daisyUI 5 の divider クラスをラップしたセクション区切り線。@verbatim@endverbatim でただの線、slot にテキストを入れるとラベル付き。direction=vertical で flex 内の縦線にもなる。

Rating

<x-rating>

daisyUI 5 の rating (mask + radio) ラッパー。star / heart / circle 形状、半分星 (half=true)、readonly に対応。各 demo の name 属性は radio group を分離するため必ず unique。

Range Slider

<x-range-slider>

daisyUI 5 の range class を wrap した + ラベル/値表示/ヒント/エラーの chrome 付き。8 colors × 5 sizes、min/max/step、showValue (Alpine で live 表示)、error state。フォーム入力としても、純粋な視覚スライダーとしても使える。

Input Number

<x-input-number>

数量セレクタ — [−] [input] [+] の 3 要素を border 連結。min/max/step は HTML 属性と Alpine clamp 両方で enforced、bound 到達時は ± ボタンが auto-disable する。native spinner arrows は非表示。decimal step (e.g. 0.5) も可。

Input Group

<x-input-group>

form 要素を任意に組み合わせて横並びに joined する generic wrapper。select+input、input+button、input+input 等。x-input の prefix/suffix/append は単一 input 中心の組み合わせ用、こちらは複数の同格 form 要素用。`$c['addon']` helper class でテキスト装飾 span も addon 高さに揃えられる。

Pin Input

<x-pin-input>

OTP / 認証コード入力 — N 個の単一文字ボックスが auto-advance / backspace-back / arrow nav / paste-to-fill で連携。autocomplete="one-time-code" を最初のボックスに付与済 (iOS/Android で SMS コード候補が出る)。numeric (default) / alphanumeric、length / size / masked / autofocus 等の prop。combined value は hidden input で form submit される。

  • 2024
    Founded


  • 2025
    Public beta


  • 2026
    v1.0

Timeline

<x-timeline>

daisyUI 5 の timeline class を wrap した時系列リスト。items 配列で渡すだけ。orientation (vertical/horizontal)・compact (片側寄せ)・snap (アイコンを上端 snap)・appearance (solid default / soft) の 4 modifier。各 item に state=done|current|upcoming を付けると middle icon と connector の色が変化。default は solid (濃い primary) で done chain がはっきり立つ。穏やかに見せたいときだけ appearance="soft" を opt-in。

  1. Plan
  2. 2
    Build
  3. 3
    Ship

Stepper

<x-stepper>

multi-step プロセスの可視化 — sign-up flow / checkout / wizard。items 配列で渡し、各 item に state=done|current|upcoming を付与。orientation (horizontal default / vertical) と variant (numbered default / dotted) の 2 modifier。timeline は append-only ヒストリ用、stepper は bounded sequential progress 用。

pinion-ui

· 動的 — Alpine.js 駆動 Alpine 13

Alert

<x-alert>

8 appearances × semantic colors, dismissible 対応

Textarea

<x-textarea>

color × appearance (outline / soft / underline / ghost) — rows, autoresize, character counter, label/hint/error

Select

<x-select>

native select — color × appearance, sizes, optgroup, multiple, floating label

File Upload

<x-file-upload>

native + file:* utility (inline) and dashed dropzone (large area). Multi-file with progress bar driven by Alpine — simulate flag fakes upload progress so the demo is self-running.

Saved

Your changes are live.

Notification

<x-notification-system>

ページに1度置き、任意の Alpine コンポーネントから $dispatch("notify", { type, content }) で Toast を出す。position / appearance / size / duration / event-name は props で制御。

Name Role Status
AkiOwnerActive
MinaEditorInvited

Table

<x-table-scroll>

通常の table 表示 + x-table-scroll ラッパーで横スクロール時のみ左右ボタンと gradient fade を出す。コンテンツが overflow しない時はラッパーは透明 (何も足さない)。table 専用ではなく、card list / image strip 等にも使える。

Dropdown

<x-dropdown>

Alpine.js で開閉する汎用ドロップダウン。trigger を slot で差し替え可能、label prop で簡易ボタン化も可能。position (bottom-end default / bottom-start / top-end / top-start)・size (sm/md/lg)・width (任意の Tailwind w-* class) の 3 props。menu の中身は自由スロット — リンクでもボタンでも何でも入る。

Need a hand?

Popovers hold rich content — text, links, even forms.

Popover

<x-popover>

クリック (or hover) でトリガー横に浮かぶ panel。dropdown と tooltip の中間 — 任意コンテンツ (info card / mini form / 確認 prompt) を入れる。4 placement (top/right/bottom/left) を CSS で配置 (collision detection なし)、optional arrow、trigger="click" (default) / "hover"。Alpine 駆動、ESC で close、click 外で close。

Confirm

Are you sure you want to continue?

Modal

<x-modal>

Alpine x-data 駆動のオーバーレイダイアログ。trigger slot に置いた要素をクリックで開く、または別所から $dispatch("open-modal-{id}") で開く。size (sm/md/lg/xl/full)・title・showClose・closeOnBackdrop の 5 props。背景 click / Escape / × ボタンで閉じる。x-trap で focus trap、x-teleport で body 直下に描画。

Overview body.

Specs body.

Tabs

<x-tabs>

タブ式コンテンツ切替。v0.4.0 で nested 構文に変更 (Blade slot を XSS なく自然に渡せる)。&lt;x-tab name="..." label="..."&gt;content&lt;/x-tab&gt; を &lt;x-tabs&gt; の中に並べる。variant: underline (default) / boxed / pill、size: sm / md / lg。default で初期 active な name を指定 (省略時は最初の tab)。Alpine の x-data でクライアント側の active 状態を保持。

A Blade component kit for Laravel.

Only the dynamic components.

Accordion

<x-accordion>

開閉式リスト。v0.4.0 で nested 構文に変更 (Blade slot を XSS なく自然に渡せる)。&lt;x-accordion-item title="..."&gt;content&lt;/x-accordion-item&gt; を &lt;x-accordion&gt; の中に並べる。single-open / multiple-open、size 3段階。content は Blade slot のため任意の Blade markup・コンポーネント・リンク等が使える。Alpine x-collapse で滑らかにアニメーション。

Hidden body revealed on click.

Collapse

<x-collapse>

daisyUI 5 の collapse class を wrap した single open/close ブロック (no-JS、内部の checkbox で開閉制御)。title prop か slot:title でヘッダ、$slot で本文を渡す。icon (null=default / arrow / plus)・bordered (default true)・open (初期 open) の 3 props + title。デフォルトはアイコンなしのミニマル表示で、必要に応じて icon prop でアイコンを opt-in する。複数まとめて FAQ にしたい時はそのまま縦に並べるだけ。

Sidebar

<x-sidebar>

x-teleport で body 直下に描画される drawer 系コンポーネント。trigger slot を click で開き、Escape / × / 背景 click で閉じる。side (left/right)・size (sm/md/lg)・backdrop の 3 軸で variant を作る。focus trap (x-trap.inert.noscroll) と role=dialog/aria-modal=true で a11y も担保。backdrop=false の時は overlay 全体を pointer-events-none にして、panel のみ pointer-events-auto に戻し、背後ページを操作可能にする (永続 inspector ・ツールパレット用途)。

pinion-icons

· アイコンシステム 1

Icons

<x-i>