Skip to content

Commit 7745021

Browse files
Merge pull request #803 from thejackshelton/accordion-multiple
feat: multiple accordion items can be opened on page load in multiple…
2 parents 9ab1fb8 + 83d38ec commit 7745021

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

.changeset/wicked-zoos-beg.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik-ui/headless': patch
3+
---
4+
5+
feat: accordion items can now open without a value using the `open` prop. use only in multiple mode.

apps/website/src/routes/docs/headless/accordion/index.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,5 +267,10 @@ You have custom control over how to render items in the Accordion, allowing for
267267
type: 'boolean',
268268
description: 'When true, the accordion item is disabled.',
269269
},
270+
{
271+
name: 'open',
272+
type: 'boolean',
273+
description: 'Opens the accordion item in multiple mode.',
274+
},
270275
]}
271276
/>

packages/kit-headless/src/components/accordion/accordion-item.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ type AccordionItemProps = PropsOf<typeof HCollapsible> & {
2323
};
2424

2525
export const HAccordionItem = component$(
26-
({ id, _index, value, ...props }: AccordionItemProps & InternalAccordionItemProps) => {
26+
({
27+
id,
28+
_index,
29+
value,
30+
open,
31+
...props
32+
}: AccordionItemProps & InternalAccordionItemProps) => {
2733
const context = useContext(accordionContextId);
2834
const localId = useId();
2935
const itemId = id ?? localId + '-item';
@@ -100,7 +106,8 @@ export const HAccordionItem = component$(
100106
return (
101107
<HCollapsible
102108
triggerRef={triggerRef}
103-
bind:open={isOpenSig}
109+
bind:open={open ? undefined : isOpenSig}
110+
open={context.isMultipleSig.value ? open : undefined}
104111
id={itemId}
105112
disabled={context.disabled || props.disabled}
106113
collapsible={context.collapsible}

0 commit comments

Comments
 (0)