- Name
service- Kind
- parameter
- Type
ResizableService- Requirement
- required
DocsAPI referenceHeadlessresizable
resizable 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.
46 of 46
@grassroot/ui-headless-core/resizable
Core connector and vanilla API
connectResizable
functionconnectResizablets
declare function connectResizable(service: ResizableService, scope: PartScope, options?: ResizableConnectOptions): ResizableApi;Name
Kind
Type
Requirement
serviceparameter
ResizableServicerequired
scopeparameter
PartScoperequired
optionsparameter
ResizableConnectOptionsoptional
returnreturn value
ResizableApin/a
- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
ResizableConnectOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
ResizableApi- Requirement
- n/a
mountResizable
functionmountResizablets
declare function mountResizable(container: HTMLElement, options?: MountResizableOptions): ResizableMount;Name
Kind
Type
Requirement
containerparameter
HTMLElementrequired
optionsparameter
MountResizableOptionsoptional
returnreturn value
ResizableMountn/a
- Name
container- Kind
- parameter
- Type
HTMLElement- Requirement
- required
- Name
options- Kind
- parameter
- Type
MountResizableOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
ResizableMount- Requirement
- n/a
MountResizableOptions
interfaceMountResizableOptionsts
interface MountResizableOptions extends ResizableInput { readonly onResize?: (size: number) => void;}Name
Kind
Type
Requirement
onResizeproperty
(size: number) => voidoptional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
resizableAnatomy
valueresizableAnatomyts
export declare const resizableAnatomy: { readonly scope: "resizable"; readonly parts: readonly ["root", "first-pane", "handle", "grip", "second-pane", "panel"];};Name
Kind
Type
Requirement
partsproperty
readonly ["root", "first-pane", "handle", "grip", "second-pane", "panel"]required
scopeproperty
"resizable"required
- Name
parts- Kind
- property
- Type
readonly ["root", "first-pane", "handle", "grip", "second-pane", "panel"]- Requirement
- required
- Name
scope- Kind
- property
- Type
"resizable"- Requirement
- required
ResizableApi
interfaceResizableApits
interface ResizableApi { rootProps(): PartProps; firstPaneProps(): PartProps; handleProps(): PartProps; gripProps(): PartProps; secondPaneProps(): PartProps; panelProps(label?: string): PartProps; readonly size: number; destroy(): void;}Name
Kind
Type
Requirement
destroymethod
() => voidrequired
firstPanePropsmethod
() => PartPropsrequired
gripPropsmethod
() => PartPropsrequired
handlePropsmethod
() => PartPropsrequired
panelPropsmethod
(label?: string) => PartPropsrequired
rootPropsmethod
() => PartPropsrequired
secondPanePropsmethod
() => PartPropsrequired
sizeproperty
numberrequired
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
firstPaneProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
gripProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
handleProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
panelProps- Kind
- method
- Type
(label?: string) => PartProps- Requirement
- required
- Name
rootProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
secondPaneProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
size- Kind
- property
- Type
number- Requirement
- required
ResizableChangeDetail
interfaceResizableChangeDetailts
interface ResizableChangeDetail { readonly size: number;}Name
Kind
Type
Requirement
sizeproperty
numberrequired
- Name
size- Kind
- property
- Type
number- Requirement
- required
ResizableConnectOptions
interfaceResizableConnectOptionsts
interface ResizableConnectOptions { readonly onResize?: (size: number) => void;}Name
Kind
Type
Requirement
onResizeproperty
(size: number) => voidoptional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
ResizableMount
interfaceResizableMountts
interface ResizableMount { readonly service: ResizableService; readonly connector: ResizableApi; readonly root: HTMLDivElement; destroy(): void;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
destroymethod
() => voidrequired
rootproperty
HTMLDivElementrequired
serviceproperty
ResizableServicerequired
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
root- Kind
- property
- Type
HTMLDivElement- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
ResizablePart
typeResizablePartts
type ResizablePart = (typeof resizableAnatomy.parts)[number];ResizableService
typeResizableServicets
type ResizableService = Service<ResizableInput, "ready", ResizableContext, ResizableEvent, ResizableCommand>;runResizableCommand
functionrunResizableCommandts
declare function runResizableCommand(command: ResizableCommand, options?: ResizableConnectOptions): void;Name
Kind
Type
Requirement
commandparameter
ResizableCommandrequired
optionsparameter
ResizableConnectOptionsoptional
returnreturn value
voidn/a
- Name
command- Kind
- parameter
- Type
ResizableCommand- Requirement
- required
- Name
options- Kind
- parameter
- Type
ResizableConnectOptions- 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 example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
React imports
@grassroot/ui-headless-react/resizablets
import { Handle, Panel, Root, RootProvider } from "@grassroot/ui-headless-react/resizable";Vue imports
@grassroot/ui-headless-vue/resizablets
<script setup lang="ts">import { Handle, Panel, Root, RootProvider } from "@grassroot/ui-headless-vue/resizable";</script>Angular imports
@grassroot/ui-headless-angular/resizablets
import { GrResizablePanel, GrResizableRoot, GrResizableRootProvider } from "@grassroot/ui-headless-angular/resizable";Svelte imports
@grassroot/ui-headless-svelte/resizablets
<script lang="ts"> import { Panel, Root, RootProvider } from "@grassroot/ui-headless-svelte/resizable";</script>Solid imports
@grassroot/ui-headless-solid/resizablets
import { Handle, Panel, Root, RootProvider } from "@grassroot/ui-headless-solid/resizable";@grassroot/ui-headless-react/resizable
React adapter
Handle
valueHandlets
export declare const Handle: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;Name
Kind
Type
Requirement
propsparameter
Prequired
returnreturn value
ReactNoden/a
- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Panel
valuePanelts
export declare const Panel: import("react").ForwardRefExoticComponent<ResizablePanelProps & import("react").RefAttributes<HTMLDivElement>>;Name
Kind
Type
Requirement
propsparameter
Prequired
returnreturn value
ReactNoden/a
- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
ResizablePanelProps
interfaceResizablePanelPropsts
interface ResizablePanelProps extends HTMLAttributes<HTMLDivElement> { readonly label?: string; readonly children?: ReactNode;}Name
Kind
Type
Requirement
childrenproperty
ReactNodeoptional
labelproperty
stringoptional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
label- Kind
- property
- Type
string- Requirement
- optional
ResizableRootProps
interfaceResizableRootPropsts
interface ResizableRootProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultSize" | "onResize">, ResizableInput { readonly id?: string; readonly onResize?: (size: number) => void; readonly children?: [ReactNode, ReactNode];}Name
Kind
Type
Requirement
childrenproperty
[ReactNode, ReactNode]optional
idproperty
stringoptional
onResizeproperty
(size: number) => voidoptional
- Name
children- Kind
- property
- Type
[ReactNode, ReactNode]- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- optional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
ResizableRootProviderProps
interfaceResizableRootProviderPropsts
interface ResizableRootProviderProps extends HTMLAttributes<HTMLDivElement> { readonly value: UseResizableResult; readonly children?: [ReactNode, ReactNode];}Name
Kind
Type
Requirement
childrenproperty
[ReactNode, ReactNode]optional
valueproperty
UseResizableResultrequired
- Name
children- Kind
- property
- Type
[ReactNode, ReactNode]- Requirement
- optional
- Name
value- Kind
- property
- Type
UseResizableResult- Requirement
- required
Root
valueRootts
export declare const Root: import("react").ForwardRefExoticComponent<ResizableRootProps & import("react").RefAttributes<HTMLDivElement>>;Name
Kind
Type
Requirement
propsparameter
Prequired
returnreturn value
ReactNoden/a
- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
RootProvider
valueRootProviderts
export declare const RootProvider: import("react").ForwardRefExoticComponent<ResizableRootProviderProps & import("react").RefAttributes<HTMLDivElement>>;Name
Kind
Type
Requirement
propsparameter
Prequired
returnreturn value
ReactNoden/a
- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
useResizable
functionuseResizablets
declare function useResizable(input: ResizableInput, options?: UseResizableOptions): UseResizableResult;Name
Kind
Type
Requirement
inputparameter
ResizableInputrequired
optionsparameter
UseResizableOptionsoptional
returnreturn value
UseResizableResultn/a
- Name
input- Kind
- parameter
- Type
ResizableInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseResizableOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseResizableResult- Requirement
- n/a
UseResizableOptions
interfaceUseResizableOptionsts
interface UseResizableOptions { readonly id?: string; readonly onResize?: (size: number) => void;}Name
Kind
Type
Requirement
idproperty
stringoptional
onResizeproperty
(size: number) => voidoptional
- Name
id- Kind
- property
- Type
string- Requirement
- optional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
UseResizableResult
interfaceUseResizableResultts
interface UseResizableResult { readonly service: ResizableService; readonly connector: ResizableApi; readonly snapshot: ResizableSnapshot;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
serviceproperty
ResizableServicerequired
snapshotproperty
ResizableSnapshotrequired
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ResizableSnapshot- Requirement
- required
@grassroot/ui-headless-vue/resizable
Vue adapter
Handle
valueHandlets
export declare const Handle: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;Panel
valuePanelts
export declare const Panel: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ label: StringConstructor;}>, () => 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<{ label: StringConstructor;}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;Root
valueRootts
export declare const Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ direction: PropType<ResizableInput["direction"]>; value: PropType<number | undefined>; defaultSize: NumberConstructor; minSize: NumberConstructor; step: NumberConstructor; id: StringConstructor;}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { resize: (_size: number) => true;}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ direction: PropType<ResizableInput["direction"]>; value: PropType<number | undefined>; defaultSize: NumberConstructor; minSize: NumberConstructor; step: NumberConstructor; id: StringConstructor;}>> & Readonly<{ onResize?: ((_size: number) => any) | undefined;}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;RootProvider
valueRootProviderts
export declare const RootProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ value: { type: PropType<ReturnType<typeof useResizable>>; required: true; };}>, () => 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<{ value: { type: PropType<ReturnType<typeof useResizable>>; required: true; };}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;useResizable
functionuseResizablets
declare function useResizable(input: () => ResizableInput, options?: () => ResizableOptions): UseResizableResult;Name
Kind
Type
Requirement
inputparameter
() => ResizableInputrequired
optionsparameter
() => ResizableOptionsoptional
returnreturn value
UseResizableResultn/a
- Name
input- Kind
- parameter
- Type
() => ResizableInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
() => ResizableOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseResizableResult- Requirement
- n/a
UseResizableResult
interfaceUseResizableResultts
interface UseResizableResult { readonly service: ResizableService; readonly connector: ResizableApi; readonly snapshot: ShallowRef<ResizableSnapshot>;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
serviceproperty
ResizableServicerequired
snapshotproperty
ShallowRef<ResizableSnapshot>required
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<ResizableSnapshot>- Requirement
- required
@grassroot/ui-headless-angular/resizable
Angular adapter
createResizableStore
functioncreateResizableStorets
export declare function createResizableStore(initial: ResizableInput, options?: { onResize?: (size: number) => void;}): ResizableStore;Name
Kind
Type
Requirement
initialparameter
ResizableInputrequired
optionsparameter
{
onResize?: (size: number) => void;
}optional
returnreturn value
ResizableStoren/a
- Name
initial- Kind
- parameter
- Type
ResizableInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
{ onResize?: (size: number) => void; }- Requirement
- optional
- Name
return- Kind
- return value
- Type
ResizableStore- Requirement
- n/a
GrResizablePanel
classGrResizablePanelts
export declare class GrResizablePanel { readonly label: import("@angular/core").InputSignal<string | undefined>; private readonly store; private readonly host; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration<GrResizablePanel, never>; static ɵcmp: i0.ɵɵComponentDeclaration<GrResizablePanel, "gr-resizable-panel", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;}Name
Kind
Type
Requirement
hostproperty
anyrequired
labelproperty
import("@angular/core").InputSignal<string | undefined>required
ɵcmpproperty
i0.ɵɵComponentDeclaration<GrResizablePanel, "gr-resizable-panel", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>required
ɵfacproperty
i0.ɵɵFactoryDeclaration<GrResizablePanel, never>required
storeproperty
anyrequired
- Name
host- Kind
- property
- Type
any- Requirement
- required
- Name
label- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- Name
ɵcmp- Kind
- property
- Type
i0.ɵɵComponentDeclaration<GrResizablePanel, "gr-resizable-panel", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrResizablePanel, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrResizableRoot
classGrResizableRootts
export declare class GrResizableRoot implements OnDestroy { readonly direction: import("@angular/core").InputSignal<"vertical" | "horizontal" | undefined>; readonly value: import("@angular/core").InputSignal<number | undefined>; readonly defaultSize: import("@angular/core").InputSignal<number | undefined>; readonly minSize: import("@angular/core").InputSignal<number | undefined>; readonly step: import("@angular/core").InputSignal<number | undefined>; readonly resize: import("@angular/core").OutputEmitterRef<ResizableChangeDetail>; readonly store: ResizableStore; private readonly host; private readonly parts; private last; constructor(); private apply; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrResizableRoot, never>; static ɵcmp: i0.ɵɵComponentDeclaration<GrResizableRoot, "gr-resizable-root", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultSize": { "alias": "defaultSize"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "resize": "resize"; }, never, ["[first]", "[second]"], true, never>;}Name
Kind
Type
Requirement
applyproperty
anyrequired
defaultSizeproperty
import("@angular/core").InputSignal<number | undefined>required
directionproperty
import("@angular/core").InputSignal<"vertical" | "horizontal" | undefined>required
hostproperty
anyrequired
lastproperty
anyrequired
minSizeproperty
import("@angular/core").InputSignal<number | undefined>required
ngOnDestroymethod
() => voidrequired
ɵcmpproperty
i0.ɵɵComponentDeclaration<GrResizableRoot, "gr-resizable-root", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultSize": { "alias": "defaultSize"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "resize": "resize"; }, never, ["[first]", "[second]"], true, never>required
ɵfacproperty
i0.ɵɵFactoryDeclaration<GrResizableRoot, never>required
partsproperty
anyrequired
resizeproperty
import("@angular/core").OutputEmitterRef<ResizableChangeDetail>required
stepproperty
import("@angular/core").InputSignal<number | undefined>required
storeproperty
ResizableStorerequired
valueproperty
import("@angular/core").InputSignal<number | undefined>required
- Name
apply- Kind
- property
- Type
any- Requirement
- required
- Name
defaultSize- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
- Name
direction- Kind
- property
- Type
import("@angular/core").InputSignal<"vertical" | "horizontal" | undefined>- Requirement
- required
- Name
host- Kind
- property
- Type
any- Requirement
- required
- Name
last- Kind
- property
- Type
any- Requirement
- required
- Name
minSize- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵcmp- Kind
- property
- Type
i0.ɵɵComponentDeclaration<GrResizableRoot, "gr-resizable-root", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultSize": { "alias": "defaultSize"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "resize": "resize"; }, never, ["[first]", "[second]"], true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrResizableRoot, never>- Requirement
- required
- Name
parts- Kind
- property
- Type
any- Requirement
- required
- Name
resize- Kind
- property
- Type
import("@angular/core").OutputEmitterRef<ResizableChangeDetail>- Requirement
- required
- Name
step- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
- Name
store- Kind
- property
- Type
ResizableStore- Requirement
- required
- Name
value- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
GrResizableRootProvider
classGrResizableRootProviderts
export declare class GrResizableRootProvider implements OnDestroy { private readonly store; private readonly host; private readonly parts; constructor(); private apply; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrResizableRootProvider, never>; static ɵcmp: i0.ɵɵComponentDeclaration<GrResizableRootProvider, "gr-resizable-root-provider", never, {}, {}, never, ["[first]", "[second]"], true, never>;}Name
Kind
Type
Requirement
applyproperty
anyrequired
hostproperty
anyrequired
ngOnDestroymethod
() => voidrequired
ɵcmpproperty
i0.ɵɵComponentDeclaration<GrResizableRootProvider, "gr-resizable-root-provider", never, {}, {}, never, ["[first]", "[second]"], true, never>required
ɵfacproperty
i0.ɵɵFactoryDeclaration<GrResizableRootProvider, never>required
partsproperty
anyrequired
storeproperty
anyrequired
- Name
apply- Kind
- property
- Type
any- Requirement
- required
- Name
host- Kind
- property
- Type
any- Requirement
- required
- Name
ngOnDestroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
ɵcmp- Kind
- property
- Type
i0.ɵɵComponentDeclaration<GrResizableRootProvider, "gr-resizable-root-provider", never, {}, {}, never, ["[first]", "[second]"], true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrResizableRootProvider, never>- Requirement
- required
- Name
parts- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
ResizableStore
interfaceResizableStorets
export interface ResizableStore { readonly service: ResizableService; readonly connector: ResizableApi; readonly scope: PartScope; readonly version: WritableSignal<number>; start(): void; stop(): void; sync(input: Record<string, unknown>): void;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
scopeproperty
PartScoperequired
serviceproperty
ResizableServicerequired
startmethod
() => voidrequired
stopmethod
() => voidrequired
syncmethod
(input: Record<string, unknown>) => voidrequired
versionproperty
WritableSignal<number>required
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
- Name
start- Kind
- method
- Type
() => void- Requirement
- required
- Name
stop- Kind
- method
- Type
() => void- Requirement
- required
- Name
sync- Kind
- method
- Type
(input: Record<string, unknown>) => void- Requirement
- required
- Name
version- Kind
- property
- Type
WritableSignal<number>- Requirement
- required
@grassroot/ui-headless-svelte/resizable
Svelte adapter
createResizable
functioncreateResizablets
export declare function createResizable(input: () => ResizableInput, options?: UseResizableOptions): UseResizableResult;Name
Kind
Type
Requirement
inputparameter
() => ResizableInputrequired
optionsparameter
UseResizableOptionsoptional
returnreturn value
UseResizableResultn/a
- Name
input- Kind
- parameter
- Type
() => ResizableInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseResizableOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseResizableResult- Requirement
- n/a
Panel
valuePanelts
export declare const Panel: LegacyComponentType;Name
Kind
Type
Requirement
argsparameter
Parameters<Component<Record<string, any>>>optional
returnreturn value
ReturnType<Component<Record<string, any>, Record<string, any>>>n/a
- 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
Root
valueRootts
export declare const Root: LegacyComponentType;Name
Kind
Type
Requirement
argsparameter
Parameters<Component<Record<string, any>>>optional
returnreturn value
ReturnType<Component<Record<string, any>, Record<string, any>>>n/a
- 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
RootProvider
valueRootProviderts
export declare const RootProvider: LegacyComponentType;Name
Kind
Type
Requirement
argsparameter
Parameters<Component<Record<string, any>>>optional
returnreturn value
ReturnType<Component<Record<string, any>, Record<string, any>>>n/a
- 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
UseResizableOptions
interfaceUseResizableOptionsts
export interface UseResizableOptions { readonly id?: string; readonly onResize?: (size: number) => void;}Name
Kind
Type
Requirement
idproperty
stringoptional
onResizeproperty
(size: number) => voidoptional
- Name
id- Kind
- property
- Type
string- Requirement
- optional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
UseResizableResult
interfaceUseResizableResultts
export interface UseResizableResult { readonly service: ResizableService; readonly connector: ResizableApi; readonly scope: ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>; readonly version: () => number;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
scopeproperty
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>required
serviceproperty
ResizableServicerequired
versionproperty
() => numberrequired
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
scope- Kind
- property
- Type
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
@grassroot/ui-headless-solid/resizable
Solid adapter
Handle
functionHandlets
export declare function Handle(props: JSX.HTMLAttributes<HTMLDivElement>): JSX.Element;Name
Kind
Type
Requirement
propsparameter
JSX.HTMLAttributes<HTMLDivElement>required
returnreturn value
JSX.Elementn/a
- Name
props- Kind
- parameter
- Type
JSX.HTMLAttributes<HTMLDivElement>- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
Panel
functionPanelts
export declare function Panel(props: ResizablePanelProps): JSX.Element;Name
Kind
Type
Requirement
propsparameter
ResizablePanelPropsrequired
returnreturn value
JSX.Elementn/a
- Name
props- Kind
- parameter
- Type
ResizablePanelProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
ResizablePanelProps
interfaceResizablePanelPropsts
export interface ResizablePanelProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly label?: string;}Name
Kind
Type
Requirement
labelproperty
stringoptional
- Name
label- Kind
- property
- Type
string- Requirement
- optional
ResizableRootProps
interfaceResizableRootPropsts
export interface ResizableRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onResize">, ResizableInput { readonly id?: string; readonly onResize?: (size: number) => void; readonly children?: [JSX.Element, JSX.Element];}Name
Kind
Type
Requirement
childrenproperty
[JSX.Element, JSX.Element]optional
idproperty
stringoptional
onResizeproperty
(size: number) => voidoptional
- Name
children- Kind
- property
- Type
[JSX.Element, JSX.Element]- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- optional
- Name
onResize- Kind
- property
- Type
(size: number) => void- Requirement
- optional
Root
functionRootts
export declare function Root(props: ResizableRootProps): JSX.Element;Name
Kind
Type
Requirement
propsparameter
ResizableRootPropsrequired
returnreturn value
JSX.Elementn/a
- Name
props- Kind
- parameter
- Type
ResizableRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
RootProvider
functionRootProviderts
export declare function RootProvider(props: { readonly value: UseResizableResult; readonly children?: [JSX.Element, JSX.Element];} & JSX.HTMLAttributes<HTMLDivElement>): JSX.Element;Name
Kind
Type
Requirement
propsparameter
{
readonly value: UseResizableResult;
readonly children?: [JSX.Element, JSX.Element];
} & JSX.HTMLAttributes<HTMLDivElement>required
returnreturn value
JSX.Elementn/a
- Name
props- Kind
- parameter
- Type
{ readonly value: UseResizableResult; readonly children?: [JSX.Element, JSX.Element]; } & JSX.HTMLAttributes<HTMLDivElement>- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
useResizable
functionuseResizablets
export declare function useResizable(input: () => ResizableInput, options?: UseResizableOptions): UseResizableResult;Name
Kind
Type
Requirement
inputparameter
() => ResizableInputrequired
optionsparameter
UseResizableOptionsoptional
returnreturn value
UseResizableResultn/a
- Name
input- Kind
- parameter
- Type
() => ResizableInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseResizableOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseResizableResult- Requirement
- n/a
UseResizableResult
interfaceUseResizableResultts
export interface UseResizableResult { readonly service: ResizableService; readonly connector: ResizableApi; readonly snapshot: Accessor<number>;}Name
Kind
Type
Requirement
connectorproperty
ResizableApirequired
serviceproperty
ResizableServicerequired
snapshotproperty
Accessor<number>required
- Name
connector- Kind
- property
- Type
ResizableApi- Requirement
- required
- Name
service- Kind
- property
- Type
ResizableService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<number>- Requirement
- required