Skip to content

Commit f5ab47b

Browse files
feat(APP-3868): Update Toggle and ToggleGroup components to latest design spec (#586)
1 parent 5fb7eeb commit f5ab47b

4 files changed

Lines changed: 37 additions & 4 deletions

File tree

.changeset/smart-pillows-melt.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@aragon/gov-ui-kit': minor
3+
---
4+
5+
Update Toggle, ToggleGroup to latest design spec

src/core/components/toggles/toggle/toggle.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const Toggle: React.FC<IToggleProps> = (props) => {
2222
const { className, label, value, disabled, ...otherProps } = props;
2323

2424
const toggleClasses = classNames(
25-
'flex h-10 items-center rounded-[40px] border px-4 outline-hidden transition-all cursor-pointer focus-ring-primary', // Default
25+
'flex h-8 md:h-10 items-center rounded-lg md:rounded-xl border px-3 md:px-4 outline-hidden transition-all cursor-pointer focus-ring-primary', // Default
2626
'data-[state=off]:enabled:border-neutral-100 data-[state=off]:enabled:bg-neutral-0 data-[state=off]:enabled:text-neutral-500 data-state-off:enabled:shadow-neutral-sm', // Default state
2727
'data-[state=off]:hover:enabled:border-neutral-200 data-[state=off]:hover:enabled:shadow-neutral', // Default hover state
2828
'data-[state=on]:enabled:border-primary-400 data-[state=on]:enabled:bg-neutral-0 data-[state=on]:enabled:text-primary-400 data-state-on:enabled:shadow-primary-sm', // Active state

src/core/components/toggles/toggleGroup/toggleGroup.stories.tsx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,34 @@ export const SpaceBetween: Story = {
4242
),
4343
};
4444

45+
/**
46+
* Usage of the ToggleGroup component with many toggles showing wrapped behavior.
47+
*/
48+
export const Wrapped: Story = {
49+
render: (props) => (
50+
<ToggleGroup className="w-full" {...props}>
51+
<Toggle value="default" label="Default" />
52+
<Toggle value="optimistic" label="Optimistic" />
53+
<Toggle value="timelock" label="Timelock" />
54+
<Toggle value="active" label="Active" />
55+
<Toggle value="inactive" label="Inactive" />
56+
<Toggle value="pending" label="Pending" />
57+
<Toggle value="red" label="Red" />
58+
<Toggle value="blue" label="Blue" />
59+
<Toggle value="green" label="Green" />
60+
<Toggle value="circle" label="Circle" />
61+
<Toggle value="square" label="Square" />
62+
<Toggle value="triangle" label="Triangle" />
63+
<Toggle value="desktop" label="Desktop" />
64+
<Toggle value="tablet" label="Tablet" />
65+
<Toggle value="mobile" label="Mobile" />
66+
<Toggle value="car" label="Car" />
67+
<Toggle value="train" label="Train" />
68+
<Toggle value="bike" label="Bike" />
69+
</ToggleGroup>
70+
),
71+
};
72+
4573
/**
4674
* Controlled usage example of the ToggleGroup component.
4775
*/

src/core/components/toggles/toggleGroup/toggleGroup.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const ToggleGroup = (props: IToggleGroupProps) => {
4848
...otherProps
4949
} = props;
5050

51-
const classes = classNames(
51+
const toggleGroupClasses = classNames(
5252
'flex flex-wrap',
5353
orientation === 'vertical' ? 'flex-col' : 'flex-row',
5454
{ 'gap-2 md:gap-3': variant === 'fixed' },
@@ -60,7 +60,7 @@ export const ToggleGroup = (props: IToggleGroupProps) => {
6060
return (
6161
<RadixToggleGroup
6262
type="multiple"
63-
className={classes}
63+
className={toggleGroupClasses}
6464
value={value}
6565
onValueChange={onChange}
6666
defaultValue={defaultValue}
@@ -73,7 +73,7 @@ export const ToggleGroup = (props: IToggleGroupProps) => {
7373
return (
7474
<RadixToggleGroup
7575
type="single"
76-
className={classes}
76+
className={toggleGroupClasses}
7777
value={value}
7878
onValueChange={onChange}
7979
defaultValue={defaultValue}

0 commit comments

Comments
 (0)