- Name
end- Kind
- property
- Type
string | null- Requirement
- required
DocsAPI referenceUI machinesdate-range-picker
date-range-picker machine
The public state machine contract for @grassroot/ui-machines/date-range-picker. The machine owns behaviour; the matching headless layer owns composition.
@grassroot/ui-machines/date-range-picker
Package
Service example
date-range-picker.tsts
import { createService } from "@grassroot/statechart";import { dateRangePickerMachine } from "@grassroot/ui-machines/date-range-picker"; const service = createService(dateRangePickerMachine, { input: {} });service.start();service.send({ type: "…" });service.stop();17 of 17
Exports
DATE_RANGE_PRESETS
valueDATE_RANGE_PRESETSts
export declare const DATE_RANGE_PRESETS: readonly ["Today", "Last 7 days", "Last 30 days", "This month"];DateRange
typeDateRangets
type DateRange = { readonly start: string | null; readonly end: string | null;};Name
Kind
Type
Requirement
endproperty
string | nullrequired
startproperty
string | nullrequired
- Name
start- Kind
- property
- Type
string | null- Requirement
- required
dateRangeCellState
functiondateRangeCellStatets
declare function dateRangeCellState(range: DateRange, hover: string | null, date: string): DateRangeCellState;Name
Kind
Type
Requirement
rangeparameter
DateRangerequired
hoverparameter
string | nullrequired
dateparameter
stringrequired
returnreturn value
DateRangeCellStaten/a
- Name
range- Kind
- parameter
- Type
DateRange- Requirement
- required
- Name
hover- Kind
- parameter
- Type
string | null- Requirement
- required
- Name
date- Kind
- parameter
- Type
string- Requirement
- required
- Name
return- Kind
- return value
- Type
DateRangeCellState- Requirement
- n/a
DateRangeCellState
interfaceDateRangeCellStatets
interface DateRangeCellState { readonly isStart: boolean; readonly isEnd: boolean; readonly inBand: boolean; readonly isEdge: boolean;}Name
Kind
Type
Requirement
inBandproperty
booleanrequired
isEdgeproperty
booleanrequired
isEndproperty
booleanrequired
isStartproperty
booleanrequired
- Name
inBand- Kind
- property
- Type
boolean- Requirement
- required
- Name
isEdge- Kind
- property
- Type
boolean- Requirement
- required
- Name
isEnd- Kind
- property
- Type
boolean- Requirement
- required
- Name
isStart- Kind
- property
- Type
boolean- Requirement
- required
DateRangeDay
typeDateRangeDayts
type DateRangeDay = CalendarDay;dateRangeGrid
functiondateRangeGridts
declare function dateRangeGrid(year: number, month: number): DateRangeDay[];Name
Kind
Type
Requirement
yearparameter
numberrequired
monthparameter
numberrequired
returnreturn value
DateRangeDay[]n/a
- Name
year- Kind
- parameter
- Type
number- Requirement
- required
- Name
month- Kind
- parameter
- Type
number- Requirement
- required
- Name
return- Kind
- return value
- Type
DateRangeDay[]- Requirement
- n/a
DateRangePickerCommandts
type DateRangePickerCommand = CommandObject & ({ readonly type: "VALUE_CHANGE_REQUEST"; readonly value: DateRange; readonly reason: DateRangePickerReason;} | { readonly type: "OPEN_CHANGE_REQUEST"; readonly open: boolean; readonly reason: DateRangePickerReason;});DateRangePickerContextts
type DateRangePickerContext = { readonly range: DateRange; readonly open: boolean; readonly hover: string | null; readonly year: number; readonly month: number; readonly mode: BindingMode; readonly openMode: BindingMode;};Name
Kind
Type
Requirement
hoverproperty
string | nullrequired
modeproperty
BindingModerequired
monthproperty
numberrequired
openproperty
booleanrequired
openModeproperty
BindingModerequired
rangeproperty
DateRangerequired
yearproperty
numberrequired
- Name
hover- Kind
- property
- Type
string | null- Requirement
- required
- Name
mode- Kind
- property
- Type
BindingMode- Requirement
- required
- Name
month- Kind
- property
- Type
number- Requirement
- required
- Name
open- Kind
- property
- Type
boolean- Requirement
- required
- Name
openMode- Kind
- property
- Type
BindingMode- Requirement
- required
- Name
range- Kind
- property
- Type
DateRange- Requirement
- required
- Name
year- Kind
- property
- Type
number- Requirement
- required
DateRangePickerDiagnosticCodests
export declare const DateRangePickerDiagnosticCodes: readonly DiagnosticCatalogueEntry[];DateRangePickerEvent
typeDateRangePickerEventts
type DateRangePickerEvent = { readonly type: "SELECT"; readonly value: string; readonly reason?: DateRangePickerReason;} | { readonly type: "HOVER"; readonly value: string | null;} | { readonly type: "PRESET"; readonly range: DateRange;} | { readonly type: "OPEN"; readonly reason: DateRangePickerReason;} | { readonly type: "CLOSE"; readonly reason: DateRangePickerReason;} | { readonly type: "TOGGLE"; readonly reason: DateRangePickerReason;} | { readonly type: "SHIFT"; readonly delta: number;} | { readonly type: "RESET";};DateRangePickerInput
typeDateRangePickerInputts
type DateRangePickerInput = { readonly value?: DateRange; readonly defaultValue?: DateRange; readonly open?: boolean; readonly defaultOpen?: boolean; readonly today?: string;};Name
Kind
Type
Requirement
defaultOpenproperty
booleanoptional
defaultValueproperty
DateRangeoptional
openproperty
booleanoptional
todayproperty
stringoptional
valueproperty
DateRangeoptional
- Name
defaultOpen- Kind
- property
- Type
boolean- Requirement
- optional
- Name
defaultValue- Kind
- property
- Type
DateRange- Requirement
- optional
- Name
open- Kind
- property
- Type
boolean- Requirement
- optional
- Name
today- Kind
- property
- Type
string- Requirement
- optional
- Name
value- Kind
- property
- Type
DateRange- Requirement
- optional
dateRangePickerMachine
valuedateRangePickerMachinets
export declare const dateRangePickerMachine: Machine<DateRangePickerInput, "ready", DateRangePickerContext, DateRangePickerEvent, DateRangePickerCommand>;DateRangePickerReasonts
type DateRangePickerReason = "pointer" | "keyboard" | "programmatic" | "preset";dateRangePickerReplaySequencets
export declare const dateRangePickerReplaySequence: readonly DateRangePickerEvent[];dateRangePickerSelectors
valuedateRangePickerSelectorsts
export declare const dateRangePickerSelectors: { range: (snapshot: DateRangePickerSnapshot) => DateRange; open: (snapshot: DateRangePickerSnapshot) => boolean;};Name
Kind
Type
Requirement
openproperty
(snapshot: DateRangePickerSnapshot) => booleanrequired
rangeproperty
(snapshot: DateRangePickerSnapshot) => DateRangerequired
- Name
open- Kind
- property
- Type
(snapshot: DateRangePickerSnapshot) => boolean- Requirement
- required
- Name
range- Kind
- property
- Type
(snapshot: DateRangePickerSnapshot) => DateRange- Requirement
- required
DateRangePickerSnapshotts
type DateRangePickerSnapshot = Snapshot<"ready", DateRangePickerContext>;dateRangePreset
functiondateRangePresetts
declare function dateRangePreset(index: number, today?: string): DateRange;Name
Kind
Type
Requirement
indexparameter
numberrequired
todayparameter
stringoptional
returnreturn value
DateRangen/a
- Name
index- Kind
- parameter
- Type
number- Requirement
- required
- Name
today- Kind
- parameter
- Type
string- Requirement
- optional
- Name
return- Kind
- return value
- Type
DateRange- Requirement
- n/a