diff --git a/apps/vr-tests-react-components/package.json b/apps/vr-tests-react-components/package.json index f1d204a673aa15..dffe851e99b277 100644 --- a/apps/vr-tests-react-components/package.json +++ b/apps/vr-tests-react-components/package.json @@ -23,6 +23,7 @@ "@fluentui/react-accordion": "*", "@fluentui/react-avatar": "*", "@fluentui/react-badge": "*", + "@fluentui/react-breadcrumb-preview": "*", "@fluentui/react-button": "*", "@fluentui/react-card": "*", "@fluentui/react-checkbox": "*", diff --git a/apps/vr-tests-react-components/src/stories/Breadcrumb/Breadcrumb.stories.tsx b/apps/vr-tests-react-components/src/stories/Breadcrumb/Breadcrumb.stories.tsx new file mode 100644 index 00000000000000..03194095e207f1 --- /dev/null +++ b/apps/vr-tests-react-components/src/stories/Breadcrumb/Breadcrumb.stories.tsx @@ -0,0 +1,69 @@ +import * as React from 'react'; +import { Breadcrumb } from '@fluentui/react-breadcrumb-preview'; +import { SampleBreadcrumbButtons, SampleBreadcrumbLinks, SampleBreadcrumbItems, steps } from './utils'; +import { ComponentMeta } from '@storybook/react'; +import { getStoryVariant, DARK_MODE, HIGH_CONTRAST, RTL, withStoryWrightSteps } from '../../utilities'; + +export default { + title: 'Breadcrumb Converged', + decorators: [story => withStoryWrightSteps({ story, steps })], +} as ComponentMeta; + +export const Appearance = () => ( + <> +

BreadcrumbButton

+

Transparent

+ +

Subtle

+ + +

BreadcrumbLink

+

Transparent

+ +

Subtle

+ + +); + +Appearance.storyName = 'appearance'; + +export const AppearanceDarkMode = getStoryVariant(Appearance, DARK_MODE); +export const AppearanceHighContrast = getStoryVariant(Appearance, HIGH_CONTRAST); +export const AppearanceRTL = getStoryVariant(Appearance, RTL); + +export const Size = () => ( + <> +

BreadcrumbButton

+ + + + +

BreadcrumbLink

+ + + + +

BreadcrumbItem

+ + + + +); + +Size.storyName = 'size'; + +export const DividerType = () => ( + <> +

BreadcrumbButton

+ + +

BreadcrumbLink

+ + +

BreadcrumbItem

+ + + +); + +DividerType.storyName = 'divider type'; diff --git a/apps/vr-tests-react-components/src/stories/Breadcrumb/utils.tsx b/apps/vr-tests-react-components/src/stories/Breadcrumb/utils.tsx new file mode 100644 index 00000000000000..79a445a82244d1 --- /dev/null +++ b/apps/vr-tests-react-components/src/stories/Breadcrumb/utils.tsx @@ -0,0 +1,64 @@ +import * as React from 'react'; +import { Steps } from 'storywright'; +import { + Breadcrumb, + BreadcrumbButton, + BreadcrumbProps, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbDivider, +} from '@fluentui/react-breadcrumb-preview'; +import { bundleIcon, CalendarMonth20Filled, CalendarMonth20Regular } from '@fluentui/react-icons'; +const CalendarMonth = bundleIcon(CalendarMonth20Filled, CalendarMonth20Regular); + +export const steps = new Steps() + .snapshot('default', { cropTo: '.testWrapper' }) + .hover('.breadcrumb-sample') + .snapshot('hover', { cropTo: '.testWrapper' }) + .mouseDown('.breadcrumb-sample') + .snapshot('pressed', { cropTo: '.testWrapper' }) + .focus('.breadcrumb-sample') + .snapshot('focused', { cropTo: '.testWrapper' }) + .end(); + +export const SampleBreadcrumbButtons = (props: BreadcrumbProps) => ( + + + }>Item 1 + + + + Item 2 + + + + Item 3 + + +); + +export const SampleBreadcrumbLinks = (props: BreadcrumbProps) => ( + + + }>Item 1 + + + + Item 2 + + + + Item 3 + + +); + +export const SampleBreadcrumbItems = (props: BreadcrumbProps) => ( + + Item 1 + + Item 2 + + Item 3 + +); diff --git a/packages/react-components/react-breadcrumb-preview/stories/Breadcrumb/BreadcrumbWithOverflow.stories.tsx b/packages/react-components/react-breadcrumb-preview/stories/Breadcrumb/BreadcrumbWithOverflow.stories.tsx index 77137c8e8145d2..1de076ba11c707 100644 --- a/packages/react-components/react-breadcrumb-preview/stories/Breadcrumb/BreadcrumbWithOverflow.stories.tsx +++ b/packages/react-components/react-breadcrumb-preview/stories/Breadcrumb/BreadcrumbWithOverflow.stories.tsx @@ -130,7 +130,7 @@ const useExampleStyles = makeStyles({ height: 'fit-content', minWidth: '150px', resize: 'horizontal', - width: '500px', + width: '600px', }, }); diff --git a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbButton/index.stories.tsx b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbButton/index.stories.tsx index fdfba31dd2249e..0cfea8fecaafaa 100644 --- a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbButton/index.stories.tsx +++ b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbButton/index.stories.tsx @@ -6,7 +6,7 @@ import bestPracticesMd from './BreadcrumbButtonBestPractices.md'; export { Default } from './BreadcrumbButtonDefault.stories'; export default { - title: 'Preview Components/BreadcrumbButton', + title: 'Preview Components/Breadcrumb/BreadcrumbButton', component: BreadcrumbButton, parameters: { docs: { diff --git a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbDivider/index.stories.tsx b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbDivider/index.stories.tsx index d82f5dc9b358b5..265a0d0d60b7b0 100644 --- a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbDivider/index.stories.tsx +++ b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbDivider/index.stories.tsx @@ -6,7 +6,7 @@ import bestPracticesMd from './BreadcrumbDividerBestPractices.md'; export { Default } from './BreadcrumbDividerDefault.stories'; export default { - title: 'Preview Components/BreadcrumbDivider', + title: 'Preview Components/Breadcrumb/BreadcrumbDivider', component: BreadcrumbDivider, parameters: { docs: { diff --git a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbItem/index.stories.tsx b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbItem/index.stories.tsx index ba60c08bdda43a..821d0f90768234 100644 --- a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbItem/index.stories.tsx +++ b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbItem/index.stories.tsx @@ -6,7 +6,7 @@ import bestPracticesMd from './BreadcrumbItemBestPractices.md'; export { Default } from './BreadcrumbItemDefault.stories'; export default { - title: 'Preview Components/BreadcrumbItem', + title: 'Preview Components/Breadcrumb/BreadcrumbItem', component: BreadcrumbItem, parameters: { docs: { diff --git a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbLink/BreadcrumbLinkDefault.stories.tsx b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbLink/BreadcrumbLinkDefault.stories.tsx index e60a28c448cf31..6b4e395a9134f5 100644 --- a/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbLink/BreadcrumbLinkDefault.stories.tsx +++ b/packages/react-components/react-breadcrumb-preview/stories/BreadcrumbLink/BreadcrumbLinkDefault.stories.tsx @@ -102,7 +102,7 @@ export const Default = () => { const [appearance, setAppearance] = React.useState('transparent' as BreadcrumbProps['appearance']); return ( <> - +