UNPKG

@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
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>;