diff options
| author | Haishan <[email protected]> | 2020-10-31 18:18:04 +0800 |
|---|---|---|
| committer | Haishan <[email protected]> | 2020-11-01 17:42:52 +0800 |
| commit | ff1a39d04e53b428e34d46c55ecd6689189b5443 (patch) | |
| tree | 94a60abe3d28a1d729b877356bdd38d75ce655a5 /src/components/StyleGuide.tsx | |
| parent | e62c9165481ef12ee2310dee1c32f890b3fe4b78 (diff) | |
chore: run ts-migrate
Diffstat (limited to 'src/components/StyleGuide.tsx')
| -rw-r--r-- | src/components/StyleGuide.tsx | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/components/StyleGuide.tsx b/src/components/StyleGuide.tsx new file mode 100644 index 0000000..99c8bb0 --- /dev/null +++ b/src/components/StyleGuide.tsx @@ -0,0 +1,86 @@ +import React, { PureComponent } from 'react'; +import { Zap } from 'react-feather'; + +import Button from './Button'; +import Input from './Input'; +import { LoadingDot } from './shared/Basic'; +import SwitchThemed from './SwitchThemed'; +import ToggleSwitch from './ToggleSwitch'; + +const noop = () => { + /* empty */ +}; + +const paneStyle = { + padding: '20px 0', +}; + +const optionsRule = [ + { + label: 'Global', + value: 'Global', + }, + { + label: 'Rule', + value: 'Rule', + }, + { + label: 'Direct', + value: 'Direct', + }, +]; + +const Pane = ({ children, style }) => ( + <div style={{ ...paneStyle, ...style }}>{children}</div> +); + +function useToggle(initialState = false) { + const [onoff, setonoff] = React.useState(initialState); + const handleChange = React.useCallback(() => { + setonoff((x) => !x); + }, []); + return [onoff, handleChange]; +} + +function SwitchExample() { + const [checked, handleChange] = useToggle(false); + return <SwitchThemed checked={checked} onChange={handleChange} />; +} + +class StyleGuide extends PureComponent { + render() { + return ( + <div> + {/* @ts-expect-error ts-migrate(2741) FIXME: Property 'style' is missing in type '{ children: E... Remove this comment to see the full error message */} + <Pane> + <SwitchExample /> + </Pane> + {/* @ts-expect-error ts-migrate(2741) FIXME: Property 'style' is missing in type '{ children: E... Remove this comment to see the full error message */} + <Pane> + <Input /> + </Pane> + {/* @ts-expect-error ts-migrate(2741) FIXME: Property 'style' is missing in type '{ children: E... Remove this comment to see the full error message */} + <Pane> + <ToggleSwitch + name="test" + options={optionsRule} + value="Rule" + onChange={noop} + /> + </Pane> + {/* @ts-expect-error ts-migrate(2741) FIXME: Property 'style' is missing in type '{ children: E... Remove this comment to see the full error message */} + <Pane> + <Button text="Test Lxatency" start={<Zap size={16} />} /> + <Button text="Test Lxatency" start={<Zap size={16} />} isLoading /> + <Button label="Test Lxatency" /> + <Button label="Button Plain" kind="minimal" /> + </Pane> + <Pane style={{ paddingLeft: 20 }}> + <LoadingDot /> + </Pane> + </div> + ); + } +} + +export default StyleGuide; |
