# Contextual Floating Button URL: /react/components/contextual-floating-button Source: https://github.com/daangn/seed-design/blob/dev/docs/content/react/components/contextual-floating-button.mdx 화면 위에 떠 있으며 특정 상황에서만 나타나는 보조적인 동작을 위한 버튼입니다. 사용 가능 버전: @seed-design/react@0.0.30, @seed-design/css@0.0.30 ## Preview ```tsx import { IconBellFill } from "@karrotmarket/react-monochrome-icon"; import { PrefixIcon } from "@seed-design/react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonPreview() { return ( } /> 알림 설정 ); } ``` ## Installation - npm: npx @seed-design/cli@latest add ui:contextual-floating-button - pnpm: pnpm dlx @seed-design/cli@latest add ui:contextual-floating-button - yarn: yarn dlx @seed-design/cli@latest add ui:contextual-floating-button - bun: bun x @seed-design/cli@latest add ui:contextual-floating-button ## Props ## Examples ### Float Composition Contextual Floating Button은 `` 컴포넌트와 함께 사용하면 편리합니다. ```tsx import { IconBellFill } from "@karrotmarket/react-monochrome-icon"; import { Box, Float, PrefixIcon } from "@seed-design/react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonFloatComposition() { return ( } /> 알림 설정 ); } ``` ### Solid Variant ```tsx import { IconPlusLine } from "@karrotmarket/react-monochrome-icon"; import { PrefixIcon } from "@seed-design/react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonSolid() { return ( } /> Solid Variant ); } ``` ### Layer Variant ```tsx import { IconPlusLine } from "@karrotmarket/react-monochrome-icon"; import { PrefixIcon } from "@seed-design/react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonLayer() { return ( } /> Layer Variant ); } ``` ### Icon Only ```tsx import { IconPlusFill } from "@karrotmarket/react-monochrome-icon"; import { Icon } from "@seed-design/react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonIconOnly() { return ( } /> ); } ``` ### Loading ```tsx import { IconPlusLine } from "@karrotmarket/react-monochrome-icon"; import { PrefixIcon } from "@seed-design/react"; import { useState } from "react"; import { ContextualFloatingButton } from "seed-design/ui/contextual-floating-button"; export default function ContextualFloatingButtonLoading() { const [loading, setLoading] = useState(false); function handleClick() { setLoading(true); setTimeout(() => setLoading(false), 2000); } // 이벤트 핸들링이 필요할 수 있으므로 loading은 disabled를 포함하지 않습니다. 이벤트 발생을 원하지 않는 경우, disabled 속성을 추가해주세요. return ( } /> 시간이 걸리는 액션 ); } ```