UNPKG

@wix/design-system

Version:

@wix/design-system

197 lines (174 loc) 4.67 kB
## Feature Examples ### Structure - description: Create timeline content by using `items` prop. Each item has props to control `label`, `width`, `icon` and `state`. - example: ```jsx <HorizontalTimeline items={[ { label: 'Item 1' }, { label: 'Item 2' }, { label: 'Item 3' }, ]} /> ``` ### Align Label - description: Control text horizontal alignment with alignLabel prop. It has two options:<br/> &emsp;- center (default) - use it in all common cases. <br/> &emsp;- start - use it to align text to the left. <br/> - example: ```jsx <StorybookComponents.Stack flexDirection="column"> <HorizontalTimeline items={[ { label: 'Center', icon: <HorizontalTimeline.DefaultIcon /> }, { label: 'Center', icon: <HorizontalTimeline.DefaultIcon /> }, ]} /> <HorizontalTimeline alignLabel="start" items={[ { label: 'Start', icon: <HorizontalTimeline.DefaultIcon /> }, { label: 'Start', icon: <HorizontalTimeline.DefaultIcon /> }, ]} /> </StorybookComponents.Stack> ``` ### Skin - description: Control the style with skin prop. It supports 2 options:<br/> &emsp;- dark (default) - use it on colored backgrounds, for example inside SectionHelper.<br/> &emsp;- standard - use it on light backgrounds, for example inside a card.<br/> - example: ```jsx <StorybookComponents.Stack flexDirection="column"> <HorizontalTimeline skin='dark' items={[ { label: 'Completed', line: 'filled', icon: <HorizontalTimeline.CompleteIcon />, }, { label: 'Active', line: 'filled', icon: <HorizontalTimeline.ActiveIcon /> }, { label: 'Upcoming', icon: <HorizontalTimeline.DefaultIcon /> }, ]} /> <HorizontalTimeline skin='standard' items={[ { label: 'Completed', line: 'filled', icon: <HorizontalTimeline.CompleteIcon skin='standard' />, }, { label: 'Active', line: 'filled', icon: <HorizontalTimeline.ActiveIcon skin='standard' /> }, { label: 'Upcoming', icon: <HorizontalTimeline.DefaultIcon skin='standard' /> }, ]} /> </StorybookComponents.Stack>; ``` ### Line Type - description: Control the line type with line prop. It supports 2 options:<br/> &emsp;- dashed (default) - use it on colored backgrounds, for example inside SectionHelper.<br/> &emsp;- filled - use it to show that this timeline is past.<br/> - example: ```jsx <HorizontalTimeline items={[ { label: 'Item 1', line: 'filled' }, { label: 'Item 2', line: 'filled' }, { label: 'Item 3', line: 'filled' }, { label: 'Item 4' }, { label: 'Item 5' }, ]} /> ``` ### Item Icons - description: Specify item status by using icon prop for items:<br/> &emsp;- DefaultIcon - indicates incomplete steps.<br/> &emsp;- ActiveIcon - highlights currently active step.<br/> &emsp;- CompleteIcon - indicates complete steps.<br/> &emsp;- DestructiveIcon - indicates a step that failed to complete.<br/> &emsp;- BoundaryIcon - indicates a milestone that doesn’t have status, but should be reflected in the timeline.<br/> - example: ```jsx <HorizontalTimeline items={[ { label: 'Item 1', icon: <HorizontalTimeline.BoundaryIcon />, }, { label: 'Item 2', icon: <HorizontalTimeline.ActiveIcon />, }, { label: 'Item 3', icon: <HorizontalTimeline.CompleteIcon />, }, { label: 'Item 4', icon: <HorizontalTimeline.DestructiveIcon />, }, { label: 'Item 5', icon: <HorizontalTimeline.DefaultIcon />, }, ]} /> ``` ## Common Use Case Examples ### Connect Domain - description: One of the applications where this component is helpful it shows the status of domain connection that was requested by a user. - example: ```jsx <HorizontalTimeline items={[ { label: 'You completed the steps', line: 'filled', icon: <HorizontalTimeline.CompleteIcon />, }, { label: "We're checking your domain", line: 'filled', icon: <HorizontalTimeline.ActiveIcon />, }, { label: 'Your domain is connecting', }, { label: 'Your site is live worldwide', }, ]} />; ```