yarn add @vtex/disclosure
Rendering one disclosure:
<DisclosureLayout>
<DisclosureTrigger>Trigger</DisclosureTrigger>
<DisclosureContent>Content</DisclosureContent>
</DisclosureLayout>
Rendering multiple disclosures:
<DisclosureLayoutGroup>
<DisclosureLayout>
<DisclosureTrigger>Trigger 1</DisclosureTrigger>
<DisclosureContent>Content 1</DisclosureContent>
</DisclosureLayout>
<DisclosureLayout>
<DisclosureTrigger>Trigger 2</DisclosureTrigger>
<DisclosureContent>Content 2</DisclosureContent>
</DisclosureLayout>
<DisclosureLayout>
<DisclosureTrigger>Trigger 3</DisclosureTrigger>
<DisclosureContent>Content 3</DisclosureContent>
</DisclosureLayout>
<DisclosureTriggerGroup>Trigger Group</DisclosureTriggerGroup>
</DisclosureLayoutGroup>
Run the project's Storybook for a full list of examples with yarn storybook
.
Prop Name | Type | Description | Default value |
---|---|---|---|
show | ReactNode | This prop will be rendered when prompt to show the content | undefined |
hide | ReactNode | This prop will be rendered when prompt to hide the content | undefined |
as | any | Use this to render a different HTML tag | button |
htmlProps | HTMLProps | Use this to pass any props to the HTML element | undefined |
children | ReactNode | This prop will be rendered if no show or hide is set |
undefined |
Prop Name | Type | Description | Default value |
---|---|---|---|
as | any | Use this to render a different HTML tag | button |
htmlProps | HTMLProps | Use this to pass any props to the wrapping HTML element | undefined |
children | ReactNode | This prop is the content of the disclosure | undefined |
Prop Name | Type | Description | Default value |
---|---|---|---|
initialVisibility | enum |
visible to have it's content initially open, or hidden to be hidden. |
hidden |
animated | boolean or number |
To perform animations, you must set this to true . It'll enable additional data-* attributes on it's content which you can use as selectors in CSS. It will also ensure that the element will only get hidden when the transition has ended. |
false |
Prop Name | Type | Description | Default value |
---|---|---|---|
maxVisible | enum |
Possible values one it will render only one DisclosureLayout content per group, or many multiple DisclosureLayout 's content can be rendered. |
one |
Prop Name | Type | Description | Default value |
---|---|---|---|
show | ReactNode | This prop will be rendered when prompt to show the content | undefined |
hide | ReactNode | This prop will be rendered when prompt to hide the content | undefined |
as | any | Use this to render a different HTML tag | button |
htmlProps | HTMLProps | Use this to pass any props to the HTML element | undefined |
children | ReactNode | This prop will be rendered if no show or hide is set |
undefined |
Prop Name | Type | Description | Default value |
---|---|---|---|
show | ReactNode | This prop will be rendered when prompt to show the content | undefined |
hide | ReactNode | This prop will be rendered when prompt to hide the content | undefined |