Clean up Toggles storybook

This commit is contained in:
Eric Bailey
2024-01-17 14:09:59 -06:00
parent 9a22c39d2b
commit d3d329dc50
2 changed files with 42 additions and 42 deletions
+4 -6
View File
@@ -1,5 +1,5 @@
import React from 'react' import React from 'react'
import {Pressable, PressableProps, View, ViewStyle} from 'react-native' import {Pressable, View, ViewStyle} from 'react-native'
import {useTheme, atoms as a, web} from '#/alf' import {useTheme, atoms as a, web} from '#/alf'
import {Text} from '#/components/Typography' import {Text} from '#/components/Typography'
@@ -48,14 +48,12 @@ export type GroupProps = React.PropsWithChildren<{
label: string label: string
}> }>
export type ItemProps = Omit< export type ItemProps = {
PressableProps,
'children' | 'style' | 'onPress' | 'role'
> & {
type?: 'radio' | 'checkbox' type?: 'radio' | 'checkbox'
name: string name: string
label: string label: string
value?: boolean value?: boolean
disabled?: boolean
onChange?: (selected: boolean) => void onChange?: (selected: boolean) => void
hasError?: boolean hasError?: boolean
style?: (state: ItemState) => ViewStyle style?: (state: ItemState) => ViewStyle
@@ -314,7 +312,7 @@ function createSharedToggleStyles({
return { return {
baseStyles: base, baseStyles: base,
baseHoverStyles: baseHover, baseHoverStyles: disabled ? [] : baseHover,
indicatorStyles: indicator, indicatorStyles: indicator,
} }
} }
+38 -36
View File
@@ -12,7 +12,9 @@ import ToggleButton from '#/components/forms/ToggleButton'
import {Button} from '#/components/Button' import {Button} from '#/components/Button'
export function Forms() { export function Forms() {
const [toggleGroupValues, setToggleGroupValues] = React.useState(['a']) const [toggleGroupAValues, setToggleGroupAValues] = React.useState(['a'])
const [toggleGroupBValues, setToggleGroupBValues] = React.useState(['a', 'b'])
const [toggleGroupCValues, setToggleGroupCValues] = React.useState(['a', 'b'])
return ( return (
<View style={[a.gap_4xl, a.align_start]}> <View style={[a.gap_4xl, a.align_start]}>
@@ -137,38 +139,8 @@ export function Forms() {
label="Toggle" label="Toggle"
type="checkbox" type="checkbox"
maxSelections={2} maxSelections={2}
values={['a', 'b']} values={toggleGroupAValues}
onChange={e => console.log(e)}> onChange={setToggleGroupAValues}>
<View style={[a.gap_md]}>
<Toggle.Item name="a" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="b" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="c" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="d" disabled label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="e" hasError label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
</View>
</Toggle.Group>
<Toggle.Group
label="Toggle"
type="checkbox"
maxSelections={2}
values={toggleGroupValues}
onChange={setToggleGroupValues}>
<View style={[a.gap_md]}> <View style={[a.gap_md]}>
<Toggle.Item name="a" label="Click me"> <Toggle.Item name="a" label="Click me">
<Toggle.Switch /> <Toggle.Switch />
@@ -197,17 +169,47 @@ export function Forms() {
size="small" size="small"
accessibilityLabel="Reset" accessibilityLabel="Reset"
accessibilityHint="Reset" accessibilityHint="Reset"
onPress={() => setToggleGroupValues(['a'])}> onPress={() => setToggleGroupAValues(['a'])}>
Reset Reset
</Button> </Button>
</View> </View>
</Toggle.Group> </Toggle.Group>
<Toggle.Group
label="Toggle"
type="checkbox"
maxSelections={2}
values={toggleGroupBValues}
onChange={setToggleGroupBValues}>
<View style={[a.gap_md]}>
<Toggle.Item name="a" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="b" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="c" label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="d" disabled label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
<Toggle.Item name="e" hasError label="Click me">
<Toggle.Checkbox />
<Toggle.Label>Click me</Toggle.Label>
</Toggle.Item>
</View>
</Toggle.Group>
<Toggle.Group <Toggle.Group
label="Toggle" label="Toggle"
type="radio" type="radio"
values={['a']} values={toggleGroupCValues}
onChange={e => console.log(e)}> onChange={setToggleGroupCValues}>
<View style={[a.gap_md]}> <View style={[a.gap_md]}>
<Toggle.Item name="a" label="Click me"> <Toggle.Item name="a" label="Click me">
<Toggle.Radio /> <Toggle.Radio />