--- title: Snacks description: "`Snacks`は、フォームなどで使用される通知を制御するコンポーネントです。" links: - source: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/components/snacks - storybook: https://yamada-ui.github.io/yamada-ui?path=/story/components-snacks--basic --- ```tsx const { snack, snacks } = useSnacks() return ( ) ``` ## 使い方 ```tsx import { useSnacks, Snacks } from "@yamada-ui/react" ``` ```tsx import { useSnacks, Snacks } from "@/components/ui" ``` ```tsx import { useSnacks, Snacks } from "@workspaces/ui" ``` ```tsx ``` ### バリアントを変更する ```tsx const { snack, snacks } = useSnacks() return ( {(variant) => ( )} ) ``` ### カラースキー厶を変更する ```tsx const { snack, snacks } = useSnacks() return ( {(colorScheme) => ( )} ) ``` ### ステータスを変更する ステータスを変更する場合は、`status`を設定します。 ```tsx const { snack, snacks } = useSnacks() return ( {(status) => ( )} ) ``` ### ローディングスキームを変更する ローディングスキームを変更する場合は、`loadingScheme`を設定します。 ```tsx const { snack, snacks } = useSnacks() return ( {(loadingScheme) => ( )} ) ``` ### 方向を変更する 方向を変更する場合は、`direction`に`"start"`または`"end"`を設定します。デフォルトでは、`"start"`が設定されています。 ```tsx const { snack, snacks } = useSnacks({ direction: "end" }) return ( ) ``` ### 表示件数を制限する 表示件数を制限する場合は、`limit`に数値を設定します。もし、無制限に表示する場合は、`null`を設定します。デフォルトでは、`3`が設定されています。 ```tsx const { snack, snacks } = useSnacks({ limit: 5 }) return ( ) ``` ### 表示時間を設定する 表示時間を設定する場合は、`duration`に数値(ミリ秒)を設定します。 ```tsx const { snack, snacks } = useSnacks() return ( ) ``` ### 閉じるボタンを無効にする 閉じるボタンを無効にする場合は、`closable`を`false`に設定します。 ```tsx const { snack, snacks } = useSnacks({ closable: false }) return ( ) ``` ### 通知を閉じる 通知を閉じる場合は、`snack.close`や`snack.closeAll`を使用します。 ```tsx const { snack, snacks } = useSnacks() const id = useRef(undefined) return ( ) ``` ### 通知を更新する 通知を更新する場合は、`snack.update`を使用します。 ```tsx const { snack, snacks } = useSnacks() const id = useRef(undefined) return ( ) ``` ### Props | Prop | Default | Type | Description | | ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | `as` | - | `DOMElement` | The HTML element to render. | | `asChild` | - | `boolean` | Merges its props onto its immediate child. | | `css` | - | `CSSObject \| CSSObject[]` | The CSS object. | | `colorScheme` | - | `"amber" \| "black" \| "blackAlpha" \| "blue" \| "cyan" \| "danger" \| "emerald" \| "error" \| "flashy" \| "fuchsia" ...` | Set color scheme variables. | | `snacks` | - | `UseSnacksReturn["snacks"]` | The snacks created by `useSnacks`. | | `gap` | `"md"` | `"-0.5" \| "-1.5" \| "-1" \| "-10" \| "-11" \| "-12" \| "-13" \| "-14" \| "-15" \| "-16" ...` | The CSS `gap` property. | | `gutter` | `[0, "lg"]` | `[CSSProps["paddingTop"], CSSProps["paddingBottom"]]` | A property that provides spacing between the top and bottom. | | `listProps` | - | `HTMLMotionProps` | Props for the snacks list element. | | `negativeMargins` | `true` | `boolean` | If `true`, apply gutter value to negative margins |