123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607 |
- /* argus-disable unPkgSensitiveInfo */
- import React, { useState } from 'react';
- import { Button, UserGuide, Toast, Tag, Switch, Space } from '@douyinfe/semi-ui/index';
- export default {
- title: 'UserGuide',
- };
- export const BasicUsage = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- mask={true}
- steps={[
- {
- target: document.querySelector('#step-1'),
- cover: (
- <img
- alt="example"
- height={200}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- {
- target: document.querySelector('#step-3'),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-4'),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- };
- export const PrimaryTheme = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- theme="primary"
- mask={true}
- steps={[
- {
- target: document.querySelector('#step-1'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- {
- target: document.querySelector('#step-3'),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-4'),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- };
- export const HideButtons = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- mask={true}
- showPrevButton={false}
- showSkipButton={false}
- steps={[
- {
- target: document.querySelector('#step-1'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- {
- target: document.querySelector('#step-3'),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-4'),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- };
- export const NoMask = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- theme="primary"
- mask={false}
- steps={[
- {
- target: document.querySelector('#step-1'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- {
- target: document.querySelector('#step-3'),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-4'),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- };
- export const ControlledDemo = () => {
- const [visible, setVisible] = useState(false);
- const [current, setCurrent] = useState(1);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- theme="primary"
- current={current}
- steps={[
- {
- target: document.querySelector('#step-1'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- cover: (
- <img
- alt="example"
- height={200}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- {
- target: document.querySelector('#step-3'),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-4'),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- }
- ]}
- visible={visible}
- onPrev={(current) => {
- console.log('onPrev', current)
- setCurrent(current - 1);
- }}
- onNext={(current) => {
- console.log('onNext', current)
- setCurrent(current + 1);
- }}
- onFinish={(current) => {
- console.log('onFinish', current)
- setVisible(false);
- setCurrent(0);
- console.log('引导完成')
- }}
- onSkip={(current) => {
- console.log('onSkip', current)
- setVisible(false);
- setCurrent(0);
- console.log('引导跳过')
- }}
- onChange={(current) => {
- console.log('onChange', current)
- console.log('changel', current)
- }}
- />
- </div>
- );
- };
- export const ModalMode = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="modal"
- mask={true}
- steps={[
- {
- cover: (
- <img
- alt="example"
- height={'100%'}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo.jpeg"
- />
- ),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- },
- {
- cover: (
- <img
- alt="example"
- height={'100%'}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo2.jpeg"
- />
- ),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- },
- {
- cover: (
- <img
- alt="example"
- height={'100%'}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo2.jpeg"
- />
- ),
- title: "这里是标题3",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- },
- {
- cover: (
- <img
- alt="example"
- height={'100%'}
- width={'100%'}
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/card-cover-docs-demo2.jpeg"
- />
- ),
- title: "这里是标题4",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- };
- export const CustomButton = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- mask={true}
- finishText='开始使用'
- prevButtonProps={{ theme: 'outline', type: 'primary' }}
- steps={[
- {
- target: document.querySelector('#step-1'),
- title: "这里是标题1",
- description: "一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- }
- export const MixedTheme = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- mask={true}
- steps={[
- {
- target: document.querySelector('#step-1'),
- theme: 'primary',
- title: "这里是标题1",
- description: "一些描述文案",
- position: "bottom"
- },
- {
- target: document.querySelector('#step-2'),
- title: "这里是标题2",
- description: "这是第二步的说明一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案一些描述文案",
- position: "right"
- },
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- );
- }
- export const OneStep = () => {
- const [visible, setVisible] = useState(false);
- return (
- <div>
- <Space spacing='medium'>
- <Switch id={'step-1'} defaultChecked={true}/>
- <Button id={'step-2'} type="secondary">次要</Button>
- <Button id={'step-3'} type="tertiary">第三</Button>
- <Button id={'step-4'} type="warning">警告</Button>
- </Space>
- <div style={{ marginTop: '20px' }}>
- <Button onClick={() => setVisible(true)}>显示引导</Button>
- </div>
- <UserGuide
- mode="popup"
- mask={true}
- steps={[
- {
- target: document.querySelector('#step-1'),
- theme: 'primary',
- title: "这里是标题",
- description: "一些描述文案",
- position: "bottom"
- }
- ]}
- visible={visible}
- onFinish={() => {
- setVisible(false);
- console.log('引导完成')
- }}
- onSkip={() => {
- setVisible(false);
- console.log('引导跳过')
- }}
- />
- </div>
- )
- }
|