import { OverrideComponentProps } from "@kobalte/utils"; import type { ValidComponent } from "solid-js"; import { type CollapsibleDataSet, useCollapsibleContext, } from "../collapsible/collapsible-context"; import { type ElementOf, Polymorphic, type PolymorphicProps, } from "../polymorphic"; export interface AccordionHeaderOptions {} export interface AccordionHeaderCommonProps< T extends HTMLElement = HTMLElement, > {} export interface AccordionHeaderRenderProps extends AccordionHeaderCommonProps, CollapsibleDataSet {} export type AccordionHeaderProps< T extends ValidComponent | HTMLElement = HTMLElement, > = AccordionHeaderOptions & Partial>>; /** * Wraps an `Accordion.Trigger`. * Use the `as` prop to update it to the appropriate heading level for your page. */ export function AccordionHeader( props: PolymorphicProps>, ) { // `Accordion.Item` is a `Collapsible.Root`. const context = useCollapsibleContext(); return ( as="h3" {...context.dataset()} {...props} /> ); }