Compound Components
Tailwind v4パッケージは、各ピッカーの内部構造とレンダリングを完全に制御できるCompound Component APIを公開しています。単一のモノリシックなコンポーネントの代わりに、個々のパーツからピッカーを構成します。
仕組み
すべてのピッカー(例:DatePicker)は、シンプルなコンポーネントであると同時に、複合パーツの名前空間でもあります。
import { DatePicker } from "react-date-range-picker-tailwind4";
// シンプルな使用法 -- デフォルトのレイアウトをレンダリング<DatePicker value={value} onChange={setValue} />
// 複合的な使用法 -- 構造を完全に制御<DatePicker.Root value={value} onChange={setValue}> <DatePicker.Trigger /> <DatePicker.Content> <DatePicker.Header> <DatePicker.PrevButton /> <DatePicker.Title /> <DatePicker.NextButton /> </DatePicker.Header> <DatePicker.Grid /> <DatePicker.Footer> <DatePicker.ClearButton /> <DatePicker.CancelButton /> <DatePicker.ConfirmButton /> </DatePicker.Footer> </DatePicker.Content></DatePicker.Root>Compound Componentsを使用すると、次のことが可能になります。
- 置換: 任意の部分を独自のレンダリングに置き換える(例:カスタムトリガー、カスタム日付セル)
- 再配置: レイアウトを再配置する(例:フッターボタンの移動、今日ボタンの追加)
- 省略: 不要な部分を省略する(例:ミニマルなカレンダーのためにフッターを削除)
- クラスの上書き:
classNamepropを介して任意の部分のクラスを上