@solid-reach/disclosure
Version:
A disclosure component
30 lines (29 loc) • 1.1 kB
TypeScript
import { JSX, Component, Accessor } from "solid-js";
type DisclosureProps = {
children: JSX.Element;
defaultOpen?: boolean;
onChange?(): void;
open?: boolean;
id?: string;
};
declare function Disclosure(props: DisclosureProps): JSX.Element;
type DisclosureButtonProps = {
children: JSX.Element;
ref?: HTMLElement | ((el: HTMLElement) => void) | undefined;
as?: Component | string;
} & JSX.ButtonHTMLAttributes<HTMLButtonElement>;
declare function DisclosureButton(props: DisclosureButtonProps): JSX.Element;
type DisclosurePanelProps = {
children: JSX.Element;
ref?: HTMLElement | ((el: HTMLElement) => void) | undefined;
as?: Component | string;
} & JSX.HTMLAttributes<HTMLDivElement>;
declare function DisclosurePanel(props: DisclosurePanelProps): JSX.Element;
type DisclosureContextValue = {
disclosureId: Accessor<string>;
onSelect(): void;
open: Accessor<boolean>;
panelId: Accessor<string>;
};
declare function useDisclosureContext(): DisclosureContextValue;
export { Disclosure, DisclosureButton, DisclosurePanel, useDisclosureContext };