diff --git a/packages/react/docs/v4.0.0.mdx b/packages/react/docs/v4.0.0.mdx new file mode 100644 index 000000000..5110a2ae2 --- /dev/null +++ b/packages/react/docs/v4.0.0.mdx @@ -0,0 +1,102 @@ +import { Meta, Story } from '@storybook/addon-docs' +import { Unstyled } from '@storybook/blocks' + + + +# @charcoal-ui/react@v4.0.0 + +- `v4.0.0`では多くの破壊的な変更があります。 +- `styled-components`への依存を無くし、css ファイルを読み込む方式に変更しました。 + +```tsx +import { CharcoalProvider, Button } from '@charcoal-ui/react' + +import '@charcoal-ui/react/dist/index.css' + +function App() { + return ( + + + + ) +} +``` + +## ComponentAbstraction + +- `ComponentAbstraction`が削除されました。 +- `useComponentAbstraction`が削除されました。 +- `type LinkProps`が削除されました。 + +## CharcoalProvider + +- テーマに関する属性が削除されました。 + - `themeMap`, `defaultTheme`, `injectTokens`, `components`, `background` + +## Button + +- `ComponentAbstraction`と`to`を用いたカスタム要素の設定を、`component`に`React.ElementType`を指定することによって行えるように変更しました。 + +Before + +```tsx + + + +``` + +After + +```tsx + + + +``` + +## Checkbox + +- `Checkbox`の`input`要素を`children`がない場合に label で囲わないようにしました。 +- `React.HTMLProps`を継承するように変更しました。 +- アイコンを CSS を用いて表示するように変更しました。 + +## Clickable + +- `Button`と同様に`to`による指定を削除し、`component`によってカスタムできるように変更しました。 +- `type ClickableElement`が削除されました。 + +## DropdownSelector + +- `aria-labelledby`,`aria-describedby`を適用するように変更しました。 + +## IconButton + +- `Button`と同様に`to`による指定を削除し、`component`によってカスタムできるように変更しました。 + +## MultiSelect + +- コンポーネントが削除されました。 +- `overlay`の代替として`Checkbox`の`rounded`が追加されました。 + +## RadioGroup + +- `aria-labelledby`, `aria-orientation`をプロパティに追加しました。 +- `label`をオプショナルに変更しました。 + +## Switch + +- `Checkbox`の`input`要素を常に`label`で囲わないようにしました。 +- `React.HTMLProps`を継承するように変更しました。 + +## TagItem + +- `Button`と同様に`to`による指定を削除し、`component`によってカスタムできるように変更しました。 + +## TextArea + +- `textarea`要素の`props`を継承するように変更しました。 +- 文字数の計算ロジックを`getCount`プロパティで上書きできるように変更しました。 + +## TextField + +- `input`要素の`props`を継承するように変更しました。 +- 文字数の計算ロジックを`getCount`プロパティで上書きできるように変更しました。