ナビゲーションと開示@neumorphism-ui/carousel

Carousel

スクロール位置とドラッグは Embla Carousel に任せ、ニューモーフィズムはスライド表面と操作ボタンに限定します。先頭と末尾では前後ボタンが自動的に無効になります。

@neumorphism-ui/carousel
Registry JSON

プレビュー

ダッシュボード
設定
分析

インストール

インストール: carouselnpx shadcn@latest add @neumorphism-ui/carousel

CLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。

この Registry を初めて使う場合は、先に namespace の設定 を完了してください。

使い方

Import

Carousel の import コード
"use client";
import {
  Carousel,
  CarouselContent,
  CarouselItem,
  CarouselNext,
  CarouselPrevious,
} from "@/components/ui/carousel";

Example

Carousel の使用コード
export default function Example() {
  return <Carousel aria-label="機能ツアー" className="w-full max-w-md px-12">
    <CarouselContent>
      {["ダッシュボード", "設定", "分析"].map((item) => <CarouselItem key={item}><div className="grid h-40 place-items-center rounded-[var(--neu-radius-surface)] border border-[var(--neu-edge)] bg-[var(--neu-surface)] [box-shadow:var(--neu-shadow-raised-sm)]">{item}</div></CarouselItem>)}
    </CarouselContent>
    <CarouselPrevious label="前のスライド" />
    <CarouselNext label="次のスライド" />
  </Carousel>;
}

API リファレンス

コンポーネントプロパティ型デフォルト説明
Carouselorientation"horizontal" | "vertical""horizontal"スクロール軸と対応する方向キー操作を指定します。
CarouseloptsEmblaOptionsType—loop や align などの Embla オプションを渡します。
CarouselsetApi(api: CarouselApi) => void—外部連携用に Embla API インスタンスを受け取ります。
CarouselItemchildrenReactNode—1つのスライドの実コンテンツを配置します。
CarouselPrevious / CarouselNextlabelstring—前後ボタンのアクセシブル名をローカライズします。

アクセシビリティ

  • 01

    Carousel に aria-label または aria-labelledby で領域の目的を指定します。

  • 02

    各スライドは group と carousel slide の説明を使用し、端では移動ボタンが disabled を公開します。

  • 03

    横方向は左右キー、縦方向は上下キーで移動できます。