diff --git a/.changeset/quick-peaches-fail.md b/.changeset/quick-peaches-fail.md new file mode 100644 index 0000000000..a330058339 --- /dev/null +++ b/.changeset/quick-peaches-fail.md @@ -0,0 +1,5 @@ +--- +"@channel.io/bezier-react": minor +--- + +Fixes style inheritance issues by explicitly giving CSS custom properties an initial value. diff --git a/.changeset/tough-rats-drive.md b/.changeset/tough-rats-drive.md new file mode 100644 index 0000000000..661ae36055 --- /dev/null +++ b/.changeset/tough-rats-drive.md @@ -0,0 +1,5 @@ +--- +"@channel.io/bezier-react": minor +--- + +Remove `borderStyle` prop from Layout props. diff --git a/.changeset/witty-pans-clean.md b/.changeset/witty-pans-clean.md new file mode 100644 index 0000000000..7957ec3a5e --- /dev/null +++ b/.changeset/witty-pans-clean.md @@ -0,0 +1,35 @@ +--- +"@channel.io/bezier-react": major +--- + +`AlphaStack` component has been changed to a `Stack` component, and `Stack` component has been changed to `LegacyStack` component. Changes to remove the dependency of `Stack` and `StackItem` to allow stack layouts to be configured without additional DOM elements. And improved the existing `AlphaStack` to support more Flex layout related properties like reverse, wrap, and more align options, etc. See StackProps for more information. + +We also added new `HStack` and `VStack` components, which are shorthand components that fix the direction prop of `AlphaStack`. As mentioned above, the existing components become `LegacyHStack`, `LegacyVStack`. + +The layout implemented by `StackItem` can be partially replaced by the Layout component's `grow`, `shrink` common properties and margin common properties. Note that the `align`, `justify` (align-self, justify-self in CSS flex) properties provided by `StackItem` are not provided by the Layout component. + +```jsx +/* AS-IS */ +return ( + + + + + + +) + +/* TO-BE */ +return ( + + + + +) +``` + +The changes also apply to other components that use `Stack` internally, and there are a few changes. + +- `RadioGroup` component no longer supports `as` prop. +- `ButtonGroup` component now extends the interfaces of new `Stack`. It no longer supports `as` prop. +- `FormGroup` component now extends the interfaces of new `Stack`. It no longer supports `as` prop. diff --git a/packages/bezier-figma-plugin/package.json b/packages/bezier-figma-plugin/package.json index 40ff45591a..79028cb87f 100644 --- a/packages/bezier-figma-plugin/package.json +++ b/packages/bezier-figma-plugin/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@channel.io/bezier-icons": "^0.16.0", - "@channel.io/bezier-react": "workspace:^", + "@channel.io/bezier-react": "^1.19.0", "octokit": "^2.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/packages/bezier-figma-plugin/src/ui/components/ExtractSuccess.tsx b/packages/bezier-figma-plugin/src/ui/components/ExtractSuccess.tsx index 5a41945138..5e463ea732 100644 --- a/packages/bezier-figma-plugin/src/ui/components/ExtractSuccess.tsx +++ b/packages/bezier-figma-plugin/src/ui/components/ExtractSuccess.tsx @@ -11,6 +11,7 @@ import { ButtonStyleVariant, StackItem, Text, + Typography, VStack, } from '@channel.io/bezier-react' @@ -26,7 +27,7 @@ function ExtractSuccess() { return ( - 아이콘 추출 성공! + 아이콘 추출 성공! { /* @ts-ignore */ } diff --git a/packages/bezier-react/src/components/AlphaStack/AlphaStack.stories.tsx b/packages/bezier-react/src/components/AlphaStack/AlphaStack.stories.tsx deleted file mode 100644 index 264c908e59..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/AlphaStack.stories.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import React from 'react' - -import { - type Meta, - type StoryFn, - type StoryObj, -} from '@storybook/react' - -import { css } from '~/src/foundation/FoundationStyledComponent' - -import { range } from '~/src/utils/number' - -import { AlphaStack } from './AlphaStack' - -const FLEX_PROPERTIES = ['start', 'center', 'end', 'stretch'] - -const meta = { - component: AlphaStack, - argTypes: { - spacing: { - control: { - type: 'number', - }, - }, - direction: { - control: { - type: 'radio', - }, - options: ['horizontal', 'vertical'], - }, - justify: { - control: { - type: 'radio', - }, - options: FLEX_PROPERTIES, - }, - align: { - control: { - type: 'radio', - }, - options: FLEX_PROPERTIES, - }, - }, -} satisfies Meta - -export default meta - -type Story = StoryObj - -const Template: StoryFn = (args) => ( - - <> - { range(4).map((i) => -
{ i }
, - ) } - -
-) - -export const Primary: Story = { - render: Template, - - args: { - direction: 'vertical', - style: { - width: '200px', - height: '200px', - }, - interpolation: css` - background-color: blue; - `, - }, -} diff --git a/packages/bezier-react/src/components/AlphaStack/AlphaStack.styled.ts b/packages/bezier-react/src/components/AlphaStack/AlphaStack.styled.ts deleted file mode 100644 index ed6748bc86..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/AlphaStack.styled.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { styled } from '~/src/foundation' - -import type { AlphaStackProps } from './AlphaStack.types' - -interface ContainerProps extends - Required> {} - -export const Container = styled.div` - display: flex; - flex-direction: var(--b-alpha-stack-direction); - gap: var(--b-alpha-stack-spacing); - align-items: var(--b-alpha-stack-align); - justify-content: var(--b-alpha-stack-justify); - - @supports not(gap: var(--b-alpha-stack-spacing)) { - margin-top: calc(var(--b-alpha-stack-spacing) * -1); - margin-left: calc(var(--b-alpha-stack-spacing) * -1); - - > * { - margin-top: var(--b-alpha-stack-spacing); - margin-left: var(--b-alpha-stack-spacing); - } - } - ${({ interpolation }) => interpolation} -` diff --git a/packages/bezier-react/src/components/AlphaStack/AlphaStack.test.tsx b/packages/bezier-react/src/components/AlphaStack/AlphaStack.test.tsx deleted file mode 100644 index 12f6197775..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/AlphaStack.test.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from 'react' - -import { css } from '~/src/foundation' - -import { render } from '~/src/utils/test' - -import { AlphaStack } from './AlphaStack' - -describe('alpha-Stack', () => { - describe('Flex layout', () => { - it('creates a flexbox', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveStyle('display: flex') - }) - - it('creates a horizontal flexbox when given direction="horizontal"', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveStyle('flex-direction: var(--b-alpha-stack-direction)') - expect(getByTestId('alpha-stack')).toHaveStyle('--b-alpha-stack-direction: row') - expect(getByTestId('alpha-stack')).toHaveStyle('gap: var(--b-alpha-stack-spacing)') - expect(getByTestId('alpha-stack')).toHaveStyle('--b-alpha-stack-spacing: 10px') - }) - - it('creates a vertical flexbox when given direction="vertical"', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveStyle('flex-direction: var(--b-alpha-stack-direction)') - expect(getByTestId('alpha-stack')).toHaveStyle('--b-alpha-stack-direction: column') - expect(getByTestId('alpha-stack')).toHaveStyle('gap: var(--b-alpha-stack-spacing)') - expect(getByTestId('alpha-stack')).toHaveStyle('--b-alpha-stack-spacing: 10px') - }) - }) - - describe('Supports BezierComponentProps interface', () => { - it('supports as prop', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack').tagName).toBe('MAIN') - }) - - it('supports style prop', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveStyle({ 'background-color': 'red' }) - }) - - it('supports className prop', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveClass('foo') - }) - - it('supports interpolation prop', () => { - const { getByTestId } = render() - - expect(getByTestId('alpha-stack')).toHaveStyle({ 'background-color': 'red' }) - }) - }) -}) diff --git a/packages/bezier-react/src/components/AlphaStack/AlphaStack.tsx b/packages/bezier-react/src/components/AlphaStack/AlphaStack.tsx deleted file mode 100644 index 304978096f..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/AlphaStack.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import React, { - type Ref, - forwardRef, - useMemo, -} from 'react' - -import { px } from '~/src/utils/style' - -import { flex } from '~/src/components/Stack/util' - -import type { AlphaStackProps } from './AlphaStack.types' - -import * as Styled from './AlphaStack.styled' - -/** - * `AlphaStack` provides an abstraction of **flex layout** so that - * rendering of child elements **linearly** can be done - * with simplified options. - * - * `AlphaStack` always fills the parent element. - * - * Be reminded that the first depth children element of AlphaStack would be StackItem that is adjusted by flex layout - * - * @example - * - * ```tsx - * - *
{ ... }
- *
{ ... }
- *
- * ``` - */ -export const AlphaStack = forwardRef(function AlphaStack( - { - as = 'div', - testId = 'bezier-react-alpha-stack', - className, - interpolation, - style, - children, - direction, - justify = 'start', - align = 'stretch', - spacing = 0, - ...rest - }: AlphaStackProps, - forwardedRef: Ref, -) { - const stackStyle = useMemo(() => ({ - ...style, - '--b-alpha-stack-direction': direction === 'horizontal' ? 'row' : 'column', - '--b-alpha-stack-justify': flex(justify), - '--b-alpha-stack-align': flex(align), - '--b-alpha-stack-spacing': px(spacing), - } as React.CSSProperties), - [ - align, - direction, - justify, - spacing, - style, - ]) - - return ( - - { children } - - ) -}) diff --git a/packages/bezier-react/src/components/AlphaStack/AlphaStack.types.ts b/packages/bezier-react/src/components/AlphaStack/AlphaStack.types.ts deleted file mode 100644 index d538d17df5..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/AlphaStack.types.ts +++ /dev/null @@ -1,44 +0,0 @@ -import type { - BezierComponentProps, - ChildrenProps, -} from '~/src/types/ComponentProps' - -import type { AxisAlignment } from '~/src/components/Stack/types' - -interface AlphaStackOptions { - /** - * Direction of this stack. - */ - direction: 'horizontal' | 'vertical' - - /** - * Determines the default aligning of children along the main axis. - * - * @default start - */ - justify?: AxisAlignment - - /** - * Determines the default aligning of children along the cross axis. - * - * @default stretch - */ - align?: AxisAlignment - - /** - * Default spacing between children, in pixels. - * - * @remarks - * `spacing` could be enumerated in later design, if bezier design system - * decides to define a guideline for linear layout. - * - * @default 0 - */ - spacing?: number -} - -export interface AlphaStackProps extends - BezierComponentProps, - ChildrenProps, - React.HTMLAttributes, - AlphaStackOptions {} diff --git a/packages/bezier-react/src/components/AlphaStack/index.ts b/packages/bezier-react/src/components/AlphaStack/index.ts deleted file mode 100644 index f91ccf7ed5..0000000000 --- a/packages/bezier-react/src/components/AlphaStack/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { AlphaStack } from './AlphaStack' -export type { AlphaStackProps } from './AlphaStack.types' diff --git a/packages/bezier-react/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap b/packages/bezier-react/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap index 2c50c92202..ef07a19d51 100644 --- a/packages/bezier-react/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +++ b/packages/bezier-react/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap @@ -246,7 +246,7 @@ exports[`AvatarGroup Ellipsis type - Count Snapshot 1`] = ` style="--b-avatar-group-ellipsis-mr: 5px; --b-avatar-group-ellipsis-ml: 4px;" > diff --git a/packages/bezier-react/src/components/Avatars/Avatars.stories.tsx b/packages/bezier-react/src/components/Avatars/Avatars.stories.tsx index 36e6c13499..60ce1be6e8 100644 --- a/packages/bezier-react/src/components/Avatars/Avatars.stories.tsx +++ b/packages/bezier-react/src/components/Avatars/Avatars.stories.tsx @@ -24,10 +24,10 @@ import { EmojiSize, } from '~/src/components/Emoji' import { - HStack, - StackItem, - VStack, -} from '~/src/components/Stack' + LegacyHStack, + LegacyStackItem, + LegacyVStack, +} from '~/src/components/LegacyStack' import { StatusType } from '~/src/components/Status' import { Text } from '~/src/components/Text' @@ -85,35 +85,35 @@ const NAVER_TALK_AVATAR = { } export const Overview: StoryFn<{}> = () => ( - - - + + + { [AvatarSize.Size20, AvatarSize.Size36, AvatarSize.Size72, AvatarSize.Size120] .map(size => ( - + - + )) } - - + + - - + + { [StatusType.Online, StatusType.Offline, StatusType.Lock] .map(status => ( - + - + )) } - + = () => ( showBorder /> - - - + + + - - + + { [AvatarSize.Size24, AvatarSize.Size36, AvatarSize.Size42, AvatarSize.Size48] .map((size, i) => ( - + - + )) } - - + + - - - + + + { range(6).map((i) => ( )) } - + - + { range(6).map((i) => ( )) } - + - + = () => ( )) } - - - - + + + + ) export const UsageBasic: StoryObj<{}> = { render: () => ( - + { SAMPLE_AVATARS.map((avatar) => ( - + - + )) } - + ), name: 'Usage (basic)', @@ -195,7 +195,7 @@ export const UsageBasic: StoryObj<{}> = { export const UsagePresetStatus: StoryObj<{}> = { render: () => ( - + { [ StatusType.Online, StatusType.Offline, @@ -203,15 +203,15 @@ export const UsagePresetStatus: StoryObj<{}> = { StatusType.OnlineCrescent, StatusType.OfflineCrescent, ].map((status) => ( - + - + )) } - + ), name: 'Usage (with preset status)', @@ -219,17 +219,17 @@ export const UsagePresetStatus: StoryObj<{}> = { export const UsagePresetStatusWithSize: StoryObj<{}> = { render: () => ( - + { [AvatarSize.Size24, AvatarSize.Size36, AvatarSize.Size48].map((size) => ( - + - + )) } - + ), name: 'Usage (with preset status and size)', @@ -247,26 +247,26 @@ const EmojiStatusWrapper = styled.div` export const UsageCustomStatus: StoryObj<{}> = { render: () => ( - - + + - + - + - + - + - + - + = { /> - - + + ), name: 'Usage (with custom status)', @@ -303,53 +303,53 @@ export const UsageDisabled: StoryObj<{}> = { export const UsageCheckableAvatar: StoryObj<{}> = { render: () => ( - - - - + + + + Checkable (checked=false) - + - + - - - + + + - - - + + + Checkable (checked=false, disabled) - + - + - - - + + + - - - + + + Checkable (checked=true) - + - + - - - - + + + + ), name: 'Usage (checkable avatars)', @@ -357,37 +357,37 @@ export const UsageCheckableAvatar: StoryObj<{}> = { export const UsageGroupEllipsis: StoryObj<{}> = { render: () => ( - - - - + + + + Ellipsis type = Icon - + - + { SAMPLE_AVATARS.map((avatar) => ( )) } - - - + + + - - - + + + Ellipsis type = Count - + - + { SAMPLE_AVATARS.map(avatar => ) } - - - - + + + + ), name: 'Usage (avatar group with ellipsis)', @@ -395,27 +395,27 @@ export const UsageGroupEllipsis: StoryObj<{}> = { export const UsageGroupSpacing: StoryObj<{}> = { render: () => ( - - + + { SAMPLE_AVATARS.map((avatar) => ( )) } - + - + { SAMPLE_AVATARS.map(avatar => ) } - + - + { SAMPLE_AVATARS.map(avatar => ) } - - + + ), name: 'Usage (avatar group with spacing)', @@ -423,7 +423,7 @@ export const UsageGroupSpacing: StoryObj<{}> = { export const VariantsSize: StoryObj<{}> = { render: () => ( - + { [ AvatarSize.Size20, AvatarSize.Size24, @@ -436,21 +436,21 @@ export const VariantsSize: StoryObj<{}> = { AvatarSize.Size120, ] .map(size => ( - - - + + + { `Size${size}` } - - + + - - - + + + )) } - + ), name: 'Variants (size)', diff --git a/packages/bezier-react/src/components/Banner/Banner.stories.tsx b/packages/bezier-react/src/components/Banner/Banner.stories.tsx index 8484a769d1..f3d32e9969 100644 --- a/packages/bezier-react/src/components/Banner/Banner.stories.tsx +++ b/packages/bezier-react/src/components/Banner/Banner.stories.tsx @@ -21,9 +21,9 @@ import { noop } from '~/src/utils/function' import { getObjectFromEnum } from '~/src/utils/story' import { - StackItem, - VStack, -} from '~/src/components/Stack' + LegacyStackItem, + LegacyVStack, +} from '~/src/components/LegacyStack' import { Banner } from './Banner' import mdx from './Banner.mdx' @@ -76,71 +76,71 @@ export const Playground: StoryObj = { } export const Overview: StoryFn<{}> = () => ( - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + ) export const UsageMinWidth: StoryObj<{}> = { render: () => ( - - + + - - + + ), name: 'Usage (min width)', @@ -148,29 +148,29 @@ export const UsageMinWidth: StoryObj<{}> = { export const UsageFullWidth: StoryObj<{}> = { render: () => ( - - + + - - + + - - + + - - + + ), name: 'Usage (full width)', @@ -178,8 +178,8 @@ export const UsageFullWidth: StoryObj<{}> = { export const UsageMaxWidth: StoryObj<{}> = { render: () => ( - - + + = { 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin quis laoreet felis. Fusce sit amet blandit sem. Aliquam erat volutpat. Pellentesque tempor arcu non scelerisque rutrum. Proin placerat imperdiet gravida. In efficitur augue ut maximus placerat. Quisque vitae pellentesque urna. Sed sagittis enim quis laoreet dictum. Morbi fringilla, justo sit amet dapibus bibendum, nisl nisl suscipit dolor, eget venenatis urna velit in dolor.\n\nNunc accumsan ligula sit amet interdum accumsan. Etiam gravida est risus, in interdum elit egestas ut. Aliquam sit amet lorem malesuada, commodo tortor eu, semper dui. Integer ultricies porta ex sed tincidunt. Sed accumsan orci eu arcu facilisis congue ac hendrerit lacus. Etiam erat velit, interdum auctor cursus at, interdum vel augue. Integer gravida, nibh vel lacinia blandit, ex quam dapibus lectus, at sollicitudin lorem purus vel nulla. Suspendisse ac tellus eget risus condimentum facilisis sed vitae turpis. Fusce fringilla commodo aliquam. Quisque eget justo purus. Suspendisse ut lobortis turpis, vitae fermentum augue. Donec viverra, orci ut lobortis euismod, est nibh iaculis metus, sit amet mattis ex elit eget tellus.' } /> - - + + ), name: 'Usage (max width)', @@ -197,8 +197,8 @@ export const UsageMaxWidth: StoryObj<{}> = { export const UsageConsecutive: StoryObj<{}> = { render: () => ( - - + + = { hasLink linkText="설정하기" /> - - + + - - + + = { linkText="사용안내" actionIcon={CancelIcon} /> - - + + ), name: 'Usage (consecutive)', diff --git a/packages/bezier-react/src/components/Banner/Banner.styled.ts b/packages/bezier-react/src/components/Banner/Banner.styled.ts index 57de471ffe..6d8070ad7a 100644 --- a/packages/bezier-react/src/components/Banner/Banner.styled.ts +++ b/packages/bezier-react/src/components/Banner/Banner.styled.ts @@ -5,9 +5,9 @@ import type { VariantProps } from '~/src/types/ComponentProps' import { Icon } from '~/src/components/Icon' import { LegacyIcon } from '~/src/components/LegacyIcon' import { - StackItem as BaseStackItem, - HStack, -} from '~/src/components/Stack' + LegacyStackItem as BaseStackItem, + LegacyHStack, +} from '~/src/components/LegacyStack' import { Text } from '~/src/components/Text' import { @@ -32,7 +32,7 @@ const Link = styled(Text)` cursor: pointer; ` -const Stack = styled(HStack)` +const Stack = styled(LegacyHStack)` width: auto; min-width: 200px; height: auto; diff --git a/packages/bezier-react/src/components/Banner/Banner.tsx b/packages/bezier-react/src/components/Banner/Banner.tsx index 5e724594d7..fcff67b6c4 100644 --- a/packages/bezier-react/src/components/Banner/Banner.tsx +++ b/packages/bezier-react/src/components/Banner/Banner.tsx @@ -15,7 +15,7 @@ import { } from '~/src/components/Button' import { IconSize } from '~/src/components/Icon' import { isIconName } from '~/src/components/LegacyIcon' -import { StackItem } from '~/src/components/Stack' +import { LegacyStackItem } from '~/src/components/LegacyStack' import { Text } from '~/src/components/Text' import { @@ -119,7 +119,7 @@ export const Banner = forwardRef(function Banner( ) } - ) : content } - + { !isNil(actionIcon) && ( diff --git a/packages/bezier-react/src/components/Box/Box.tsx b/packages/bezier-react/src/components/Box/Box.tsx index ed1a688f1d..750fa3e9ab 100644 --- a/packages/bezier-react/src/components/Box/Box.tsx +++ b/packages/bezier-react/src/components/Box/Box.tsx @@ -12,14 +12,12 @@ import { splitByMarginProps, } from '~/src/utils/props' -import sharedStyles from '~/src/components/shared.module.scss' - import { type BoxProps } from './Box.types' import styles from './Box.module.scss' /** - * `Box` is the primitive component responsible for layout. It provides an easy way to access design tokens. + * `Box` is a primitive layout component. It provides an easy way to access design tokens. * * @example * @@ -38,6 +36,9 @@ import styles from './Box.module.scss' export const Box = forwardRef(function Box(props, forwardedRef) { const [marginProps, marginRest] = splitByMarginProps(props) const [layoutProps, layoutRest] = splitByLayoutProps(marginRest) + const marginStyle = getMarginStyle(marginProps) + const layoutStyle = getLayoutStyle(layoutProps) + const { children, style, @@ -55,15 +56,15 @@ export const Box = forwardRef(function Box(props, forward return createElement(as, { ref: forwardedRef, style: { - ...getMarginStyle(marginProps), - ...getLayoutStyle(layoutProps), + ...marginStyle.style, + ...layoutStyle.style, ...style, }, className: classNames( - sharedStyles.margin, - sharedStyles.layout, styles.Box, display && styles[`display-${display}`], + marginStyle.className, + layoutStyle.className, className, ), 'data-testid': testId, diff --git a/packages/bezier-react/src/components/Box/Box.types.ts b/packages/bezier-react/src/components/Box/Box.types.ts index 33c5146fc2..c21fcd6f2b 100644 --- a/packages/bezier-react/src/components/Box/Box.types.ts +++ b/packages/bezier-react/src/components/Box/Box.types.ts @@ -8,7 +8,7 @@ import { type Display = 'block' | 'inline' | 'inline-block' -type BoxElementType = 'div' | 'span' | 'section' | 'legend' | 'ul' | 'li' +type BoxElementType = 'div' | 'span' | 'section' | 'legend' | 'ul' | 'ol' | 'li' interface BoxOwnProps { /** diff --git a/packages/bezier-react/src/components/Button/Button.stories.tsx b/packages/bezier-react/src/components/Button/Button.stories.tsx index 18d7146567..e796e6259d 100644 --- a/packages/bezier-react/src/components/Button/Button.stories.tsx +++ b/packages/bezier-react/src/components/Button/Button.stories.tsx @@ -28,17 +28,17 @@ import { styled } from '~/src/foundation' import { Avatar } from '~/src/components/Avatars/Avatar' import { ButtonGroup } from '~/src/components/ButtonGroup' +import { + LegacyHStack, + LegacyStackItem, + LegacyVStack, +} from '~/src/components/LegacyStack' import { ListItem } from '~/src/components/ListItem' import { Overlay, OverlayPosition, } from '~/src/components/Overlay' import { SectionLabel } from '~/src/components/SectionLabel' -import { - HStack, - StackItem, - VStack, -} from '~/src/components/Stack' import { StatusType } from '~/src/components/Status' import { Text } from '~/src/components/Text' @@ -110,32 +110,32 @@ export const WithCustomComponent: StoryObj = { export const OverviewCTA: StoryObj<{}> = { render: () => ( - - + +