Callout
사용자의 주목을 끌어 중요한 정보를 강조하는 컴포넌트에요.
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutPreview() {
return (
<VStack gap="x4" width="full">
<Callout description="Aute nulla proident tempor minim eiusmod. In nostrud officia irure laborum." />
<ActionableCallout description="Aute nulla proident tempor minim eiusmod. In nostrud officia irure laborum." />
<DismissibleCallout description="Aute nulla proident tempor minim eiusmod. In nostrud officia irure laborum." />
</VStack>
);
}
Installation
npx @seed-design/cli@latest add callout
Props
Callout
Prop
Type
ActionableCallout
Prop
Type
DismissibleCallout
Prop
Type
Examples
Content Layout
Text Only
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutTextOnly() {
return (
<VStack gap="x4" width="full">
<Callout description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요." />
<ActionableCallout description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요." />
<DismissibleCallout description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요." />
</VStack>
);
}
With Icon
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutWithIcon() {
return (
<VStack gap="x4" width="full">
<Callout
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
With Title Text
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutWithTitleText() {
return (
<VStack gap="x4" width="full">
<Callout
title="타이틀"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
title="타이틀"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
title="타이틀"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
With Link Label
ActionableCallout
에서는 linkProps
를 제공하지 않아요.
import { VStack } from "@seed-design/react";
import { Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutWithLinkLabel() {
return (
<VStack gap="x4" width="full">
<Callout
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{ children: "시도해 보기" }}
/>
<DismissibleCallout
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{ children: "시도해 보기" }}
/>
</VStack>
);
}
With All
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutWithAll() {
return (
<VStack gap="x4" width="full">
<Callout
title="타이틀"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{ children: "시도해 보기" }}
/>
<DismissibleCallout
title="타이틀"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{ children: "시도해 보기" }}
/>
</VStack>
);
}
Customizable Parts
Rendering Link Label as Child
import { VStack } from "@seed-design/react";
import { Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutLinkLabelAsChild() {
return (
<VStack gap="x4" width="full">
<Callout
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{
asChild: true,
children: (
<a href="https://www.daangn.com" target="_blank" rel="noreferrer">
시도해 보기
</a>
),
}}
/>
<DismissibleCallout
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
linkProps={{
asChild: true,
children: (
<a href="https://www.daangn.com" target="_blank" rel="noreferrer">
시도해 보기
</a>
),
}}
/>
</VStack>
);
}
Tones
Neutral (Default)
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutNeutral() {
return (
<VStack gap="x4" width="full">
<Callout
tone="neutral"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
tone="neutral"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
tone="neutral"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
Informative
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutInformative() {
return (
<VStack gap="x4" width="full">
<Callout
tone="informative"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
tone="informative"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
tone="informative"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
Warning
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutWarning() {
return (
<VStack gap="x4" width="full">
<Callout
tone="warning"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
tone="warning"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
tone="warning"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
Critical
import { IconCalendarFill } from "@karrotmarket/react-monochrome-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutCritical() {
return (
<VStack gap="x4" width="full">
<Callout
tone="critical"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<ActionableCallout
tone="critical"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
<DismissibleCallout
tone="critical"
prefixIcon={<IconCalendarFill />}
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
/>
</VStack>
);
}
Magic
import { IconSparkle2 } from "@karrotmarket/react-multicolor-icon";
import { VStack } from "@seed-design/react";
import { ActionableCallout, Callout, DismissibleCallout } from "seed-design/ui/callout";
export default function CalloutMagic() {
return (
<VStack gap="x4" width="full">
<Callout
tone="magic"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
prefixIcon={<IconSparkle2 />}
/>
<ActionableCallout
tone="magic"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
prefixIcon={<IconSparkle2 />}
/>
<DismissibleCallout
tone="magic"
description="기능에 대한 안내 또는 유익한 내용을 전달해요. 콜아웃은 꼭 필요한 경우에만 절제하여 사용해요."
prefixIcon={<IconSparkle2 />}
/>
</VStack>
);
}
Last updated on