@renderlesskit/react
Version:
Collection of headless components/hooks that are accessible, composable, customizable from low level to build your own UI & Design System powered by Reakit
330 lines (329 loc) • 19.5 kB
TypeScript
import * as React from "react";
import { ValueBase } from "@react-types/shared";
import { PickerBaseInitialState } from "../picker-base";
import { SegmentInitialState } from "../segment";
export declare type TimePickerInitialState = PickerBaseInitialState & ValueBase<string> & Pick<Partial<SegmentInitialState>, "formatOptions" | "placeholderDate"> & {
/**
* Whether the element should receive focus on render.
*/
autoFocus?: boolean;
};
export declare const useTimePickerState: (props?: TimePickerInitialState) => {
fieldValue: Date;
setFieldValue: (value: Date) => void;
segments: import("../segment").DateSegment[];
dateFormatter: import("@internationalized/date").DateFormatter;
increment(part: Intl.DateTimeFormatPartTypes): void;
decrement(part: Intl.DateTimeFormatPartTypes): void;
incrementPage(part: Intl.DateTimeFormatPartTypes): void;
decrementPage(part: Intl.DateTimeFormatPartTypes): void;
setSegment(part: Intl.DateTimeFormatPartTypes, v: number): void;
confirmPlaceholder(part: Intl.DateTimeFormatPartTypes): void;
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
unstable_virtual: boolean;
rtl: boolean;
orientation?: import("reakit/ts/Composite/__utils/types").Orientation | undefined;
items: import("reakit/ts/Composite/__utils/types").Item[];
groups: import("reakit/ts/Composite/__utils/types").Group[];
currentId?: string | null | undefined;
loop: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
wrap: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
shift: boolean;
unstable_moves: number;
unstable_hasActiveWidget: boolean;
unstable_includesBaseElement: boolean;
registerItem: (item: import("reakit/ts/Composite/__utils/types").Item) => void;
unregisterItem: (id: string) => void;
registerGroup: (group: import("reakit/ts/Composite/__utils/types").Group) => void;
unregisterGroup: (id: string) => void;
move: (id: string | null) => void;
next: (unstable_allTheWay?: boolean | undefined) => void;
previous: (unstable_allTheWay?: boolean | undefined) => void;
up: (unstable_allTheWay?: boolean | undefined) => void;
down: (unstable_allTheWay?: boolean | undefined) => void;
first: () => void;
last: () => void;
sort: () => void;
unstable_setVirtual: React.Dispatch<React.SetStateAction<boolean>>;
setRTL: React.Dispatch<React.SetStateAction<boolean>>;
setOrientation: React.Dispatch<React.SetStateAction<import("reakit/ts/Composite/__utils/types").Orientation | undefined>>;
setCurrentId: React.Dispatch<React.SetStateAction<string | null | undefined>>;
setLoop: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setWrap: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setShift: React.Dispatch<React.SetStateAction<boolean>>;
reset: () => void;
unstable_setIncludesBaseElement: React.Dispatch<React.SetStateAction<boolean>>;
unstable_setHasActiveWidget: React.Dispatch<React.SetStateAction<boolean>>;
visible: boolean;
animated: number | boolean; /**
* Whether the element should receive focus on render.
*/
animating: boolean;
show: () => void;
hide: () => void;
toggle: () => void;
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
setAnimated: React.Dispatch<React.SetStateAction<number | boolean>>;
stopAnimation: () => void;
modal: boolean;
unstable_disclosureRef: React.MutableRefObject<HTMLElement | null>;
setModal: React.Dispatch<React.SetStateAction<boolean>>;
unstable_referenceRef: React.RefObject<HTMLElement | null>;
unstable_popoverRef: React.RefObject<HTMLElement | null>;
unstable_arrowRef: React.RefObject<HTMLElement | null>;
unstable_popoverStyles: React.CSSProperties;
unstable_arrowStyles: React.CSSProperties;
unstable_originalPlacement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
unstable_update: () => boolean;
placement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
place: React.Dispatch<React.SetStateAction<"auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start">>;
pickerId: string | undefined;
dialogId: string | undefined;
isDisabled: boolean | undefined;
isReadOnly: boolean | undefined;
segmentFocus: (() => void) | undefined;
time: Date;
hours: number[];
minutes: number[];
meridies: string[];
hourState: {
up: (unstable_allTheWay?: boolean | undefined) => void;
down: (unstable_allTheWay?: boolean | undefined) => void;
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
unstable_virtual: boolean;
rtl: boolean;
orientation?: import("reakit/ts/Composite/__utils/types").Orientation | undefined;
items: import("reakit/ts/Composite/__utils/types").Item[];
groups: import("reakit/ts/Composite/__utils/types").Group[];
currentId?: string | null | undefined;
loop: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
wrap: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
shift: boolean;
unstable_moves: number;
unstable_hasActiveWidget: boolean;
unstable_includesBaseElement: boolean;
registerItem: (item: import("reakit/ts/Composite/__utils/types").Item) => void;
unregisterItem: (id: string) => void;
registerGroup: (group: import("reakit/ts/Composite/__utils/types").Group) => void;
unregisterGroup: (id: string) => void;
move: (id: string | null) => void;
next: (unstable_allTheWay?: boolean | undefined) => void;
previous: (unstable_allTheWay?: boolean | undefined) => void;
first: () => void;
last: () => void;
sort: () => void;
unstable_setVirtual: React.Dispatch<React.SetStateAction<boolean>>;
setRTL: React.Dispatch<React.SetStateAction<boolean>>;
setOrientation: React.Dispatch<React.SetStateAction<import("reakit/ts/Composite/__utils/types").Orientation | undefined>>;
setCurrentId: React.Dispatch<React.SetStateAction<string | null | undefined>>;
setLoop: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setWrap: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setShift: React.Dispatch<React.SetStateAction<boolean>>;
reset: () => void;
unstable_setIncludesBaseElement: React.Dispatch<React.SetStateAction<boolean>>;
unstable_setHasActiveWidget: React.Dispatch<React.SetStateAction<boolean>>;
popover: {
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
visible: boolean;
animated: number | boolean; /**
* Whether the element should receive focus on render.
*/
animating: boolean;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
show: () => void;
hide: () => void;
toggle: () => void;
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
setAnimated: React.Dispatch<React.SetStateAction<number | boolean>>;
stopAnimation: () => void;
modal: boolean;
unstable_disclosureRef: React.MutableRefObject<HTMLElement | null>;
setModal: React.Dispatch<React.SetStateAction<boolean>>;
unstable_referenceRef: React.RefObject<HTMLElement | null>;
unstable_popoverRef: React.RefObject<HTMLElement | null>;
unstable_arrowRef: React.RefObject<HTMLElement | null>;
unstable_popoverStyles: React.CSSProperties;
unstable_arrowStyles: React.CSSProperties;
unstable_originalPlacement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
unstable_update: () => boolean;
placement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
place: React.Dispatch<React.SetStateAction<"auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start">>;
pickerId: string | undefined;
dialogId: string | undefined;
isDisabled: boolean | undefined;
isReadOnly: boolean | undefined;
segmentFocus: (() => void) | undefined;
} | undefined;
date: Date;
selected: number;
setSelected: (value: number, close?: boolean | undefined) => void;
visible: boolean | undefined;
columnType: import("./TimePickerColumnState").ColumnType;
restoreOldTime: (() => Date) | undefined;
updateOldTime: (() => void) | undefined;
};
minuteState: {
up: (unstable_allTheWay?: boolean | undefined) => void;
down: (unstable_allTheWay?: boolean | undefined) => void;
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
unstable_virtual: boolean;
rtl: boolean;
orientation?: import("reakit/ts/Composite/__utils/types").Orientation | undefined;
items: import("reakit/ts/Composite/__utils/types").Item[];
groups: import("reakit/ts/Composite/__utils/types").Group[];
currentId?: string | null | undefined;
loop: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
wrap: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
shift: boolean;
unstable_moves: number;
unstable_hasActiveWidget: boolean;
unstable_includesBaseElement: boolean;
registerItem: (item: import("reakit/ts/Composite/__utils/types").Item) => void;
unregisterItem: (id: string) => void;
registerGroup: (group: import("reakit/ts/Composite/__utils/types").Group) => void;
unregisterGroup: (id: string) => void;
move: (id: string | null) => void;
next: (unstable_allTheWay?: boolean | undefined) => void;
previous: (unstable_allTheWay?: boolean | undefined) => void;
first: () => void;
last: () => void;
sort: () => void;
unstable_setVirtual: React.Dispatch<React.SetStateAction<boolean>>;
setRTL: React.Dispatch<React.SetStateAction<boolean>>;
setOrientation: React.Dispatch<React.SetStateAction<import("reakit/ts/Composite/__utils/types").Orientation | undefined>>;
setCurrentId: React.Dispatch<React.SetStateAction<string | null | undefined>>;
setLoop: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setWrap: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setShift: React.Dispatch<React.SetStateAction<boolean>>;
reset: () => void;
unstable_setIncludesBaseElement: React.Dispatch<React.SetStateAction<boolean>>;
unstable_setHasActiveWidget: React.Dispatch<React.SetStateAction<boolean>>;
popover: {
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
visible: boolean;
animated: number | boolean; /**
* Whether the element should receive focus on render.
*/
animating: boolean;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
show: () => void;
hide: () => void;
toggle: () => void;
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
setAnimated: React.Dispatch<React.SetStateAction<number | boolean>>;
stopAnimation: () => void;
modal: boolean;
unstable_disclosureRef: React.MutableRefObject<HTMLElement | null>;
setModal: React.Dispatch<React.SetStateAction<boolean>>;
unstable_referenceRef: React.RefObject<HTMLElement | null>;
unstable_popoverRef: React.RefObject<HTMLElement | null>;
unstable_arrowRef: React.RefObject<HTMLElement | null>;
unstable_popoverStyles: React.CSSProperties;
unstable_arrowStyles: React.CSSProperties;
unstable_originalPlacement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
unstable_update: () => boolean;
placement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
place: React.Dispatch<React.SetStateAction<"auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start">>;
pickerId: string | undefined;
dialogId: string | undefined;
isDisabled: boolean | undefined;
isReadOnly: boolean | undefined;
segmentFocus: (() => void) | undefined;
} | undefined;
date: Date;
selected: number;
setSelected: (value: number, close?: boolean | undefined) => void;
visible: boolean | undefined;
columnType: import("./TimePickerColumnState").ColumnType;
restoreOldTime: (() => Date) | undefined;
updateOldTime: (() => void) | undefined;
};
meridiesState: {
up: (unstable_allTheWay?: boolean | undefined) => void;
down: (unstable_allTheWay?: boolean | undefined) => void;
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
unstable_virtual: boolean;
rtl: boolean;
orientation?: import("reakit/ts/Composite/__utils/types").Orientation | undefined;
items: import("reakit/ts/Composite/__utils/types").Item[];
groups: import("reakit/ts/Composite/__utils/types").Group[];
currentId?: string | null | undefined;
loop: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
wrap: boolean | import("reakit/ts/Composite/__utils/types").Orientation;
shift: boolean;
unstable_moves: number;
unstable_hasActiveWidget: boolean;
unstable_includesBaseElement: boolean;
registerItem: (item: import("reakit/ts/Composite/__utils/types").Item) => void;
unregisterItem: (id: string) => void;
registerGroup: (group: import("reakit/ts/Composite/__utils/types").Group) => void;
unregisterGroup: (id: string) => void;
move: (id: string | null) => void;
next: (unstable_allTheWay?: boolean | undefined) => void;
previous: (unstable_allTheWay?: boolean | undefined) => void;
first: () => void;
last: () => void;
sort: () => void;
unstable_setVirtual: React.Dispatch<React.SetStateAction<boolean>>;
setRTL: React.Dispatch<React.SetStateAction<boolean>>;
setOrientation: React.Dispatch<React.SetStateAction<import("reakit/ts/Composite/__utils/types").Orientation | undefined>>;
setCurrentId: React.Dispatch<React.SetStateAction<string | null | undefined>>;
setLoop: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setWrap: React.Dispatch<React.SetStateAction<boolean | import("reakit/ts/Composite/__utils/types").Orientation>>;
setShift: React.Dispatch<React.SetStateAction<boolean>>;
reset: () => void;
unstable_setIncludesBaseElement: React.Dispatch<React.SetStateAction<boolean>>;
unstable_setHasActiveWidget: React.Dispatch<React.SetStateAction<boolean>>;
popover: {
baseId: string;
unstable_idCountRef: React.MutableRefObject<number>;
visible: boolean;
animated: number | boolean; /**
* Whether the element should receive focus on render.
*/
animating: boolean;
setBaseId: React.Dispatch<React.SetStateAction<string>>;
show: () => void;
hide: () => void;
toggle: () => void;
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
setAnimated: React.Dispatch<React.SetStateAction<number | boolean>>;
stopAnimation: () => void;
modal: boolean;
unstable_disclosureRef: React.MutableRefObject<HTMLElement | null>;
setModal: React.Dispatch<React.SetStateAction<boolean>>;
unstable_referenceRef: React.RefObject<HTMLElement | null>;
unstable_popoverRef: React.RefObject<HTMLElement | null>;
unstable_arrowRef: React.RefObject<HTMLElement | null>;
unstable_popoverStyles: React.CSSProperties;
unstable_arrowStyles: React.CSSProperties;
unstable_originalPlacement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
unstable_update: () => boolean;
placement: "auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start";
place: React.Dispatch<React.SetStateAction<"auto" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left-start">>;
pickerId: string | undefined;
dialogId: string | undefined;
isDisabled: boolean | undefined;
isReadOnly: boolean | undefined;
segmentFocus: (() => void) | undefined;
} | undefined;
date: Date;
selected: number;
setSelected: (value: number, close?: boolean | undefined) => void;
visible: boolean | undefined;
columnType: import("./TimePickerColumnState").ColumnType;
restoreOldTime: (() => Date) | undefined;
updateOldTime: (() => void) | undefined;
};
};
export declare type TimePickerStateReturn = ReturnType<typeof useTimePickerState>;