Skip to content

Commit

Permalink
Merge pull request #910 from buildo/disclosure-fix-controlled
Browse files Browse the repository at this point in the history
[Disclosure] fix controlled mode
  • Loading branch information
veej authored Sep 26, 2024
2 parents 74d47c0 + 4f55fb1 commit 87c49e3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion packages/bento-design-system/src/Disclosure/Disclosure.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export function Disclosure({
const config = useBentoConfig().disclosure;
const iconPosition = iconPosition_ ?? config.defaultIconPosition;

const [internalIsOpen, setInternalIsOpen] = useState(isOpen ?? initialIsOpen);
const [internalIsOpen, setInternalIsOpen] = useState(initialIsOpen);
const open = internalIsOpen ?? isOpen;
const onPress = onToggle ? () => onToggle(!isOpen) : () => setInternalIsOpen(!internalIsOpen);
const { pressProps } = usePress({ onPress });
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Card, Disclosure, Placeholder } from "..";
import { Card, Chip, Disclosure, Placeholder, Stack } from "..";
import { Meta, StoryObj } from "@storybook/react";
import { useState } from "react";

const meta = {
component: Disclosure,
Expand Down Expand Up @@ -42,3 +43,26 @@ export const InCard = {
),
],
} satisfies Story;

export const Controlled = {
decorators: [
(Story) => {
const [open, setOpen] = useState(true);

return (
<Stack space={16}>
<Chip label={open ? "open" : "closed"} color="pink" />
<Disclosure title="Title" isOpen={open} onToggle={setOpen}>
<Placeholder />
</Disclosure>
</Stack>
);
},
],
} satisfies Story;

export const InitialOpen = {
args: {
initialIsOpen: true,
},
} satisfies Story;

0 comments on commit 87c49e3

Please sign in to comment.