Skip to content Body text lorem ipsum dolor sit amet Body text lorem ipsum dolor sit amet CSS Components Web Components
Body text lorem ipsum dolor sit amet Body text lorem ipsum dolor sit amet
Accordion
Accordions are interactive lists of headings that reveal additional content through progressive disclosure. They allow to organize larger amounts of information in an effective way, by removing excessive scrolling for users scanning content. However, no vital information should be buried within a collapsed section. This makes the high-level labeling of each item imperative to the component's success in allowing users to browse and discover meaningful information.
UX/UI Guidelines
Check the design documentation of the component in ZeroHeight.
Implementations
The component Accordion
is available in the following technologies:
Parameters
Parameters
Parameters are the attributes that can be used to customize the component when using it in a project. They apply to the WebComponents implementation and wrappers and to the Vue and React CSS implementations. Some parameters names change between the implementations, in order to follow the conventions of each technology and framework.
For example, the param model
is named ngModel
in Angular, modelValue
in Vue, but stays as model
in React.
By default, all the parameters are optional or can be set in different, except for the ones marked as required
The parametrization of the component can be done with the following custom params or properties:
Name | Type | Slot | Description |
---|---|---|---|
config | string | Sets the size of the accordion item. Default is | |
summary | string | ✅ | The title of the accordion item |
open | boolean | If the accordion item is open or closed | |
borderless | boolean | Render the accordion component without separation border. | |
content | string | ✅ | The content of the accordion item |
custom | object | A record of key-value pairs to set the CSS custom tokens. It's a complex attribute set as an JS object in stringified JSON format. Example: html
Check the available values in the customization section. | |
custom-str | string | The stringified version of the Example: html
| |
z-theme | string | Sets the theme of the component. The possible values are html
|
From Figma to code
You can check the Figma implementation here. The available properties are:
- Type (
select
) - Behavior (
select
) - State (
select
) - Title (
text
)
With the nested instances:
- Content
Customization
INFO
Check everything about the customization mechanics in the "How it works" documentation.
CSS Variable | Type | Description |
---|---|---|
--z-accordion--border-color | color | Color of the border |
--z-accordion--color | color | Color of the main description text |
--z-accordion--radius | distance | Border radius of the accordion item |
--z-accordion--summary-color | color | Color of the summary text |
--z-accordion--summary-padding | distance | Padding of the summary text |
--z-accordion--summary-margin | distance | Margin of the summary text |
--z-accordion--summary-font | font | Font of the summary text |
--z-accordion--width | distance | Width of the accordion item |
--z-accordion--outline | distance | Outline of the accordion item |
The z-accordion
component is highly customizable.
You can change the border color & radius using the --z-accordion-border-color
and --z-accordion-border-radius
custom properties.
Also, the summary color, padding, margin and font can be customized using the --z-accordion-summary-color
, --z-accordion-summary-padding
, --z-accordion-summary-margin
and --z-accordion-summary-font
custom properties.
Finally, the color of the body, width and outline can be customized using the --z-accordion--color
, --z-accordion--width
and --z-accordion--outline
custom properties.
Accessibility
...