- Name
parts- Kind
- property
- Type
readonly ["root", "trigger", "content"]- Requirement
- required
DocsAPI referenceHeadlesscollapsible
collapsible headless API
The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.
@grassroot/ui-headless-core/collapsible
Core connector and vanilla API
collapsibleAnatomy
valueexport declare const collapsibleAnatomy: { readonly scope: "collapsible"; readonly parts: readonly ["root", "trigger", "content"];};partsreadonly ["root", "trigger", "content"]scope"collapsible"- Name
scope- Kind
- property
- Type
"collapsible"- Requirement
- required
CollapsibleApi
interfaceinterface CollapsibleApi { rootProps(): PartProps; triggerProps(): PartProps; contentProps(): PartProps; readonly open: boolean;}contentProps() => PartPropsopenbooleanrootProps() => PartPropstriggerProps() => PartProps- Name
contentProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
rootProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
triggerProps- Kind
- method
- Type
() => PartProps- Requirement
- required
CollapsibleChangeDetail
interfaceinterface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
type CollapsibleChangeReason = "pointer" | "keyboard" | "programmatic";CollapsibleCommand
typetype CollapsibleCommand = CommandObject & { readonly type: "OPEN_CHANGE_REQUEST"; readonly open: boolean; readonly reason: CollapsibleChangeReason;};openbooleanreasonCollapsibleChangeReasontypestring- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
- Name
type- Kind
- property
- Type
string- Requirement
- required
CollapsibleContext
typetype CollapsibleContext = { readonly mode: "controlled" | "uncontrolled";};mode"controlled" | "uncontrolled"- Name
mode- Kind
- property
- Type
"controlled" | "uncontrolled"- Requirement
- required
CollapsibleEvent
typetype CollapsibleEvent = { readonly type: "TOGGLE"; readonly reason: CollapsibleChangeReason;} | { readonly type: "RESET";};CollapsibleInput
typetype CollapsibleInput = { /** Controlled committed open state. Defining it fixes controlled mode. */ readonly open?: boolean; /** Uncontrolled initial open state. */ readonly defaultOpen?: boolean; /** Disabled prevents user toggles. */ readonly disabled?: boolean;};defaultOpenbooleandisabledbooleanopenboolean- Name
defaultOpen- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- Uncontrolled initial open state.
- Name
disabled- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- Disabled prevents user toggles.
- Name
open- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- Controlled committed open state. Defining it fixes controlled mode.
collapsibleMachine
valueexport declare const collapsibleMachine: CollapsibleMachine;CollapsibleMount
interfaceinterface CollapsibleMount { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly root: HTMLElement; destroy(): void;}connectorCollapsibleApidestroy() => voidrootHTMLElementserviceCollapsibleService- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
root- Kind
- property
- Type
HTMLElement- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
CollapsiblePart
typetype CollapsiblePart = (typeof collapsibleAnatomy.parts)[number];collapsibleSelectors
valueexport declare const collapsibleSelectors: { open: (snapshot: CollapsibleSnapshot) => boolean;};open(snapshot: CollapsibleSnapshot) => boolean- Name
open- Kind
- property
- Type
(snapshot: CollapsibleSnapshot) => boolean- Requirement
- required
CollapsibleService
typetype CollapsibleService = Service<CollapsibleInput, CollapsibleStateValue, CollapsibleContext, CollapsibleEvent, CollapsibleCommand>;CollapsibleSnapshot
typetype CollapsibleSnapshot = Snapshot<CollapsibleStateValue, CollapsibleContext>;type CollapsibleStateValue = "open" | "closed";connectCollapsible
functiondeclare function connectCollapsible(service: CollapsibleService, scope: PartScope): CollapsibleApi;serviceCollapsibleServicescopePartScopereturnCollapsibleApi- Name
service- Kind
- parameter
- Type
CollapsibleService- Requirement
- required
- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleApi- Requirement
- n/a
mountCollapsible
functiondeclare function mountCollapsible(container: HTMLElement, options: MountCollapsibleOptions): CollapsibleMount;containerHTMLElementoptionsMountCollapsibleOptionsreturnCollapsibleMount- Name
container- Kind
- parameter
- Type
HTMLElement- Requirement
- required
- Name
options- Kind
- parameter
- Type
MountCollapsibleOptions- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleMount- Requirement
- n/a
MountCollapsibleOptions
interfaceinterface MountCollapsibleOptions extends CollapsibleInput { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void; readonly renderTrigger?: (button: HTMLElement) => void; readonly renderContent?: (content: HTMLElement) => void;}onOpenChange(detail: CollapsibleChangeDetail) => voidrenderContent(content: HTMLElement) => voidrenderTrigger(button: HTMLElement) => void- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
- Name
renderContent- Kind
- property
- Type
(content: HTMLElement) => void- Requirement
- optional
- Name
renderTrigger- Kind
- property
- Type
(button: HTMLElement) => void- Requirement
- optional
runCollapsibleCommand
functionResolves the one machine command to the adapter's public callback.
declare function runCollapsibleCommand(command: CollapsibleCommand, _scope: PartScope, options?: { readonly onOpenChange?: (detail: { open: boolean; reason: CollapsibleChangeReason; }) => void;}): void;commandCollapsibleCommand_scopePartScopeoptions{
readonly onOpenChange?: (detail: {
open: boolean;
reason: CollapsibleChangeReason;
}) => void;
}returnvoid- Name
command- Kind
- parameter
- Type
CollapsibleCommand- Requirement
- required
- Name
_scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
{ readonly onOpenChange?: (detail: { open: boolean; reason: CollapsibleChangeReason; }) => void; }- Requirement
- optional
- Name
return- Kind
- return value
- Type
void- Requirement
- n/a
Framework adapters
Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.
React imports
import { Collapsible, Content, Root, Trigger } from "@grassroot/ui-headless-react/collapsible";Vue imports
<script setup lang="ts">import { CollapsibleContent, CollapsibleRoot, CollapsibleTrigger } from "@grassroot/ui-headless-vue/collapsible";</script>Angular imports
import { Component } from "@angular/core";import { GR_COLLAPSIBLE_DECLARATIONS } from "@grassroot/ui-headless-angular/collapsible"; @Component({ standalone: true, imports: [GR_COLLAPSIBLE_DECLARATIONS], template: `<!-- compose the collapsible parts here -->` })export class Example {}Svelte imports
<script lang="ts"> import { CollapsibleContent, CollapsibleRoot, CollapsibleTrigger } from "@grassroot/ui-headless-svelte/collapsible";</script>Solid imports
import { CollapsibleContent, CollapsibleRoot, CollapsibleTrigger } from "@grassroot/ui-headless-solid/collapsible";@grassroot/ui-headless-react/collapsible
React adapter
Collapsible
valueexport declare const Collapsible: { Root: import("react").ForwardRefExoticComponent<CollapsibleRootProps & import("react").RefAttributes<HTMLDivElement>>; Trigger: import("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>; Content: import("react").ForwardRefExoticComponent<CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>;};Contentimport("react").ForwardRefExoticComponent<CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>Rootimport("react").ForwardRefExoticComponent<CollapsibleRootProps & import("react").RefAttributes<HTMLDivElement>>Triggerimport("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>- Name
Content- Kind
- property
- Type
import("react").ForwardRefExoticComponent<CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Root- Kind
- property
- Type
import("react").ForwardRefExoticComponent<CollapsibleRootProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Trigger- Kind
- property
- Type
import("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>- Requirement
- required
CollapsibleChangeDetail
interfaceinterface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
CollapsibleContentProps
interfaceinterface CollapsibleContentProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean; readonly children?: ReactNode;}asChildbooleanchildrenReactNode- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
CollapsibleContext
valueexport declare const CollapsibleContext: import("react").Context<CollapsibleContextValue | null>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
CollapsibleContextValue
interfaceinterface CollapsibleContextValue { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope;}connectorCollapsibleApiscopePartScopeserviceCollapsibleService- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
CollapsibleRootProps
interfaceinterface CollapsibleRootProps extends Omit<ComponentPropsWithoutRef<"div">, "open" | "defaultOpen" | "onChange"> { readonly asChild?: boolean; readonly open?: CollapsibleInput["open"]; readonly defaultOpen?: CollapsibleInput["defaultOpen"]; readonly disabled?: CollapsibleInput["disabled"]; readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void; readonly children?: ReactNode;}asChildbooleanchildrenReactNodedefaultOpenCollapsibleInput["defaultOpen"]disabledCollapsibleInput["disabled"]onOpenChange(detail: CollapsibleChangeDetail) => voidopenCollapsibleInput["open"]- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
defaultOpen- Kind
- property
- Type
CollapsibleInput["defaultOpen"]- Requirement
- optional
- Name
disabled- Kind
- property
- Type
CollapsibleInput["disabled"]- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
- Name
open- Kind
- property
- Type
CollapsibleInput["open"]- Requirement
- optional
CollapsibleTriggerProps
interfaceinterface CollapsibleTriggerProps extends Omit<ComponentPropsWithoutRef<"button">, "type"> { readonly asChild?: boolean;}asChildboolean- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
Content
valueexport declare const Content: import("react").ForwardRefExoticComponent<CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Root
valueexport declare const Root: import("react").ForwardRefExoticComponent<CollapsibleRootProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Trigger
valueexport declare const Trigger: import("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
useCollapsible
functiondeclare function useCollapsible(input: CollapsibleInput, options?: UseCollapsibleOptions): UseCollapsibleResult;inputCollapsibleInputoptionsUseCollapsibleOptionsreturnUseCollapsibleResult- Name
input- Kind
- parameter
- Type
CollapsibleInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseCollapsibleOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseCollapsibleResult- Requirement
- n/a
useCollapsibleContext
functiondeclare function useCollapsibleContext(partName: string): CollapsibleContextValue;partNamestringreturnCollapsibleContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleContextValue- Requirement
- n/a
UseCollapsibleOptions
interfaceinterface UseCollapsibleOptions { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void;}onOpenChange(detail: CollapsibleChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
UseCollapsibleResult
interfaceinterface UseCollapsibleResult { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly snapshot: CollapsibleSnapshot;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServicesnapshotCollapsibleSnapshot- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
CollapsibleSnapshot- Requirement
- required
@grassroot/ui-headless-vue/collapsible
Vue adapter
CollapsibleChangeDetail
interfaceinterface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
CollapsibleContent
valueexport declare const CollapsibleContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;CollapsibleContextKey
valueexport declare const CollapsibleContextKey: InjectionKey<CollapsibleContextValue>;CollapsibleContextValue
interfaceinterface CollapsibleContextValue { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly snapshot: ShallowRef<CollapsibleSnapshot>;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServicesnapshotShallowRef<CollapsibleSnapshot>- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<CollapsibleSnapshot>- Requirement
- required
CollapsibleRoot
valueexport declare const CollapsibleRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; open: { type: PropType<boolean | undefined>; default: undefined; }; defaultOpen: { type: PropType<boolean | undefined>; default: undefined; }; disabled: { type: PropType<boolean | undefined>; default: undefined; };}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { openChange: (_detail: CollapsibleChangeDetail) => true;}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; open: { type: PropType<boolean | undefined>; default: undefined; }; defaultOpen: { type: PropType<boolean | undefined>; default: undefined; }; disabled: { type: PropType<boolean | undefined>; default: undefined; };}>> & Readonly<{ onOpenChange?: ((_detail: CollapsibleChangeDetail) => any) | undefined;}>, { asChild: boolean; open: boolean | undefined; defaultOpen: boolean | undefined; disabled: boolean | undefined;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;CollapsibleTrigger
valueexport declare const CollapsibleTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;useCollapsible
functiondeclare function useCollapsible(input: CollapsibleInput | (() => CollapsibleInput), options?: UseCollapsibleOptions): UseCollapsibleResult;inputCollapsibleInput | (() => CollapsibleInput)optionsUseCollapsibleOptionsreturnUseCollapsibleResult- Name
input- Kind
- parameter
- Type
CollapsibleInput | (() => CollapsibleInput)- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseCollapsibleOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseCollapsibleResult- Requirement
- n/a
useCollapsibleContext
functiondeclare function useCollapsibleContext(partName: string): CollapsibleContextValue;partNamestringreturnCollapsibleContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleContextValue- Requirement
- n/a
UseCollapsibleOptions
interfaceinterface UseCollapsibleOptions { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void;}onOpenChange(detail: CollapsibleChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
UseCollapsibleResult
interfaceinterface UseCollapsibleResult { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly snapshot: ShallowRef<CollapsibleSnapshot>;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServicesnapshotShallowRef<CollapsibleSnapshot>- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<CollapsibleSnapshot>- Requirement
- required
@grassroot/ui-headless-angular/collapsible
Angular adapter
COLLAPSIBLE_STORE
valueexport declare const COLLAPSIBLE_STORE: InjectionToken<CollapsibleStore>;CollapsibleChangeDetail
interfaceexport interface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
CollapsibleStore
interfaceexport interface CollapsibleStore { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly version: WritableSignal<number>; start(): void; stop(): void; sync(input: CollapsibleInput): void; bindOpenChange(handler: (detail: import("./use-collapsible.js").CollapsibleChangeDetail) => void): void;}bindOpenChange(handler: (detail: import("./use-collapsible.js").CollapsibleChangeDetail) => void) => voidconnectorCollapsibleApiscopePartScopeserviceCollapsibleServicestart() => voidstop() => voidsync(input: CollapsibleInput) => voidversionWritableSignal<number>- Name
bindOpenChange- Kind
- method
- Type
(handler: (detail: import("./use-collapsible.js").CollapsibleChangeDetail) => void) => void- Requirement
- required
- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
start- Kind
- method
- Type
() => void- Requirement
- required
- Name
stop- Kind
- method
- Type
() => void- Requirement
- required
- Name
sync- Kind
- method
- Type
(input: CollapsibleInput) => void- Requirement
- required
- Name
version- Kind
- property
- Type
WritableSignal<number>- Requirement
- required
createCollapsibleStore
functionexport declare function createCollapsibleStore(initialInput: CollapsibleInput, options?: CreateCollapsibleStoreOptions): CollapsibleStore;initialInputCollapsibleInputoptionsCreateCollapsibleStoreOptionsreturnCollapsibleStore- Name
initialInput- Kind
- parameter
- Type
CollapsibleInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
CreateCollapsibleStoreOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
CollapsibleStore- Requirement
- n/a
CreateCollapsibleStoreOptions
interfaceexport interface CreateCollapsibleStoreOptions { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void; readonly onCommit?: () => void;}onCommit() => voidonOpenChange(detail: CollapsibleChangeDetail) => void- Name
onCommit- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
export declare const GR_COLLAPSIBLE_DECLARATIONS: readonly [typeof GrCollapsibleRoot, typeof GrCollapsibleTrigger, typeof GrCollapsibleContent];GrCollapsibleContent
classexport declare class GrCollapsibleContent implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrCollapsibleContent, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrCollapsibleContent, "[grCollapsibleContent]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrCollapsibleContent, "[grCollapsibleContent]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrCollapsibleContent, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrCollapsibleContent, "[grCollapsibleContent]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrCollapsibleContent, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrCollapsibleRoot
classexport declare class GrCollapsibleRoot implements OnDestroy { readonly open: import("@angular/core").InputSignal<boolean | undefined>; readonly defaultOpen: import("@angular/core").InputSignal<boolean | undefined>; readonly disabled: import("@angular/core").InputSignal<boolean | undefined>; readonly openChange: import("@angular/core").OutputEmitterRef<CollapsibleChangeDetail>; private readonly elementRef; private readonly injector; private readonly listeners; private lastSynced; readonly store: CollapsibleStore; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrCollapsibleRoot, never>; static ɵcmp: i0.ɵɵComponentDeclaration<GrCollapsibleRoot, "gr-collapsible-root", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, ["*"], true, never>;}defaultOpenimport("@angular/core").InputSignal<boolean | undefined>disabledimport("@angular/core").InputSignal<boolean | undefined>elementRefanyinjectoranylastSyncedanylistenersanyngOnDestroy() => voidopenimport("@angular/core").InputSignal<boolean | undefined>openChangeimport("@angular/core").OutputEmitterRef<CollapsibleChangeDetail>ɵcmpi0.ɵɵComponentDeclaration<GrCollapsibleRoot, "gr-collapsible-root", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, ["*"], true, never>ɵfaci0.ɵɵFactoryDeclaration<GrCollapsibleRoot, never>storeCollapsibleStore- Name
defaultOpen- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
disabled- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
injector- Kind
- property
- Type
any- Requirement
- required
- Name
lastSynced- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
open- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- Requirement
- required
- Name
openChange- Kind
- property
- Type
import("@angular/core").OutputEmitterRef<CollapsibleChangeDetail>- Requirement
- required
- Name
ɵcmp- Kind
- property
- Type
i0.ɵɵComponentDeclaration<GrCollapsibleRoot, "gr-collapsible-root", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, ["*"], true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrCollapsibleRoot, never>- Requirement
- required
- Name
store- Kind
- property
- Type
CollapsibleStore- Requirement
- required
GrCollapsibleTrigger
classexport declare class GrCollapsibleTrigger implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrCollapsibleTrigger, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrCollapsibleTrigger, "[grCollapsibleTrigger]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrCollapsibleTrigger, "[grCollapsibleTrigger]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrCollapsibleTrigger, never>storeany- Name
consumerProps- Kind
- property
- Type
any- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
listeners- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵdir- Kind
- property
- Type
i0.ɵɵDirectiveDeclaration<GrCollapsibleTrigger, "[grCollapsibleTrigger]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrCollapsibleTrigger, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
provideCollapsibleStore
functionexport declare function provideCollapsibleStore(): Provider;returnProvider- Name
return- Kind
- return value
- Type
Provider- Requirement
- n/a
@grassroot/ui-headless-svelte/collapsible
Svelte adapter
CollapsibleChangeDetail
interfaceexport interface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
CollapsibleContent
valueexport declare const CollapsibleContent: LegacyComponentType;argsParameters<Component<Record<string, any>>>returnReturnType<Component<Record<string, any>, Record<string, any>>>- Name
args- Kind
- parameter
- Type
Parameters<Component<Record<string, any>>>- Requirement
- optional
- Name
return- Kind
- return value
- Type
ReturnType<Component<Record<string, any>, Record<string, any>>>- Requirement
- n/a
CollapsibleContextValue
interfaceexport interface CollapsibleContextValue { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly version: () => number;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServiceversion() => number- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
CollapsibleRoot
valueexport declare const CollapsibleRoot: LegacyComponentType;argsParameters<Component<Record<string, any>>>returnReturnType<Component<Record<string, any>, Record<string, any>>>- Name
args- Kind
- parameter
- Type
Parameters<Component<Record<string, any>>>- Requirement
- optional
- Name
return- Kind
- return value
- Type
ReturnType<Component<Record<string, any>, Record<string, any>>>- Requirement
- n/a
CollapsibleTrigger
valueexport declare const CollapsibleTrigger: LegacyComponentType;argsParameters<Component<Record<string, any>>>returnReturnType<Component<Record<string, any>, Record<string, any>>>- Name
args- Kind
- parameter
- Type
Parameters<Component<Record<string, any>>>- Requirement
- optional
- Name
return- Kind
- return value
- Type
ReturnType<Component<Record<string, any>, Record<string, any>>>- Requirement
- n/a
createCollapsible
functionexport declare function createCollapsible(inputGetter: () => CollapsibleInput, options?: UseCollapsibleOptions): UseCollapsibleResult;inputGetter() => CollapsibleInputoptionsUseCollapsibleOptionsreturnUseCollapsibleResult- Name
inputGetter- Kind
- parameter
- Type
() => CollapsibleInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseCollapsibleOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseCollapsibleResult- Requirement
- n/a
useCollapsibleContext
functionexport declare function useCollapsibleContext(partName: string): CollapsibleContextValue;partNamestringreturnCollapsibleContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleContextValue- Requirement
- n/a
UseCollapsibleOptions
interfaceexport interface UseCollapsibleOptions { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void;}onOpenChange(detail: CollapsibleChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
UseCollapsibleResult
interfaceexport interface UseCollapsibleResult { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly version: () => number;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServiceversion() => number- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
@grassroot/ui-headless-solid/collapsible
Solid adapter
CollapsibleChangeDetail
interfaceexport interface CollapsibleChangeDetail { readonly open: boolean; readonly reason: CollapsibleChangeReason;}openbooleanreasonCollapsibleChangeReason- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
reason- Kind
- property
- Type
CollapsibleChangeReason- Requirement
- required
CollapsibleContent
functionexport declare function CollapsibleContent(props: CollapsibleContentProps): JSX.Element;propsCollapsibleContentPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
CollapsibleContentProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
CollapsibleContentProps
interfaceexport interface CollapsibleContentProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
CollapsibleContext
valueexport declare const CollapsibleContext: import("solid-js").Context<CollapsibleContextValue | undefined>;CollapsibleContextValue
interfaceexport interface CollapsibleContextValue { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly snapshot: Accessor<CollapsibleSnapshot>;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServicesnapshotAccessor<CollapsibleSnapshot>- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<CollapsibleSnapshot>- Requirement
- required
CollapsibleRoot
functionexport declare function CollapsibleRoot(props: CollapsibleRootProps): JSX.Element;propsCollapsibleRootPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
CollapsibleRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
CollapsibleRootProps
interfaceexport interface CollapsibleRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onChange"> { readonly as?: AsProp; readonly open?: CollapsibleInput["open"]; readonly defaultOpen?: CollapsibleInput["defaultOpen"]; readonly disabled?: CollapsibleInput["disabled"]; readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void;}asAsPropdefaultOpenCollapsibleInput["defaultOpen"]disabledCollapsibleInput["disabled"]onOpenChange(detail: CollapsibleChangeDetail) => voidopenCollapsibleInput["open"]- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
- Name
defaultOpen- Kind
- property
- Type
CollapsibleInput["defaultOpen"]- Requirement
- optional
- Name
disabled- Kind
- property
- Type
CollapsibleInput["disabled"]- Requirement
- optional
- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
- Name
open- Kind
- property
- Type
CollapsibleInput["open"]- Requirement
- optional
CollapsibleTrigger
functionexport declare function CollapsibleTrigger(props: CollapsibleTriggerProps): JSX.Element;propsCollapsibleTriggerPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
CollapsibleTriggerProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
CollapsibleTriggerProps
interfaceexport interface CollapsibleTriggerProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
useCollapsible
functionexport declare function useCollapsible(input: Accessor<CollapsibleInput>, options?: UseCollapsibleOptions): UseCollapsibleResult;inputAccessor<CollapsibleInput>optionsUseCollapsibleOptionsreturnUseCollapsibleResult- Name
input- Kind
- parameter
- Type
Accessor<CollapsibleInput>- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseCollapsibleOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseCollapsibleResult- Requirement
- n/a
useCollapsibleContext
functionexport declare function useCollapsibleContext(partName: string): CollapsibleContextValue;partNamestringreturnCollapsibleContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
CollapsibleContextValue- Requirement
- n/a
UseCollapsibleOptions
interfaceexport interface UseCollapsibleOptions { readonly onOpenChange?: (detail: CollapsibleChangeDetail) => void;}onOpenChange(detail: CollapsibleChangeDetail) => void- Name
onOpenChange- Kind
- property
- Type
(detail: CollapsibleChangeDetail) => void- Requirement
- optional
UseCollapsibleResult
interfaceexport interface UseCollapsibleResult { readonly service: CollapsibleService; readonly connector: CollapsibleApi; readonly scope: PartScope; readonly snapshot: Accessor<CollapsibleSnapshot>;}connectorCollapsibleApiscopePartScopeserviceCollapsibleServicesnapshotAccessor<CollapsibleSnapshot>- Name
connector- Kind
- property
- Type
CollapsibleApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
CollapsibleService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<CollapsibleSnapshot>- Requirement
- required