Skip to content

Commit 823acf6

Browse files
Merge pull request #375 from thejackshelton/accordion-improvements
Accordion improvements
2 parents 5eee509 + 669863e commit 823acf6

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

apps/website/src/routes/docs/headless/(components)/accordion/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ Any disabled elements will be skipped over when using tab or the `Up Arrow` and
343343

344344
<DefaultValueAccordion>
345345
```tsx
346-
<AccordionRoot class="accordion-wrapper" animate>
346+
<AccordionRoot class="accordion-wrapper">
347347
<AccordionItem>
348348
<AccordionHeader>
349349
<AccordionTrigger class="accordion-trigger">
@@ -398,7 +398,7 @@ You can make the accordion items uncontrolled by adding the **defaultValue** pro
398398

399399
<PolymorphicHeadingAccordion>
400400
```tsx
401-
<AccordionRoot class="accordion-wrapper" animate>
401+
<AccordionRoot class="accordion-wrapper">
402402
<AccordionItem>
403403
<AccordionHeader as="h4">
404404
<AccordionTrigger class="accordion-trigger">

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

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,24 @@ export const AccordionTrigger = component$(
4444
const contentId = `${itemContext.itemId}-content`;
4545

4646
const selectedTriggerIdSig = contextService.selectedTriggerIdSig;
47+
const isTriggerExpandedSig = itemContext.isTriggerExpandedSig;
48+
49+
/* The consumer can use these two signals. */
4750
const currFocusedTriggerIndexSig = contextService.currFocusedTriggerIndexSig;
4851
const currSelectedTriggerIndexSig = contextService.currSelectedTriggerIndexSig;
4952

50-
const isTriggerExpandedSig = itemContext.isTriggerExpandedSig;
51-
5253
const setSelectedTriggerIndexSig$ = $(() => {
5354
if (behavior === 'single' && triggerElement) {
5455
currSelectedTriggerIndexSig.value = triggerStore.indexOf(triggerElement);
5556
}
5657
});
5758

59+
const setCurrFocusedIndexSig$ = $(() => {
60+
if (triggerElement) {
61+
currFocusedTriggerIndexSig.value = triggerStore.indexOf(triggerElement);
62+
}
63+
});
64+
5865
useTask$(function resetTriggersTask({ track }) {
5966
track(() => selectedTriggerIdSig.value);
6067

@@ -138,11 +145,7 @@ export const AccordionTrigger = component$(
138145
}),
139146
props.onKeyDown$
140147
]}
141-
onFocus$={() => {
142-
if (triggerElement) {
143-
currFocusedTriggerIndexSig.value = triggerStore.indexOf(triggerElement);
144-
}
145-
}}
148+
onFocus$={[setCurrFocusedIndexSig$, props.onFocus$]}
146149
{...props}
147150
>
148151
<Slot />

0 commit comments

Comments
 (0)