- Name
clientX- Kind
- parameter
- Type
number- Requirement
- required
DocsAPI referenceHeadlessgantt
gantt 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/gantt
Core connector and vanilla API
axisFromPointer
functiondeclare function axisFromPointer(clientX: number, track: GanttRectLike, columnCount: number): number;clientXnumbertrackGanttRectLikecolumnCountnumberreturnnumber- Name
track- Kind
- parameter
- Type
GanttRectLike- Requirement
- required
- Name
columnCount- Kind
- parameter
- Type
number- Requirement
- required
- Name
return- Kind
- return value
- Type
number- Requirement
- n/a
blockedGanttIds
functionEmpty and duplicate ids are blocked. All ids are blocked when step is invalid.
declare function blockedGanttIds(input: GanttInput): ReadonlySet<string>;inputGanttInputreturnReadonlySet<string>- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
return- Kind
- return value
- Type
ReadonlySet<string>- Requirement
- n/a
clampGanttRange
functionTranslate a range by preserving width and clamping to `[0, columnCount]`. Returns `null` when the bar is wider than the domain (cannot move).
declare function clampGanttRange(start: number, end: number, columnCount: number): { readonly start: number; readonly end: number;} | null;startnumberendnumbercolumnCountnumberreturn{
readonly start: number;
readonly end: number;
} | null- Name
start- Kind
- parameter
- Type
number- Requirement
- required
- Name
end- Kind
- parameter
- Type
number- Requirement
- required
- Name
columnCount- Kind
- parameter
- Type
number- Requirement
- required
- Name
return- Kind
- return value
- Type
{ readonly start: number; readonly end: number; } | null- Requirement
- n/a
columnCountOf
functiondeclare function columnCountOf(input: GanttInput): number;inputGanttInputreturnnumber- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
return- Kind
- return value
- Type
number- Requirement
- n/a
connectGantt
functiondeclare function connectGantt(service: GanttService, scope: PartScope, options?: GanttConnectOptions): GanttApi;serviceGanttServicescopePartScopeoptionsGanttConnectOptionsreturnGanttApi- Name
service- Kind
- parameter
- Type
GanttService- Requirement
- required
- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
GanttConnectOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttApi- Requirement
- n/a
createGanttController
functiondeclare function createGanttController(host: GanttControllerHost): GanttController;hostGanttControllerHostreturnGanttController- Name
host- Kind
- parameter
- Type
GanttControllerHost- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttController- Requirement
- n/a
export declare const GANTT_DEFAULT_COLUMN_COUNT: 4;GANTT_DEFAULT_STEP
valueexport declare const GANTT_DEFAULT_STEP: 1;ganttAnatomy
valueexport declare const ganttAnatomy: { readonly scope: "gantt"; readonly parts: readonly ["root", "list", "row", "track", "bar"];};partsreadonly ["root", "list", "row", "track", "bar"]scope"gantt"- Name
parts- Kind
- property
- Type
readonly ["root", "list", "row", "track", "bar"]- Requirement
- required
- Name
scope- Kind
- property
- Type
"gantt"- Requirement
- required
GanttApi
interfaceinterface GanttApi { rootProps(): PartProps; listProps(): PartProps; rowProps(id: string): PartProps; trackProps(id: string): PartProps; barProps(id: string): PartProps; rangeFor(id: string): GanttBarRange | undefined; readonly value: GanttStateValue; readonly interactive: boolean;}barProps(id: string) => PartPropsinteractivebooleanlistProps() => PartPropsrangeFor(id: string) => GanttBarRange | undefinedrootProps() => PartPropsrowProps(id: string) => PartPropstrackProps(id: string) => PartPropsvalueGanttStateValue- Name
barProps- Kind
- method
- Type
(id: string) => PartProps- Requirement
- required
- Name
interactive- Kind
- property
- Type
boolean- Requirement
- required
- Name
listProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
rangeFor- Kind
- method
- Type
(id: string) => GanttBarRange | undefined- Requirement
- required
- Name
rootProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
rowProps- Kind
- method
- Type
(id: string) => PartProps- Requirement
- required
- Name
trackProps- Kind
- method
- Type
(id: string) => PartProps- Requirement
- required
- Name
value- Kind
- property
- Type
GanttStateValue- Requirement
- required
GanttBarRange
typetype GanttBarRange = { readonly id: string; readonly start: number; readonly end: number;};endnumberidstringstartnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttChangeReason
typetype GanttChangeReason = "pointer" | "keyboard";GanttCommand
typetype GanttCommand = CommandObject & { readonly type: "BAR_RANGE_CHANGE_REQUEST"; readonly id: string; readonly start: number; readonly end: number; readonly reason: GanttChangeReason;};endnumberidstringreasonGanttChangeReasonstartnumbertypestring- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
GanttChangeReason- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
- Name
type- Kind
- property
- Type
string- Requirement
- required
GanttConnectOptions
interfaceinterface GanttConnectOptions { onRangeChange?: (detail: GanttRangeChangeDetail) => void; beginPointer?: (detail: { readonly id: string; readonly start: number; readonly end: number; readonly clientX: number; }) => void;}beginPointer(detail: {
readonly id: string;
readonly start: number;
readonly end: number;
readonly clientX: number;
}) => voidonRangeChange(detail: GanttRangeChangeDetail) => void- Name
beginPointer- Kind
- property
- Type
(detail: { readonly id: string; readonly start: number; readonly end: number; readonly clientX: number; }) => void- Requirement
- optional
- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
GanttContext
typetype GanttContext = { readonly focusedId: string | null; readonly activeId: string | null; readonly originStart: number | null; readonly originEnd: number | null; readonly draftStart: number | null; readonly draftEnd: number | null; readonly reason: GanttChangeReason | null;};activeIdstring | nulldraftEndnumber | nulldraftStartnumber | nullfocusedIdstring | nulloriginEndnumber | nulloriginStartnumber | nullreasonGanttChangeReason | null- Name
activeId- Kind
- property
- Type
string | null- Requirement
- required
- Name
draftEnd- Kind
- property
- Type
number | null- Requirement
- required
- Name
draftStart- Kind
- property
- Type
number | null- Requirement
- required
- Name
focusedId- Kind
- property
- Type
string | null- Requirement
- required
- Name
originEnd- Kind
- property
- Type
number | null- Requirement
- required
- Name
originStart- Kind
- property
- Type
number | null- Requirement
- required
- Name
reason- Kind
- property
- Type
GanttChangeReason | null- Requirement
- required
GanttController
interfaceinterface GanttController { attach(service: GanttService): void; beginPointer(detail: GanttPointerBegin): void; destroy(): void;}attach(service: GanttService) => voidbeginPointer(detail: GanttPointerBegin) => voiddestroy() => void- Name
attach- Kind
- method
- Type
(service: GanttService) => void- Requirement
- required
- Name
beginPointer- Kind
- method
- Type
(detail: GanttPointerBegin) => void- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
GanttControllerHost
interfaceinterface GanttControllerHost { readonly getTrack: (id: string) => GanttRectTarget | null; readonly getWindow?: () => GanttWindowLike | null;}getTrack(id: string) => GanttRectTarget | nullgetWindow() => GanttWindowLike | null- Name
getTrack- Kind
- property
- Type
(id: string) => GanttRectTarget | null- Requirement
- required
- Name
getWindow- Kind
- property
- Type
() => GanttWindowLike | null- Requirement
- optional
GanttEvent
typetype GanttEvent = { readonly type: "FOCUS"; readonly id: string;} | { readonly type: "BLUR"; readonly id: string;} | { readonly type: "GRAB"; readonly id: string; readonly start: number; readonly end: number; readonly reason: GanttChangeReason;} | { readonly type: "NUDGE"; readonly direction: -1 | 1;} | { readonly type: "DRAG"; readonly start: number; readonly end: number;} | { readonly type: "DROP";} | { readonly type: "CANCEL";};GanttInput
typetype GanttInput = { /** Host-owned ranges. The machine never writes these back. */ readonly bars?: readonly GanttBarRange[]; /** Axis unit count. @default 4 */ readonly columnCount?: number; /** Positive finite axis unit. @default 1 */ readonly step?: number; /** * When false, the shell is inert (live default). Styled callers without * `getRowId` and a range callback pass false. */ readonly interactive?: boolean;};barsreadonly GanttBarRange[]columnCountnumberinteractivebooleanstepnumber- Name
bars- Kind
- property
- Type
readonly GanttBarRange[]- Requirement
- optional
- Description
- Host-owned ranges. The machine never writes these back.
- Name
columnCount- Kind
- property
- Type
number- Requirement
- optional
- Description
- Axis unit count.
- Name
interactive- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- When false, the shell is inert (live default). Styled callers without `getRowId` and a range callback pass false.
- Name
step- Kind
- property
- Type
number- Requirement
- optional
- Description
- Positive finite axis unit.
ganttMachine
valueexport declare const ganttMachine: GanttMachine;GanttMount
interfaceinterface GanttMount { readonly service: GanttService; readonly connector: GanttApi; readonly root: HTMLElement; destroy(): void;}connectorGanttApidestroy() => voidrootHTMLElementserviceGanttService- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
root- Kind
- property
- Type
HTMLElement- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
GanttPart
typetype GanttPart = (typeof ganttAnatomy.parts)[number];GanttPointerBegin
interfaceinterface GanttPointerBegin { readonly id: string; readonly start: number; readonly end: number; readonly clientX: number;}clientXnumberendnumberidstringstartnumber- Name
clientX- Kind
- property
- Type
number- Requirement
- required
- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttPointerLike
interfaceinterface GanttPointerLike { readonly clientX: number;}clientXnumber- Name
clientX- Kind
- property
- Type
number- Requirement
- required
GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttRectLike
interfaceinterface GanttRectLike { readonly left: number; readonly width: number;}leftnumberwidthnumber- Name
left- Kind
- property
- Type
number- Requirement
- required
- Name
width- Kind
- property
- Type
number- Requirement
- required
GanttRectTarget
interfaceinterface GanttRectTarget { getBoundingClientRect(): GanttRectLike;}getBoundingClientRect() => GanttRectLike- Name
getBoundingClientRect- Kind
- method
- Type
() => GanttRectLike- Requirement
- required
ganttSelectors
valueexport declare const ganttSelectors: { value: (snapshot: GanttSnapshot) => GanttStateValue; focusedId: (snapshot: GanttSnapshot) => string | null; activeId: (snapshot: GanttSnapshot) => string | null; draftStart: (snapshot: GanttSnapshot) => number | null; draftEnd: (snapshot: GanttSnapshot) => number | null;};activeId(snapshot: GanttSnapshot) => string | nulldraftEnd(snapshot: GanttSnapshot) => number | nulldraftStart(snapshot: GanttSnapshot) => number | nullfocusedId(snapshot: GanttSnapshot) => string | nullvalue(snapshot: GanttSnapshot) => GanttStateValue- Name
activeId- Kind
- property
- Type
(snapshot: GanttSnapshot) => string | null- Requirement
- required
- Name
draftEnd- Kind
- property
- Type
(snapshot: GanttSnapshot) => number | null- Requirement
- required
- Name
draftStart- Kind
- property
- Type
(snapshot: GanttSnapshot) => number | null- Requirement
- required
- Name
focusedId- Kind
- property
- Type
(snapshot: GanttSnapshot) => string | null- Requirement
- required
- Name
value- Kind
- property
- Type
(snapshot: GanttSnapshot) => GanttStateValue- Requirement
- required
GanttService
typetype GanttService = Service<GanttInput, GanttStateValue, GanttContext, GanttEvent, GanttCommand>;GanttSnapshot
typetype GanttSnapshot = Snapshot<GanttStateValue, GanttContext>;GanttStateValue
typetype GanttStateValue = "idle" | "grabbed" | "dragging";GanttWindowLike
interfaceinterface GanttWindowLike { addEventListener(type: string, listener: (event: GanttPointerLike) => void): void; removeEventListener(type: string, listener: (event: GanttPointerLike) => void): void;}addEventListener(type: string, listener: (event: GanttPointerLike) => void) => voidremoveEventListener(type: string, listener: (event: GanttPointerLike) => void) => void- Name
addEventListener- Kind
- method
- Type
(type: string, listener: (event: GanttPointerLike) => void) => void- Requirement
- required
- Name
removeEventListener- Kind
- method
- Type
(type: string, listener: (event: GanttPointerLike) => void) => void- Requirement
- required
isGanttIdInteractive
functiondeclare function isGanttIdInteractive(input: GanttInput, id: string): boolean;inputGanttInputidstringreturnboolean- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
id- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
boolean- Requirement
- n/a
isGanttInteractive
functiondeclare function isGanttInteractive(input: GanttInput): boolean;inputGanttInputreturnboolean- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
return- Kind
- return value
- Type
boolean- Requirement
- n/a
isGanttStepValid
functiondeclare function isGanttStepValid(step: number | undefined): boolean;stepnumber | undefinedreturnboolean- Name
step- Kind
- parameter
- Type
number | undefined- Requirement
- required
- Name
return- Kind
- return value
- Type
boolean- Requirement
- n/a
mountGantt
functiondeclare function mountGantt(container: HTMLElement, options: MountGanttOptions): GanttMount;containerHTMLElementoptionsMountGanttOptionsreturnGanttMount- Name
container- Kind
- parameter
- Type
HTMLElement- Requirement
- required
- Name
options- Kind
- parameter
- Type
MountGanttOptions- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttMount- Requirement
- n/a
MountGanttOptions
interfaceinterface MountGanttOptions extends GanttInput { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void; readonly renderBar?: (element: HTMLElement, bar: GanttBarRange) => void;}onRangeChange(detail: GanttRangeChangeDetail) => voidrenderBar(element: HTMLElement, bar: GanttBarRange) => void- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
- Name
renderBar- Kind
- property
- Type
(element: HTMLElement, bar: GanttBarRange) => void- Requirement
- optional
projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
roundGanttUnit
functiondeclare function roundGanttUnit(value: number): number;valuenumberreturnnumber- Name
value- Kind
- parameter
- Type
number- Requirement
- required
- Name
return- Kind
- return value
- Type
number- Requirement
- n/a
runGanttCommand
functiondeclare function runGanttCommand(command: GanttCommand, _scope: PartScope, options?: GanttConnectOptions): void;commandGanttCommand_scopePartScopeoptionsGanttConnectOptionsreturnvoid- Name
command- Kind
- parameter
- Type
GanttCommand- Requirement
- required
- Name
_scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
GanttConnectOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
void- Requirement
- n/a
stepOf
functiondeclare function stepOf(input: GanttInput): number;inputGanttInputreturnnumber- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
return- Kind
- return value
- Type
number- 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 { Bar, Gantt, List, Root, Row, Track } from "@grassroot/ui-headless-react/gantt";Vue imports
<script setup lang="ts">import { GanttBar, GanttList, GanttRoot, GanttRow, GanttTrack } from "@grassroot/ui-headless-vue/gantt";</script>Angular imports
import { Component } from "@angular/core";import { GR_GANTT_DECLARATIONS } from "@grassroot/ui-headless-angular/gantt"; @Component({ standalone: true, imports: [GR_GANTT_DECLARATIONS], template: `<!-- compose the gantt parts here -->` })export class Example {}Svelte imports
<script lang="ts"> import { GanttBar, GanttList, GanttRoot, GanttRow, GanttTrack } from "@grassroot/ui-headless-svelte/gantt";</script>Solid imports
import { GanttBar, GanttList, GanttRoot, GanttRow, GanttTrack } from "@grassroot/ui-headless-solid/gantt";@grassroot/ui-headless-react/gantt
React adapter
Bar
valueexport declare const Bar: import("react").ForwardRefExoticComponent<GanttBarProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Gantt
valueexport declare const Gantt: { Root: import("react").ForwardRefExoticComponent<GanttRootProps & import("react").RefAttributes<HTMLDivElement>>; List: import("react").ForwardRefExoticComponent<GanttListProps & import("react").RefAttributes<HTMLDivElement>>; Row: import("react").ForwardRefExoticComponent<GanttRowProps & import("react").RefAttributes<HTMLDivElement>>; Track: import("react").ForwardRefExoticComponent<GanttTrackProps & import("react").RefAttributes<HTMLDivElement>>; Bar: import("react").ForwardRefExoticComponent<GanttBarProps & import("react").RefAttributes<HTMLDivElement>>;};Barimport("react").ForwardRefExoticComponent<GanttBarProps & import("react").RefAttributes<HTMLDivElement>>Listimport("react").ForwardRefExoticComponent<GanttListProps & import("react").RefAttributes<HTMLDivElement>>Rootimport("react").ForwardRefExoticComponent<GanttRootProps & import("react").RefAttributes<HTMLDivElement>>Rowimport("react").ForwardRefExoticComponent<GanttRowProps & import("react").RefAttributes<HTMLDivElement>>Trackimport("react").ForwardRefExoticComponent<GanttTrackProps & import("react").RefAttributes<HTMLDivElement>>- Name
Bar- Kind
- property
- Type
import("react").ForwardRefExoticComponent<GanttBarProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
List- Kind
- property
- Type
import("react").ForwardRefExoticComponent<GanttListProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Root- Kind
- property
- Type
import("react").ForwardRefExoticComponent<GanttRootProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Row- Kind
- property
- Type
import("react").ForwardRefExoticComponent<GanttRowProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
- Name
Track- Kind
- property
- Type
import("react").ForwardRefExoticComponent<GanttTrackProps & import("react").RefAttributes<HTMLDivElement>>- Requirement
- required
GanttBarProps
interfaceinterface GanttBarProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean; readonly id: string; readonly children?: ReactNode;}asChildbooleanchildrenReactNodeidstring- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
GanttContext
valueexport declare const GanttContext: import("react").Context<GanttContextValue | null>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
GanttContextValue
interfaceinterface GanttContextValue { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope;}connectorGanttApiscopePartScopeserviceGanttService- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
GanttListProps
interfaceinterface GanttListProps 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
GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttRootProps
interfaceinterface GanttRootProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> { readonly asChild?: boolean; readonly bars?: GanttInput["bars"]; readonly columnCount?: GanttInput["columnCount"]; readonly step?: GanttInput["step"]; readonly interactive?: GanttInput["interactive"]; readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void; readonly children?: ReactNode;}asChildbooleanbarsGanttInput["bars"]childrenReactNodecolumnCountGanttInput["columnCount"]interactiveGanttInput["interactive"]onRangeChange(detail: GanttRangeChangeDetail) => voidstepGanttInput["step"]- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
bars- Kind
- property
- Type
GanttInput["bars"]- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
columnCount- Kind
- property
- Type
GanttInput["columnCount"]- Requirement
- optional
- Name
interactive- Kind
- property
- Type
GanttInput["interactive"]- Requirement
- optional
- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
- Name
step- Kind
- property
- Type
GanttInput["step"]- Requirement
- optional
GanttRowProps
interfaceinterface GanttRowProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean; readonly id: string; readonly children?: ReactNode;}asChildbooleanchildrenReactNodeidstring- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
GanttTrackProps
interfaceinterface GanttTrackProps extends ComponentPropsWithoutRef<"div"> { readonly asChild?: boolean; readonly id: string; readonly children?: ReactNode;}asChildbooleanchildrenReactNodeidstring- Name
asChild- Kind
- property
- Type
boolean- Requirement
- optional
- Name
children- Kind
- property
- Type
ReactNode- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
List
valueexport declare const List: import("react").ForwardRefExoticComponent<GanttListProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
Root
valueexport declare const Root: import("react").ForwardRefExoticComponent<GanttRootProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Row
valueexport declare const Row: import("react").ForwardRefExoticComponent<GanttRowProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
Track
valueexport declare const Track: import("react").ForwardRefExoticComponent<GanttTrackProps & import("react").RefAttributes<HTMLDivElement>>;propsPreturnReactNode- Name
props- Kind
- parameter
- Type
P- Requirement
- required
- Name
return- Kind
- return value
- Type
ReactNode- Requirement
- n/a
useGantt
functiondeclare function useGantt(input: GanttInput, options?: UseGanttOptions): UseGanttResult;inputGanttInputoptionsUseGanttOptionsreturnUseGanttResult- Name
input- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseGanttOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseGanttResult- Requirement
- n/a
useGanttContext
functiondeclare function useGanttContext(partName: string): GanttContextValue;partNamestringreturnGanttContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttContextValue- Requirement
- n/a
UseGanttOptions
interfaceinterface UseGanttOptions { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void;}onRangeChange(detail: GanttRangeChangeDetail) => void- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
UseGanttResult
interfaceinterface UseGanttResult { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly snapshot: GanttSnapshot;}connectorGanttApiscopePartScopeserviceGanttServicesnapshotGanttSnapshot- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
GanttSnapshot- Requirement
- required
@grassroot/ui-headless-vue/gantt
Vue adapter
GanttBar
valueexport declare const GanttBar: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; 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<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; required: true; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;GanttContextKey
valueexport declare const GanttContextKey: InjectionKey<GanttContextValue>;GanttContextValue
interfaceinterface GanttContextValue { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly snapshot: ShallowRef<GanttSnapshot>;}connectorGanttApiscopePartScopeserviceGanttServicesnapshotShallowRef<GanttSnapshot>- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<GanttSnapshot>- Requirement
- required
GanttList
valueexport declare const GanttList: 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>;GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttRoot
valueexport declare const GanttRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; bars: { type: PropType<GanttInput["bars"]>; default: undefined; }; columnCount: { type: PropType<number | undefined>; default: undefined; }; step: { type: PropType<number | undefined>; default: undefined; }; interactive: { type: PropType<boolean | undefined>; default: undefined; };}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any;}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { rangeChange: (_detail: GanttRangeChangeDetail) => true;}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; bars: { type: PropType<GanttInput["bars"]>; default: undefined; }; columnCount: { type: PropType<number | undefined>; default: undefined; }; step: { type: PropType<number | undefined>; default: undefined; }; interactive: { type: PropType<boolean | undefined>; default: undefined; };}>> & Readonly<{ onRangeChange?: ((_detail: GanttRangeChangeDetail) => any) | undefined;}>, { asChild: boolean; bars: readonly import("@grassroot/ui-machines/gantt").GanttBarRange[] | undefined; columnCount: number | undefined; step: number | undefined; interactive: boolean | undefined;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;GanttRow
valueexport declare const GanttRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; 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<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; required: true; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;GanttTrack
valueexport declare const GanttTrack: import("vue").DefineComponent<import("vue").ExtractPropTypes<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; 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<{ asChild: { type: BooleanConstructor; default: boolean; }; id: { type: StringConstructor; required: true; };}>> & Readonly<{}>, { asChild: boolean;}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
toVueProps
functiondeclare function toVueProps(props: PartProps): Record<string, unknown>;propsPartPropsreturnRecord<string, unknown>- Name
props- Kind
- parameter
- Type
PartProps- Requirement
- required
- Name
return- Kind
- return value
- Type
Record<string, unknown>- Requirement
- n/a
useGantt
functiondeclare function useGantt(input: GanttInput | (() => GanttInput), options?: UseGanttOptions): UseGanttResult;inputGanttInput | (() => GanttInput)optionsUseGanttOptionsreturnUseGanttResult- Name
input- Kind
- parameter
- Type
GanttInput | (() => GanttInput)- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseGanttOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseGanttResult- Requirement
- n/a
useGanttContext
functiondeclare function useGanttContext(partName: string): GanttContextValue;partNamestringreturnGanttContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttContextValue- Requirement
- n/a
UseGanttOptions
interfaceinterface UseGanttOptions { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void;}onRangeChange(detail: GanttRangeChangeDetail) => void- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
UseGanttResult
interfaceinterface UseGanttResult { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly snapshot: ShallowRef<GanttSnapshot>;}connectorGanttApiscopePartScopeserviceGanttServicesnapshotShallowRef<GanttSnapshot>- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
ShallowRef<GanttSnapshot>- Requirement
- required
@grassroot/ui-headless-angular/gantt
Angular adapter
applyProps
functionApplies a connector prop bag to a persistent Angular DOM element.
export declare function applyProps(el: Element, props: PartProps, listeners: Map<string, EventListener>): void;elElementpropsPartPropslistenersMap<string, EventListener>returnvoid- Name
el- Kind
- parameter
- Type
Element- Requirement
- required
- Name
props- Kind
- parameter
- Type
PartProps- Requirement
- required
- Name
listeners- Kind
- parameter
- Type
Map<string, EventListener>- Requirement
- required
- Name
return- Kind
- return value
- Type
void- Requirement
- n/a
createGanttStore
functionexport declare function createGanttStore(initialInput: GanttInput, options?: CreateGanttStoreOptions): GanttStore;initialInputGanttInputoptionsCreateGanttStoreOptionsreturnGanttStore- Name
initialInput- Kind
- parameter
- Type
GanttInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
CreateGanttStoreOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttStore- Requirement
- n/a
CreateGanttStoreOptions
interfaceexport interface CreateGanttStoreOptions { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void; readonly onCommit?: () => void;}onCommit() => voidonRangeChange(detail: GanttRangeChangeDetail) => void- Name
onCommit- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
createReentrantSafeTick
functionOne re-entrancy policy for every Angular store's zoneless commit nudge.
export declare function createReentrantSafeTick(appRef: ApplicationRef): () => void;appRefApplicationRefreturn() => void- Name
appRef- Kind
- parameter
- Type
ApplicationRef- Requirement
- required
- Name
return- Kind
- return value
- Type
() => void- Requirement
- n/a
GANTT_STORE
valueexport declare const GANTT_STORE: InjectionToken<GanttStore>;GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttStore
interfaceexport interface GanttStore { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly version: WritableSignal<number>; start(): void; stop(): void; sync(input: GanttInput): void; bindRangeChange(handler: (detail: import("./use-gantt.js").GanttRangeChangeDetail) => void): void;}bindRangeChange(handler: (detail: import("./use-gantt.js").GanttRangeChangeDetail) => void) => voidconnectorGanttApiscopePartScopeserviceGanttServicestart() => voidstop() => voidsync(input: GanttInput) => voidversionWritableSignal<number>- Name
bindRangeChange- Kind
- method
- Type
(handler: (detail: import("./use-gantt.js").GanttRangeChangeDetail) => void) => void- Requirement
- required
- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
start- Kind
- method
- Type
() => void- Requirement
- required
- Name
stop- Kind
- method
- Type
() => void- Requirement
- required
- Name
sync- Kind
- method
- Type
(input: GanttInput) => void- Requirement
- required
- Name
version- Kind
- property
- Type
WritableSignal<number>- Requirement
- required
GR_GANTT_DECLARATIONS
valueexport declare const GR_GANTT_DECLARATIONS: readonly [typeof GrGanttRoot, typeof GrGanttList, typeof GrGanttRow, typeof GrGanttTrack, typeof GrGanttBar];GrGanttBar
classexport declare class GrGanttBar implements OnDestroy { readonly barId: import("@angular/core").InputSignal<string | undefined>; private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; private registeredKey; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrGanttBar, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrGanttBar, "[grGanttBar]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;}barIdimport("@angular/core").InputSignal<string | undefined>consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrGanttBar, "[grGanttBar]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrGanttBar, never>registeredKeyanystoreany- Name
barId- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- 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<GrGanttBar, "[grGanttBar]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrGanttBar, never>- Requirement
- required
- Name
registeredKey- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrGanttList
classexport declare class GrGanttList implements OnDestroy { private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrGanttList, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrGanttList, "[grGanttList]", never, {}, {}, never, never, true, never>;}consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrGanttList, "[grGanttList]", never, {}, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrGanttList, 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<GrGanttList, "[grGanttList]", never, {}, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrGanttList, never>- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrGanttRoot
classexport declare class GrGanttRoot implements OnDestroy { readonly bars: import("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/gantt").GanttBarRange[] | undefined>; readonly columnCount: import("@angular/core").InputSignal<number | undefined>; readonly step: import("@angular/core").InputSignal<number | undefined>; readonly interactive: import("@angular/core").InputSignal<boolean | undefined>; readonly rangeChange: import("@angular/core").OutputEmitterRef<GanttRangeChangeDetail>; private readonly elementRef; private readonly injector; private readonly listeners; private lastSynced; readonly store: GanttStore; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrGanttRoot, never>; static ɵcmp: i0.ɵɵComponentDeclaration<GrGanttRoot, "gr-gantt-root", never, { "bars": { "alias": "bars"; "required": false; "isSignal": true; }; "columnCount": { "alias": "columnCount"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, ["*"], true, never>;}barsimport("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/gantt").GanttBarRange[] | undefined>columnCountimport("@angular/core").InputSignal<number | undefined>elementRefanyinjectoranyinteractiveimport("@angular/core").InputSignal<boolean | undefined>lastSyncedanylistenersanyngOnDestroy() => voidɵcmpi0.ɵɵComponentDeclaration<GrGanttRoot, "gr-gantt-root", never, { "bars": { "alias": "bars"; "required": false; "isSignal": true; }; "columnCount": { "alias": "columnCount"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, ["*"], true, never>ɵfaci0.ɵɵFactoryDeclaration<GrGanttRoot, never>rangeChangeimport("@angular/core").OutputEmitterRef<GanttRangeChangeDetail>stepimport("@angular/core").InputSignal<number | undefined>storeGanttStore- Name
bars- Kind
- property
- Type
import("@angular/core").InputSignal<readonly import("@grassroot/ui-machines/gantt").GanttBarRange[] | undefined>- Requirement
- required
- Name
columnCount- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
- Name
elementRef- Kind
- property
- Type
any- Requirement
- required
- Name
injector- Kind
- property
- Type
any- Requirement
- required
- Name
interactive- Kind
- property
- Type
import("@angular/core").InputSignal<boolean | undefined>- 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
ɵcmp- Kind
- property
- Type
i0.ɵɵComponentDeclaration<GrGanttRoot, "gr-gantt-root", never, { "bars": { "alias": "bars"; "required": false; "isSignal": true; }; "columnCount": { "alias": "columnCount"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, ["*"], true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrGanttRoot, never>- Requirement
- required
- Name
rangeChange- Kind
- property
- Type
import("@angular/core").OutputEmitterRef<GanttRangeChangeDetail>- Requirement
- required
- Name
step- Kind
- property
- Type
import("@angular/core").InputSignal<number | undefined>- Requirement
- required
- Name
store- Kind
- property
- Type
GanttStore- Requirement
- required
GrGanttRow
classexport declare class GrGanttRow implements OnDestroy { readonly barId: import("@angular/core").InputSignal<string | undefined>; private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; private registeredKey; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrGanttRow, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrGanttRow, "[grGanttRow]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;}barIdimport("@angular/core").InputSignal<string | undefined>consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrGanttRow, "[grGanttRow]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrGanttRow, never>registeredKeyanystoreany- Name
barId- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- 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<GrGanttRow, "[grGanttRow]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrGanttRow, never>- Requirement
- required
- Name
registeredKey- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
GrGanttTrack
classexport declare class GrGanttTrack implements OnDestroy { readonly barId: import("@angular/core").InputSignal<string | undefined>; private readonly store; private readonly elementRef; private readonly listeners; private readonly consumerProps; private registeredKey; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<GrGanttTrack, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<GrGanttTrack, "[grGanttTrack]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;}barIdimport("@angular/core").InputSignal<string | undefined>consumerPropsanyelementRefanylistenersanyngOnDestroy() => voidɵdiri0.ɵɵDirectiveDeclaration<GrGanttTrack, "[grGanttTrack]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>ɵfaci0.ɵɵFactoryDeclaration<GrGanttTrack, never>registeredKeyanystoreany- Name
barId- Kind
- property
- Type
import("@angular/core").InputSignal<string | undefined>- Requirement
- required
- 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<GrGanttTrack, "[grGanttTrack]", never, { "barId": { "alias": "barId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>- Requirement
- required
- Name
ɵfac- Kind
- property
- Type
i0.ɵɵFactoryDeclaration<GrGanttTrack, never>- Requirement
- required
- Name
registeredKey- Kind
- property
- Type
any- Requirement
- required
- Name
store- Kind
- property
- Type
any- Requirement
- required
projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
provideGanttStore
functionexport declare function provideGanttStore(): Provider;returnProvider- Name
return- Kind
- return value
- Type
Provider- Requirement
- n/a
@grassroot/ui-headless-svelte/gantt
Svelte adapter
createGantt
functionexport declare function createGantt(inputGetter: () => GanttInput, options?: UseGanttOptions): UseGanttResult;inputGetter() => GanttInputoptionsUseGanttOptionsreturnUseGanttResult- Name
inputGetter- Kind
- parameter
- Type
() => GanttInput- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseGanttOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseGanttResult- Requirement
- n/a
GanttBar
valueexport declare const GanttBar: 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
GanttContextValue
interfaceexport interface GanttContextValue { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly version: () => number;}connectorGanttApiscopePartScopeserviceGanttServiceversion() => number- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
GanttList
valueexport declare const GanttList: 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
GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttRoot
valueexport declare const GanttRoot: 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
GanttRow
valueexport declare const GanttRow: 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
GanttTrack
valueexport declare const GanttTrack: 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
projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
splitProps
functionSplit the core prop bag, then apply Svelte-specific style/event handling.
export declare function splitProps(props: PartProps): SplitProps;propsPartPropsreturnSplitProps- Name
props- Kind
- parameter
- Type
PartProps- Requirement
- required
- Name
return- Kind
- return value
- Type
SplitProps- Requirement
- n/a
useGanttContext
functionexport declare function useGanttContext(partName: string): GanttContextValue;partNamestringreturnGanttContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttContextValue- Requirement
- n/a
UseGanttOptions
interfaceexport interface UseGanttOptions { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void;}onRangeChange(detail: GanttRangeChangeDetail) => void- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
UseGanttResult
interfaceexport interface UseGanttResult { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly version: () => number;}connectorGanttApiscopePartScopeserviceGanttServiceversion() => number- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
version- Kind
- property
- Type
() => number- Requirement
- required
wireEvents
functionexport declare function wireEvents(node: Element, params: { events: Record<string, EventListener>; ref?: (node: Element | null) => void;}): { update(next: typeof params): void; destroy(): void;};nodeElementparams{
events: Record<string, EventListener>;
ref?: (node: Element | null) => void;
}return{
update(next: typeof params): void;
destroy(): void;
}- Name
node- Kind
- parameter
- Type
Element- Requirement
- required
- Name
params- Kind
- parameter
- Type
{ events: Record<string, EventListener>; ref?: (node: Element | null) => void; }- Requirement
- required
- Name
return- Kind
- return value
- Type
{ update(next: typeof params): void; destroy(): void; }- Requirement
- n/a
@grassroot/ui-headless-solid/gantt
Solid adapter
GanttBar
functionexport declare function GanttBar(props: GanttBarProps): JSX.Element;propsGanttBarPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
GanttBarProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
GanttBarProps
interfaceexport interface GanttBarProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp; readonly id: string;}asAsPropidstring- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
GanttContext
valueexport declare const GanttContext: import("solid-js").Context<GanttContextValue | undefined>;GanttContextValue
interfaceexport interface GanttContextValue { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly snapshot: Accessor<GanttSnapshot>;}connectorGanttApiscopePartScopeserviceGanttServicesnapshotAccessor<GanttSnapshot>- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<GanttSnapshot>- Requirement
- required
GanttList
functionexport declare function GanttList(props: GanttListProps): JSX.Element;propsGanttListPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
GanttListProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
GanttListProps
interfaceexport interface GanttListProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp;}asAsProp- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
GanttRangeChangeDetail
interfaceinterface GanttRangeChangeDetail { readonly id: string; readonly start: number; readonly end: number; readonly reason: "pointer" | "keyboard";}endnumberidstringreason"pointer" | "keyboard"startnumber- Name
end- Kind
- property
- Type
number- Requirement
- required
- Name
id- Kind
- property
- Type
string- Requirement
- required
- Name
reason- Kind
- property
- Type
"pointer" | "keyboard"- Requirement
- required
- Name
start- Kind
- property
- Type
number- Requirement
- required
GanttRoot
functionexport declare function GanttRoot(props: GanttRootProps): JSX.Element;propsGanttRootPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
GanttRootProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
GanttRootProps
interfaceexport interface GanttRootProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onChange"> { readonly as?: AsProp; readonly bars?: GanttInput["bars"]; readonly columnCount?: GanttInput["columnCount"]; readonly step?: GanttInput["step"]; readonly interactive?: GanttInput["interactive"]; readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void;}asAsPropbarsGanttInput["bars"]columnCountGanttInput["columnCount"]interactiveGanttInput["interactive"]onRangeChange(detail: GanttRangeChangeDetail) => voidstepGanttInput["step"]- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
- Name
bars- Kind
- property
- Type
GanttInput["bars"]- Requirement
- optional
- Name
columnCount- Kind
- property
- Type
GanttInput["columnCount"]- Requirement
- optional
- Name
interactive- Kind
- property
- Type
GanttInput["interactive"]- Requirement
- optional
- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
- Name
step- Kind
- property
- Type
GanttInput["step"]- Requirement
- optional
GanttRow
functionexport declare function GanttRow(props: GanttRowProps): JSX.Element;propsGanttRowPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
GanttRowProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
GanttRowProps
interfaceexport interface GanttRowProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp; readonly id: string;}asAsPropidstring- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
GanttTrack
functionexport declare function GanttTrack(props: GanttTrackProps): JSX.Element;propsGanttTrackPropsreturnJSX.Element- Name
props- Kind
- parameter
- Type
GanttTrackProps- Requirement
- required
- Name
return- Kind
- return value
- Type
JSX.Element- Requirement
- n/a
GanttTrackProps
interfaceexport interface GanttTrackProps extends JSX.HTMLAttributes<HTMLDivElement> { readonly as?: AsProp; readonly id: string;}asAsPropidstring- Name
as- Kind
- property
- Type
AsProp- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- required
projectGanttBars
functiondeclare function projectGanttBars<T extends { readonly start: number; readonly end: number;}>(rows: readonly T[], getRowId?: (row: T, index: number) => string): GanttBarRange[];rowsreadonly T[]getRowId(row: T, index: number) => stringreturnGanttBarRange[]- Name
rows- Kind
- parameter
- Type
readonly T[]- Requirement
- required
- Name
getRowId- Kind
- parameter
- Type
(row: T, index: number) => string- Requirement
- optional
- Name
return- Kind
- return value
- Type
GanttBarRange[]- Requirement
- n/a
useGantt
functionexport declare function useGantt(input: Accessor<GanttInput>, options?: UseGanttOptions): UseGanttResult;inputAccessor<GanttInput>optionsUseGanttOptionsreturnUseGanttResult- Name
input- Kind
- parameter
- Type
Accessor<GanttInput>- Requirement
- required
- Name
options- Kind
- parameter
- Type
UseGanttOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
UseGanttResult- Requirement
- n/a
useGanttContext
functionexport declare function useGanttContext(partName: string): GanttContextValue;partNamestringreturnGanttContextValue- Name
partName- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
GanttContextValue- Requirement
- n/a
UseGanttOptions
interfaceexport interface UseGanttOptions { readonly onRangeChange?: (detail: GanttRangeChangeDetail) => void;}onRangeChange(detail: GanttRangeChangeDetail) => void- Name
onRangeChange- Kind
- property
- Type
(detail: GanttRangeChangeDetail) => void- Requirement
- optional
UseGanttResult
interfaceexport interface UseGanttResult { readonly service: GanttService; readonly connector: GanttApi; readonly scope: PartScope; readonly snapshot: Accessor<GanttSnapshot>;}connectorGanttApiscopePartScopeserviceGanttServicesnapshotAccessor<GanttSnapshot>- Name
connector- Kind
- property
- Type
GanttApi- Requirement
- required
- Name
scope- Kind
- property
- Type
PartScope- Requirement
- required
- Name
service- Kind
- property
- Type
GanttService- Requirement
- required
- Name
snapshot- Kind
- property
- Type
Accessor<GanttSnapshot>- Requirement
- required