| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 |
- import React, { useState } from 'react';
- import SideSheet from '../index';
- import { Select, Button, Tooltip, RadioGroup, Radio } from '../../index';
- export default {
- title: 'SideSheet',
- parameters: {
- chromatic: { disableSnapshot: true },
- },
- }
- const BasicSide = props => {
- const [visible, setVisible] = useState(false);
- const handleCancel = e => {
- console.log('cancelling');
- setVisible(false);
- };
- return (
- <React.Fragment>
- <Button onClick={() => setVisible(true)}>show sideSheet</Button>
- <SideSheet visible={visible} onCancel={handleCancel}>
- 12333
- </SideSheet>
- </React.Fragment>
- );
- };
- export const SideSheetLeft = () => <BasicSide />;
- SideSheetLeft.story = {
- name: 'side sheet left',
- };
- const PosBasicSide = props => {
- const [visible, setVisible] = useState(false);
- const handleCancel = e => {
- setVisible(false);
- };
- return (
- <React.Fragment>
- <Button onClick={() => setVisible(true)}>show sideSheet</Button>
- <SideSheet visible={visible} placement={'bottom'} onCancel={handleCancel}>
- 12333
- </SideSheet>
- </React.Fragment>
- );
- };
- export const _SideSheet = () => <PosBasicSide />;
- _SideSheet.story = {
- name: 'side sheet',
- };
- const SideMask = props => {
- const [visible, setVisible] = useState(false);
- const handleCancel = e => {
- setVisible(false);
- };
- return (
- <React.Fragment>
- <Button onClick={() => setVisible(true)}>show sideSheet</Button>
- <SideSheet
- visible={visible}
- placement={'bottom'}
- onCancel={handleCancel}
- maskClosable={false}
- >
- 12333
- </SideSheet>
- </React.Fragment>
- );
- };
- export const SideSheetMask = () => <SideMask />;
- SideSheetMask.story = {
- name: 'side sheet mask',
- };
- const Test2 = () => {
- const [visible, setVisible] = useState(false);
- const [visible2, setVisible2] = useState(false);
- const handleCancel = e => {
- setVisible(false);
- };
- const handleCancel2 = e => {
- setVisible2(false);
- };
- return (
- <>
- <Button onClick={() => setVisible(true)}> show sideSheet </Button>
- <SideSheet visible={visible} placement={'bottom'} onCancel={handleCancel}>
- <Button onClick={() => setVisible2(true)}>show sideSheet2 </Button>
- <SideSheet
- visible={visible2}
- placement={'bottom'}
- onCancel={handleCancel2}
- height="200px"
- />
- </SideSheet>
- </>
- );
- };
- export const SidesheetInSidesheet = () => <Test2 />;
- SidesheetInSidesheet.story = {
- name: 'sidesheet in sidesheet',
- };
- const Blocking = () => {
- const [visible, setVisible] = useState(false);
- const [placement, setPlacement] = useState('right');
- const handleCancel = e => {
- setVisible(false);
- };
- const show = () => {
- setVisible(true);
- };
- const onSelect = e => {
- setPlacement(e.target.value);
- };
- return (
- <>
- <RadioGroup onChange={e => onSelect(e)} value={placement}>
- <Radio value={'right'}>right</Radio>
- <Radio value={'left'}>left</Radio>
- <Radio value={'top'}>top</Radio>
- <Radio value={'bottom'}>bottom</Radio>
- </RadioGroup>
- <p>
- jklasjdkfljaskljdfklajksdljfkl;ajklsdjfk;lajksldjfklajskdlfjajsdlf;jaklsjdfkljaklsdjflajsdfjakljsdkl;fja;sd
- </p>
- <br />
- <br />
- <Button onClick={() => show()}>Open SideSheet</Button>
- <SideSheet
- title="自定义位置的侧边栏"
- visible={visible}
- placement={placement}
- onCancel={() => handleCancel()}
- mask={false}
- >
- <p>This is the content of a basic sidesheet.</p>
- <p>Here is more content...</p>
- </SideSheet>
- </>
- );
- };
- export const SidesheetNonBlocking = () => <Blocking />;
- SidesheetNonBlocking.story = {
- name: 'sidesheet non-blocking',
- };
- const Popup = () => {
- const [visible, setVisible] = useState(false);
- const [placement, setPlacement] = useState('right');
- const handleCancel = e => {
- setVisible(false);
- };
- const onSelect = e => {
- setPlacement(e.target.value);
- };
- return (
- <div
- style={{
- height: 200,
- overflow: 'hidden',
- position: 'relative',
- border: '1px solid #ebedf0',
- borderRadius: 2,
- padding: 48,
- textAlign: 'center',
- background: '#fafafa',
- }}
- className="sidesheet-container"
- >
- Render in this
- <div style={{ marginTop: 16 }}>
- <Button onClick={() => setVisible(true)}> show sideSheet </Button>
- <RadioGroup onChange={e => onSelect(e)} value={placement}>
- <Radio value={'right'}>right</Radio>
- <Radio value={'left'}>left</Radio>
- <Radio value={'top'}>top</Radio>
- <Radio value={'bottom'}>bottom</Radio>
- </RadioGroup>
- </div>
- <SideSheet
- visible={visible}
- title="sideSheet"
- height="100px"
- onCancel={handleCancel}
- placement={placement}
- getPopupContainer={() => document.querySelector('.sidesheet-container')}
- >
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- </SideSheet>
- </div>
- );
- };
- export const SidesheetGetpopupcontanier = () => <Popup />;
- SidesheetGetpopupcontanier.story = {
- name: 'sidesheet getpopupcontanier',
- };
- const Combox = () => {
- const [visible, setVisible] = useState(false);
- const [placement, setPlacement] = useState('right');
- const handleCancel = e => {
- setVisible(false);
- };
- const onSelect = e => {
- setPlacement(e.target.value);
- };
- return (
- <div
- style={{
- height: 200,
- overflow: 'hidden',
- position: 'relative',
- border: '1px solid #ebedf0',
- borderRadius: 2,
- padding: 48,
- textAlign: 'center',
- background: '#fafafa',
- }}
- className="sidesheet-container"
- >
- Render in this
- <div style={{ marginTop: 16 }}>
- <Button onClick={() => setVisible(true)}> show sideSheet </Button>
- <RadioGroup onChange={e => onSelect(e)} value={placement}>
- <Radio value={'right'}>right</Radio>
- <Radio value={'left'}>left</Radio>
- <Radio value={'top'}>top</Radio>
- <Radio value={'bottom'}>bottom</Radio>
- </RadioGroup>
- </div>
- <SideSheet
- visible={visible}
- title="sideSheet"
- height="100px"
- onCancel={handleCancel}
- placement={placement}
- mask={false}
- bodyStyle={{ overflow: 'auto', height: 200 }}
- getPopupContainer={() => document.querySelector('.sidesheet-container')}
- >
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- </SideSheet>
- </div>
- );
- };
- export const SidesheetGetpopupcontanierAndNonBlocking = () => <Combox />;
- SidesheetGetpopupcontanierAndNonBlocking.story = {
- name: 'sidesheet getpopupcontanier and non-blocking',
- };
- const WithFooter = () => {
- const [visible, setVisible] = useState(false);
- const handleCancel = e => {
- setVisible(false);
- };
- const show = () => {
- setVisible(true);
- };
- return (
- <div>
- <Button onClick={() => show()}>Open SideSheet</Button>
- <SideSheet
- visible={visible}
- title="sideSheet"
- footer={<div>1234</div>}
- placement={'right'}
- onCancel={handleCancel}
- // bodyStyle={{ overflow: 'auto', height: 200 }}
- >
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- </SideSheet>
- </div>
- );
- };
- export const _WithFooter = () => <WithFooter />;
- _WithFooter.story = {
- name: 'WithFooter',
- };
- const MaskFalseDemo = () => {
- const [visible, setVisible] = useState(false);
- const handleCancel = e => {
- setVisible(false);
- };
- const show = () => {
- setVisible(true);
- };
- return (
- <div>
- <Button onClick={() => show()}>Open SideSheet</Button>
- <SideSheet
- mask={false}
- width="90%"
- visible={visible}
- placement={'right'}
- onCancel={handleCancel}
- >
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- <p>Some contents...</p>
- </SideSheet>
- </div>
- );
- };
- export const WidthPercentMaskFalse = () => <MaskFalseDemo />;
- WidthPercentMaskFalse.story = {
- name: 'width percent & mask=false',
- };
|