Draft
Conversation
b5ca8c5 to
a9a4431
Compare
# Conflicts: # packages/@react-spectrum/s2/src/TableView.tsx # packages/@react-spectrum/table/src/TableViewWrapper.tsx
3411172 to
1707a8d
Compare
## API Changes
react-aria-components/react-aria-components:DateSegmentRenderProps DateSegmentRenderProps {
isDisabled: boolean
isFocusVisible: boolean
isFocused: boolean
isHovered: boolean
isInvalid: boolean
isPlaceholder: boolean
isReadOnly: boolean
maxValue?: number
minValue?: number
placeholder: string
text: string
- type: SegmentType
+ type: DateSegmentType
value?: number | null
}/react-aria-components:DateFieldState DateFieldState {
calendar: Calendar
- clearSegment: (SegmentType) => void
+ clearSegment: (DateSegmentType) => void
commitValidation: () => void
confirmPlaceholder: () => void
dateFormatter: DateFormatter
dateValue: Date
- decrement: (SegmentType) => void
- decrementPage: (SegmentType) => void
- decrementToMin: (SegmentType) => void
+ decrement: (DateSegmentType) => void
+ decrementPage: (DateSegmentType) => void
+ decrementToMin: (DateSegmentType) => void
defaultValue: DateValue | null
displayValidation: ValidationResult
formatValue: (FieldOptions) => string
getDateFormatter: (string, FormatterOptions) => DateFormatter
granularity: Granularity
- increment: (SegmentType) => void
- incrementPage: (SegmentType) => void
- incrementToMax: (SegmentType) => void
+ increment: (DateSegmentType) => void
+ incrementPage: (DateSegmentType) => void
+ incrementToMax: (DateSegmentType) => void
isDisabled: boolean
isInvalid: boolean
isReadOnly: boolean
isRequired: boolean
maxGranularity: 'year' | 'month' | Granularity
realtimeValidation: ValidationResult
resetValidation: () => void
segments: Array<DateSegment>
- setSegment: (SegmentType, number) => void
+ setSegment: (DateSegmentType, number) => void
setValue: (DateValue | null) => void
updateValidation: (ValidationResult) => void
value: DateValue | null
}/react-aria-components:TimeFieldState TimeFieldState {
calendar: Calendar
- clearSegment: (SegmentType) => void
+ clearSegment: (DateSegmentType) => void
commitValidation: () => void
confirmPlaceholder: () => void
dateFormatter: DateFormatter
dateValue: Date
- decrement: (SegmentType) => void
- decrementPage: (SegmentType) => void
- decrementToMin: (SegmentType) => void
+ decrement: (DateSegmentType) => void
+ decrementPage: (DateSegmentType) => void
+ decrementToMin: (DateSegmentType) => void
defaultValue: DateValue | null
displayValidation: ValidationResult
formatValue: (FieldOptions) => string
getDateFormatter: (string, FormatterOptions) => DateFormatter
granularity: Granularity
- increment: (SegmentType) => void
- incrementPage: (SegmentType) => void
- incrementToMax: (SegmentType) => void
+ increment: (DateSegmentType) => void
+ incrementPage: (DateSegmentType) => void
+ incrementToMax: (DateSegmentType) => void
isDisabled: boolean
isInvalid: boolean
isReadOnly: boolean
isRequired: boolean
maxGranularity: 'year' | 'month' | Granularity
realtimeValidation: ValidationResult
resetValidation: () => void
segments: Array<DateSegment>
- setSegment: (SegmentType, number) => void
+ setSegment: (DateSegmentType, number) => void
setValue: (DateValue | null) => void
timeValue: Time
updateValidation: (ValidationResult) => void
value: DateValue | null@react-aria/actiongroup/@react-aria/actiongroup:AriaActionGroupProps-AriaActionGroupProps <T> {
- aria-describedby?: string
- aria-details?: string
- aria-label?: string
- aria-labelledby?: string
- children: ItemElement<T> | Array<ItemElement<T>> | ItemRenderer<T>
- defaultSelectedKeys?: 'all' | Iterable<Key>
- disabledKeys?: Iterable<Key>
- disallowEmptySelection?: boolean
- id?: string
- isDisabled?: boolean
- items?: Iterable<T>
- onAction?: (Key) => void
- onSelectionChange?: (Selection) => void
- orientation?: Orientation = 'horizontal'
- selectedKeys?: 'all' | Iterable<Key>
- selectionMode?: SelectionMode
-}@react-aria/autocomplete/@react-aria/autocomplete:AriaSearchAutocompleteProps-AriaSearchAutocompleteProps <T> {
- aria-activedescendant?: string
- aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
- aria-controls?: string
- aria-describedby?: string
- aria-details?: string
- aria-errormessage?: string
- aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
- aria-label?: string
- aria-labelledby?: string
- autoComplete?: string
- autoCorrect?: string
- autoFocus?: boolean
- children: CollectionChildren<T>
- defaultInputValue?: string
- defaultItems?: Iterable<T>
- description?: ReactNode
- disabledKeys?: Iterable<Key>
- enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
- errorMessage?: ReactNode | (ValidationResult) => ReactNode
- excludeFromTabOrder?: boolean
- form?: string
- id?: string
- inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
- inputValue?: string
- isDisabled?: boolean
- isInvalid?: boolean
- isReadOnly?: boolean
- isRequired?: boolean
- items?: Iterable<T>
- label?: ReactNode
- maxLength?: number
- menuTrigger?: MenuTriggerAction = 'input'
- minLength?: number
- name?: string
- onBeforeInput?: FormEventHandler<HTMLInputElement>
- onBlur?: (FocusEvent<T>) => void
- onClear?: () => void
- onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
- onCompositionStart?: CompositionEventHandler<HTMLInputElement>
- onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
- onCopy?: ClipboardEventHandler<HTMLInputElement>
- onCut?: ClipboardEventHandler<HTMLInputElement>
- onFocus?: (FocusEvent<T>) => void
- onFocusChange?: (boolean) => void
- onInput?: FormEventHandler<HTMLInputElement>
- onInputChange?: (string) => void
- onKeyDown?: (KeyboardEvent) => void
- onKeyUp?: (KeyboardEvent) => void
- onOpenChange?: (boolean, MenuTriggerAction) => void
- onPaste?: ClipboardEventHandler<HTMLInputElement>
- onSelect?: ReactEventHandler<HTMLInputElement>
- onSubmit?: (string | null, Key | null) => void
- pattern?: string
- placeholder?: string
- spellCheck?: string
- type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
-
-}) = 'search'
- validate?: (string) => ValidationError | boolean | null | undefined
- validationBehavior?: 'aria' | 'native' = 'aria'
-}@react-aria/button/@react-aria/button:AriaToggleButtonOptions+AriaToggleButtonOptions <E extends ElementType> {
+ aria-controls?: string
+ aria-describedby?: string
+ aria-details?: string
+ aria-disabled?: boolean | 'true' | 'false'
+ aria-expanded?: boolean | 'true' | 'false'
+ aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
+ aria-label?: string
+ aria-labelledby?: string
+ aria-pressed?: boolean | 'true' | 'false' | 'mixed'
+ autoFocus?: boolean
+ defaultSelected?: boolean
+ elementType?: ElementType | JSXElementConstructor<any> = 'button'
+ excludeFromTabOrder?: boolean
+ id?: string
+ isDisabled?: boolean
+ isSelected?: boolean
+ onBlur?: (FocusEvent<Target>) => void
+ onChange?: (boolean) => void
+ onClick?: (MouseEvent<FocusableElement>) => void
+ onFocus?: (FocusEvent<Target>) => void
+ onFocusChange?: (boolean) => void
+ onKeyDown?: (KeyboardEvent) => void
+ onKeyUp?: (KeyboardEvent) => void
+ onPress?: (PressEvent) => void
+ onPressChange?: (boolean) => void
+ onPressEnd?: (PressEvent) => void
+ onPressStart?: (PressEvent) => void
+ onPressUp?: (PressEvent) => void
+ preventFocusOnPress?: boolean
+}/@react-aria/button:ToggleButtonAria+ToggleButtonAria <T> {
+ buttonProps: T
+ isDisabled: boolean
+ isPressed: boolean
+ isSelected: boolean
+}/@react-aria/button:AriaToggleButtonGroupItemOptions+AriaToggleButtonGroupItemOptions <E extends ElementType> {
+ aria-controls?: string
+ aria-describedby?: string
+ aria-details?: string
+ aria-disabled?: boolean | 'true' | 'false'
+ aria-expanded?: boolean | 'true' | 'false'
+ aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
+ aria-label?: string
+ aria-labelledby?: string
+ aria-pressed?: boolean | 'true' | 'false' | 'mixed'
+ autoFocus?: boolean
+ elementType?: ElementType | JSXElementConstructor<any> = 'button'
+ excludeFromTabOrder?: boolean
+ id: Key
+ isDisabled?: boolean
+ onBlur?: (FocusEvent<Target>) => void
+ onClick?: (MouseEvent<FocusableElement>) => void
+ onFocus?: (FocusEvent<Target>) => void
+ onFocusChange?: (boolean) => void
+ onKeyDown?: (KeyboardEvent) => void
+ onKeyUp?: (KeyboardEvent) => void
+ onPress?: (PressEvent) => void
+ onPressChange?: (boolean) => void
+ onPressEnd?: (PressEvent) => void
+ onPressStart?: (PressEvent) => void
+ onPressUp?: (PressEvent) => void
+ preventFocusOnPress?: boolean
+}@react-aria/datepicker/@react-aria/datepicker:AriaTimeFieldOptions+AriaTimeFieldOptions <T extends TimeValue> {
+ aria-describedby?: string
+ aria-details?: string
+ aria-label?: string
+ aria-labelledby?: string
+ autoFocus?: boolean
+ defaultValue?: TimeValue | null
+ description?: ReactNode
+ errorMessage?: ReactNode | (ValidationResult) => ReactNode
+ form?: string
+ granularity?: 'hour' | 'minute' | 'second' = 'minute'
+ hideTimeZone?: boolean
+ hourCycle?: number | number
+ id?: string
+ inputRef?: RefObject<HTMLInputElement | null>
+ isDisabled?: boolean
+ isInvalid?: boolean
+ isReadOnly?: boolean
+ isRequired?: boolean
+ label?: ReactNode
+ maxValue?: TimeValue | null
+ minValue?: TimeValue | null
+ name?: string
+ onBlur?: (FocusEvent<Target>) => void
+ onChange?: (MappedTimeValue<TimeValue> | null) => void
+ onFocus?: (FocusEvent<Target>) => void
+ onFocusChange?: (boolean) => void
+ onKeyDown?: (KeyboardEvent) => void
+ onKeyUp?: (KeyboardEvent) => void
+ placeholderValue?: TimeValue
+ shouldForceLeadingZeros?: boolean
+ validate?: (MappedTimeValue<TimeValue>) => ValidationError | boolean | null | undefined
+ validationBehavior?: 'aria' | 'native' = 'aria'
+ value?: TimeValue | null
+}@react-aria/focus/@react-aria/focus:isFocusable-isFocusable {
- element: Element
- returnVal: undefined
-}/@react-aria/focus:FocusableProvider-FocusableProvider {
- children?: ReactNode
- className?: string | undefined
- id?: string | undefined
- role?: AriaRole | undefined
- style?: CSSProperties | undefined
- tabIndex?: number | undefined
-}/@react-aria/focus:focusSafely-focusSafely {
- element: FocusableElement
- returnVal: undefined
-}/@react-aria/focus:FocusableProviderProps-FocusableProviderProps {
- children?: ReactNode
- className?: string | undefined
- id?: string | undefined
- role?: AriaRole | undefined
- style?: CSSProperties | undefined
- tabIndex?: number | undefined
-}@react-aria/gridlist/@react-aria/gridlist:AriaGridListSectionProps+AriaGridListSectionProps {
+ aria-label?: string
+}/@react-aria/gridlist:GridListSectionAria+GridListSectionAria {
+ rowGroupProps: DOMAttributes
+ rowHeaderProps: DOMAttributes
+ rowProps: DOMAttributes
+}@react-aria/landmark/@react-aria/landmark:LandmarkControllerOptions+LandmarkControllerOptions {
+ from?: FocusableElement = document.activeElement
+}@react-aria/select/@react-aria/select:AriaHiddenSelectOptions+AriaHiddenSelectOptions {
+ autoComplete?: string
+ form?: string
+ isDisabled?: boolean
+ label?: ReactNode
+ name?: string
+ selectRef?: RefObject<HTMLSelectElement | HTMLInputElement | null>
+}/@react-aria/select:HiddenSelectAria+HiddenSelectAria {
+ containerProps: React.HTMLAttributes<FocusableElement>
+ inputProps: React.InputHTMLAttributes<HTMLInputElement>
+ selectProps: React.SelectHTMLAttributes<HTMLSelectElement>
+}@react-aria/ssr/@react-aria/ssr:SSRProvider-SSRProvider {
- children: ReactNode
-}/@react-aria/ssr:useSSRSafeId-useSSRSafeId {
- UNTYPED
-}/@react-aria/ssr:useIsSSR-useIsSSR {
- returnVal: undefined
-}/@react-aria/ssr:SSRProviderProps-SSRProviderProps {
- children: ReactNode
-}@react-aria/tag/@react-aria/tag:AriaTagGroupOptions+AriaTagGroupOptions <T> {
+ aria-describedby?: string
+ aria-details?: string
+ aria-label?: string
+ aria-labelledby?: string
+ defaultSelectedKeys?: 'all' | Iterable<Key>
+ description?: ReactNode
+ disabledKeys?: Iterable<Key>
+ disallowEmptySelection?: boolean
+ errorMessage?: ReactNode
+ escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
+ id?: string
+ items?: Iterable<T>
+ keyboardDelegate?: KeyboardDelegate
+ label?: ReactNode
+ onRemove?: (Set<Key>) => void
+ onSelectionChange?: (Selection) => void
+ selectedKeys?: 'all' | Iterable<Key>
+ selectionBehavior?: SelectionBehavior
+ selectionMode?: SelectionMode
+ shouldSelectOnPressUp?: boolean
+}@react-aria/toggle/@react-aria/toggle:AriaToggleProps-AriaToggleProps {
- aria-controls?: string
- aria-describedby?: string
- aria-details?: string
- aria-errormessage?: string
- aria-label?: string
- aria-labelledby?: string
- autoFocus?: boolean
- children?: ReactNode
- defaultSelected?: boolean
- excludeFromTabOrder?: boolean
- form?: string
- id?: string
- isDisabled?: boolean
- isInvalid?: boolean
- isReadOnly?: boolean
- isRequired?: boolean
- isSelected?: boolean
- name?: string
- onBlur?: (FocusEvent<Target>) => void
- onChange?: (boolean) => void
- onClick?: (MouseEvent<FocusableElement>) => void
- onFocus?: (FocusEvent<Target>) => void
- onFocusChange?: (boolean) => void
- onKeyDown?: (KeyboardEvent) => void
- onKeyUp?: (KeyboardEvent) => void
- onPress?: (PressEvent) => void
- onPressChange?: (boolean) => void
- onPressEnd?: (PressEvent) => void
- onPressStart?: (PressEvent) => void
- onPressUp?: (PressEvent) => void
- validate?: (boolean) => ValidationError | boolean | null | undefined
- validationBehavior?: 'aria' | 'native' = 'aria'
- value?: string
-}@react-aria/utils/@react-aria/utils:clamp-clamp {
- value: number
- min: number
- max: number
- returnVal: undefined
-}/@react-aria/utils:snapValueToStep-snapValueToStep {
- value: number
- min: number | undefined
- max: number | undefined
- step: number
- returnVal: undefined
-}@react-spectrum/autocomplete/@react-spectrum/autocomplete:SpectrumSearchAutocompleteProps-SpectrumSearchAutocompleteProps <T> {
- UNSAFE_className?: string
- UNSAFE_style?: CSSProperties
- align?: 'start' | 'end' = 'start'
- alignSelf?: Responsive<'auto' | 'normal' | 'start' | 'end' | 'center' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'stretch'>
- aria-activedescendant?: string
- aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
- aria-controls?: string
- aria-describedby?: string
- aria-details?: string
- aria-errormessage?: string
- aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
- aria-label?: string
- aria-labelledby?: string
- autoComplete?: string
- autoCorrect?: string
- autoFocus?: boolean
- bottom?: Responsive<DimensionValue>
- children: CollectionChildren<T>
- contextualHelp?: ReactNode
- defaultInputValue?: string
- defaultItems?: Iterable<T>
- description?: ReactNode
- direction?: 'bottom' | 'top' = 'bottom'
- disabledKeys?: Iterable<Key>
- end?: Responsive<DimensionValue>
- enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
- errorMessage?: ReactNode | (ValidationResult) => ReactNode
- excludeFromTabOrder?: boolean
- flex?: Responsive<string | number | boolean>
- flexBasis?: Responsive<number | string>
- flexGrow?: Responsive<number>
- flexShrink?: Responsive<number>
- form?: string
- gridArea?: Responsive<string>
- gridColumn?: Responsive<string>
- gridColumnEnd?: Responsive<string>
- gridColumnStart?: Responsive<string>
- gridRow?: Responsive<string>
- gridRowEnd?: Responsive<string>
- gridRowStart?: Responsive<string>
- height?: Responsive<DimensionValue>
- icon?: ReactElement | null
- id?: string
- inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
- inputValue?: string
- isDisabled?: boolean
- isHidden?: Responsive<boolean>
- isQuiet?: boolean
- isReadOnly?: boolean
- isRequired?: boolean
- items?: Iterable<T>
- justifySelf?: Responsive<'auto' | 'normal' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'center' | 'left' | 'right' | 'stretch'>
- label?: ReactNode
- labelAlign?: Alignment = 'start'
- labelPosition?: LabelPosition = 'top'
- left?: Responsive<DimensionValue>
- loadingState?: LoadingState
- margin?: Responsive<DimensionValue>
- marginBottom?: Responsive<DimensionValue>
- marginEnd?: Responsive<DimensionValue>
- marginStart?: Responsive<DimensionValue>
- marginTop?: Responsive<DimensionValue>
- marginX?: Responsive<DimensionValue>
- marginY?: Responsive<DimensionValue>
- maxHeight?: Responsive<DimensionValue>
- maxLength?: number
- maxWidth?: Responsive<DimensionValue>
- menuTrigger?: MenuTriggerAction = 'input'
- menuWidth?: DimensionValue
- minHeight?: Responsive<DimensionValue>
- minLength?: number
- minWidth?: Responsive<DimensionValue>
- name?: string
- necessityIndicator?: NecessityIndicator = 'icon'
- onBeforeInput?: FormEventHandler<HTMLInputElement>
- onBlur?: (FocusEvent<T>) => void
- onClear?: () => void
- onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
- onCompositionStart?: CompositionEventHandler<HTMLInputElement>
- onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
- onCopy?: ClipboardEventHandler<HTMLInputElement>
- onCut?: ClipboardEventHandler<HTMLInputElement>
- onFocus?: (FocusEvent<T>) => void
- onFocusChange?: (boolean) => void
- onInput?: FormEventHandler<HTMLInputElement>
- onInputChange?: (string) => void
- onKeyDown?: (KeyboardEvent) => void
- onKeyUp?: (KeyboardEvent) => void
- onLoadMore?: () => void
- onOpenChange?: (boolean, MenuTriggerAction) => void
- onPaste?: ClipboardEventHandler<HTMLInputElement>
- onSelect?: ReactEventHandler<HTMLInputElement>
- onSubmit?: (string | null, Key | null) => void
- order?: Responsive<number>
- pattern?: string
- position?: Responsive<'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'>
- right?: Responsive<DimensionValue>
- shouldFlip?: boolean = true
- spellCheck?: string
- start?: Responsive<DimensionValue>
- top?: Responsive<DimensionValue>
- type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
-
-}) = 'search'
- validate?: (string) => ValidationError | boolean | null | undefined
- validationBehavior?: 'aria' | 'native' = 'aria'
- validationState?: ValidationState
- width?: Responsive<DimensionValue>
- zIndex?: Responsive<number>
-}@react-spectrum/card/@react-spectrum/card:SpectrumCardViewProps-SpectrumCardViewProps <T> {
- UNSAFE_className?: string
- UNSAFE_style?: CSSProperties
- alignSelf?: Responsive<'auto' | 'normal' | 'start' | 'end' | 'center' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'stretch'>
- aria-describedby?: string
- aria-details?: string
- aria-label?: string
- aria-labelledby?: string
- bottom?: Responsive<DimensionValue>
- cardOrientation?: Orientation
- children: CollectionChildren<T>
- defaultSelectedKeys?: 'all' | Iterable<Key>
- disabledKeys?: Iterable<Key>
- disallowEmptySelection?: boolean
- end?: Responsive<DimensionValue>
- flex?: Responsive<string | number | boolean>
- flexBasis?: Responsive<number | string>
- flexGrow?: Responsive<number>
- flexShrink?: Responsive<number>
- gridArea?: Responsive<string>
- gridColumn?: Responsive<string>
- gridColumnEnd?: Responsive<string>
- gridColumnStart?: Responsive<string>
- gridRow?: Responsive<string>
- gridRowEnd?: Responsive<string>
- gridRowStart?: Responsive<string>
- height?: Responsive<DimensionValue>
- id?: string
- isHidden?: Responsive<boolean>
- isQuiet?: boolean
- items?: Iterable<T>
- justifySelf?: Responsive<'auto' | 'normal' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'center' | 'left' | 'right' | 'stretch'>
- layout: CardViewLayoutConstructor<T> | CardViewLayout<T>
- left?: Responsive<DimensionValue>
- loadingState?: LoadingState
- margin?: Responsive<DimensionValue>
- marginBottom?: Responsive<DimensionValue>
- marginEnd?: Responsive<DimensionValue>
- marginStart?: Responsive<DimensionValue>
- marginTop?: Responsive<DimensionValue>
- marginX?: Responsive<DimensionValue>
- marginY?: Responsive<DimensionValue>
- maxHeight?: Responsive<DimensionValue>
- maxWidth?: Responsive<DimensionValue>
- minHeight?: Responsive<DimensionValue>
- minWidth?: Responsive<DimensionValue>
- onLoadMore?: () => any
- onSelectionChange?: (Selection) => void
- order?: Responsive<number>
- position?: Responsive<'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'>
- renderEmptyState?: () => ReactNode
- right?: Responsive<DimensionValue>
- selectedKeys?: 'all' | Iterable<Key>
- selectionMode?: SelectionMode
- start?: Responsive<DimensionValue>
- top?: Responsive<DimensionValue>
- width?: Responsive<DimensionValue>
- zIndex?: Responsive<number>
-}@react-spectrum/s2/@react-spectrum/s2:DateRangePicker-DateRangePicker <T extends DateValue> extends RangeCalendarProps {
+DateRangePicker <T extends DateValue> {
UNSAFE_className?: UnsafeClassName
UNSAFE_style?: CSSProperties
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
contextualHelp?: ReactNode
+ createCalendar?: (CalendarIdentifier) => Calendar
defaultOpen?: boolean
defaultValue?: RangeValue<DateValue> | null
description?: ReactNode
endName?: string
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
label?: ReactNode
labelAlign?: Alignment = 'start'
labelPosition?: LabelPosition = 'top'
maxValue?: DateValue | null
maxVisibleMonths?: number = 1
minValue?: DateValue | null
necessityIndicator?: NecessityIndicator = 'icon'
onBlur?: (FocusEvent<Target>) => void
onChange?: (RangeValue<MappedDateValue<DateValue>> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
shouldCloseOnSelect?: boolean | () => boolean = true
shouldFlip?: boolean = true
shouldForceLeadingZeros?: boolean
size?: 'S' | 'M' | 'L' | 'XL' = 'M'
slot?: string | null
startName?: string
styles?: StylesProp
validate?: (RangeValue<MappedDateValue<DateValue>>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: RangeValue<DateValue> | null
}/@react-spectrum/s2:DateRangePickerProps DateRangePickerProps <T extends DateValue> {
UNSAFE_className?: UnsafeClassName
UNSAFE_style?: CSSProperties
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
contextualHelp?: ReactNode
+ createCalendar?: (CalendarIdentifier) => Calendar
defaultOpen?: boolean
defaultValue?: RangeValue<DateValue> | null
description?: ReactNode
endName?: string
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
label?: ReactNode
labelAlign?: Alignment = 'start'
labelPosition?: LabelPosition = 'top'
maxValue?: DateValue | null
maxVisibleMonths?: number = 1
minValue?: DateValue | null
necessityIndicator?: NecessityIndicator = 'icon'
onBlur?: (FocusEvent<Target>) => void
onChange?: (RangeValue<MappedDateValue<DateValue>> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
shouldCloseOnSelect?: boolean | () => boolean = true
shouldFlip?: boolean = true
shouldForceLeadingZeros?: boolean
size?: 'S' | 'M' | 'L' | 'XL' = 'M'
slot?: string | null
startName?: string
styles?: StylesProp
validate?: (RangeValue<MappedDateValue<DateValue>>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: RangeValue<DateValue> | null
}@react-spectrum/utils/@react-spectrum/utils:useValueEffect-useValueEffect <S> {
- defaultValue: S | () => S
- returnVal: undefined
-}/@react-spectrum/utils:useResizeObserver-useResizeObserver <T extends Element> {
- options: useResizeObserverOptionsType<T>
- returnVal: undefined
-}@react-stately/datepicker/@react-stately/datepicker:DateFieldState DateFieldState {
calendar: Calendar
- clearSegment: (SegmentType) => void
+ clearSegment: (DateSegmentType) => void
commitValidation: () => void
confirmPlaceholder: () => void
dateFormatter: DateFormatter
dateValue: Date
- decrement: (SegmentType) => void
- decrementPage: (SegmentType) => void
- decrementToMin: (SegmentType) => void
+ decrement: (DateSegmentType) => void
+ decrementPage: (DateSegmentType) => void
+ decrementToMin: (DateSegmentType) => void
defaultValue: DateValue | null
displayValidation: ValidationResult
formatValue: (FieldOptions) => string
getDateFormatter: (string, FormatterOptions) => DateFormatter
granularity: Granularity
- increment: (SegmentType) => void
- incrementPage: (SegmentType) => void
- incrementToMax: (SegmentType) => void
+ increment: (DateSegmentType) => void
+ incrementPage: (DateSegmentType) => void
+ incrementToMax: (DateSegmentType) => void
isDisabled: boolean
isInvalid: boolean
isReadOnly: boolean
isRequired: boolean
maxGranularity: 'year' | 'month' | Granularity
realtimeValidation: ValidationResult
resetValidation: () => void
segments: Array<DateSegment>
- setSegment: (SegmentType, number) => void
+ setSegment: (DateSegmentType, number) => void
setValue: (DateValue | null) => void
updateValidation: (ValidationResult) => void
value: DateValue | null
}/@react-stately/datepicker:DateSegment DateSegment {
isEditable: boolean
isPlaceholder: boolean
maxValue?: number
minValue?: number
placeholder: string
text: string
- type: SegmentType
+ type: DateSegmentType
value?: number | null
}/@react-stately/datepicker:SegmentType SegmentType {
- S: undefined
+ UNTYPED
}/@react-stately/datepicker:TimeFieldState TimeFieldState {
calendar: Calendar
- clearSegment: (SegmentType) => void
+ clearSegment: (DateSegmentType) => void
commitValidation: () => void
confirmPlaceholder: () => void
dateFormatter: DateFormatter
dateValue: Date
- decrement: (SegmentType) => void
- decrementPage: (SegmentType) => void
- decrementToMin: (SegmentType) => void
+ decrement: (DateSegmentType) => void
+ decrementPage: (DateSegmentType) => void
+ decrementToMin: (DateSegmentType) => void
defaultValue: DateValue | null
displayValidation: ValidationResult
formatValue: (FieldOptions) => string
getDateFormatter: (string, FormatterOptions) => DateFormatter
granularity: Granularity
- increment: (SegmentType) => void
- incrementPage: (SegmentType) => void
- incrementToMax: (SegmentType) => void
+ increment: (DateSegmentType) => void
+ incrementPage: (DateSegmentType) => void
+ incrementToMax: (DateSegmentType) => void
isDisabled: boolean
isInvalid: boolean
isReadOnly: boolean
isRequired: boolean
maxGranularity: 'year' | 'month' | Granularity
realtimeValidation: ValidationResult
resetValidation: () => void
segments: Array<DateSegment>
- setSegment: (SegmentType, number) => void
+ setSegment: (DateSegmentType, number) => void
setValue: (DateValue | null) => void
timeValue: Time
updateValidation: (ValidationResult) => void
value: DateValue | null |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements this RFC