Spinner
Apple風の目盛りまたは呼吸するリングで表示する読み込みインジケーターです。表示までの待機と、ちらつかない最短表示時間を設定できます。
pnpm dlx shadcn@latest add https://hextaui.com/r/spinner.jsonコンポーネント、HextaUIのテーマトークン、依存するHextaUIコンポーネントを追加します。
まだ追加していない場合は、グローバルCSSにテーマトークンを追加してください。
依存関係をインストールします。
pnpm add class-variance-authority cn次のコードをコピーしてプロジェクトに貼り付けてください。
components/ui/spinner.tsx インポートパスは、お使いのプロジェクト構成に合わせて更新してください。
デフォルトは Apple のプラットフォームの8本スポークのインジケーターです。variant="ring" は円弧が伸び縮みしながら回るので、止まっているのではなく作業中に見えます。どちらも現在のテキストの色で描画されます。
ちらつきなし
loading を渡すと、スピナーは delay(150ms)待ってから表示されるため、速い読み込みでは一瞬表示されることがなく、表示されたら最低でも minDuration(400ms)は残ります。
サイズ
どちらのバリアントにも sm、default、lg、xl。
インライン
テキストの隣では、言葉が伝えるようにスピナーを aria-hidden にします。単独では label を読み上げます。
ボタン内
Button と Command は、読み込み状態にこのスピナーを使い、ボタンのアイコンに合わせたサイズにします。
- 単独では、スピナーは
label(「Loading」)で名前が付いたstatusです。 aria-hiddenを指定すると role が外れます。表示されているテキストの隣や、処理中のボタンの内側で使います。- 視差効果の軽減が有効な場合、回転せずにゆっくり脈動するため、何かが進行中であることは伝わります。
| プロパティ | 型 | デフォルト |
|---|---|---|
variant | "ticks" | "ring" | "ticks" |
sizenull ではサイズを親に任せます。 | "sm" | "default" | "lg" | "xl" | null | "default" |
label | string | "Loading" |
loading遅延表示を有効にします。常に表示するには省略します。 | boolean | – |
delay | number | 150 |
minDuration | number | 400 |
animated非表示にせずにアニメーションを一時停止します。 | boolean | true |
| 属性 | 説明 |
|---|---|
data-slot="spinner" | SVG。data-variant を持ちます。 |
スケルトン、オーバーレイ、一瞬でも表示すべきでないあらゆるものに使える、同じタイミングのフックです。useDelayedLoading ガイドを参照してください。
- useDelayedLoading処理が実際に遅いときだけ読み込み状態を表示し、ちらつかないよう十分な時間表示し続けます。
- Alertステータスやフィードバックを伝えるインラインメッセージです。ニュートラルなサーフェス、色付きのアイコン、滑らかに折りたたまれる閉じる操作を備えています。
- Emptyまだ表示するものがない画面のためのプレースホルダーです。アイコン、メッセージ、次の操作を備えています。
- Progressタスクの進み具合を示すバーまたはリングです。更新のたびに滑らかに動き、全体量が不明なときはスライドします。
- Skeleton150ms待ってから表示され、包んだコンテンツと同じサイズになり、何も動かさずにコンテンツをフェードインさせるプレースホルダーです。
- Toastきれいに積み重なり、ホバーで展開し、スワイプで消せる短いメッセージです。読み込み中の状態をその場で成功またはエラーに切り替えます。
使用しているブロック
Spinner の上に構築されるブロック。
- Artifactモデルが作成したものを表示する、AIチャットの横のパネルです。Webページ、SVG、ドキュメント、コードがリアルタイムでストリーミングされ、その後サンドボックス化されたプレビューに切り替わります。比較して復元できるバージョン、サイズを変更できる分割、スマートフォンでのボトムシートを備えています。
- Chat Sidebarチャットアプリ向けのサイドバーです。上部にロゴ、検索、New chat、その下に独自のリンク、ピン留めされたチャット、チャットを表示するために展開するプロジェクト、日ごとにグループ化された最近のチャットを配置します。行にはホバーメニューと右クリックメニュー、インラインでの名前変更、取り消しできる削除、リアルタイムの返信状態があります。
- Diff Reviewエージェントによる編集を、反映される前にファイルをまたいで確認します。件数つきのファイルツリー、変更ごと、ファイルごと、またはすべてに対する承認と却下、任意の行や範囲に付けてエージェントへ返せるコメント、ユニファイドビューとスプリットビュー、単語単位のハイライト、取り消し、ストリーミングされる編集、チャット向けの「Edited 4 files」サマリーを備えています。
- ProfileAIプロダクトの設定にあるプロフィールセクションです。写真を円形に切り抜き、入力しながら確認されるユーザー名を選び、6桁のコードで新しいメールアドレスを確認し、サイトを認識するリンクを追加し、他の人からどう見えるかをライブのカードで確認できます。