Carousel

Carouselは、複数の要素をスライドショーのように表示するコンポーネントです。

使い方

import { Carousel } from "@yamada-ui/react"
<Carousel.Root>
  <Carousel.List>
    <Carousel.Item />
  </Carousel.List>
  <Carousel.PrevTrigger />
  <Carousel.NextTrigger />
  <Carousel.Indicators>
    <Carousel.Indicator />
  </Carousel.Indicators>
</Carousel.Root>

サイズを変更する

カラースキームを変更する

方向を変更する

方向を変更する場合は、orientation"horizontal"または"vertical"を設定します。デフォルトでは、"horizontal"が設定されています。

デフォルトのスライドを選択する

デフォルトのスライドを選択する場合は、defaultIndexindexを設定します。

スライド間を調整する

スライド間を調整する場合は、gapに文字列または数値を設定します。デフォルトでは、1remが設定されています。

スライドが切り替わる所要時間を変更する

スライドが切り替わる所要時間を変更する場合は、durationに数値を設定します。デフォルトでは、25が設定されています。

スライドのサイズを変更する

スライドのサイズを変更する場合は、slideSizeに文字列または数値を設定します。デフォルトでは、100%が設定されています。

もし、個別のスライドのサイズを変更する場合は、Carousel.ItemslideSizeに値を設定します。

スライドの位置を変更する

スライドの位置を変更する場合は、align"start", "center", "end"または数値を設定します。デフォルトでは、"center"が設定されています。

スライドをスクロールする数を変更する

スライドをスクロールする数を変更する場合は、slidesToScrollに数値を設定します。デフォルトでは、1が設定されています。

自動再生を使う

自動再生を使う場合は、autoplaytrueに設定します。

自動再生の間隔を変更する

自動再生の間隔を変更する場合は、delayに数値(ミリ秒)を設定します。デフォルトでは、4000が設定されています。

自動再生を停止しない

デフォルトでは、要素上にホバーされたとき自動再生は停止します。停止しない場合は、stopMouseEnterAutoplayfalseに設定します。

ドラッグフリーを使う

ドラッグフリーを使う場合は、dragFreetrueに設定します。

ループを無効にする

ループを無効にする場合は、loopfalseに設定します。

ドラッグを無効にする

ドラッグを無効にする場合は、draggablefalseに設定します。

コントロールボタンをカスタマイズする

コントロールボタンをカスタマイズする場合は、Carousel.PrevTriggerCarousel.NextTriggerにpropsを設定します。

インジケーターをカスタマイズする

インジケーターをカスタマイズする場合は、Carousel.Indicatorsにpropsを設定します。

イベントをハンドルする

ユーザーのドラッグなどのイベントをハンドルする場合は、watchDragを使用します。

制御する

State

Ref

onScrollProgressを使用して、現在のスクロール量にアクセスできます。

Props

アクセシビリティ

Carouselは、アクセシビリティに関してWAI-ARIA - Carousel (Slide Show or Image Rotator) Patternに従います。

キーボード操作

キー説明状態
Tabフォーカスがカルーセルに移動すると、アクティブな項目をフォーカスします。-
ArrowLeft前の項目をフォーカスしてアクティブにします。最初の項目の場合は最後の項目をフォーカスします。orientation="horizontal"
ArrowRight次の項目をフォーカスしてアクティブにします。最後の項目の場合は最初の項目をフォーカスします。orientation="horizontal"
ArrowUp前の項目をフォーカスしてアクティブにします。最初の項目の場合は最後の項目をフォーカスします。orientation="vertical"
ArrowDown次の項目をフォーカスしてアクティブにします。最後の項目の場合は最初の項目をフォーカスします。orientation="vertical"
Home最初の項目をフォーカスしてアクティブにします。-
End最後の項目をフォーカスしてアクティブにします。-

ARIAロールと属性

コンポーネントロールと属性使い方
Carousel.Rootaria-roledescription="carousel"カルーセルであることを示します。
Carousel.Listaria-liveautoplay"true"の場合は"off"を設定し、"false"の場合は"polite"を設定します。
Carousel.Itemrole="tabpanel"タブパネルであることを示します。
aria-label"1 / 4"のように、現在のスライドの番号を設定します。
aria-roledescription="slide"スライドであることを示します。
Carousel.PrevTriggeraria-controls関連したCarousel.Listidを設定します。
aria-label"前のスライドに移動する"を設定します。
Carousel.NextTriggeraria-controls関連したCarousel.Listidを設定します。
aria-label"次のスライドに移動する"を設定します。
Carousel.Indicatorsrole="tablist"タブリストであることを示します。
aria-label"スライド"を設定します。
aria-orientationorientationの値に基づいて"horizontal"または"vertical"を設定します。デフォルトは"horizontal"です。
Carousel.Indicatorrole="tab"タブであることを示します。
aria-controls関連したCarousel.Itemidを設定します。
aria-label"1スライドに移動する"のように、移動先のスライドの番号を設定します。
aria-selected関連したスライドが選択されている場合は"true"を設定し、選択されていない場合は"false"を設定します。

類似のコンポーネント

InfiniteScrollArea

InfiniteScrollAreaは、無限スクロール機能を提供するコンポーネントです。このコンポーネントは、コンポーネントの終わりに達したときに次のデータセットを自動的に読み込み、表示することで、スムーズなスクロール体験を提供します。

Accordion

Accordionは、情報を展開または折りたたんで表示するリストのコンポーネントです。

Rotate

Rotateは、2つの要素を回転させながら切り替えるアニメーションを提供するコンポーネントです。

Ripple

Rippleは、要素に波及効果を付与し、ユーザーがクリックしたかどうかを認識させるコンポーネントです。

Flip

Flipは、2つの要素をフリップさせながら切り替えるアニメーションを提供するコンポーネントです。

Motion

Motionは、MotionにYamada UIのStyle Propsを拡張した便利なコンポーネントです。

Airy

Airyは、2つの要素をふわっと切り替えるアニメーションを提供するコンポーネントです。

ScrollArea

ScrollAreaは、カスタムされたスクロールバーが表示されるコンポーネントです。

使用しているコンポーネント・フック