Radix Themes のリリースと変更ログ。
Checkbox
コンポーネントに対する不定のインジケーターをサポートareas
プロパティをGrid
コンポーネントに追加し、gridArea
プロパティをすべてのレイアウトコンポーネント(Box
、Container
、Flex
、Grid
、Section
)に追加DataList
コンポーネントにoverflow-wrap: anywhere
スタイルを追加Checkbox
コンポーネントに対する不定のインジケーターをサポートalign
、height
、minHeight
、およびmaxHeight
プロパティをAlertDialog.Content
とDialog.Content
に追加しました。max
プロパティをサポートしました。grayColor
が、明示的なappearance="light"
またはappearance="dark"
値と組み合わせて効果がない問題を修正しました。color
値が使用されている場合に、Link
が自動的な高コントラストの色を使用しない回帰を修正しました。Link
が正しいテキスト選択とフォーカスカラーを使用しない回帰を修正しました。Link
のタップハイライトスタイルを調整しました。CheckboxGroup.Item
とRadioGroup.Item
を調整し、テキストがはみ出した際の切り詰めレイアウトを実現できるようにしました。data-accent-color
属性を削除しました。color
プロパティ定義の内蔵処理を改良しました。TextField
とTextArea
の自動入力と無効時の色を改良しました。Spinner
コンポーネント用に内部--spinner-animation-duration
CSS変数を追加しました。Link
が自動的な高コントラストの色を使用しない回帰を修正しました。Link
がbutton
としてレンダリングされた場合に、ホバースタイルが表示されない回帰を修正しました。TextArea
がFirefoxで空白文字列を保持しない回帰を修正しました。size="1"
インジケーターのチェックマークの配置を修正しました。Radix Themes 3.0には、新しいレイアウトエンジン、11個の新しいコンポーネント、および完全なESMサポートが含まれています。発表記事を読む。
このリリースには、いくつかの破壊的変更が含まれています。アップグレードするには、以下の手順に従ってください。
DialogRoot
→ Dialog.Root
DialogTrigger
→ Dialog.Trigger
DialogContent
→ Dialog.Content
AlertDialog
Callout
ContextMenu
Dialog
DropdownMenu
HoverCard
Popover
RadioGroup
Select
Table
Tabs
TextField
@radix-ui/themes
インポートエントリポイントから使用できなくなりました。
@radix-ui/themes/props
と@radix-ui/themes/helpers
からインポートしてください。width
とheight
プロパティは、もうスペーススケールにマップされません。width
とheight
プロパティの使用箇所を対応するスペーススケールステップで置き換えてください。
width="1"
→ width="4px"
width="2"
→ width="8px"
width="3"
→ width="12px"
width="4"
→ width="16px"
width="5"
→ width="24px"
width="6"
→ width="32px"
width="7"
→ width="40px"
width="8"
→ width="48px"
width="9"
→ width="64px"
height
も同様です。var(--space-1)
からvar(--space-9)
を使用することもできます。shrink
とgrow
プロパティの名前が変更されました。
shrink
→ flexShrink
grow
→ flexGrow
カスタムコンポーネントで以下のトークンを使用していた場合は、対応する参照を置き換えてください。
--color-surface-accent
→ --accent-surface
--accent-9-contrast
→ --accent-contrast
--red-9-contrast
→ --red-contrast
--pink-9-contrast
→ --pink-contrast
--blue-9-contrast
→ --blue-contrast
--color-autofill-root
→ --focus-a3
--color-focus-root
→ --focus-8
--color-selection-root
→ --focus-a5
--gray-2-translucent
および対応する色付きグレーの色は削除されました。
--color-panel-translucent
を使用してください。AlertDialog
、Dialog
は、Content部分でデフォルトでmaxWidth="600px"
になりました。
580px
値よりもわずかに大きくなっています。異なる幅のダイアログを使用する場合は、独自の値でmaxWidth
を上書きしてください。Badge
に新しいsize="3"
が追加され、size="2"
はサイズが小さくなり、size="1"
の寸法が調整されました。
size="2"
の使用箇所をsize="3"
に置き換えてください。Card
コンポーネントの内部HTML構造とスタイルが変更され、現在は単一のHTMLノードでレンダリングされます。スタイルや動作をオーバーライドするために実装上の特殊な動作に依存していた場合、コードが期待通りに動作することを確認してください。
ghost
以外のバリアントでCardの背景色をオーバーライドする必要がある場合は、background-color
を直接指定する代わりに、--card-background-color
変数を使用するか、Cardの最初の子要素としてネストされた<Inset p="current">
要素で背景色を設定してください。asChild
を使用している、または親コンポーネントによってasChild
化されているCardインスタンスを確認してください。(追加のスタイルのないリンクまたはボタンカードのような一般的なケースは、期待通りに動作します。)HoverCard
とPopover
は、コンテンツ部分にデフォルトでmaxWidth="480px"
が設定されるようになりました。
maxWidth
をオーバーライドしてください。RadioGroup
の内部HTML構造とスタイルが変更され、Item
部分にchildren
を渡す際にオプションのテキストラベルを表示するように設計されました。Root
部分は、フレックスカラムスタイルとスペーシングも提供するようになりました。
Radio
コンポーネントを使用してください。Section
に新しいsize="3"
が追加されました。size="3"
を使用していたすべてのSectionをsize="4"
に更新してください。Tabs
の基礎となる文字/単語間隔のCSS変数が、Tabs
とTabNav
の両方のコンポーネントをサポートするように名前が変更されました。これらの変数を使用していた場合は、新しい値に名前を変更してください。
--tabs-trigger-active-letter-spacing
→ --tab-active-letter-spacing
--tabs-trigger-active-word-spacing
→ --tab-active-word-spacing
--tabs-trigger-inactive-letter-spacing
→ --tab-inactive-letter-spacing
--tabs-trigger-inactive-word-spacing
→ --tab-inactive-word-spacing
TextField
は、Root
とSlot
の2つの部分のみになり、Input
部分が削除され、プロップの転送方法が簡素化されました。
TextField.Root
を使用せずに使用されていたすべてのTextField.Input
部分は、TextField.Root
に名前を変更する必要があります。TextField.Root
内で使用されていたすべてのTextField.Input
部分は削除し、そのプロップをTextField.Root
部分に直接配置する必要があります。TextField.Input
の右側に配置されたすべてのTextField.Slot
部分には、side="right"
プロップが必要です。ただし、1つのTextField
内に2つのスロット(例:左に1つ、右に1つ)を使用していた場合は、調整は必要ありません。その場合、スロットは自動的に異なる側に配置されます。Theme
は、もはやbodyの背景色を自動的に設定しません。背景色は、デフォルトでルートTheme
によって提供されるようになりました。CSS変数--color-page-background
は使用できなくなりました。
.radix-themes
要素で使用可能な--color-background
で安全に置き換えることができます。Tooltip
は、コンテンツ部分にデフォルトでmaxWidth="360px"
が設定されるようになりました。
maxWidth
をオーバーライドしてください。@radix-ui/themes
インポートエントリポイントからコンポーネントのプロップ定義と内部ヘルパーを削除し、@radix-ui/themes/props
と@radix-ui/themes/helpers
からエクスポートして、同じテクニックを使用してRadix Themesの上に独自のコンポーネントライブラリを構築できるようにします。tokens.css
、components.css
、utilities.css
ファイルをエクスポートします。たとえば、独自のCSSの後にRadix Themesのutilities.css
をインポートし、それ以外のすべてをその前にインポートできます。tokens.css
をインポートする代わりに、tokens/base.css
とtokens/colors/*.css
をインポートすることもできます。ここで*
は、プロジェクトに必要なアクセントカラーとグレーカラーの名前に対応します。layout.css
をエクスポートします。上記のユースケースをサポートするために、個々のエクスポートlayout/tokens.css
、layout/components.css
、layout/utilities.css
も利用できます。minWidth
、maxWidth
minHeight
、maxHeight
flexBasis
、flexShrink
、flexGrow
gridColumn
、gridColumnStart
、gridColumnEnd
gridRow
、gridRowStart
、gridRowEnd
overflow
、overflowX
、overflowY
width
、minWidth
、maxWidth
height
、minHeight
、maxHeight
m
、mx
、my
、mt
、mr
、mb
、ml
flexBasis
、flexShrink
、flexGrow
gridColumn
、gridColumnStart
、gridColumnEnd
gridRow
、gridRowStart
、gridRowEnd
DataList
Root
Item
Label
Value
CheckboxGroup
Root
Item
CheckboxCards
Root
Item
Progress
Radio
RadioCards
Root
Item
Reset
SegmentedControl
Skeleton
Spinner
TabNav
Root
Link
Badge
Card
Code
Container
DropdownMenu
display: block
`スタイルが強制適用されるようになりました。Button
`、`IconButton
`loading
`プロパティを追加しました。Flex
gapX
`と`gapY
`プロパティを追加しました。HoverCard
`、`Popover
`width
`、`minWidth
`、`maxWidth
`、`height
`、`minHeight
`、`maxHeight
`プロパティを追加しました。maxWidth
`を`"480px"`に設定しました。RadioGroup
Item
`部分に`children
`を渡した場合にオプションのテキストラベルを表示するように設計されており、`Root
`部分はflex columnスタイルと間隔を提供するようになりました。Section
size="3"
`の値を新しい値に変更し、`size="4"
`には以前の値を使用します。Select
<label>
`要素などから継承されないようにします。Separator
orientation
`プロパティでレスポンシブな値を許可しました。ScrollArea
Slider
flex-shrink: 0
`を`flex-grow: 1
`と`width: stretch
`/`height: stretch
`に置き換えて、レイアウトにおいてスライダー要素がより直感的に伸縮できるようにしました。Table
table-layout
`スタイルプロパティを制御するための新しい`layout
`プロパティを追加しました。TableCell
`部分の`width
`プロパティの型シグネチャと実装を、レイアウトコンポーネントの`width
`プロパティと調整しました。TableCell
`部分に`minWidth
`と`maxWidth
`プロパティを追加しました。Tabs
:
TabsList
`に`color
`と`highContrast
`プロパティを追加しました。TabsList
`と`TabsContent
`にマージンに関するプロパティを追加しました。.radix-themes
`内の文字/単語間隔のCSS変数を改名し、`Tabs
`と`TabNav
`両方のコンポーネントをサポートするようにしました。
--tabs-trigger-active-letter-spacing
→ --tab-active-letter-spacing
--tabs-trigger-active-word-spacing
→ --tab-active-word-spacing
--tabs-trigger-inactive-letter-spacing
→ --tab-inactive-letter-spacing
--tabs-trigger-inactive-word-spacing
→ --tab-inactive-word-spacing
TextArea
radius
`プロパティを追加しました。resize
`プロパティを追加しました。<label>
`要素などからフォントウェイトが継承されないようにします。TextField
Input
`部分を削除しました。type
`で`getSelectionRange
`がサポートされない問題を修正しました。<label>
`要素などからフォントウェイトが継承されないようにします。ThemePanel
テーマ
Theme
`コンポーネントに`min-height: 100vh
`を設定しました。hasBackground
`プロパティの値が効果を持たない問題を修正しました。Theme
`がデフォルトで背景色を持つ場合のロジックを改良しました。明示的な`hasBackground
`プロパティを持たない`Theme
は背景色を表示します。
Theme
`コンポーネントの場合<Theme apperance="light">
`または`<Theme apperance="dark">
`)Theme
`によって提供されるようになりました。
--color-page-background
`は使用できなくなりました。html
`の`suppressHydrationWarning
`は不要になりました(他のライブラリ(例: `next-themes
`)で必要とされない限り)。Tooltip
width
`、`minWidth
`、`maxWidth
`プロパティを追加しました。maxWidth
`を`"360px"`に設定しました。Card
variant="surface"
`の境界線が`color-mix
`をサポートしていないブラウザで消えてしまう問題を修正しました。variant="surface"
`の境界線の色を調整しました。Code
Link
`内で`variant="ghost"
`が使用されている場合、`Link
`の`underline="hover"
`が尊重されるようにしました。TextField
0,1,0
`に、擬似要素のスタイル設定では`0,1,1
`に制限し、Tailwindとの互換性を向上させました。
--black-a1
、--white-a1
など)、新しい値を確認し、デザインが期待通りに見えるように使用されているステップを更新してください。
--black-a1
をrgba(0, 0, 0, 0.01)
に変更します。--black-a2
をrgba(0, 0, 0, 0.024)
に変更します。--black-a3
を--black-a1
に変更します。--black-a4
を--black-a2
に変更します。--black-a5
を--black-a2
に変更します。--black-a6
を--black-a3
に変更します。--black-a7
を--black-a3
または--black-a4
に変更します。--black-a8
を--black-a5
に変更します。--black-a9
を--black-a6
または--black-a7
に変更します。--black-a10
を--black-a7
に変更します。--black-a11
を--black-a8
に変更します。--black-a12
を--black-a11
に変更します。--white-a1
をtransparent
に変更します。--white-a2
をrgba(255, 255, 255, 0.01)
に変更します。--white-a3
を--white-a1
または--white-a2
に変更します。--white-a4
を--white-a2
に変更します。--white-a5
を--white-a3
に変更します。--white-a6
を--white-a3
または--white-a4
に変更します。--white-a7
を--white-a4
に変更します。--white-a8
を--white-a5
に変更します。--white-a9
を--white-a6
に変更します。--white-a10
を--white-a7
に変更します。--white-a11
を--white-a9
に変更します。--white-a12
を--white-a11
または--white-a12
に変更します。color="gray"
コンポーネントのフォーカスリングにテーマのアクセントカラーを維持します。Theme
コンポーネントでの強制的な明/暗表示は、正しい入力自動入力の背景色など、対応するブラウザの色も設定します。@keyframes
アニメーション名をrt-
プレフィックスを追加し、ケバブケースに変更します。box-shadow
ではなくoutline
を使用します。これにより、フォーカスされた要素でのChromeにおけるわずかなアンチエイリアシングの問題を回避できます。アバター
svg
アセットを使用していた場合は、適切なサイズを手動で設定してください。--cursor-button: default;
--cursor-checkbox: default;
--cursor-disabled: not-allowed;
--cursor-link: pointer;
--cursor-menu-item: default;
--cursor-radio: default;
--cursor-slider-thumb: default;
--cursor-slider-thumb-active: default;
--cursor-switch: default;
.rt-reset-button
クラスと.rt-reset-a
クラスを単一の.rt-reset
クラスに置き換えます。
.rt-reset
クラスは、カスタムコンポーネントを作成する際にa
、button
、h1
、h2
、h3
、h4
、h5
、h6
、ol
、ul
、p
、pre
タグのリセットに使用できます。blockquote
trim
プロパティを削除しました。Button
`、`IconButton
`disabled
をasChild
と共に使用する場合、他の要素にも無効スタイルを適用します。variant="classic"
のルックアンドフィールを向上させました。Callout
Callout.Root
内に複数のCallout.Text
要素をネストできるように、レイアウトの動作を調整しました。Callout.Root
がflexプロパティを提供していた方法に依存していた場合は、レイアウトを明示的にFlex
コンポーネントを使用するように変更してください。color
プロパティが渡されない限り、コールアウトがテキストカラーを継承する問題を修正しました。
highContrast
プロパティをコールアウトに渡してください。variant="surface"
には灰色の背景を使用します。variant="outline"
には、より濃いアウトラインの色を使用します。チェックボックス
Text
コンポーネントでラップすると、チェックボックスがテキストの最初の行に自動的に配置されるようにレイアウトを改善しました。
<Text as="label" size="...">
でチェックボックスをラップし、優先するテキストサイズを使用してください。size="1"
を追加し、デフォルトサイズをsize="2"
に変更し、より洗練されたsize="3"
を追加しました。size
プロパティを使用してsize="1"
またはsize="2"
のチェックボックスを使用していた場合は、それぞれsize="2"
とsize="3"
に名前を変更してください。variant="classic"
のルックアンドフィールを調整しました。Card
variant="classic"
のシャドウが要素の外側に広がらないように調整しました。variant="classic"
のホバーと押下スタイルを調整しました。Code
Code
がLink
内にある場合に、インタラクティブスタイルを追加しました。Text
要素に基づいたサイズか、コード自身のsize
プロパティからのサイズかに関わらず、variant="ghost"
のフォントサイズが不整合になる問題を修正しました。variant="outline"
とvariant="surface"
について、アウトラインの太さをフォントサイズに相対的にスケーリングしました。variant="solid"
の::selection
背景色を改善しました。Code
バリアントのパディングをカスタマイズするためのCSS変数を.radix-themes
に追加しました。
--code-padding-top
--code-padding-bottom
DropdownMenu
、ContextMenu
radius="full"
の場合、ボーダーの半径を小さくしました。グリッド
Grid
コンポーネントをネストした際に、子孫のGrid
が意図せず親のスタイルを継承するバグを修正しました。インセット
clip
プロパティを追加しました。Table
がInset
内にある場合、テーブルセルのパディングを自動的に調整します。Kbd
Link
Text
と同様に、色の付いたHeading
要素内にあるリンクを自動的に高コントラストにしました。variant="outline"
とvariant="surface"
について、下線の太さをフォントサイズに相対的にスケーリングしました。RadioGroup
Text
コンポーネントでラップすると、ラジオボタンがテキストの最初の行に自動的に揃うようになりました。
<Text as="label" size="...">
を使用して、お好みのテキストサイズでラジオボタンをラップしてください。size="1"
を追加し、デフォルトサイズをsize="2"
に変更し、より洗練されたsize="3"
を追加しました。
size
プロパティを使用してsize="1"
またはsize="2"
のラジオボタンを使用していた場合、それぞれsize="2"
とsize="3"
に名前を変更してください。variant="classic"
のルックアンドフィールを調整しました。Select
variant="classic"
の見た目と感触を改善しました。position="popper"
を使用する場合、SelectContent
をトリガーの左側に配置しました。size="3"
を再設計しました。ScrollArea
.radix-themes
で宣言して、スクロールバーの位置調整を容易にしました。
--scrollarea-scrollbar-margin-top
、--scrollarea-scrollbar-margin-left
などを利用していた場合、新しい名前に従い、適切なレベルで設定されていることを確認してください。.rt-ScrollAreaScrollbar
要素をターゲットにして変数を設定する必要はもうありません。オーバーライドが必要なコンポーネントで直接設定できます。新しい変数
--scrollarea-scrollbar-horizontal-margin-top
--scrollarea-scrollbar-horizontal-margin-bottom
--scrollarea-scrollbar-horizontal-margin-left
--scrollarea-scrollbar-horizontal-margin-right
--scrollarea-scrollbar-vertical-margin-top
--scrollarea-scrollbar-vertical-margin-bottom
--scrollarea-scrollbar-vertical-margin-left
--scrollarea-scrollbar-vertical-margin-right
Slider
スイッチ
Switch
コンポーネントでラップすると、スイッチがテキストの最初の行に自動的に揃うようになりました。
<Text as="label" size="...">
を使用して、お好みのテキストサイズでスイッチをラップしてください。size="2"
とsize="3"
を小さくしました。
size="2"
の代わりにsize="3"
を使用してください。Table
Tabs
.radix-themes
に追加しました。これにより、視覚的なウェイトの変化を最小限に抑えることができます。
--tabs-trigger-active-letter-spacing
--tabs-trigger-active-word-spacing
--tabs-trigger-inactive-letter-spacing
--tabs-trigger-inactive-word-spacing
テキスト
as
プロパティにas="label"
オプションを追加しました。as
プロパティが指定されていない場合の、プロパティ型の解決方法を改善しました。TextArea
TextArea
が真のdisplay: block
要素のように動作し、利用可能なスペースを水平方向に満たすようにしました。style
とclassName
は、ラッピングdiv
要素に転送されるようになりました。ref
およびその他のプロパティは、引き続きtextarea
自体に転送されます。style
、className
、または関連するHTMLノードをターゲットとするカスタムCSSを使用してTextArea
のスタイルをオーバーライドしていた場合、カスタムスタイルが期待通りに動作することを確認してください。TextArea
の固有の幅に依存していた場合、レイアウトが期待通りに表示されることを確認してください。TextArea
がオーバーフローする場合に、より快適なタイピング体験のために、一致するスクロールマージンを使用しました。TextField
z-index
をリセットしました。padding-left
の代わりにtext-indent
を使用しました。ThemePanel
Tooltip
radius="full"
の場合、ボーダーの半径を小さくしました。multiline
プロパティを削除しました。
multiline
プロパティを使用していた場合、関連するTooltip要素にstyle={{ maxWidth: 250 }}
を渡してください。ThemeProps
とThemePanelProps
をエクスポートしました。ruby
、iris
、jade
ContextMenuSub
、DialogRoot
、HoverCardRoot
、PopoverRoot
に明示的なReact.FC
型を使用しました。