コンポーネント

(コンポーネント一覧は省略。英語名をカタカナに置き換える程度で良い)

ユーティリティ

(ユーティリティ一覧は省略。英語名をカタカナに置き換える程度で良い)非推奨
概要

はじめに

Radix Primitives を使い始めるためのクイックチュートリアルです。

ポップオーバーの実装

このクイックチュートリアルでは、ポップオーバー コンポーネントをインストールしてスタイルを設定します。

1. プリミティブのインストール

コマンドラインからコンポーネントをインストールします。

npm install @radix-ui/react-popover@latest -E

2. パーツのインポート

パーツをインポートして構造化します。

// index.jsx
import * as React from 'react';
import * as Popover from '@radix-ui/react-popover';
const PopoverDemo = () => (
<Popover.Root>
<Popover.Trigger>More info</Popover.Trigger>
<Popover.Portal>
<Popover.Content>
Some more info…
<Popover.Arrow />
</Popover.Content>
</Popover.Portal>
</Popover.Root>
);
export default PopoverDemo;

3. スタイルの追加

必要に応じてスタイルを追加します。

// index.jsx
import * as React from 'react';
import * as Popover from '@radix-ui/react-popover';
import './styles.css';
const PopoverDemo = () => (
<Popover.Root>
<Popover.Trigger className="PopoverTrigger">Show info</Popover.Trigger>
<Popover.Portal>
<Popover.Content className="PopoverContent">
Some content
<Popover.Arrow className="PopoverArrow" />
</Popover.Content>
</Popover.Portal>
</Popover.Root>
);
export default PopoverDemo;
/* styles.css */
.PopoverTrigger {
background-color: white;
border-radius: 4px;
}
.PopoverContent {
border-radius: 4px;
padding: 20px;
width: 260px;
background-color: white;
}
.PopoverArrow {
fill: white;
}

デモ

完全なデモを以下に示します。

import React from 'react';
import * as Popover from '@radix-ui/react-popover';
import './styles.css';
const PopoverDemo = () => (
<Popover.Root>
<Popover.Trigger className="PopoverTrigger">More info</Popover.Trigger>
<Popover.Portal>
<Popover.Content className="PopoverContent" sideOffset={5}>
Some more info…
<Popover.Arrow className="PopoverArrow" />
</Popover.Content>
</Popover.Portal>
</Popover.Root>
);
export default PopoverDemo;

まとめ

上記の手順は、アプリケーションで Radix Primitive を使用するために必要な概要を示しています。

これらのコンポーネントは、ラップ方法を制御できるほど低レベルです。チームと製品のニーズに合わせて、独自のハイレベル API を自由に導入できます。

簡単な手順で、アクセシビリティに完全に対応したポップオーバーコンポーネントを実装しました。複雑さを気にする必要はありません。

  • WAI-ARIA デザインパターンに準拠しています。(SVGアイコンは省略)
  • 制御または非制御にすることができます。
  • 側面、配置、オフセット、衝突処理をカスタマイズします。
  • オプションで、ポインティング矢印をレンダリングします。
  • フォーカスは完全に管理され、カスタマイズ可能です。
  • 解雇とレイヤリングの動作は高度にカスタマイズ可能です。