react-aria-components 1.0.0-beta.0 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/import.mjs +1160 -855
- package/dist/main.js +1181 -852
- package/dist/main.js.map +1 -1
- package/dist/module.js +1160 -855
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +180 -226
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/Breadcrumbs.tsx +2 -2
- package/src/Button.tsx +1 -1
- package/src/Calendar.tsx +15 -8
- package/src/Checkbox.tsx +5 -5
- package/src/Collection.tsx +14 -7
- package/src/ComboBox.tsx +19 -12
- package/src/DateField.tsx +95 -49
- package/src/DatePicker.tsx +34 -64
- package/src/Dialog.tsx +15 -15
- package/src/DropZone.tsx +6 -3
- package/src/FileTrigger.tsx +11 -10
- package/src/GridList.tsx +9 -13
- package/src/Group.tsx +36 -6
- package/src/Link.tsx +17 -24
- package/src/ListBox.tsx +31 -39
- package/src/Menu.tsx +17 -15
- package/src/Meter.tsx +1 -1
- package/src/Modal.tsx +14 -13
- package/src/NumberField.tsx +5 -3
- package/src/OverlayArrow.tsx +7 -10
- package/src/Popover.tsx +7 -11
- package/src/ProgressBar.tsx +1 -1
- package/src/RadioGroup.tsx +6 -6
- package/src/SearchField.tsx +3 -3
- package/src/Select.tsx +28 -23
- package/src/Separator.tsx +1 -1
- package/src/Slider.tsx +24 -23
- package/src/Switch.tsx +3 -3
- package/src/Table.tsx +30 -30
- package/src/Tabs.tsx +24 -31
- package/src/TagGroup.tsx +18 -21
- package/src/TextField.tsx +3 -3
- package/src/ToggleButton.tsx +1 -1
- package/src/Tooltip.tsx +33 -27
- package/src/index.ts +18 -18
- package/src/useDragAndDrop.tsx +8 -0
- package/src/utils.tsx +37 -10
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria-components/src/index.ts","packages/react-aria-components/src/Breadcrumbs.tsx","packages/react-aria-components/src/Collection.tsx","packages/react-aria-components/src/utils.tsx","packages/react-aria-components/src/Link.tsx","packages/react-aria-components/src/Button.tsx","packages/react-aria-components/src/Calendar.tsx","packages/react-aria-components/src/Heading.tsx","packages/react-aria-components/src/Text.tsx","packages/react-aria-components/src/Checkbox.tsx","packages/react-aria-components/src/Label.tsx","packages/react-aria-components/src/ComboBox.tsx","packages/react-aria-components/src/Input.tsx","packages/react-aria-components/src/ListBox.tsx","packages/react-aria-components/src/useDragAndDrop.tsx","packages/react-aria-components/src/Header.tsx","packages/react-aria-components/src/Separator.tsx","packages/react-aria-components/src/Popover.tsx","packages/react-aria-components/src/OverlayArrow.tsx","packages/react-aria-components/src/DateField.tsx","packages/react-aria-components/src/DatePicker.tsx","packages/react-aria-components/src/Dialog.tsx","packages/react-aria-components/src/Modal.tsx","packages/react-aria-components/src/Group.tsx","packages/react-aria-components/src/DropZone.tsx","packages/react-aria-components/src/FileTrigger.tsx","packages/react-aria-components/src/GridList.tsx","packages/react-aria-components/src/Keyboard.tsx","packages/react-aria-components/src/Menu.tsx","packages/react-aria-components/src/Meter.tsx","packages/react-aria-components/src/NumberField.tsx","packages/react-aria-components/src/ProgressBar.tsx","packages/react-aria-components/src/RadioGroup.tsx","packages/react-aria-components/src/SearchField.tsx","packages/react-aria-components/src/Select.tsx","packages/react-aria-components/src/Slider.tsx","packages/react-aria-components/src/Switch.tsx","packages/react-aria-components/src/Table.tsx","packages/react-aria-components/src/Tabs.tsx","packages/react-aria-components/src/TagGroup.tsx","packages/react-aria-components/src/TextArea.tsx","packages/react-aria-components/src/TextField.tsx","packages/react-aria-components/src/ToggleButton.tsx","packages/react-aria-components/src/Tooltip.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {Breadcrumbs, BreadcrumbsContext, Breadcrumb} from './Breadcrumbs';\nexport {Button, ButtonContext} from './Button';\nexport {Calendar, CalendarGrid, CalendarGridHeader, CalendarGridBody, CalendarHeaderCell, CalendarCell, RangeCalendar, CalendarContext, RangeCalendarContext} from './Calendar';\nexport {Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxContext} from './Checkbox';\nexport {ComboBox, ComboBoxContext} from './ComboBox';\nexport {DateField, DateInput, DateSegment, TimeField, DateFieldContext, TimeFieldContext} from './DateField';\nexport {DatePicker, DateRangePicker, DatePickerContext, DateRangePickerContext} from './DatePicker';\nexport {DialogTrigger, Dialog, DialogContext} from './Dialog';\nexport {DropZone, DropZoneContext} from './DropZone';\nexport {FileTrigger} from './FileTrigger';\nexport {GridList, GridListContext} from './GridList';\nexport {Group, GroupContext} from './Group';\nexport {Header} from './Header';\nexport {Heading, HeadingContext} from './Heading';\nexport {Input, InputContext} from './Input';\nexport {Item, Section, Collection} from './Collection';\nexport {Keyboard, KeyboardContext} from './Keyboard';\nexport {Label, LabelContext} from './Label';\nexport {Link, LinkContext} from './Link';\nexport {ListBox, ListBoxContext} from './ListBox';\nexport {Menu, MenuTrigger, MenuContext} from './Menu';\nexport {Meter, MeterContext} from './Meter';\nexport {Modal, ModalOverlay, ModalContext} from './Modal';\nexport {NumberField, NumberFieldContext} from './NumberField';\nexport {OverlayArrow} from './OverlayArrow';\nexport {Popover, PopoverContext} from './Popover';\nexport {ProgressBar, ProgressBarContext} from './ProgressBar';\nexport {Provider, useContextProps, useSlottedContext} from './utils';\nexport {RadioGroup, Radio, RadioGroupContext, RadioContext} from './RadioGroup';\nexport {SearchField, SearchFieldContext} from './SearchField';\nexport {Select, SelectValue, SelectContext} from './Select';\nexport {Separator, SeparatorContext} from './Separator';\nexport {Slider, SliderOutput, SliderTrack, SliderThumb, SliderContext} from './Slider';\nexport {Switch, SwitchContext} from './Switch';\nexport {Table, Row, Cell, Column, ColumnResizer, TableHeader, TableBody, TableContext, ResizableTableContainer, useTableOptions} from './Table';\nexport {Tabs, TabList, TabPanel, Tab, TabsContext} from './Tabs';\nexport {TagGroup, TagGroupContext, TagList, Tag} from './TagGroup';\nexport {Text, TextContext} from './Text';\nexport {TextArea, TextAreaContext} from './TextArea';\nexport {TextField, TextFieldContext} from './TextField';\nexport {ToggleButton, ToggleButtonContext} from './ToggleButton';\nexport {TooltipTrigger, Tooltip} from './Tooltip';\nexport {useDragAndDrop, DropIndicator, DropIndicatorContext} from './useDragAndDrop';\nexport {DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider} from 'react-aria';\n\nexport type {BreadcrumbsProps, BreadcrumbProps} from './Breadcrumbs';\nexport type {ButtonProps, ButtonRenderProps} from './Button';\nexport type {CalendarCellProps, CalendarProps, CalendarRenderProps, CalendarGridProps, CalendarGridHeaderProps, CalendarGridBodyProps, CalendarHeaderCellProps, CalendarCellRenderProps, RangeCalendarProps, RangeCalendarRenderProps} from './Calendar';\nexport type {CheckboxGroupProps, CheckboxGroupRenderProps, CheckboxRenderProps, CheckboxProps} from './Checkbox';\nexport type {ComboBoxProps, ComboBoxRenderProps} from './ComboBox';\nexport type {DateFieldProps, DateFieldRenderProps, DateInputProps, DateInputRenderProps, DateSegmentProps, DateSegmentRenderProps, TimeFieldProps} from './DateField';\nexport type {DatePickerProps, DatePickerRenderProps, DateRangePickerProps, DateRangePickerRenderProps} from './DatePicker';\nexport type {DialogProps, DialogTriggerProps} from './Dialog';\nexport type {DropZoneProps, DropZoneRenderProps} from './DropZone';\nexport type {FileTriggerProps} from './FileTrigger';\nexport type {GridListProps, GridListRenderProps} from './GridList';\nexport type {GroupProps, GroupRenderProps} from './Group';\nexport type {HeadingProps} from './Heading';\nexport type {InputProps, InputRenderProps} from './Input';\nexport type {ItemProps, ItemRenderProps, SectionProps} from './Collection';\nexport type {LabelProps} from './Label';\nexport type {LinkProps} from './Link';\nexport type {LinkRenderProps} from './Link';\nexport type {ListBoxProps, ListBoxRenderProps} from './ListBox';\nexport type {MenuProps, MenuTriggerProps} from './Menu';\nexport type {MeterProps, MeterRenderProps} from './Meter';\nexport type {ModalOverlayProps, ModalRenderProps} from './Modal';\nexport type {NumberFieldProps, NumberFieldRenderProps} from './NumberField';\nexport type {OverlayArrowProps, OverlayArrowRenderProps} from './OverlayArrow';\nexport type {PopoverProps, PopoverRenderProps} from './Popover';\nexport type {ProgressBarProps, ProgressBarRenderProps} from './ProgressBar';\nexport type {RadioGroupProps, RadioGroupRenderProps, RadioProps, RadioRenderProps} from './RadioGroup';\nexport type {SearchFieldProps, SearchFieldRenderProps} from './SearchField';\nexport type {SelectProps, SelectValueProps, SelectValueRenderProps, SelectRenderProps} from './Select';\nexport type {SeparatorProps} from './Separator';\nexport type {SliderOutputProps, SliderProps, SliderRenderProps, SliderThumbProps, SliderTrackProps, SliderTrackRenderProps, SliderThumbRenderProps} from './Slider';\nexport type {SwitchProps, SwitchRenderProps} from './Switch';\nexport type {TableProps, TableRenderProps, TableHeaderProps, TableBodyProps, TableBodyRenderProps, ResizableTableContainerProps, ColumnProps, ColumnRenderProps, ColumnResizerProps, ColumnResizerRenderProps, RowProps, RowRenderProps, CellProps, CellRenderProps} from './Table';\nexport type {TabListProps, TabListRenderProps, TabPanelProps, TabPanelRenderProps, TabProps, TabsProps, TabRenderProps, TabsRenderProps} from './Tabs';\nexport type {TagGroupProps, TagListProps, TagListRenderProps, TagProps, TagRenderProps} from './TagGroup';\nexport type {TextAreaProps} from './TextArea';\nexport type {TextFieldProps, TextFieldRenderProps} from './TextField';\nexport type {TextProps} from './Text';\nexport type {ToggleButtonProps, ToggleButtonRenderProps} from './ToggleButton';\nexport type {TooltipProps, TooltipRenderProps, TooltipTriggerComponentProps} from './Tooltip';\nexport type {DragAndDropHooks, DragAndDropOptions, DropIndicatorProps} from './useDragAndDrop';\nexport type {ContextValue, SlotProps} from './utils';\n\nexport type {DateValue, DateRange, TimeValue} from 'react-aria';\nexport type {DirectoryDropItem, DraggableCollectionEndEvent, DraggableCollectionMoveEvent, DraggableCollectionStartEvent, DragPreviewRenderer, DragTypes, DropItem, DropOperation, DroppableCollectionDropEvent, DroppableCollectionEnterEvent, DroppableCollectionExitEvent, DroppableCollectionInsertDropEvent, DroppableCollectionMoveEvent, DroppableCollectionOnItemDropEvent, DroppableCollectionReorderEvent, DroppableCollectionRootDropEvent, DropPosition, DropTarget, FileDropItem, ItemDropTarget, RootDropTarget, TextDropItem, PressEvent} from 'react-aria';\nexport type {Selection, SortDescriptor, SortDirection, SelectionMode} from 'react-stately';\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaBreadcrumbsProps} from 'react-aria';\nimport {Collection, Node} from 'react-stately';\nimport {CollectionProps, useCollection, useSSRCollectionNode} from './Collection';\nimport {ContextValue, forwardRefType, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {LinkContext} from './Link';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactNode, RefObject} from 'react';\n\nexport interface BreadcrumbsProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, AriaBreadcrumbsProps, StyleProps, SlotProps {\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean,\n /** Handler that is called when a breadcrumb is clicked. */\n onAction?: (key: Key) => void\n}\n\nexport const BreadcrumbsContext = createContext<ContextValue<BreadcrumbsProps<any>, HTMLOListElement>>(null);\n\nfunction Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>, ref: ForwardedRef<HTMLOListElement>) {\n [props, ref] = useContextProps(props, ref, BreadcrumbsContext);\n let {portal, collection} = useCollection(props);\n\n // Render the portal first so that we have the collection by the time we render the DOM in SSR\n return (\n <>\n {portal}\n <BreadcrumbsInner props={props} collection={collection} breadcrumbsRef={ref} />\n </>\n );\n}\n\ninterface BreadcrumbsInnerProps<T> {\n props: BreadcrumbsProps<T>,\n collection: Collection<Node<T>>,\n breadcrumbsRef: RefObject<HTMLOListElement>\n}\n\nfunction BreadcrumbsInner<T extends object>({props, collection, breadcrumbsRef: ref}: BreadcrumbsInnerProps<T>) {\n return (\n <ol\n ref={ref}\n {...filterDOMProps(props, {labelable: true})}\n slot={props.slot}\n style={props.style}\n className={props.className ?? 'react-aria-Breadcrumbs'}>\n {[...collection].map((node, i) => (\n <BreadcrumbItem\n key={node.key}\n node={node}\n isCurrent={i === collection.size - 1}\n isDisabled={props.isDisabled}\n onAction={props.onAction} />\n ))}\n </ol>\n );\n}\n\n/**\n * Breadcrumbs display a heirarchy of links to the current page or resource in an application.\n */\nconst _Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(Breadcrumbs);\nexport {_Breadcrumbs as Breadcrumbs};\n\nexport interface BreadcrumbProps extends StyleProps {\n /** A unique id for the breadcrumb, which will be passed to `onAction` when the breadcrumb is pressed. */\n id?: Key,\n /** The children of the breadcrumb, typically a `<Link>`. */\n children: ReactNode\n}\n\nfunction Breadcrumb(props: BreadcrumbProps, ref: ForwardedRef<HTMLLIElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Breadcrumb represents an individual item in a `<Breadcrumbs>` list.\n */\nconst _Breadcrumb = /*#__PURE__*/ (forwardRef as forwardRefType)(Breadcrumb);\nexport {_Breadcrumb as Breadcrumb};\n\ninterface BreadcrumbItemProps {\n node: Node<object>,\n isCurrent: boolean,\n isDisabled?: boolean,\n onAction?: (key: Key) => void\n}\n\nfunction BreadcrumbItem({node, isCurrent, isDisabled, onAction}: BreadcrumbItemProps) {\n // Recreating useBreadcrumbItem because we want to use composition instead of having the link builtin.\n let linkProps = {\n 'aria-current': isCurrent ? 'page' : null,\n isDisabled: isDisabled || isCurrent,\n onPress: () => onAction?.(node.key)\n };\n\n return (\n <li\n {...filterDOMProps(node.props)}\n style={node.props.style}\n className={node.props.className ?? 'react-aria-Breadcrumb'}>\n <LinkContext.Provider value={linkProps}>\n {node.rendered}\n </LinkContext.Provider>\n </li>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {CollectionBase} from '@react-types/shared';\nimport {createPortal} from 'react-dom';\nimport {forwardRefType, RenderProps, StyleProps} from './utils';\nimport {Collection as ICollection, Node, SelectionBehavior, SelectionMode, ItemProps as SharedItemProps, SectionProps as SharedSectionProps} from 'react-stately';\nimport {mergeProps, useIsSSR} from 'react-aria';\nimport React, {cloneElement, createContext, ForwardedRef, forwardRef, Key, ReactElement, ReactNode, useCallback, useContext, useMemo, useRef} from 'react';\nimport {useSyncExternalStore as useSyncExternalStoreShim} from 'use-sync-external-store/shim/index.js';\n\n// This Collection implementation is perhaps a little unusual. It works by rendering the React tree into a\n// Portal to a fake DOM implementation. This gives us efficient access to the tree of rendered objects, and\n// supports React features like composition and context. We use this fake DOM to access the full set of elements\n// before we render into the real DOM, which allows us to render a subset of the elements (e.g. virtualized scrolling),\n// and compute properties like the total number of items. It also enables keyboard navigation, selection, and other features.\n// React takes care of efficiently rendering components and updating the collection for us via this fake DOM.\n//\n// The DOM is a mutable API, and React expects the node instances to remain stable over time. So the implementation is split\n// into two parts. Each mutable fake DOM node owns an instance of an immutable collection node. When a fake DOM node is updated,\n// it queues a second render for the collection. Multiple updates to a collection can be queued at once. Collection nodes are\n// lazily copied on write, so only the changed nodes need to be cloned. During the second render, the new immutable collection\n// is finalized by updating the map of Key -> Node with the new cloned nodes. Then the new collection is frozen so it can no\n// longer be mutated, and returned to the calling component to render.\n\ntype Mutable<T> = {\n -readonly[P in keyof T]: T[P]\n}\n\n/** An immutable object representing a Node in a Collection. */\nexport class NodeValue<T> implements Node<T> {\n readonly type: string;\n readonly key: Key;\n readonly value: T | null = null;\n readonly level: number = 0;\n readonly hasChildNodes: boolean = false;\n readonly rendered: ReactNode = null;\n readonly textValue: string = '';\n readonly 'aria-label'?: string = undefined;\n readonly index: number = 0;\n readonly parentKey: Key | null = null;\n readonly prevKey: Key | null = null;\n readonly nextKey: Key | null = null;\n readonly firstChildKey: Key | null = null;\n readonly lastChildKey: Key | null = null;\n readonly props: any = {};\n\n constructor(type: string, key: Key) {\n this.type = type;\n this.key = key;\n }\n\n get childNodes(): Iterable<Node<T>> {\n throw new Error('childNodes is not supported');\n }\n\n clone(): NodeValue<T> {\n let node: Mutable<NodeValue<T>> = new NodeValue(this.type, this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n return node;\n }\n}\n\n/**\n * A mutable node in the fake DOM tree. When mutated, it marks itself as dirty\n * and queues an update with the owner document.\n */\nclass BaseNode<T> {\n private _firstChild: ElementNode<T> | null = null;\n private _lastChild: ElementNode<T> | null = null;\n private _previousSibling: ElementNode<T> | null = null;\n private _nextSibling: ElementNode<T> | null = null;\n private _parentNode: BaseNode<T> | null = null;\n ownerDocument: Document<T, any>;\n\n constructor(ownerDocument: Document<T, any>) {\n this.ownerDocument = ownerDocument;\n }\n\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while (node) {\n yield node;\n node = node.nextSibling;\n }\n }\n\n get firstChild() {\n return this._firstChild;\n }\n\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n\n get lastChild() {\n return this._lastChild;\n }\n\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n\n get previousSibling() {\n return this._previousSibling;\n }\n\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n\n get nextSibling() {\n return this._nextSibling;\n }\n\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n\n get parentNode() {\n return this._parentNode;\n }\n\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n\n appendChild(child: ElementNode<T>) {\n this.ownerDocument.startTransaction();\n if (child.parentNode) {\n child.parentNode.removeChild(child);\n }\n\n if (this.firstChild == null) {\n this.firstChild = child;\n }\n\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n\n this.ownerDocument.markDirty(this);\n if (child.hasSetProps) {\n // Only add the node to the collection if we already received props for it.\n // Otherwise wait until then so we have the correct id for the node.\n this.ownerDocument.addNode(child);\n }\n\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n insertBefore(newNode: ElementNode<T>, referenceNode: ElementNode<T>) {\n if (referenceNode == null) {\n return this.appendChild(newNode);\n }\n\n this.ownerDocument.startTransaction();\n if (newNode.parentNode) {\n newNode.parentNode.removeChild(newNode);\n }\n\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n newNode.index = referenceNode.index;\n\n if (this.firstChild === referenceNode) {\n this.firstChild = newNode;\n } else if (referenceNode.previousSibling) {\n referenceNode.previousSibling.nextSibling = newNode;\n }\n\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n\n let node: ElementNode<T> | null = referenceNode;\n while (node) {\n node.index++;\n node = node.nextSibling;\n }\n\n if (newNode.hasSetProps) {\n this.ownerDocument.addNode(newNode);\n }\n\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n removeChild(child: ElementNode<T>) {\n if (child.parentNode !== this) {\n return;\n }\n\n this.ownerDocument.startTransaction();\n let node = child.nextSibling;\n while (node) {\n node.index--;\n node = node.nextSibling;\n }\n\n if (child.nextSibling) {\n child.nextSibling.previousSibling = child.previousSibling;\n }\n\n if (child.previousSibling) {\n child.previousSibling.nextSibling = child.nextSibling;\n }\n\n if (this.firstChild === child) {\n this.firstChild = child.nextSibling;\n }\n\n if (this.lastChild === child) {\n this.lastChild = child.previousSibling;\n }\n\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n\n this.ownerDocument.removeNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n addEventListener() {}\n removeEventListener() {}\n}\n\n/**\n * A mutable element node in the fake DOM tree. It owns an immutable\n * Collection Node which is copied on write.\n */\nexport class ElementNode<T> extends BaseNode<T> {\n nodeType = 8; // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n node: NodeValue<T>;\n private _index: number = 0;\n hasSetProps = false;\n\n constructor(type: string, ownerDocument: Document<T, any>) {\n super(ownerDocument);\n this.node = new NodeValue(type, `react-aria-${++ownerDocument.nodeId}`);\n // Start a transaction so that no updates are emitted from the collection\n // until the props for this node are set. We don't know the real id for the\n // node until then, so we need to avoid emitting collections in an inconsistent state.\n this.ownerDocument.startTransaction();\n }\n\n get index() {\n return this._index;\n }\n\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n\n get level(): number {\n if (this.parentNode instanceof ElementNode) {\n return this.parentNode.level + (this.node.type === 'item' ? 1 : 0);\n }\n\n return 0;\n }\n\n updateNode() {\n let node = this.ownerDocument.getMutableNode(this);\n node.index = this.index;\n node.level = this.level;\n node.parentKey = this.parentNode instanceof ElementNode ? this.parentNode.node.key : null;\n node.prevKey = this.previousSibling?.node.key ?? null;\n node.nextKey = this.nextSibling?.node.key ?? null;\n node.hasChildNodes = !!this.firstChild;\n node.firstChildKey = this.firstChild?.node.key ?? null;\n node.lastChildKey = this.lastChild?.node.key ?? null;\n }\n\n setProps<T extends Element>(obj: any, ref: ForwardedRef<T>, rendered?: any) {\n let node = this.ownerDocument.getMutableNode(this);\n let {value, textValue, id, ...props} = obj;\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.value = value;\n node.textValue = textValue || (typeof rendered === 'string' ? rendered : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) {\n if (this.hasSetProps) {\n throw new Error('Cannot change the id of an item');\n }\n node.key = id;\n }\n\n // If this is the first time props have been set, end the transaction started in the constructor\n // so this node can be emitted.\n if (!this.hasSetProps) {\n this.ownerDocument.addNode(this);\n this.ownerDocument.endTransaction();\n this.hasSetProps = true;\n }\n\n this.ownerDocument.queueUpdate();\n }\n\n get style() {\n return {};\n }\n\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n}\n\n/**\n * An immutable Collection implementation. Updates are only allowed\n * when it is not marked as frozen.\n */\nexport class BaseCollection<T> implements ICollection<Node<T>> {\n private keyMap: Map<Key, NodeValue<T>> = new Map();\n private firstKey: Key | null = null;\n private lastKey: Key | null = null;\n private frozen = false;\n\n get size() {\n return this.keyMap.size;\n }\n\n getKeys() {\n return this.keyMap.keys();\n }\n\n *[Symbol.iterator]() {\n let node: Node<T> | undefined = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while (node) {\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n\n getChildren(key: Key): Iterable<Node<T>> {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator]() {\n let parent = keyMap.get(key);\n let node = parent?.firstChildKey != null ? keyMap.get(parent.firstChildKey) : null;\n while (node) {\n yield node as Node<T>;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n\n getKeyBefore(key: Key) {\n let node = this.keyMap.get(key);\n if (!node) {\n return null;\n }\n\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n\n while (node && node.type !== 'item' && node.lastChildKey != null) {\n node = this.keyMap.get(node.lastChildKey);\n }\n\n return node?.key ?? null;\n }\n\n return node.parentKey;\n }\n\n getKeyAfter(key: Key) {\n let node = this.keyMap.get(key);\n if (!node) {\n return null;\n }\n\n if (node.type !== 'item' && node.firstChildKey != null) {\n return node.firstChildKey;\n }\n\n while (node) {\n if (node.nextKey != null) {\n return node.nextKey;\n }\n\n if (node.parentKey != null) {\n node = this.keyMap.get(node.parentKey);\n } else {\n return null;\n }\n }\n\n return null;\n }\n\n getFirstKey() {\n return this.firstKey;\n }\n\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while (node?.lastChildKey != null) {\n node = this.keyMap.get(node.lastChildKey);\n }\n\n return node?.key ?? null;\n }\n\n getItem(key: Key): Node<T> | null {\n return this.keyMap.get(key) ?? null;\n }\n\n at(): Node<T> {\n throw new Error('Not implemented');\n }\n\n clone(): this {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor: any = this.constructor;\n let collection: this = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n return collection;\n }\n\n addNode(node: NodeValue<T>) {\n if (this.frozen) {\n throw new Error('Cannot add a node to a frozen collection');\n }\n\n this.keyMap.set(node.key, node);\n }\n\n removeNode(key: Key) {\n if (this.frozen) {\n throw new Error('Cannot remove a node to a frozen collection');\n }\n\n this.keyMap.delete(key);\n }\n\n commit(firstKey: Key | null, lastKey: Key | null, isSSR = false) {\n if (this.frozen) {\n throw new Error('Cannot commit a frozen collection');\n }\n\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n}\n\n/**\n * A mutable Document in the fake DOM. It owns an immutable Collection instance,\n * which is lazily copied on write during updates.\n */\nexport class Document<T, C extends BaseCollection<T> = BaseCollection<T>> extends BaseNode<T> {\n nodeType = 11; // DOCUMENT_FRAGMENT_NODE\n ownerDocument = this;\n dirtyNodes: Set<BaseNode<T>> = new Set();\n isSSR = false;\n nodeId = 0;\n nodesByProps = new WeakMap<object, ElementNode<T>>();\n private collection: C;\n private collectionMutated: boolean;\n private mutatedNodes: Set<ElementNode<T>> = new Set();\n private subscriptions: Set<() => void> = new Set();\n private transactionCount = 0;\n\n constructor(collection: C) {\n // @ts-ignore\n super(null);\n this.collection = collection;\n this.collectionMutated = true;\n }\n\n createElement(type: string) {\n return new ElementNode(type, this);\n }\n\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */\n getMutableNode(element: ElementNode<T>): Mutable<NodeValue<T>> {\n let node = element.node;\n if (!this.mutatedNodes.has(element)) {\n node = element.node.clone();\n this.mutatedNodes.add(element);\n element.node = node;\n }\n this.markDirty(element);\n return node;\n }\n\n private getMutableCollection() {\n if (!this.isSSR && !this.collectionMutated) {\n this.collection = this.collection.clone();\n this.collectionMutated = true;\n }\n\n return this.collection;\n }\n\n markDirty(node: BaseNode<T>) {\n this.dirtyNodes.add(node);\n }\n\n startTransaction() {\n this.transactionCount++;\n }\n\n endTransaction() {\n this.transactionCount--;\n }\n\n addNode(element: ElementNode<T>) {\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) {\n collection.addNode(element.node);\n\n for (let child of element) {\n this.addNode(child);\n }\n }\n\n this.markDirty(element);\n }\n\n removeNode(node: ElementNode<T>) {\n for (let child of node) {\n child.parentNode = null;\n this.removeNode(child);\n }\n\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n this.markDirty(node);\n }\n\n /** Finalizes the collection update, updating all nodes and freezing the collection. */\n getCollection(): C {\n if (this.transactionCount > 0) {\n return this.collection;\n }\n\n this.updateCollection();\n return this.collection;\n }\n\n updateCollection() {\n for (let element of this.dirtyNodes) {\n if (element instanceof ElementNode && element.parentNode) {\n element.updateNode();\n }\n }\n\n this.dirtyNodes.clear();\n\n if (this.mutatedNodes.size) {\n let collection = this.getMutableCollection();\n for (let element of this.mutatedNodes) {\n if (element.parentNode) {\n collection.addNode(element.node);\n }\n }\n\n collection.commit(this.firstChild?.node.key ?? null, this.lastChild?.node.key ?? null, this.isSSR);\n this.mutatedNodes.clear();\n }\n\n this.collectionMutated = false;\n }\n\n queueUpdate() {\n // Don't emit any updates if there is a transaction in progress.\n // queueUpdate should be called again after the transaction.\n if (this.dirtyNodes.size === 0 || this.transactionCount > 0) {\n return;\n }\n\n for (let fn of this.subscriptions) {\n fn();\n }\n }\n\n subscribe(fn: () => void) {\n this.subscriptions.add(fn);\n return () => this.subscriptions.delete(fn);\n }\n\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n }\n }\n}\n\nexport interface CollectionProps<T> extends Omit<CollectionBase<T>, 'children'> {\n /** The contents of the collection. */\n children?: ReactNode | ((item: T) => ReactNode)\n}\n\ninterface CachedChildrenOptions<T> extends CollectionProps<T> {\n idScope?: Key,\n addIdAndValue?: boolean\n}\n\nexport function useCachedChildren<T extends object>(props: CachedChildrenOptions<T>): ReactNode {\n let {children, items, idScope, addIdAndValue} = props;\n let cache = useMemo(() => new WeakMap(), []);\n return useMemo(() => {\n if (items && typeof children === 'function') {\n let res: ReactElement[] = [];\n for (let item of items) {\n let rendered = cache.get(item);\n if (!rendered) {\n rendered = children(item);\n if (rendered.key == null) {\n // @ts-ignore\n let key = rendered.props.id ?? item.key ?? item.id;\n // eslint-disable-next-line max-depth\n if (key == null) {\n throw new Error('Could not determine key for item');\n }\n // eslint-disable-next-line max-depth\n if (idScope) {\n key = idScope + ':' + key;\n }\n // TODO: only works if wrapped Item passes through id...\n rendered = cloneElement(\n rendered,\n addIdAndValue ? {key, id: key, value: item} : {key}\n );\n }\n cache.set(item, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') {\n return children;\n }\n }, [children, items, cache, idScope, addIdAndValue]);\n}\n\nexport function useCollectionChildren<T extends object>(props: CachedChildrenOptions<T>) {\n return useCachedChildren({...props, addIdAndValue: true});\n}\n\nconst ShallowRenderContext = createContext(false);\n\ninterface CollectionResult<C> {\n portal: ReactNode,\n collection: C\n}\n\nexport function useCollection<T extends object, C extends BaseCollection<T>>(props: CollectionProps<T>, initialCollection?: C): CollectionResult<C> {\n let {collection, document} = useCollectionDocument<T, C>(initialCollection);\n let portal = useCollectionPortal<T, C>(props, document);\n return {portal, collection};\n}\n\ninterface CollectionDocumentResult<T, C extends BaseCollection<T>> {\n collection: C,\n document: Document<T, C>\n}\n\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction useSyncExternalStoreFallback<C>(subscribe: (onStoreChange: () => void) => () => void, getSnapshot: () => C, getServerSnapshot: () => C): C {\n let isSSR = useIsSSR();\n let isSSRRef = useRef(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rulesdir/pure-render\n isSSRRef.current = isSSR;\n\n let getSnapshotWrapper = useCallback(() => {\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [getSnapshot, getServerSnapshot]);\n return useSyncExternalStoreShim(subscribe, getSnapshotWrapper);\n}\n\nconst useSyncExternalStore = typeof React['useSyncExternalStore'] === 'function'\n ? React['useSyncExternalStore']\n : useSyncExternalStoreFallback;\n\nexport function useCollectionDocument<T extends object, C extends BaseCollection<T>>(initialCollection?: C): CollectionDocumentResult<T, C> {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let document = useMemo(() => new Document<T, C>(initialCollection || new BaseCollection() as C), [initialCollection]);\n let subscribe = useCallback((fn: () => void) => document.subscribe(fn), [document]);\n let getSnapshot = useCallback(() => {\n let collection = document.getCollection();\n if (document.isSSR) {\n // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n }\n return collection;\n }, [document]);\n let getServerSnapshot = useCallback(() => {\n document.isSSR = true;\n return document.getCollection();\n }, [document]);\n let collection = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {collection, document};\n}\n\nconst SSRContext = createContext<BaseNode<any> | null>(null);\n\nexport function useCollectionPortal<T extends object, C extends BaseCollection<T>>(props: CollectionProps<T>, document: Document<T, C>): ReactNode {\n let children = useCollectionChildren(props);\n let wrappedChildren = useMemo(() => (\n <ShallowRenderContext.Provider value>\n {children}\n </ShallowRenderContext.Provider>\n ), [children]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return useIsSSR()\n ? <SSRContext.Provider value={document}>{wrappedChildren}</SSRContext.Provider>\n : createPortal(wrappedChildren, document as unknown as Element);\n}\n\n/** Renders a DOM element (e.g. separator or header) shallowly when inside a collection. */\nexport function useShallowRender<T extends Element>(Element: string, props: React.HTMLAttributes<T>, ref: ForwardedRef<T>): ReactElement | null {\n let isShallow = useContext(ShallowRenderContext);\n if (isShallow) {\n // Elements cannot be re-parented, so the context will always be there.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSSRCollectionNode(Element, props, ref, props.children) ?? <></>;\n }\n\n return null;\n}\n\nexport interface ItemRenderProps {\n /**\n * Whether the item is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the item is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the item is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the item is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the item is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the item is non-interactive, i.e. both selection and actions are disabled and the item may\n * not be focused. Dependent on `disabledKeys` and `disabledBehavior`.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * The type of selection that is allowed in the collection.\n * @selector [data-selection-mode=\"single | multiple\"]\n */\n selectionMode: SelectionMode,\n /** The selection behavior for the collection. */\n selectionBehavior: SelectionBehavior,\n /**\n * Whether the item allows dragging.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-allows-dragging]\n */\n allowsDragging?: boolean,\n /**\n * Whether the item is currently being dragged.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-dragging]\n */\n isDragging?: boolean,\n /**\n * Whether the item is currently an active drop target.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-drop-target]\n */\n isDropTarget?: boolean\n}\n\nexport function useCollectionItemRef<T extends Element>(props: any, ref: ForwardedRef<T>, rendered?: any) {\n // Return a callback ref that sets the props object on the fake DOM node.\n return useCallback((element) => {\n element?.setProps(props, ref, rendered);\n }, [props, ref, rendered]);\n}\n\nexport function useSSRCollectionNode<T extends Element>(Type: string, props: object, ref: ForwardedRef<T>, rendered?: any, children?: ReactNode) {\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = useCollectionItemRef(props, ref, rendered);\n let parentNode = useContext(SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(Type);\n element.setProps(props, ref, rendered);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n\n return children\n ? <SSRContext.Provider value={element}>{children}</SSRContext.Provider>\n : null;\n }\n\n // @ts-ignore\n return <Type ref={itemRef}>{children}</Type>;\n}\n\nexport interface ItemProps<T = object> extends Omit<SharedItemProps<T>, 'children'>, RenderProps<ItemRenderProps> {\n /** The unique id of the item. */\n id?: Key,\n /** The object value that this item represents. When using dynamic collections, this is set automatically. */\n value?: T\n}\n\nfunction Item<T extends object>(props: ItemProps<T>, ref: ForwardedRef<HTMLElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\nconst _Item = /*#__PURE__*/ (forwardRef as forwardRefType)(Item);\nexport {_Item as Item};\n\nexport interface SectionProps<T> extends Omit<SharedSectionProps<T>, 'children' | 'title'>, StyleProps {\n /** The unique id of the section. */\n id?: Key,\n /** The object value that this section represents. When using dynamic collections, this is set automatically. */\n value?: T,\n /** Static child items or a function to render children. */\n children?: ReactNode | ((item: T) => ReactElement)\n}\n\nfunction Section<T extends object>(props: SectionProps<T>, ref: ForwardedRef<HTMLElement>): JSX.Element | null {\n let children = useCollectionChildren(props);\n return useSSRCollectionNode('section', props, ref, null, children);\n}\n\nconst _Section = /*#__PURE__*/ (forwardRef as forwardRefType)(Section);\nexport {_Section as Section};\n\nexport const CollectionContext = createContext<CachedChildrenOptions<unknown> | null>(null);\nexport const CollectionRendererContext = createContext<CollectionProps<any>['children']>(null);\n\n/** A Collection renders a list of items, automatically managing caching and keys. */\nexport function Collection<T extends object>(props: CollectionProps<T>): JSX.Element {\n let ctx = useContext(CollectionContext)!;\n props = mergeProps(ctx, props);\n let renderer = typeof props.children === 'function' ? props.children : null;\n return (\n <CollectionRendererContext.Provider value={renderer}>\n {useCollectionChildren(props)}\n </CollectionRendererContext.Provider>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMProps as SharedDOMProps} from '@react-types/shared';\nimport {mergeProps, mergeRefs, useLayoutEffect, useObjectRef} from '@react-aria/utils';\nimport React, {Context, createContext, CSSProperties, ForwardedRef, ReactNode, RefCallback, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useIsSSR} from 'react-aria';\n\n// Override forwardRef types so generics work.\ndeclare function forwardRef<T, P = {}>(\n render: (props: P, ref: React.Ref<T>) => React.ReactElement | null\n): (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n\nexport type forwardRefType = typeof forwardRef;\n\nexport const slotCallbackSymbol = Symbol('callback');\nexport const defaultSlot = Symbol('default');\n\ninterface SlottedValue<T> {\n slots?: Record<string | symbol, T>,\n [slotCallbackSymbol]?: (value: T) => void\n}\n\nexport type ContextValue<T extends SlotProps, E extends Element> = SlottedValue<WithRef<T, E>> | WithRef<T, E> | null | undefined;\n\ntype ProviderValue<T> = [Context<T>, T];\ntype ProviderValues<A, B, C, D, E, F, G, H> =\n | [ProviderValue<A>]\n | [ProviderValue<A>, ProviderValue<B>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>, ProviderValue<H>];\n\ninterface ProviderProps<A, B, C, D, E, F, G, H> {\n values: ProviderValues<A, B, C, D, E, F, G, H>,\n children: ReactNode\n}\n\nexport function Provider<A, B, C, D, E, F, G, H>({values, children}: ProviderProps<A, B, C, D, E, F, G, H>): JSX.Element {\n for (let [Context, value] of values) {\n // @ts-ignore\n children = <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n return children as JSX.Element;\n}\n\nexport interface StyleProps {\n /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. */\n className?: string,\n /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. */\n style?: CSSProperties\n}\n\nexport interface DOMProps extends StyleProps {\n /** The children of the component. */\n children?: ReactNode\n}\n\nexport interface StyleRenderProps<T> {\n /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state. */\n className?: string | ((values: T) => string),\n /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state. */\n style?: CSSProperties | ((values: T) => CSSProperties)\n}\n\nexport interface RenderProps<T> extends StyleRenderProps<T> {\n /** The children of the component. A function may be provided to alter the children based on component state. */\n children?: ReactNode | ((values: T) => ReactNode)\n}\n\ninterface RenderPropsHookOptions<T> extends RenderProps<T>, SharedDOMProps, AriaLabelingProps {\n values: T,\n defaultChildren?: ReactNode,\n defaultClassName?: string\n}\n\nexport function useRenderProps<T>(props: RenderPropsHookOptions<T>) {\n let {\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n values\n } = props;\n\n return useMemo(() => {\n let computedClassName: string | undefined;\n let computedStyle: React.CSSProperties | undefined;\n let computedChildren: React.ReactNode | undefined;\n\n if (typeof className === 'function') {\n computedClassName = className(values);\n } else {\n computedClassName = className;\n }\n\n if (typeof style === 'function') {\n computedStyle = style(values);\n } else {\n computedStyle = style;\n }\n\n if (typeof children === 'function') {\n computedChildren = children(values);\n } else if (children == null) {\n computedChildren = defaultChildren;\n } else {\n computedChildren = children;\n }\n\n return {\n className: computedClassName ?? defaultClassName,\n style: computedStyle,\n children: computedChildren,\n 'data-rac': ''\n };\n }, [className, style, children, defaultClassName, defaultChildren, values]);\n}\n\nexport type WithRef<T, E> = T & {ref?: ForwardedRef<E>};\nexport interface SlotProps {\n /** A slot name for the component. Slots allow the component to receive props from a parent component. */\n slot?: string\n}\n\nexport function useSlottedContext<U extends SlotProps, E extends Element>(context: Context<ContextValue<U, E>>, slot?: string): WithRef<U, E> | null | undefined {\n let ctx = useContext(context);\n if (ctx && 'slots' in ctx && ctx.slots) {\n if (!slot && !ctx.slots[defaultSlot]) {\n throw new Error('A slot prop is required');\n }\n let slotKey = slot || defaultSlot;\n if (!ctx.slots[slotKey]) {\n // @ts-ignore\n throw new Error(`Invalid slot \"${slot}\". Valid slot names are ` + new Intl.ListFormat().format(Object.keys(ctx.slots).map(p => `\"${p}\"`)) + '.');\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\n\nexport function useContextProps<T, U extends SlotProps, E extends Element>(props: T & SlotProps, ref: ForwardedRef<E>, context: Context<ContextValue<U, E>>): [T, RefObject<E>] {\n let ctx = useSlottedContext(context, props.slot) || {};\n // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\n let {ref: contextRef, [slotCallbackSymbol]: callback, ...contextProps} = ctx;\n let mergedRef = useObjectRef(useMemo(() => mergeRefs(ref, contextRef), [ref, contextRef]));\n let mergedProps = mergeProps(contextProps, props) as unknown as T;\n\n // A parent component might need the props from a child, so call slot callback if needed.\n useEffect(() => {\n if (callback) {\n callback(props);\n }\n }, [callback, props]);\n\n return [mergedProps, mergedRef];\n}\n\nexport function useSlot(): [RefCallback<Element>, boolean] {\n // Assume we do have the slot in the initial render.\n let [hasSlot, setHasSlot] = useState(true);\n let hasRun = useRef(false);\n\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = useCallback(el => {\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n\n // If the callback hasn't been called, then reset to false.\n useLayoutEffect(() => {\n if (!hasRun.current) {\n setHasSlot(false);\n }\n }, []);\n\n return [ref, hasSlot];\n}\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady: boolean = true) {\n let [isEntering, setEntering] = useState(true);\n useAnimation(ref, isEntering && isReady, useCallback(() => setEntering(false), []));\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n let [isExiting, setExiting] = useState(false);\n let [exitState, setExitState] = useState('idle');\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === 'idle') {\n isExiting = true;\n setExiting(true);\n setExitState('exiting');\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === 'exited') {\n setExitState('idle');\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState('exited');\n setExiting(false);\n }, [])\n );\n\n return isExiting;\n}\n\nfunction useAnimation(ref: RefObject<HTMLElement>, isActive: boolean, onEnd: () => void) {\n let prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n // eslint-disable-next-line rulesdir/pure-render\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n let computedStyle = window.getComputedStyle(ref.current);\n if (computedStyle.animationName !== 'none' && computedStyle.animation !== prevAnimation.current) {\n let onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener('animationend', onAnimationEnd);\n ReactDOM.flushSync(() => {onEnd();});\n }\n };\n\n let element = ref.current;\n element.addEventListener('animationend', onAnimationEnd);\n return () => {\n element.removeEventListener('animationend', onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n\n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild')!.get!;\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (this.dataset.reactAriaHidden) {\n return this.content.firstChild;\n } else {\n return getFirstChild.call(this);\n }\n }\n });\n}\n\nexport const HiddenContext = createContext<boolean>(false);\n\n// Portal to nowhere\nconst hiddenFragment = typeof DocumentFragment !== 'undefined' ? new DocumentFragment() : null;\n\nexport function Hidden(props: {children: ReactNode}) {\n let isHidden = useContext(HiddenContext);\n let isSSR = useIsSSR();\n if (isHidden) {\n // Don't hide again if we are already hidden.\n return <>{props.children}</>;\n }\n\n let children = (\n <HiddenContext.Provider value>\n {props.children}\n </HiddenContext.Provider>\n );\n\n // In SSR, portals are not supported by React. Instead, render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the DOM tree, so it won't affect ids or other accessibility attributes.\n return isSSR\n ? <template data-react-aria-hidden>{children}</template>\n : ReactDOM.createPortal(children, hiddenFragment!);\n}\n\n// Creates a component that forwards its ref and returns null if it is in a <Hidden> subtree.\n// Note: this function is handled specially in the documentation generator. If you change it, you'll need to update DocsTransformer as well.\nexport function createHideableComponent<T, P = {}>(fn: (props: P, ref: React.Ref<T>) => React.ReactElement | null): (props: P & React.RefAttributes<T>) => React.ReactElement | null {\n let Wrapper = (props: P, ref: React.Ref<T>) => {\n let isHidden = useContext(HiddenContext);\n if (isHidden) {\n return null;\n }\n\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (React.forwardRef as forwardRefType)(Wrapper);\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLinkOptions, mergeProps, useFocusRing, useHover, useLink} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps, mergeRefs} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, useMemo} from 'react';\n\nexport interface LinkProps extends Omit<AriaLinkOptions, 'elementType'>, RenderProps<LinkRenderProps>, SlotProps {}\n\nexport interface LinkRenderProps {\n /**\n * Whether the link is the current item within a list.\n * @selector [data-current]\n */\n isCurrent: boolean,\n /**\n * Whether the link is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the link is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the link is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the link is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the link is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport const LinkContext = createContext<ContextValue<LinkProps, HTMLAnchorElement>>(null);\n\nfunction Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {\n [props, ref] = useContextProps(props, ref, LinkContext);\n\n let elementType = typeof props.children === 'string' || typeof props.children === 'function' ? 'span' : 'a';\n let {linkProps, isPressed} = useLink({...props, elementType}, ref);\n\n let {hoverProps, isHovered} = useHover(props);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Link',\n values: {\n isCurrent: !!props['aria-current'],\n isDisabled: props.isDisabled || false,\n isPressed,\n isHovered,\n isFocused,\n isFocusVisible\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n let element: any = typeof renderProps.children === 'string'\n ? <span>{renderProps.children}</span>\n : React.Children.only(renderProps.children);\n\n return React.cloneElement(element, {\n ref: useMemo(() => element.ref ? mergeRefs(element.ref, ref) : ref, [element.ref, ref]),\n slot: props.slot,\n ...mergeProps(DOMProps, renderProps, linkProps, hoverProps, focusProps, {\n children: element.props.children,\n 'data-focused': isFocused || undefined,\n 'data-hovered': isHovered || undefined,\n 'data-pressed': isPressed || undefined,\n 'data-focus-visible': isFocusVisible || undefined,\n 'data-current': !!props['aria-current'] || undefined,\n 'data-disabled': props.isDisabled || undefined\n }, element.props)\n });\n}\n\n/**\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n */\nconst _Link = /*#__PURE__*/ (forwardRef as forwardRefType)(Link);\nexport {_Link as Link};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaButtonProps, mergeProps, useButton, useFocusRing, useHover} from 'react-aria';\nimport {ContextValue, createHideableComponent, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef} from 'react';\n\nexport interface ButtonRenderProps {\n /**\n * Whether the button is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the button is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the button is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the button is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the button is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface ButtonProps extends Omit<AriaButtonProps, 'children' | 'href' | 'target' | 'rel' | 'elementType'>, SlotProps, RenderProps<ButtonRenderProps> {\n /**\n * The <form> element to associate the button with.\n * The value of this attribute must be the id of a <form> in the same document.\n */\n form?: string,\n /**\n * The URL that processes the information submitted by the button.\n * Overrides the action attribute of the button's form owner.\n */\n formAction?: string,\n /** Indicates how to encode the form data that is submitted. */\n formEncType?: string,\n /** Indicates the HTTP method used to submit the form. */\n formMethod?: string,\n /** Indicates that the form is not to be validated when it is submitted. */\n formNoValidate?: boolean,\n /** Overrides the target attribute of the button's form owner. */\n formTarget?: string,\n /** Submitted as a pair with the button's value as part of the form data. */\n name?: string,\n /** The value associated with the button's name when it's submitted with the form data. */\n value?: string\n}\n\ninterface ButtonContextValue extends ButtonProps {\n isPressed?: boolean\n}\n\nconst additionalButtonHTMLAttributes = new Set(['form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'name', 'value']);\n\nexport const ButtonContext = createContext<ContextValue<ButtonContextValue, HTMLButtonElement>>({});\n\nfunction Button(props: ButtonProps, ref: ForwardedRef<HTMLButtonElement>) {\n [props, ref] = useContextProps(props, ref, ButtonContext);\n let ctx = props as ButtonContextValue;\n let {buttonProps, isPressed} = useButton(props, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing(props);\n let {hoverProps, isHovered} = useHover(props);\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isPressed, isFocused, isFocusVisible, isDisabled: props.isDisabled || false},\n defaultClassName: 'react-aria-Button'\n });\n\n return (\n <button\n {...filterDOMProps(props, {propNames: additionalButtonHTMLAttributes})}\n {...mergeProps(buttonProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-disabled={props.isDisabled || undefined}\n data-pressed={ctx.isPressed || isPressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined} />\n );\n}\n\n/**\n * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.\n */\nconst _Button = /*#__PURE__*/ createHideableComponent(Button);\nexport {_Button as Button};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {CalendarProps as BaseCalendarProps, RangeCalendarProps as BaseRangeCalendarProps, DateValue, mergeProps, useCalendar, useCalendarCell, useCalendarGrid, useFocusRing, useHover, useLocale, useRangeCalendar, VisuallyHidden} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CalendarDate, createCalendar, DateDuration, endOfMonth, getWeeksInMonth, isSameDay, isSameMonth} from '@internationalized/date';\nimport {CalendarState, RangeCalendarState, useCalendarState, useRangeCalendarState} from 'react-stately';\nimport {ContextValue, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleProps, useContextProps, useRenderProps} from './utils';\nimport {DOMAttributes, FocusableElement} from '@react-types/shared';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {HeadingContext} from './Heading';\nimport React, {createContext, ForwardedRef, forwardRef, ReactElement, useContext} from 'react';\nimport {TextContext} from './Text';\n\nexport interface CalendarRenderProps {\n /**\n * Whether the calendar is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * State of the calendar.\n */\n state: CalendarState,\n /**\n * Whether the calendar is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface RangeCalendarRenderProps extends Omit<CalendarRenderProps, 'state'> {\n /**\n * State of the range calendar.\n */\n state: RangeCalendarState\n}\n\nexport interface CalendarProps<T extends DateValue> extends Omit<BaseCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<CalendarRenderProps>, SlotProps {\n /**\n * The amount of days that will be displayed at once. This affects how pagination works.\n * @default {months: 1}\n */\n visibleDuration?: DateDuration\n}\n\nexport interface RangeCalendarProps<T extends DateValue> extends Omit<BaseRangeCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<RangeCalendarRenderProps>, SlotProps {\n /**\n * The amount of days that will be displayed at once. This affects how pagination works.\n * @default {months: 1}\n */\n visibleDuration?: DateDuration\n}\n\nexport const CalendarContext = createContext<ContextValue<CalendarProps<any>, HTMLDivElement>>({});\nexport const RangeCalendarContext = createContext<ContextValue<RangeCalendarProps<any>, HTMLDivElement>>({});\nconst InternalCalendarContext = createContext<CalendarState | RangeCalendarState | null>(null);\n\nfunction Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, CalendarContext);\n let {locale} = useLocale();\n let state = useCalendarState({\n ...props,\n locale,\n createCalendar\n });\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps, title} = useCalendar(props, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isValueInvalid\n },\n defaultClassName: 'react-aria-Calendar'\n });\n\n return (\n <div\n {...renderProps}\n {...calendarProps}\n ref={ref}\n slot={props.slot}\n data-disabled={props.isDisabled || undefined}\n data-invalid={state.isValueInvalid || undefined}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n previous: prevButtonProps,\n next: nextButtonProps\n }\n }],\n [HeadingContext, {'aria-hidden': true, level: 2, children: title}],\n [InternalCalendarContext, state],\n [TextContext, {\n slots: {\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n {renderProps.children}\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n </Provider>\n </div>\n );\n}\n\n/**\n * A calendar displays one or more date grids and allows users to select a single date.\n */\nconst _Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(Calendar);\nexport {_Calendar as Calendar};\n\nfunction RangeCalendar<T extends DateValue>(props: RangeCalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, RangeCalendarContext);\n let {locale} = useLocale();\n let state = useRangeCalendarState({\n ...props,\n locale,\n createCalendar\n });\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps, title} = useRangeCalendar(\n props,\n state,\n ref\n );\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isValueInvalid\n },\n defaultClassName: 'react-aria-RangeCalendar'\n });\n\n return (\n <div\n {...renderProps}\n {...calendarProps}\n ref={ref}\n slot={props.slot}\n data-disabled={props.isDisabled || undefined}\n data-invalid={state.isValueInvalid || undefined}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n previous: prevButtonProps,\n next: nextButtonProps\n }\n }],\n [HeadingContext, {'aria-hidden': true, level: 2, children: title}],\n [InternalCalendarContext, state],\n [TextContext, {\n slots: {\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n {renderProps.children}\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n </Provider>\n </div>\n );\n}\n\n/**\n * A range calendar displays one or more date grids and allows users to select a contiguous range of dates.\n */\nconst _RangeCalendar = /*#__PURE__*/ (forwardRef as forwardRefType)(RangeCalendar);\nexport {_RangeCalendar as RangeCalendar};\n\nexport interface CalendarCellRenderProps {\n /** The date that the cell represents. */\n date: CalendarDate,\n /** The day number formatted according to the current locale. */\n formattedDate: string,\n /**\n * Whether the cell is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the cell is currently being pressed.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the cell is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the cell is the first date in a range selection.\n * @selector [data-selection-start]\n */\n isSelectionStart: boolean,\n /**\n * Whether the cell is the last date in a range selection.\n * @selector [data-selection-end]\n */\n isSelectionEnd: boolean,\n /**\n * Whether the cell is focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the cell is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the cell is disabled, according to the calendar's `minValue`, `maxValue`, and `isDisabled` props.\n * Disabled dates are not focusable, and cannot be selected by the user. They are typically\n * displayed with a dimmed appearance.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the cell is outside the visible range of the calendar.\n * For example, dates before the first day of a month in the same week.\n * @selector [data-outside-visible-range]\n */\n isOutsideVisibleRange: boolean,\n /**\n * Whether the cell is outside the current month.\n * @selector [data-outside-month]\n */\n isOutsideMonth: boolean,\n /**\n * Whether the cell is unavailable, according to the calendar's `isDateUnavailable` prop. Unavailable dates remain\n * focusable, but cannot be selected by the user. They should be displayed with a visual affordance to indicate they\n * are unavailable, such as a different color or a strikethrough.\n *\n * Note that because they are focusable, unavailable dates must meet a 4.5:1 color contrast ratio,\n * [as defined by WCAG](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html).\n *\n * @selector [data-unavailable]\n */\n isUnavailable: boolean,\n /**\n * Whether the cell is part of an invalid selection.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface CalendarGridProps extends StyleProps {\n /**\n * Either a function to render calendar cells for each date in the month,\n * or children containing a `<CalendarGridHeader>`` and `<CalendarGridBody>`\n * when additional customization is needed.\n */\n children?: ReactElement | ReactElement[] | ((date: CalendarDate) => ReactElement),\n /**\n * An offset from the beginning of the visible date range that this\n * CalendarGrid should display. Useful when displaying more than one\n * month at a time.\n */\n offset?: DateDuration,\n /**\n * The style of weekday names to display in the calendar grid header,\n * e.g. single letter, abbreviation, or full day name.\n * @default \"narrow\"\n */\n weekdayStyle?: 'narrow' | 'short' | 'long'\n}\n\ninterface InternalCalendarGridContextValue {\n headerProps: DOMAttributes<FocusableElement>,\n weekDays: string[],\n startDate: CalendarDate\n}\n\nconst InternalCalendarGridContext = createContext<InternalCalendarGridContextValue | null>(null);\n\nfunction CalendarGrid(props: CalendarGridProps, ref: ForwardedRef<HTMLTableElement>) {\n let state = useContext(InternalCalendarContext)!;\n let startDate = state.visibleRange.start;\n if (props.offset) {\n startDate = startDate.add(props.offset);\n }\n\n let {gridProps, headerProps, weekDays} = useCalendarGrid({\n startDate,\n endDate: endOfMonth(startDate),\n weekdayStyle: props.weekdayStyle\n }, state);\n\n return (\n <InternalCalendarGridContext.Provider value={{headerProps, weekDays, startDate}}>\n <table\n {...filterDOMProps(props as any)}\n {...gridProps}\n ref={ref}\n style={props.style}\n className={props.className ?? 'react-aria-CalendarGrid'}>\n {typeof props.children !== 'function'\n ? props.children\n : (<>\n <CalendarGridHeaderForwardRef>\n {day => <CalendarHeaderCellForwardRef>{day}</CalendarHeaderCellForwardRef>}\n </CalendarGridHeaderForwardRef>\n <CalendarGridBodyForwardRef>\n {props.children}\n </CalendarGridBodyForwardRef>\n </>)\n }\n </table>\n </InternalCalendarGridContext.Provider>\n );\n}\n\n/**\n * A calendar grid displays a single grid of days within a calendar or range calendar which\n * can be keyboard navigated and selected by the user.\n */\nconst _CalendarGrid = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGrid);\nexport {_CalendarGrid as CalendarGrid};\n\nexport interface CalendarGridHeaderProps extends StyleProps {\n /** A function to render a `<CalendarHeaderCell>` for a weekday name. */\n children: (day: string) => ReactElement\n}\n\nfunction CalendarGridHeader(props: CalendarGridHeaderProps, ref: ForwardedRef<HTMLTableSectionElement>) {\n let {children, style, className} = props;\n let {headerProps, weekDays} = useContext(InternalCalendarGridContext)!;\n\n return (\n <thead\n {...filterDOMProps(props as any)}\n {...headerProps}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarGridHeader'}>\n <tr>\n {weekDays.map((day, key) => React.cloneElement(children(day), {key}))}\n </tr>\n </thead>\n );\n}\n\n/**\n * A calendar grid header displays a row of week day names at the top of a month.\n */\nconst CalendarGridHeaderForwardRef = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGridHeader);\nexport {CalendarGridHeaderForwardRef as CalendarGridHeader};\n\nexport interface CalendarHeaderCellProps extends DOMProps {}\n\nfunction CalendarHeaderCell(props: CalendarHeaderCellProps, ref: ForwardedRef<HTMLTableCellElement>) {\n let {children, style, className} = props;\n return (\n <th\n {...filterDOMProps(props as any)}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarHeaderCell'}>\n {children}\n </th>\n );\n}\n\n/**\n * A calendar header cell displays a week day name at the top of a column within a calendar.\n */\nconst CalendarHeaderCellForwardRef = forwardRef(CalendarHeaderCell);\nexport {CalendarHeaderCellForwardRef as CalendarHeaderCell};\n\nexport interface CalendarGridBodyProps extends StyleProps {\n /** A function to render a `<CalendarCell>` for a given date. */\n children: (date: CalendarDate) => ReactElement\n}\n\nfunction CalendarGridBody(props: CalendarGridBodyProps, ref: ForwardedRef<HTMLTableSectionElement>) {\n let {children, style, className} = props;\n let state = useContext(InternalCalendarContext)!;\n let {startDate} = useContext(InternalCalendarGridContext)!;\n let {locale} = useLocale();\n let weeksInMonth = getWeeksInMonth(startDate, locale);\n\n return (\n <tbody\n {...filterDOMProps(props as any)}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarGridBody'}>\n {[...new Array(weeksInMonth).keys()].map((weekIndex) => (\n <tr key={weekIndex}>\n {state.getDatesInWeek(weekIndex, startDate).map((date, i) => (\n date\n ? React.cloneElement(children(date), {key: i})\n : <td key={i} />\n ))}\n </tr>\n ))}\n </tbody>\n );\n}\n\n/**\n * A calendar grid body displays a grid of calendar cells within a month.\n */\nconst CalendarGridBodyForwardRef = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGridBody);\nexport {CalendarGridBodyForwardRef as CalendarGridBody};\n\nexport interface CalendarCellProps extends RenderProps<CalendarCellRenderProps> {\n /** The date to render in the cell. */\n date: CalendarDate\n}\n\nfunction CalendarCell({date, ...otherProps}: CalendarCellProps, ref: ForwardedRef<HTMLDivElement>) {\n let state = useContext(InternalCalendarContext)!;\n let {startDate: currentMonth} = useContext(InternalCalendarGridContext) ?? {startDate: state.visibleRange.start};\n let objectRef = useObjectRef(ref);\n let {cellProps, buttonProps, ...states} = useCalendarCell(\n {date},\n state,\n objectRef\n );\n\n let {hoverProps, isHovered} = useHover({isDisabled: states.isDisabled});\n let {focusProps, isFocusVisible} = useFocusRing();\n let isOutsideMonth = !isSameMonth(currentMonth, date);\n let isSelectionStart = false;\n let isSelectionEnd = false;\n if ('highlightedRange' in state && state.highlightedRange) {\n isSelectionStart = isSameDay(date, state.highlightedRange.start);\n isSelectionEnd = isSameDay(date, state.highlightedRange.end);\n }\n\n let renderProps = useRenderProps({\n ...otherProps,\n defaultChildren: states.formattedDate,\n defaultClassName: 'react-aria-CalendarCell',\n values: {\n date,\n isHovered,\n isOutsideMonth,\n isFocusVisible,\n isSelectionStart,\n isSelectionEnd,\n ...states\n }\n });\n\n let dataAttrs = {\n 'data-focused': states.isFocused || undefined,\n 'data-hovered': isHovered || undefined,\n 'data-pressed': states.isPressed || undefined,\n 'data-unavailable': states.isUnavailable || undefined,\n 'data-disabled': states.isDisabled || undefined,\n 'data-focus-visible': isFocusVisible || undefined,\n 'data-outside-visible-range': states.isOutsideVisibleRange || undefined,\n 'data-outside-month': isOutsideMonth || undefined,\n 'data-selected': states.isSelected || undefined,\n 'data-selection-start': isSelectionStart || undefined,\n 'data-selection-end': isSelectionEnd || undefined,\n 'data-invalid': states.isInvalid || undefined\n };\n\n return (\n <td {...cellProps}>\n <div {...mergeProps(filterDOMProps(otherProps as any), buttonProps, focusProps, hoverProps, dataAttrs, renderProps)} ref={objectRef} />\n </td>\n );\n}\n\n/**\n * A calendar cell displays a date cell within a calendar grid which can be selected by the user.\n */\nconst _CalendarCell = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarCell);\nexport {_CalendarCell as CalendarCell};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ElementType, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface HeadingProps extends HTMLAttributes<HTMLElement> {\n level?: number\n}\n\nexport const HeadingContext = createContext<ContextValue<HeadingProps, HTMLHeadingElement>>({});\n\nfunction Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {\n [props, ref] = useContextProps(props, ref, HeadingContext);\n let {children, level = 3, className, ...domProps} = props;\n let Element = `h${level}` as ElementType;\n\n return (\n <Element {...domProps} className={className ?? 'react-aria-Heading'}>\n {children}\n </Element>\n );\n}\n\nconst _Heading = forwardRef(Heading);\nexport {_Heading as Heading};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n elementType?: string\n}\n\nexport const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});\n\nfunction Text(props: TextProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, TextContext);\n let {elementType: ElementType = 'span', ...domProps} = props;\n // @ts-ignore\n return <ElementType className=\"react-aria-Text\" {...domProps} ref={ref} />;\n}\n\nconst _Text = forwardRef(Text);\nexport {_Text as Text};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaCheckboxGroupProps, AriaCheckboxProps, mergeProps, useCheckbox, useCheckboxGroup, useCheckboxGroupItem, useFocusRing, useHover, usePress, VisuallyHidden} from 'react-aria';\nimport {CheckboxGroupState, useCheckboxGroupState, useToggleState} from 'react-stately';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useContext, useState} from 'react';\nimport {TextContext} from './Text';\n\nexport interface CheckboxGroupProps extends Omit<AriaCheckboxGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<CheckboxGroupRenderProps>, SlotProps {}\nexport interface CheckboxProps extends Omit<AriaCheckboxProps, 'children' | 'validationState'>, RenderProps<CheckboxRenderProps>, SlotProps {}\n\nexport interface CheckboxGroupRenderProps {\n /**\n * Whether the checkbox group is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the checkbox group is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the checkbox group is required.\n * @selector [data-required]\n */\n isRequired: boolean,\n /**\n * Whether the checkbox group is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the checkbox group.\n */\n state: CheckboxGroupState\n}\n\nexport interface CheckboxRenderProps {\n /**\n * Whether the checkbox is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the checkbox is indeterminate.\n * @selector [data-indeterminate]\n */\n isIndeterminate: boolean,\n /**\n * Whether the checkbox is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the checkbox is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the checkbox is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the checkbox is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the checkbox is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the checkbox is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the checkbox invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the checkbox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport const CheckboxGroupContext = createContext<ContextValue<CheckboxGroupProps, HTMLDivElement>>(null);\nconst InternalCheckboxGroupContext = createContext<CheckboxGroupState | null>(null);\n\nfunction CheckboxGroup(props: CheckboxGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, CheckboxGroupContext);\n let state = useCheckboxGroupState(props);\n let [labelRef, label] = useSlot();\n let {groupProps, labelProps, descriptionProps, errorMessageProps} = useCheckboxGroup({\n ...props,\n label\n }, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n\n return (\n <div\n {...groupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-readonly={state.isReadOnly || undefined}\n data-required={props.isRequired || undefined}\n data-invalid={state.isInvalid || undefined}\n data-disabled={props.isDisabled || undefined}>\n <Provider\n values={[\n [InternalCheckboxGroupContext, state],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\nexport const CheckboxContext = createContext<ContextValue<CheckboxProps, HTMLInputElement>>(null);\n\nfunction Checkbox(props: CheckboxProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, CheckboxContext);\n let groupState = useContext(InternalCheckboxGroupContext);\n let {inputProps, isSelected, isDisabled, isReadOnly, isPressed: isPressedKeyboard} = groupState\n // eslint-disable-next-line react-hooks/rules-of-hooks\n ? useCheckboxGroupItem({\n ...props,\n // Value is optional for standalone checkboxes, but required for CheckboxGroup items;\n // it's passed explicitly here to avoid typescript error (requires ignore).\n // @ts-ignore\n value: props.value,\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, groupState, ref)\n // eslint-disable-next-line react-hooks/rules-of-hooks\n : useCheckbox({...props, children: typeof props.children === 'function' ? true : props.children}, useToggleState(props), ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let isInteractionDisabled = isDisabled || isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useCheckbox\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: isInteractionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: isInteractionDisabled\n });\n\n let pressed = isInteractionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n // TODO: should data attrs go on the label or on the <input>? useCheckbox passes them to the input...\n ...props,\n defaultClassName: 'react-aria-Checkbox',\n values: {\n isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly,\n isInvalid: props.isInvalid || groupState?.isInvalid || false,\n isRequired: props.isRequired || false\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n slot={props.slot}\n data-selected={isSelected || undefined}\n data-indeterminate={props.isIndeterminate || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={isReadOnly || undefined}\n data-invalid={props.isInvalid || groupState?.isInvalid || undefined}\n data-required={props.isRequired || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...inputProps} {...focusProps} ref={ref} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A checkbox allows a user to select multiple items from a list of individual items, or\n * to mark one individual item as selected.\n */\nconst _Checkbox = /*#__PURE__*/ (forwardRef as forwardRefType)(Checkbox);\n\n/**\n * A checkbox group allows a user to select multiple items from a list of options.\n */\nconst _CheckboxGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(CheckboxGroup);\n\nexport {_Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, createHideableComponent, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, LabelHTMLAttributes} from 'react';\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n elementType?: string\n}\n\nexport const LabelContext = createContext<ContextValue<LabelProps, HTMLLabelElement>>({});\n\nfunction Label(props: LabelProps, ref: ForwardedRef<HTMLLabelElement>) {\n [props, ref] = useContextProps(props, ref, LabelContext);\n let {elementType: ElementType = 'label', ...labelProps} = props;\n // @ts-ignore\n return <ElementType className=\"react-aria-Label\" {...labelProps} ref={ref} />;\n}\n\nconst _Label = /*#__PURE__*/ createHideableComponent(Label);\nexport {_Label as Label};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaComboBoxProps, useComboBox, useFilter} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {Collection, Node, useComboBoxState} from 'react-stately';\nimport {ContextValue, forwardRefType, Hidden, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, useResizeObserver} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport {ListBoxContext} from './ListBox';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useCallback, useMemo, useRef, useState} from 'react';\nimport {TextContext} from './Text';\nimport {useCollectionDocument} from './Collection';\n\nexport interface ComboBoxRenderProps {\n /**\n * Whether the combobox is currently open.\n * @selector [data-open]\n */\n isOpen: boolean,\n /**\n * Whether the combobox is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the combobox is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the combobox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport interface ComboBoxProps<T extends object> extends Omit<AriaComboBoxProps<T>, 'children' | 'placeholder' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<ComboBoxRenderProps>, SlotProps {\n /** The filter function used to determine if a option should be included in the combo box list. */\n defaultFilter?: (textValue: string, inputValue: string) => boolean,\n /**\n * Whether the text or key of the selected item is submitted as part of an HTML form.\n * When `allowsCustomValue` is `true`, this option does not apply and the text is always submitted.\n * @default 'key'\n */\n formValue?: 'text' | 'key'\n}\n\nexport const ComboBoxContext = createContext<ContextValue<ComboBoxProps<any>, HTMLDivElement>>(null);\n\nfunction ComboBox<T extends object>(props: ComboBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ComboBoxContext);\n let {collection, document} = useCollectionDocument();\n let {children, isDisabled = false, isInvalid = false, isRequired = false} = props;\n children = useMemo(() => (\n typeof children === 'function'\n ? children({\n isOpen: false,\n isDisabled,\n isInvalid,\n isRequired\n })\n : children\n ), [children, isDisabled, isInvalid, isRequired]);\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection even when the popover is not open.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <ListBoxContext.Provider value={{document, items: props.items ?? props.defaultItems}}>\n {children}\n </ListBoxContext.Provider>\n </Hidden>\n <ComboBoxInner props={props} collection={collection} comboBoxRef={ref} />\n </>\n );\n}\n\ninterface ComboBoxInnerProps<T extends object> {\n props: ComboBoxProps<T>,\n collection: Collection<Node<T>>,\n comboBoxRef: RefObject<HTMLDivElement>\n}\n\nfunction ComboBoxInner<T extends object>({props, collection, comboBoxRef: ref}: ComboBoxInnerProps<T>) {\n let {\n name,\n formValue = 'key',\n allowsCustomValue\n } = props;\n if (allowsCustomValue) {\n formValue = 'text';\n }\n\n let {contains} = useFilter({sensitivity: 'base'});\n let state = useComboBoxState({\n defaultFilter: props.defaultFilter || contains,\n ...props,\n // If props.items isn't provided, rely on collection filtering (aka listbox.items is provided or defaultItems provided to Combobox)\n items: props.items,\n children: undefined,\n collection\n });\n\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = useMemo(() => ({\n isOpen: state.isOpen,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n isRequired: props.isRequired || false\n }), [state.isOpen, props.isDisabled, props.isInvalid, props.isRequired]);\n let buttonRef = useRef<HTMLButtonElement>(null);\n let inputRef = useRef<HTMLInputElement>(null);\n let listBoxRef = useRef<HTMLDivElement>(null);\n let popoverRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n buttonProps,\n inputProps,\n listBoxProps,\n labelProps,\n descriptionProps,\n errorMessageProps\n } = useComboBox({\n ...props,\n label,\n inputRef,\n buttonRef,\n listBoxRef,\n popoverRef,\n name: formValue === 'text' ? name : undefined\n },\n state);\n\n // Make menu width match input + button\n let [menuWidth, setMenuWidth] = useState<string | null>(null);\n let onResize = useCallback(() => {\n if (inputRef.current) {\n let buttonRect = buttonRef.current?.getBoundingClientRect();\n let inputRect = inputRef.current.getBoundingClientRect();\n let minX = buttonRect ? Math.min(buttonRect.left, inputRect.left) : inputRect.left;\n let maxX = buttonRect ? Math.max(buttonRect.right, inputRect.right) : inputRect.right;\n setMenuWidth((maxX - minX) + 'px');\n }\n }, [buttonRef, inputRef, setMenuWidth]);\n\n useResizeObserver({\n ref: inputRef,\n onResize: onResize\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-ComboBox'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}],\n [ButtonContext, {...buttonProps, ref: buttonRef, isPressed: state.isOpen}],\n [InputContext, {...inputProps, ref: inputRef}],\n [PopoverContext, {\n state,\n ref: popoverRef,\n triggerRef: inputRef,\n placement: 'bottom start',\n isNonModal: true,\n style: {'--trigger-width': menuWidth} as React.CSSProperties\n }],\n [ListBoxContext, {state, ...listBoxProps, ref: listBoxRef}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-focused={state.isFocused || undefined}\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}\n data-required={props.isRequired || undefined} />\n {name && formValue === 'key' && <input type=\"hidden\" name={name} value={state.selectedKey} />}\n </Provider>\n );\n}\n\n/**\n * A combo box combines a text input with a listbox, allowing users to filter a list of options to items matching a query.\n */\nconst _ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ComboBox);\nexport {_ComboBox as ComboBox};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, createHideableComponent, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, InputHTMLAttributes} from 'react';\n\nexport interface InputRenderProps {\n /**\n * Whether the input is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the input is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the input is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the input is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the input is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'>, StyleRenderProps<InputRenderProps> {}\n\nexport const InputContext = createContext<ContextValue<InputProps, HTMLInputElement>>({});\n\nfunction Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, InputContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = useRenderProps({\n ...props,\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid\n },\n defaultClassName: 'react-aria-Input'\n });\n\n return (\n <input\n {...mergeProps(props, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-disabled={props.disabled || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-invalid={isInvalid || undefined} />\n );\n}\n\n/**\n * An input allows a user to input text.\n */\nconst _Input = /*#__PURE__*/ createHideableComponent(Input);\nexport {_Input as Input};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaListBoxOptions, AriaListBoxProps, DraggableItemResult, DragPreviewRenderer, DroppableCollectionResult, DroppableItemResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useHover, useListBox, useListBoxSection, useLocale, useOption} from 'react-aria';\nimport {CollectionProps, Document, ItemProps, useCachedChildren, useCollection, useCollectionPortal} from './Collection';\nimport {ContextValue, forwardRefType, HiddenContext, Provider, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {DraggableCollectionState, DroppableCollectionState, ListState, Node, Orientation, SelectionBehavior, useListState} from 'react-stately';\nimport {filterDOMProps, mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {Header} from './Header';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useEffect, useMemo, useRef} from 'react';\nimport {Separator, SeparatorContext} from './Separator';\nimport {TextContext} from './Text';\n\nexport interface ListBoxRenderProps {\n /**\n * Whether the listbox has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the listbox is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the listbox is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the listbox is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * Whether the items are arranged in a stack or grid.\n * @selector [data-layout=\"stack | grid\"]\n */\n layout: 'stack' | 'grid',\n /**\n * State of the listbox.\n */\n state: ListState<unknown>\n}\n\nexport interface ListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'children' | 'label'>, CollectionProps<T>, StyleRenderProps<ListBoxRenderProps>, SlotProps {\n /** How multiple selection should behave in the collection. */\n selectionBehavior?: SelectionBehavior,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the ListBox. */\n dragAndDropHooks?: DragAndDropHooks,\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: () => ReactNode,\n /**\n * Whether the items are arranged in a stack or grid.\n * @default 'stack'\n */\n layout?: 'stack' | 'grid',\n /**\n * The primary orientation of the items. Usually this is the\n * direction that the collection scrolls.\n * @default 'vertical'\n */\n orientation?: Orientation\n}\n\ninterface ListBoxContextValue<T> extends ListBoxProps<T> {\n state?: ListState<T>,\n document?: Document<any, any>\n}\n\ninterface InternalListBoxContextValue {\n state: ListState<unknown>,\n shouldFocusOnHover?: boolean,\n dragAndDropHooks?: DragAndDropHooks,\n dragState?: DraggableCollectionState,\n dropState?: DroppableCollectionState\n}\n\nexport const ListBoxContext = createContext<ContextValue<ListBoxContextValue<any>, HTMLDivElement>>(null);\nconst InternalListBoxContext = createContext<InternalListBoxContextValue | null>(null);\n\nfunction ListBox<T>(props: ListBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ListBoxContext);\n let ctx = props as ListBoxContextValue<T>;\n let isHidden = useContext(HiddenContext);\n\n // The structure of ListBox is a bit strange because it needs to work inside other components like ComboBox and Select.\n // Those components render two copies of their children so that the collection can be built even when the popover is closed.\n // The first copy sends a collection document via context which we render the collection portal into.\n // The second copy sends a ListState object via context which we use to render the ListBox without rebuilding the state.\n // Otherwise, we have a standalone ListBox, so we need to create a collection and state ourselves.\n\n if (ctx.document) {\n return <ListBoxPortal {...props} />;\n }\n\n if (ctx.state) {\n return isHidden ? null : <ListBoxInner state={ctx.state} props={props} listBoxRef={ref} />;\n }\n\n return <StandaloneListBox props={props} listBoxRef={ref} />;\n}\n\nfunction StandaloneListBox({props, listBoxRef}) {\n let {portal, collection} = useCollection(props);\n props = {...props, collection, children: null, items: null};\n let state = useListState(props);\n return (\n <>\n {portal}\n <ListBoxInner state={state} props={props} listBoxRef={listBoxRef} />\n </>\n );\n}\n\nfunction ListBoxPortal(props) {\n return <>{useCollectionPortal(props, props.document)}</>;\n}\n\n/**\n * A listbox displays a list of options and allows a user to select one or more of them.\n */\nconst _ListBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ListBox);\nexport {_ListBox as ListBox};\n\ninterface ListBoxInnerProps<T> {\n state: ListState<T>,\n props: ListBoxProps<T> & AriaListBoxOptions<T>,\n listBoxRef: RefObject<HTMLDivElement>\n}\n\nfunction ListBoxInner<T>({state, props, listBoxRef}: ListBoxInnerProps<T>) {\n let {dragAndDropHooks, layout = 'stack', orientation = 'vertical'} = props;\n let {collection, selectionManager} = state;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let {direction} = useLocale();\n let {disabledBehavior, disabledKeys} = selectionManager;\n let keyboardDelegate = useMemo(() => (\n props.keyboardDelegate || new ListKeyboardDelegate({\n collection,\n ref: listBoxRef,\n disabledKeys: disabledBehavior === 'selection' ? new Set<React.Key>() : disabledKeys,\n layout,\n orientation,\n direction\n })\n ), [collection, listBoxRef, disabledBehavior, disabledKeys, orientation, direction, props.keyboardDelegate, layout]);\n\n let {listBoxProps} = useListBox({\n ...props,\n shouldSelectOnPressUp: isListDraggable || props.shouldSelectOnPressUp,\n keyboardDelegate\n }, state, listBoxRef);\n\n let children = useCachedChildren({\n items: collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'section':\n return <ListBoxSection section={item} />;\n case 'separator':\n return <Separator {...item.props} />;\n case 'item':\n return <Option item={item} />;\n default:\n throw new Error('Unsupported node type in Menu: ' + item.type);\n }\n }\n });\n\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, listBoxRef);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, listBoxRef, {orientation, layout, direction});\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, listBoxRef);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-ListBox',\n values: {\n isDropTarget: isRootDropTarget,\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible,\n layout: props.layout || 'stack',\n state\n }\n });\n\n let emptyState: JSX.Element | null = null;\n if (state.collection.size === 0 && props.renderEmptyState) {\n emptyState = (\n <div\n // eslint-disable-next-line\n role=\"option\"\n style={{display: 'contents'}}>\n {props.renderEmptyState()}\n </div>\n );\n }\n\n return (\n <FocusScope>\n <div\n {...filterDOMProps(props)}\n {...mergeProps(listBoxProps, focusProps, droppableCollection?.collectionProps)}\n {...renderProps}\n ref={listBoxRef}\n slot={props.slot}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-layout={props.layout || 'stack'}\n data-orientation={props.orientation || 'vertical'}>\n <Provider\n values={[\n [InternalListBoxContext, {state, shouldFocusOnHover: props.shouldFocusOnHover, dragAndDropHooks, dragState, dropState}],\n [SeparatorContext, {elementType: 'div'}],\n [DropIndicatorContext, {render: ListBoxDropIndicatorWrapper}]\n ]}>\n {children}\n </Provider>\n {emptyState}\n {dragPreview}\n </div>\n </FocusScope>\n );\n}\n\ninterface ListBoxSectionProps<T> extends StyleProps {\n section: Node<T>\n}\n\nfunction ListBoxSection<T>({section, className, style}: ListBoxSectionProps<T>) {\n let {state} = useContext(InternalListBoxContext)!;\n let [headingRef, heading] = useSlot();\n let {headingProps, groupProps} = useListBoxSection({\n heading,\n 'aria-label': section['aria-label'] ?? undefined\n });\n\n let children = useCachedChildren({\n items: state.collection.getChildren!(section.key),\n children: item => {\n switch (item.type) {\n case 'header': {\n return (\n <SectionHeader\n item={item}\n headingProps={headingProps}\n headingRef={headingRef} />\n );\n }\n case 'item':\n return <Option item={item} />;\n default:\n throw new Error('Unsupported element type in Section: ' + item.type);\n }\n }\n });\n\n return (\n <section\n {...filterDOMProps(section.props)}\n {...groupProps}\n className={className || section.props?.className || 'react-aria-Section'}\n style={style || section.props?.style}\n ref={section.props.ref}>\n {children}\n </section>\n );\n}\n\n// This is a separate component so that headingProps.id doesn't override the item key in useCachedChildren.\nfunction SectionHeader({item, headingProps, headingRef}) {\n let {ref, ...otherProps} = item.props;\n return (\n <Header\n {...headingProps}\n {...otherProps}\n ref={mergeRefs(headingRef, ref)}>\n {item.rendered}\n </Header>\n );\n}\n\ninterface OptionProps<T> {\n item: Node<T>\n}\n\nfunction Option<T>({item}: OptionProps<T>) {\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {state, shouldFocusOnHover, dragAndDropHooks, dragState, dropState} = useContext(InternalListBoxContext)!;\n let {optionProps, labelProps, descriptionProps, ...states} = useOption(\n {key: item.key},\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: shouldFocusOnHover || (!states.allowsSelection && !states.hasAction)\n });\n\n if (shouldFocusOnHover) {\n hoverProps = {};\n isHovered = states.isFocused;\n }\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key}, dragState);\n }\n\n let droppableItem: DroppableItemResult | null = null;\n if (dropState && dragAndDropHooks) {\n droppableItem = dragAndDropHooks.useDroppableItem!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, ref);\n }\n\n let props: ItemProps<T> = item.props;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: droppableItem?.isDropTarget\n }\n });\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Item> elements with non-plain text children in order to support accessibility features such as type to select.');\n }\n }, [item.textValue]);\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n <div\n {...mergeProps(filterDOMProps(props as any), optionProps, hoverProps, draggableItem?.dragProps, droppableItem?.dropProps)}\n {...renderProps}\n ref={ref}\n data-allows-dragging={!!dragState || undefined}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={states.isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={droppableItem?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [TextContext, {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction ListBoxDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(InternalListBoxContext)!;\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n ref\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <ListBoxtDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} ref={ref} />\n );\n}\n\ninterface ListBoxDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean\n}\n\nfunction ListBoxtDropIndicator(props: ListBoxDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n ...otherProps\n } = props;\n\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <div\n {...dropIndicatorProps}\n {...renderProps}\n // eslint-disable-next-line\n role=\"option\"\n ref={ref as RefObject<HTMLDivElement>}\n data-drop-target={isDropTarget || undefined} />\n );\n}\n\nconst ListBoxtDropIndicatorForwardRef = forwardRef(ListBoxtDropIndicator);\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n DropIndicatorProps as AriaDropIndicatorProps,\n DraggableCollectionOptions,\n DraggableItemProps,\n DraggableItemResult,\n DragItem,\n DragPreview,\n DropIndicatorAria,\n DroppableCollectionOptions,\n DroppableCollectionResult,\n DroppableItemOptions,\n DroppableItemResult,\n DropTarget,\n DropTargetDelegate,\n ListDropTargetDelegate,\n useDraggableCollection,\n useDraggableItem,\n useDropIndicator,\n useDroppableCollection,\n useDroppableItem\n} from 'react-aria';\nimport {DraggableCollectionProps, DroppableCollectionProps} from '@react-types/shared';\nimport {\n DraggableCollectionState,\n DraggableCollectionStateOptions,\n DroppableCollectionState,\n DroppableCollectionStateOptions,\n useDraggableCollectionState,\n useDroppableCollectionState\n} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactNode, RefObject, useContext, useMemo} from 'react';\nimport {RenderProps} from './utils';\n\ninterface DraggableCollectionStateOpts extends Omit<DraggableCollectionStateOptions, 'getItems'> {}\n\ninterface DragHooks {\n useDraggableCollectionState?: (props: DraggableCollectionStateOpts) => DraggableCollectionState,\n useDraggableCollection?: (props: DraggableCollectionOptions, state: DraggableCollectionState, ref: RefObject<HTMLElement>) => void,\n useDraggableItem?: (props: DraggableItemProps, state: DraggableCollectionState) => DraggableItemResult,\n DragPreview?: typeof DragPreview,\n renderDragPreview?: (items: DragItem[]) => JSX.Element\n}\n\ninterface DropHooks {\n useDroppableCollectionState?: (props: DroppableCollectionStateOptions) => DroppableCollectionState,\n useDroppableCollection?: (props: DroppableCollectionOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DroppableCollectionResult,\n useDroppableItem?: (options: DroppableItemOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DroppableItemResult,\n useDropIndicator?: (props: AriaDropIndicatorProps, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DropIndicatorAria,\n renderDropIndicator?: (target: DropTarget) => JSX.Element,\n dropTargetDelegate?: DropTargetDelegate,\n ListDropTargetDelegate: typeof ListDropTargetDelegate\n}\n\nexport type DragAndDropHooks = DragHooks & DropHooks;\n\nexport interface DragAndDrop {\n /** Drag and drop hooks for the collection element. */\n dragAndDropHooks: DragAndDropHooks\n}\n\nexport interface DragAndDropOptions extends Omit<DraggableCollectionProps, 'preview' | 'getItems'>, DroppableCollectionProps {\n /**\n * A function that returns the items being dragged. If not specified, we assume that the collection is not draggable.\n * @default () => []\n */\n getItems?: (keys: Set<Key>) => DragItem[],\n /**\n * A function that renders a drag preview, which is shown under the user's cursor while dragging.\n * By default, a copy of the dragged element is rendered.\n */\n renderDragPreview?: (items: DragItem[]) => JSX.Element,\n /**\n * A function that renders a drop indicator element between two items in a collection.\n * This should render a `<DropIndicator>` element. If this function is not provided, a\n * default DropIndicator is provided.\n */\n renderDropIndicator?: (target: DropTarget) => JSX.Element,\n /** A custom delegate object that provides drop targets for pointer coordinates within the collection. */\n dropTargetDelegate?: DropTargetDelegate\n}\n\n/**\n * Provides the hooks required to enable drag and drop behavior for a drag and drop compatible collection component.\n */\nexport function useDragAndDrop(options: DragAndDropOptions): DragAndDrop {\n let dragAndDropHooks = useMemo(() => {\n let {\n onDrop,\n onInsert,\n onItemDrop,\n onReorder,\n onRootDrop,\n getItems,\n renderDragPreview,\n renderDropIndicator,\n dropTargetDelegate\n } = options;\n\n let isDraggable = !!getItems;\n let isDroppable = !!(onDrop || onInsert || onItemDrop || onReorder || onRootDrop);\n\n let hooks = {} as DragHooks & DropHooks;\n if (isDraggable) {\n hooks.useDraggableCollectionState = function useDraggableCollectionStateOverride(props: DraggableCollectionStateOpts) {\n return useDraggableCollectionState({...props, ...options} as DraggableCollectionStateOptions);\n };\n hooks.useDraggableCollection = useDraggableCollection;\n hooks.useDraggableItem = useDraggableItem;\n hooks.DragPreview = DragPreview;\n hooks.renderDragPreview = renderDragPreview;\n }\n\n if (isDroppable) {\n hooks.useDroppableCollectionState = function useDroppableCollectionStateOverride(props: DroppableCollectionStateOptions) {\n return useDroppableCollectionState({...props, ...options});\n },\n hooks.useDroppableItem = useDroppableItem;\n hooks.useDroppableCollection = function useDroppableCollectionOverride(props: DroppableCollectionOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) {\n return useDroppableCollection({...props, ...options}, state, ref);\n };\n hooks.useDropIndicator = useDropIndicator;\n hooks.renderDropIndicator = renderDropIndicator;\n hooks.dropTargetDelegate = dropTargetDelegate;\n hooks.ListDropTargetDelegate = ListDropTargetDelegate;\n }\n\n return hooks;\n }, [options]);\n\n return {\n dragAndDropHooks\n };\n}\n\nexport const DropIndicatorContext = createContext<DropIndicatorContextValue | null>(null);\n\nexport interface DropIndicatorRenderProps {\n /**\n * Whether the drop indicator is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean\n}\n\nexport interface DropIndicatorProps extends AriaDropIndicatorProps, RenderProps<DropIndicatorRenderProps> {}\n\ninterface DropIndicatorContextValue {\n render: (props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) => ReactNode\n}\n\nfunction DropIndicator(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>): JSX.Element {\n let {render} = useContext(DropIndicatorContext)!;\n return <>{render(props, ref)}</>;\n}\n\n/**\n * A DropIndicator is rendered between items in a collection to indicate where dropped data will be inserted.\n */\nconst _DropIndicator = forwardRef(DropIndicator);\nexport {_DropIndicator as DropIndicator};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\nimport {useShallowRender} from './Collection';\n\nexport const HeaderContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>>({});\n\nfunction Header(originalProps: HTMLAttributes<HTMLElement>, originalRef: ForwardedRef<HTMLElement>) {\n let [props, ref] = useContextProps(originalProps, originalRef, HeaderContext);\n let shallow = useShallowRender('header', originalProps, originalRef);\n if (shallow) {\n return shallow;\n }\n\n return (\n <header className=\"react-aria-Header\" {...props} ref={ref}>\n {props.children}\n </header>\n );\n}\n\nconst _Header = forwardRef(Header);\nexport {_Header as Header};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {SeparatorProps as AriaSeparatorProps, useSeparator} from 'react-aria';\nimport {ContextValue, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ElementType, ForwardedRef, forwardRef} from 'react';\nimport {useShallowRender} from './Collection';\n\nexport interface SeparatorProps extends AriaSeparatorProps, StyleProps, SlotProps {}\n\nexport const SeparatorContext = createContext<ContextValue<SeparatorProps, HTMLElement>>({});\n\nfunction Separator(originalProps: SeparatorProps, originalRef: ForwardedRef<HTMLElement>) {\n let [props, ref] = useContextProps(originalProps, originalRef, SeparatorContext);\n let {elementType, orientation, style, className} = props;\n let Element = (elementType as ElementType) || 'hr';\n if (Element === 'hr' && orientation === 'vertical') {\n Element = 'div';\n }\n\n let {separatorProps} = useSeparator({\n elementType,\n orientation\n });\n\n let shallow = useShallowRender('separator', originalProps, originalRef);\n if (shallow) {\n return shallow;\n }\n\n return (\n <Element\n {...filterDOMProps(props)}\n {...separatorProps}\n style={style}\n className={className ?? 'react-aria-Separator'}\n ref={ref}\n slot={props.slot} />\n );\n}\n\nconst _Separator = forwardRef(Separator);\nexport {_Separator as Separator};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaPopoverProps, DismissButton, Overlay, PlacementAxis, PositionProps, usePopover} from 'react-aria';\nimport {ContextValue, forwardRefType, HiddenContext, RenderProps, SlotProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {filterDOMProps, mergeProps} from '@react-aria/utils';\nimport {OverlayArrowContext} from './OverlayArrow';\nimport {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useContext} from 'react';\n\nexport interface PopoverProps extends Omit<PositionProps, 'isOpen'>, Omit<AriaPopoverProps, 'popoverRef' | 'triggerRef'>, OverlayTriggerProps, RenderProps<PopoverRenderProps>, SlotProps {\n /**\n * The ref for the element which the popover positions itself with respect to.\n *\n * When used within a trigger component such as DialogTrigger, MenuTrigger, Select, etc.,\n * this is set automatically. It is only required when used standalone.\n */\n triggerRef?: RefObject<Element>\n}\n\nexport interface PopoverRenderProps {\n /**\n * The placement of the popover relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis,\n /**\n * Whether the popover is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the popover is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean\n}\n\ninterface PopoverContextValue extends PopoverProps {\n state?: OverlayTriggerState,\n triggerRef?: RefObject<Element>\n}\n\nexport const PopoverContext = createContext<ContextValue<PopoverContextValue, HTMLElement>>(null);\n\nfunction Popover(props: PopoverProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, PopoverContext);\n let ctx = props as PopoverContextValue;\n let localState = useOverlayTriggerState(props);\n let state = props.isOpen != null || props.defaultOpen != null || !ctx?.state ? localState : ctx.state;\n let isExiting = useExitAnimation(ref, state.isOpen);\n let isHidden = useContext(HiddenContext);\n\n // If we are in a hidden tree, we still need to preserve our children.\n if (isHidden) {\n let children = props.children;\n if (typeof children === 'function') {\n children = children({\n placement: 'bottom',\n isEntering: false,\n isExiting: false\n });\n }\n\n return <>{children}</>;\n }\n\n if (state && !state.isOpen && !isExiting) {\n return null;\n }\n\n return (\n <PopoverInner\n {...props}\n triggerRef={ctx.triggerRef!}\n state={state}\n popoverRef={ref}\n isExiting={isExiting} />\n );\n}\n\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */\nconst _Popover = /*#__PURE__*/ (forwardRef as forwardRefType)(Popover);\nexport {_Popover as Popover};\n\ninterface PopoverInnerProps extends AriaPopoverProps, RenderProps<PopoverRenderProps>, SlotProps {\n state: OverlayTriggerState,\n isExiting: boolean\n}\n\nfunction PopoverInner({state, isExiting, ...props}: PopoverInnerProps) {\n let {popoverProps, underlayProps, arrowProps, placement} = usePopover({\n ...props,\n offset: props.offset ?? 8\n }, state);\n\n let ref = props.popoverRef as RefObject<HTMLDivElement>;\n let isEntering = useEnterAnimation(ref, !!placement);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Popover',\n values: {\n placement,\n isEntering,\n isExiting\n }\n });\n\n let style = {...renderProps.style, ...popoverProps.style};\n\n return (\n <Overlay isExiting={isExiting}>\n {!props.isNonModal && <div {...underlayProps} style={{position: 'fixed', inset: 0}} />}\n <div\n {...mergeProps(filterDOMProps(props as any), popoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n style={style}\n data-placement={placement}\n data-entering={isEntering || undefined}\n data-exiting={isExiting || undefined}>\n {!props.isNonModal && <DismissButton onDismiss={state.close} />}\n <OverlayArrowContext.Provider value={{arrowProps, placement}}>\n {renderProps.children}\n </OverlayArrowContext.Provider>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {forwardRefType, RenderProps, useRenderProps} from './utils';\nimport {mergeProps} from '@react-aria/utils';\nimport {PlacementAxis} from 'react-aria';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, HTMLAttributes, useContext} from 'react';\n\ninterface OverlayArrowContextValue {\n arrowProps: HTMLAttributes<HTMLElement>,\n placement: PlacementAxis\n}\n\nexport const OverlayArrowContext = createContext<OverlayArrowContextValue>({\n arrowProps: {},\n placement: 'bottom'\n});\n\nexport interface OverlayArrowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'style' | 'children'>, RenderProps<OverlayArrowRenderProps> {}\n\nexport interface OverlayArrowRenderProps {\n /**\n * The placement of the overlay relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis\n}\n\nfunction OverlayArrow(props: OverlayArrowProps, ref: ForwardedRef<HTMLDivElement>) {\n let {arrowProps, placement} = useContext(OverlayArrowContext)!;\n let style: CSSProperties = {\n ...arrowProps.style,\n position: 'absolute',\n [placement]: '100%',\n transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'\n };\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-OverlayArrow',\n values: {\n placement\n }\n });\n\n return (\n <div\n {...mergeProps(arrowProps, props)}\n {...renderProps}\n style={{\n ...renderProps.style,\n ...style\n }}\n ref={ref}\n data-placement={placement} />\n );\n}\n\n/**\n * An OverlayArrow renders a custom arrow element relative to an overlay element\n * such as a popover or tooltip such that it aligns with a trigger element.\n */\nconst _OverlayArrow = /*#__PURE__*/ (forwardRef as forwardRefType)(OverlayArrow);\nexport {_OverlayArrow as OverlayArrow};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDateFieldProps, AriaTimeFieldProps, DateValue, mergeProps, TimeValue, useDateField, useDateSegment, useFocusRing, useHover, useLocale, useTimeField} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DateFieldState, DateSegmentType, DateSegment as IDateSegment, useDateFieldState, useTimeFieldState} from 'react-stately';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport React, {cloneElement, createContext, ForwardedRef, forwardRef, HTMLAttributes, InputHTMLAttributes, ReactElement, RefObject, useContext, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DateFieldRenderProps {\n /**\n * State of the date field.\n */\n state: DateFieldState,\n /**\n * Whether the date field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the date field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\nexport interface DateFieldProps<T extends DateValue> extends Omit<AriaDateFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateFieldRenderProps>, SlotProps {}\nexport interface TimeFieldProps<T extends TimeValue> extends Omit<AriaTimeFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateFieldRenderProps>, SlotProps {}\n\ninterface DateInputContextValue extends SlotProps {\n state: DateFieldState,\n fieldProps: HTMLAttributes<HTMLElement>,\n inputProps: InputHTMLAttributes<HTMLInputElement>,\n inputRef: RefObject<HTMLInputElement>\n}\n\nexport const DateFieldContext = createContext<ContextValue<DateFieldProps<any>, HTMLDivElement>>(null);\nexport const TimeFieldContext = createContext<ContextValue<TimeFieldProps<any>, HTMLDivElement>>(null);\nexport const DateInputContext = createContext<ContextValue<DateInputContextValue, HTMLDivElement>>(null);\n\nfunction DateField<T extends DateValue>(props: DateFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DateFieldContext);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let fieldRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let inputRef = useRef<HTMLInputElement>(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps} = useDateField({...props, label, inputRef}, state, fieldRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isInvalid: state.isInvalid,\n isDisabled: state.isDisabled\n },\n defaultClassName: 'react-aria-DateField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [DateInputContext, {state, fieldProps, ref: fieldRef, inputRef, inputProps}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-invalid={state.isInvalid || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date field allows users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = /*#__PURE__*/ (forwardRef as forwardRefType)(DateField);\nexport {_DateField as DateField};\n\nfunction TimeField<T extends TimeValue>(props: TimeFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TimeFieldContext);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let fieldRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let inputRef = useRef<HTMLInputElement>(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps} = useTimeField({...props, label, inputRef}, state, fieldRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isInvalid: state.isInvalid,\n isDisabled: state.isDisabled\n },\n defaultClassName: 'react-aria-TimeField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [DateInputContext, {state, fieldProps, ref: fieldRef, inputRef, inputProps}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-invalid={state.isInvalid || undefined} />\n </Provider>\n );\n}\n\n/**\n * A time field allows users to enter and edit time values using a keyboard.\n * Each part of a time value is displayed in an individually editable segment.\n */\nconst _TimeField = /*#__PURE__*/ (forwardRef as forwardRefType)(TimeField);\nexport {_TimeField as TimeField};\n\nconst InternalDateInputContext = createContext<DateFieldState| null>(null);\n\nexport interface DateInputRenderProps {\n /**\n * Whether the date input is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether an element within the date input is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the date input is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the date input is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface DateInputProps extends SlotProps, StyleRenderProps<DateInputRenderProps> {\n children: (segment: IDateSegment) => ReactElement\n}\n\nfunction DateInput({children, slot, ...otherProps}: DateInputProps, ref: ForwardedRef<HTMLDivElement>) {\n let [{state, fieldProps, inputProps, inputRef}, fieldRef] = useContextProps({slot} as DateInputProps & DateInputContextValue, ref, DateInputContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true,\n isTextInput: true\n });\n\n let renderProps = useRenderProps({\n ...otherProps,\n values: {isHovered, isFocusWithin: isFocused, isFocusVisible, isDisabled: state.isDisabled},\n defaultClassName: 'react-aria-DateInput'\n });\n\n return (\n <InternalDateInputContext.Provider value={state}>\n <div\n {...mergeProps(filterDOMProps(otherProps as any), fieldProps, focusProps, hoverProps)}\n {...renderProps}\n ref={fieldRef}\n slot={slot}\n data-focus-within={isFocused || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={state.isDisabled || undefined}>\n {state.segments.map((segment, i) => cloneElement(children(segment), {key: i}))}\n </div>\n <input {...inputProps} ref={inputRef} />\n </InternalDateInputContext.Provider>\n );\n}\n\n/**\n * A date input groups the editable date segments within a date field.\n */\nconst _DateInput = /*#__PURE__*/ (forwardRef as forwardRefType)(DateInput);\nexport {_DateInput as DateInput};\n\nexport interface DateSegmentRenderProps extends Omit<IDateSegment, 'isEditable'> {\n /**\n * Whether the value is a placeholder.\n * @selector [data-placeholder]\n */\n isPlaceholder: boolean,\n /**\n * Whether the segment is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the date field is in an invalid state.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * The type of segment. Values include `literal`, `year`, `month`, `day`, etc.\n * @selector [data-type=\"...\"]\n */\n type: DateSegmentType\n}\n\nexport interface DateSegmentProps extends RenderProps<DateSegmentRenderProps> {\n segment: IDateSegment\n}\n\nfunction DateSegment({segment, ...otherProps}: DateSegmentProps, ref: ForwardedRef<HTMLDivElement>) {\n let state = useContext(InternalDateInputContext)!;\n let domRef = useObjectRef(ref);\n let {segmentProps} = useDateSegment(segment, state, domRef);\n let renderProps = useRenderProps({\n ...otherProps,\n values: {\n ...segment,\n isReadOnly: !segment.isEditable,\n isInvalid: state.isInvalid\n },\n defaultChildren: segment.text,\n defaultClassName: 'react-aria-DateSegment'\n });\n\n return (\n <div\n {...mergeProps(filterDOMProps(otherProps as any), segmentProps)}\n {...renderProps}\n ref={domRef}\n data-placeholder={segment.isPlaceholder || undefined}\n data-invalid={state.isInvalid || undefined}\n data-readonly={!segment.isEditable || undefined}\n data-type={segment.type} />\n );\n}\n\n/**\n * A date segment displays an individual unit of a date and time, and allows users to edit\n * the value by typing or using the arrow keys to increment and decrement.\n */\nconst _DateSegment = /*#__PURE__*/ (forwardRef as forwardRefType)(DateSegment);\nexport {_DateSegment as DateSegment};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDatePickerProps, AriaDateRangePickerProps, DateValue, useDateField, useDatePicker, useDateRangePicker, useFocusRing, useLocale} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CalendarContext, RangeCalendarContext} from './Calendar';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DateInputContext} from './DateField';\nimport {DatePickerState, DateRangePickerState, useDateFieldState, useDatePickerState, useDateRangePickerState} from 'react-stately';\nimport {DialogContext} from './Dialog';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {GroupContext} from './Group';\nimport {LabelContext} from './Label';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DatePickerRenderProps {\n /**\n * Whether an element within the date picker is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the date picker is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the date picker is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the date picker is invalid.\n * @selector [data-disabled]\n */\n isInvalid: boolean,\n /**\n * State of the date picker.\n */\n state: DatePickerState\n}\nexport interface DateRangePickerRenderProps extends Omit<DatePickerRenderProps, 'state'> {\n /**\n * State of the date range picker.\n */\n state: DateRangePickerState\n}\n\nexport interface DatePickerProps<T extends DateValue> extends Omit<AriaDatePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DatePickerRenderProps>, SlotProps {}\nexport interface DateRangePickerProps<T extends DateValue> extends Omit<AriaDateRangePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateRangePickerRenderProps>, SlotProps {}\n\nexport const DatePickerContext = createContext<ContextValue<DatePickerProps<any>, HTMLDivElement>>(null);\nexport const DateRangePickerContext = createContext<ContextValue<DateRangePickerProps<any>, HTMLDivElement>>(null);\n\nfunction DatePicker<T extends DateValue>(props: DatePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DatePickerContext);\n let state = useDatePickerState(props);\n let groupRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n descriptionProps,\n errorMessageProps\n } = useDatePicker({...props, label}, state, groupRef);\n\n let {locale} = useLocale();\n let fieldState = useDateFieldState({\n ...fieldProps,\n locale,\n createCalendar\n });\n\n let fieldRef = useRef<HTMLDivElement>(null);\n let inputRef = useRef<HTMLInputElement>(null);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let {fieldProps: dateFieldProps, inputProps} = useDateField({...fieldProps, label, inputRef}, fieldState, fieldRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isFocusWithin: isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isInvalid\n },\n defaultClassName: 'react-aria-DatePicker'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [GroupContext, {...groupProps, ref: groupRef}],\n [DateInputContext, {state: fieldState, fieldProps: dateFieldProps, ref: fieldRef, inputProps, inputRef}],\n [ButtonContext, {...buttonProps, isPressed: state.isOpen}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [CalendarContext, calendarProps],\n [PopoverContext, {state, triggerRef: groupRef, placement: 'bottom start'}],\n [DialogContext, dialogProps],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...focusProps}\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-focus-within={isFocused || undefined}\n data-invalid={state.isInvalid || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={props.isDisabled || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date picker combines a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DatePicker);\nexport {_DatePicker as DatePicker};\n\nfunction DateRangePicker<T extends DateValue>(props: DateRangePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DateRangePickerContext);\n let state = useDateRangePickerState(props);\n let groupRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n labelProps,\n startFieldProps,\n endFieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n descriptionProps,\n errorMessageProps\n } = useDateRangePicker({...props, label}, state, groupRef);\n\n let {locale} = useLocale();\n let startFieldState = useDateFieldState({\n ...startFieldProps,\n locale,\n createCalendar\n });\n\n let startFieldRef = useRef<HTMLDivElement>(null);\n let startInputRef = useRef<HTMLInputElement>(null);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let {fieldProps: startDateFieldProps, inputProps: startInputProps} = useDateField({...startFieldProps, label, inputRef: startInputRef}, startFieldState, startFieldRef);\n\n let endFieldState = useDateFieldState({\n ...endFieldProps,\n locale,\n createCalendar\n });\n\n let endFieldRef = useRef<HTMLDivElement>(null);\n let endInputRef = useRef<HTMLInputElement>(null);\n let {fieldProps: endDateFieldProps, inputProps: endInputProps} = useDateField({...endFieldProps, label, inputRef: endInputRef}, endFieldState, endFieldRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isFocusWithin: isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isInvalid\n },\n defaultClassName: 'react-aria-DateRangePicker'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [GroupContext, {...groupProps, ref: groupRef}],\n [ButtonContext, {...buttonProps, isPressed: state.isOpen}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [RangeCalendarContext, calendarProps],\n [PopoverContext, {state, triggerRef: groupRef, placement: 'bottom start'}],\n [DialogContext, dialogProps],\n [DateInputContext, {\n slots: {\n start: {\n state: startFieldState,\n fieldProps: startDateFieldProps,\n ref: startFieldRef,\n inputRef: startInputRef,\n inputProps: startInputProps\n },\n end: {\n state: endFieldState,\n fieldProps: endDateFieldProps,\n ref: endFieldRef,\n inputRef: endInputRef,\n inputProps: endInputProps\n }\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...focusProps}\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-focus-within={isFocused || undefined}\n data-invalid={state.isInvalid || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={props.isDisabled || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date range picker combines two DateFields and a RangeCalendar popover to allow\n * users to enter or select a date and time range.\n */\nconst _DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DateRangePicker);\nexport {_DateRangePicker as DateRangePicker};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDialogProps, useDialog, useOverlayTrigger} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {HeadingContext} from './Heading';\nimport {ModalContext} from './Modal';\nimport {OverlayTriggerProps, useOverlayTriggerState} from 'react-stately';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, useRef} from 'react';\n\nexport interface DialogTriggerProps extends OverlayTriggerProps {\n children: ReactNode\n}\n\ninterface DialogRenderProps {\n close: () => void\n}\n\nexport interface DialogProps extends AriaDialogProps, StyleProps, SlotProps {\n children?: ReactNode | ((opts: DialogRenderProps) => ReactNode),\n onClose?: () => void\n}\n\nexport const DialogContext = createContext<ContextValue<DialogProps, HTMLElement>>(null);\n\n/**\n * A DialogTrigger opens a dialog when a trigger element is pressed.\n */\nexport function DialogTrigger(props: DialogTriggerProps) {\n let state = useOverlayTriggerState(props);\n\n let buttonRef = useRef<HTMLButtonElement>(null);\n let {triggerProps, overlayProps} = useOverlayTrigger({type: 'dialog'}, state, buttonRef);\n\n return (\n <Provider\n values={[\n [ModalContext, {state}],\n [DialogContext, {...overlayProps, onClose: state.close}],\n [ButtonContext, {...triggerProps, isPressed: state.isOpen, ref: buttonRef}],\n [PopoverContext, {state, triggerRef: buttonRef}]\n ]}>\n {props.children}\n </Provider>\n );\n}\n\n\nfunction Dialog(props: DialogProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, DialogContext);\n let {dialogProps, titleProps} = useDialog(props, ref);\n\n let children = props.children;\n if (typeof children === 'function') {\n children = children({\n close: props.onClose || (() => {})\n });\n }\n\n return (\n <section\n {...filterDOMProps(props)}\n {...dialogProps}\n ref={ref}\n slot={props.slot}\n style={props.style}\n className={props.className ?? 'react-aria-Dialog'}>\n <Provider\n values={[\n [ButtonContext, undefined],\n // TODO: clear context within dialog content?\n [HeadingContext, {...titleProps, level: 2}]\n ]}>\n {children}\n </Provider>\n </section>\n );\n}\n\n/**\n * A dialog is an overlay shown above other content in an application.\n */\nconst _Dialog = /*#__PURE__*/ (forwardRef as forwardRefType)(Dialog);\nexport {_Dialog as Dialog};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaModalOverlayProps, DismissButton, Overlay, useIsSSR, useModalOverlay} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {DOMAttributes} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useViewportSize} from '@react-aria/utils';\nimport {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useContext, useMemo, useRef} from 'react';\n\nexport interface ModalOverlayProps extends AriaModalOverlayProps, OverlayTriggerProps, RenderProps<ModalRenderProps>, SlotProps {}\n\ninterface ModalContextValue extends ModalOverlayProps {\n state?: OverlayTriggerState\n}\n\ninterface InternalModalContextValue {\n modalProps: DOMAttributes,\n modalRef: RefObject<HTMLDivElement>,\n isExiting: boolean,\n isDismissable?: boolean,\n state: OverlayTriggerState\n}\n\nexport const ModalContext = createContext<ContextValue<ModalContextValue, HTMLDivElement>>(null);\nconst InternalModalContext = createContext<InternalModalContextValue | null>(null);\n\nexport interface ModalRenderProps {\n /**\n * Whether the modal is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the modal is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean,\n /**\n * State of the modal.\n */\n state: OverlayTriggerState\n}\n\nfunction Modal(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {\n let ctx = useContext(InternalModalContext);\n\n if (ctx) {\n return <ModalContent {...props} modalRef={ref}>{props.children}</ModalContent>;\n }\n\n let {\n isDismissable,\n isKeyboardDismissDisabled,\n isOpen,\n defaultOpen,\n onOpenChange,\n children,\n ...otherProps\n } = props;\n\n return (\n <ModalOverlay\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}>\n <ModalContent {...otherProps} modalRef={ref}>\n {children}\n </ModalContent>\n </ModalOverlay>\n );\n}\n\ninterface ModalOverlayInnerProps extends ModalOverlayProps {\n overlayRef: RefObject<HTMLDivElement>,\n modalRef: RefObject<HTMLDivElement>,\n state: OverlayTriggerState,\n isExiting: boolean\n}\n\n/**\n * A modal is an overlay element which blocks interaction with elements outside it.\n */\nconst _Modal = /*#__PURE__*/ (forwardRef as forwardRefType)(Modal);\nexport {_Modal as Modal};\n\nfunction ModalOverlayWithForwardRef(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ModalContext);\n let ctx = props as ModalContextValue;\n let localState = useOverlayTriggerState(props);\n let state = props.isOpen != null || props.defaultOpen != null || !ctx?.state ? localState : ctx.state;\n\n let objectRef = useObjectRef(ref);\n let modalRef = useRef<HTMLDivElement>(null);\n let isOverlayExiting = useExitAnimation(objectRef, state.isOpen);\n let isModalExiting = useExitAnimation(modalRef, state.isOpen);\n let isExiting = isOverlayExiting || isModalExiting;\n let isSSR = useIsSSR();\n\n if ((!state.isOpen && !isExiting) || isSSR) {\n return null;\n }\n\n return (\n <ModalOverlayInner\n {...props}\n state={state}\n isExiting={isExiting}\n overlayRef={objectRef}\n modalRef={modalRef} />\n );\n}\n\n/**\n * A ModalOverlay is a wrapper for a Modal which allows customizing the backdrop element.\n */\nexport const ModalOverlay = /*#__PURE__*/ (forwardRef as forwardRefType)(ModalOverlayWithForwardRef);\n\nfunction ModalOverlayInner(props: ModalOverlayInnerProps) {\n let modalRef = props.modalRef;\n let {state} = props;\n let {modalProps, underlayProps} = useModalOverlay(props, state, modalRef);\n\n let entering = useEnterAnimation(props.overlayRef);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ModalOverlay',\n values: {\n isEntering: entering,\n isExiting: props.isExiting,\n state\n }\n });\n\n let viewport = useViewportSize();\n let style = {\n ...renderProps.style,\n '--visual-viewport-height': viewport.height + 'px'\n };\n\n return (\n <Overlay isExiting={props.isExiting}>\n <div\n {...mergeProps(filterDOMProps(props as any), underlayProps)}\n {...renderProps}\n style={style}\n ref={props.overlayRef}\n data-entering={entering || undefined}\n data-exiting={props.isExiting || undefined}>\n <InternalModalContext.Provider value={{modalProps, modalRef, state, isExiting: props.isExiting, isDismissable: props.isDismissable}}>\n {renderProps.children}\n </InternalModalContext.Provider>\n </div>\n </Overlay>\n );\n}\n\ninterface ModalContentProps extends RenderProps<ModalRenderProps> {\n modalRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction ModalContent(props: ModalContentProps) {\n let {modalProps, modalRef, isExiting, isDismissable, state} = useContext(InternalModalContext)!;\n let mergedRefs = useMemo(() => mergeRefs(props.modalRef, modalRef), [props.modalRef, modalRef]);\n\n let ref = useObjectRef(mergedRefs);\n let entering = useEnterAnimation(ref);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Modal',\n values: {\n isEntering: entering,\n isExiting,\n state\n }\n });\n\n return (\n <div\n {...mergeProps(filterDOMProps(props as any), modalProps)}\n {...renderProps}\n ref={ref}\n data-entering={entering || undefined}\n data-exiting={isExiting || undefined}>\n {isDismissable &&\n <DismissButton onDismiss={state.close} />\n }\n {renderProps.children}\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface GroupRenderProps {\n /**\n * Whether the group is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether an element within the group is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the group is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean\n}\n\nexport interface GroupProps extends Omit<HTMLAttributes<HTMLElement>, 'className' | 'style'>, StyleRenderProps<GroupRenderProps> {}\n\nexport const GroupContext = createContext<ContextValue<GroupProps, HTMLDivElement>>({});\n\nfunction Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, GroupContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isFocusWithin: isFocused, isFocusVisible},\n defaultClassName: 'react-aria-Group'\n });\n\n return (\n <div\n {...mergeProps(props, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focus-within={isFocused || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n {props.children}\n </div>\n );\n}\n\n/**\n * An group represents a set of related UI controls.\n */\nconst _Group = forwardRef(Group);\nexport {_Group as Group};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps} from '@react-types/shared';\nimport {ContextValue, Provider, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {DropOptions, mergeProps, useClipboard, useDrop, useFocusRing, useHover, VisuallyHidden} from 'react-aria';\nimport {filterDOMProps, useLabels, useSlotId} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DropZoneRenderProps {\n /**\n * Whether the dropzone is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the dropzone is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the dropzone is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the dropzone is the drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean\n}\n\nexport interface DropZoneProps extends Omit<DropOptions, 'getDropOperationForPoint' | 'ref' | 'hasDropButton'>, RenderProps<DropZoneRenderProps>, SlotProps, AriaLabelingProps {}\n\nexport const DropZoneContext = createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);\n\nfunction DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DropZoneContext);\n let buttonRef = useRef<HTMLButtonElement>(null);\n let {dropProps, dropButtonProps, isDropTarget} = useDrop({...props, ref: buttonRef, hasDropButton: true});\n let {hoverProps, isHovered} = useHover({});\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n\n let textId = useSlotId();\n let ariaLabel = props['aria-label'] || 'DropZone';\n let messageId = (isDropTarget && props['aria-labelledby']) ? props['aria-labelledby'] : null;\n let ariaLabelledby = [textId, messageId].filter(Boolean).join(' ');\n let labelProps = useLabels({'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby});\n\n let {clipboardProps} = useClipboard({\n onPaste: (items) => props.onDrop?.({\n type: 'drop',\n items,\n x: 0,\n y: 0,\n dropOperation: 'copy'\n })\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isFocused, isFocusVisible, isDropTarget},\n defaultClassName: 'react-aria-DropZone'\n });\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [TextContext, {id: textId, slot: 'label'}]\n ]}>\n {/* eslint-disable-next-line */}\n <div\n {...mergeProps(dropProps, hoverProps, DOMProps)}\n {...renderProps}\n slot={props.slot}\n ref={ref}\n onClick={() => buttonRef.current?.focus()}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-drop-target={isDropTarget || undefined} >\n <VisuallyHidden>\n <button\n {...mergeProps(dropButtonProps, focusProps, clipboardProps, labelProps)}\n ref={buttonRef} />\n </VisuallyHidden>\n {renderProps.children}\n </div>\n </Provider>\n );\n}\n\n/**\n * A drop zone is an area into which one or multiple objects can be dragged and dropped.\n */\nconst _DropZone = forwardRef(DropZone);\nexport {_DropZone as DropZone};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {Input} from './Input';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\n\nexport interface FileTriggerProps {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: Array<string>,\n /**\n * Whether multiple files can be selected.\n */\n allowsMultiple?: boolean,\n /**\n * Specifies the use of a media capture mechanism to capture the media on the spot.\n */\n defaultCamera?: 'user' | 'environment',\n /**\n * Handler when a user selects a file.\n */\n onChange?: (files: FileList | null) => void,\n /**\n * The name of the input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname).\n */\n name?: string,\n /**\n * The children of the component.\n */\n children?: ReactNode\n}\n\nfunction FileTrigger(props: FileTriggerProps, ref: ForwardedRef<HTMLInputElement>) {\n let {onChange, acceptedFileTypes, allowsMultiple, defaultCamera, name, children, ...rest} = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest);\n\n return (\n <>\n <PressResponder onPress={() => inputRef.current?.click()}>\n {children}\n </PressResponder>\n <Input\n {...domProps}\n type=\"file\"\n ref={inputRef}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={(e) => onChange?.(e.target.files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n name={name} />\n </>\n );\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React Spectrum component, or custom components built with usePress.\n */\nconst _FileTrigger = forwardRef(FileTrigger);\nexport {_FileTrigger as FileTrigger};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaGridListProps, DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useGridList, useGridListItem, useGridListSelectionCheckbox, useHover, useVisuallyHidden, VisuallyHidden} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CheckboxContext} from './Checkbox';\nimport {Collection, DraggableCollectionState, DroppableCollectionState, ListState, Node, SelectionBehavior, useListState} from 'react-stately';\nimport {CollectionProps, ItemProps, useCachedChildren, useCollection} from './Collection';\nimport {ContextValue, defaultSlot, forwardRefType, Provider, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {filterDOMProps, isIOS, isWebKit, useObjectRef} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface GridListRenderProps {\n /**\n * Whether the list has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the grid list is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the grid list is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the grid list is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * State of the grid list.\n */\n state: ListState<unknown>\n}\n\nexport interface GridListProps<T> extends Omit<AriaGridListProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<GridListRenderProps>, SlotProps {\n /** How multiple selection should behave in the collection. */\n selectionBehavior?: SelectionBehavior,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the GridList. */\n dragAndDropHooks?: DragAndDropHooks,\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: () => ReactNode\n}\n\ninterface InternalGridListContextValue {\n state: ListState<unknown>,\n dragAndDropHooks?: DragAndDropHooks,\n dragState?: DraggableCollectionState,\n dropState?: DroppableCollectionState\n}\n\nexport const GridListContext = createContext<ContextValue<GridListProps<any>, HTMLDivElement>>(null);\nconst InternalGridListContext = createContext<InternalGridListContextValue | null>(null);\n\nfunction GridList<T extends object>(props: GridListProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n // Render the portal first so that we have the collection by the time we render the DOM in SSR.\n [props, ref] = useContextProps(props, ref, GridListContext);\n let {collection, portal} = useCollection(props);\n return (\n <>\n {portal}\n <GridListInner props={props} collection={collection} gridListRef={ref} />\n </>\n );\n}\n\ninterface GridListInnerProps<T extends object> {\n props: GridListProps<T>,\n collection: Collection<Node<T>>,\n gridListRef: RefObject<HTMLDivElement>\n}\n\nfunction GridListInner<T extends object>({props, collection, gridListRef: ref}: GridListInnerProps<T>) {\n let {dragAndDropHooks} = props;\n let state = useListState({\n ...props,\n collection,\n children: undefined\n });\n\n let {gridProps} = useGridList(props, state, ref);\n\n let children = useCachedChildren({\n items: collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <GridListItem item={item} />;\n default:\n throw new Error('Unsupported node type in GridList: ' + item.type);\n }\n }\n });\n\n let selectionManager = state.selectionManager;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, ref);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let keyboardDelegate = new ListKeyboardDelegate(\n collection,\n selectionManager.disabledBehavior === 'selection' ? new Set() : selectionManager.disabledKeys,\n ref\n );\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, ref);\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, ref);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-GridList',\n values: {\n isDropTarget: isRootDropTarget,\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible,\n state\n }\n });\n\n let emptyState: ReactNode = null;\n let emptyStatePropOverrides: HTMLAttributes<HTMLElement> | null = null;\n if (state.collection.size === 0 && props.renderEmptyState) {\n // Ideally we'd use `display: contents` on the row and cell elements so that\n // they don't affect the layout of the children. However, WebKit currently has\n // a bug that makes grid elements with display: contents hidden to screen readers.\n // https://bugs.webkit.org/show_bug.cgi?id=239479\n let content = props.renderEmptyState();\n if (isWebKit()) {\n // For now, when in an empty state, swap the role to group in webkit.\n emptyStatePropOverrides = {\n role: 'group',\n 'aria-multiselectable': undefined\n };\n\n if (isIOS()) {\n // iOS VoiceOver also doesn't announce the aria-label of group elements\n // so try to add a visually hidden label element as well.\n emptyState = (\n <>\n <VisuallyHidden>{gridProps['aria-label']}</VisuallyHidden>\n {content}\n </>\n );\n } else {\n emptyState = content;\n }\n } else {\n emptyState = (\n <div role=\"row\" style={{display: 'contents'}}>\n <div role=\"gridcell\" style={{display: 'contents'}}>\n {content}\n </div>\n </div>\n );\n }\n }\n\n return (\n <FocusScope>\n <div\n {...filterDOMProps(props)}\n {...renderProps}\n {...mergeProps(gridProps, focusProps, droppableCollection?.collectionProps, emptyStatePropOverrides)}\n ref={ref}\n slot={props.slot}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n <Provider\n values={[\n [InternalGridListContext, {state, dragAndDropHooks, dragState, dropState}],\n [DropIndicatorContext, {render: GridListDropIndicatorWrapper}]\n ]}>\n {isListDroppable && <RootDropIndicator />}\n {children}\n </Provider>\n {emptyState}\n {dragPreview}\n </div>\n </FocusScope>\n );\n}\n\n/**\n * A grid list displays a list of interactive items, with support for keyboard navigation,\n * single or multiple selection, and row actions.\n */\nconst _GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(GridList);\nexport {_GridList as GridList};\n\nfunction GridListItem({item}) {\n let {state, dragAndDropHooks, dragState, dropState} = useContext(InternalGridListContext)!;\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {rowProps, gridCellProps, descriptionProps, ...states} = useGridListItem(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection && !states.hasAction\n });\n\n let {isFocusVisible, focusProps} = useFocusRing();\n let {checkboxProps} = useGridListSelectionCheckbox(\n {key: item.key},\n state\n );\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key, hasDragButton: true}, dragState);\n }\n\n let dropIndicator: DropIndicatorAria | null = null;\n let dropIndicatorRef = useRef<HTMLDivElement>(null);\n let {visuallyHiddenProps} = useVisuallyHidden();\n if (dropState && dragAndDropHooks) {\n dropIndicator = dragAndDropHooks.useDropIndicator!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, dropIndicatorRef);\n }\n\n let props: ItemProps<unknown> = item.props;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget\n }\n });\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn('Draggable items in a GridList must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.');\n }\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Item> elements with non-plain text children in order to support accessibility features such as type to select.');\n }\n }, [item.textValue]);\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n {dropIndicator && !dropIndicator.isHidden &&\n <div role=\"row\" style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n </div>\n </div>\n }\n <div\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps, draggableItem?.dragProps)}\n {...renderProps}\n ref={ref}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-allows-dragging={!!dragState || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={dropIndicator?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <div {...gridCellProps}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }],\n [ButtonContext, {\n slots: {\n [defaultSlot]: {},\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </div>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction GridListDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(InternalGridListContext)!;\n let buttonRef = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n buttonRef\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <GridListDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} buttonRef={buttonRef} ref={ref} />\n );\n}\n\ninterface GridListDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean,\n buttonRef: RefObject<HTMLDivElement>\n}\n\nfunction GridListDropIndicator(props: GridListDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n buttonRef,\n ...otherProps\n } = props;\n\n let {visuallyHiddenProps} = useVisuallyHidden();\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <div\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLDivElement>}\n data-drop-target={isDropTarget || undefined}>\n <div role=\"gridcell\">\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n </div>\n </div>\n );\n}\n\nconst GridListDropIndicatorForwardRef = forwardRef(GridListDropIndicator);\n\nfunction RootDropIndicator() {\n let {dragAndDropHooks, dropState} = useContext(InternalGridListContext)!;\n let ref = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps} = dragAndDropHooks!.useDropIndicator!({\n target: {type: 'root'}\n }, dropState!, ref);\n let isDropTarget = dropState!.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']} style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport const KeyboardContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>>({});\n\nfunction Keyboard(props: HTMLAttributes<HTMLElement>, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, KeyboardContext);\n return <kbd dir=\"ltr\" {...props} ref={ref} />;\n}\n\nconst _Keyboard = forwardRef(Keyboard);\nexport {_Keyboard as Keyboard};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n\nimport {AriaMenuProps, mergeProps, useFocusRing, useMenu, useMenuItem, useMenuSection, useMenuTrigger} from 'react-aria';\nimport {BaseCollection, CollectionProps, ItemProps, useCachedChildren, useCollection} from './Collection';\nimport {MenuTriggerProps as BaseMenuTriggerProps, Node, TreeState, useMenuTriggerState, useTreeState} from 'react-stately';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, SlotProps, StyleProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {Header} from './Header';\nimport {KeyboardContext} from './Keyboard';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useRef} from 'react';\nimport {Separator, SeparatorContext} from './Separator';\nimport {TextContext} from './Text';\n\nexport const MenuContext = createContext<ContextValue<MenuProps<any>, HTMLDivElement>>(null);\nconst InternalMenuContext = createContext<TreeState<unknown> | null>(null);\n\nexport interface MenuTriggerProps extends BaseMenuTriggerProps {\n children?: ReactNode\n}\n\nexport function MenuTrigger(props: MenuTriggerProps) {\n let state = useMenuTriggerState(props);\n\n let ref = useRef<HTMLButtonElement>(null);\n let {menuTriggerProps, menuProps} = useMenuTrigger({\n ...props,\n type: 'menu'\n }, state, ref);\n\n return (\n <Provider\n values={[\n [MenuContext, menuProps],\n [ButtonContext, {...menuTriggerProps, ref, isPressed: state.isOpen}],\n [PopoverContext, {state, triggerRef: ref, placement: 'bottom start'}]\n ]}>\n {props.children}\n </Provider>\n );\n}\n\nexport interface MenuProps<T> extends Omit<AriaMenuProps<T>, 'children'>, CollectionProps<T>, StyleProps, SlotProps {}\n\nfunction Menu<T extends object>(props: MenuProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, MenuContext);\n let {portal, collection} = useCollection(props);\n\n // Delay rendering the actual menu until we have the collection so that auto focus works properly.\n return (\n <>\n {collection.size > 0 && <MenuInner props={props} collection={collection} menuRef={ref} />}\n {portal}\n </>\n );\n}\n\ninterface MenuInnerProps<T> {\n props: MenuProps<T>,\n collection: BaseCollection<T>,\n menuRef: RefObject<HTMLDivElement>\n}\n\nfunction MenuInner<T extends object>({props, collection, menuRef: ref}: MenuInnerProps<T>) {\n let state = useTreeState({\n ...props,\n collection,\n children: undefined\n });\n let {menuProps} = useMenu(props, state, ref);\n\n let children = useCachedChildren({\n items: state.collection,\n children: (item) => {\n switch (item.type) {\n case 'section':\n return <MenuSection section={item} />;\n case 'separator':\n return <Separator {...item.props} />;\n case 'item':\n return <MenuItem item={item} />;\n default:\n throw new Error('Unsupported node type in Menu: ' + item.type);\n }\n }\n });\n\n return (\n <div\n {...filterDOMProps(props)}\n {...menuProps}\n ref={ref}\n slot={props.slot}\n style={props.style}\n className={props.className ?? 'react-aria-Menu'}>\n <Provider\n values={[\n [InternalMenuContext, state],\n [SeparatorContext, {elementType: 'div'}]\n ]}>\n {children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A menu displays a list of actions or options that a user can choose.\n */\nconst _Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(Menu);\nexport {_Menu as Menu};\n\ninterface MenuSectionProps<T> extends StyleProps {\n section: Node<T>\n}\n\nfunction MenuSection<T>({section, className, style, ...otherProps}: MenuSectionProps<T>) {\n let state = useContext(InternalMenuContext)!;\n let [headingRef, heading] = useSlot();\n let {headingProps, groupProps} = useMenuSection({\n heading,\n 'aria-label': section['aria-label'] ?? undefined\n });\n\n let children = useCachedChildren({\n items: state.collection.getChildren!(section.key),\n children: item => {\n switch (item.type) {\n case 'header': {\n let {ref, ...otherProps} = item.props;\n return (\n <Header\n {...headingProps}\n {...otherProps}\n ref={mergeRefs(headingRef, ref)}>\n {item.rendered}\n </Header>\n );\n }\n case 'item':\n return <MenuItem item={item} />;\n default:\n throw new Error('Unsupported element type in Section: ' + item.type);\n }\n }\n });\n\n return (\n <section\n {...filterDOMProps(otherProps)}\n {...groupProps}\n className={className || section.props?.className || 'react-aria-Section'}\n style={style || section.props?.style}\n ref={section.props.ref}>\n {children}\n </section>\n );\n}\n\ninterface MenuItemProps<T> {\n item: Node<T>\n}\n\nfunction MenuItem<T>({item}: MenuItemProps<T>) {\n let state = useContext(InternalMenuContext)!;\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {menuItemProps, labelProps, descriptionProps, keyboardShortcutProps, ...states} = useMenuItem({key: item.key}, state, ref);\n\n let props: ItemProps<T> = item.props;\n let {isFocusVisible, focusProps} = useFocusRing();\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered: states.isFocused,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior\n }\n });\n\n let DOMProps = filterDOMProps(props as any);\n delete DOMProps.id;\n\n return (\n <div\n {...mergeProps(DOMProps, menuItemProps, focusProps)}\n {...renderProps}\n ref={ref}\n data-disabled={states.isDisabled || undefined}\n data-hovered={states.isFocused || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-selected={states.isSelected || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [TextContext, {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }],\n [KeyboardContext, keyboardShortcutProps]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMeterProps, useMeter} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\n\nexport interface MeterProps extends Omit<AriaMeterProps, 'label'>, RenderProps<MeterRenderProps>, SlotProps {}\n\nexport interface MeterRenderProps {\n /**\n * The value as a percentage between the minimum and maximum.\n */\n percentage: number,\n /**\n * A formatted version of the value.\n * @selector [aria-valuetext]\n */\n valueText: string | undefined\n}\n\nexport const MeterContext = createContext<ContextValue<MeterProps, HTMLDivElement>>(null);\n\nfunction Meter(props: MeterProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, MeterContext);\n let {\n value = 0,\n minValue = 0,\n maxValue = 100\n } = props;\n\n let [labelRef, label] = useSlot();\n let {\n meterProps,\n labelProps\n } = useMeter({...props, label});\n\n // Calculate the width of the progress bar as a percentage\n let percentage = (value - minValue) / (maxValue - minValue) * 100;\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Meter',\n values: {\n percentage,\n valueText: meterProps['aria-valuetext']\n }\n });\n\n return (\n <div {...meterProps} {...renderProps} ref={ref} slot={props.slot}>\n <LabelContext.Provider value={{...labelProps, ref: labelRef, elementType: 'span'}}>\n {renderProps.children}\n </LabelContext.Provider>\n </div>\n );\n}\n\n/**\n * A meter represents a quantity within a known range, or a fractional value.\n */\nconst _Meter = /*#__PURE__*/ (forwardRef as forwardRefType)(Meter);\nexport {_Meter as Meter};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaNumberFieldProps, useLocale, useNumberField} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {GroupContext} from './Group';\nimport {InputContext} from './Input';\nimport {InputDOMProps} from '@react-types/shared';\nimport {LabelContext} from './Label';\nimport {NumberFieldState, useNumberFieldState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface NumberFieldRenderProps {\n /**\n * Whether the number field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the number field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the number field.\n */\n state: NumberFieldState\n}\n\nexport interface NumberFieldProps extends Omit<AriaNumberFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, InputDOMProps, RenderProps<NumberFieldRenderProps>, SlotProps {}\n\nexport const NumberFieldContext = createContext<ContextValue<NumberFieldProps, HTMLDivElement>>(null);\n\nfunction NumberField(props: NumberFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, NumberFieldContext);\n let {locale} = useLocale();\n let state = useNumberFieldState({...props, locale});\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let {\n labelProps,\n groupProps,\n inputProps,\n incrementButtonProps,\n decrementButtonProps,\n descriptionProps,\n errorMessageProps\n } = useNumberField({...props, label}, state, inputRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false\n },\n defaultClassName: 'react-aria-NumberField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [GroupContext, groupProps],\n [InputContext, {...inputProps, ref: inputRef}],\n [LabelContext, {...labelProps, ref: labelRef}],\n [ButtonContext, {\n slots: {\n increment: incrementButtonProps,\n decrement: decrementButtonProps\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined} />\n {props.name && <input type=\"hidden\" name={props.name} value={isNaN(state.numberValue) ? '' : state.numberValue} />}\n </Provider>\n );\n}\n\n/**\n * A number field allows a user to enter a number, and increment or decrement the value using stepper buttons.\n */\nconst _NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(NumberField);\nexport {_NumberField as NumberField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaProgressBarProps, useProgressBar} from 'react-aria';\nimport {ContextValue, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\n\nexport interface ProgressBarProps extends Omit<AriaProgressBarProps, 'label'>, RenderProps<ProgressBarRenderProps>, SlotProps {}\n\nexport interface ProgressBarRenderProps {\n /**\n * The value as a percentage between the minimum and maximum.\n */\n percentage?: number,\n /**\n * A formatted version of the value.\n * @selector [aria-valuetext]\n */\n valueText: string | undefined,\n /**\n * Whether the progress bar is indeterminate.\n * @selector :not([aria-valuenow])\n */\n isIndeterminate: boolean\n}\n\nexport const ProgressBarContext = createContext<ContextValue<ProgressBarProps, HTMLDivElement>>(null);\n\nfunction ProgressBar(props: ProgressBarProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ProgressBarContext);\n let {\n value = 0,\n minValue = 0,\n maxValue = 100,\n isIndeterminate = false\n } = props;\n\n let [labelRef, label] = useSlot();\n let {\n progressBarProps,\n labelProps\n } = useProgressBar({...props, label});\n\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate\n }\n });\n\n return (\n <div {...progressBarProps} {...renderProps} ref={ref} slot={props.slot}>\n <LabelContext.Provider value={{...labelProps, ref: labelRef, elementType: 'span'}}>\n {renderProps.children}\n </LabelContext.Provider>\n </div>\n );\n}\n\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n */\nconst _ProgressBar = forwardRef(ProgressBar);\nexport {_ProgressBar as ProgressBar};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaRadioGroupProps, AriaRadioProps, Orientation, useFocusRing, useHover, usePress, useRadio, useRadioGroup, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeProps, useObjectRef} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport {RadioGroupState, useRadioGroupState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, useState} from 'react';\nimport {TextContext} from './Text';\n\nexport interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<RadioGroupRenderProps>, SlotProps {}\nexport interface RadioProps extends Omit<AriaRadioProps, 'children'>, RenderProps<RadioRenderProps>, SlotProps {}\n\nexport interface RadioGroupRenderProps {\n /**\n * The orientation of the radio group.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * Whether the radio group is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the radio group is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the radio group is required.\n * @selector [data-required]\n */\n isRequired: boolean,\n /**\n * Whether the radio group is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the radio group.\n */\n state: RadioGroupState\n}\n\nexport interface RadioRenderProps {\n /**\n * Whether the radio is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the radio is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the radio is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the radio is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the radio is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the radio is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the radio is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the radio is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the checkbox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport const RadioGroupContext = createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\nexport const RadioContext = createContext<ContextValue<Partial<RadioProps>, HTMLInputElement>>(null);\nlet InternalRadioContext = createContext<RadioGroupState | null>(null);\n\nfunction RadioGroup(props: RadioGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, RadioGroupContext);\n let state = useRadioGroupState(props);\n let [labelRef, label] = useSlot();\n let {radioGroupProps, labelProps, descriptionProps, errorMessageProps} = useRadioGroup({\n ...props,\n label\n }, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n orientation: props.orientation || 'vertical',\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: state.isRequired,\n isInvalid: state.isInvalid,\n state\n },\n defaultClassName: 'react-aria-RadioGroup'\n });\n\n return (\n <div\n {...radioGroupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-orientation={props.orientation || 'vertical'}\n data-invalid={state.isInvalid || undefined}\n data-disabled={state.isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-required={state.isRequired || undefined}>\n <Provider\n values={[\n [InternalRadioContext, state],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\nfunction Radio(props: RadioProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, RadioContext);\n let state = React.useContext(InternalRadioContext)!;\n let domRef = useObjectRef(ref);\n let {inputProps, isSelected, isDisabled, isPressed: isPressedKeyboard} = useRadio({\n ...props,\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, state, domRef);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let interactionDisabled = isDisabled || state.isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useRadio\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: interactionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: interactionDisabled\n });\n\n let pressed = interactionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Radio',\n values: {\n isSelected,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly: state.isReadOnly,\n isInvalid: state.isInvalid,\n isRequired: state.isRequired\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n data-selected={isSelected || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-invalid={state.isInvalid || undefined}\n data-required={state.isRequired || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...mergeProps(inputProps, focusProps)} ref={domRef} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A radio group allows a user to select a single item from a list of mutually exclusive options.\n */\nconst _RadioGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(RadioGroup);\n\n/**\n * A radio represents an individual option within a radio group.\n */\nconst _Radio = /*#__PURE__*/ (forwardRef as forwardRefType)(Radio);\n\nexport {_RadioGroup as RadioGroup, _Radio as Radio};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSearchFieldProps, useSearchField} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {SearchFieldState, useSearchFieldState} from 'react-stately';\nimport {TextContext} from './Text';\n\nexport interface SearchFieldRenderProps {\n /**\n * Whether the search field is empty.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the search field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the search field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the search field.\n */\n state: SearchFieldState\n}\n\nexport interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<SearchFieldRenderProps>, SlotProps {}\n\nexport const SearchFieldContext = createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nfunction SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SearchFieldContext);\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let state = useSearchFieldState(props);\n let {labelProps, inputProps, clearButtonProps, descriptionProps, errorMessageProps} = useSearchField({\n ...props,\n label\n }, state, inputRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isEmpty: state.value === '',\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n state\n },\n defaultClassName: 'react-aria-SearchField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-empty={state.value === '' || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}],\n [InputContext, {...inputProps, ref: inputRef}],\n [ButtonContext, clearButtonProps],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A search field allows a user to enter and clear a search query.\n */\nconst _SearchField = /*#__PURE__*/ (forwardRef as forwardRefType)(SearchField);\nexport {_SearchField as SearchField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSelectProps, HiddenSelect, useFocusRing, useSelect} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Hidden, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, useResizeObserver} from '@react-aria/utils';\nimport {ItemRenderProps, useCollectionDocument} from './Collection';\nimport {LabelContext} from './Label';\nimport {ListBoxContext} from './ListBox';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, useCallback, useContext, useMemo, useRef, useState} from 'react';\nimport {SelectState, useSelectState} from 'react-stately';\nimport {TextContext} from './Text';\n\nexport interface SelectRenderProps {\n /**\n * Whether the select is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the select is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the select is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the select is currently open.\n * @selector [data-open]\n */\n isOpen: boolean,\n /**\n * Whether the select is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the select is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport interface SelectProps<T extends object> extends Omit<AriaSelectProps<T>, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'items'>, RenderProps<SelectRenderProps>, SlotProps {}\n\ninterface SelectValueContext {\n state: SelectState<unknown>,\n valueProps: HTMLAttributes<HTMLElement>,\n placeholder?: string\n}\n\nexport const SelectContext = createContext<ContextValue<SelectProps<any>, HTMLDivElement>>(null);\nconst InternalSelectContext = createContext<SelectValueContext | null>(null);\n\nfunction Select<T extends object>(props: SelectProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SelectContext);\n let {collection, document} = useCollectionDocument();\n let state = useSelectState({\n ...props,\n collection,\n children: undefined\n });\n\n let {isFocusVisible, focusProps} = useFocusRing({within: true});\n\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = useMemo(() => ({\n isOpen: state.isOpen,\n isFocused: state.isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n isRequired: props.isRequired || false\n }), [state.isOpen, state.isFocused, isFocusVisible, props.isDisabled, props.isInvalid, props.isRequired]);\n\n // Get props for child elements from useSelect\n let buttonRef = useRef<HTMLButtonElement>(null);\n let [labelRef, label] = useSlot();\n let {\n labelProps,\n triggerProps,\n valueProps,\n menuProps,\n descriptionProps,\n errorMessageProps\n } = useSelect({...props, label}, state, buttonRef);\n\n // Make menu width match input + button\n let [buttonWidth, setButtonWidth] = useState<string | null>(null);\n let onResize = useCallback(() => {\n if (buttonRef.current) {\n setButtonWidth(buttonRef.current.offsetWidth + 'px');\n }\n }, [buttonRef]);\n\n useResizeObserver({\n ref: buttonRef,\n onResize: onResize\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-Select'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection even when the popover is not open.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <Provider\n values={[\n [InternalSelectContext, {state, valueProps, placeholder: props.placeholder}],\n [ListBoxContext, {document}]\n ]}>\n {renderProps.children}\n </Provider>\n </Hidden>\n <Provider\n values={[\n [InternalSelectContext, {state, valueProps, placeholder: props.placeholder}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [ButtonContext, {...triggerProps, ref: buttonRef, isPressed: state.isOpen}],\n [PopoverContext, {\n state,\n triggerRef: buttonRef,\n placement: 'bottom start',\n style: {'--trigger-width': buttonWidth} as React.CSSProperties\n }],\n [ListBoxContext, {state, ...menuProps}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n {...focusProps}\n ref={ref}\n slot={props.slot}\n data-focused={state.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}\n data-required={props.isRequired || undefined} />\n <HiddenSelect\n state={state}\n triggerRef={buttonRef}\n label={label}\n name={props.name}\n isDisabled={props.isDisabled} />\n </Provider>\n </>\n );\n}\n\n/**\n * A select displays a collapsible list of options and allows a user to select one of them.\n */\nconst _Select = /*#__PURE__*/ (forwardRef as forwardRefType)(Select);\nexport {_Select as Select};\n\nexport interface SelectValueRenderProps<T> {\n /**\n * Whether the value is a placeholder.\n * @selector [data-placeholder]\n */\n isPlaceholder: boolean,\n /** The object value of the currently selected item. */\n selectedItem: T | null,\n /** The textValue of the currently selected item. */\n selectedText: string | null\n}\n\nexport interface SelectValueProps<T extends object> extends Omit<HTMLAttributes<HTMLElement>, keyof RenderProps<unknown>>, RenderProps<SelectValueRenderProps<T>> {}\n\nfunction SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {\n let {state, valueProps, placeholder} = useContext(InternalSelectContext)!;\n let selectedItem = state.selectedKey != null\n ? state.collection.getItem(state.selectedKey)\n : null;\n let rendered = selectedItem?.rendered;\n if (typeof rendered === 'function') {\n // If the selected item has a function as a child, we need to call it to render to JSX.\n let fn = rendered as (s: ItemRenderProps) => ReactNode;\n rendered = fn({\n isHovered: false,\n isPressed: false,\n isSelected: false,\n isFocused: false,\n isFocusVisible: false,\n isDisabled: false,\n selectionMode: 'single',\n selectionBehavior: 'toggle'\n });\n }\n\n let renderProps = useRenderProps({\n ...props,\n // TODO: localize this.\n defaultChildren: rendered || placeholder || 'Select an item',\n defaultClassName: 'react-aria-SelectValue',\n values: {\n selectedItem: state.selectedItem?.value as T ?? null,\n selectedText: state.selectedItem?.textValue ?? null,\n isPlaceholder: !selectedItem\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <span ref={ref} {...DOMProps} {...valueProps} {...renderProps} data-placeholder={!selectedItem || undefined}>\n {/* clear description and error message slots */}\n <TextContext.Provider value={undefined}>\n {renderProps.children}\n </TextContext.Provider>\n </span>\n );\n}\n\n/**\n * SelectValue renders the current value of a Select, or a placeholder if no value is selected.\n * It is usually placed within the button element.\n */\nconst _SelectValue = /*#__PURE__*/ (forwardRef as forwardRefType)(SelectValue);\nexport {_SelectValue as SelectValue};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSliderProps, AriaSliderThumbProps, mergeProps, Orientation, useFocusRing, useHover, useNumberFormatter, useSlider, useSliderThumb, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {DOMAttributes} from '@react-types/shared';\nimport {filterDOMProps, mergeRefs} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, OutputHTMLAttributes, RefObject, useContext, useRef} from 'react';\nimport {SliderState, useSliderState} from 'react-stately';\n\nexport interface SliderProps<T = number | number[]> extends Omit<AriaSliderProps<T>, 'label'>, RenderProps<SliderRenderProps>, SlotProps {\n /**\n * The display format of the value label.\n */\n formatOptions?: Intl.NumberFormatOptions\n}\n\ninterface SliderContextValue {\n state: SliderState,\n trackProps: DOMAttributes,\n outputProps: OutputHTMLAttributes<HTMLOutputElement>,\n trackRef: RefObject<HTMLDivElement>\n}\n\nexport const SliderContext = createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\nconst InternalSliderContext = createContext<SliderContextValue | null>(null);\n\nexport interface SliderRenderProps {\n /**\n * The orientation of the slider.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * Whether the slider is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * State of the slider.\n */\n state: SliderState\n}\n\nfunction Slider<T extends number | number[]>(props: SliderProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SliderContext);\n let trackRef = useRef<HTMLDivElement>(null);\n let numberFormatter = useNumberFormatter(props.formatOptions);\n let state = useSliderState({...props, numberFormatter});\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n trackProps,\n labelProps,\n outputProps\n } = useSlider({...props, label}, state, trackRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state\n },\n defaultClassName: 'react-aria-Slider'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [InternalSliderContext, {state, trackProps, trackRef, outputProps}],\n [LabelContext, {...labelProps, ref: labelRef}]\n ]}>\n <div\n {...DOMProps}\n {...groupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-orientation={state.orientation}\n data-disabled={state.isDisabled || undefined} />\n </Provider>\n );\n}\n\n/**\n * A slider allows a user to select one or more values within a range.\n */\nconst _Slider = /*#__PURE__*/ (forwardRef as forwardRefType)(Slider);\nexport {_Slider as Slider};\n\nexport interface SliderOutputProps extends RenderProps<SliderRenderProps> {}\n\nfunction SliderOutput({children, style, className, ...otherProps}: SliderOutputProps, ref: ForwardedRef<HTMLOutputElement>) {\n let {state, outputProps} = useContext(InternalSliderContext)!;\n let renderProps = useRenderProps({\n className,\n style,\n children,\n defaultChildren: state.getThumbValueLabel(0),\n defaultClassName: 'react-aria-SliderOutput',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state\n }\n });\n\n return (\n <output\n {...mergeProps(filterDOMProps(otherProps as any), outputProps)}\n {...renderProps}\n ref={ref}\n data-orientation={state.orientation || undefined}\n data-disabled={state.isDisabled || undefined} />\n );\n}\n\n/**\n * A slider output displays the current value of a slider as text.\n */\nconst _SliderOutput = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderOutput);\nexport {_SliderOutput as SliderOutput};\n\nexport interface SliderTrackRenderProps extends SliderRenderProps {\n /**\n * Whether the slider track is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean\n}\n\nexport interface SliderTrackProps extends RenderProps<SliderTrackRenderProps> {}\n\nfunction SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>) {\n let {state, trackProps, trackRef} = useContext(InternalSliderContext)!;\n let {hoverProps, isHovered} = useHover({});\n let domRef = mergeRefs(ref, trackRef);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-SliderTrack',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n isHovered,\n state\n }\n });\n\n return (\n <div\n {...mergeProps(filterDOMProps(props as any), hoverProps, trackProps)}\n {...renderProps}\n ref={domRef}\n data-hovered={isHovered || undefined}\n data-orientation={state.orientation || undefined}\n data-disabled={state.isDisabled || undefined} />\n );\n}\n\n/**\n * A slider track is a container for one or more slider thumbs.\n */\nconst _SliderTrack = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderTrack);\nexport {_SliderTrack as SliderTrack};\n\nexport interface SliderThumbRenderProps {\n /**\n * State of the slider.\n */\n state: SliderState,\n /**\n * Whether this thumb is currently being dragged.\n * @selector [data-dragging]\n */\n isDragging: boolean,\n /**\n * Whether the thumb is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the thumb is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the thumb is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the thumb is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface SliderThumbProps extends Omit<AriaSliderThumbProps, 'validationState'>, RenderProps<SliderThumbRenderProps> {}\n\nfunction SliderThumb(props: SliderThumbProps, ref: ForwardedRef<HTMLDivElement>) {\n let {state, trackRef} = useContext(InternalSliderContext)!;\n let {index = 0} = props;\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let {thumbProps, inputProps, labelProps, isDragging, isFocused, isDisabled} = useSliderThumb({\n ...props,\n index,\n trackRef,\n inputRef,\n label\n }, state);\n\n let {focusProps, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-SliderThumb',\n values: {\n state,\n isHovered,\n isDragging,\n isFocused,\n isFocusVisible,\n isDisabled\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...mergeProps(DOMProps, thumbProps, hoverProps)}\n {...renderProps}\n ref={ref}\n style={{...thumbProps.style, ...renderProps.style}}\n data-hovered={isHovered || undefined}\n data-dragging={isDragging || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}>\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A slider thumb represents an individual value that the user can adjust within a slider track.\n */\nconst _SliderThumb = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderThumb);\nexport {_SliderThumb as SliderThumb};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSwitchProps, mergeProps, useFocusRing, useHover, usePress, useSwitch, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, useState} from 'react';\nimport {ToggleState, useToggleState} from 'react-stately';\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'children'>, RenderProps<SwitchRenderProps>, SlotProps {}\n\nexport interface SwitchRenderProps {\n /**\n * Whether the switch is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the switch is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the switch is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the switch is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the switch is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the switch is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the switch is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * State of the switch.\n */\n state: ToggleState\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, HTMLInputElement>>(null);\n\nfunction Switch(props: SwitchProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, SwitchContext);\n let state = useToggleState(props);\n let {inputProps, isSelected, isDisabled, isReadOnly, isPressed: isPressedKeyboard} = useSwitch({\n ...props,\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, state, ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let isInteractionDisabled = props.isDisabled || props.isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useSwitch\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: isInteractionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: isInteractionDisabled\n });\n\n let pressed = isInteractionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Switch',\n values: {\n isSelected,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly,\n state\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n slot={props.slot}\n data-selected={isSelected || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={isReadOnly || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...inputProps} {...focusProps} ref={ref} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A switch allows a user to turn a setting on or off.\n */\nconst _Switch = /*#__PURE__*/ (forwardRef as forwardRefType)(Switch);\nexport {_Switch as Switch};\n","import {AriaLabelingProps} from '@react-types/shared';\nimport {BaseCollection, CollectionContext, CollectionProps, CollectionRendererContext, ItemRenderProps, NodeValue, useCachedChildren, useCollection, useCollectionChildren, useSSRCollectionNode} from './Collection';\nimport {buildHeaderRows, TableColumnResizeState} from '@react-stately/table';\nimport {ButtonContext} from './Button';\nimport {CheckboxContext} from './Checkbox';\nimport {ColumnSize, ColumnStaticSize, TableCollection as ITableCollection, TableProps as SharedTableProps} from '@react-types/table';\nimport {ContextValue, defaultSlot, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {DisabledBehavior, DraggableCollectionState, DroppableCollectionState, Node, SelectionBehavior, SelectionMode, SortDirection, TableState, useTableColumnResizeState, useTableState} from 'react-stately';\nimport {DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useHover, useLocale, useTable, useTableCell, useTableColumnHeader, useTableColumnResize, useTableHeaderRow, useTableRow, useTableRowGroup, useTableSelectAllCheckbox, useTableSelectionCheckbox, useVisuallyHidden} from 'react-aria';\nimport {filterDOMProps, useLayoutEffect, useObjectRef, useResizeObserver} from '@react-aria/utils';\nimport {GridNode} from '@react-types/grid';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactElement, ReactNode, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport ReactDOM from 'react-dom';\n\nclass TableCollection<T> extends BaseCollection<T> implements ITableCollection<T> {\n headerRows: GridNode<T>[] = [];\n columns: GridNode<T>[] = [];\n rowHeaderColumnKeys: Set<Key> = new Set();\n head: NodeValue<T> = new NodeValue('tableheader', -1);\n body: NodeValue<T> = new NodeValue('tablebody', -2);\n columnsDirty = true;\n\n addNode(node: NodeValue<T>) {\n super.addNode(node);\n\n this.columnsDirty ||= node.type === 'column';\n if (node.type === 'tableheader') {\n this.head = node;\n }\n\n if (node.type === 'tablebody') {\n this.body = node;\n }\n }\n\n commit(firstKey: Key, lastKey: Key, isSSR = false) {\n this.updateColumns();\n super.commit(firstKey, lastKey, isSSR);\n }\n\n private updateColumns() {\n if (!this.columnsDirty) {\n return;\n }\n\n this.rowHeaderColumnKeys = new Set();\n this.columns = [];\n\n let columnKeyMap = new Map();\n let visit = (node: Node<T>) => {\n switch (node.type) {\n case 'column':\n columnKeyMap.set(node.key, node);\n if (!node.hasChildNodes) {\n node.index = this.columns.length;\n this.columns.push(node);\n\n if (node.props.isRowHeader) {\n this.rowHeaderColumnKeys.add(node.key);\n }\n }\n break;\n }\n for (let child of this.getChildren(node.key)) {\n visit(child);\n }\n };\n\n for (let node of this.getChildren(this.head.key)) {\n visit(node);\n }\n\n this.headerRows = buildHeaderRows(columnKeyMap, this.columns);\n this.columnsDirty = false;\n if (this.rowHeaderColumnKeys.size === 0 && this.columns.length > 0) {\n throw new Error('A table must have at least one Column with the isRowHeader prop set to true');\n }\n }\n\n get columnCount() {\n return this.columns.length;\n }\n\n get rows() {\n return [...this.getChildren(this.body.key)];\n }\n\n *[Symbol.iterator]() {\n yield* this.getChildren(this.body.key);\n }\n\n get size() {\n return [...this.getChildren(this.body.key)].length;\n }\n\n getFirstKey() {\n return [...this.getChildren(this.body.key)][0]?.key;\n }\n\n getLastKey() {\n let rows = [...this.getChildren(this.body.key)];\n return rows[rows.length - 1]?.key;\n }\n\n getKeyAfter(key: Key) {\n let node = this.getItem(key);\n if (node?.type === 'column') {\n return node.nextKey ?? null;\n }\n\n return super.getKeyAfter(key);\n }\n\n getKeyBefore(key: Key) {\n let node = this.getItem(key);\n if (node?.type === 'column') {\n return node.prevKey ?? null;\n }\n\n let k = super.getKeyBefore(key);\n if (k != null && this.getItem(k)?.type === 'tablebody') {\n return null;\n }\n\n return k;\n }\n\n getChildren(key: Key): Iterable<Node<T>> {\n if (!this.getItem(key)) {\n for (let row of this.headerRows) {\n if (row.key === key) {\n return row.childNodes;\n }\n }\n }\n\n return super.getChildren(key);\n }\n\n clone() {\n let collection = super.clone();\n collection.headerRows = this.headerRows;\n collection.columns = this.columns;\n collection.rowHeaderColumnKeys = this.rowHeaderColumnKeys;\n collection.head = this.head;\n collection.body = this.body;\n return collection;\n }\n\n getTextValue(key: Key): string {\n let row = this.getItem(key);\n if (!row) {\n return '';\n }\n\n // If the row has a textValue, use that.\n if (row.textValue) {\n return row.textValue;\n }\n\n // Otherwise combine the text of each of the row header columns.\n let rowHeaderColumnKeys = this.rowHeaderColumnKeys;\n let text: string[] = [];\n for (let cell of this.getChildren(key)) {\n let column = this.columns[cell.index!];\n if (rowHeaderColumnKeys.has(column.key) && cell.textValue) {\n text.push(cell.textValue);\n }\n\n if (text.length === rowHeaderColumnKeys.size) {\n break;\n }\n }\n\n return text.join(' ');\n }\n}\n\ninterface ResizableTableContainerContextValue {\n tableWidth: number,\n // Dependency inject useTableColumnResizeState so it doesn't affect bundle size unless you're using ResizableTableContainer.\n useTableColumnResizeState: typeof useTableColumnResizeState,\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void\n}\n\nconst ResizableTableContainerContext = createContext<ResizableTableContainerContextValue | null>(null);\n\nexport interface ResizableTableContainerProps extends DOMProps {\n /**\n * Handler that is called when a user starts a column resize.\n */\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called when a user performs a column resize.\n * Can be used with the width property on columns to put the column widths into\n * a controlled state.\n */\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called after a user performs a column resize.\n * Can be used to store the widths of columns for another future session.\n */\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void\n}\n\nfunction ResizableTableContainer(props: ResizableTableContainerProps, ref: ForwardedRef<HTMLDivElement>) {\n let objectRef = useObjectRef(ref);\n let [width, setWidth] = useState(0);\n useResizeObserver({\n ref: objectRef,\n onResize() {\n setWidth(objectRef.current?.clientWidth);\n }\n });\n\n useLayoutEffect(() => {\n setWidth(objectRef.current?.clientWidth);\n }, [objectRef]);\n\n let ctx = useMemo(() => ({\n tableWidth: width,\n useTableColumnResizeState,\n onResizeStart: props.onResizeStart,\n onResize: props.onResize,\n onResizeEnd: props.onResizeEnd\n }), [width, props.onResizeStart, props.onResize, props.onResizeEnd]);\n\n return (\n <div\n {...filterDOMProps(props as any)}\n ref={objectRef}\n className={props.className || 'react-aria-ResizableTableContainer'}\n style={props.style}>\n <ResizableTableContainerContext.Provider value={ctx}>\n {props.children}\n </ResizableTableContainerContext.Provider>\n </div>\n );\n}\n\nconst _ResizableTableContainer = forwardRef(ResizableTableContainer);\nexport {_ResizableTableContainer as ResizableTableContainer};\n\ninterface InternalTableContextValue {\n state: TableState<unknown>,\n dragAndDropHooks?: DragAndDropHooks,\n dragState?: DraggableCollectionState,\n dropState?: DroppableCollectionState,\n layoutState?: TableColumnResizeState<unknown>\n}\n\nexport const TableContext = createContext<ContextValue<TableProps, HTMLTableElement>>(null);\nconst InternalTableContext = createContext<InternalTableContextValue | null>(null);\n\nexport interface TableRenderProps {\n /**\n * Whether the table is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the table is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the table is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * State of the table.\n */\n state: TableState<unknown>\n}\n\nexport interface TableProps extends Omit<SharedTableProps<any>, 'children'>, StyleRenderProps<TableRenderProps>, SlotProps, AriaLabelingProps {\n /** The elements that make up the table. Includes the TableHeader, TableBody, Columns, and Rows. */\n children?: ReactNode,\n /**\n * How multiple selection should behave in the collection.\n * @default \"toggle\"\n */\n selectionBehavior?: SelectionBehavior,\n /**\n * Whether `disabledKeys` applies to all interactions, or only selection.\n * @default \"selection\"\n */\n disabledBehavior?: DisabledBehavior,\n /** Handler that is called when a user performs an action on the row. */\n onRowAction?: (key: Key) => void,\n /** Handler that is called when a user performs an action on the cell. */\n onCellAction?: (key: Key) => void,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the Table. */\n dragAndDropHooks?: DragAndDropHooks\n}\n\nfunction Table(props: TableProps, ref: ForwardedRef<HTMLTableElement>) {\n [props, ref] = useContextProps(props, ref, TableContext);\n let initialCollection = useMemo(() => new TableCollection<any>(), []);\n let {portal, collection} = useCollection(props, initialCollection);\n let state = useTableState({\n ...props,\n collection,\n children: undefined\n });\n\n let {gridProps} = useTable(props, state, ref);\n\n let {dragAndDropHooks} = props;\n let selectionManager = state.selectionManager;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, ref);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let keyboardDelegate = new ListKeyboardDelegate(\n collection,\n selectionManager.disabledBehavior === 'selection' ? new Set() : selectionManager.disabledKeys,\n ref\n );\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, ref);\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, ref);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-Table',\n values: {\n isDropTarget: isRootDropTarget,\n isFocused,\n isFocusVisible,\n state\n }\n });\n\n let {selectionBehavior, selectionMode, disallowEmptySelection} = state.selectionManager;\n let ctx = useMemo(() => ({\n selectionBehavior: selectionMode === 'none' ? null : selectionBehavior,\n selectionMode,\n disallowEmptySelection,\n allowsDragging: isListDraggable\n }), [selectionBehavior, selectionMode, disallowEmptySelection, isListDraggable]);\n\n let style = renderProps.style;\n let tableContainerContext = useContext(ResizableTableContainerContext);\n let layoutState: TableColumnResizeState<unknown> | undefined = undefined;\n if (tableContainerContext) {\n layoutState = tableContainerContext.useTableColumnResizeState({\n tableWidth: tableContainerContext.tableWidth\n }, state);\n style = {\n ...style,\n tableLayout: 'fixed',\n width: 'fit-content'\n };\n }\n\n return (\n <>\n <TableOptionsContext.Provider value={ctx}>\n {portal}\n </TableOptionsContext.Provider>\n <Provider\n values={[\n [InternalTableContext, {state, dragAndDropHooks, dragState, dropState, layoutState}],\n [DropIndicatorContext, {render: TableDropIndicatorWrapper}]\n ]}>\n <FocusScope>\n <table\n {...filterDOMProps(props)}\n {...renderProps}\n {...mergeProps(gridProps, focusProps, droppableCollection?.collectionProps)}\n style={style}\n ref={ref}\n slot={props.slot}\n data-allows-dragging={isListDraggable || undefined}\n data-drop-target={isRootDropTarget || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n <TableHeaderRowGroup collection={collection} />\n <TableBodyRowGroup collection={collection} isDroppable={isListDroppable} />\n </table>\n </FocusScope>\n {dragPreview}\n </Provider>\n </>\n );\n}\n\n/**\n * A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys,\n * and optionally supports row selection and sorting.\n */\nconst _Table = forwardRef(Table);\nexport {_Table as Table};\n\nexport interface TableOptionsContextValue {\n /** The type of selection that is allowed in the table. */\n selectionMode: SelectionMode,\n /** The selection behavior for the table. If selectionMode is `\"none\"`, this will be `null`. */\n selectionBehavior: SelectionBehavior | null,\n /** Whether the table allows empty selection. */\n disallowEmptySelection: boolean,\n /** Whether the table allows rows to be dragged. */\n allowsDragging: boolean\n}\n\nconst TableOptionsContext = createContext<TableOptionsContextValue | null>(null);\n\n/**\n * Returns options from the parent `<Table>` component.\n */\nexport function useTableOptions(): TableOptionsContextValue {\n return useContext(TableOptionsContext)!;\n}\n\nexport interface TableHeaderProps<T> extends StyleProps {\n /** A list of table columns. */\n columns?: T[],\n /** A list of `Column(s)` or a function. If the latter, a list of columns must be provided using the `columns` prop. */\n children?: ReactNode | ((item: T) => ReactElement)\n}\n\nfunction TableHeader<T extends object>(props: TableHeaderProps<T>, ref: ForwardedRef<HTMLTableSectionElement>) {\n let children = useCollectionChildren({\n children: props.children,\n items: props.columns\n });\n\n let renderer = typeof props.children === 'function' ? props.children : null;\n return (\n <CollectionRendererContext.Provider value={renderer}>\n {useSSRCollectionNode('tableheader', props, ref, null, children)}\n </CollectionRendererContext.Provider>\n );\n}\n\n/**\n * A header within a `<Table>`, containing the table columns.\n */\nconst _TableHeader = /*#__PURE__*/ (forwardRef as forwardRefType)(TableHeader);\nexport {_TableHeader as TableHeader};\n\nexport interface ColumnRenderProps {\n /**\n * Whether the item is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the item is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the item is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the column allows sorting.\n * @selector [data-allows-sorting]\n */\n allowsSorting: boolean,\n /**\n * The current sort direction.\n * @selector [data-sort-direction=\"ascending | descending\"]\n */\n sortDirection: SortDirection | undefined,\n /**\n * Whether the column is currently being resized.\n * @selector [data-resizing]\n */\n isResizing: boolean,\n /**\n * Triggers sorting for this column in the given direction.\n */\n sort(direction: SortDirection): void,\n /**\n * Starts column resizing if the table is contained in a `<ResizableTableContainer>` element.\n */\n startResize(): void\n}\n\nexport interface ColumnProps<T = object> extends RenderProps<ColumnRenderProps> {\n id?: Key,\n /** Rendered contents of the column if `children` contains child columns. */\n title?: ReactNode,\n /** A list of child columns used when dynamically rendering nested child columns. */\n childColumns?: Iterable<T>,\n /** Whether the column allows sorting. */\n allowsSorting?: boolean,\n /** Whether a column is a [row header](https://www.w3.org/TR/wai-aria-1.1/#rowheader) and should be announced by assistive technology during row navigation. */\n isRowHeader?: boolean,\n /** A string representation of the column's contents, used for accessibility announcements. */\n textValue?: string,\n /** The width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n width?: ColumnSize | null,\n /** The default width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n defaultWidth?: ColumnSize | null,\n /** The minimum width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n minWidth?: ColumnStaticSize | null,\n /** The maximum width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n maxWidth?: ColumnStaticSize | null\n}\n\nfunction Column<T extends object>(props: ColumnProps<T>, ref: ForwardedRef<HTMLTableCellElement>): JSX.Element | null {\n let render = useContext(CollectionRendererContext);\n let childColumns: ReactNode | ((item: T) => ReactNode);\n if (typeof render === 'function') {\n childColumns = render;\n } else if (typeof props.children !== 'function') {\n childColumns = props.children;\n }\n\n let children = useCollectionChildren({\n children: (props.title || props.childColumns) ? childColumns : null,\n items: props.childColumns\n });\n\n return useSSRCollectionNode('column', props, ref, props.title ?? props.children, children);\n}\n\n/**\n * A column within a `<Table>`.\n */\nconst _Column = /*#__PURE__*/ (forwardRef as forwardRefType)(Column);\nexport {_Column as Column};\n\nexport interface TableBodyRenderProps {\n /**\n * Whether the table body has no rows and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean\n}\n\nexport interface TableBodyProps<T> extends CollectionProps<T>, StyleRenderProps<TableBodyRenderProps> {\n /** Provides content to display when there are no rows in the table. */\n renderEmptyState?: () => ReactNode\n}\n\nfunction TableBody<T extends object>(props: TableBodyProps<T>, ref: ForwardedRef<HTMLTableSectionElement>): JSX.Element | null {\n let children = useCollectionChildren(props);\n return useSSRCollectionNode('tablebody', props, ref, null, children);\n}\n\n/**\n * The body of a `<Table>`, containing the table rows.\n */\nconst _TableBody = /*#__PURE__*/ (forwardRef as forwardRefType)(TableBody);\nexport {_TableBody as TableBody};\n\nexport interface RowRenderProps extends ItemRenderProps {}\n\nexport interface RowProps<T> extends StyleRenderProps<RowRenderProps> {\n id?: Key,\n /** A list of columns used when dynamically rendering cells. */\n columns?: Iterable<T>,\n /** The cells within the row. Supports static items or a function for dynamic rendering. */\n children?: ReactNode | ((item: T) => ReactElement),\n /** A string representation of the row's contents, used for features like typeahead. */\n textValue?: string\n}\n\nfunction Row<T extends object>(props: RowProps<T>, ref: ForwardedRef<HTMLTableRowElement>): JSX.Element | null {\n let children = useCollectionChildren({\n children: props.children,\n items: props.columns,\n idScope: props.id\n });\n\n let ctx = useMemo(() => ({idScope: props.id}), [props.id]);\n\n return useSSRCollectionNode('item', props, ref, null, (\n <CollectionContext.Provider value={ctx}>\n {children}\n </CollectionContext.Provider>\n ));\n}\n\n/**\n * A row within a `<Table>`.\n */\nconst _Row = /*#__PURE__*/ (forwardRef as forwardRefType)(Row);\nexport {_Row as Row};\n\nexport interface CellRenderProps {\n /**\n * Whether the cell is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the cell is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the cell is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the cell is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean\n}\n\nexport interface CellProps extends RenderProps<CellRenderProps> {\n id?: Key,\n /** A string representation of the cell's contents, used for features like typeahead. */\n textValue?: string\n}\n\nfunction Cell(props: CellProps, ref: ForwardedRef<HTMLTableCellElement>): JSX.Element | null {\n return useSSRCollectionNode('cell', props, ref, props.children);\n}\n\n/**\n * A cell within a table row.\n */\nconst _Cell = /*#__PURE__*/ (forwardRef as forwardRefType)(Cell);\nexport {_Cell as Cell};\n\nfunction TableHeaderRowGroup<T>({collection}: {collection: TableCollection<T>}) {\n let headerRows = useCachedChildren({\n items: collection.headerRows,\n children: useCallback((item: Node<T>) => {\n switch (item.type) {\n case 'headerrow':\n return <TableHeaderRow item={item} />;\n default:\n throw new Error('Unsupported node type in TableHeader: ' + item.type);\n }\n }, [])\n });\n\n let {rowGroupProps} = useTableRowGroup();\n return (\n <thead\n {...filterDOMProps(collection.head.props)}\n {...rowGroupProps}\n ref={collection.head.props.ref}\n className={collection.head.props.className ?? 'react-aria-TableHeader'}\n style={collection.head.props.style}>\n {headerRows}\n </thead>\n );\n}\n\nfunction TableBodyRowGroup<T>({collection, isDroppable}: {collection: TableCollection<T>, isDroppable: boolean}) {\n let bodyRows = useCachedChildren({\n items: collection.rows,\n children: useCallback((item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <TableRow item={item} />;\n default:\n throw new Error('Unsupported node type in TableBody: ' + item.type);\n }\n }, [])\n });\n\n let props: TableBodyProps<T> = collection.body.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: undefined,\n defaultClassName: 'react-aria-TableBody',\n values: {\n isEmpty: collection.size === 0\n }\n });\n\n let emptyState;\n if (collection.size === 0 && props.renderEmptyState) {\n emptyState = (\n <tr role=\"row\">\n <td role=\"gridcell\" colSpan={collection.columnCount}>\n {props.renderEmptyState()}\n </td>\n </tr>\n );\n }\n\n let {rowGroupProps} = useTableRowGroup();\n return (\n <tbody\n {...mergeProps(filterDOMProps(props as any), rowGroupProps)}\n {...renderProps}\n ref={collection.body.props.ref}\n data-empty={collection.size === 0 || undefined}>\n {isDroppable && <RootDropIndicator />}\n {bodyRows}\n {emptyState}\n </tbody>\n );\n}\n\nfunction TableHeaderRow<T>({item}: {item: GridNode<T>}) {\n let ref = useRef<HTMLTableRowElement>(null);\n let {state} = useContext(InternalTableContext)!;\n let {rowProps} = useTableHeaderRow({node: item}, state, ref);\n let {checkboxProps} = useTableSelectAllCheckbox(state);\n\n let cells = useCachedChildren({\n items: state.collection.getChildren!(item.key),\n children: (item) => {\n switch (item.type) {\n case 'column':\n return <TableColumnHeader column={item} />;\n default:\n throw new Error('Unsupported node type in Row: ' + item.type);\n }\n }\n });\n\n return (\n <tr {...rowProps} ref={ref}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }]\n ]}>\n {cells}\n </Provider>\n </tr>\n );\n}\n\ninterface ColumnResizerContextValue {\n column: GridNode<unknown>,\n triggerRef: RefObject<HTMLDivElement>\n}\n\nconst ColumnResizerContext = createContext<ColumnResizerContextValue | null>(null);\n\nfunction TableColumnHeader<T>({column}: {column: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableHeaderCellElement>(column.props.ref);\n let {state} = useContext(InternalTableContext)!;\n let {columnHeaderProps} = useTableColumnHeader(\n {node: column},\n state,\n ref\n );\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let {layoutState} = useContext(InternalTableContext)!;\n let isResizing = false;\n if (layoutState) {\n isResizing = layoutState.resizingColumn === column.key;\n } else {\n for (let prop in ['width', 'defaultWidth', 'minWidth', 'maxWidth']) {\n if (prop in column.props) {\n console.warn(`The ${prop} prop on a <Column> only applies when a <Table> is wrapped in a <ResizableTableContainer>. If you aren't using column resizing, you can set the width of a column with CSS.`);\n }\n }\n }\n\n let props: ColumnProps<unknown> = column.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: column.rendered,\n defaultClassName: 'react-aria-Column',\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n allowsSorting: column.props.allowsSorting,\n sortDirection: state.sortDescriptor?.column === column.key\n ? state.sortDescriptor.direction\n : undefined,\n isResizing,\n startResize: () => {\n if (layoutState) {\n layoutState.startResize(column.key);\n state.setKeyboardNavigationDisabled(true);\n } else {\n throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');\n }\n },\n sort: (direction) => {\n state.sort(column.key, direction);\n }\n }\n });\n\n let style = renderProps.style;\n if (layoutState) {\n style = {...style, width: layoutState.getColumnWidth(column.key)};\n }\n\n return (\n <th\n {...mergeProps(filterDOMProps(props as any), columnHeaderProps, focusProps, hoverProps)}\n {...renderProps}\n style={style}\n colSpan={column.colspan}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-resizing={isResizing || undefined}\n data-allows-sorting={column.props.allowsSorting || undefined}\n data-sort-direction={state.sortDescriptor?.column === column.key ? state.sortDescriptor.direction : undefined}>\n <ColumnResizerContext.Provider value={{column, triggerRef: ref}}>\n {renderProps.children}\n </ColumnResizerContext.Provider>\n </th>\n );\n}\n\nexport interface ColumnResizerRenderProps {\n /**\n * Whether the resizer is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the resizer is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the resizer is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the resizer is currently being resized.\n * @selector [data-resizing]\n */\n isResizing: boolean,\n /**\n * The direction that the column is currently resizable.\n * @selector [data-resizable-direction=\"right | left | both\"]\n */\n resizableDirection: 'right' | 'left' | 'both'\n}\n\nexport interface ColumnResizerProps extends RenderProps<ColumnResizerRenderProps> {\n /** A custom accessibility label for the resizer. */\n 'aria-label'?: string\n}\n\nfunction ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivElement>) {\n let {layoutState} = useContext(InternalTableContext)!;\n if (!layoutState) {\n throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');\n }\n\n let {onResizeStart, onResize, onResizeEnd} = useContext(ResizableTableContainerContext)!;\n let {column, triggerRef} = useContext(ColumnResizerContext)!;\n let inputRef = useRef<HTMLInputElement>(null);\n let {resizerProps, inputProps, isResizing} = useTableColumnResize(\n {\n column,\n // TODO: translate\n 'aria-label': props['aria-label'] || 'Resizer',\n onResizeStart,\n onResize,\n onResizeEnd,\n triggerRef\n },\n layoutState,\n inputRef\n );\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let isEResizable = layoutState.getColumnMinWidth(column.key) >= layoutState.getColumnWidth(column.key);\n let isWResizable = layoutState.getColumnMaxWidth(column.key) <= layoutState.getColumnWidth(column.key);\n let {direction} = useLocale();\n let resizableDirection: ColumnResizerRenderProps['resizableDirection'] = 'both';\n if (isEResizable) {\n resizableDirection = direction === 'rtl' ? 'right' : 'left';\n } else if (isWResizable) {\n resizableDirection = direction === 'rtl' ? 'left' : 'right';\n } else {\n resizableDirection = 'both';\n }\n\n let objectRef = useObjectRef(ref);\n let [cursor, setCursor] = useState('');\n useEffect(() => {\n let style = window.getComputedStyle(objectRef.current);\n setCursor(style.cursor);\n }, [objectRef, resizableDirection]);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ColumnResizer',\n values: {\n isFocused,\n isFocusVisible,\n isResizing,\n isHovered,\n resizableDirection\n }\n });\n\n let [isMouseDown, setMouseDown] = useState(false);\n let onPointerDown = (e: PointerEvent) => {\n if (e.pointerType === 'mouse') {\n setMouseDown(true);\n }\n };\n\n if (!isResizing && isMouseDown) {\n setMouseDown(false);\n }\n\n return (\n <div\n ref={objectRef}\n role=\"presentation\"\n {...renderProps}\n {...mergeProps(resizerProps, {onPointerDown})}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-resizing={isResizing || undefined}\n data-resizable-direction={resizableDirection}>\n <input\n ref={inputRef}\n {...mergeProps(inputProps, focusProps, hoverProps)} />\n {isResizing && isMouseDown && ReactDOM.createPortal(<div style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0, cursor}} />, document.body)}\n </div>\n );\n}\n\nconst _ColumnResizer = forwardRef(ColumnResizer);\nexport {_ColumnResizer as ColumnResizer};\n\nfunction TableRow<T>({item}: {item: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableRowElement>(item.props.ref);\n let {state, dragAndDropHooks, dragState, dropState} = useContext(InternalTableContext)!;\n let {rowProps, ...states} = useTableRow(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState\n },\n state,\n ref\n );\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection && !states.hasAction\n });\n\n let {checkboxProps} = useTableSelectionCheckbox(\n {key: item.key},\n state\n );\n\n let draggableItem: DraggableItemResult | undefined = undefined;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key, hasDragButton: true}, dragState);\n }\n\n let dropIndicator: DropIndicatorAria | undefined = undefined;\n let dropIndicatorRef = useRef<HTMLDivElement>(null);\n let {visuallyHiddenProps} = useVisuallyHidden();\n if (dropState && dragAndDropHooks) {\n dropIndicator = dragAndDropHooks.useDropIndicator!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, dropIndicatorRef);\n }\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn('Draggable items in a Table must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.');\n }\n // eslint-disable-next-line\n }, []);\n\n let props = item.props as RowProps<unknown>;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n defaultClassName: 'react-aria-Row',\n values: {\n ...states,\n isHovered,\n isFocused,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget\n }\n });\n\n let cells = useCachedChildren({\n items: state.collection.getChildren!(item.key),\n children: (item: Node<unknown>) => {\n switch (item.type) {\n case 'cell':\n return <TableCell cell={item} />;\n default:\n throw new Error('Unsupported node type in Row: ' + item.type);\n }\n }\n });\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n {dropIndicator && !dropIndicator.isHidden && (\n <tr role=\"row\" style={{height: 0}}>\n <td role=\"gridcell\" colSpan={state.collection.columnCount} style={{padding: 0}}>\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator.dropIndicatorProps} ref={dropIndicatorRef} />\n </td>\n </tr>\n )}\n <tr\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps, draggableItem?.dragProps)}\n {...renderProps}\n ref={ref}\n data-disabled={states.isDisabled || undefined}\n data-selected={states.isSelected || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={dropIndicator?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }],\n [ButtonContext, {\n slots: {\n [defaultSlot]: {},\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }]\n ]}>\n {cells}\n </Provider>\n </tr>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction TableCell<T>({cell}: {cell: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableCellElement>(cell.props.ref);\n let {state, dragState} = useContext(InternalTableContext)!;\n\n // @ts-ignore\n cell.column = state.collection.columns[cell.index];\n\n let {gridCellProps, isPressed} = useTableCell({\n node: cell,\n shouldSelectOnPressUp: !!dragState\n }, state, ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let props: CellProps = cell.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n defaultClassName: 'react-aria-Cell',\n values: {\n isFocused,\n isFocusVisible,\n isPressed,\n isHovered\n }\n });\n\n return (\n <td\n {...mergeProps(filterDOMProps(props as any), gridCellProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={isPressed || undefined}>\n {renderProps.children}\n </td>\n );\n}\n\nfunction TableDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(InternalTableContext)!;\n let buttonRef = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n buttonRef\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <TableDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} buttonRef={buttonRef} ref={ref} />\n );\n}\n\ninterface TableDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean,\n buttonRef: RefObject<HTMLDivElement>\n}\n\nfunction TableDropIndicator(props: TableDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n buttonRef,\n ...otherProps\n } = props;\n\n let {state} = useContext(InternalTableContext)!;\n let {visuallyHiddenProps} = useVisuallyHidden();\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <tr\n {...filterDOMProps(props as any)}\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLTableRowElement>}\n data-drop-target={isDropTarget || undefined}>\n <td\n role=\"gridcell\"\n colSpan={state.collection.columnCount}\n style={{padding: 0}}>\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n </td>\n </tr>\n );\n}\n\nconst TableDropIndicatorForwardRef = forwardRef(TableDropIndicator);\n\nfunction RootDropIndicator() {\n let {state, dragAndDropHooks, dropState} = useContext(InternalTableContext)!;\n let ref = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps} = dragAndDropHooks!.useDropIndicator!({\n target: {type: 'root'}\n }, dropState!, ref);\n let isDropTarget = dropState!.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <tr\n role=\"row\"\n aria-hidden={dropIndicatorProps['aria-hidden']}\n style={{height: 0}}>\n <td\n role=\"gridcell\"\n colSpan={state.collection.columnCount}\n style={{padding: 0}}>\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </td>\n </tr>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps} from '@react-types/shared';\nimport {AriaTabListProps, AriaTabPanelProps, mergeProps, Orientation, useFocusRing, useHover, useTab, useTabList, useTabPanel} from 'react-aria';\nimport {BaseCollection, CollectionProps, Document, useCollectionDocument, useCollectionPortal, useSSRCollectionNode} from './Collection';\nimport {Collection, Node, TabListState, useTabListState} from 'react-stately';\nimport {ContextValue, createHideableComponent, forwardRefType, Hidden, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, Key, RefObject, useContext, useMemo} from 'react';\n\nexport interface TabsProps extends Omit<AriaTabListProps<any>, 'items' | 'children'>, RenderProps<TabsRenderProps>, SlotProps {}\n\nexport interface TabsRenderProps {\n /**\n * The orientation of the tabs.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation\n}\n\nexport interface TabListProps<T> extends StyleRenderProps<TabListRenderProps>, AriaLabelingProps, Omit<CollectionProps<T>, 'disabledKeys'> {}\n\nexport interface TabListRenderProps {\n /**\n * The orientation of the tab list.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>\n}\n\nexport interface TabProps extends RenderProps<TabRenderProps>, AriaLabelingProps {\n id?: Key\n}\n\nexport interface TabRenderProps {\n /**\n * Whether the tab is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the tab is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the tab is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the tab is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tab is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the tab is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface TabPanelProps extends AriaTabPanelProps, RenderProps<TabPanelRenderProps> {\n /**\n * Whether to mount the tab panel in the DOM even when it is not currently selected.\n * Inactive tab panels are inert and cannot be interacted with. They must be styled appropriately so this is clear to the user visually.\n * @default false\n */\n shouldForceMount?: boolean\n}\n\nexport interface TabPanelRenderProps {\n /**\n * Whether the tab panel is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tab panel is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the tab panel is currently non-interactive. This occurs when the\n * `shouldForceMount` prop is true, and the corresponding tab is not selected.\n * @selector [data-inert]\n */\n isInert: boolean,\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>\n}\n\ninterface InternalTabsContextValue {\n state: TabListState<object>,\n orientation: Orientation,\n keyboardActivation: 'automatic' | 'manual'\n}\n\nexport const TabsContext = createContext<ContextValue<TabsProps, HTMLDivElement>>(null);\nconst InternalTabsContext = createContext<InternalTabsContextValue | null>(null);\nconst DocumentContext = createContext<Document<any, BaseCollection<any>> | null>(null);\n\nfunction Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TabsContext);\n let {collection, document} = useCollectionDocument();\n let {children, orientation = 'horizontal'} = props;\n children = useMemo(() => (\n typeof children === 'function'\n ? children({orientation})\n : children\n ), [children, orientation]);\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection before constructing the state.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <DocumentContext.Provider value={document}>\n {children}\n </DocumentContext.Provider>\n </Hidden>\n <TabsInner props={props} collection={collection} tabsRef={ref} />\n </>\n );\n}\n\ninterface TabsInnerProps {\n props: TabsProps,\n collection: Collection<Node<any>>,\n tabsRef: RefObject<HTMLDivElement>\n}\n\nfunction TabsInner({props, tabsRef: ref, collection}: TabsInnerProps) {\n let {orientation = 'horizontal', keyboardActivation = 'automatic'} = props;\n let state = useTabListState({\n ...props,\n collection,\n children: undefined\n });\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let values = useMemo(() => ({\n orientation,\n isFocusWithin: isFocused,\n isFocusVisible\n }), [orientation, isFocused, isFocusVisible]);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Tabs',\n values\n });\n\n return (\n <div\n {...filterDOMProps(props as any)}\n {...focusProps}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-focused={isFocused || undefined}\n data-orientation={orientation}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={state.isDisabled || undefined}>\n <InternalTabsContext.Provider value={{state, orientation, keyboardActivation}}>\n {renderProps.children}\n </InternalTabsContext.Provider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them.\n */\nconst _Tabs = /*#__PURE__*/ (forwardRef as forwardRefType)(Tabs);\nexport {_Tabs as Tabs};\n\nfunction TabList<T extends object>(props: TabListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {\n let document = useContext(DocumentContext);\n return document\n ? <TabListPortal props={props} document={document} />\n : <TabListInner props={props} forwardedRef={ref} />;\n}\n\nfunction TabListPortal({props, document}) {\n return <>{useCollectionPortal(props, document)}</>;\n}\n\ninterface TabListInnerProps<T> {\n props: TabListProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction TabListInner<T extends object>({props, forwardedRef: ref}: TabListInnerProps<T>) {\n let {state, orientation, keyboardActivation} = useContext(InternalTabsContext)!;\n let objectRef = useObjectRef(ref);\n\n let {tabListProps} = useTabList({\n ...props,\n orientation,\n keyboardActivation\n }, state, objectRef);\n\n let renderProps = useRenderProps({\n ...props,\n children: null,\n defaultClassName: 'react-aria-TabList',\n values: {\n orientation,\n state\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...DOMProps}\n {...tabListProps}\n ref={objectRef}\n {...renderProps}\n data-orientation={orientation || undefined}>\n {[...state.collection].map((item) => (\n <TabInner\n key={item.key}\n item={item}\n state={state} />\n ))}\n </div>\n );\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The ids of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nconst _TabList = /*#__PURE__*/ (forwardRef as forwardRefType)(TabList);\nexport {_TabList as TabList};\n\nfunction Tab(props: TabProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Tab provides a title for an individual item within a TabList.\n */\nconst _Tab = /*#__PURE__*/ (forwardRef as forwardRefType)(Tab);\nexport {_Tab as Tab};\n\nfunction TabInner({item, state}: {item: Node<object>, state: TabListState<object>}) {\n let {key} = item;\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {tabProps, isSelected, isDisabled, isPressed} = useTab({key}, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({\n isDisabled\n });\n\n let renderProps = useRenderProps({\n ...item.props,\n children: item.rendered,\n defaultClassName: 'react-aria-Tab',\n values: {\n isSelected,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isHovered,\n state\n }\n });\n\n let DOMProps = filterDOMProps(item.props);\n delete DOMProps.id;\n\n return (\n <div\n {...mergeProps(DOMProps, tabProps, focusProps, hoverProps, renderProps)}\n ref={ref}\n data-selected={isSelected || undefined}\n data-disabled={isDisabled || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={isPressed || undefined}\n data-hovered={isHovered || undefined} />\n );\n}\n\nfunction TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElement>) {\n const {state} = useContext(InternalTabsContext)!;\n let ref = useObjectRef<HTMLDivElement>(forwardedRef);\n let {tabPanelProps} = useTabPanel(props, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n\n let isSelected = state.selectedKey === props.id;\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-TabPanel',\n values: {\n isFocused,\n isFocusVisible,\n isInert: !isSelected,\n state\n }\n });\n\n if (!isSelected && !props.shouldForceMount) {\n return null;\n }\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n let domProps = isSelected\n ? mergeProps(DOMProps, tabPanelProps, focusProps, renderProps)\n : renderProps;\n\n return (\n <div\n {...domProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n // @ts-ignore\n inert={!isSelected ? 'true' : undefined}\n data-inert={!isSelected ? 'true' : undefined} />\n );\n}\n\n/**\n * A TabPanel provides the content for a tab.\n */\nconst _TabPanel = /*#__PURE__*/ createHideableComponent(TabPanel);\nexport {_TabPanel as TabPanel};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaTagGroupProps, useFocusRing, useHover, useTag, useTagGroup} from 'react-aria';\nimport {BaseCollection, CollectionProps, Document, ItemProps, ItemRenderProps, useCachedChildren, useCollectionDocument, useCollectionPortal, useSSRCollectionNode} from './Collection';\nimport {ButtonContext} from './Button';\nimport {ContextValue, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport {ListState, Node, useListState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, Key, ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface TagGroupProps extends Omit<AriaTagGroupProps<unknown>, 'children' | 'items' | 'label' | 'description' | 'errorMessage' | 'keyboardDelegate'>, DOMProps, SlotProps {}\n\nexport interface TagListRenderProps {\n /**\n * Whether the tag list has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the tag list is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tag list is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean\n}\n\nexport interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TagListRenderProps> {\n /** Provides content to display when there are no items in the tag list. */\n renderEmptyState?: () => ReactNode\n}\n\ninterface InternalTagGroupContextValue {\n state: ListState<any>,\n document: Document<any, BaseCollection<any>>,\n gridProps: HTMLAttributes<HTMLElement>,\n tagListRef: RefObject<HTMLDivElement>\n}\n\nexport const TagGroupContext = createContext<ContextValue<TagGroupProps, HTMLDivElement>>(null);\nconst InternalTagGroupContext = createContext<InternalTagGroupContextValue | null>(null);\n\nfunction TagGroup(props: TagGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TagGroupContext);\n let tagListRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {collection, document} = useCollectionDocument();\n let state = useListState({\n ...props,\n children: undefined,\n collection\n });\n\n // Prevent DOM props from going to two places.\n let domProps = filterDOMProps(props);\n let domPropOverrides = Object.fromEntries(Object.entries(domProps).map(([k]) => [k, undefined]));\n let {\n gridProps,\n labelProps,\n descriptionProps,\n errorMessageProps\n } = useTagGroup({\n ...props,\n ...domPropOverrides,\n label\n }, state, tagListRef);\n\n return (\n <div\n {...domProps}\n ref={ref}\n slot={props.slot}\n className={props.className ?? 'react-aria-TagGroup'}\n style={props.style}>\n <Provider\n values={[\n [LabelContext, {...labelProps, elementType: 'span', ref: labelRef}],\n [InternalTagGroupContext, {state, document, gridProps, tagListRef}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {props.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A tag group is a focusable list of labels, categories, keywords, filters, or other items, with support for keyboard navigation, selection, and removal.\n */\nconst _TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(TagGroup);\nexport {_TagGroup as TagGroup};\n\nfunction TagList<T extends object>(props: TagListProps<T>, forwardedRef: ForwardedRef<HTMLDivElement>) {\n // Render the portal first so that we have the collection by the time we render the DOM in SSR.\n let {document} = useContext(InternalTagGroupContext)!;\n let portal = useCollectionPortal(props, document);\n return (\n <>\n {portal}\n <TagListInner props={props} forwardedRef={forwardedRef} />\n </>\n );\n}\n\ninterface TagListInnerProps<T> {\n props: TagListProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction TagListInner<T extends object>({props, forwardedRef}: TagListInnerProps<T>) {\n let {state, gridProps, tagListRef} = useContext(InternalTagGroupContext)!;\n let ref = mergeRefs(tagListRef, forwardedRef);\n\n let children = useCachedChildren({\n items: state.collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <TagItem item={item} />;\n default:\n throw new Error('Unsupported node type in TagList: ' + item.type);\n }\n }\n });\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-TagList',\n values: {\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible\n }\n });\n\n return (\n <div\n {...mergeProps(gridProps, focusProps)}\n {...renderProps}\n {...filterDOMProps(props as any)}\n ref={ref}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n {state.collection.size === 0 && props.renderEmptyState ? props.renderEmptyState() : children}\n </div>\n );\n}\n\n/**\n * A tag list is a container for tags within a TagGroup.\n */\nconst _TagList = /*#__PURE__*/ (forwardRef as forwardRefType)(TagList);\nexport {_TagList as TagList};\n\nexport interface TagRenderProps extends Omit<ItemRenderProps, 'allowsDragging' | 'isDragging' | 'isDropTarget'> {\n /**\n * Whether the tag group allows items to be removed.\n * @selector [data-allows-removing]\n */\n allowsRemoving: boolean\n}\n\nexport interface TagProps extends RenderProps<TagRenderProps> {\n /** A unique id for the tag. */\n id?: Key,\n /**\n * A string representation of the tags's contents, used for accessibility.\n * Required if children is not a plain text string.\n */\n textValue?: string\n}\n\nfunction Tag(props: TagProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Tag is an individual item within a TagList.\n */\nconst _Tag = /*#__PURE__*/ (forwardRef as forwardRefType)(Tag);\nexport {_Tag as Tag};\n\nfunction TagItem({item}) {\n let {state} = useContext(InternalTagGroupContext)!;\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {focusProps, isFocusVisible} = useFocusRing({within: true});\n let {rowProps, gridCellProps, removeButtonProps, ...states} = useTag({item}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection\n });\n\n let props: ItemProps<unknown> = item.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Tag',\n values: {\n ...states,\n isFocusVisible,\n isHovered,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior\n }\n });\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Tag> elements with non-plain text children for accessibility.');\n }\n }, [item.textValue]);\n\n return (\n <div\n ref={ref}\n {...renderProps}\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps)}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-allows-removing={states.allowsRemoving || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <div {...gridCellProps}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n remove: removeButtonProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </div>\n );\n}\n","import {ContextValue, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {InputRenderProps} from './Input';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, forwardRef, TextareaHTMLAttributes} from 'react';\n\nexport interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'className' | 'style'>, StyleRenderProps<InputRenderProps> {}\n\nexport const TextAreaContext = createContext<ContextValue<TextAreaProps, HTMLTextAreaElement>>({});\n\nfunction TextArea(props: TextAreaProps, ref: ForwardedRef<HTMLTextAreaElement>) {\n [props, ref] = useContextProps(props, ref, TextAreaContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = useRenderProps({\n ...props,\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid\n },\n defaultClassName: 'react-aria-TextArea'\n });\n\n return (\n <textarea\n {...mergeProps(props, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-disabled={props.disabled || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-invalid={isInvalid || undefined} />\n );\n}\n/**\n * A textarea allows a user to input mult-line text.\n */\nconst _TextArea = forwardRef(TextArea);\nexport {_TextArea as TextArea};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaTextFieldProps, useTextField} from 'react-aria';\nimport {ContextValue, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useCallback, useRef, useState} from 'react';\nimport {TextAreaContext} from './TextArea';\nimport {TextContext} from './Text';\n\nexport interface TextFieldRenderProps {\n /**\n * Whether the text field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the value is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface TextFieldProps extends Omit<AriaTextFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, Omit<DOMProps, 'style' | 'className' | 'children'>, SlotProps, RenderProps<TextFieldRenderProps> {\n /** Whether the value is invalid. */\n isInvalid?: boolean\n}\n\nexport const TextFieldContext = createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);\n\nfunction TextField(props: TextFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n let inputRef = useRef(null);\n let [labelRef, label] = useSlot();\n let [inputElementType, setInputElementType] = useState('input');\n let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField<any>({\n ...props,\n inputElementType,\n label\n }, inputRef);\n\n // Intercept setting the input ref so we can determine what kind of element we have.\n // useTextField uses this to determine what props to include.\n let inputOrTextAreaRef = useCallback((el) => {\n inputRef.current = el;\n if (el) {\n setInputElementType(el instanceof HTMLTextAreaElement ? 'textarea' : 'input');\n }\n }, []);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false\n },\n defaultClassName: 'react-aria-TextField'\n });\n\n return (\n <div\n {...filterDOMProps(props)}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}],\n [InputContext, {...inputProps, ref: inputOrTextAreaRef}],\n [TextAreaContext, {...inputProps, ref: inputOrTextAreaRef}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A text field allows a user to enter a plain text value with a keyboard.\n */\nconst _TextField = (forwardRef as forwardRefType)(TextField);\nexport {_TextField as TextField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaToggleButtonProps, mergeProps, useFocusRing, useHover, useToggleButton} from 'react-aria';\nimport {ButtonRenderProps} from './Button';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\nimport {ToggleState, useToggleState} from 'react-stately';\n\nexport interface ToggleButtonRenderProps extends ButtonRenderProps {\n /**\n * Whether the button is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * State of the toggle button.\n */\n state: ToggleState\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, 'children' | 'elementType'>, SlotProps, RenderProps<ToggleButtonRenderProps> {}\n\nexport const ToggleButtonContext = createContext<ContextValue<ToggleButtonProps, HTMLButtonElement>>({});\n\nfunction ToggleButton(props: ToggleButtonProps, ref: ForwardedRef<HTMLButtonElement>) {\n [props, ref] = useContextProps(props, ref, ToggleButtonContext);\n let state = useToggleState(props);\n let {buttonProps, isPressed} = useToggleButton(props, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing(props);\n let {hoverProps, isHovered} = useHover(props);\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isPressed, isFocused, isSelected: state.isSelected, isFocusVisible, isDisabled: props.isDisabled || false, state},\n defaultClassName: 'react-aria-ToggleButton'\n });\n\n return (\n <button\n {...mergeProps(buttonProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot}\n data-focused={isFocused || undefined}\n data-disabled={props.isDisabled || undefined}\n data-pressed={isPressed || undefined}\n data-selected={state.isSelected || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined} />\n );\n}\n\n/**\n * A toggle button allows a user to toggle a selection on or off, for example switching between two states or modes.\n */\nconst _ToggleButton = /*#__PURE__*/ (forwardRef as forwardRefType)(ToggleButton);\nexport {_ToggleButton as ToggleButton};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMAttributes, FocusableElement} from '@react-types/shared';\nimport {FocusableProvider} from '@react-aria/focus';\nimport {forwardRefType, RenderProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {mergeProps, OverlayContainer, PlacementAxis, PositionProps, useOverlayPosition, useTooltip, useTooltipTrigger} from 'react-aria';\nimport {mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {OverlayArrowContext} from './OverlayArrow';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useRef} from 'react';\nimport {TooltipTriggerProps, TooltipTriggerState, useTooltipTriggerState} from 'react-stately';\n\nexport interface TooltipTriggerComponentProps extends TooltipTriggerProps {\n children: ReactNode\n}\n\nexport interface TooltipProps extends PositionProps, AriaLabelingProps, RenderProps<TooltipRenderProps> {}\n\nexport interface TooltipRenderProps {\n /**\n * The placement of the tooltip relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis,\n /**\n * Whether the tooltip is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the tooltip is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean,\n /**\n * State of the tooltip.\n */\n state: TooltipTriggerState\n}\n\ninterface TooltipContextValue {\n state: TooltipTriggerState,\n triggerRef: RefObject<FocusableElement>,\n tooltipProps: DOMAttributes\n}\n\nconst InternalTooltipContext = createContext<TooltipContextValue | null>(null);\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: TooltipTriggerComponentProps) {\n let state = useTooltipTriggerState(props);\n let ref = useRef<FocusableElement>(null);\n let {triggerProps, tooltipProps} = useTooltipTrigger(props, state, ref);\n\n return (\n <InternalTooltipContext.Provider value={{state, triggerRef: ref, tooltipProps}}>\n <FocusableProvider {...triggerProps} ref={ref}>\n {props.children}\n </FocusableProvider>\n </InternalTooltipContext.Provider>\n );\n}\n\nfunction Tooltip(props: TooltipProps, ref: ForwardedRef<HTMLDivElement>) {\n let {state} = useContext(InternalTooltipContext)!;\n let objectRef = useObjectRef(ref);\n let isExiting = useExitAnimation(objectRef, state.isOpen);\n if (!state.isOpen && !isExiting) {\n return null;\n }\n\n return (\n <OverlayContainer>\n <TooltipInner {...props} tooltipRef={objectRef} isExiting={isExiting} />\n </OverlayContainer>\n );\n}\n\n/**\n * A tooltip displays a description of an element on hover or focus.\n */\nconst _Tooltip = /*#__PURE__*/ (forwardRef as forwardRefType)(Tooltip);\nexport {_Tooltip as Tooltip};\n\nfunction TooltipInner(props: TooltipProps & {isExiting: boolean, tooltipRef: ForwardedRef<HTMLDivElement>}) {\n let {state, triggerRef, tooltipProps: triggerTooltipProps} = useContext(InternalTooltipContext)!;\n\n let overlayRef = useRef<HTMLDivElement>(null);\n let {overlayProps, arrowProps, placement} = useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: triggerRef,\n overlayRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen\n });\n\n let isEntering = useEnterAnimation(overlayRef, !!placement);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement,\n isEntering,\n isExiting: props.isExiting,\n state\n }\n });\n\n props = mergeProps(props, overlayProps);\n let {tooltipProps} = useTooltip(props, state);\n\n return (\n <div\n {...mergeProps(triggerTooltipProps, tooltipProps)}\n ref={mergeRefs(overlayRef, props.tooltipRef)}\n {...renderProps}\n style={{...renderProps.style, ...overlayProps.style}}\n data-placement={placement}\n data-entering={isEntering || undefined}\n data-exiting={props.isExiting || undefined}>\n <OverlayArrowContext.Provider value={{arrowProps, placement}}>\n {renderProps.children}\n </OverlayArrowContext.Provider>\n </div>\n );\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria-components/src/index.ts","packages/react-aria-components/src/Breadcrumbs.tsx","packages/react-aria-components/src/Collection.tsx","packages/react-aria-components/src/utils.tsx","packages/react-aria-components/src/Link.tsx","packages/react-aria-components/src/Button.tsx","packages/react-aria-components/src/Calendar.tsx","packages/react-aria-components/src/Heading.tsx","packages/react-aria-components/src/Text.tsx","packages/react-aria-components/src/Checkbox.tsx","packages/react-aria-components/src/Label.tsx","packages/react-aria-components/src/ComboBox.tsx","packages/react-aria-components/src/Input.tsx","packages/react-aria-components/src/ListBox.tsx","packages/react-aria-components/src/useDragAndDrop.tsx","packages/react-aria-components/src/Header.tsx","packages/react-aria-components/src/Separator.tsx","packages/react-aria-components/src/Dialog.tsx","packages/react-aria-components/src/Popover.tsx","packages/react-aria-components/src/OverlayArrow.tsx","packages/react-aria-components/src/DateField.tsx","packages/react-aria-components/src/Group.tsx","packages/react-aria-components/src/DatePicker.tsx","packages/react-aria-components/src/DropZone.tsx","packages/react-aria-components/src/*.js","packages/react-aria-components/intl/ar-AE.json","packages/react-aria-components/intl/bg-BG.json","packages/react-aria-components/intl/cs-CZ.json","packages/react-aria-components/intl/da-DK.json","packages/react-aria-components/intl/de-DE.json","packages/react-aria-components/intl/el-GR.json","packages/react-aria-components/intl/en-US.json","packages/react-aria-components/intl/es-ES.json","packages/react-aria-components/intl/et-EE.json","packages/react-aria-components/intl/fi-FI.json","packages/react-aria-components/intl/fr-FR.json","packages/react-aria-components/intl/he-IL.json","packages/react-aria-components/intl/hr-HR.json","packages/react-aria-components/intl/hu-HU.json","packages/react-aria-components/intl/it-IT.json","packages/react-aria-components/intl/ja-JP.json","packages/react-aria-components/intl/ko-KR.json","packages/react-aria-components/intl/lt-LT.json","packages/react-aria-components/intl/lv-LV.json","packages/react-aria-components/intl/nb-NO.json","packages/react-aria-components/intl/nl-NL.json","packages/react-aria-components/intl/pl-PL.json","packages/react-aria-components/intl/pt-BR.json","packages/react-aria-components/intl/pt-PT.json","packages/react-aria-components/intl/ro-RO.json","packages/react-aria-components/intl/ru-RU.json","packages/react-aria-components/intl/sk-SK.json","packages/react-aria-components/intl/sl-SI.json","packages/react-aria-components/intl/sr-SP.json","packages/react-aria-components/intl/sv-SE.json","packages/react-aria-components/intl/tr-TR.json","packages/react-aria-components/intl/uk-UA.json","packages/react-aria-components/intl/zh-CN.json","packages/react-aria-components/intl/zh-TW.json","packages/react-aria-components/src/FileTrigger.tsx","packages/react-aria-components/src/GridList.tsx","packages/react-aria-components/src/Keyboard.tsx","packages/react-aria-components/src/Menu.tsx","packages/react-aria-components/src/Meter.tsx","packages/react-aria-components/src/Modal.tsx","packages/react-aria-components/src/NumberField.tsx","packages/react-aria-components/src/ProgressBar.tsx","packages/react-aria-components/src/RadioGroup.tsx","packages/react-aria-components/src/SearchField.tsx","packages/react-aria-components/src/Select.tsx","packages/react-aria-components/src/Slider.tsx","packages/react-aria-components/src/Switch.tsx","packages/react-aria-components/src/Table.tsx","packages/react-aria-components/src/Tabs.tsx","packages/react-aria-components/src/TagGroup.tsx","packages/react-aria-components/src/TextArea.tsx","packages/react-aria-components/src/TextField.tsx","packages/react-aria-components/src/ToggleButton.tsx","packages/react-aria-components/src/Tooltip.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {Breadcrumbs, BreadcrumbsContext, Breadcrumb} from './Breadcrumbs';\nexport {Button, ButtonContext} from './Button';\nexport {Calendar, CalendarGrid, CalendarGridHeader, CalendarGridBody, CalendarHeaderCell, CalendarCell, RangeCalendar, CalendarContext, RangeCalendarContext, CalendarStateContext, RangeCalendarStateContext} from './Calendar';\nexport {Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxContext, CheckboxGroupStateContext} from './Checkbox';\nexport {ComboBox, ComboBoxContext, ComboBoxStateContext} from './ComboBox';\nexport {DateField, DateInput, DateSegment, TimeField, DateFieldContext, TimeFieldContext, DateFieldStateContext, TimeFieldStateContext} from './DateField';\nexport {DatePicker, DateRangePicker, DatePickerContext, DateRangePickerContext, DatePickerStateContext, DateRangePickerStateContext} from './DatePicker';\nexport {DialogTrigger, Dialog, DialogContext, OverlayTriggerStateContext} from './Dialog';\nexport {DropZone, DropZoneContext} from './DropZone';\nexport {FileTrigger} from './FileTrigger';\nexport {GridList, GridListContext} from './GridList';\nexport {Group, GroupContext} from './Group';\nexport {Header} from './Header';\nexport {Heading, HeadingContext} from './Heading';\nexport {Input, InputContext} from './Input';\nexport {Item, Section, Collection} from './Collection';\nexport {Keyboard, KeyboardContext} from './Keyboard';\nexport {Label, LabelContext} from './Label';\nexport {Link, LinkContext} from './Link';\nexport {ListBox, ListBoxContext, ListStateContext} from './ListBox';\nexport {Menu, MenuTrigger, MenuContext, MenuStateContext} from './Menu';\nexport {Meter, MeterContext} from './Meter';\nexport {Modal, ModalOverlay, ModalContext} from './Modal';\nexport {NumberField, NumberFieldContext, NumberFieldStateContext} from './NumberField';\nexport {OverlayArrow} from './OverlayArrow';\nexport {Popover, PopoverContext} from './Popover';\nexport {ProgressBar, ProgressBarContext} from './ProgressBar';\nexport {Provider, useContextProps, useSlottedContext} from './utils';\nexport {RadioGroup, Radio, RadioGroupContext, RadioContext, RadioGroupStateContext} from './RadioGroup';\nexport {SearchField, SearchFieldContext} from './SearchField';\nexport {Select, SelectValue, SelectContext, SelectValueContext, SelectStateContext} from './Select';\nexport {Separator, SeparatorContext} from './Separator';\nexport {Slider, SliderOutput, SliderTrack, SliderThumb, SliderContext, SliderOutputContext, SliderTrackContext, SliderStateContext} from './Slider';\nexport {Switch, SwitchContext} from './Switch';\nexport {Table, Row, Cell, Column, ColumnResizer, TableHeader, TableBody, TableContext, ResizableTableContainer, useTableOptions, TableStateContext, TableColumnResizeStateContext} from './Table';\nexport {Tabs, TabList, TabPanel, Tab, TabsContext, TabListStateContext} from './Tabs';\nexport {TagGroup, TagGroupContext, TagList, TagListContext, Tag} from './TagGroup';\nexport {Text, TextContext} from './Text';\nexport {TextArea, TextAreaContext} from './TextArea';\nexport {TextField, TextFieldContext} from './TextField';\nexport {ToggleButton, ToggleButtonContext} from './ToggleButton';\nexport {TooltipTrigger, Tooltip, TooltipTriggerStateContext, TooltipContext} from './Tooltip';\nexport {useDragAndDrop, DropIndicator, DropIndicatorContext, DragAndDropContext} from './useDragAndDrop';\nexport {DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider, RouterProvider, I18nProvider} from 'react-aria';\n\nexport type {BreadcrumbsProps, BreadcrumbProps} from './Breadcrumbs';\nexport type {ButtonProps, ButtonRenderProps} from './Button';\nexport type {CalendarCellProps, CalendarProps, CalendarRenderProps, CalendarGridProps, CalendarGridHeaderProps, CalendarGridBodyProps, CalendarHeaderCellProps, CalendarCellRenderProps, RangeCalendarProps, RangeCalendarRenderProps} from './Calendar';\nexport type {CheckboxGroupProps, CheckboxGroupRenderProps, CheckboxRenderProps, CheckboxProps} from './Checkbox';\nexport type {ComboBoxProps, ComboBoxRenderProps} from './ComboBox';\nexport type {DateFieldProps, DateFieldRenderProps, DateInputProps, DateInputRenderProps, DateSegmentProps, DateSegmentRenderProps, TimeFieldProps} from './DateField';\nexport type {DatePickerProps, DatePickerRenderProps, DateRangePickerProps, DateRangePickerRenderProps} from './DatePicker';\nexport type {DialogProps, DialogTriggerProps} from './Dialog';\nexport type {DropZoneProps, DropZoneRenderProps} from './DropZone';\nexport type {FileTriggerProps} from './FileTrigger';\nexport type {GridListProps, GridListRenderProps} from './GridList';\nexport type {GroupProps, GroupRenderProps} from './Group';\nexport type {HeadingProps} from './Heading';\nexport type {InputProps, InputRenderProps} from './Input';\nexport type {ItemProps, ItemRenderProps, SectionProps} from './Collection';\nexport type {LabelProps} from './Label';\nexport type {LinkProps} from './Link';\nexport type {LinkRenderProps} from './Link';\nexport type {ListBoxProps, ListBoxRenderProps} from './ListBox';\nexport type {MenuProps, MenuTriggerProps} from './Menu';\nexport type {MeterProps, MeterRenderProps} from './Meter';\nexport type {ModalOverlayProps, ModalRenderProps} from './Modal';\nexport type {NumberFieldProps, NumberFieldRenderProps} from './NumberField';\nexport type {OverlayArrowProps, OverlayArrowRenderProps} from './OverlayArrow';\nexport type {PopoverProps, PopoverRenderProps} from './Popover';\nexport type {ProgressBarProps, ProgressBarRenderProps} from './ProgressBar';\nexport type {RadioGroupProps, RadioGroupRenderProps, RadioProps, RadioRenderProps} from './RadioGroup';\nexport type {SearchFieldProps, SearchFieldRenderProps} from './SearchField';\nexport type {SelectProps, SelectValueProps, SelectValueRenderProps, SelectRenderProps} from './Select';\nexport type {SeparatorProps} from './Separator';\nexport type {SliderOutputProps, SliderProps, SliderRenderProps, SliderThumbProps, SliderTrackProps, SliderTrackRenderProps, SliderThumbRenderProps} from './Slider';\nexport type {SwitchProps, SwitchRenderProps} from './Switch';\nexport type {TableProps, TableRenderProps, TableHeaderProps, TableBodyProps, TableBodyRenderProps, ResizableTableContainerProps, ColumnProps, ColumnRenderProps, ColumnResizerProps, ColumnResizerRenderProps, RowProps, RowRenderProps, CellProps, CellRenderProps} from './Table';\nexport type {TabListProps, TabListRenderProps, TabPanelProps, TabPanelRenderProps, TabProps, TabsProps, TabRenderProps, TabsRenderProps} from './Tabs';\nexport type {TagGroupProps, TagListProps, TagListRenderProps, TagProps, TagRenderProps} from './TagGroup';\nexport type {TextAreaProps} from './TextArea';\nexport type {TextFieldProps, TextFieldRenderProps} from './TextField';\nexport type {TextProps} from './Text';\nexport type {ToggleButtonProps, ToggleButtonRenderProps} from './ToggleButton';\nexport type {TooltipProps, TooltipRenderProps, TooltipTriggerComponentProps} from './Tooltip';\nexport type {DragAndDropHooks, DragAndDropOptions, DropIndicatorProps} from './useDragAndDrop';\nexport type {ContextValue, SlotProps} from './utils';\n\nexport type {DateValue, DateRange, TimeValue} from 'react-aria';\nexport type {DirectoryDropItem, DraggableCollectionEndEvent, DraggableCollectionMoveEvent, DraggableCollectionStartEvent, DragPreviewRenderer, DragTypes, DropItem, DropOperation, DroppableCollectionDropEvent, DroppableCollectionEnterEvent, DroppableCollectionExitEvent, DroppableCollectionInsertDropEvent, DroppableCollectionMoveEvent, DroppableCollectionOnItemDropEvent, DroppableCollectionReorderEvent, DroppableCollectionRootDropEvent, DropPosition, DropTarget, FileDropItem, ItemDropTarget, RootDropTarget, TextDropItem, PressEvent} from 'react-aria';\nexport type {Selection, SortDescriptor, SortDirection, SelectionMode} from 'react-stately';\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaBreadcrumbsProps} from 'react-aria';\nimport {Collection, Node} from 'react-stately';\nimport {CollectionProps, useCollection, useSSRCollectionNode} from './Collection';\nimport {ContextValue, forwardRefType, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {LinkContext} from './Link';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactNode, RefObject} from 'react';\n\nexport interface BreadcrumbsProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, AriaBreadcrumbsProps, StyleProps, SlotProps {\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean,\n /** Handler that is called when a breadcrumb is clicked. */\n onAction?: (key: Key) => void\n}\n\nexport const BreadcrumbsContext = createContext<ContextValue<BreadcrumbsProps<any>, HTMLOListElement>>(null);\n\nfunction Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>, ref: ForwardedRef<HTMLOListElement>) {\n [props, ref] = useContextProps(props, ref, BreadcrumbsContext);\n let {portal, collection} = useCollection(props);\n\n // Render the portal first so that we have the collection by the time we render the DOM in SSR\n return (\n <>\n {portal}\n <BreadcrumbsInner props={props} collection={collection} breadcrumbsRef={ref} />\n </>\n );\n}\n\ninterface BreadcrumbsInnerProps<T> {\n props: BreadcrumbsProps<T>,\n collection: Collection<Node<T>>,\n breadcrumbsRef: RefObject<HTMLOListElement>\n}\n\nfunction BreadcrumbsInner<T extends object>({props, collection, breadcrumbsRef: ref}: BreadcrumbsInnerProps<T>) {\n return (\n <ol\n ref={ref}\n {...filterDOMProps(props, {labelable: true})}\n slot={props.slot || undefined}\n style={props.style}\n className={props.className ?? 'react-aria-Breadcrumbs'}>\n {[...collection].map((node, i) => (\n <BreadcrumbItem\n key={node.key}\n node={node}\n isCurrent={i === collection.size - 1}\n isDisabled={props.isDisabled}\n onAction={props.onAction} />\n ))}\n </ol>\n );\n}\n\n/**\n * Breadcrumbs display a hierarchy of links to the current page or resource in an application.\n */\nconst _Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(Breadcrumbs);\nexport {_Breadcrumbs as Breadcrumbs};\n\nexport interface BreadcrumbProps extends StyleProps {\n /** A unique id for the breadcrumb, which will be passed to `onAction` when the breadcrumb is pressed. */\n id?: Key,\n /** The children of the breadcrumb, typically a `<Link>`. */\n children: ReactNode\n}\n\nfunction Breadcrumb(props: BreadcrumbProps, ref: ForwardedRef<HTMLLIElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Breadcrumb represents an individual item in a `<Breadcrumbs>` list.\n */\nconst _Breadcrumb = /*#__PURE__*/ (forwardRef as forwardRefType)(Breadcrumb);\nexport {_Breadcrumb as Breadcrumb};\n\ninterface BreadcrumbItemProps {\n node: Node<object>,\n isCurrent: boolean,\n isDisabled?: boolean,\n onAction?: (key: Key) => void\n}\n\nfunction BreadcrumbItem({node, isCurrent, isDisabled, onAction}: BreadcrumbItemProps) {\n // Recreating useBreadcrumbItem because we want to use composition instead of having the link builtin.\n let linkProps = {\n 'aria-current': isCurrent ? 'page' : null,\n isDisabled: isDisabled || isCurrent,\n onPress: () => onAction?.(node.key)\n };\n\n return (\n <li\n {...filterDOMProps(node.props)}\n style={node.props.style}\n className={node.props.className ?? 'react-aria-Breadcrumb'}>\n <LinkContext.Provider value={linkProps}>\n {node.rendered}\n </LinkContext.Provider>\n </li>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {CollectionBase, LinkDOMProps} from '@react-types/shared';\nimport {createPortal} from 'react-dom';\nimport {forwardRefType, RenderProps, StyleProps} from './utils';\nimport {Collection as ICollection, Node, SelectionBehavior, SelectionMode, ItemProps as SharedItemProps, SectionProps as SharedSectionProps} from 'react-stately';\nimport {mergeProps, useIsSSR} from 'react-aria';\nimport React, {cloneElement, createContext, ForwardedRef, forwardRef, Key, ReactElement, ReactNode, useCallback, useContext, useMemo, useRef} from 'react';\nimport {useSyncExternalStore as useSyncExternalStoreShim} from 'use-sync-external-store/shim/index.js';\n\n// This Collection implementation is perhaps a little unusual. It works by rendering the React tree into a\n// Portal to a fake DOM implementation. This gives us efficient access to the tree of rendered objects, and\n// supports React features like composition and context. We use this fake DOM to access the full set of elements\n// before we render into the real DOM, which allows us to render a subset of the elements (e.g. virtualized scrolling),\n// and compute properties like the total number of items. It also enables keyboard navigation, selection, and other features.\n// React takes care of efficiently rendering components and updating the collection for us via this fake DOM.\n//\n// The DOM is a mutable API, and React expects the node instances to remain stable over time. So the implementation is split\n// into two parts. Each mutable fake DOM node owns an instance of an immutable collection node. When a fake DOM node is updated,\n// it queues a second render for the collection. Multiple updates to a collection can be queued at once. Collection nodes are\n// lazily copied on write, so only the changed nodes need to be cloned. During the second render, the new immutable collection\n// is finalized by updating the map of Key -> Node with the new cloned nodes. Then the new collection is frozen so it can no\n// longer be mutated, and returned to the calling component to render.\n\ntype Mutable<T> = {\n -readonly[P in keyof T]: T[P]\n}\n\n/** An immutable object representing a Node in a Collection. */\nexport class NodeValue<T> implements Node<T> {\n readonly type: string;\n readonly key: Key;\n readonly value: T | null = null;\n readonly level: number = 0;\n readonly hasChildNodes: boolean = false;\n readonly rendered: ReactNode = null;\n readonly textValue: string = '';\n readonly 'aria-label'?: string = undefined;\n readonly index: number = 0;\n readonly parentKey: Key | null = null;\n readonly prevKey: Key | null = null;\n readonly nextKey: Key | null = null;\n readonly firstChildKey: Key | null = null;\n readonly lastChildKey: Key | null = null;\n readonly props: any = {};\n\n constructor(type: string, key: Key) {\n this.type = type;\n this.key = key;\n }\n\n get childNodes(): Iterable<Node<T>> {\n throw new Error('childNodes is not supported');\n }\n\n clone(): NodeValue<T> {\n let node: Mutable<NodeValue<T>> = new NodeValue(this.type, this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n return node;\n }\n}\n\n/**\n * A mutable node in the fake DOM tree. When mutated, it marks itself as dirty\n * and queues an update with the owner document.\n */\nclass BaseNode<T> {\n private _firstChild: ElementNode<T> | null = null;\n private _lastChild: ElementNode<T> | null = null;\n private _previousSibling: ElementNode<T> | null = null;\n private _nextSibling: ElementNode<T> | null = null;\n private _parentNode: BaseNode<T> | null = null;\n ownerDocument: Document<T, any>;\n\n constructor(ownerDocument: Document<T, any>) {\n this.ownerDocument = ownerDocument;\n }\n\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while (node) {\n yield node;\n node = node.nextSibling;\n }\n }\n\n get firstChild() {\n return this._firstChild;\n }\n\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n\n get lastChild() {\n return this._lastChild;\n }\n\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n\n get previousSibling() {\n return this._previousSibling;\n }\n\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n\n get nextSibling() {\n return this._nextSibling;\n }\n\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n\n get parentNode() {\n return this._parentNode;\n }\n\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n\n appendChild(child: ElementNode<T>) {\n this.ownerDocument.startTransaction();\n if (child.parentNode) {\n child.parentNode.removeChild(child);\n }\n\n if (this.firstChild == null) {\n this.firstChild = child;\n }\n\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n\n this.ownerDocument.markDirty(this);\n if (child.hasSetProps) {\n // Only add the node to the collection if we already received props for it.\n // Otherwise wait until then so we have the correct id for the node.\n this.ownerDocument.addNode(child);\n }\n\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n insertBefore(newNode: ElementNode<T>, referenceNode: ElementNode<T>) {\n if (referenceNode == null) {\n return this.appendChild(newNode);\n }\n\n this.ownerDocument.startTransaction();\n if (newNode.parentNode) {\n newNode.parentNode.removeChild(newNode);\n }\n\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n newNode.index = referenceNode.index;\n\n if (this.firstChild === referenceNode) {\n this.firstChild = newNode;\n } else if (referenceNode.previousSibling) {\n referenceNode.previousSibling.nextSibling = newNode;\n }\n\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n\n let node: ElementNode<T> | null = referenceNode;\n while (node) {\n node.index++;\n node = node.nextSibling;\n }\n\n if (newNode.hasSetProps) {\n this.ownerDocument.addNode(newNode);\n }\n\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n removeChild(child: ElementNode<T>) {\n if (child.parentNode !== this) {\n return;\n }\n\n this.ownerDocument.startTransaction();\n let node = child.nextSibling;\n while (node) {\n node.index--;\n node = node.nextSibling;\n }\n\n if (child.nextSibling) {\n child.nextSibling.previousSibling = child.previousSibling;\n }\n\n if (child.previousSibling) {\n child.previousSibling.nextSibling = child.nextSibling;\n }\n\n if (this.firstChild === child) {\n this.firstChild = child.nextSibling;\n }\n\n if (this.lastChild === child) {\n this.lastChild = child.previousSibling;\n }\n\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n\n this.ownerDocument.removeNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n\n addEventListener() {}\n removeEventListener() {}\n}\n\n/**\n * A mutable element node in the fake DOM tree. It owns an immutable\n * Collection Node which is copied on write.\n */\nexport class ElementNode<T> extends BaseNode<T> {\n nodeType = 8; // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n node: NodeValue<T>;\n private _index: number = 0;\n hasSetProps = false;\n\n constructor(type: string, ownerDocument: Document<T, any>) {\n super(ownerDocument);\n this.node = new NodeValue(type, `react-aria-${++ownerDocument.nodeId}`);\n // Start a transaction so that no updates are emitted from the collection\n // until the props for this node are set. We don't know the real id for the\n // node until then, so we need to avoid emitting collections in an inconsistent state.\n this.ownerDocument.startTransaction();\n }\n\n get index() {\n return this._index;\n }\n\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n\n get level(): number {\n if (this.parentNode instanceof ElementNode) {\n return this.parentNode.level + (this.node.type === 'item' ? 1 : 0);\n }\n\n return 0;\n }\n\n updateNode() {\n let node = this.ownerDocument.getMutableNode(this);\n node.index = this.index;\n node.level = this.level;\n node.parentKey = this.parentNode instanceof ElementNode ? this.parentNode.node.key : null;\n node.prevKey = this.previousSibling?.node.key ?? null;\n node.nextKey = this.nextSibling?.node.key ?? null;\n node.hasChildNodes = !!this.firstChild;\n node.firstChildKey = this.firstChild?.node.key ?? null;\n node.lastChildKey = this.lastChild?.node.key ?? null;\n }\n\n setProps<T extends Element>(obj: any, ref: ForwardedRef<T>, rendered?: any) {\n let node = this.ownerDocument.getMutableNode(this);\n let {value, textValue, id, ...props} = obj;\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.value = value;\n node.textValue = textValue || (typeof rendered === 'string' ? rendered : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) {\n if (this.hasSetProps) {\n throw new Error('Cannot change the id of an item');\n }\n node.key = id;\n }\n\n // If this is the first time props have been set, end the transaction started in the constructor\n // so this node can be emitted.\n if (!this.hasSetProps) {\n this.ownerDocument.addNode(this);\n this.ownerDocument.endTransaction();\n this.hasSetProps = true;\n }\n\n this.ownerDocument.queueUpdate();\n }\n\n get style() {\n return {};\n }\n\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n}\n\n/**\n * An immutable Collection implementation. Updates are only allowed\n * when it is not marked as frozen.\n */\nexport class BaseCollection<T> implements ICollection<Node<T>> {\n private keyMap: Map<Key, NodeValue<T>> = new Map();\n private firstKey: Key | null = null;\n private lastKey: Key | null = null;\n private frozen = false;\n\n get size() {\n return this.keyMap.size;\n }\n\n getKeys() {\n return this.keyMap.keys();\n }\n\n *[Symbol.iterator]() {\n let node: Node<T> | undefined = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while (node) {\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n\n getChildren(key: Key): Iterable<Node<T>> {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator]() {\n let parent = keyMap.get(key);\n let node = parent?.firstChildKey != null ? keyMap.get(parent.firstChildKey) : null;\n while (node) {\n yield node as Node<T>;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n\n getKeyBefore(key: Key) {\n let node = this.keyMap.get(key);\n if (!node) {\n return null;\n }\n\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n\n while (node && node.type !== 'item' && node.lastChildKey != null) {\n node = this.keyMap.get(node.lastChildKey);\n }\n\n return node?.key ?? null;\n }\n\n return node.parentKey;\n }\n\n getKeyAfter(key: Key) {\n let node = this.keyMap.get(key);\n if (!node) {\n return null;\n }\n\n if (node.type !== 'item' && node.firstChildKey != null) {\n return node.firstChildKey;\n }\n\n while (node) {\n if (node.nextKey != null) {\n return node.nextKey;\n }\n\n if (node.parentKey != null) {\n node = this.keyMap.get(node.parentKey);\n } else {\n return null;\n }\n }\n\n return null;\n }\n\n getFirstKey() {\n return this.firstKey;\n }\n\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while (node?.lastChildKey != null) {\n node = this.keyMap.get(node.lastChildKey);\n }\n\n return node?.key ?? null;\n }\n\n getItem(key: Key): Node<T> | null {\n return this.keyMap.get(key) ?? null;\n }\n\n at(): Node<T> {\n throw new Error('Not implemented');\n }\n\n clone(): this {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor: any = this.constructor;\n let collection: this = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n return collection;\n }\n\n addNode(node: NodeValue<T>) {\n if (this.frozen) {\n throw new Error('Cannot add a node to a frozen collection');\n }\n\n this.keyMap.set(node.key, node);\n }\n\n removeNode(key: Key) {\n if (this.frozen) {\n throw new Error('Cannot remove a node to a frozen collection');\n }\n\n this.keyMap.delete(key);\n }\n\n commit(firstKey: Key | null, lastKey: Key | null, isSSR = false) {\n if (this.frozen) {\n throw new Error('Cannot commit a frozen collection');\n }\n\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n}\n\n/**\n * A mutable Document in the fake DOM. It owns an immutable Collection instance,\n * which is lazily copied on write during updates.\n */\nexport class Document<T, C extends BaseCollection<T> = BaseCollection<T>> extends BaseNode<T> {\n nodeType = 11; // DOCUMENT_FRAGMENT_NODE\n ownerDocument = this;\n dirtyNodes: Set<BaseNode<T>> = new Set();\n isSSR = false;\n nodeId = 0;\n nodesByProps = new WeakMap<object, ElementNode<T>>();\n private collection: C;\n private collectionMutated: boolean;\n private mutatedNodes: Set<ElementNode<T>> = new Set();\n private subscriptions: Set<() => void> = new Set();\n private transactionCount = 0;\n\n constructor(collection: C) {\n // @ts-ignore\n super(null);\n this.collection = collection;\n this.collectionMutated = true;\n }\n\n createElement(type: string) {\n return new ElementNode(type, this);\n }\n\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */\n getMutableNode(element: ElementNode<T>): Mutable<NodeValue<T>> {\n let node = element.node;\n if (!this.mutatedNodes.has(element)) {\n node = element.node.clone();\n this.mutatedNodes.add(element);\n element.node = node;\n }\n this.markDirty(element);\n return node;\n }\n\n private getMutableCollection() {\n if (!this.isSSR && !this.collectionMutated) {\n this.collection = this.collection.clone();\n this.collectionMutated = true;\n }\n\n return this.collection;\n }\n\n markDirty(node: BaseNode<T>) {\n this.dirtyNodes.add(node);\n }\n\n startTransaction() {\n this.transactionCount++;\n }\n\n endTransaction() {\n this.transactionCount--;\n }\n\n addNode(element: ElementNode<T>) {\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) {\n collection.addNode(element.node);\n\n for (let child of element) {\n this.addNode(child);\n }\n }\n\n this.markDirty(element);\n }\n\n removeNode(node: ElementNode<T>) {\n for (let child of node) {\n child.parentNode = null;\n this.removeNode(child);\n }\n\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n this.markDirty(node);\n }\n\n /** Finalizes the collection update, updating all nodes and freezing the collection. */\n getCollection(): C {\n if (this.transactionCount > 0) {\n return this.collection;\n }\n\n this.updateCollection();\n return this.collection;\n }\n\n updateCollection() {\n for (let element of this.dirtyNodes) {\n if (element instanceof ElementNode && element.parentNode) {\n element.updateNode();\n }\n }\n\n this.dirtyNodes.clear();\n\n if (this.mutatedNodes.size) {\n let collection = this.getMutableCollection();\n for (let element of this.mutatedNodes) {\n if (element.parentNode) {\n collection.addNode(element.node);\n }\n }\n\n collection.commit(this.firstChild?.node.key ?? null, this.lastChild?.node.key ?? null, this.isSSR);\n this.mutatedNodes.clear();\n }\n\n this.collectionMutated = false;\n }\n\n queueUpdate() {\n // Don't emit any updates if there is a transaction in progress.\n // queueUpdate should be called again after the transaction.\n if (this.dirtyNodes.size === 0 || this.transactionCount > 0) {\n return;\n }\n\n for (let fn of this.subscriptions) {\n fn();\n }\n }\n\n subscribe(fn: () => void) {\n this.subscriptions.add(fn);\n return () => this.subscriptions.delete(fn);\n }\n\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n }\n }\n}\n\nexport interface CollectionProps<T> extends Omit<CollectionBase<T>, 'children'> {\n /** The contents of the collection. */\n children?: ReactNode | ((item: T) => ReactNode)\n}\n\ninterface CachedChildrenOptions<T> extends CollectionProps<T> {\n idScope?: Key,\n addIdAndValue?: boolean\n}\n\nexport function useCachedChildren<T extends object>(props: CachedChildrenOptions<T>): ReactNode {\n let {children, items, idScope, addIdAndValue} = props;\n let cache = useMemo(() => new WeakMap(), []);\n return useMemo(() => {\n if (items && typeof children === 'function') {\n let res: ReactElement[] = [];\n for (let item of items) {\n let rendered = cache.get(item);\n if (!rendered) {\n rendered = children(item);\n if (rendered.key == null) {\n // @ts-ignore\n let key = rendered.props.id ?? item.key ?? item.id;\n // eslint-disable-next-line max-depth\n if (key == null) {\n throw new Error('Could not determine key for item');\n }\n // eslint-disable-next-line max-depth\n if (idScope) {\n key = idScope + ':' + key;\n }\n // TODO: only works if wrapped Item passes through id...\n rendered = cloneElement(\n rendered,\n addIdAndValue ? {key, id: key, value: item} : {key}\n );\n }\n cache.set(item, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') {\n return children;\n }\n }, [children, items, cache, idScope, addIdAndValue]);\n}\n\nexport function useCollectionChildren<T extends object>(props: CachedChildrenOptions<T>) {\n return useCachedChildren({...props, addIdAndValue: true});\n}\n\nconst ShallowRenderContext = createContext(false);\n\ninterface CollectionResult<C> {\n portal: ReactNode,\n collection: C\n}\n\nexport function useCollection<T extends object, C extends BaseCollection<T>>(props: CollectionProps<T>, initialCollection?: C): CollectionResult<C> {\n let {collection, document} = useCollectionDocument<T, C>(initialCollection);\n let portal = useCollectionPortal<T, C>(props, document);\n return {portal, collection};\n}\n\ninterface CollectionDocumentResult<T, C extends BaseCollection<T>> {\n collection: C,\n document: Document<T, C>\n}\n\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction useSyncExternalStoreFallback<C>(subscribe: (onStoreChange: () => void) => () => void, getSnapshot: () => C, getServerSnapshot: () => C): C {\n let isSSR = useIsSSR();\n let isSSRRef = useRef(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rulesdir/pure-render\n isSSRRef.current = isSSR;\n\n let getSnapshotWrapper = useCallback(() => {\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [getSnapshot, getServerSnapshot]);\n return useSyncExternalStoreShim(subscribe, getSnapshotWrapper);\n}\n\nconst useSyncExternalStore = typeof React['useSyncExternalStore'] === 'function'\n ? React['useSyncExternalStore']\n : useSyncExternalStoreFallback;\n\nexport function useCollectionDocument<T extends object, C extends BaseCollection<T>>(initialCollection?: C): CollectionDocumentResult<T, C> {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let document = useMemo(() => new Document<T, C>(initialCollection || new BaseCollection() as C), [initialCollection]);\n let subscribe = useCallback((fn: () => void) => document.subscribe(fn), [document]);\n let getSnapshot = useCallback(() => {\n let collection = document.getCollection();\n if (document.isSSR) {\n // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n }\n return collection;\n }, [document]);\n let getServerSnapshot = useCallback(() => {\n document.isSSR = true;\n return document.getCollection();\n }, [document]);\n let collection = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {collection, document};\n}\n\nconst SSRContext = createContext<BaseNode<any> | null>(null);\nexport const CollectionDocumentContext = createContext<Document<any, BaseCollection<any>> | null>(null);\n\nexport function useCollectionPortal<T extends object, C extends BaseCollection<T>>(props: CollectionProps<T>, document?: Document<T, C>): ReactNode {\n let ctx = useContext(CollectionDocumentContext);\n let doc = document ?? ctx!;\n let children = useCollectionChildren(props);\n let wrappedChildren = useMemo(() => (\n <ShallowRenderContext.Provider value>\n {children}\n </ShallowRenderContext.Provider>\n ), [children]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return useIsSSR()\n ? <SSRContext.Provider value={doc}>{wrappedChildren}</SSRContext.Provider>\n : createPortal(wrappedChildren, doc as unknown as Element);\n}\n\nexport function CollectionPortal<T extends object>(props: CollectionProps<T>) {\n return <>{useCollectionPortal(props)}</>;\n}\n\n/** Renders a DOM element (e.g. separator or header) shallowly when inside a collection. */\nexport function useShallowRender<P extends object, T extends Element>(Element: string, props: P, ref: ForwardedRef<T>): ReactElement | null {\n let isShallow = useContext(ShallowRenderContext);\n if (isShallow) {\n // Elements cannot be re-parented, so the context will always be there.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSSRCollectionNode(Element, props, ref, 'children' in props ? props.children : null) ?? <></>;\n }\n\n return null;\n}\n\nexport interface ItemRenderProps {\n /**\n * Whether the item is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the item is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the item is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the item is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the item is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the item is non-interactive, i.e. both selection and actions are disabled and the item may\n * not be focused. Dependent on `disabledKeys` and `disabledBehavior`.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * The type of selection that is allowed in the collection.\n * @selector [data-selection-mode=\"single | multiple\"]\n */\n selectionMode: SelectionMode,\n /** The selection behavior for the collection. */\n selectionBehavior: SelectionBehavior,\n /**\n * Whether the item allows dragging.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-allows-dragging]\n */\n allowsDragging?: boolean,\n /**\n * Whether the item is currently being dragged.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-dragging]\n */\n isDragging?: boolean,\n /**\n * Whether the item is currently an active drop target.\n * @note This property is only available in collection components that support drag and drop.\n * @selector [data-drop-target]\n */\n isDropTarget?: boolean\n}\n\nexport function useCollectionItemRef<T extends Element>(props: any, ref: ForwardedRef<T>, rendered?: any) {\n // Return a callback ref that sets the props object on the fake DOM node.\n return useCallback((element) => {\n element?.setProps(props, ref, rendered);\n }, [props, ref, rendered]);\n}\n\nexport function useSSRCollectionNode<T extends Element>(Type: string, props: object, ref: ForwardedRef<T>, rendered?: any, children?: ReactNode) {\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = useCollectionItemRef(props, ref, rendered);\n let parentNode = useContext(SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(Type);\n element.setProps(props, ref, rendered);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n\n return children\n ? <SSRContext.Provider value={element}>{children}</SSRContext.Provider>\n : null;\n }\n\n // @ts-ignore\n return <Type ref={itemRef}>{children}</Type>;\n}\n\nexport interface ItemProps<T = object> extends Omit<SharedItemProps<T>, 'children'>, RenderProps<ItemRenderProps>, LinkDOMProps {\n /** The unique id of the item. */\n id?: Key,\n /** The object value that this item represents. When using dynamic collections, this is set automatically. */\n value?: T\n}\n\nfunction Item<T extends object>(props: ItemProps<T>, ref: ForwardedRef<HTMLElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\nconst _Item = /*#__PURE__*/ (forwardRef as forwardRefType)(Item);\nexport {_Item as Item};\n\nexport interface SectionProps<T> extends Omit<SharedSectionProps<T>, 'children' | 'title'>, StyleProps {\n /** The unique id of the section. */\n id?: Key,\n /** The object value that this section represents. When using dynamic collections, this is set automatically. */\n value?: T,\n /** Static child items or a function to render children. */\n children?: ReactNode | ((item: T) => ReactElement)\n}\n\nfunction Section<T extends object>(props: SectionProps<T>, ref: ForwardedRef<HTMLElement>): JSX.Element | null {\n let children = useCollectionChildren(props);\n return useSSRCollectionNode('section', props, ref, null, children);\n}\n\nconst _Section = /*#__PURE__*/ (forwardRef as forwardRefType)(Section);\nexport {_Section as Section};\n\nexport const CollectionContext = createContext<CachedChildrenOptions<unknown> | null>(null);\nexport const CollectionRendererContext = createContext<CollectionProps<any>['children']>(null);\n\n/** A Collection renders a list of items, automatically managing caching and keys. */\nexport function Collection<T extends object>(props: CollectionProps<T>): JSX.Element {\n let ctx = useContext(CollectionContext)!;\n props = mergeProps(ctx, props);\n let renderer = typeof props.children === 'function' ? props.children : null;\n return (\n <CollectionRendererContext.Provider value={renderer}>\n {useCollectionChildren(props)}\n </CollectionRendererContext.Provider>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMProps as SharedDOMProps} from '@react-types/shared';\nimport {mergeProps, mergeRefs, useLayoutEffect, useObjectRef} from '@react-aria/utils';\nimport React, {Context, createContext, CSSProperties, ForwardedRef, ReactNode, RefCallback, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useIsSSR} from 'react-aria';\n\n// Override forwardRef types so generics work.\ndeclare function forwardRef<T, P = {}>(\n render: (props: P, ref: React.Ref<T>) => React.ReactElement | null\n): (props: P & React.RefAttributes<T>) => React.ReactElement | null;\n\nexport type forwardRefType = typeof forwardRef;\n\nexport const slotCallbackSymbol = Symbol('callback');\nexport const defaultSlot = Symbol('default');\n\ninterface SlottedValue<T> {\n slots?: Record<string | symbol, T>,\n [slotCallbackSymbol]?: (value: T) => void\n}\n\nexport type SlottedContextValue<T> = SlottedValue<T> | T | null | undefined;\nexport type ContextValue<T, E extends Element> = SlottedContextValue<WithRef<T, E>>;\n\ntype ProviderValue<T> = [Context<T>, T];\ntype ProviderValues<A, B, C, D, E, F, G, H, I, J> =\n | [ProviderValue<A>]\n | [ProviderValue<A>, ProviderValue<B>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>, ProviderValue<H>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>, ProviderValue<H>, ProviderValue<I>]\n | [ProviderValue<A>, ProviderValue<B>, ProviderValue<C>, ProviderValue<D>, ProviderValue<E>, ProviderValue<F>, ProviderValue<G>, ProviderValue<H>, ProviderValue<I>, ProviderValue<J>];\n\ninterface ProviderProps<A, B, C, D, E, F, G, H, I, J> {\n values: ProviderValues<A, B, C, D, E, F, G, H, I, J>,\n children: ReactNode\n}\n\nexport function Provider<A, B, C, D, E, F, G, H, I, J>({values, children}: ProviderProps<A, B, C, D, E, F, G, H, I, J>): JSX.Element {\n for (let [Context, value] of values) {\n // @ts-ignore\n children = <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n return children as JSX.Element;\n}\n\nexport interface StyleProps {\n /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. */\n className?: string,\n /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. */\n style?: CSSProperties\n}\n\nexport interface DOMProps extends StyleProps {\n /** The children of the component. */\n children?: ReactNode\n}\n\nexport interface StyleRenderProps<T> {\n /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state. */\n className?: string | ((values: T) => string),\n /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state. */\n style?: CSSProperties | ((values: T) => CSSProperties)\n}\n\nexport interface RenderProps<T> extends StyleRenderProps<T> {\n /** The children of the component. A function may be provided to alter the children based on component state. */\n children?: ReactNode | ((values: T) => ReactNode)\n}\n\ninterface RenderPropsHookOptions<T> extends RenderProps<T>, SharedDOMProps, AriaLabelingProps {\n values: T,\n defaultChildren?: ReactNode,\n defaultClassName?: string\n}\n\nexport function useRenderProps<T>(props: RenderPropsHookOptions<T>) {\n let {\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n values\n } = props;\n\n return useMemo(() => {\n let computedClassName: string | undefined;\n let computedStyle: React.CSSProperties | undefined;\n let computedChildren: React.ReactNode | undefined;\n\n if (typeof className === 'function') {\n computedClassName = className(values);\n } else {\n computedClassName = className;\n }\n\n if (typeof style === 'function') {\n computedStyle = style(values);\n } else {\n computedStyle = style;\n }\n\n if (typeof children === 'function') {\n computedChildren = children(values);\n } else if (children == null) {\n computedChildren = defaultChildren;\n } else {\n computedChildren = children;\n }\n\n return {\n className: computedClassName ?? defaultClassName,\n style: computedStyle,\n children: computedChildren,\n 'data-rac': ''\n };\n }, [className, style, children, defaultClassName, defaultChildren, values]);\n}\n\nexport type WithRef<T, E> = T & {ref?: ForwardedRef<E>};\nexport interface SlotProps {\n /**\n * A slot name for the component. Slots allow the component to receive props from a parent component.\n * An explicit `null` value indicates that the local props completely override all props received from a parent.\n */\n slot?: string | null\n}\n\nexport function useSlottedContext<T>(context: Context<SlottedContextValue<T>>, slot?: string | null): T | null | undefined {\n let ctx = useContext(context);\n if (slot === null) {\n // An explicit `null` slot means don't use context.\n return null;\n }\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n if (!slot && !ctx.slots[defaultSlot]) {\n throw new Error('A slot prop is required');\n }\n let slotKey = slot || defaultSlot;\n if (!ctx.slots[slotKey]) {\n // @ts-ignore\n throw new Error(`Invalid slot \"${slot}\". Valid slot names are ` + new Intl.ListFormat().format(Object.keys(ctx.slots).map(p => `\"${p}\"`)) + '.');\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\n\nexport function useContextProps<T, U extends SlotProps, E extends Element>(props: T & SlotProps, ref: ForwardedRef<E>, context: Context<ContextValue<U, E>>): [T, RefObject<E>] {\n let ctx = useSlottedContext(context, props.slot) || {};\n // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\n let {ref: contextRef, [slotCallbackSymbol]: callback, ...contextProps} = ctx;\n let mergedRef = useObjectRef(useMemo(() => mergeRefs(ref, contextRef), [ref, contextRef]));\n let mergedProps = mergeProps(contextProps, props) as unknown as T;\n\n // A parent component might need the props from a child, so call slot callback if needed.\n useEffect(() => {\n if (callback) {\n callback(props);\n }\n }, [callback, props]);\n\n return [mergedProps, mergedRef];\n}\n\nexport function useSlot(): [RefCallback<Element>, boolean] {\n // Assume we do have the slot in the initial render.\n let [hasSlot, setHasSlot] = useState(true);\n let hasRun = useRef(false);\n\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = useCallback(el => {\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n\n // If the callback hasn't been called, then reset to false.\n useLayoutEffect(() => {\n if (!hasRun.current) {\n setHasSlot(false);\n }\n }, []);\n\n return [ref, hasSlot];\n}\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady: boolean = true) {\n let [isEntering, setEntering] = useState(true);\n useAnimation(ref, isEntering && isReady, useCallback(() => setEntering(false), []));\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n let [isExiting, setExiting] = useState(false);\n let [exitState, setExitState] = useState('idle');\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === 'idle') {\n isExiting = true;\n setExiting(true);\n setExitState('exiting');\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === 'exited') {\n setExitState('idle');\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState('exited');\n setExiting(false);\n }, [])\n );\n\n return isExiting;\n}\n\nfunction useAnimation(ref: RefObject<HTMLElement>, isActive: boolean, onEnd: () => void) {\n let prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n // eslint-disable-next-line rulesdir/pure-render\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n let computedStyle = window.getComputedStyle(ref.current);\n if (computedStyle.animationName !== 'none' && computedStyle.animation !== prevAnimation.current) {\n let onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener('animationend', onAnimationEnd);\n ReactDOM.flushSync(() => {onEnd();});\n }\n };\n\n let element = ref.current;\n element.addEventListener('animationend', onAnimationEnd);\n return () => {\n element.removeEventListener('animationend', onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n\n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild')!.get!;\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (this.dataset.reactAriaHidden) {\n return this.content.firstChild;\n } else {\n return getFirstChild.call(this);\n }\n }\n });\n}\n\nexport const HiddenContext = createContext<boolean>(false);\n\n// Portal to nowhere\nconst hiddenFragment = typeof DocumentFragment !== 'undefined' ? new DocumentFragment() : null;\n\nexport function Hidden(props: {children: ReactNode}) {\n let isHidden = useContext(HiddenContext);\n let isSSR = useIsSSR();\n if (isHidden) {\n // Don't hide again if we are already hidden.\n return <>{props.children}</>;\n }\n\n let children = (\n <HiddenContext.Provider value>\n {props.children}\n </HiddenContext.Provider>\n );\n\n // In SSR, portals are not supported by React. Instead, render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the DOM tree, so it won't affect ids or other accessibility attributes.\n return isSSR\n ? <template data-react-aria-hidden>{children}</template>\n : ReactDOM.createPortal(children, hiddenFragment!);\n}\n\n// Creates a component that forwards its ref and returns null if it is in a <Hidden> subtree.\n// Note: this function is handled specially in the documentation generator. If you change it, you'll need to update DocsTransformer as well.\nexport function createHideableComponent<T, P = {}>(fn: (props: P, ref: React.Ref<T>) => React.ReactElement | null): (props: P & React.RefAttributes<T>) => React.ReactElement | null {\n let Wrapper = (props: P, ref: React.Ref<T>) => {\n let isHidden = useContext(HiddenContext);\n if (isHidden) {\n return null;\n }\n\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (React.forwardRef as forwardRefType)(Wrapper);\n}\n\n/**\n * Filters out `data-*` attributes to keep them from being passed down and duplicated.\n * @param props\n */\nexport function removeDataAttributes<T>(props: T): T {\n const prefix = /^(data-.*)$/;\n let filteredProps = {} as T;\n\n for (const prop in props) {\n if (!prefix.test(prop)) {\n filteredProps[prop] = props[prop];\n }\n }\n\n return filteredProps;\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLinkOptions, mergeProps, useFocusRing, useHover, useLink} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport React, {createContext, ElementType, ForwardedRef, forwardRef} from 'react';\n\nexport interface LinkProps extends Omit<AriaLinkOptions, 'elementType'>, RenderProps<LinkRenderProps>, SlotProps {}\n\nexport interface LinkRenderProps {\n /**\n * Whether the link is the current item within a list.\n * @selector [data-current]\n */\n isCurrent: boolean,\n /**\n * Whether the link is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the link is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the link is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the link is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the link is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport const LinkContext = createContext<ContextValue<LinkProps, HTMLAnchorElement>>(null);\n\nfunction Link(props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) {\n [props, ref] = useContextProps(props, ref, LinkContext);\n\n let ElementType: ElementType = props.href ? 'a' : 'span';\n let {linkProps, isPressed} = useLink({...props, elementType: ElementType}, ref);\n\n let {hoverProps, isHovered} = useHover(props);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Link',\n values: {\n isCurrent: !!props['aria-current'],\n isDisabled: props.isDisabled || false,\n isPressed,\n isHovered,\n isFocused,\n isFocusVisible\n }\n });\n\n return (\n <ElementType\n ref={ref}\n slot={props.slot || undefined}\n {...mergeProps(renderProps, linkProps, hoverProps, focusProps)}\n data-focused={isFocused || undefined}\n data-hovered={isHovered || undefined}\n data-pressed={isPressed || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-current={!!props['aria-current'] || undefined}\n data-disabled={props.isDisabled || undefined}>\n {renderProps.children}\n </ElementType>\n );\n}\n\n/**\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n */\nconst _Link = /*#__PURE__*/ (forwardRef as forwardRefType)(Link);\nexport {_Link as Link};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaButtonProps, mergeProps, useButton, useFocusRing, useHover} from 'react-aria';\nimport {ContextValue, createHideableComponent, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef} from 'react';\n\nexport interface ButtonRenderProps {\n /**\n * Whether the button is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the button is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the button is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the button is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the button is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface ButtonProps extends Omit<AriaButtonProps, 'children' | 'href' | 'target' | 'rel' | 'elementType'>, SlotProps, RenderProps<ButtonRenderProps> {\n /**\n * The <form> element to associate the button with.\n * The value of this attribute must be the id of a <form> in the same document.\n */\n form?: string,\n /**\n * The URL that processes the information submitted by the button.\n * Overrides the action attribute of the button's form owner.\n */\n formAction?: string,\n /** Indicates how to encode the form data that is submitted. */\n formEncType?: string,\n /** Indicates the HTTP method used to submit the form. */\n formMethod?: string,\n /** Indicates that the form is not to be validated when it is submitted. */\n formNoValidate?: boolean,\n /** Overrides the target attribute of the button's form owner. */\n formTarget?: string,\n /** Submitted as a pair with the button's value as part of the form data. */\n name?: string,\n /** The value associated with the button's name when it's submitted with the form data. */\n value?: string\n}\n\ninterface ButtonContextValue extends ButtonProps {\n isPressed?: boolean\n}\n\nconst additionalButtonHTMLAttributes = new Set(['form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'name', 'value']);\n\nexport const ButtonContext = createContext<ContextValue<ButtonContextValue, HTMLButtonElement>>({});\n\nfunction Button(props: ButtonProps, ref: ForwardedRef<HTMLButtonElement>) {\n [props, ref] = useContextProps(props, ref, ButtonContext);\n let ctx = props as ButtonContextValue;\n let {buttonProps, isPressed} = useButton(props, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing(props);\n let {hoverProps, isHovered} = useHover(props);\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isPressed, isFocused, isFocusVisible, isDisabled: props.isDisabled || false},\n defaultClassName: 'react-aria-Button'\n });\n\n return (\n <button\n {...filterDOMProps(props, {propNames: additionalButtonHTMLAttributes})}\n {...mergeProps(buttonProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-disabled={props.isDisabled || undefined}\n data-pressed={ctx.isPressed || isPressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined} />\n );\n}\n\n/**\n * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.\n */\nconst _Button = /*#__PURE__*/ createHideableComponent(Button);\nexport {_Button as Button};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {CalendarProps as BaseCalendarProps, RangeCalendarProps as BaseRangeCalendarProps, DateValue, mergeProps, useCalendar, useCalendarCell, useCalendarGrid, useFocusRing, useHover, useLocale, useRangeCalendar, VisuallyHidden} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CalendarDate, createCalendar, DateDuration, endOfMonth, getWeeksInMonth, isSameDay, isSameMonth} from '@internationalized/date';\nimport {CalendarState, RangeCalendarState, useCalendarState, useRangeCalendarState} from 'react-stately';\nimport {ContextValue, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleProps, useContextProps, useRenderProps} from './utils';\nimport {DOMAttributes, FocusableElement} from '@react-types/shared';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {HeadingContext} from './Heading';\nimport React, {createContext, ForwardedRef, forwardRef, ReactElement, useContext} from 'react';\nimport {TextContext} from './Text';\n\nexport interface CalendarRenderProps {\n /**\n * Whether the calendar is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * State of the calendar.\n */\n state: CalendarState,\n /**\n * Whether the calendar is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface RangeCalendarRenderProps extends Omit<CalendarRenderProps, 'state'> {\n /**\n * State of the range calendar.\n */\n state: RangeCalendarState\n}\n\nexport interface CalendarProps<T extends DateValue> extends Omit<BaseCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<CalendarRenderProps>, SlotProps {\n /**\n * The amount of days that will be displayed at once. This affects how pagination works.\n * @default {months: 1}\n */\n visibleDuration?: DateDuration\n}\n\nexport interface RangeCalendarProps<T extends DateValue> extends Omit<BaseRangeCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<RangeCalendarRenderProps>, SlotProps {\n /**\n * The amount of days that will be displayed at once. This affects how pagination works.\n * @default {months: 1}\n */\n visibleDuration?: DateDuration\n}\n\nexport const CalendarContext = createContext<ContextValue<CalendarProps<any>, HTMLDivElement>>({});\nexport const RangeCalendarContext = createContext<ContextValue<RangeCalendarProps<any>, HTMLDivElement>>({});\nexport const CalendarStateContext = createContext<CalendarState | null>(null);\nexport const RangeCalendarStateContext = createContext<RangeCalendarState | null>(null);\n\nfunction Calendar<T extends DateValue>(props: CalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, CalendarContext);\n let {locale} = useLocale();\n let state = useCalendarState({\n ...props,\n locale,\n createCalendar\n });\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps, title} = useCalendar(props, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isValueInvalid\n },\n defaultClassName: 'react-aria-Calendar'\n });\n\n return (\n <div\n {...renderProps}\n {...calendarProps}\n ref={ref}\n slot={props.slot || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={state.isValueInvalid || undefined}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n previous: prevButtonProps,\n next: nextButtonProps\n }\n }],\n [HeadingContext, {'aria-hidden': true, level: 2, children: title}],\n [CalendarStateContext, state],\n [TextContext, {\n slots: {\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n {renderProps.children}\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n </Provider>\n </div>\n );\n}\n\n/**\n * A calendar displays one or more date grids and allows users to select a single date.\n */\nconst _Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(Calendar);\nexport {_Calendar as Calendar};\n\nfunction RangeCalendar<T extends DateValue>(props: RangeCalendarProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, RangeCalendarContext);\n let {locale} = useLocale();\n let state = useRangeCalendarState({\n ...props,\n locale,\n createCalendar\n });\n\n let {calendarProps, prevButtonProps, nextButtonProps, errorMessageProps, title} = useRangeCalendar(\n props,\n state,\n ref\n );\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isValueInvalid\n },\n defaultClassName: 'react-aria-RangeCalendar'\n });\n\n return (\n <div\n {...renderProps}\n {...calendarProps}\n ref={ref}\n slot={props.slot || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={state.isValueInvalid || undefined}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n previous: prevButtonProps,\n next: nextButtonProps\n }\n }],\n [HeadingContext, {'aria-hidden': true, level: 2, children: title}],\n [RangeCalendarStateContext, state],\n [TextContext, {\n slots: {\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {/* Add a screen reader only description of the entire visible range rather than\n * a separate heading above each month grid. This is placed first in the DOM order\n * so that it is the first thing a touch screen reader user encounters.\n * In addition, VoiceOver on iOS does not announce the aria-label of the grid\n * elements, so the aria-label of the Calendar is included here as well. */}\n <VisuallyHidden>\n <h2>{calendarProps['aria-label']}</h2>\n </VisuallyHidden>\n {renderProps.children}\n {/* For touch screen readers, add a visually hidden next button after the month grid\n * so it's easy to navigate after reaching the end without going all the way\n * back to the start of the month. */}\n <VisuallyHidden>\n <button\n aria-label={nextButtonProps['aria-label']}\n disabled={nextButtonProps.isDisabled}\n onClick={() => state.focusNextPage()}\n tabIndex={-1} />\n </VisuallyHidden>\n </Provider>\n </div>\n );\n}\n\n/**\n * A range calendar displays one or more date grids and allows users to select a contiguous range of dates.\n */\nconst _RangeCalendar = /*#__PURE__*/ (forwardRef as forwardRefType)(RangeCalendar);\nexport {_RangeCalendar as RangeCalendar};\n\nexport interface CalendarCellRenderProps {\n /** The date that the cell represents. */\n date: CalendarDate,\n /** The day number formatted according to the current locale. */\n formattedDate: string,\n /**\n * Whether the cell is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the cell is currently being pressed.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the cell is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the cell is the first date in a range selection.\n * @selector [data-selection-start]\n */\n isSelectionStart: boolean,\n /**\n * Whether the cell is the last date in a range selection.\n * @selector [data-selection-end]\n */\n isSelectionEnd: boolean,\n /**\n * Whether the cell is focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the cell is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the cell is disabled, according to the calendar's `minValue`, `maxValue`, and `isDisabled` props.\n * Disabled dates are not focusable, and cannot be selected by the user. They are typically\n * displayed with a dimmed appearance.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the cell is outside the visible range of the calendar.\n * For example, dates before the first day of a month in the same week.\n * @selector [data-outside-visible-range]\n */\n isOutsideVisibleRange: boolean,\n /**\n * Whether the cell is outside the current month.\n * @selector [data-outside-month]\n */\n isOutsideMonth: boolean,\n /**\n * Whether the cell is unavailable, according to the calendar's `isDateUnavailable` prop. Unavailable dates remain\n * focusable, but cannot be selected by the user. They should be displayed with a visual affordance to indicate they\n * are unavailable, such as a different color or a strikethrough.\n *\n * Note that because they are focusable, unavailable dates must meet a 4.5:1 color contrast ratio,\n * [as defined by WCAG](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html).\n *\n * @selector [data-unavailable]\n */\n isUnavailable: boolean,\n /**\n * Whether the cell is part of an invalid selection.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface CalendarGridProps extends StyleProps {\n /**\n * Either a function to render calendar cells for each date in the month,\n * or children containing a `<CalendarGridHeader>`` and `<CalendarGridBody>`\n * when additional customization is needed.\n */\n children?: ReactElement | ReactElement[] | ((date: CalendarDate) => ReactElement),\n /**\n * An offset from the beginning of the visible date range that this\n * CalendarGrid should display. Useful when displaying more than one\n * month at a time.\n */\n offset?: DateDuration,\n /**\n * The style of weekday names to display in the calendar grid header,\n * e.g. single letter, abbreviation, or full day name.\n * @default \"narrow\"\n */\n weekdayStyle?: 'narrow' | 'short' | 'long'\n}\n\ninterface InternalCalendarGridContextValue {\n headerProps: DOMAttributes<FocusableElement>,\n weekDays: string[],\n startDate: CalendarDate\n}\n\nconst InternalCalendarGridContext = createContext<InternalCalendarGridContextValue | null>(null);\n\nfunction CalendarGrid(props: CalendarGridProps, ref: ForwardedRef<HTMLTableElement>) {\n let calendarState = useContext(CalendarStateContext);\n let rangeCalendarState = useContext(RangeCalendarStateContext);\n let state = calendarState ?? rangeCalendarState!;\n let startDate = state.visibleRange.start;\n if (props.offset) {\n startDate = startDate.add(props.offset);\n }\n\n let {gridProps, headerProps, weekDays} = useCalendarGrid({\n startDate,\n endDate: endOfMonth(startDate),\n weekdayStyle: props.weekdayStyle\n }, state);\n\n return (\n <InternalCalendarGridContext.Provider value={{headerProps, weekDays, startDate}}>\n <table\n {...filterDOMProps(props as any)}\n {...gridProps}\n ref={ref}\n style={props.style}\n className={props.className ?? 'react-aria-CalendarGrid'}>\n {typeof props.children !== 'function'\n ? props.children\n : (<>\n <CalendarGridHeaderForwardRef>\n {day => <CalendarHeaderCellForwardRef>{day}</CalendarHeaderCellForwardRef>}\n </CalendarGridHeaderForwardRef>\n <CalendarGridBodyForwardRef>\n {props.children}\n </CalendarGridBodyForwardRef>\n </>)\n }\n </table>\n </InternalCalendarGridContext.Provider>\n );\n}\n\n/**\n * A calendar grid displays a single grid of days within a calendar or range calendar which\n * can be keyboard navigated and selected by the user.\n */\nconst _CalendarGrid = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGrid);\nexport {_CalendarGrid as CalendarGrid};\n\nexport interface CalendarGridHeaderProps extends StyleProps {\n /** A function to render a `<CalendarHeaderCell>` for a weekday name. */\n children: (day: string) => ReactElement\n}\n\nfunction CalendarGridHeader(props: CalendarGridHeaderProps, ref: ForwardedRef<HTMLTableSectionElement>) {\n let {children, style, className} = props;\n let {headerProps, weekDays} = useContext(InternalCalendarGridContext)!;\n\n return (\n <thead\n {...filterDOMProps(props as any)}\n {...headerProps}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarGridHeader'}>\n <tr>\n {weekDays.map((day, key) => React.cloneElement(children(day), {key}))}\n </tr>\n </thead>\n );\n}\n\n/**\n * A calendar grid header displays a row of week day names at the top of a month.\n */\nconst CalendarGridHeaderForwardRef = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGridHeader);\nexport {CalendarGridHeaderForwardRef as CalendarGridHeader};\n\nexport interface CalendarHeaderCellProps extends DOMProps {}\n\nfunction CalendarHeaderCell(props: CalendarHeaderCellProps, ref: ForwardedRef<HTMLTableCellElement>) {\n let {children, style, className} = props;\n return (\n <th\n {...filterDOMProps(props as any)}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarHeaderCell'}>\n {children}\n </th>\n );\n}\n\n/**\n * A calendar header cell displays a week day name at the top of a column within a calendar.\n */\nconst CalendarHeaderCellForwardRef = forwardRef(CalendarHeaderCell);\nexport {CalendarHeaderCellForwardRef as CalendarHeaderCell};\n\nexport interface CalendarGridBodyProps extends StyleProps {\n /** A function to render a `<CalendarCell>` for a given date. */\n children: (date: CalendarDate) => ReactElement\n}\n\nfunction CalendarGridBody(props: CalendarGridBodyProps, ref: ForwardedRef<HTMLTableSectionElement>) {\n let {children, style, className} = props;\n let calendarState = useContext(CalendarStateContext);\n let rangeCalendarState = useContext(RangeCalendarStateContext);\n let state = calendarState ?? rangeCalendarState!;\n let {startDate} = useContext(InternalCalendarGridContext)!;\n let {locale} = useLocale();\n let weeksInMonth = getWeeksInMonth(startDate, locale);\n\n return (\n <tbody\n {...filterDOMProps(props as any)}\n ref={ref}\n style={style}\n className={className || 'react-aria-CalendarGridBody'}>\n {[...new Array(weeksInMonth).keys()].map((weekIndex) => (\n <tr key={weekIndex}>\n {state.getDatesInWeek(weekIndex, startDate).map((date, i) => (\n date\n ? React.cloneElement(children(date), {key: i})\n : <td key={i} />\n ))}\n </tr>\n ))}\n </tbody>\n );\n}\n\n/**\n * A calendar grid body displays a grid of calendar cells within a month.\n */\nconst CalendarGridBodyForwardRef = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarGridBody);\nexport {CalendarGridBodyForwardRef as CalendarGridBody};\n\nexport interface CalendarCellProps extends RenderProps<CalendarCellRenderProps> {\n /** The date to render in the cell. */\n date: CalendarDate\n}\n\nfunction CalendarCell({date, ...otherProps}: CalendarCellProps, ref: ForwardedRef<HTMLDivElement>) {\n let calendarState = useContext(CalendarStateContext);\n let rangeCalendarState = useContext(RangeCalendarStateContext);\n let state = calendarState ?? rangeCalendarState!;\n let {startDate: currentMonth} = useContext(InternalCalendarGridContext) ?? {startDate: state.visibleRange.start};\n let objectRef = useObjectRef(ref);\n let {cellProps, buttonProps, ...states} = useCalendarCell(\n {date},\n state,\n objectRef\n );\n\n let {hoverProps, isHovered} = useHover({isDisabled: states.isDisabled});\n let {focusProps, isFocusVisible} = useFocusRing();\n let isOutsideMonth = !isSameMonth(currentMonth, date);\n let isSelectionStart = false;\n let isSelectionEnd = false;\n if ('highlightedRange' in state && state.highlightedRange) {\n isSelectionStart = isSameDay(date, state.highlightedRange.start);\n isSelectionEnd = isSameDay(date, state.highlightedRange.end);\n }\n\n let renderProps = useRenderProps({\n ...otherProps,\n defaultChildren: states.formattedDate,\n defaultClassName: 'react-aria-CalendarCell',\n values: {\n date,\n isHovered,\n isOutsideMonth,\n isFocusVisible,\n isSelectionStart,\n isSelectionEnd,\n ...states\n }\n });\n\n let dataAttrs = {\n 'data-focused': states.isFocused || undefined,\n 'data-hovered': isHovered || undefined,\n 'data-pressed': states.isPressed || undefined,\n 'data-unavailable': states.isUnavailable || undefined,\n 'data-disabled': states.isDisabled || undefined,\n 'data-focus-visible': isFocusVisible || undefined,\n 'data-outside-visible-range': states.isOutsideVisibleRange || undefined,\n 'data-outside-month': isOutsideMonth || undefined,\n 'data-selected': states.isSelected || undefined,\n 'data-selection-start': isSelectionStart || undefined,\n 'data-selection-end': isSelectionEnd || undefined,\n 'data-invalid': states.isInvalid || undefined\n };\n\n return (\n <td {...cellProps}>\n <div {...mergeProps(filterDOMProps(otherProps as any), buttonProps, focusProps, hoverProps, dataAttrs, renderProps)} ref={objectRef} />\n </td>\n );\n}\n\n/**\n * A calendar cell displays a date cell within a calendar grid which can be selected by the user.\n */\nconst _CalendarCell = /*#__PURE__*/ (forwardRef as forwardRefType)(CalendarCell);\nexport {_CalendarCell as CalendarCell};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ElementType, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface HeadingProps extends HTMLAttributes<HTMLElement> {\n level?: number\n}\n\nexport const HeadingContext = createContext<ContextValue<HeadingProps, HTMLHeadingElement>>({});\n\nfunction Heading(props: HeadingProps, ref: ForwardedRef<HTMLHeadingElement>) {\n [props, ref] = useContextProps(props, ref, HeadingContext);\n let {children, level = 3, className, ...domProps} = props;\n let Element = `h${level}` as ElementType;\n\n return (\n <Element {...domProps} className={className ?? 'react-aria-Heading'}>\n {children}\n </Element>\n );\n}\n\nconst _Heading = forwardRef(Heading);\nexport {_Heading as Heading};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n elementType?: string\n}\n\nexport const TextContext = createContext<ContextValue<TextProps, HTMLElement>>({});\n\nfunction Text(props: TextProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, TextContext);\n let {elementType: ElementType = 'span', ...domProps} = props;\n // @ts-ignore\n return <ElementType className=\"react-aria-Text\" {...domProps} ref={ref} />;\n}\n\nconst _Text = forwardRef(Text);\nexport {_Text as Text};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaCheckboxGroupProps, AriaCheckboxProps, mergeProps, useCheckbox, useCheckboxGroup, useCheckboxGroupItem, useFocusRing, useHover, usePress, VisuallyHidden} from 'react-aria';\nimport {CheckboxGroupState, useCheckboxGroupState, useToggleState} from 'react-stately';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useContext, useState} from 'react';\nimport {TextContext} from './Text';\n\nexport interface CheckboxGroupProps extends Omit<AriaCheckboxGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<CheckboxGroupRenderProps>, SlotProps {}\nexport interface CheckboxProps extends Omit<AriaCheckboxProps, 'children' | 'validationState'>, RenderProps<CheckboxRenderProps>, SlotProps {}\n\nexport interface CheckboxGroupRenderProps {\n /**\n * Whether the checkbox group is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the checkbox group is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the checkbox group is required.\n * @selector [data-required]\n */\n isRequired: boolean,\n /**\n * Whether the checkbox group is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the checkbox group.\n */\n state: CheckboxGroupState\n}\n\nexport interface CheckboxRenderProps {\n /**\n * Whether the checkbox is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the checkbox is indeterminate.\n * @selector [data-indeterminate]\n */\n isIndeterminate: boolean,\n /**\n * Whether the checkbox is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the checkbox is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the checkbox is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the checkbox is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the checkbox is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the checkbox is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the checkbox invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the checkbox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport const CheckboxGroupContext = createContext<ContextValue<CheckboxGroupProps, HTMLDivElement>>(null);\nexport const CheckboxGroupStateContext = createContext<CheckboxGroupState | null>(null);\n\nfunction CheckboxGroup(props: CheckboxGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, CheckboxGroupContext);\n let state = useCheckboxGroupState(props);\n let [labelRef, label] = useSlot();\n let {groupProps, labelProps, descriptionProps, errorMessageProps} = useCheckboxGroup({\n ...props,\n label\n }, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n\n return (\n <div\n {...groupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-required={props.isRequired || undefined}\n data-invalid={state.isInvalid || undefined}\n data-disabled={props.isDisabled || undefined}>\n <Provider\n values={[\n [CheckboxGroupStateContext, state],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\nexport const CheckboxContext = createContext<ContextValue<CheckboxProps, HTMLInputElement>>(null);\n\nfunction Checkbox(props: CheckboxProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, CheckboxContext);\n let groupState = useContext(CheckboxGroupStateContext);\n let {inputProps, isSelected, isDisabled, isReadOnly, isPressed: isPressedKeyboard} = groupState\n // eslint-disable-next-line react-hooks/rules-of-hooks\n ? useCheckboxGroupItem({\n ...props,\n // Value is optional for standalone checkboxes, but required for CheckboxGroup items;\n // it's passed explicitly here to avoid typescript error (requires ignore).\n // @ts-ignore\n value: props.value,\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, groupState, ref)\n // eslint-disable-next-line react-hooks/rules-of-hooks\n : useCheckbox({...props, children: typeof props.children === 'function' ? true : props.children}, useToggleState(props), ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let isInteractionDisabled = isDisabled || isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useCheckbox\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: isInteractionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: isInteractionDisabled\n });\n\n let pressed = isInteractionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n // TODO: should data attrs go on the label or on the <input>? useCheckbox passes them to the input...\n ...props,\n defaultClassName: 'react-aria-Checkbox',\n values: {\n isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly,\n isInvalid: props.isInvalid || groupState?.isInvalid || false,\n isRequired: props.isRequired || false\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n slot={props.slot || undefined}\n data-selected={isSelected || undefined}\n data-indeterminate={props.isIndeterminate || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={isReadOnly || undefined}\n data-invalid={props.isInvalid || groupState?.isInvalid || undefined}\n data-required={props.isRequired || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...inputProps} {...focusProps} ref={ref} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A checkbox allows a user to select multiple items from a list of individual items, or\n * to mark one individual item as selected.\n */\nconst _Checkbox = /*#__PURE__*/ (forwardRef as forwardRefType)(Checkbox);\n\n/**\n * A checkbox group allows a user to select multiple items from a list of options.\n */\nconst _CheckboxGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(CheckboxGroup);\n\nexport {_Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, createHideableComponent, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, LabelHTMLAttributes} from 'react';\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n elementType?: string\n}\n\nexport const LabelContext = createContext<ContextValue<LabelProps, HTMLLabelElement>>({});\n\nfunction Label(props: LabelProps, ref: ForwardedRef<HTMLLabelElement>) {\n [props, ref] = useContextProps(props, ref, LabelContext);\n let {elementType: ElementType = 'label', ...labelProps} = props;\n // @ts-ignore\n return <ElementType className=\"react-aria-Label\" {...labelProps} ref={ref} />;\n}\n\nconst _Label = /*#__PURE__*/ createHideableComponent(Label);\nexport {_Label as Label};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaComboBoxProps, useComboBox, useFilter} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {Collection, ComboBoxState, Node, useComboBoxState} from 'react-stately';\nimport {CollectionDocumentContext, useCollectionDocument} from './Collection';\nimport {ContextValue, forwardRefType, Hidden, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, useResizeObserver} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport {ListBoxContext, ListStateContext} from './ListBox';\nimport {OverlayTriggerStateContext} from './Dialog';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useCallback, useMemo, useRef, useState} from 'react';\nimport {TextContext} from './Text';\n\nexport interface ComboBoxRenderProps {\n /**\n * Whether the combobox is currently open.\n * @selector [data-open]\n */\n isOpen: boolean,\n /**\n * Whether the combobox is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the combobox is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the combobox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport interface ComboBoxProps<T extends object> extends Omit<AriaComboBoxProps<T>, 'children' | 'placeholder' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<ComboBoxRenderProps>, SlotProps {\n /** The filter function used to determine if a option should be included in the combo box list. */\n defaultFilter?: (textValue: string, inputValue: string) => boolean,\n /**\n * Whether the text or key of the selected item is submitted as part of an HTML form.\n * When `allowsCustomValue` is `true`, this option does not apply and the text is always submitted.\n * @default 'key'\n */\n formValue?: 'text' | 'key'\n}\n\nexport const ComboBoxContext = createContext<ContextValue<ComboBoxProps<any>, HTMLDivElement>>(null);\nexport const ComboBoxStateContext = createContext<ComboBoxState<any> | null>(null);\n\nfunction ComboBox<T extends object>(props: ComboBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ComboBoxContext);\n let {collection, document} = useCollectionDocument();\n let {children, isDisabled = false, isInvalid = false, isRequired = false} = props;\n children = useMemo(() => (\n typeof children === 'function'\n ? children({\n isOpen: false,\n isDisabled,\n isInvalid,\n isRequired\n })\n : children\n ), [children, isDisabled, isInvalid, isRequired]);\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection even when the popover is not open.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <Provider\n values={[\n [CollectionDocumentContext, document],\n [ListBoxContext, {items: props.items ?? props.defaultItems}]\n ]}>\n {children}\n </Provider>\n </Hidden>\n <ComboBoxInner props={props} collection={collection} comboBoxRef={ref} />\n </>\n );\n}\n\ninterface ComboBoxInnerProps<T extends object> {\n props: ComboBoxProps<T>,\n collection: Collection<Node<T>>,\n comboBoxRef: RefObject<HTMLDivElement>\n}\n\nfunction ComboBoxInner<T extends object>({props, collection, comboBoxRef: ref}: ComboBoxInnerProps<T>) {\n let {\n name,\n formValue = 'key',\n allowsCustomValue\n } = props;\n if (allowsCustomValue) {\n formValue = 'text';\n }\n\n let {contains} = useFilter({sensitivity: 'base'});\n let state = useComboBoxState({\n defaultFilter: props.defaultFilter || contains,\n ...props,\n // If props.items isn't provided, rely on collection filtering (aka listbox.items is provided or defaultItems provided to Combobox)\n items: props.items,\n children: undefined,\n collection\n });\n\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = useMemo(() => ({\n isOpen: state.isOpen,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n isRequired: props.isRequired || false\n }), [state.isOpen, props.isDisabled, props.isInvalid, props.isRequired]);\n let buttonRef = useRef<HTMLButtonElement>(null);\n let inputRef = useRef<HTMLInputElement>(null);\n let listBoxRef = useRef<HTMLDivElement>(null);\n let popoverRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n buttonProps,\n inputProps,\n listBoxProps,\n labelProps,\n descriptionProps,\n errorMessageProps\n } = useComboBox({\n ...removeDataAttributes(props),\n label,\n inputRef,\n buttonRef,\n listBoxRef,\n popoverRef,\n name: formValue === 'text' ? name : undefined\n }, state);\n\n // Make menu width match input + button\n let [menuWidth, setMenuWidth] = useState<string | null>(null);\n let onResize = useCallback(() => {\n if (inputRef.current) {\n let buttonRect = buttonRef.current?.getBoundingClientRect();\n let inputRect = inputRef.current.getBoundingClientRect();\n let minX = buttonRect ? Math.min(buttonRect.left, inputRect.left) : inputRect.left;\n let maxX = buttonRect ? Math.max(buttonRect.right, inputRect.right) : inputRect.right;\n setMenuWidth((maxX - minX) + 'px');\n }\n }, [buttonRef, inputRef, setMenuWidth]);\n\n useResizeObserver({\n ref: inputRef,\n onResize: onResize\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-ComboBox'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [ComboBoxStateContext, state],\n [LabelContext, {...labelProps, ref: labelRef}],\n [ButtonContext, {...buttonProps, ref: buttonRef, isPressed: state.isOpen}],\n [InputContext, {...inputProps, ref: inputRef}],\n [OverlayTriggerStateContext, state],\n [PopoverContext, {\n ref: popoverRef,\n triggerRef: inputRef,\n placement: 'bottom start',\n isNonModal: true,\n style: {'--trigger-width': menuWidth} as React.CSSProperties\n }],\n [ListBoxContext, {...listBoxProps, ref: listBoxRef}],\n [ListStateContext, state],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focused={state.isFocused || undefined}\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}\n data-required={props.isRequired || undefined} />\n {name && formValue === 'key' && <input type=\"hidden\" name={name} value={state.selectedKey} />}\n </Provider>\n );\n}\n\n/**\n * A combo box combines a text input with a listbox, allowing users to filter a list of options to items matching a query.\n */\nconst _ComboBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ComboBox);\nexport {_ComboBox as ComboBox};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, createHideableComponent, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, InputHTMLAttributes} from 'react';\n\nexport interface InputRenderProps {\n /**\n * Whether the input is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the input is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the input is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the input is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the input is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'>, StyleRenderProps<InputRenderProps> {}\n\nexport const InputContext = createContext<ContextValue<InputProps, HTMLInputElement>>({});\n\nfunction Input(props: InputProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, InputContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = useRenderProps({\n ...props,\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid\n },\n defaultClassName: 'react-aria-Input'\n });\n\n return (\n <input\n {...mergeProps(props, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-disabled={props.disabled || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-invalid={isInvalid || undefined} />\n );\n}\n\n/**\n * An input allows a user to input text.\n */\nconst _Input = /*#__PURE__*/ createHideableComponent(Input);\nexport {_Input as Input};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaListBoxOptions, AriaListBoxProps, DraggableItemResult, DragPreviewRenderer, DroppableCollectionResult, DroppableItemResult, FocusScope, ListKeyboardDelegate, mergeProps, useCollator, useFocusRing, useHover, useListBox, useListBoxSection, useLocale, useOption} from 'react-aria';\nimport {CollectionDocumentContext, CollectionPortal, CollectionProps, ItemProps, useCachedChildren, useCollection} from './Collection';\nimport {ContextValue, forwardRefType, HiddenContext, Provider, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils';\nimport {DragAndDropContext, DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {DraggableCollectionState, DroppableCollectionState, ListState, Node, Orientation, SelectionBehavior, useListState} from 'react-stately';\nimport {filterDOMProps, mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {Header} from './Header';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useEffect, useMemo, useRef} from 'react';\nimport {Separator, SeparatorContext} from './Separator';\nimport {TextContext} from './Text';\n\nexport interface ListBoxRenderProps {\n /**\n * Whether the listbox has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the listbox is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the listbox is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the listbox is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * Whether the items are arranged in a stack or grid.\n * @selector [data-layout=\"stack | grid\"]\n */\n layout: 'stack' | 'grid',\n /**\n * State of the listbox.\n */\n state: ListState<unknown>\n}\n\nexport interface ListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'children' | 'label'>, CollectionProps<T>, StyleRenderProps<ListBoxRenderProps>, SlotProps {\n /** How multiple selection should behave in the collection. */\n selectionBehavior?: SelectionBehavior,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the ListBox. */\n dragAndDropHooks?: DragAndDropHooks,\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: () => ReactNode,\n /**\n * Whether the items are arranged in a stack or grid.\n * @default 'stack'\n */\n layout?: 'stack' | 'grid',\n /**\n * The primary orientation of the items. Usually this is the\n * direction that the collection scrolls.\n * @default 'vertical'\n */\n orientation?: Orientation\n}\n\nexport const ListBoxContext = createContext<ContextValue<ListBoxProps<any>, HTMLDivElement>>(null);\nexport const ListStateContext = createContext<ListState<any> | null>(null);\n\nfunction ListBox<T extends object>(props: ListBoxProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ListBoxContext);\n let isHidden = useContext(HiddenContext);\n let state = useContext(ListStateContext);\n let document = useContext(CollectionDocumentContext);\n\n // The structure of ListBox is a bit strange because it needs to work inside other components like ComboBox and Select.\n // Those components render two copies of their children so that the collection can be built even when the popover is closed.\n // The first copy sends a collection document via context which we render the collection portal into.\n // The second copy sends a ListState object via context which we use to render the ListBox without rebuilding the state.\n // Otherwise, we have a standalone ListBox, so we need to create a collection and state ourselves.\n\n if (document) {\n return <CollectionPortal {...props} />;\n }\n\n if (state) {\n return isHidden ? null : <ListBoxInner state={state} props={props} listBoxRef={ref} />;\n }\n\n return <StandaloneListBox props={props} listBoxRef={ref} />;\n}\n\nfunction StandaloneListBox({props, listBoxRef}) {\n let {portal, collection} = useCollection(props);\n props = {...props, collection, children: null, items: null};\n let state = useListState(props);\n return (\n <>\n {portal}\n <ListBoxInner state={state} props={props} listBoxRef={listBoxRef} />\n </>\n );\n}\n\n/**\n * A listbox displays a list of options and allows a user to select one or more of them.\n */\nconst _ListBox = /*#__PURE__*/ (forwardRef as forwardRefType)(ListBox);\nexport {_ListBox as ListBox};\n\ninterface ListBoxInnerProps<T> {\n state: ListState<T>,\n props: ListBoxProps<T> & AriaListBoxOptions<T>,\n listBoxRef: RefObject<HTMLDivElement>\n}\n\nfunction ListBoxInner<T>({state, props, listBoxRef}: ListBoxInnerProps<T>) {\n let {dragAndDropHooks, layout = 'stack', orientation = 'vertical'} = props;\n let {collection, selectionManager} = state;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let {direction} = useLocale();\n let {disabledBehavior, disabledKeys} = selectionManager;\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let keyboardDelegate = useMemo(() => (\n props.keyboardDelegate || new ListKeyboardDelegate({\n collection,\n collator,\n ref: listBoxRef,\n disabledKeys: disabledBehavior === 'selection' ? new Set<React.Key>() : disabledKeys,\n layout,\n orientation,\n direction\n })\n ), [collection, collator, listBoxRef, disabledBehavior, disabledKeys, orientation, direction, props.keyboardDelegate, layout]);\n\n let {listBoxProps} = useListBox({\n ...props,\n shouldSelectOnPressUp: isListDraggable || props.shouldSelectOnPressUp,\n keyboardDelegate\n }, state, listBoxRef);\n\n let children = useCachedChildren({\n items: collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'section':\n return <ListBoxSection section={item} />;\n case 'separator':\n return <Separator {...item.props} />;\n case 'item':\n return <Option item={item} />;\n default:\n throw new Error('Unsupported node type in Menu: ' + item.type);\n }\n }\n });\n\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, listBoxRef);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, listBoxRef, {orientation, layout, direction});\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, listBoxRef);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-ListBox',\n values: {\n isDropTarget: isRootDropTarget,\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible,\n layout: props.layout || 'stack',\n state\n }\n });\n\n let emptyState: JSX.Element | null = null;\n if (state.collection.size === 0 && props.renderEmptyState) {\n emptyState = (\n <div\n // eslint-disable-next-line\n role=\"option\"\n style={{display: 'contents'}}>\n {props.renderEmptyState()}\n </div>\n );\n }\n\n return (\n <FocusScope>\n <div\n {...filterDOMProps(props)}\n {...mergeProps(listBoxProps, focusProps, droppableCollection?.collectionProps)}\n {...renderProps}\n ref={listBoxRef}\n slot={props.slot || undefined}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-layout={props.layout || 'stack'}\n data-orientation={props.orientation || 'vertical'}>\n <Provider\n values={[\n [ListBoxContext, props],\n [ListStateContext, state],\n [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],\n [SeparatorContext, {elementType: 'div'}],\n [DropIndicatorContext, {render: ListBoxDropIndicatorWrapper}]\n ]}>\n {children}\n </Provider>\n {emptyState}\n {dragPreview}\n </div>\n </FocusScope>\n );\n}\n\ninterface ListBoxSectionProps<T> extends StyleProps {\n section: Node<T>\n}\n\nfunction ListBoxSection<T>({section, className, style}: ListBoxSectionProps<T>) {\n let state = useContext(ListStateContext)!;\n let [headingRef, heading] = useSlot();\n let {headingProps, groupProps} = useListBoxSection({\n heading,\n 'aria-label': section['aria-label'] ?? undefined\n });\n\n let children = useCachedChildren({\n items: state.collection.getChildren!(section.key),\n children: item => {\n switch (item.type) {\n case 'header': {\n return (\n <SectionHeader\n item={item}\n headingProps={headingProps}\n headingRef={headingRef} />\n );\n }\n case 'item':\n return <Option item={item} />;\n default:\n throw new Error('Unsupported element type in Section: ' + item.type);\n }\n }\n });\n\n return (\n <section\n {...filterDOMProps(section.props)}\n {...groupProps}\n className={className || section.props?.className || 'react-aria-Section'}\n style={style || section.props?.style}\n ref={section.props.ref}>\n {children}\n </section>\n );\n}\n\n// This is a separate component so that headingProps.id doesn't override the item key in useCachedChildren.\nfunction SectionHeader({item, headingProps, headingRef}) {\n let {ref, ...otherProps} = item.props;\n return (\n <Header\n {...headingProps}\n {...otherProps}\n ref={mergeRefs(headingRef, ref)}>\n {item.rendered}\n </Header>\n );\n}\n\ninterface OptionProps<T> {\n item: Node<T>\n}\n\nfunction Option<T>({item}: OptionProps<T>) {\n let ref = useObjectRef<any>(item.props.ref);\n let state = useContext(ListStateContext)!;\n let {shouldFocusOnHover} = useSlottedContext(ListBoxContext)! as AriaListBoxOptions<T>;\n let {dragAndDropHooks, dragState, dropState} = useContext(DragAndDropContext)!;\n let {optionProps, labelProps, descriptionProps, ...states} = useOption(\n {key: item.key},\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: shouldFocusOnHover || (!states.allowsSelection && !states.hasAction)\n });\n\n if (shouldFocusOnHover) {\n hoverProps = {};\n isHovered = states.isFocused;\n }\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key}, dragState);\n }\n\n let droppableItem: DroppableItemResult | null = null;\n if (dropState && dragAndDropHooks) {\n droppableItem = dragAndDropHooks.useDroppableItem!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, ref);\n }\n\n let props: ItemProps<T> = item.props;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: droppableItem?.isDropTarget\n }\n });\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Item> elements with non-plain text children in order to support accessibility features such as type to select.');\n }\n }, [item.textValue]);\n\n let ElementType: React.ElementType = props.href ? 'a' : 'div';\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n <ElementType\n {...mergeProps(optionProps, hoverProps, draggableItem?.dragProps, droppableItem?.dropProps)}\n {...renderProps}\n ref={ref}\n data-allows-dragging={!!dragState || undefined}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={states.isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={droppableItem?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [TextContext, {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </ElementType>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction ListBoxDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext)!;\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n ref\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <ListBoxtDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} ref={ref} />\n );\n}\n\ninterface ListBoxDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean\n}\n\nfunction ListBoxtDropIndicator(props: ListBoxDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n ...otherProps\n } = props;\n\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <div\n {...dropIndicatorProps}\n {...renderProps}\n // eslint-disable-next-line\n role=\"option\"\n ref={ref as RefObject<HTMLDivElement>}\n data-drop-target={isDropTarget || undefined} />\n );\n}\n\nconst ListBoxtDropIndicatorForwardRef = forwardRef(ListBoxtDropIndicator);\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n DropIndicatorProps as AriaDropIndicatorProps,\n DraggableCollectionOptions,\n DraggableItemProps,\n DraggableItemResult,\n DragItem,\n DragPreview,\n DropIndicatorAria,\n DroppableCollectionOptions,\n DroppableCollectionResult,\n DroppableItemOptions,\n DroppableItemResult,\n DropTarget,\n DropTargetDelegate,\n ListDropTargetDelegate,\n useDraggableCollection,\n useDraggableItem,\n useDropIndicator,\n useDroppableCollection,\n useDroppableItem\n} from 'react-aria';\nimport {DraggableCollectionProps, DroppableCollectionProps} from '@react-types/shared';\nimport {\n DraggableCollectionState,\n DraggableCollectionStateOptions,\n DroppableCollectionState,\n DroppableCollectionStateOptions,\n useDraggableCollectionState,\n useDroppableCollectionState\n} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactNode, RefObject, useContext, useMemo} from 'react';\nimport {RenderProps} from './utils';\n\ninterface DraggableCollectionStateOpts extends Omit<DraggableCollectionStateOptions, 'getItems'> {}\n\ninterface DragHooks {\n useDraggableCollectionState?: (props: DraggableCollectionStateOpts) => DraggableCollectionState,\n useDraggableCollection?: (props: DraggableCollectionOptions, state: DraggableCollectionState, ref: RefObject<HTMLElement>) => void,\n useDraggableItem?: (props: DraggableItemProps, state: DraggableCollectionState) => DraggableItemResult,\n DragPreview?: typeof DragPreview,\n renderDragPreview?: (items: DragItem[]) => JSX.Element\n}\n\ninterface DropHooks {\n useDroppableCollectionState?: (props: DroppableCollectionStateOptions) => DroppableCollectionState,\n useDroppableCollection?: (props: DroppableCollectionOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DroppableCollectionResult,\n useDroppableItem?: (options: DroppableItemOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DroppableItemResult,\n useDropIndicator?: (props: AriaDropIndicatorProps, state: DroppableCollectionState, ref: RefObject<HTMLElement>) => DropIndicatorAria,\n renderDropIndicator?: (target: DropTarget) => JSX.Element,\n dropTargetDelegate?: DropTargetDelegate,\n ListDropTargetDelegate: typeof ListDropTargetDelegate\n}\n\nexport type DragAndDropHooks = DragHooks & DropHooks;\n\nexport interface DragAndDrop {\n /** Drag and drop hooks for the collection element. */\n dragAndDropHooks: DragAndDropHooks\n}\n\nexport interface DragAndDropOptions extends Omit<DraggableCollectionProps, 'preview' | 'getItems'>, DroppableCollectionProps {\n /**\n * A function that returns the items being dragged. If not specified, we assume that the collection is not draggable.\n * @default () => []\n */\n getItems?: (keys: Set<Key>) => DragItem[],\n /**\n * A function that renders a drag preview, which is shown under the user's cursor while dragging.\n * By default, a copy of the dragged element is rendered.\n */\n renderDragPreview?: (items: DragItem[]) => JSX.Element,\n /**\n * A function that renders a drop indicator element between two items in a collection.\n * This should render a `<DropIndicator>` element. If this function is not provided, a\n * default DropIndicator is provided.\n */\n renderDropIndicator?: (target: DropTarget) => JSX.Element,\n /** A custom delegate object that provides drop targets for pointer coordinates within the collection. */\n dropTargetDelegate?: DropTargetDelegate\n}\n\n/**\n * Provides the hooks required to enable drag and drop behavior for a drag and drop compatible collection component.\n */\nexport function useDragAndDrop(options: DragAndDropOptions): DragAndDrop {\n let dragAndDropHooks = useMemo(() => {\n let {\n onDrop,\n onInsert,\n onItemDrop,\n onReorder,\n onRootDrop,\n getItems,\n renderDragPreview,\n renderDropIndicator,\n dropTargetDelegate\n } = options;\n\n let isDraggable = !!getItems;\n let isDroppable = !!(onDrop || onInsert || onItemDrop || onReorder || onRootDrop);\n\n let hooks = {} as DragHooks & DropHooks;\n if (isDraggable) {\n hooks.useDraggableCollectionState = function useDraggableCollectionStateOverride(props: DraggableCollectionStateOpts) {\n return useDraggableCollectionState({...props, ...options} as DraggableCollectionStateOptions);\n };\n hooks.useDraggableCollection = useDraggableCollection;\n hooks.useDraggableItem = useDraggableItem;\n hooks.DragPreview = DragPreview;\n hooks.renderDragPreview = renderDragPreview;\n }\n\n if (isDroppable) {\n hooks.useDroppableCollectionState = function useDroppableCollectionStateOverride(props: DroppableCollectionStateOptions) {\n return useDroppableCollectionState({...props, ...options});\n },\n hooks.useDroppableItem = useDroppableItem;\n hooks.useDroppableCollection = function useDroppableCollectionOverride(props: DroppableCollectionOptions, state: DroppableCollectionState, ref: RefObject<HTMLElement>) {\n return useDroppableCollection({...props, ...options}, state, ref);\n };\n hooks.useDropIndicator = useDropIndicator;\n hooks.renderDropIndicator = renderDropIndicator;\n hooks.dropTargetDelegate = dropTargetDelegate;\n hooks.ListDropTargetDelegate = ListDropTargetDelegate;\n }\n\n return hooks;\n }, [options]);\n\n return {\n dragAndDropHooks\n };\n}\n\nexport const DropIndicatorContext = createContext<DropIndicatorContextValue | null>(null);\n\nexport interface DropIndicatorRenderProps {\n /**\n * Whether the drop indicator is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean\n}\n\nexport interface DropIndicatorProps extends AriaDropIndicatorProps, RenderProps<DropIndicatorRenderProps> {}\n\ninterface DropIndicatorContextValue {\n render: (props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) => ReactNode\n}\n\nfunction DropIndicator(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>): JSX.Element {\n let {render} = useContext(DropIndicatorContext)!;\n return <>{render(props, ref)}</>;\n}\n\n/**\n * A DropIndicator is rendered between items in a collection to indicate where dropped data will be inserted.\n */\nconst _DropIndicator = forwardRef(DropIndicator);\nexport {_DropIndicator as DropIndicator};\n\nexport interface DragAndDropContextValue {\n dragAndDropHooks?: DragAndDropHooks,\n dragState?: DraggableCollectionState,\n dropState?: DroppableCollectionState\n}\n\nexport const DragAndDropContext = createContext<DragAndDropContextValue>({});\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\nimport {useShallowRender} from './Collection';\n\nexport const HeaderContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>>({});\n\nfunction Header(originalProps: HTMLAttributes<HTMLElement>, originalRef: ForwardedRef<HTMLElement>) {\n let [props, ref] = useContextProps(originalProps, originalRef, HeaderContext);\n let shallow = useShallowRender('header', originalProps, originalRef);\n if (shallow) {\n return shallow;\n }\n\n return (\n <header className=\"react-aria-Header\" {...props} ref={ref}>\n {props.children}\n </header>\n );\n}\n\nconst _Header = forwardRef(Header);\nexport {_Header as Header};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {SeparatorProps as AriaSeparatorProps, useSeparator} from 'react-aria';\nimport {ContextValue, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ElementType, ForwardedRef, forwardRef} from 'react';\nimport {useShallowRender} from './Collection';\n\nexport interface SeparatorProps extends AriaSeparatorProps, StyleProps, SlotProps {}\n\nexport const SeparatorContext = createContext<ContextValue<SeparatorProps, HTMLElement>>({});\n\nfunction Separator(originalProps: SeparatorProps, originalRef: ForwardedRef<HTMLElement>) {\n let [props, ref] = useContextProps(originalProps, originalRef, SeparatorContext);\n let {elementType, orientation, style, className} = props;\n let Element = (elementType as ElementType) || 'hr';\n if (Element === 'hr' && orientation === 'vertical') {\n Element = 'div';\n }\n\n let {separatorProps} = useSeparator({\n elementType,\n orientation\n });\n\n let shallow = useShallowRender('separator', originalProps, originalRef);\n if (shallow) {\n return shallow;\n }\n\n return (\n <Element\n {...filterDOMProps(props)}\n {...separatorProps}\n style={style}\n className={className ?? 'react-aria-Separator'}\n ref={ref}\n slot={props.slot || undefined} />\n );\n}\n\nconst _Separator = forwardRef(Separator);\nexport {_Separator as Separator};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDialogProps, useDialog, useOverlayTrigger} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, SlotProps, StyleProps, useContextProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {HeadingContext} from './Heading';\nimport {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';\nimport {PopoverContext} from './Popover';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, useContext, useRef} from 'react';\n\nexport interface DialogTriggerProps extends OverlayTriggerProps {\n children: ReactNode\n}\n\ninterface DialogRenderProps {\n close: () => void\n}\n\nexport interface DialogProps extends AriaDialogProps, StyleProps, SlotProps {\n /** Children of the dialog. A function may be provided to access a function to close the dialog. */\n children?: ReactNode | ((opts: DialogRenderProps) => ReactNode)\n}\n\nexport const DialogContext = createContext<ContextValue<DialogProps, HTMLElement>>(null);\nexport const OverlayTriggerStateContext = createContext<OverlayTriggerState | null>(null);\n\n/**\n * A DialogTrigger opens a dialog when a trigger element is pressed.\n */\nexport function DialogTrigger(props: DialogTriggerProps) {\n let state = useOverlayTriggerState(props);\n\n let buttonRef = useRef<HTMLButtonElement>(null);\n let {triggerProps, overlayProps} = useOverlayTrigger({type: 'dialog'}, state, buttonRef);\n\n return (\n <Provider\n values={[\n [OverlayTriggerStateContext, state],\n [DialogContext, overlayProps],\n [PopoverContext, {triggerRef: buttonRef}]\n ]}>\n <PressResponder {...triggerProps} ref={buttonRef} isPressed={state.isOpen}>\n {props.children}\n </PressResponder>\n </Provider>\n );\n}\n\nfunction Dialog(props: DialogProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, DialogContext);\n let {dialogProps, titleProps} = useDialog(props, ref);\n let state = useContext(OverlayTriggerStateContext);\n\n let children = props.children;\n if (typeof children === 'function') {\n children = children({\n close: state?.close || (() => {})\n });\n }\n\n return (\n <section\n {...filterDOMProps(props)}\n {...dialogProps}\n ref={ref}\n slot={props.slot || undefined}\n style={props.style}\n className={props.className ?? 'react-aria-Dialog'}>\n <Provider\n values={[\n // TODO: clear context within dialog content?\n [HeadingContext, {...titleProps, level: 2}]\n ]}>\n {children}\n </Provider>\n </section>\n );\n}\n\n/**\n * A dialog is an overlay shown above other content in an application.\n */\nconst _Dialog = /*#__PURE__*/ (forwardRef as forwardRefType)(Dialog);\nexport {_Dialog as Dialog};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaPopoverProps, DismissButton, Overlay, PlacementAxis, PositionProps, usePopover} from 'react-aria';\nimport {ContextValue, forwardRefType, HiddenContext, RenderProps, SlotProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {filterDOMProps, mergeProps} from '@react-aria/utils';\nimport {OverlayArrowContext} from './OverlayArrow';\nimport {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';\nimport {OverlayTriggerStateContext} from './Dialog';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useContext} from 'react';\n\nexport interface PopoverProps extends Omit<PositionProps, 'isOpen'>, Omit<AriaPopoverProps, 'popoverRef' | 'triggerRef'>, OverlayTriggerProps, RenderProps<PopoverRenderProps>, SlotProps {\n /**\n * The ref for the element which the popover positions itself with respect to.\n *\n * When used within a trigger component such as DialogTrigger, MenuTrigger, Select, etc.,\n * this is set automatically. It is only required when used standalone.\n */\n triggerRef?: RefObject<Element>\n}\n\nexport interface PopoverRenderProps {\n /**\n * The placement of the popover relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis,\n /**\n * Whether the popover is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the popover is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean\n}\n\nexport const PopoverContext = createContext<ContextValue<PopoverProps, HTMLElement>>(null);\n\nfunction Popover(props: PopoverProps, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, PopoverContext);\n let contextState = useContext(OverlayTriggerStateContext);\n let localState = useOverlayTriggerState(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = useExitAnimation(ref, state.isOpen);\n let isHidden = useContext(HiddenContext);\n\n // If we are in a hidden tree, we still need to preserve our children.\n if (isHidden) {\n let children = props.children;\n if (typeof children === 'function') {\n children = children({\n placement: 'bottom',\n isEntering: false,\n isExiting: false\n });\n }\n\n return <>{children}</>;\n }\n\n if (state && !state.isOpen && !isExiting) {\n return null;\n }\n\n return (\n <PopoverInner\n {...props}\n triggerRef={props.triggerRef!}\n state={state}\n popoverRef={ref}\n isExiting={isExiting} />\n );\n}\n\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */\nconst _Popover = /*#__PURE__*/ (forwardRef as forwardRefType)(Popover);\nexport {_Popover as Popover};\n\ninterface PopoverInnerProps extends AriaPopoverProps, RenderProps<PopoverRenderProps>, SlotProps {\n state: OverlayTriggerState,\n isExiting: boolean\n}\n\nfunction PopoverInner({state, isExiting, ...props}: PopoverInnerProps) {\n let {popoverProps, underlayProps, arrowProps, placement} = usePopover({\n ...props,\n offset: props.offset ?? 8\n }, state);\n\n let ref = props.popoverRef as RefObject<HTMLDivElement>;\n let isEntering = useEnterAnimation(ref, !!placement);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Popover',\n values: {\n placement,\n isEntering,\n isExiting\n }\n });\n\n let style = {...renderProps.style, ...popoverProps.style};\n\n return (\n <Overlay isExiting={isExiting}>\n {!props.isNonModal && <div {...underlayProps} style={{position: 'fixed', inset: 0}} />}\n <div\n {...mergeProps(filterDOMProps(props as any), popoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n style={style}\n data-placement={placement}\n data-entering={isEntering || undefined}\n data-exiting={isExiting || undefined}>\n {!props.isNonModal && <DismissButton onDismiss={state.close} />}\n <OverlayArrowContext.Provider value={{...arrowProps, placement}}>\n {renderProps.children}\n </OverlayArrowContext.Provider>\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, forwardRefType, RenderProps, useContextProps, useRenderProps} from './utils';\nimport {PlacementAxis} from 'react-aria';\nimport React, {createContext, CSSProperties, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\ninterface OverlayArrowContextValue extends OverlayArrowProps {\n placement: PlacementAxis\n}\n\nexport const OverlayArrowContext = createContext<ContextValue<OverlayArrowContextValue, HTMLDivElement>>({\n placement: 'bottom'\n});\n\nexport interface OverlayArrowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'style' | 'children'>, RenderProps<OverlayArrowRenderProps> {}\n\nexport interface OverlayArrowRenderProps {\n /**\n * The placement of the overlay relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis\n}\n\nfunction OverlayArrow(props: OverlayArrowProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, OverlayArrowContext);\n let placement = (props as OverlayArrowContextValue).placement;\n let style: CSSProperties = {\n position: 'absolute',\n [placement]: '100%',\n transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'\n };\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-OverlayArrow',\n values: {\n placement\n }\n });\n\n return (\n <div\n {...props}\n {...renderProps}\n style={{\n ...renderProps.style,\n ...style\n }}\n ref={ref}\n data-placement={placement} />\n );\n}\n\n/**\n * An OverlayArrow renders a custom arrow element relative to an overlay element\n * such as a popover or tooltip such that it aligns with a trigger element.\n */\nconst _OverlayArrow = /*#__PURE__*/ (forwardRef as forwardRefType)(OverlayArrow);\nexport {_OverlayArrow as OverlayArrow};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDateFieldProps, AriaTimeFieldProps, DateValue, mergeProps, TimeValue, useDateField, useDateSegment, useFocusRing, useHover, useLocale, useTimeField} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {createCalendar} from '@internationalized/date';\nimport {DateFieldState, DateSegmentType, DateSegment as IDateSegment, TimeFieldState, useDateFieldState, useTimeFieldState} from 'react-stately';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {Group, GroupContext} from './Group';\nimport {Input, InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport React, {cloneElement, createContext, ForwardedRef, forwardRef, ReactElement, useContext, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DateFieldRenderProps {\n /**\n * State of the date field.\n */\n state: DateFieldState,\n /**\n * Whether the date field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the date field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\nexport interface DateFieldProps<T extends DateValue> extends Omit<AriaDateFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateFieldRenderProps>, SlotProps {}\nexport interface TimeFieldProps<T extends TimeValue> extends Omit<AriaTimeFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateFieldRenderProps>, SlotProps {}\n\nexport const DateFieldContext = createContext<ContextValue<DateFieldProps<any>, HTMLDivElement>>(null);\nexport const TimeFieldContext = createContext<ContextValue<TimeFieldProps<any>, HTMLDivElement>>(null);\nexport const DateFieldStateContext = createContext<DateFieldState | null>(null);\nexport const TimeFieldStateContext = createContext<TimeFieldState | null>(null);\n\nfunction DateField<T extends DateValue>(props: DateFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DateFieldContext);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...props,\n locale,\n createCalendar\n });\n\n let fieldRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let inputRef = useRef<HTMLInputElement>(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps} = useDateField({...removeDataAttributes(props), label, inputRef}, state, fieldRef);\n\n let renderProps = useRenderProps({\n ...removeDataAttributes(props),\n values: {\n state,\n isInvalid: state.isInvalid,\n isDisabled: state.isDisabled\n },\n defaultClassName: 'react-aria-DateField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [DateFieldStateContext, state],\n [GroupContext, {...fieldProps, ref: fieldRef}],\n [InputContext, {...inputProps, ref: inputRef}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-invalid={state.isInvalid || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date field allows users to enter and edit date and time values using a keyboard.\n * Each part of a date value is displayed in an individually editable segment.\n */\nconst _DateField = /*#__PURE__*/ (forwardRef as forwardRefType)(DateField);\nexport {_DateField as DateField};\n\nfunction TimeField<T extends TimeValue>(props: TimeFieldProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TimeFieldContext);\n let {locale} = useLocale();\n let state = useTimeFieldState({\n ...props,\n locale\n });\n\n let fieldRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let inputRef = useRef<HTMLInputElement>(null);\n let {labelProps, fieldProps, inputProps, descriptionProps, errorMessageProps} = useTimeField({...removeDataAttributes(props), label, inputRef}, state, fieldRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isInvalid: state.isInvalid,\n isDisabled: state.isDisabled\n },\n defaultClassName: 'react-aria-TimeField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [TimeFieldStateContext, state],\n [GroupContext, {...fieldProps, ref: fieldRef}],\n [InputContext, {...inputProps, ref: inputRef}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-invalid={state.isInvalid || undefined} />\n </Provider>\n );\n}\n\n/**\n * A time field allows users to enter and edit time values using a keyboard.\n * Each part of a time value is displayed in an individually editable segment.\n */\nconst _TimeField = /*#__PURE__*/ (forwardRef as forwardRefType)(TimeField);\nexport {_TimeField as TimeField};\n\nexport interface DateInputRenderProps {\n /**\n * Whether the date input is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether an element within the date input is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the date input is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the date input is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface DateInputProps extends SlotProps, StyleRenderProps<DateInputRenderProps> {\n children: (segment: IDateSegment) => ReactElement\n}\n\nfunction DateInput(props: DateInputProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element {\n // If state is provided by DateField/TimeField, just render.\n // Otherwise (e.g. in DatePicker), we need to call hooks and create state ourselves.\n let dateFieldState = useContext(DateFieldStateContext);\n let timeFieldState = useContext(TimeFieldStateContext);\n return dateFieldState || timeFieldState\n ? <DateInputInner {...props} ref={ref} />\n : <DateInputStandalone {...props} ref={ref} />;\n}\n\nconst DateInputStandalone = forwardRef((props: DateInputProps, ref: ForwardedRef<HTMLDivElement>) => {\n let [dateFieldProps, fieldRef] = useContextProps({slot: props.slot} as DateFieldProps<any>, ref, DateFieldContext);\n let {locale} = useLocale();\n let state = useDateFieldState({\n ...dateFieldProps,\n locale,\n createCalendar\n });\n\n let inputRef = useRef<HTMLInputElement>(null);\n let {fieldProps, inputProps} = useDateField({...dateFieldProps, inputRef}, state, fieldRef);\n\n return (\n <Provider\n values={[\n [DateFieldStateContext, state],\n [InputContext, {...inputProps, ref: inputRef}],\n [GroupContext, {...fieldProps, ref: fieldRef}]\n ]}>\n <DateInputInner {...props} />\n </Provider>\n );\n});\n\nconst DateInputInner = forwardRef((props: DateInputProps, ref: ForwardedRef<HTMLDivElement>) => {\n let {className, children} = props;\n let dateFieldState = useContext(DateFieldStateContext);\n let timeFieldState = useContext(TimeFieldStateContext);\n let state = dateFieldState ?? timeFieldState!;\n\n return (\n <>\n <Group\n {...props}\n ref={ref}\n slot={props.slot || undefined}\n className={className ?? 'react-aria-DateInput'}\n isInvalid={state.isInvalid}>\n {state.segments.map((segment, i) => cloneElement(children(segment), {key: i}))}\n </Group>\n <Input />\n </>\n );\n});\n\n/**\n * A date input groups the editable date segments within a date field.\n */\nconst _DateInput = /*#__PURE__*/ (forwardRef as forwardRefType)(DateInput);\nexport {_DateInput as DateInput};\n\nexport interface DateSegmentRenderProps extends Omit<IDateSegment, 'isEditable'> {\n /**\n * Whether the segment is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the segment is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the segment is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the value is a placeholder.\n * @selector [data-placeholder]\n */\n isPlaceholder: boolean,\n /**\n * Whether the segment is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the date field is in an invalid state.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * The type of segment. Values include `literal`, `year`, `month`, `day`, etc.\n * @selector [data-type=\"...\"]\n */\n type: DateSegmentType\n}\n\nexport interface DateSegmentProps extends RenderProps<DateSegmentRenderProps> {\n segment: IDateSegment\n}\n\nfunction DateSegment({segment, ...otherProps}: DateSegmentProps, ref: ForwardedRef<HTMLDivElement>) {\n let dateFieldState = useContext(DateFieldStateContext);\n let timeFieldState = useContext(TimeFieldStateContext);\n let state = dateFieldState ?? timeFieldState!;\n let domRef = useObjectRef(ref);\n let {segmentProps} = useDateSegment(segment, state, domRef);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({isDisabled: state.isDisabled || segment.type === 'literal'});\n let renderProps = useRenderProps({\n ...otherProps,\n values: {\n ...segment,\n isReadOnly: !segment.isEditable,\n isInvalid: state.isInvalid,\n isHovered,\n isFocused,\n isFocusVisible\n },\n defaultChildren: segment.text,\n defaultClassName: 'react-aria-DateSegment'\n });\n\n\n return (\n <div\n {...mergeProps(filterDOMProps(otherProps as any), segmentProps, focusProps, hoverProps)}\n {...renderProps}\n ref={domRef}\n data-placeholder={segment.isPlaceholder || undefined}\n data-invalid={state.isInvalid || undefined}\n data-readonly={!segment.isEditable || undefined}\n data-type={segment.type}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined} />\n );\n}\n\n/**\n * A date segment displays an individual unit of a date and time, and allows users to edit\n * the value by typing or using the arrow keys to increment and decrement.\n */\nconst _DateSegment = /*#__PURE__*/ (forwardRef as forwardRefType)(DateSegment);\nexport {_DateSegment as DateSegment};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps} from '@react-types/shared';\nimport {ContextValue, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport interface GroupRenderProps {\n /**\n * Whether the group is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether an element within the group is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the group is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the group is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the group is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface GroupProps extends AriaLabelingProps, Omit<HTMLAttributes<HTMLElement>, 'className' | 'style' | 'role'>, StyleRenderProps<GroupRenderProps> {\n /** Whether the group is disabled. */\n isDisabled?: boolean,\n /** Whether the group is invalid. */\n isInvalid?: boolean,\n /**\n * An accessibility role for the group. By default, this is set to `'group'`.\n * Use `'region'` when the contents of the group is important enough to be\n * included in the page table of contents. Use `'presentation'` if the group\n * is visual only and does not represent a semantic grouping of controls.\n * @default 'group'\n */\n role?: 'group' | 'region' | 'presentation'\n}\n\nexport const GroupContext = createContext<ContextValue<GroupProps, HTMLDivElement>>({});\n\nfunction Group(props: GroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, GroupContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n within: true\n });\n\n let {isDisabled, isInvalid, ...otherProps} = props;\n isDisabled ??= !!props['aria-disabled'] && props['aria-disabled'] !== 'false';\n isInvalid ??= !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isFocusWithin: isFocused, isFocusVisible, isDisabled, isInvalid},\n defaultClassName: 'react-aria-Group'\n });\n\n return (\n <div\n {...mergeProps(otherProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n role={props.role ?? 'group'}\n data-focus-within={isFocused || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-invalid={isInvalid || undefined}>\n {props.children}\n </div>\n );\n}\n\n/**\n * A group represents a set of related UI controls, and supports interactive states for styling.\n */\nconst _Group = forwardRef(Group);\nexport {_Group as Group};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaDatePickerProps, AriaDateRangePickerProps, DateValue, useDatePicker, useDateRangePicker, useFocusRing} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CalendarContext, RangeCalendarContext} from './Calendar';\nimport {ContextValue, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {DateFieldContext} from './DateField';\nimport {DatePickerState, DateRangePickerState, useDatePickerState, useDateRangePickerState} from 'react-stately';\nimport {DialogContext, OverlayTriggerStateContext} from './Dialog';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {GroupContext} from './Group';\nimport {LabelContext} from './Label';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DatePickerRenderProps {\n /**\n * Whether an element within the date picker is focused, either via a mouse or keyboard.\n * @selector [data-focus-within]\n */\n isFocusWithin: boolean,\n /**\n * Whether an element within the date picker is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the date picker is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the date picker is invalid.\n * @selector [data-disabled]\n */\n isInvalid: boolean,\n /**\n * Whether the date picker's popover is currently open.\n * @selector [data-open]\n */\n isOpen: boolean,\n /**\n * State of the date picker.\n */\n state: DatePickerState\n}\nexport interface DateRangePickerRenderProps extends Omit<DatePickerRenderProps, 'state'> {\n /**\n * State of the date range picker.\n */\n state: DateRangePickerState\n}\n\nexport interface DatePickerProps<T extends DateValue> extends Omit<AriaDatePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DatePickerRenderProps>, SlotProps {}\nexport interface DateRangePickerProps<T extends DateValue> extends Omit<AriaDateRangePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<DateRangePickerRenderProps>, SlotProps {}\n\nexport const DatePickerContext = createContext<ContextValue<DatePickerProps<any>, HTMLDivElement>>(null);\nexport const DateRangePickerContext = createContext<ContextValue<DateRangePickerProps<any>, HTMLDivElement>>(null);\nexport const DatePickerStateContext = createContext<DatePickerState | null>(null);\nexport const DateRangePickerStateContext = createContext<DateRangePickerState | null>(null);\n\nfunction DatePicker<T extends DateValue>(props: DatePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DatePickerContext);\n let state = useDatePickerState(props);\n let groupRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n descriptionProps,\n errorMessageProps\n } = useDatePicker({...removeDataAttributes(props), label}, state, groupRef);\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isFocusWithin: isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isInvalid,\n isOpen: state.isOpen\n },\n defaultClassName: 'react-aria-DatePicker'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [DatePickerStateContext, state],\n [GroupContext, {...groupProps, ref: groupRef}],\n [DateFieldContext, fieldProps],\n [ButtonContext, {...buttonProps, isPressed: state.isOpen}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [CalendarContext, calendarProps],\n [OverlayTriggerStateContext, state],\n [PopoverContext, {triggerRef: groupRef, placement: 'bottom start'}],\n [DialogContext, dialogProps],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...focusProps}\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focus-within={isFocused || undefined}\n data-invalid={state.isInvalid || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={props.isDisabled || undefined}\n data-open={state.isOpen || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date picker combines a DateField and a Calendar popover to allow users to enter or select a date and time value.\n */\nconst _DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DatePicker);\nexport {_DatePicker as DatePicker};\n\nfunction DateRangePicker<T extends DateValue>(props: DateRangePickerProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DateRangePickerContext);\n let state = useDateRangePickerState(props);\n let groupRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n labelProps,\n startFieldProps,\n endFieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n descriptionProps,\n errorMessageProps\n } = useDateRangePicker({...removeDataAttributes(props), label}, state, groupRef);\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isFocusWithin: isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: state.isInvalid,\n isOpen: state.isOpen\n },\n defaultClassName: 'react-aria-DateRangePicker'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [DateRangePickerStateContext, state],\n [GroupContext, {...groupProps, ref: groupRef}],\n [ButtonContext, {...buttonProps, isPressed: state.isOpen}],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [RangeCalendarContext, calendarProps],\n [OverlayTriggerStateContext, state],\n [PopoverContext, {triggerRef: groupRef, placement: 'bottom start'}],\n [DialogContext, dialogProps],\n [DateFieldContext, {\n slots: {\n start: startFieldProps,\n end: endFieldProps\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...focusProps}\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focus-within={isFocused || undefined}\n data-invalid={state.isInvalid || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={props.isDisabled || undefined}\n data-open={state.isOpen || undefined} />\n </Provider>\n );\n}\n\n/**\n * A date range picker combines two DateFields and a RangeCalendar popover to allow\n * users to enter or select a date and time range.\n */\nconst _DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(DateRangePicker);\nexport {_DateRangePicker as DateRangePicker};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps} from '@react-types/shared';\nimport {ContextValue, Provider, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {DropOptions, mergeProps, useClipboard, useDrop, useFocusRing, useHover, useLocalizedStringFormatter, VisuallyHidden} from 'react-aria';\nimport {filterDOMProps, useLabels, useSlotId} from '@react-aria/utils';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface DropZoneRenderProps {\n /**\n * Whether the dropzone is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the dropzone is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the dropzone is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the dropzone is the drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean\n}\n\nexport interface DropZoneProps extends Omit<DropOptions, 'getDropOperationForPoint' | 'ref' | 'hasDropButton'>, RenderProps<DropZoneRenderProps>, SlotProps, AriaLabelingProps {}\n\nexport const DropZoneContext = createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);\n\nfunction DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, DropZoneContext);\n let buttonRef = useRef<HTMLButtonElement>(null);\n let {dropProps, dropButtonProps, isDropTarget} = useDrop({...props, ref: buttonRef, hasDropButton: true});\n let {hoverProps, isHovered} = useHover({});\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n let textId = useSlotId();\n let ariaLabel = props['aria-label'] || stringFormatter.format('dropzoneLabel');\n let messageId = (isDropTarget && props['aria-labelledby']) ? props['aria-labelledby'] : null;\n let ariaLabelledby = [textId, messageId].filter(Boolean).join(' ');\n let labelProps = useLabels({'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby});\n\n let {clipboardProps} = useClipboard({\n onPaste: (items) => props.onDrop?.({\n type: 'drop',\n items,\n x: 0,\n y: 0,\n dropOperation: 'copy'\n })\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isFocused, isFocusVisible, isDropTarget},\n defaultClassName: 'react-aria-DropZone'\n });\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [TextContext, {id: textId, slot: 'label'}]\n ]}>\n {/* eslint-disable-next-line */}\n <div\n {...mergeProps(dropProps, hoverProps, DOMProps)}\n {...renderProps}\n slot={props.slot || undefined}\n ref={ref}\n onClick={() => buttonRef.current?.focus()}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-drop-target={isDropTarget || undefined} >\n <VisuallyHidden>\n <button\n {...mergeProps(dropButtonProps, focusProps, clipboardProps, labelProps)}\n ref={buttonRef} />\n </VisuallyHidden>\n {renderProps.children}\n </div>\n </Provider>\n );\n}\n\n/**\n * A drop zone is an area into which one or multiple objects can be dragged and dropped.\n */\nconst _DropZone = forwardRef(DropZone);\nexport {_DropZone as DropZone};\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"حدد عنصرًا\",\n \"tableResizer\": \"أداة تغيير الحجم\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Изберете предмет\",\n \"tableResizer\": \"Преоразмерител\"\n}\n","{\n \"dropzoneLabel\": \"Místo pro přetažení\",\n \"selectPlaceholder\": \"Vyberte položku\",\n \"tableResizer\": \"Změna velikosti\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Vælg et element\",\n \"tableResizer\": \"Størrelsesændring\"\n}\n","{\n \"dropzoneLabel\": \"Ablegebereich\",\n \"selectPlaceholder\": \"Element wählen\",\n \"tableResizer\": \"Größenanpassung\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Επιλέξτε ένα αντικείμενο\",\n \"tableResizer\": \"Αλλαγή μεγέθους\"\n}\n","{\n \"selectPlaceholder\": \"Select an item\",\n \"tableResizer\": \"Resizer\",\n \"dropzoneLabel\": \"DropZone\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Seleccionar un artículo\",\n \"tableResizer\": \"Cambiador de tamaño\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Valige üksus\",\n \"tableResizer\": \"Suuruse muutja\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Valitse kohde\",\n \"tableResizer\": \"Koon muuttaja\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Sélectionner un élément\",\n \"tableResizer\": \"Redimensionneur\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"בחר פריט\",\n \"tableResizer\": \"שינוי גודל\"\n}\n","{\n \"dropzoneLabel\": \"Zona spuštanja\",\n \"selectPlaceholder\": \"Odaberite stavku\",\n \"tableResizer\": \"Promjena veličine\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Válasszon ki egy elemet\",\n \"tableResizer\": \"Átméretező\"\n}\n","{\n \"dropzoneLabel\": \"Zona di rilascio\",\n \"selectPlaceholder\": \"Seleziona un elemento\",\n \"tableResizer\": \"Ridimensionamento\"\n}\n","{\n \"dropzoneLabel\": \"ドロップゾーン\",\n \"selectPlaceholder\": \"項目を選択\",\n \"tableResizer\": \"サイズ変更ツール\"\n}\n","{\n \"dropzoneLabel\": \"드롭 영역\",\n \"selectPlaceholder\": \"항목 선택\",\n \"tableResizer\": \"크기 조정기\"\n}\n","{\n \"dropzoneLabel\": \"„DropZone“\",\n \"selectPlaceholder\": \"Pasirinkite elementą\",\n \"tableResizer\": \"Dydžio keitiklis\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Izvēlēties vienumu\",\n \"tableResizer\": \"Izmēra mainītājs\"\n}\n","{\n \"dropzoneLabel\": \"Droppsone\",\n \"selectPlaceholder\": \"Velg et element\",\n \"tableResizer\": \"Størrelsesendrer\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Selecteer een item\",\n \"tableResizer\": \"Resizer\"\n}\n","{\n \"dropzoneLabel\": \"Strefa upuszczania\",\n \"selectPlaceholder\": \"Wybierz element\",\n \"tableResizer\": \"Zmiana rozmiaru\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Selecione um item\",\n \"tableResizer\": \"Redimensionador\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Selecione um item\",\n \"tableResizer\": \"Redimensionador\"\n}\n","{\n \"dropzoneLabel\": \"Zonă de plasare\",\n \"selectPlaceholder\": \"Selectați un element\",\n \"tableResizer\": \"Instrument de redimensionare\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Выберите элемент\",\n \"tableResizer\": \"Средство изменения размера\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Vyberte položku\",\n \"tableResizer\": \"Nástroj na zmenu veľkosti\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Izberite element\",\n \"tableResizer\": \"Spreminjanje velikosti\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Izaberite stavku\",\n \"tableResizer\": \"Promena veličine\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Välj en artikel\",\n \"tableResizer\": \"Storleksändrare\"\n}\n","{\n \"dropzoneLabel\": \"Bırakma Bölgesi\",\n \"selectPlaceholder\": \"Bir öğe seçin\",\n \"tableResizer\": \"Yeniden boyutlandırıcı\"\n}\n","{\n \"dropzoneLabel\": \"DropZone\",\n \"selectPlaceholder\": \"Виберіть елемент\",\n \"tableResizer\": \"Засіб змінення розміру\"\n}\n","{\n \"dropzoneLabel\": \"放置区域\",\n \"selectPlaceholder\": \"选择一个项目\",\n \"tableResizer\": \"尺寸调整器\"\n}\n","{\n \"dropzoneLabel\": \"放置區\",\n \"selectPlaceholder\": \"選取項目\",\n \"tableResizer\": \"大小調整器\"\n}\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport {Input} from './Input';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\n\nexport interface FileTriggerProps {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: Array<string>,\n /**\n * Whether multiple files can be selected.\n */\n allowsMultiple?: boolean,\n /**\n * Specifies the use of a media capture mechanism to capture the media on the spot.\n */\n defaultCamera?: 'user' | 'environment',\n /**\n * Handler when a user selects a file.\n */\n onSelect?: (files: FileList | null) => void,\n /**\n * The children of the component.\n */\n children?: ReactNode\n}\n\nfunction FileTrigger(props: FileTriggerProps, ref: ForwardedRef<HTMLInputElement>) {\n let {onSelect, acceptedFileTypes, allowsMultiple, defaultCamera, children, ...rest} = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest);\n\n return (\n <>\n <PressResponder \n onPress={() => {\n if (inputRef.current.value) {\n inputRef.current.value = '';\n }\n inputRef.current?.click();\n }}>\n {children}\n </PressResponder>\n <Input\n {...domProps}\n type=\"file\"\n ref={inputRef}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={(e) => onSelect?.(e.target.files)}\n capture={defaultCamera}\n multiple={allowsMultiple} />\n </>\n );\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React Spectrum component, or custom components built with usePress.\n */\nconst _FileTrigger = forwardRef(FileTrigger);\nexport {_FileTrigger as FileTrigger};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport {AriaGridListProps, DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useGridList, useGridListItem, useGridListSelectionCheckbox, useHover, useVisuallyHidden, VisuallyHidden} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CheckboxContext} from './Checkbox';\nimport {Collection, DraggableCollectionState, DroppableCollectionState, ListState, Node, SelectionBehavior, useListState} from 'react-stately';\nimport {CollectionProps, ItemProps, useCachedChildren, useCollection} from './Collection';\nimport {ContextValue, defaultSlot, forwardRefType, Provider, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {DragAndDropContext, DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {filterDOMProps, isIOS, isWebKit, useObjectRef} from '@react-aria/utils';\nimport {ListStateContext} from './ListBox';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface GridListRenderProps {\n /**\n * Whether the list has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the grid list is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the grid list is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the grid list is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * State of the grid list.\n */\n state: ListState<unknown>\n}\n\nexport interface GridListProps<T> extends Omit<AriaGridListProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<GridListRenderProps>, SlotProps {\n /** How multiple selection should behave in the collection. */\n selectionBehavior?: SelectionBehavior,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the GridList. */\n dragAndDropHooks?: DragAndDropHooks,\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: () => ReactNode\n}\n\n\nexport const GridListContext = createContext<ContextValue<GridListProps<any>, HTMLDivElement>>(null);\n\nfunction GridList<T extends object>(props: GridListProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n // Render the portal first so that we have the collection by the time we render the DOM in SSR.\n [props, ref] = useContextProps(props, ref, GridListContext);\n let {collection, portal} = useCollection(props);\n return (\n <>\n {portal}\n <GridListInner props={props} collection={collection} gridListRef={ref} />\n </>\n );\n}\n\ninterface GridListInnerProps<T extends object> {\n props: GridListProps<T>,\n collection: Collection<Node<T>>,\n gridListRef: RefObject<HTMLDivElement>\n}\n\nfunction GridListInner<T extends object>({props, collection, gridListRef: ref}: GridListInnerProps<T>) {\n let {dragAndDropHooks} = props;\n let state = useListState({\n ...props,\n collection,\n children: undefined\n });\n\n let {gridProps} = useGridList(props, state, ref);\n\n let children = useCachedChildren({\n items: collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <GridListItem item={item} />;\n default:\n throw new Error('Unsupported node type in GridList: ' + item.type);\n }\n }\n });\n\n let selectionManager = state.selectionManager;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, ref);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let keyboardDelegate = new ListKeyboardDelegate(\n collection,\n selectionManager.disabledBehavior === 'selection' ? new Set() : selectionManager.disabledKeys,\n ref\n );\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, ref);\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, ref);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-GridList',\n values: {\n isDropTarget: isRootDropTarget,\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible,\n state\n }\n });\n\n let emptyState: ReactNode = null;\n let emptyStatePropOverrides: HTMLAttributes<HTMLElement> | null = null;\n if (state.collection.size === 0 && props.renderEmptyState) {\n // Ideally we'd use `display: contents` on the row and cell elements so that\n // they don't affect the layout of the children. However, WebKit currently has\n // a bug that makes grid elements with display: contents hidden to screen readers.\n // https://bugs.webkit.org/show_bug.cgi?id=239479\n let content = props.renderEmptyState();\n if (isWebKit()) {\n // For now, when in an empty state, swap the role to group in webkit.\n emptyStatePropOverrides = {\n role: 'group',\n 'aria-multiselectable': undefined\n };\n\n if (isIOS()) {\n // iOS VoiceOver also doesn't announce the aria-label of group elements\n // so try to add a visually hidden label element as well.\n emptyState = (\n <>\n <VisuallyHidden>{gridProps['aria-label']}</VisuallyHidden>\n {content}\n </>\n );\n } else {\n emptyState = content;\n }\n } else {\n emptyState = (\n <div role=\"row\" style={{display: 'contents'}}>\n <div role=\"gridcell\" style={{display: 'contents'}}>\n {content}\n </div>\n </div>\n );\n }\n }\n\n return (\n <FocusScope>\n <div\n {...filterDOMProps(props)}\n {...renderProps}\n {...mergeProps(gridProps, focusProps, droppableCollection?.collectionProps, emptyStatePropOverrides)}\n ref={ref}\n slot={props.slot || undefined}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n <Provider\n values={[\n [ListStateContext, state],\n [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],\n [DropIndicatorContext, {render: GridListDropIndicatorWrapper}]\n ]}>\n {isListDroppable && <RootDropIndicator />}\n {children}\n </Provider>\n {emptyState}\n {dragPreview}\n </div>\n </FocusScope>\n );\n}\n\n/**\n * A grid list displays a list of interactive items, with support for keyboard navigation,\n * single or multiple selection, and row actions.\n */\nconst _GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(GridList);\nexport {_GridList as GridList};\n\nfunction GridListItem({item}) {\n let state = useContext(ListStateContext)!;\n let {dragAndDropHooks, dragState, dropState} = useContext(DragAndDropContext);\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {rowProps, gridCellProps, descriptionProps, ...states} = useGridListItem(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection && !states.hasAction\n });\n\n let {isFocusVisible, focusProps} = useFocusRing();\n let {checkboxProps} = useGridListSelectionCheckbox(\n {key: item.key},\n state\n );\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key, hasDragButton: true}, dragState);\n }\n\n let dropIndicator: DropIndicatorAria | null = null;\n let dropIndicatorRef = useRef<HTMLDivElement>(null);\n let {visuallyHiddenProps} = useVisuallyHidden();\n if (dropState && dragAndDropHooks) {\n dropIndicator = dragAndDropHooks.useDropIndicator!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, dropIndicatorRef);\n }\n\n let props: ItemProps<unknown> = item.props;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget\n }\n });\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn('Draggable items in a GridList must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.');\n }\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Item> elements with non-plain text children in order to support accessibility features such as type to select.');\n }\n }, [item.textValue]);\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n {dropIndicator && !dropIndicator.isHidden &&\n <div role=\"row\" style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n </div>\n </div>\n }\n <div\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps, draggableItem?.dragProps)}\n {...renderProps}\n ref={ref}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-allows-dragging={!!dragState || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={dropIndicator?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <div {...gridCellProps}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }],\n [ButtonContext, {\n slots: {\n [defaultSlot]: {},\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </div>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction GridListDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext);\n let buttonRef = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n buttonRef\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <GridListDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} buttonRef={buttonRef} ref={ref} />\n );\n}\n\ninterface GridListDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean,\n buttonRef: RefObject<HTMLDivElement>\n}\n\nfunction GridListDropIndicator(props: GridListDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n buttonRef,\n ...otherProps\n } = props;\n\n let {visuallyHiddenProps} = useVisuallyHidden();\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <div\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLDivElement>}\n data-drop-target={isDropTarget || undefined}>\n <div role=\"gridcell\">\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n </div>\n </div>\n );\n}\n\nconst GridListDropIndicatorForwardRef = forwardRef(GridListDropIndicator);\n\nfunction RootDropIndicator() {\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext);\n let ref = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps} = dragAndDropHooks!.useDropIndicator!({\n target: {type: 'root'}\n }, dropState!, ref);\n let isDropTarget = dropState!.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']} style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ContextValue, useContextProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes} from 'react';\n\nexport const KeyboardContext = createContext<ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>>({});\n\nfunction Keyboard(props: HTMLAttributes<HTMLElement>, ref: ForwardedRef<HTMLElement>) {\n [props, ref] = useContextProps(props, ref, KeyboardContext);\n return <kbd dir=\"ltr\" {...props} ref={ref} />;\n}\n\nconst _Keyboard = forwardRef(Keyboard);\nexport {_Keyboard as Keyboard};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n\nimport {AriaMenuProps, mergeProps, useFocusRing, useMenu, useMenuItem, useMenuSection, useMenuTrigger} from 'react-aria';\nimport {BaseCollection, CollectionProps, ItemProps, useCachedChildren, useCollection} from './Collection';\nimport {MenuTriggerProps as BaseMenuTriggerProps, Node, TreeState, useMenuTriggerState, useTreeState} from 'react-stately';\nimport {ContextValue, forwardRefType, Provider, SlotProps, StyleProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeRefs, useObjectRef} from '@react-aria/utils';\nimport {Header} from './Header';\nimport {KeyboardContext} from './Keyboard';\nimport {OverlayTriggerStateContext} from './Dialog';\nimport {PopoverContext} from './Popover';\nimport {PressResponder} from '@react-aria/interactions';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useRef} from 'react';\nimport {Separator, SeparatorContext} from './Separator';\nimport {TextContext} from './Text';\n\nexport const MenuContext = createContext<ContextValue<MenuProps<any>, HTMLDivElement>>(null);\nexport const MenuStateContext = createContext<TreeState<unknown> | null>(null);\n\nexport interface MenuTriggerProps extends BaseMenuTriggerProps {\n children?: ReactNode\n}\n\nexport function MenuTrigger(props: MenuTriggerProps) {\n let state = useMenuTriggerState(props);\n\n let ref = useRef<HTMLButtonElement>(null);\n let {menuTriggerProps, menuProps} = useMenuTrigger({\n ...props,\n type: 'menu'\n }, state, ref);\n\n return (\n <Provider\n values={[\n [MenuContext, menuProps],\n [OverlayTriggerStateContext, state],\n [PopoverContext, {triggerRef: ref, placement: 'bottom start'}]\n ]}>\n <PressResponder {...menuTriggerProps} ref={ref} isPressed={state.isOpen}>\n {props.children}\n </PressResponder>\n </Provider>\n );\n}\n\nexport interface MenuProps<T> extends Omit<AriaMenuProps<T>, 'children'>, CollectionProps<T>, StyleProps, SlotProps {}\n\nfunction Menu<T extends object>(props: MenuProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, MenuContext);\n let {portal, collection} = useCollection(props);\n\n // Delay rendering the actual menu until we have the collection so that auto focus works properly.\n return (\n <>\n {collection.size > 0 && <MenuInner props={props} collection={collection} menuRef={ref} />}\n {portal}\n </>\n );\n}\n\ninterface MenuInnerProps<T> {\n props: MenuProps<T>,\n collection: BaseCollection<T>,\n menuRef: RefObject<HTMLDivElement>\n}\n\nfunction MenuInner<T extends object>({props, collection, menuRef: ref}: MenuInnerProps<T>) {\n let state = useTreeState({\n ...props,\n collection,\n children: undefined\n });\n let {menuProps} = useMenu(props, state, ref);\n\n let children = useCachedChildren({\n items: state.collection,\n children: (item) => {\n switch (item.type) {\n case 'section':\n return <MenuSection section={item} />;\n case 'separator':\n return <Separator {...item.props} />;\n case 'item':\n return <MenuItem item={item} />;\n default:\n throw new Error('Unsupported node type in Menu: ' + item.type);\n }\n }\n });\n\n return (\n <div\n {...filterDOMProps(props)}\n {...menuProps}\n ref={ref}\n slot={props.slot || undefined}\n style={props.style}\n className={props.className ?? 'react-aria-Menu'}>\n <Provider\n values={[\n [MenuStateContext, state],\n [SeparatorContext, {elementType: 'div'}]\n ]}>\n {children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A menu displays a list of actions or options that a user can choose.\n */\nconst _Menu = /*#__PURE__*/ (forwardRef as forwardRefType)(Menu);\nexport {_Menu as Menu};\n\ninterface MenuSectionProps<T> extends StyleProps {\n section: Node<T>\n}\n\nfunction MenuSection<T>({section, className, style, ...otherProps}: MenuSectionProps<T>) {\n let state = useContext(MenuStateContext)!;\n let [headingRef, heading] = useSlot();\n let {headingProps, groupProps} = useMenuSection({\n heading,\n 'aria-label': section['aria-label'] ?? undefined\n });\n\n let children = useCachedChildren({\n items: state.collection.getChildren!(section.key),\n children: item => {\n switch (item.type) {\n case 'header': {\n let {ref, ...otherProps} = item.props;\n return (\n <Header\n {...headingProps}\n {...otherProps}\n ref={mergeRefs(headingRef, ref)}>\n {item.rendered}\n </Header>\n );\n }\n case 'item':\n return <MenuItem item={item} />;\n default:\n throw new Error('Unsupported element type in Section: ' + item.type);\n }\n }\n });\n\n return (\n <section\n {...filterDOMProps(otherProps)}\n {...groupProps}\n className={className || section.props?.className || 'react-aria-Section'}\n style={style || section.props?.style}\n ref={section.props.ref}>\n {children}\n </section>\n );\n}\n\ninterface MenuItemProps<T> {\n item: Node<T>\n}\n\nfunction MenuItem<T>({item}: MenuItemProps<T>) {\n let state = useContext(MenuStateContext)!;\n let ref = useObjectRef<any>(item.props.ref);\n let {menuItemProps, labelProps, descriptionProps, keyboardShortcutProps, ...states} = useMenuItem({key: item.key}, state, ref);\n\n let props: ItemProps<T> = item.props;\n let {isFocusVisible, focusProps} = useFocusRing();\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Item',\n values: {\n ...states,\n isHovered: states.isFocused,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior\n }\n });\n\n let ElementType: React.ElementType = props.href ? 'a' : 'div';\n\n return (\n <ElementType\n {...mergeProps(menuItemProps, focusProps)}\n {...renderProps}\n ref={ref}\n data-disabled={states.isDisabled || undefined}\n data-hovered={states.isFocused || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-selected={states.isSelected || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [TextContext, {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }],\n [KeyboardContext, keyboardShortcutProps]\n ]}>\n {renderProps.children}\n </Provider>\n </ElementType>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaMeterProps, useMeter} from 'react-aria';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\n\nexport interface MeterProps extends Omit<AriaMeterProps, 'label'>, RenderProps<MeterRenderProps>, SlotProps {}\n\nexport interface MeterRenderProps {\n /**\n * The value as a percentage between the minimum and maximum.\n */\n percentage: number,\n /**\n * A formatted version of the value.\n * @selector [aria-valuetext]\n */\n valueText: string | undefined\n}\n\nexport const MeterContext = createContext<ContextValue<MeterProps, HTMLDivElement>>(null);\n\nfunction Meter(props: MeterProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, MeterContext);\n let {\n value = 0,\n minValue = 0,\n maxValue = 100\n } = props;\n\n let [labelRef, label] = useSlot();\n let {\n meterProps,\n labelProps\n } = useMeter({...props, label});\n\n // Calculate the width of the progress bar as a percentage\n let percentage = (value - minValue) / (maxValue - minValue) * 100;\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Meter',\n values: {\n percentage,\n valueText: meterProps['aria-valuetext']\n }\n });\n\n return (\n <div {...meterProps} {...renderProps} ref={ref} slot={props.slot || undefined}>\n <LabelContext.Provider value={{...labelProps, ref: labelRef, elementType: 'span'}}>\n {renderProps.children}\n </LabelContext.Provider>\n </div>\n );\n}\n\n/**\n * A meter represents a quantity within a known range, or a fractional value.\n */\nconst _Meter = /*#__PURE__*/ (forwardRef as forwardRefType)(Meter);\nexport {_Meter as Meter};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaModalOverlayProps, DismissButton, Overlay, useIsSSR, useModalOverlay} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {DOMAttributes} from '@react-types/shared';\nimport {filterDOMProps, mergeProps, mergeRefs, useObjectRef, useViewportSize} from '@react-aria/utils';\nimport {OverlayTriggerProps, OverlayTriggerState, useOverlayTriggerState} from 'react-stately';\nimport {OverlayTriggerStateContext} from './Dialog';\nimport React, {createContext, ForwardedRef, forwardRef, RefObject, useContext, useMemo, useRef} from 'react';\n\nexport interface ModalOverlayProps extends AriaModalOverlayProps, OverlayTriggerProps, RenderProps<ModalRenderProps>, SlotProps {}\n\ninterface InternalModalContextValue {\n modalProps: DOMAttributes,\n modalRef: RefObject<HTMLDivElement>,\n isExiting: boolean,\n isDismissable?: boolean\n}\n\nexport const ModalContext = createContext<ContextValue<ModalOverlayProps, HTMLDivElement>>(null);\nconst InternalModalContext = createContext<InternalModalContextValue | null>(null);\n\nexport interface ModalRenderProps {\n /**\n * Whether the modal is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the modal is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean,\n /**\n * State of the modal.\n */\n state: OverlayTriggerState\n}\n\nfunction Modal(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {\n let ctx = useContext(InternalModalContext);\n\n if (ctx) {\n return <ModalContent {...props} modalRef={ref}>{props.children}</ModalContent>;\n }\n\n let {\n isDismissable,\n isKeyboardDismissDisabled,\n isOpen,\n defaultOpen,\n onOpenChange,\n children,\n ...otherProps\n } = props;\n\n return (\n <ModalOverlay\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}>\n <ModalContent {...otherProps} modalRef={ref}>\n {children}\n </ModalContent>\n </ModalOverlay>\n );\n}\n\ninterface ModalOverlayInnerProps extends ModalOverlayProps {\n overlayRef: RefObject<HTMLDivElement>,\n modalRef: RefObject<HTMLDivElement>,\n state: OverlayTriggerState,\n isExiting: boolean\n}\n\n/**\n * A modal is an overlay element which blocks interaction with elements outside it.\n */\nconst _Modal = /*#__PURE__*/ (forwardRef as forwardRefType)(Modal);\nexport {_Modal as Modal};\n\nfunction ModalOverlayWithForwardRef(props: ModalOverlayProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ModalContext);\n let contextState = useContext(OverlayTriggerStateContext);\n let localState = useOverlayTriggerState(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n\n let objectRef = useObjectRef(ref);\n let modalRef = useRef<HTMLDivElement>(null);\n let isOverlayExiting = useExitAnimation(objectRef, state.isOpen);\n let isModalExiting = useExitAnimation(modalRef, state.isOpen);\n let isExiting = isOverlayExiting || isModalExiting;\n let isSSR = useIsSSR();\n\n if ((!state.isOpen && !isExiting) || isSSR) {\n return null;\n }\n\n return (\n <ModalOverlayInner\n {...props}\n state={state}\n isExiting={isExiting}\n overlayRef={objectRef}\n modalRef={modalRef} />\n );\n}\n\n/**\n * A ModalOverlay is a wrapper for a Modal which allows customizing the backdrop element.\n */\nexport const ModalOverlay = /*#__PURE__*/ (forwardRef as forwardRefType)(ModalOverlayWithForwardRef);\n\nfunction ModalOverlayInner(props: ModalOverlayInnerProps) {\n let modalRef = props.modalRef;\n let {state} = props;\n let {modalProps, underlayProps} = useModalOverlay(props, state, modalRef);\n\n let entering = useEnterAnimation(props.overlayRef);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ModalOverlay',\n values: {\n isEntering: entering,\n isExiting: props.isExiting,\n state\n }\n });\n\n let viewport = useViewportSize();\n let style = {\n ...renderProps.style,\n '--visual-viewport-height': viewport.height + 'px'\n };\n\n return (\n <Overlay isExiting={props.isExiting}>\n <div\n {...mergeProps(filterDOMProps(props as any), underlayProps)}\n {...renderProps}\n style={style}\n ref={props.overlayRef}\n data-entering={entering || undefined}\n data-exiting={props.isExiting || undefined}>\n <Provider\n values={[\n [InternalModalContext, {modalProps, modalRef, isExiting: props.isExiting, isDismissable: props.isDismissable}],\n [OverlayTriggerStateContext, state]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </Overlay>\n );\n}\n\ninterface ModalContentProps extends RenderProps<ModalRenderProps> {\n modalRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction ModalContent(props: ModalContentProps) {\n let {modalProps, modalRef, isExiting, isDismissable} = useContext(InternalModalContext)!;\n let state = useContext(OverlayTriggerStateContext)!;\n let mergedRefs = useMemo(() => mergeRefs(props.modalRef, modalRef), [props.modalRef, modalRef]);\n\n let ref = useObjectRef(mergedRefs);\n let entering = useEnterAnimation(ref);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Modal',\n values: {\n isEntering: entering,\n isExiting,\n state\n }\n });\n\n return (\n <div\n {...mergeProps(filterDOMProps(props as any), modalProps)}\n {...renderProps}\n ref={ref}\n data-entering={entering || undefined}\n data-exiting={isExiting || undefined}>\n {isDismissable &&\n <DismissButton onDismiss={state.close} />\n }\n {renderProps.children}\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaNumberFieldProps, useLocale, useNumberField} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {GroupContext} from './Group';\nimport {InputContext} from './Input';\nimport {InputDOMProps} from '@react-types/shared';\nimport {LabelContext} from './Label';\nimport {NumberFieldState, useNumberFieldState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface NumberFieldRenderProps {\n /**\n * Whether the number field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the number field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the number field.\n */\n state: NumberFieldState\n}\n\nexport interface NumberFieldProps extends Omit<AriaNumberFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, InputDOMProps, RenderProps<NumberFieldRenderProps>, SlotProps {}\n\nexport const NumberFieldContext = createContext<ContextValue<NumberFieldProps, HTMLDivElement>>(null);\nexport const NumberFieldStateContext = createContext<NumberFieldState | null>(null);\n\nfunction NumberField(props: NumberFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, NumberFieldContext);\n let {locale} = useLocale();\n let state = useNumberFieldState({...props, locale});\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let {\n labelProps,\n groupProps,\n inputProps,\n incrementButtonProps,\n decrementButtonProps,\n descriptionProps,\n errorMessageProps\n } = useNumberField({...removeDataAttributes(props), label}, state, inputRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n state,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false\n },\n defaultClassName: 'react-aria-NumberField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [NumberFieldStateContext, state],\n [GroupContext, groupProps],\n [InputContext, {...inputProps, ref: inputRef}],\n [LabelContext, {...labelProps, ref: labelRef}],\n [ButtonContext, {\n slots: {\n increment: incrementButtonProps,\n decrement: decrementButtonProps\n }\n }],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined} />\n {props.name && <input type=\"hidden\" name={props.name} value={isNaN(state.numberValue) ? '' : state.numberValue} />}\n </Provider>\n );\n}\n\n/**\n * A number field allows a user to enter a number, and increment or decrement the value using stepper buttons.\n */\nconst _NumberField = /*#__PURE__*/ (forwardRef as forwardRefType)(NumberField);\nexport {_NumberField as NumberField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaProgressBarProps, useProgressBar} from 'react-aria';\nimport {ContextValue, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\n\nexport interface ProgressBarProps extends Omit<AriaProgressBarProps, 'label'>, RenderProps<ProgressBarRenderProps>, SlotProps {}\n\nexport interface ProgressBarRenderProps {\n /**\n * The value as a percentage between the minimum and maximum.\n */\n percentage?: number,\n /**\n * A formatted version of the value.\n * @selector [aria-valuetext]\n */\n valueText: string | undefined,\n /**\n * Whether the progress bar is indeterminate.\n * @selector :not([aria-valuenow])\n */\n isIndeterminate: boolean\n}\n\nexport const ProgressBarContext = createContext<ContextValue<ProgressBarProps, HTMLDivElement>>(null);\n\nfunction ProgressBar(props: ProgressBarProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, ProgressBarContext);\n let {\n value = 0,\n minValue = 0,\n maxValue = 100,\n isIndeterminate = false\n } = props;\n\n let [labelRef, label] = useSlot();\n let {\n progressBarProps,\n labelProps\n } = useProgressBar({...props, label});\n\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate\n }\n });\n\n return (\n <div {...progressBarProps} {...renderProps} ref={ref} slot={props.slot || undefined}>\n <LabelContext.Provider value={{...labelProps, ref: labelRef, elementType: 'span'}}>\n {renderProps.children}\n </LabelContext.Provider>\n </div>\n );\n}\n\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n */\nconst _ProgressBar = forwardRef(ProgressBar);\nexport {_ProgressBar as ProgressBar};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaRadioGroupProps, AriaRadioProps, Orientation, useFocusRing, useHover, usePress, useRadio, useRadioGroup, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeProps, useObjectRef} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport {RadioGroupState, useRadioGroupState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, useState} from 'react';\nimport {TextContext} from './Text';\n\nexport interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<RadioGroupRenderProps>, SlotProps {}\nexport interface RadioProps extends Omit<AriaRadioProps, 'children'>, RenderProps<RadioRenderProps>, SlotProps {}\n\nexport interface RadioGroupRenderProps {\n /**\n * The orientation of the radio group.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * Whether the radio group is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the radio group is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the radio group is required.\n * @selector [data-required]\n */\n isRequired: boolean,\n /**\n * Whether the radio group is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the radio group.\n */\n state: RadioGroupState\n}\n\nexport interface RadioRenderProps {\n /**\n * Whether the radio is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the radio is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the radio is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the radio is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the radio is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the radio is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the radio is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * Whether the radio is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the checkbox is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport const RadioGroupContext = createContext<ContextValue<RadioGroupProps, HTMLDivElement>>(null);\nexport const RadioContext = createContext<ContextValue<Partial<RadioProps>, HTMLInputElement>>(null);\nexport const RadioGroupStateContext = createContext<RadioGroupState | null>(null);\n\nfunction RadioGroup(props: RadioGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, RadioGroupContext);\n let state = useRadioGroupState(props);\n let [labelRef, label] = useSlot();\n let {radioGroupProps, labelProps, descriptionProps, errorMessageProps} = useRadioGroup({\n ...props,\n label\n }, state);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n orientation: props.orientation || 'vertical',\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: state.isRequired,\n isInvalid: state.isInvalid,\n state\n },\n defaultClassName: 'react-aria-RadioGroup'\n });\n\n return (\n <div\n {...radioGroupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-orientation={props.orientation || 'vertical'}\n data-invalid={state.isInvalid || undefined}\n data-disabled={state.isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-required={state.isRequired || undefined}>\n <Provider\n values={[\n [RadioGroupStateContext, state],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\nfunction Radio(props: RadioProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, RadioContext);\n let state = React.useContext(RadioGroupStateContext)!;\n let domRef = useObjectRef(ref);\n let {inputProps, isSelected, isDisabled, isPressed: isPressedKeyboard} = useRadio({\n ...removeDataAttributes<RadioProps>(props),\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, state, domRef);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let interactionDisabled = isDisabled || state.isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useRadio\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: interactionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: interactionDisabled\n });\n\n let pressed = interactionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Radio',\n values: {\n isSelected,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly: state.isReadOnly,\n isInvalid: state.isInvalid,\n isRequired: state.isRequired\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n data-selected={isSelected || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={state.isReadOnly || undefined}\n data-invalid={state.isInvalid || undefined}\n data-required={state.isRequired || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...mergeProps(inputProps, focusProps)} ref={domRef} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A radio group allows a user to select a single item from a list of mutually exclusive options.\n */\nconst _RadioGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(RadioGroup);\n\n/**\n * A radio represents an individual option within a radio group.\n */\nconst _Radio = /*#__PURE__*/ (forwardRef as forwardRefType)(Radio);\n\nexport {_RadioGroup as RadioGroup, _Radio as Radio};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSearchFieldProps, useSearchField} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {ContextValue, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {SearchFieldState, useSearchFieldState} from 'react-stately';\nimport {TextContext} from './Text';\n\nexport interface SearchFieldRenderProps {\n /**\n * Whether the search field is empty.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the search field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the search field is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * State of the search field.\n */\n state: SearchFieldState\n}\n\nexport interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, RenderProps<SearchFieldRenderProps>, SlotProps {}\n\nexport const SearchFieldContext = createContext<ContextValue<SearchFieldProps, HTMLDivElement>>(null);\n\nfunction SearchField(props: SearchFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SearchFieldContext);\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let state = useSearchFieldState(props);\n let {labelProps, inputProps, clearButtonProps, descriptionProps, errorMessageProps} = useSearchField({\n ...removeDataAttributes(props),\n label\n }, state, inputRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isEmpty: state.value === '',\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n state\n },\n defaultClassName: 'react-aria-SearchField'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...DOMProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-empty={state.value === '' || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}],\n [InputContext, {...inputProps, ref: inputRef}],\n [ButtonContext, clearButtonProps],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A search field allows a user to enter and clear a search query.\n */\nconst _SearchField = /*#__PURE__*/ (forwardRef as forwardRefType)(SearchField);\nexport {_SearchField as SearchField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSelectProps, HiddenSelect, useFocusRing, useLocalizedStringFormatter, useSelect} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CollectionDocumentContext, ItemRenderProps, useCollectionDocument} from './Collection';\nimport {ContextValue, forwardRefType, Hidden, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils';\nimport {filterDOMProps, useResizeObserver} from '@react-aria/utils';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {LabelContext} from './Label';\nimport {ListBoxContext, ListStateContext} from './ListBox';\nimport {OverlayTriggerStateContext} from './Dialog';\nimport {PopoverContext} from './Popover';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, useCallback, useContext, useMemo, useRef, useState} from 'react';\nimport {SelectState, useSelectState} from 'react-stately';\nimport {TextContext} from './Text';\n\nexport interface SelectRenderProps {\n /**\n * Whether the select is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the select is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the select is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the select is currently open.\n * @selector [data-open]\n */\n isOpen: boolean,\n /**\n * Whether the select is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean,\n /**\n * Whether the select is required.\n * @selector [data-required]\n */\n isRequired: boolean\n}\n\nexport interface SelectProps<T extends object> extends Omit<AriaSelectProps<T>, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'items'>, RenderProps<SelectRenderProps>, SlotProps {}\n\nexport const SelectContext = createContext<ContextValue<SelectProps<any>, HTMLDivElement>>(null);\nexport const SelectStateContext = createContext<SelectState<unknown> | null>(null);\n\nfunction Select<T extends object>(props: SelectProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SelectContext);\n let {collection, document} = useCollectionDocument();\n let state = useSelectState({\n ...props,\n collection,\n children: undefined\n });\n\n let {isFocusVisible, focusProps} = useFocusRing({within: true});\n\n // Only expose a subset of state to renderProps function to avoid infinite render loop\n let renderPropsState = useMemo(() => ({\n isOpen: state.isOpen,\n isFocused: state.isFocused,\n isFocusVisible,\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false,\n isRequired: props.isRequired || false\n }), [state.isOpen, state.isFocused, isFocusVisible, props.isDisabled, props.isInvalid, props.isRequired]);\n\n // Get props for child elements from useSelect\n let buttonRef = useRef<HTMLButtonElement>(null);\n let [labelRef, label] = useSlot();\n let {\n labelProps,\n triggerProps,\n valueProps,\n menuProps,\n descriptionProps,\n errorMessageProps\n } = useSelect({...removeDataAttributes(props), label}, state, buttonRef);\n\n // Make menu width match input + button\n let [buttonWidth, setButtonWidth] = useState<string | null>(null);\n let onResize = useCallback(() => {\n if (buttonRef.current) {\n setButtonWidth(buttonRef.current.offsetWidth + 'px');\n }\n }, [buttonRef]);\n\n useResizeObserver({\n ref: buttonRef,\n onResize: onResize\n });\n\n let renderProps = useRenderProps({\n ...props,\n values: renderPropsState,\n defaultClassName: 'react-aria-Select'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection even when the popover is not open.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <Provider\n values={[\n [SelectContext, props],\n [SelectStateContext, state],\n [CollectionDocumentContext, document]\n ]}>\n {renderProps.children}\n </Provider>\n </Hidden>\n <Provider\n values={[\n [SelectContext, props],\n [SelectStateContext, state],\n [SelectValueContext, valueProps],\n [LabelContext, {...labelProps, ref: labelRef, elementType: 'span'}],\n [ButtonContext, {...triggerProps, ref: buttonRef, isPressed: state.isOpen}],\n [OverlayTriggerStateContext, state],\n [PopoverContext, {\n triggerRef: buttonRef,\n placement: 'bottom start',\n style: {'--trigger-width': buttonWidth} as React.CSSProperties\n }],\n [ListBoxContext, menuProps],\n [ListStateContext, state],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n <div\n {...DOMProps}\n {...renderProps}\n {...focusProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focused={state.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}\n data-required={props.isRequired || undefined} />\n <HiddenSelect\n state={state}\n triggerRef={buttonRef}\n label={label}\n name={props.name}\n isDisabled={props.isDisabled} />\n </Provider>\n </>\n );\n}\n\n/**\n * A select displays a collapsible list of options and allows a user to select one of them.\n */\nconst _Select = /*#__PURE__*/ (forwardRef as forwardRefType)(Select);\nexport {_Select as Select};\n\nexport interface SelectValueRenderProps<T> {\n /**\n * Whether the value is a placeholder.\n * @selector [data-placeholder]\n */\n isPlaceholder: boolean,\n /** The object value of the currently selected item. */\n selectedItem: T | null,\n /** The textValue of the currently selected item. */\n selectedText: string | null\n}\n\nexport interface SelectValueProps<T extends object> extends Omit<HTMLAttributes<HTMLElement>, keyof RenderProps<unknown>>, RenderProps<SelectValueRenderProps<T>> {}\n\nexport const SelectValueContext = createContext<ContextValue<SelectValueProps<any>, HTMLSpanElement>>(null);\n\nfunction SelectValue<T extends object>(props: SelectValueProps<T>, ref: ForwardedRef<HTMLSpanElement>) {\n [props, ref] = useContextProps(props, ref, SelectValueContext);\n let state = useContext(SelectStateContext)!;\n let {placeholder} = useSlottedContext(SelectContext)!;\n let selectedItem = state.selectedKey != null\n ? state.collection.getItem(state.selectedKey)\n : null;\n let rendered = selectedItem?.rendered;\n if (typeof rendered === 'function') {\n // If the selected item has a function as a child, we need to call it to render to JSX.\n let fn = rendered as (s: ItemRenderProps) => ReactNode;\n rendered = fn({\n isHovered: false,\n isPressed: false,\n isSelected: false,\n isFocused: false,\n isFocusVisible: false,\n isDisabled: false,\n selectionMode: 'single',\n selectionBehavior: 'toggle'\n });\n }\n\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n let renderProps = useRenderProps({\n ...props,\n defaultChildren: rendered || placeholder || stringFormatter.format('selectPlaceholder'),\n defaultClassName: 'react-aria-SelectValue',\n values: {\n selectedItem: state.selectedItem?.value as T ?? null,\n selectedText: state.selectedItem?.textValue ?? null,\n isPlaceholder: !selectedItem\n }\n });\n\n let DOMProps = filterDOMProps(props);\n\n return (\n <span ref={ref} {...DOMProps} {...renderProps} data-placeholder={!selectedItem || undefined}>\n {/* clear description and error message slots */}\n <TextContext.Provider value={undefined}>\n {renderProps.children}\n </TextContext.Provider>\n </span>\n );\n}\n\n/**\n * SelectValue renders the current value of a Select, or a placeholder if no value is selected.\n * It is usually placed within the button element.\n */\nconst _SelectValue = /*#__PURE__*/ (forwardRef as forwardRefType)(SelectValue);\nexport {_SelectValue as SelectValue};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSliderProps, AriaSliderThumbProps, mergeProps, Orientation, useFocusRing, useHover, useNumberFormatter, useSlider, useSliderThumb, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot, useSlottedContext} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, OutputHTMLAttributes, RefObject, useContext, useRef} from 'react';\nimport {SliderState, useSliderState} from 'react-stately';\n\nexport interface SliderProps<T = number | number[]> extends Omit<AriaSliderProps<T>, 'label'>, RenderProps<SliderRenderProps>, SlotProps {\n /**\n * The display format of the value label.\n */\n formatOptions?: Intl.NumberFormatOptions\n}\n\nexport const SliderContext = createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\nexport const SliderStateContext = createContext<SliderState | null>(null);\nexport const SliderTrackContext = createContext<ContextValue<SliderTrackContextValue, HTMLDivElement>>(null);\nexport const SliderOutputContext = createContext<ContextValue<SliderOutputContextValue, HTMLOutputElement>>(null);\n\nexport interface SliderRenderProps {\n /**\n * The orientation of the slider.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * Whether the slider is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * State of the slider.\n */\n state: SliderState\n}\n\nfunction Slider<T extends number | number[]>(props: SliderProps<T>, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SliderContext);\n let trackRef = useRef<HTMLDivElement>(null);\n let numberFormatter = useNumberFormatter(props.formatOptions);\n let state = useSliderState({...props, numberFormatter});\n let [labelRef, label] = useSlot();\n let {\n groupProps,\n trackProps,\n labelProps,\n outputProps\n } = useSlider({...props, label}, state, trackRef);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state\n },\n defaultClassName: 'react-aria-Slider'\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <Provider\n values={[\n [SliderStateContext, state],\n [SliderTrackContext, {...trackProps, ref: trackRef}],\n [SliderOutputContext, outputProps],\n [LabelContext, {...labelProps, ref: labelRef}]\n ]}>\n <div\n {...DOMProps}\n {...groupProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-orientation={state.orientation}\n data-disabled={state.isDisabled || undefined} />\n </Provider>\n );\n}\n\n/**\n * A slider allows a user to select one or more values within a range.\n */\nconst _Slider = /*#__PURE__*/ (forwardRef as forwardRefType)(Slider);\nexport {_Slider as Slider};\n\nexport interface SliderOutputProps extends RenderProps<SliderRenderProps> {}\ninterface SliderOutputContextValue extends Omit<OutputHTMLAttributes<HTMLOutputElement>, 'children' | 'className' | 'style'>, SliderOutputProps {}\n\nfunction SliderOutput(props: SliderOutputProps, ref: ForwardedRef<HTMLOutputElement>) {\n [props, ref] = useContextProps(props, ref, SliderOutputContext);\n let {children, style, className, ...otherProps} = props;\n let state = useContext(SliderStateContext)!;\n let renderProps = useRenderProps({\n className,\n style,\n children,\n defaultChildren: state.getThumbValueLabel(0),\n defaultClassName: 'react-aria-SliderOutput',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state\n }\n });\n\n return (\n <output\n {...otherProps}\n {...renderProps}\n ref={ref}\n data-orientation={state.orientation || undefined}\n data-disabled={state.isDisabled || undefined} />\n );\n}\n\n/**\n * A slider output displays the current value of a slider as text.\n */\nconst _SliderOutput = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderOutput);\nexport {_SliderOutput as SliderOutput};\n\nexport interface SliderTrackRenderProps extends SliderRenderProps {\n /**\n * Whether the slider track is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean\n}\n\nexport interface SliderTrackProps extends RenderProps<SliderTrackRenderProps> {}\ninterface SliderTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'>, SliderTrackProps {}\n\nfunction SliderTrack(props: SliderTrackProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, SliderTrackContext);\n let state = useContext(SliderStateContext)!;\n let {hoverProps, isHovered} = useHover({});\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-SliderTrack',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n isHovered,\n state\n }\n });\n\n return (\n <div\n {...mergeProps(props, hoverProps)}\n {...renderProps}\n ref={ref}\n data-hovered={isHovered || undefined}\n data-orientation={state.orientation || undefined}\n data-disabled={state.isDisabled || undefined} />\n );\n}\n\n/**\n * A slider track is a container for one or more slider thumbs.\n */\nconst _SliderTrack = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderTrack);\nexport {_SliderTrack as SliderTrack};\n\nexport interface SliderThumbRenderProps {\n /**\n * State of the slider.\n */\n state: SliderState,\n /**\n * Whether this thumb is currently being dragged.\n * @selector [data-dragging]\n */\n isDragging: boolean,\n /**\n * Whether the thumb is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the thumb is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the thumb is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the thumb is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface SliderThumbProps extends Omit<AriaSliderThumbProps, 'validationState'>, RenderProps<SliderThumbRenderProps> {}\n\nfunction SliderThumb(props: SliderThumbProps, ref: ForwardedRef<HTMLDivElement>) {\n let state = useContext(SliderStateContext)!;\n let {ref: trackRef} = useSlottedContext(SliderTrackContext)!;\n let {index = 0} = props;\n let inputRef = useRef<HTMLInputElement>(null);\n let [labelRef, label] = useSlot();\n let {thumbProps, inputProps, labelProps, isDragging, isFocused, isDisabled} = useSliderThumb({\n ...props,\n index,\n trackRef: trackRef as RefObject<HTMLDivElement>,\n inputRef,\n label\n }, state);\n\n let {focusProps, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-SliderThumb',\n values: {\n state,\n isHovered,\n isDragging,\n isFocused,\n isFocusVisible,\n isDisabled\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...mergeProps(DOMProps, thumbProps, hoverProps)}\n {...renderProps}\n ref={ref}\n style={{...thumbProps.style, ...renderProps.style}}\n data-hovered={isHovered || undefined}\n data-dragging={isDragging || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}>\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A slider thumb represents an individual value that the user can adjust within a slider track.\n */\nconst _SliderThumb = /*#__PURE__*/ (forwardRef as forwardRefType)(SliderThumb);\nexport {_SliderThumb as SliderThumb};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaSwitchProps, mergeProps, useFocusRing, useHover, usePress, useSwitch, VisuallyHidden} from 'react-aria';\nimport {ContextValue, forwardRefType, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, useState} from 'react';\nimport {ToggleState, useToggleState} from 'react-stately';\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'children'>, RenderProps<SwitchRenderProps>, SlotProps {}\n\nexport interface SwitchRenderProps {\n /**\n * Whether the switch is selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the switch is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the switch is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the switch is focused, either via a mouse or keyboard.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the switch is keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the switch is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the switch is read only.\n * @selector [data-readonly]\n */\n isReadOnly: boolean,\n /**\n * State of the switch.\n */\n state: ToggleState\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, HTMLInputElement>>(null);\n\nfunction Switch(props: SwitchProps, ref: ForwardedRef<HTMLInputElement>) {\n [props, ref] = useContextProps(props, ref, SwitchContext);\n let state = useToggleState(props);\n let {inputProps, isSelected, isDisabled, isReadOnly, isPressed: isPressedKeyboard} = useSwitch({\n ...removeDataAttributes(props),\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, state, ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let isInteractionDisabled = props.isDisabled || props.isReadOnly;\n\n // Handle press state for full label. Keyboard press state is returned by useSwitch\n // since it is handled on the <input> element itself.\n let [isPressed, setPressed] = useState(false);\n let {pressProps} = usePress({\n isDisabled: isInteractionDisabled,\n onPressStart(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(true);\n }\n },\n onPressEnd(e) {\n if (e.pointerType !== 'keyboard') {\n setPressed(false);\n }\n }\n });\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: isInteractionDisabled\n });\n\n let pressed = isInteractionDisabled ? false : (isPressed || isPressedKeyboard);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Switch',\n values: {\n isSelected,\n isPressed: pressed,\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled,\n isReadOnly,\n state\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <label\n {...mergeProps(DOMProps, pressProps, hoverProps, renderProps)}\n slot={props.slot || undefined}\n data-selected={isSelected || undefined}\n data-pressed={pressed || undefined}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={isDisabled || undefined}\n data-readonly={isReadOnly || undefined}>\n <VisuallyHidden elementType=\"span\">\n <input {...inputProps} {...focusProps} ref={ref} />\n </VisuallyHidden>\n {renderProps.children}\n </label>\n );\n}\n\n/**\n * A switch allows a user to turn a setting on or off.\n */\nconst _Switch = /*#__PURE__*/ (forwardRef as forwardRefType)(Switch);\nexport {_Switch as Switch};\n","import {AriaLabelingProps, LinkDOMProps} from '@react-types/shared';\nimport {BaseCollection, CollectionContext, CollectionProps, CollectionRendererContext, ItemRenderProps, NodeValue, useCachedChildren, useCollection, useCollectionChildren, useSSRCollectionNode} from './Collection';\nimport {buildHeaderRows, TableColumnResizeState} from '@react-stately/table';\nimport {ButtonContext} from './Button';\nimport {CheckboxContext} from './Checkbox';\nimport {ColumnSize, ColumnStaticSize, TableCollection as ITableCollection, TableProps as SharedTableProps} from '@react-types/table';\nimport {ContextValue, defaultSlot, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {DisabledBehavior, DraggableCollectionState, DroppableCollectionState, Node, SelectionBehavior, SelectionMode, SortDirection, TableState, useTableColumnResizeState, useTableState} from 'react-stately';\nimport {DragAndDropContext, DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';\nimport {DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useHover, useLocale, useLocalizedStringFormatter, useTable, useTableCell, useTableColumnHeader, useTableColumnResize, useTableHeaderRow, useTableRow, useTableRowGroup, useTableSelectAllCheckbox, useTableSelectionCheckbox, useVisuallyHidden} from 'react-aria';\nimport {filterDOMProps, useLayoutEffect, useObjectRef, useResizeObserver} from '@react-aria/utils';\nimport {GridNode} from '@react-types/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactElement, ReactNode, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport ReactDOM from 'react-dom';\n\nclass TableCollection<T> extends BaseCollection<T> implements ITableCollection<T> {\n headerRows: GridNode<T>[] = [];\n columns: GridNode<T>[] = [];\n rowHeaderColumnKeys: Set<Key> = new Set();\n head: NodeValue<T> = new NodeValue('tableheader', -1);\n body: NodeValue<T> = new NodeValue('tablebody', -2);\n columnsDirty = true;\n\n addNode(node: NodeValue<T>) {\n super.addNode(node);\n\n this.columnsDirty ||= node.type === 'column';\n if (node.type === 'tableheader') {\n this.head = node;\n }\n\n if (node.type === 'tablebody') {\n this.body = node;\n }\n }\n\n commit(firstKey: Key, lastKey: Key, isSSR = false) {\n this.updateColumns(isSSR);\n super.commit(firstKey, lastKey, isSSR);\n }\n\n private updateColumns(isSSR: boolean) {\n if (!this.columnsDirty) {\n return;\n }\n\n this.rowHeaderColumnKeys = new Set();\n this.columns = [];\n\n let columnKeyMap = new Map();\n let visit = (node: Node<T>) => {\n switch (node.type) {\n case 'column':\n columnKeyMap.set(node.key, node);\n if (!node.hasChildNodes) {\n node.index = this.columns.length;\n this.columns.push(node);\n\n if (node.props.isRowHeader) {\n this.rowHeaderColumnKeys.add(node.key);\n }\n }\n break;\n }\n for (let child of this.getChildren(node.key)) {\n visit(child);\n }\n };\n\n for (let node of this.getChildren(this.head.key)) {\n visit(node);\n }\n\n this.headerRows = buildHeaderRows(columnKeyMap, this.columns);\n this.columnsDirty = false;\n if (this.rowHeaderColumnKeys.size === 0 && this.columns.length > 0 && !isSSR) {\n throw new Error('A table must have at least one Column with the isRowHeader prop set to true');\n }\n }\n\n get columnCount() {\n return this.columns.length;\n }\n\n get rows() {\n return [...this.getChildren(this.body.key)];\n }\n\n *[Symbol.iterator]() {\n yield* this.getChildren(this.body.key);\n }\n\n get size() {\n return [...this.getChildren(this.body.key)].length;\n }\n\n getFirstKey() {\n return [...this.getChildren(this.body.key)][0]?.key;\n }\n\n getLastKey() {\n let rows = [...this.getChildren(this.body.key)];\n return rows[rows.length - 1]?.key;\n }\n\n getKeyAfter(key: Key) {\n let node = this.getItem(key);\n if (node?.type === 'column') {\n return node.nextKey ?? null;\n }\n\n return super.getKeyAfter(key);\n }\n\n getKeyBefore(key: Key) {\n let node = this.getItem(key);\n if (node?.type === 'column') {\n return node.prevKey ?? null;\n }\n\n let k = super.getKeyBefore(key);\n if (k != null && this.getItem(k)?.type === 'tablebody') {\n return null;\n }\n\n return k;\n }\n\n getChildren(key: Key): Iterable<Node<T>> {\n if (!this.getItem(key)) {\n for (let row of this.headerRows) {\n if (row.key === key) {\n return row.childNodes;\n }\n }\n }\n\n return super.getChildren(key);\n }\n\n clone() {\n let collection = super.clone();\n collection.headerRows = this.headerRows;\n collection.columns = this.columns;\n collection.rowHeaderColumnKeys = this.rowHeaderColumnKeys;\n collection.head = this.head;\n collection.body = this.body;\n return collection;\n }\n\n getTextValue(key: Key): string {\n let row = this.getItem(key);\n if (!row) {\n return '';\n }\n\n // If the row has a textValue, use that.\n if (row.textValue) {\n return row.textValue;\n }\n\n // Otherwise combine the text of each of the row header columns.\n let rowHeaderColumnKeys = this.rowHeaderColumnKeys;\n let text: string[] = [];\n for (let cell of this.getChildren(key)) {\n let column = this.columns[cell.index!];\n if (rowHeaderColumnKeys.has(column.key) && cell.textValue) {\n text.push(cell.textValue);\n }\n\n if (text.length === rowHeaderColumnKeys.size) {\n break;\n }\n }\n\n return text.join(' ');\n }\n}\n\ninterface ResizableTableContainerContextValue {\n tableWidth: number,\n // Dependency inject useTableColumnResizeState so it doesn't affect bundle size unless you're using ResizableTableContainer.\n useTableColumnResizeState: typeof useTableColumnResizeState,\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void\n}\n\nconst ResizableTableContainerContext = createContext<ResizableTableContainerContextValue | null>(null);\n\nexport interface ResizableTableContainerProps extends DOMProps {\n /**\n * Handler that is called when a user starts a column resize.\n */\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called when a user performs a column resize.\n * Can be used with the width property on columns to put the column widths into\n * a controlled state.\n */\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called after a user performs a column resize.\n * Can be used to store the widths of columns for another future session.\n */\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void\n}\n\nfunction ResizableTableContainer(props: ResizableTableContainerProps, ref: ForwardedRef<HTMLDivElement>) {\n let objectRef = useObjectRef(ref);\n let [width, setWidth] = useState(0);\n useResizeObserver({\n ref: objectRef,\n onResize() {\n setWidth(objectRef.current?.clientWidth);\n }\n });\n\n useLayoutEffect(() => {\n setWidth(objectRef.current?.clientWidth);\n }, [objectRef]);\n\n let ctx = useMemo(() => ({\n tableWidth: width,\n useTableColumnResizeState,\n onResizeStart: props.onResizeStart,\n onResize: props.onResize,\n onResizeEnd: props.onResizeEnd\n }), [width, props.onResizeStart, props.onResize, props.onResizeEnd]);\n\n return (\n <div\n {...filterDOMProps(props as any)}\n ref={objectRef}\n className={props.className || 'react-aria-ResizableTableContainer'}\n style={props.style}>\n <ResizableTableContainerContext.Provider value={ctx}>\n {props.children}\n </ResizableTableContainerContext.Provider>\n </div>\n );\n}\n\nconst _ResizableTableContainer = forwardRef(ResizableTableContainer);\nexport {_ResizableTableContainer as ResizableTableContainer};\n\nexport const TableContext = createContext<ContextValue<TableProps, HTMLTableElement>>(null);\nexport const TableStateContext = createContext<TableState<unknown> | null>(null);\nexport const TableColumnResizeStateContext = createContext<TableColumnResizeState<unknown> | null>(null);\n\nexport interface TableRenderProps {\n /**\n * Whether the table is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the table is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the table is currently the active drop target.\n * @selector [data-drop-target]\n */\n isDropTarget: boolean,\n /**\n * State of the table.\n */\n state: TableState<unknown>\n}\n\nexport interface TableProps extends Omit<SharedTableProps<any>, 'children'>, StyleRenderProps<TableRenderProps>, SlotProps, AriaLabelingProps {\n /** The elements that make up the table. Includes the TableHeader, TableBody, Columns, and Rows. */\n children?: ReactNode,\n /**\n * How multiple selection should behave in the collection.\n * @default \"toggle\"\n */\n selectionBehavior?: SelectionBehavior,\n /**\n * Whether `disabledKeys` applies to all interactions, or only selection.\n * @default \"selection\"\n */\n disabledBehavior?: DisabledBehavior,\n /** Handler that is called when a user performs an action on the row. */\n onRowAction?: (key: Key) => void,\n /** Handler that is called when a user performs an action on the cell. */\n onCellAction?: (key: Key) => void,\n /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the Table. */\n dragAndDropHooks?: DragAndDropHooks\n}\n\nfunction Table(props: TableProps, ref: ForwardedRef<HTMLTableElement>) {\n [props, ref] = useContextProps(props, ref, TableContext);\n let initialCollection = useMemo(() => new TableCollection<any>(), []);\n let {portal, collection} = useCollection(props, initialCollection);\n let state = useTableState({\n ...props,\n collection,\n children: undefined\n });\n\n let {gridProps} = useTable(props, state, ref);\n\n let {dragAndDropHooks} = props;\n let selectionManager = state.selectionManager;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n }, [isListDraggable, isListDroppable]);\n\n let dragState: DraggableCollectionState | undefined = undefined;\n let dropState: DroppableCollectionState | undefined = undefined;\n let droppableCollection: DroppableCollectionResult | undefined = undefined;\n let isRootDropTarget = false;\n let dragPreview: JSX.Element | null = null;\n let preview = useRef<DragPreviewRenderer>(null);\n\n if (isListDraggable && dragAndDropHooks) {\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n dragAndDropHooks.useDraggableCollection!({}, dragState, ref);\n\n let DragPreview = dragAndDropHooks.DragPreview!;\n dragPreview = dragAndDropHooks.renderDragPreview\n ? <DragPreview ref={preview}>{dragAndDropHooks.renderDragPreview}</DragPreview>\n : null;\n }\n\n if (isListDroppable && dragAndDropHooks) {\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection,\n selectionManager\n });\n\n let keyboardDelegate = new ListKeyboardDelegate(\n collection,\n selectionManager.disabledBehavior === 'selection' ? new Set() : selectionManager.disabledKeys,\n ref\n );\n let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection, ref);\n droppableCollection = dragAndDropHooks.useDroppableCollection!({\n keyboardDelegate,\n dropTargetDelegate\n }, dropState, ref);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-Table',\n values: {\n isDropTarget: isRootDropTarget,\n isFocused,\n isFocusVisible,\n state\n }\n });\n\n let {selectionBehavior, selectionMode, disallowEmptySelection} = state.selectionManager;\n let ctx = useMemo(() => ({\n selectionBehavior: selectionMode === 'none' ? null : selectionBehavior,\n selectionMode,\n disallowEmptySelection,\n allowsDragging: isListDraggable\n }), [selectionBehavior, selectionMode, disallowEmptySelection, isListDraggable]);\n\n let style = renderProps.style;\n let tableContainerContext = useContext(ResizableTableContainerContext);\n let layoutState: TableColumnResizeState<unknown> | null = null;\n if (tableContainerContext) {\n layoutState = tableContainerContext.useTableColumnResizeState({\n tableWidth: tableContainerContext.tableWidth\n }, state);\n style = {\n ...style,\n tableLayout: 'fixed',\n width: 'fit-content'\n };\n }\n\n return (\n <>\n <TableOptionsContext.Provider value={ctx}>\n {portal}\n </TableOptionsContext.Provider>\n <Provider\n values={[\n [TableStateContext, state],\n [TableColumnResizeStateContext, layoutState],\n [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],\n [DropIndicatorContext, {render: TableDropIndicatorWrapper}]\n ]}>\n <FocusScope>\n <table\n {...filterDOMProps(props)}\n {...renderProps}\n {...mergeProps(gridProps, focusProps, droppableCollection?.collectionProps)}\n style={style}\n ref={ref}\n slot={props.slot || undefined}\n data-allows-dragging={isListDraggable || undefined}\n data-drop-target={isRootDropTarget || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n <TableHeaderRowGroup collection={collection} />\n <TableBodyRowGroup collection={collection} isDroppable={isListDroppable} />\n </table>\n </FocusScope>\n {dragPreview}\n </Provider>\n </>\n );\n}\n\n/**\n * A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys,\n * and optionally supports row selection and sorting.\n */\nconst _Table = forwardRef(Table);\nexport {_Table as Table};\n\nexport interface TableOptionsContextValue {\n /** The type of selection that is allowed in the table. */\n selectionMode: SelectionMode,\n /** The selection behavior for the table. If selectionMode is `\"none\"`, this will be `null`. */\n selectionBehavior: SelectionBehavior | null,\n /** Whether the table allows empty selection. */\n disallowEmptySelection: boolean,\n /** Whether the table allows rows to be dragged. */\n allowsDragging: boolean\n}\n\nconst TableOptionsContext = createContext<TableOptionsContextValue | null>(null);\n\n/**\n * Returns options from the parent `<Table>` component.\n */\nexport function useTableOptions(): TableOptionsContextValue {\n return useContext(TableOptionsContext)!;\n}\n\nexport interface TableHeaderProps<T> extends StyleProps {\n /** A list of table columns. */\n columns?: T[],\n /** A list of `Column(s)` or a function. If the latter, a list of columns must be provided using the `columns` prop. */\n children?: ReactNode | ((item: T) => ReactElement)\n}\n\nfunction TableHeader<T extends object>(props: TableHeaderProps<T>, ref: ForwardedRef<HTMLTableSectionElement>) {\n let children = useCollectionChildren({\n children: props.children,\n items: props.columns\n });\n\n let renderer = typeof props.children === 'function' ? props.children : null;\n return (\n <CollectionRendererContext.Provider value={renderer}>\n {useSSRCollectionNode('tableheader', props, ref, null, children)}\n </CollectionRendererContext.Provider>\n );\n}\n\n/**\n * A header within a `<Table>`, containing the table columns.\n */\nconst _TableHeader = /*#__PURE__*/ (forwardRef as forwardRefType)(TableHeader);\nexport {_TableHeader as TableHeader};\n\nexport interface ColumnRenderProps {\n /**\n * Whether the item is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the item is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the item is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the column allows sorting.\n * @selector [data-allows-sorting]\n */\n allowsSorting: boolean,\n /**\n * The current sort direction.\n * @selector [data-sort-direction=\"ascending | descending\"]\n */\n sortDirection: SortDirection | undefined,\n /**\n * Whether the column is currently being resized.\n * @selector [data-resizing]\n */\n isResizing: boolean,\n /**\n * Triggers sorting for this column in the given direction.\n */\n sort(direction: SortDirection): void,\n /**\n * Starts column resizing if the table is contained in a `<ResizableTableContainer>` element.\n */\n startResize(): void\n}\n\nexport interface ColumnProps<T = object> extends RenderProps<ColumnRenderProps> {\n id?: Key,\n /** Rendered contents of the column if `children` contains child columns. */\n title?: ReactNode,\n /** A list of child columns used when dynamically rendering nested child columns. */\n childColumns?: Iterable<T>,\n /** Whether the column allows sorting. */\n allowsSorting?: boolean,\n /** Whether a column is a [row header](https://www.w3.org/TR/wai-aria-1.1/#rowheader) and should be announced by assistive technology during row navigation. */\n isRowHeader?: boolean,\n /** A string representation of the column's contents, used for accessibility announcements. */\n textValue?: string,\n /** The width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n width?: ColumnSize | null,\n /** The default width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n defaultWidth?: ColumnSize | null,\n /** The minimum width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n minWidth?: ColumnStaticSize | null,\n /** The maximum width of the column. This prop only applies when the `<Table>` is wrapped in a `<ResizableTableContainer>`. */\n maxWidth?: ColumnStaticSize | null\n}\n\nfunction Column<T extends object>(props: ColumnProps<T>, ref: ForwardedRef<HTMLTableCellElement>): JSX.Element | null {\n let render = useContext(CollectionRendererContext);\n let childColumns: ReactNode | ((item: T) => ReactNode);\n if (typeof render === 'function') {\n childColumns = render;\n } else if (typeof props.children !== 'function') {\n childColumns = props.children;\n }\n\n let children = useCollectionChildren({\n children: (props.title || props.childColumns) ? childColumns : null,\n items: props.childColumns\n });\n\n return useSSRCollectionNode('column', props, ref, props.title ?? props.children, children);\n}\n\n/**\n * A column within a `<Table>`.\n */\nconst _Column = /*#__PURE__*/ (forwardRef as forwardRefType)(Column);\nexport {_Column as Column};\n\nexport interface TableBodyRenderProps {\n /**\n * Whether the table body has no rows and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean\n}\n\nexport interface TableBodyProps<T> extends CollectionProps<T>, StyleRenderProps<TableBodyRenderProps> {\n /** Provides content to display when there are no rows in the table. */\n renderEmptyState?: () => ReactNode\n}\n\nfunction TableBody<T extends object>(props: TableBodyProps<T>, ref: ForwardedRef<HTMLTableSectionElement>): JSX.Element | null {\n let children = useCollectionChildren(props);\n return useSSRCollectionNode('tablebody', props, ref, null, children);\n}\n\n/**\n * The body of a `<Table>`, containing the table rows.\n */\nconst _TableBody = /*#__PURE__*/ (forwardRef as forwardRefType)(TableBody);\nexport {_TableBody as TableBody};\n\nexport interface RowRenderProps extends ItemRenderProps {}\n\nexport interface RowProps<T> extends StyleRenderProps<RowRenderProps>, LinkDOMProps {\n id?: Key,\n /** A list of columns used when dynamically rendering cells. */\n columns?: Iterable<T>,\n /** The cells within the row. Supports static items or a function for dynamic rendering. */\n children?: ReactNode | ((item: T) => ReactElement),\n /** A string representation of the row's contents, used for features like typeahead. */\n textValue?: string\n}\n\nfunction Row<T extends object>(props: RowProps<T>, ref: ForwardedRef<HTMLTableRowElement>): JSX.Element | null {\n let children = useCollectionChildren({\n children: props.children,\n items: props.columns,\n idScope: props.id\n });\n\n let ctx = useMemo(() => ({idScope: props.id}), [props.id]);\n\n return useSSRCollectionNode('item', props, ref, null, (\n <CollectionContext.Provider value={ctx}>\n {children}\n </CollectionContext.Provider>\n ));\n}\n\n/**\n * A row within a `<Table>`.\n */\nconst _Row = /*#__PURE__*/ (forwardRef as forwardRefType)(Row);\nexport {_Row as Row};\n\nexport interface CellRenderProps {\n /**\n * Whether the cell is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the cell is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the cell is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the cell is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean\n}\n\nexport interface CellProps extends RenderProps<CellRenderProps> {\n id?: Key,\n /** A string representation of the cell's contents, used for features like typeahead. */\n textValue?: string\n}\n\nfunction Cell(props: CellProps, ref: ForwardedRef<HTMLTableCellElement>): JSX.Element | null {\n return useSSRCollectionNode('cell', props, ref, props.children);\n}\n\n/**\n * A cell within a table row.\n */\nconst _Cell = /*#__PURE__*/ (forwardRef as forwardRefType)(Cell);\nexport {_Cell as Cell};\n\nfunction TableHeaderRowGroup<T>({collection}: {collection: TableCollection<T>}) {\n let headerRows = useCachedChildren({\n items: collection.headerRows,\n children: useCallback((item: Node<T>) => {\n switch (item.type) {\n case 'headerrow':\n return <TableHeaderRow item={item} />;\n default:\n throw new Error('Unsupported node type in TableHeader: ' + item.type);\n }\n }, [])\n });\n\n let {rowGroupProps} = useTableRowGroup();\n return (\n <thead\n {...filterDOMProps(collection.head.props)}\n {...rowGroupProps}\n ref={collection.head.props.ref}\n className={collection.head.props.className ?? 'react-aria-TableHeader'}\n style={collection.head.props.style}>\n {headerRows}\n </thead>\n );\n}\n\nfunction TableBodyRowGroup<T>({collection, isDroppable}: {collection: TableCollection<T>, isDroppable: boolean}) {\n let bodyRows = useCachedChildren({\n items: collection.rows,\n children: useCallback((item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <TableRow item={item} />;\n default:\n throw new Error('Unsupported node type in TableBody: ' + item.type);\n }\n }, [])\n });\n\n let props: TableBodyProps<T> = collection.body.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: undefined,\n defaultClassName: 'react-aria-TableBody',\n values: {\n isEmpty: collection.size === 0\n }\n });\n\n let emptyState;\n if (collection.size === 0 && props.renderEmptyState) {\n emptyState = (\n <tr role=\"row\">\n <td role=\"gridcell\" colSpan={collection.columnCount}>\n {props.renderEmptyState()}\n </td>\n </tr>\n );\n }\n\n let {rowGroupProps} = useTableRowGroup();\n return (\n <tbody\n {...mergeProps(filterDOMProps(props as any), rowGroupProps)}\n {...renderProps}\n ref={collection.body.props.ref}\n data-empty={collection.size === 0 || undefined}>\n {isDroppable && <RootDropIndicator />}\n {bodyRows}\n {emptyState}\n </tbody>\n );\n}\n\nfunction TableHeaderRow<T>({item}: {item: GridNode<T>}) {\n let ref = useRef<HTMLTableRowElement>(null);\n let state = useContext(TableStateContext)!;\n let {rowProps} = useTableHeaderRow({node: item}, state, ref);\n let {checkboxProps} = useTableSelectAllCheckbox(state);\n\n let cells = useCachedChildren({\n items: state.collection.getChildren!(item.key),\n children: (item) => {\n switch (item.type) {\n case 'column':\n return <TableColumnHeader column={item} />;\n default:\n throw new Error('Unsupported node type in Row: ' + item.type);\n }\n }\n });\n\n return (\n <tr {...rowProps} ref={ref}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }]\n ]}>\n {cells}\n </Provider>\n </tr>\n );\n}\n\ninterface ColumnResizerContextValue {\n column: GridNode<unknown>,\n triggerRef: RefObject<HTMLDivElement>\n}\n\nconst ColumnResizerContext = createContext<ColumnResizerContextValue | null>(null);\n\nfunction TableColumnHeader<T>({column}: {column: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableHeaderCellElement>(column.props.ref);\n let state = useContext(TableStateContext)!;\n let {columnHeaderProps} = useTableColumnHeader(\n {node: column},\n state,\n ref\n );\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let layoutState = useContext(TableColumnResizeStateContext);\n let isResizing = false;\n if (layoutState) {\n isResizing = layoutState.resizingColumn === column.key;\n } else {\n for (let prop in ['width', 'defaultWidth', 'minWidth', 'maxWidth']) {\n if (prop in column.props) {\n console.warn(`The ${prop} prop on a <Column> only applies when a <Table> is wrapped in a <ResizableTableContainer>. If you aren't using column resizing, you can set the width of a column with CSS.`);\n }\n }\n }\n\n let props: ColumnProps<unknown> = column.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: column.rendered,\n defaultClassName: 'react-aria-Column',\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n allowsSorting: column.props.allowsSorting,\n sortDirection: state.sortDescriptor?.column === column.key\n ? state.sortDescriptor.direction\n : undefined,\n isResizing,\n startResize: () => {\n if (layoutState) {\n layoutState.startResize(column.key);\n state.setKeyboardNavigationDisabled(true);\n } else {\n throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');\n }\n },\n sort: (direction) => {\n state.sort(column.key, direction);\n }\n }\n });\n\n let style = renderProps.style;\n if (layoutState) {\n style = {...style, width: layoutState.getColumnWidth(column.key)};\n }\n\n return (\n <th\n {...mergeProps(filterDOMProps(props as any), columnHeaderProps, focusProps, hoverProps)}\n {...renderProps}\n style={style}\n colSpan={column.colspan}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-resizing={isResizing || undefined}\n data-allows-sorting={column.props.allowsSorting || undefined}\n data-sort-direction={state.sortDescriptor?.column === column.key ? state.sortDescriptor.direction : undefined}>\n <ColumnResizerContext.Provider value={{column, triggerRef: ref}}>\n {renderProps.children}\n </ColumnResizerContext.Provider>\n </th>\n );\n}\n\nexport interface ColumnResizerRenderProps {\n /**\n * Whether the resizer is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the resizer is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the resizer is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the resizer is currently being resized.\n * @selector [data-resizing]\n */\n isResizing: boolean,\n /**\n * The direction that the column is currently resizable.\n * @selector [data-resizable-direction=\"right | left | both\"]\n */\n resizableDirection: 'right' | 'left' | 'both'\n}\n\nexport interface ColumnResizerProps extends RenderProps<ColumnResizerRenderProps> {\n /** A custom accessibility label for the resizer. */\n 'aria-label'?: string\n}\n\nfunction ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivElement>) {\n let layoutState = useContext(TableColumnResizeStateContext);\n if (!layoutState) {\n throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');\n }\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n let {onResizeStart, onResize, onResizeEnd} = useContext(ResizableTableContainerContext)!;\n let {column, triggerRef} = useContext(ColumnResizerContext)!;\n let inputRef = useRef<HTMLInputElement>(null);\n let {resizerProps, inputProps, isResizing} = useTableColumnResize(\n {\n column,\n 'aria-label': props['aria-label'] || stringFormatter.format('tableResizer'),\n onResizeStart,\n onResize,\n onResizeEnd,\n triggerRef\n },\n layoutState,\n inputRef\n );\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let isEResizable = layoutState.getColumnMinWidth(column.key) >= layoutState.getColumnWidth(column.key);\n let isWResizable = layoutState.getColumnMaxWidth(column.key) <= layoutState.getColumnWidth(column.key);\n let {direction} = useLocale();\n let resizableDirection: ColumnResizerRenderProps['resizableDirection'] = 'both';\n if (isEResizable) {\n resizableDirection = direction === 'rtl' ? 'right' : 'left';\n } else if (isWResizable) {\n resizableDirection = direction === 'rtl' ? 'left' : 'right';\n } else {\n resizableDirection = 'both';\n }\n\n let objectRef = useObjectRef(ref);\n let [cursor, setCursor] = useState('');\n useEffect(() => {\n let style = window.getComputedStyle(objectRef.current);\n setCursor(style.cursor);\n }, [objectRef, resizableDirection]);\n\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-ColumnResizer',\n values: {\n isFocused,\n isFocusVisible,\n isResizing,\n isHovered,\n resizableDirection\n }\n });\n\n let [isMouseDown, setMouseDown] = useState(false);\n let onPointerDown = (e: PointerEvent) => {\n if (e.pointerType === 'mouse') {\n setMouseDown(true);\n }\n };\n\n if (!isResizing && isMouseDown) {\n setMouseDown(false);\n }\n\n return (\n <div\n ref={objectRef}\n role=\"presentation\"\n {...renderProps}\n {...mergeProps(resizerProps, {onPointerDown})}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-resizing={isResizing || undefined}\n data-resizable-direction={resizableDirection}>\n <input\n ref={inputRef}\n {...mergeProps(inputProps, focusProps, hoverProps)} />\n {isResizing && isMouseDown && ReactDOM.createPortal(<div style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0, cursor}} />, document.body)}\n </div>\n );\n}\n\nconst _ColumnResizer = forwardRef(ColumnResizer);\nexport {_ColumnResizer as ColumnResizer};\n\nfunction TableRow<T>({item}: {item: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableRowElement>(item.props.ref);\n let state = useContext(TableStateContext)!;\n let {dragAndDropHooks, dragState, dropState} = useContext(DragAndDropContext);\n let {rowProps, ...states} = useTableRow(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState\n },\n state,\n ref\n );\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection && !states.hasAction\n });\n\n let {checkboxProps} = useTableSelectionCheckbox(\n {key: item.key},\n state\n );\n\n let draggableItem: DraggableItemResult | undefined = undefined;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!({key: item.key, hasDragButton: true}, dragState);\n }\n\n let dropIndicator: DropIndicatorAria | undefined = undefined;\n let dropIndicatorRef = useRef<HTMLDivElement>(null);\n let {visuallyHiddenProps} = useVisuallyHidden();\n if (dropState && dragAndDropHooks) {\n dropIndicator = dragAndDropHooks.useDropIndicator!({\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n }, dropState, dropIndicatorRef);\n }\n\n let renderDropIndicator = dragAndDropHooks?.renderDropIndicator || (target => <DropIndicator target={target} />);\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn('Draggable items in a Table must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.');\n }\n // eslint-disable-next-line\n }, []);\n\n let props = item.props as RowProps<unknown>;\n let isDragging = dragState && dragState.isDragging(item.key);\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n defaultClassName: 'react-aria-Row',\n values: {\n ...states,\n isHovered,\n isFocused,\n isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget\n }\n });\n\n let cells = useCachedChildren({\n items: state.collection.getChildren!(item.key),\n children: (item: Node<unknown>) => {\n switch (item.type) {\n case 'cell':\n return <TableCell cell={item} />;\n default:\n throw new Error('Unsupported node type in Row: ' + item.type);\n }\n }\n });\n\n return (\n <>\n {dragAndDropHooks?.useDropIndicator &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'before'})\n }\n {dropIndicator && !dropIndicator.isHidden && (\n <tr role=\"row\" style={{height: 0}}>\n <td role=\"gridcell\" colSpan={state.collection.columnCount} style={{padding: 0}}>\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator.dropIndicatorProps} ref={dropIndicatorRef} />\n </td>\n </tr>\n )}\n <tr\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps, draggableItem?.dragProps)}\n {...renderProps}\n ref={ref}\n data-disabled={states.isDisabled || undefined}\n data-selected={states.isSelected || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-dragging={isDragging || undefined}\n data-drop-target={dropIndicator?.isDropTarget || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <Provider\n values={[\n [CheckboxContext, {\n slots: {\n selection: checkboxProps\n }\n }],\n [ButtonContext, {\n slots: {\n [defaultSlot]: {},\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }]\n ]}>\n {cells}\n </Provider>\n </tr>\n {dragAndDropHooks?.useDropIndicator && state.collection.getKeyAfter(item.key) == null &&\n renderDropIndicator({type: 'item', key: item.key, dropPosition: 'after'})\n }\n </>\n );\n}\n\nfunction TableCell<T>({cell}: {cell: GridNode<T>}) {\n let ref = useObjectRef<HTMLTableCellElement>(cell.props.ref);\n let state = useContext(TableStateContext)!;\n let {dragState} = useContext(DragAndDropContext);\n\n // @ts-ignore\n cell.column = state.collection.columns[cell.index];\n\n let {gridCellProps, isPressed} = useTableCell({\n node: cell,\n shouldSelectOnPressUp: !!dragState\n }, state, ref);\n let {isFocused, isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({});\n\n let props: CellProps = cell.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n defaultClassName: 'react-aria-Cell',\n values: {\n isFocused,\n isFocusVisible,\n isPressed,\n isHovered\n }\n });\n\n return (\n <td\n {...mergeProps(filterDOMProps(props as any), gridCellProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={isPressed || undefined}>\n {renderProps.children}\n </td>\n );\n}\n\nfunction TableDropIndicatorWrapper(props: DropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n ref = useObjectRef(ref);\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext)!;\n let buttonRef = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps, isHidden, isDropTarget} = dragAndDropHooks!.useDropIndicator!(\n props,\n dropState!,\n buttonRef\n );\n\n if (isHidden) {\n return null;\n }\n\n return (\n <TableDropIndicatorForwardRef {...props} dropIndicatorProps={dropIndicatorProps} isDropTarget={isDropTarget} buttonRef={buttonRef} ref={ref} />\n );\n}\n\ninterface TableDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>,\n isDropTarget: boolean,\n buttonRef: RefObject<HTMLDivElement>\n}\n\nfunction TableDropIndicator(props: TableDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {\n dropIndicatorProps,\n isDropTarget,\n buttonRef,\n ...otherProps\n } = props;\n\n let state = useContext(TableStateContext)!;\n let {visuallyHiddenProps} = useVisuallyHidden();\n let renderProps = useRenderProps({\n ...otherProps,\n defaultClassName: 'react-aria-DropIndicator',\n values: {\n isDropTarget\n }\n });\n\n return (\n <tr\n {...filterDOMProps(props as any)}\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLTableRowElement>}\n data-drop-target={isDropTarget || undefined}>\n <td\n role=\"gridcell\"\n colSpan={state.collection.columnCount}\n style={{padding: 0}}>\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n </td>\n </tr>\n );\n}\n\nconst TableDropIndicatorForwardRef = forwardRef(TableDropIndicator);\n\nfunction RootDropIndicator() {\n let state = useContext(TableStateContext)!;\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext);\n let ref = useRef<HTMLDivElement>(null);\n let {dropIndicatorProps} = dragAndDropHooks!.useDropIndicator!({\n target: {type: 'root'}\n }, dropState!, ref);\n let isDropTarget = dropState!.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <tr\n role=\"row\"\n aria-hidden={dropIndicatorProps['aria-hidden']}\n style={{height: 0}}>\n <td\n role=\"gridcell\"\n colSpan={state.collection.columnCount}\n style={{padding: 0}}>\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </td>\n </tr>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, LinkDOMProps} from '@react-types/shared';\nimport {AriaTabListProps, AriaTabPanelProps, mergeProps, Orientation, useFocusRing, useHover, useTab, useTabList, useTabPanel} from 'react-aria';\nimport {Collection, Node, TabListState, useTabListState} from 'react-stately';\nimport {CollectionDocumentContext, CollectionPortal, CollectionProps, useCollectionDocument, useSSRCollectionNode} from './Collection';\nimport {ContextValue, createHideableComponent, forwardRefType, Hidden, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlottedContext} from './utils';\nimport {filterDOMProps, useObjectRef} from '@react-aria/utils';\nimport React, {createContext, ForwardedRef, forwardRef, Key, RefObject, useContext, useMemo} from 'react';\n\nexport interface TabsProps extends Omit<AriaTabListProps<any>, 'items' | 'children'>, RenderProps<TabsRenderProps>, SlotProps {}\n\nexport interface TabsRenderProps {\n /**\n * The orientation of the tabs.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation\n}\n\nexport interface TabListProps<T> extends StyleRenderProps<TabListRenderProps>, AriaLabelingProps, Omit<CollectionProps<T>, 'disabledKeys'> {}\n\nexport interface TabListRenderProps {\n /**\n * The orientation of the tab list.\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation,\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>\n}\n\nexport interface TabProps extends RenderProps<TabRenderProps>, AriaLabelingProps, LinkDOMProps {\n id?: Key\n}\n\nexport interface TabRenderProps {\n /**\n * Whether the tab is currently hovered with a mouse.\n * @selector [data-hovered]\n */\n isHovered: boolean,\n /**\n * Whether the tab is currently in a pressed state.\n * @selector [data-pressed]\n */\n isPressed: boolean,\n /**\n * Whether the tab is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * Whether the tab is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tab is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the tab is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean\n}\n\nexport interface TabPanelProps extends AriaTabPanelProps, RenderProps<TabPanelRenderProps> {\n /**\n * Whether to mount the tab panel in the DOM even when it is not currently selected.\n * Inactive tab panels are inert and cannot be interacted with. They must be styled appropriately so this is clear to the user visually.\n * @default false\n */\n shouldForceMount?: boolean\n}\n\nexport interface TabPanelRenderProps {\n /**\n * Whether the tab panel is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tab panel is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean,\n /**\n * Whether the tab panel is currently non-interactive. This occurs when the\n * `shouldForceMount` prop is true, and the corresponding tab is not selected.\n * @selector [data-inert]\n */\n isInert: boolean,\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>\n}\n\nexport const TabsContext = createContext<ContextValue<TabsProps, HTMLDivElement>>(null);\nexport const TabListStateContext = createContext<TabListState<object> | null>(null);\n\nfunction Tabs(props: TabsProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TabsContext);\n let {collection, document} = useCollectionDocument();\n let {children, orientation = 'horizontal'} = props;\n children = useMemo(() => (\n typeof children === 'function'\n ? children({orientation})\n : children\n ), [children, orientation]);\n\n return (\n <>\n {/* Render a hidden copy of the children so that we can build the collection before constructing the state.\n * This should always come before the real DOM content so we have built the collection by the time it renders during SSR. */}\n <Hidden>\n <CollectionDocumentContext.Provider value={document}>\n {children}\n </CollectionDocumentContext.Provider>\n </Hidden>\n <TabsInner props={props} collection={collection} tabsRef={ref} />\n </>\n );\n}\n\ninterface TabsInnerProps {\n props: TabsProps,\n collection: Collection<Node<any>>,\n tabsRef: RefObject<HTMLDivElement>\n}\n\nfunction TabsInner({props, tabsRef: ref, collection}: TabsInnerProps) {\n let {orientation = 'horizontal'} = props;\n let state = useTabListState({\n ...props,\n collection,\n children: undefined\n });\n let {focusProps, isFocused, isFocusVisible} = useFocusRing({within: true});\n let values = useMemo(() => ({\n orientation,\n isFocusWithin: isFocused,\n isFocusVisible\n }), [orientation, isFocused, isFocusVisible]);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Tabs',\n values\n });\n\n return (\n <div\n {...filterDOMProps(props as any)}\n {...focusProps}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focused={isFocused || undefined}\n data-orientation={orientation}\n data-focus-visible={isFocusVisible || undefined}\n data-disabled={state.isDisabled || undefined}>\n <Provider\n values={[\n [TabsContext, props],\n [TabListStateContext, state]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * Tabs organize content into multiple sections and allow users to navigate between them.\n */\nconst _Tabs = /*#__PURE__*/ (forwardRef as forwardRefType)(Tabs);\nexport {_Tabs as Tabs};\n\nfunction TabList<T extends object>(props: TabListProps<T>, ref: ForwardedRef<HTMLDivElement>): JSX.Element {\n let document = useContext(CollectionDocumentContext);\n return document\n ? <CollectionPortal {...props} />\n : <TabListInner props={props} forwardedRef={ref} />;\n}\n\ninterface TabListInnerProps<T> {\n props: TabListProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction TabListInner<T extends object>({props, forwardedRef: ref}: TabListInnerProps<T>) {\n let state = useContext(TabListStateContext)!;\n let {orientation = 'horizontal', keyboardActivation = 'automatic'} = useSlottedContext(TabsContext)!;\n let objectRef = useObjectRef(ref);\n\n let {tabListProps} = useTabList({\n ...props,\n orientation,\n keyboardActivation\n }, state, objectRef);\n\n let renderProps = useRenderProps({\n ...props,\n children: null,\n defaultClassName: 'react-aria-TabList',\n values: {\n orientation,\n state\n }\n });\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n return (\n <div\n {...DOMProps}\n {...tabListProps}\n ref={objectRef}\n {...renderProps}\n data-orientation={orientation || undefined}>\n {[...state.collection].map((item) => (\n <TabInner\n key={item.key}\n item={item}\n state={state} />\n ))}\n </div>\n );\n}\n\n/**\n * A TabList is used within Tabs to group tabs that a user can switch between.\n * The ids of the items within the <TabList> must match up with a corresponding item inside the <TabPanels>.\n */\nconst _TabList = /*#__PURE__*/ (forwardRef as forwardRefType)(TabList);\nexport {_TabList as TabList};\n\nfunction Tab(props: TabProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Tab provides a title for an individual item within a TabList.\n */\nconst _Tab = /*#__PURE__*/ (forwardRef as forwardRefType)(Tab);\nexport {_Tab as Tab};\n\nfunction TabInner({item, state}: {item: Node<object>, state: TabListState<object>}) {\n let {key} = item;\n let ref = useObjectRef<any>(item.props.ref);\n let {tabProps, isSelected, isDisabled, isPressed} = useTab({key}, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let {hoverProps, isHovered} = useHover({\n isDisabled\n });\n\n let renderProps = useRenderProps({\n ...item.props,\n children: item.rendered,\n defaultClassName: 'react-aria-Tab',\n values: {\n isSelected,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isHovered,\n state\n }\n });\n\n let ElementType: React.ElementType = item.props.href ? 'a' : 'div';\n\n return (\n <ElementType\n {...mergeProps(tabProps, focusProps, hoverProps, renderProps)}\n ref={ref}\n data-selected={isSelected || undefined}\n data-disabled={isDisabled || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={isPressed || undefined}\n data-hovered={isHovered || undefined} />\n );\n}\n\nfunction TabPanel(props: TabPanelProps, forwardedRef: ForwardedRef<HTMLDivElement>) {\n const state = useContext(TabListStateContext)!;\n let ref = useObjectRef<HTMLDivElement>(forwardedRef);\n let {tabPanelProps} = useTabPanel(props, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n\n let isSelected = state.selectedKey === props.id;\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-TabPanel',\n values: {\n isFocused,\n isFocusVisible,\n isInert: !isSelected,\n state\n }\n });\n\n if (!isSelected && !props.shouldForceMount) {\n return null;\n }\n\n let DOMProps = filterDOMProps(props);\n delete DOMProps.id;\n\n let domProps = isSelected\n ? mergeProps(DOMProps, tabPanelProps, focusProps, renderProps)\n : renderProps;\n\n return (\n <div\n {...domProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n // @ts-ignore\n inert={!isSelected ? 'true' : undefined}\n data-inert={!isSelected ? 'true' : undefined} />\n );\n}\n\n/**\n * A TabPanel provides the content for a tab.\n */\nconst _TabPanel = /*#__PURE__*/ createHideableComponent(TabPanel);\nexport {_TabPanel as TabPanel};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaTagGroupProps, useFocusRing, useHover, useTag, useTagGroup} from 'react-aria';\nimport {ButtonContext} from './Button';\nimport {CollectionDocumentContext, CollectionProps, ItemProps, ItemRenderProps, useCachedChildren, useCollectionDocument, useCollectionPortal, useSSRCollectionNode} from './Collection';\nimport {ContextValue, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps, mergeProps, useObjectRef} from '@react-aria/utils';\nimport {LabelContext} from './Label';\nimport {LinkDOMProps} from '@react-types/shared';\nimport {ListStateContext} from './ListBox';\nimport {Node, useListState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, Key, ReactNode, useContext, useEffect, useRef} from 'react';\nimport {TextContext} from './Text';\n\nexport interface TagGroupProps extends Omit<AriaTagGroupProps<unknown>, 'children' | 'items' | 'label' | 'description' | 'errorMessage' | 'keyboardDelegate'>, DOMProps, SlotProps {}\n\nexport interface TagListRenderProps {\n /**\n * Whether the tag list has no items and should display its empty state.\n * @selector [data-empty]\n */\n isEmpty: boolean,\n /**\n * Whether the tag list is currently focused.\n * @selector [data-focused]\n */\n isFocused: boolean,\n /**\n * Whether the tag list is currently keyboard focused.\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean\n}\n\nexport interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TagListRenderProps> {\n /** Provides content to display when there are no items in the tag list. */\n renderEmptyState?: () => ReactNode\n}\n\nexport const TagGroupContext = createContext<ContextValue<TagGroupProps, HTMLDivElement>>(null);\nexport const TagListContext = createContext<ContextValue<TagListProps<any>, HTMLDivElement>>(null);\n\nfunction TagGroup(props: TagGroupProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TagGroupContext);\n let tagListRef = useRef<HTMLDivElement>(null);\n let [labelRef, label] = useSlot();\n let {collection, document} = useCollectionDocument();\n let state = useListState({\n ...props,\n children: undefined,\n collection\n });\n\n // Prevent DOM props from going to two places.\n let domProps = filterDOMProps(props);\n let domPropOverrides = Object.fromEntries(Object.entries(domProps).map(([k]) => [k, undefined]));\n let {\n gridProps,\n labelProps,\n descriptionProps,\n errorMessageProps\n } = useTagGroup({\n ...props,\n ...domPropOverrides,\n label\n }, state, tagListRef);\n\n return (\n <div\n {...domProps}\n ref={ref}\n slot={props.slot || undefined}\n className={props.className ?? 'react-aria-TagGroup'}\n style={props.style}>\n <Provider\n values={[\n [LabelContext, {...labelProps, elementType: 'span', ref: labelRef}],\n [TagListContext, {...gridProps, ref: tagListRef}],\n [ListStateContext, state],\n [CollectionDocumentContext, document],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {props.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A tag group is a focusable list of labels, categories, keywords, filters, or other items, with support for keyboard navigation, selection, and removal.\n */\nconst _TagGroup = /*#__PURE__*/ (forwardRef as forwardRefType)(TagGroup);\nexport {_TagGroup as TagGroup};\n\nfunction TagList<T extends object>(props: TagListProps<T>, forwardedRef: ForwardedRef<HTMLDivElement>) {\n // Render the portal first so that we have the collection by the time we render the DOM in SSR.\n let portal = useCollectionPortal(props);\n return (\n <>\n {portal}\n <TagListInner props={props} forwardedRef={forwardedRef} />\n </>\n );\n}\n\ninterface TagListInnerProps<T> {\n props: TagListProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n}\n\nfunction TagListInner<T extends object>({props, forwardedRef}: TagListInnerProps<T>) {\n let state = useContext(ListStateContext)!;\n let [gridProps, ref] = useContextProps(props, forwardedRef, TagListContext);\n delete gridProps.items;\n delete gridProps.renderEmptyState;\n\n let children = useCachedChildren({\n items: state.collection,\n children: (item: Node<T>) => {\n switch (item.type) {\n case 'item':\n return <TagItem item={item} />;\n default:\n throw new Error('Unsupported node type in TagList: ' + item.type);\n }\n }\n });\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let renderProps = useRenderProps({\n className: props.className,\n style: props.style,\n defaultClassName: 'react-aria-TagList',\n values: {\n isEmpty: state.collection.size === 0,\n isFocused,\n isFocusVisible\n }\n });\n\n return (\n <div\n {...mergeProps(gridProps, focusProps)}\n {...renderProps}\n ref={ref}\n data-empty={state.collection.size === 0 || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}>\n {state.collection.size === 0 && props.renderEmptyState ? props.renderEmptyState() : children}\n </div>\n );\n}\n\n/**\n * A tag list is a container for tags within a TagGroup.\n */\nconst _TagList = /*#__PURE__*/ (forwardRef as forwardRefType)(TagList);\nexport {_TagList as TagList};\n\nexport interface TagRenderProps extends Omit<ItemRenderProps, 'allowsDragging' | 'isDragging' | 'isDropTarget'> {\n /**\n * Whether the tag group allows items to be removed.\n * @selector [data-allows-removing]\n */\n allowsRemoving: boolean\n}\n\nexport interface TagProps extends RenderProps<TagRenderProps>, LinkDOMProps {\n /** A unique id for the tag. */\n id?: Key,\n /**\n * A string representation of the tags's contents, used for accessibility.\n * Required if children is not a plain text string.\n */\n textValue?: string\n}\n\nfunction Tag(props: TagProps, ref: ForwardedRef<HTMLDivElement>): JSX.Element | null {\n return useSSRCollectionNode('item', props, ref, props.children);\n}\n\n/**\n * A Tag is an individual item within a TagList.\n */\nconst _Tag = /*#__PURE__*/ (forwardRef as forwardRefType)(Tag);\nexport {_Tag as Tag};\n\nfunction TagItem({item}) {\n let state = useContext(ListStateContext)!;\n let ref = useObjectRef<HTMLDivElement>(item.props.ref);\n let {focusProps, isFocusVisible} = useFocusRing({within: true});\n let {rowProps, gridCellProps, removeButtonProps, ...states} = useTag({item}, state, ref);\n\n let {hoverProps, isHovered} = useHover({\n isDisabled: !states.allowsSelection\n });\n\n let props: ItemProps<unknown> = item.props;\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Tag',\n values: {\n ...states,\n isFocusVisible,\n isHovered,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior\n }\n });\n\n useEffect(() => {\n if (!item.textValue) {\n console.warn('A `textValue` prop is required for <Tag> elements with non-plain text children for accessibility.');\n }\n }, [item.textValue]);\n\n return (\n <div\n ref={ref}\n {...renderProps}\n {...mergeProps(filterDOMProps(props as any), rowProps, focusProps, hoverProps)}\n data-selected={states.isSelected || undefined}\n data-disabled={states.isDisabled || undefined}\n data-hovered={isHovered || undefined}\n data-focused={states.isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-pressed={states.isPressed || undefined}\n data-allows-removing={states.allowsRemoving || undefined}\n data-selection-mode={state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode}>\n <div {...gridCellProps}>\n <Provider\n values={[\n [ButtonContext, {\n slots: {\n remove: removeButtonProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </div>\n );\n}\n","import {ContextValue, StyleRenderProps, useContextProps, useRenderProps} from './utils';\nimport {InputRenderProps} from './Input';\nimport {mergeProps, useFocusRing, useHover} from 'react-aria';\nimport React, {createContext, ForwardedRef, forwardRef, TextareaHTMLAttributes} from 'react';\n\nexport interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'className' | 'style'>, StyleRenderProps<InputRenderProps> {}\n\nexport const TextAreaContext = createContext<ContextValue<TextAreaProps, HTMLTextAreaElement>>({});\n\nfunction TextArea(props: TextAreaProps, ref: ForwardedRef<HTMLTextAreaElement>) {\n [props, ref] = useContextProps(props, ref, TextAreaContext);\n\n let {hoverProps, isHovered} = useHover({});\n let {isFocused, isFocusVisible, focusProps} = useFocusRing({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = useRenderProps({\n ...props,\n values: {\n isHovered,\n isFocused,\n isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid\n },\n defaultClassName: 'react-aria-TextArea'\n });\n\n return (\n <textarea\n {...mergeProps(props, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n data-focused={isFocused || undefined}\n data-disabled={props.disabled || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-invalid={isInvalid || undefined} />\n );\n}\n/**\n * A textarea allows a user to input mult-line text.\n */\nconst _TextArea = forwardRef(TextArea);\nexport {_TextArea as TextArea};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaTextFieldProps, useTextField} from 'react-aria';\nimport {ContextValue, DOMProps, forwardRefType, Provider, removeDataAttributes, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {InputContext} from './Input';\nimport {LabelContext} from './Label';\nimport React, {createContext, ForwardedRef, forwardRef, useCallback, useRef, useState} from 'react';\nimport {TextAreaContext} from './TextArea';\nimport {TextContext} from './Text';\n\nexport interface TextFieldRenderProps {\n /**\n * Whether the text field is disabled.\n * @selector [data-disabled]\n */\n isDisabled: boolean,\n /**\n * Whether the value is invalid.\n * @selector [data-invalid]\n */\n isInvalid: boolean\n}\n\nexport interface TextFieldProps extends Omit<AriaTextFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState'>, Omit<DOMProps, 'style' | 'className' | 'children'>, SlotProps, RenderProps<TextFieldRenderProps> {\n /** Whether the value is invalid. */\n isInvalid?: boolean\n}\n\nexport const TextFieldContext = createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);\n\nfunction TextField(props: TextFieldProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n let inputRef = useRef(null);\n let [labelRef, label] = useSlot();\n let [inputElementType, setInputElementType] = useState('input');\n let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField<any>({\n ...removeDataAttributes(props),\n inputElementType,\n label\n }, inputRef);\n\n // Intercept setting the input ref so we can determine what kind of element we have.\n // useTextField uses this to determine what props to include.\n let inputOrTextAreaRef = useCallback((el) => {\n inputRef.current = el;\n if (el) {\n setInputElementType(el instanceof HTMLTextAreaElement ? 'textarea' : 'input');\n }\n }, []);\n\n let renderProps = useRenderProps({\n ...props,\n values: {\n isDisabled: props.isDisabled || false,\n isInvalid: props.isInvalid || false\n },\n defaultClassName: 'react-aria-TextField'\n });\n\n return (\n <div\n {...filterDOMProps(props)}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-disabled={props.isDisabled || undefined}\n data-invalid={props.isInvalid || undefined}>\n <Provider\n values={[\n [LabelContext, {...labelProps, ref: labelRef}],\n [InputContext, {...inputProps, ref: inputOrTextAreaRef}],\n [TextAreaContext, {...inputProps, ref: inputOrTextAreaRef}],\n [TextContext, {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n );\n}\n\n/**\n * A text field allows a user to enter a plain text value with a keyboard.\n */\nconst _TextField = (forwardRef as forwardRefType)(TextField);\nexport {_TextField as TextField};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaToggleButtonProps, mergeProps, useFocusRing, useHover, useToggleButton} from 'react-aria';\nimport {ButtonRenderProps} from './Button';\nimport {ContextValue, forwardRefType, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';\nimport React, {createContext, ForwardedRef, forwardRef} from 'react';\nimport {ToggleState, useToggleState} from 'react-stately';\n\nexport interface ToggleButtonRenderProps extends ButtonRenderProps {\n /**\n * Whether the button is currently selected.\n * @selector [data-selected]\n */\n isSelected: boolean,\n /**\n * State of the toggle button.\n */\n state: ToggleState\n}\n\nexport interface ToggleButtonProps extends Omit<AriaToggleButtonProps, 'children' | 'elementType'>, SlotProps, RenderProps<ToggleButtonRenderProps> {}\n\nexport const ToggleButtonContext = createContext<ContextValue<ToggleButtonProps, HTMLButtonElement>>({});\n\nfunction ToggleButton(props: ToggleButtonProps, ref: ForwardedRef<HTMLButtonElement>) {\n [props, ref] = useContextProps(props, ref, ToggleButtonContext);\n let state = useToggleState(props);\n let {buttonProps, isPressed} = useToggleButton(props, state, ref);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing(props);\n let {hoverProps, isHovered} = useHover(props);\n let renderProps = useRenderProps({\n ...props,\n values: {isHovered, isPressed, isFocused, isSelected: state.isSelected, isFocusVisible, isDisabled: props.isDisabled || false, state},\n defaultClassName: 'react-aria-ToggleButton'\n });\n\n return (\n <button\n {...mergeProps(buttonProps, focusProps, hoverProps)}\n {...renderProps}\n ref={ref}\n slot={props.slot || undefined}\n data-focused={isFocused || undefined}\n data-disabled={props.isDisabled || undefined}\n data-pressed={isPressed || undefined}\n data-selected={state.isSelected || undefined}\n data-hovered={isHovered || undefined}\n data-focus-visible={isFocusVisible || undefined} />\n );\n}\n\n/**\n * A toggle button allows a user to toggle a selection on or off, for example switching between two states or modes.\n */\nconst _ToggleButton = /*#__PURE__*/ (forwardRef as forwardRefType)(ToggleButton);\nexport {_ToggleButton as ToggleButton};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, FocusableElement} from '@react-types/shared';\nimport {ContextValue, forwardRefType, Provider, RenderProps, useContextProps, useEnterAnimation, useExitAnimation, useRenderProps} from './utils';\nimport {FocusableProvider} from '@react-aria/focus';\nimport {mergeProps, OverlayContainer, PlacementAxis, PositionProps, useOverlayPosition, useTooltip, useTooltipTrigger} from 'react-aria';\nimport {OverlayArrowContext} from './OverlayArrow';\nimport {OverlayTriggerProps, TooltipTriggerProps, TooltipTriggerState, useTooltipTriggerState} from 'react-stately';\nimport React, {createContext, ForwardedRef, forwardRef, ReactNode, RefObject, useContext, useRef} from 'react';\n\nexport interface TooltipTriggerComponentProps extends TooltipTriggerProps {\n children: ReactNode\n}\n\nexport interface TooltipProps extends PositionProps, OverlayTriggerProps, AriaLabelingProps, RenderProps<TooltipRenderProps> {\n /**\n * The ref for the element which the tooltip positions itself with respect to.\n *\n * When used within a TooltipTrigger this is set automatically. It is only required when used standalone.\n */\n triggerRef?: RefObject<Element>\n}\n\nexport interface TooltipRenderProps {\n /**\n * The placement of the tooltip relative to the trigger.\n * @selector [data-placement=\"left | right | top | bottom\"]\n */\n placement: PlacementAxis,\n /**\n * Whether the tooltip is currently entering. Use this to apply animations.\n * @selector [data-entering]\n */\n isEntering: boolean,\n /**\n * Whether the tooltip is currently exiting. Use this to apply animations.\n * @selector [data-exiting]\n */\n isExiting: boolean,\n /**\n * State of the tooltip.\n */\n state: TooltipTriggerState\n}\n\nexport const TooltipTriggerStateContext = createContext<TooltipTriggerState | null>(null);\nexport const TooltipContext = createContext<ContextValue<TooltipProps, HTMLDivElement>>(null);\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: TooltipTriggerComponentProps) {\n let state = useTooltipTriggerState(props);\n let ref = useRef<FocusableElement>(null);\n let {triggerProps, tooltipProps} = useTooltipTrigger(props, state, ref);\n\n return (\n <Provider\n values={[\n [TooltipTriggerStateContext, state],\n [TooltipContext, {...tooltipProps, triggerRef: ref}]\n ]}>\n <FocusableProvider {...triggerProps} ref={ref}>\n {props.children}\n </FocusableProvider>\n </Provider>\n );\n}\n\nfunction Tooltip(props: TooltipProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, TooltipContext);\n let contextState = useContext(TooltipTriggerStateContext);\n let localState = useTooltipTriggerState(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = useExitAnimation(ref, state.isOpen);\n if (!state.isOpen && !isExiting) {\n return null;\n }\n\n return (\n <OverlayContainer>\n <TooltipInner {...props} tooltipRef={ref} isExiting={isExiting} />\n </OverlayContainer>\n );\n}\n\n/**\n * A tooltip displays a description of an element on hover or focus.\n */\nconst _Tooltip = /*#__PURE__*/ (forwardRef as forwardRefType)(Tooltip);\nexport {_Tooltip as Tooltip};\n\nfunction TooltipInner(props: TooltipProps & {isExiting: boolean, tooltipRef: RefObject<HTMLDivElement>}) {\n let state = useContext(TooltipTriggerStateContext)!;\n\n let {overlayProps, arrowProps, placement} = useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: props.triggerRef!,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen\n });\n\n let isEntering = useEnterAnimation(props.tooltipRef, !!placement);\n let renderProps = useRenderProps({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement,\n isEntering,\n isExiting: props.isExiting,\n state\n }\n });\n\n props = mergeProps(props, overlayProps);\n let {tooltipProps} = useTooltip(props, state);\n\n return (\n <div\n {...tooltipProps}\n ref={props.tooltipRef}\n {...renderProps}\n style={{...renderProps.style, ...overlayProps.style}}\n data-placement={placement}\n data-entering={isEntering || undefined}\n data-exiting={props.isExiting || undefined}>\n <OverlayArrowContext.Provider value={{...arrowProps, placement}}>\n {renderProps.children}\n </OverlayArrowContext.Provider>\n </div>\n );\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|