Radix Primitives は、スタイルが適用されていません。そのため、あらゆるスタイリングソリューションと互換性があり、スタイリングを完全に制御できます。
機能スタイルを含む、スタイリングのあらゆる側面を制御できます。たとえば、デフォルトでは、ダイアログオーバーレイはビューポート全体を覆いません。これらのスタイルと、任意のプレゼンテーションスタイルを追加する責任があります。
すべてのコンポーネントとそのパーツは、className
プロップを受け入れます。このクラスはDOM要素に渡されます。CSSで期待通りに使用できます。
コンポーネントがステートフルな場合、そのステートはdata-state
属性で公開されます。たとえば、アコーディオンアイテムが開かれている場合、data-state="open"
属性が含まれます。
提供するclassName
をターゲットにすることで、コンポーネントの一部をスタイリングできます。
コンポーネントのdata-state
属性をターゲットにすることで、コンポーネントのステートをスタイリングできます。
以下の例では、styled-componentsを使用していますが、任意のCSS-in-JSライブラリを使用できます。
ほとんどのCSS-in-JSライブラリは、コンポーネントとそのスタイルを渡すための関数をエクスポートします。Radixプリミティブコンポーネントを直接渡すことができます。
コンポーネントのdata-state
属性をターゲットにすることで、コンポーネントのステートをスタイリングできます。
プリミティブの拡張は、任意のReactコンポーネントを拡張する場合と同じ方法で行います。
Radix Primitivesは、アクセシビリティに関する懸念事項やその他の複雑な機能をカプセル化しながら、スタイリングに対する完全な制御を維持できるように設計されています。
便宜上、ステートフルコンポーネントには、data-state
属性が含まれています。