@depup/react-aria-components 1.19.0-depup.27 → 1.21.0-depup.0
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/NavigationTree/package.json +5 -0
- package/PreviewTrigger/package.json +5 -0
- package/README.md +2 -2
- package/TokenField/package.json +5 -0
- package/changes.json +1 -1
- package/dist/exports/GridList.cjs.map +1 -1
- package/dist/exports/GridList.js.map +1 -1
- package/dist/exports/GridList.mjs.map +1 -1
- package/dist/exports/Menu.cjs +1 -0
- package/dist/exports/Menu.cjs.map +1 -1
- package/dist/exports/Menu.js +2 -2
- package/dist/exports/Menu.js.map +1 -1
- package/dist/exports/Menu.mjs +2 -2
- package/dist/exports/Menu.mjs.map +1 -1
- package/dist/exports/NavigationTree.cjs +37 -0
- package/dist/exports/NavigationTree.cjs.map +1 -0
- package/dist/exports/NavigationTree.js +25 -0
- package/dist/exports/NavigationTree.js.map +1 -0
- package/dist/exports/NavigationTree.mjs +25 -0
- package/dist/exports/NavigationTree.mjs.map +1 -0
- package/dist/exports/PreviewTrigger.cjs +26 -0
- package/dist/exports/PreviewTrigger.cjs.map +1 -0
- package/dist/exports/PreviewTrigger.js +21 -0
- package/dist/exports/PreviewTrigger.js.map +1 -0
- package/dist/exports/PreviewTrigger.mjs +21 -0
- package/dist/exports/PreviewTrigger.mjs.map +1 -0
- package/dist/exports/TokenField.cjs +31 -0
- package/dist/exports/TokenField.cjs.map +1 -0
- package/dist/exports/TokenField.js +21 -0
- package/dist/exports/TokenField.js.map +1 -0
- package/dist/exports/TokenField.mjs +21 -0
- package/dist/exports/TokenField.mjs.map +1 -0
- package/dist/exports/Tree.cjs.map +1 -1
- package/dist/exports/Tree.js.map +1 -1
- package/dist/exports/Tree.mjs.map +1 -1
- package/dist/exports/index.cjs +25 -0
- package/dist/exports/index.cjs.map +1 -1
- package/dist/exports/index.js +12 -2
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/index.mjs +12 -2
- package/dist/exports/index.mjs.map +1 -1
- package/dist/private/Checkbox.cjs.map +1 -1
- package/dist/private/Checkbox.js.map +1 -1
- package/dist/private/Checkbox.mjs.map +1 -1
- package/dist/private/ComboBox.cjs +21 -2
- package/dist/private/ComboBox.cjs.map +1 -1
- package/dist/private/ComboBox.js +21 -2
- package/dist/private/ComboBox.js.map +1 -1
- package/dist/private/ComboBox.mjs +21 -2
- package/dist/private/ComboBox.mjs.map +1 -1
- package/dist/private/Dialog.cjs +21 -1
- package/dist/private/Dialog.cjs.map +1 -1
- package/dist/private/Dialog.js +21 -1
- package/dist/private/Dialog.js.map +1 -1
- package/dist/private/Dialog.mjs +21 -1
- package/dist/private/Dialog.mjs.map +1 -1
- package/dist/private/DragAndDrop.cjs +1 -0
- package/dist/private/DragAndDrop.cjs.map +1 -1
- package/dist/private/DragAndDrop.js +1 -0
- package/dist/private/DragAndDrop.js.map +1 -1
- package/dist/private/DragAndDrop.mjs +1 -0
- package/dist/private/DragAndDrop.mjs.map +1 -1
- package/dist/private/DropZone.cjs +5 -2
- package/dist/private/DropZone.cjs.map +1 -1
- package/dist/private/DropZone.js +5 -3
- package/dist/private/DropZone.js.map +1 -1
- package/dist/private/DropZone.mjs +5 -2
- package/dist/private/DropZone.mjs.map +1 -1
- package/dist/private/FileTrigger.cjs +1 -0
- package/dist/private/FileTrigger.cjs.map +1 -1
- package/dist/private/FileTrigger.js +1 -0
- package/dist/private/FileTrigger.js.map +1 -1
- package/dist/private/FileTrigger.mjs +1 -0
- package/dist/private/FileTrigger.mjs.map +1 -1
- package/dist/private/GridLayout.cjs +3 -1
- package/dist/private/GridLayout.cjs.map +1 -1
- package/dist/private/GridLayout.js +3 -1
- package/dist/private/GridLayout.js.map +1 -1
- package/dist/private/GridLayout.mjs +3 -1
- package/dist/private/GridLayout.mjs.map +1 -1
- package/dist/private/GridList.cjs +12 -1
- package/dist/private/GridList.cjs.map +1 -1
- package/dist/private/GridList.js +12 -1
- package/dist/private/GridList.js.map +1 -1
- package/dist/private/GridList.mjs +12 -1
- package/dist/private/GridList.mjs.map +1 -1
- package/dist/private/ListBox.cjs +9 -1
- package/dist/private/ListBox.cjs.map +1 -1
- package/dist/private/ListBox.js +9 -1
- package/dist/private/ListBox.js.map +1 -1
- package/dist/private/ListBox.mjs +9 -1
- package/dist/private/ListBox.mjs.map +1 -1
- package/dist/private/Menu.cjs +59 -2
- package/dist/private/Menu.cjs.map +1 -1
- package/dist/private/Menu.js +60 -4
- package/dist/private/Menu.js.map +1 -1
- package/dist/private/Menu.mjs +60 -4
- package/dist/private/Menu.mjs.map +1 -1
- package/dist/private/Meter.cjs +2 -1
- package/dist/private/Meter.cjs.map +1 -1
- package/dist/private/Meter.js +2 -1
- package/dist/private/Meter.js.map +1 -1
- package/dist/private/Meter.mjs +2 -1
- package/dist/private/Meter.mjs.map +1 -1
- package/dist/private/Modal.cjs +2 -0
- package/dist/private/Modal.cjs.map +1 -1
- package/dist/private/Modal.js +2 -0
- package/dist/private/Modal.js.map +1 -1
- package/dist/private/Modal.mjs +2 -0
- package/dist/private/Modal.mjs.map +1 -1
- package/dist/private/NavigationTree.cjs +272 -0
- package/dist/private/NavigationTree.cjs.map +1 -0
- package/dist/private/NavigationTree.js +258 -0
- package/dist/private/NavigationTree.js.map +1 -0
- package/dist/private/NavigationTree.mjs +257 -0
- package/dist/private/NavigationTree.mjs.map +1 -0
- package/dist/private/Popover.cjs +34 -9
- package/dist/private/Popover.cjs.map +1 -1
- package/dist/private/Popover.js +34 -9
- package/dist/private/Popover.js.map +1 -1
- package/dist/private/Popover.mjs +34 -9
- package/dist/private/Popover.mjs.map +1 -1
- package/dist/private/PreviewTrigger.cjs +88 -0
- package/dist/private/PreviewTrigger.cjs.map +1 -0
- package/dist/private/PreviewTrigger.js +80 -0
- package/dist/private/PreviewTrigger.js.map +1 -0
- package/dist/private/PreviewTrigger.mjs +79 -0
- package/dist/private/PreviewTrigger.mjs.map +1 -0
- package/dist/private/ProgressBar.cjs +6 -1
- package/dist/private/ProgressBar.cjs.map +1 -1
- package/dist/private/ProgressBar.js +6 -1
- package/dist/private/ProgressBar.js.map +1 -1
- package/dist/private/ProgressBar.mjs +6 -1
- package/dist/private/ProgressBar.mjs.map +1 -1
- package/dist/private/RadioGroup.cjs.map +1 -1
- package/dist/private/RadioGroup.js.map +1 -1
- package/dist/private/RadioGroup.mjs.map +1 -1
- package/dist/private/Select.cjs.map +1 -1
- package/dist/private/Select.js.map +1 -1
- package/dist/private/Select.mjs.map +1 -1
- package/dist/private/Switch.cjs +8 -2
- package/dist/private/Switch.cjs.map +1 -1
- package/dist/private/Switch.js +9 -3
- package/dist/private/Switch.js.map +1 -1
- package/dist/private/Switch.mjs +9 -3
- package/dist/private/Switch.mjs.map +1 -1
- package/dist/private/Table.cjs +26 -14
- package/dist/private/Table.cjs.map +1 -1
- package/dist/private/Table.js +26 -14
- package/dist/private/Table.js.map +1 -1
- package/dist/private/Table.mjs +26 -14
- package/dist/private/Table.mjs.map +1 -1
- package/dist/private/TableLayout.cjs +3 -1
- package/dist/private/TableLayout.cjs.map +1 -1
- package/dist/private/TableLayout.js +3 -1
- package/dist/private/TableLayout.js.map +1 -1
- package/dist/private/TableLayout.mjs +3 -1
- package/dist/private/TableLayout.mjs.map +1 -1
- package/dist/private/TagGroup.cjs +1 -0
- package/dist/private/TagGroup.cjs.map +1 -1
- package/dist/private/TagGroup.js +1 -0
- package/dist/private/TagGroup.js.map +1 -1
- package/dist/private/TagGroup.mjs +1 -0
- package/dist/private/TagGroup.mjs.map +1 -1
- package/dist/private/Text.cjs +3 -1
- package/dist/private/Text.cjs.map +1 -1
- package/dist/private/Text.js +4 -2
- package/dist/private/Text.js.map +1 -1
- package/dist/private/Text.mjs +4 -2
- package/dist/private/Text.mjs.map +1 -1
- package/dist/private/ToggleButton.cjs.map +1 -1
- package/dist/private/ToggleButton.js.map +1 -1
- package/dist/private/ToggleButton.mjs.map +1 -1
- package/dist/private/TokenField.cjs +235 -0
- package/dist/private/TokenField.cjs.map +1 -0
- package/dist/private/TokenField.js +225 -0
- package/dist/private/TokenField.js.map +1 -0
- package/dist/private/TokenField.mjs +223 -0
- package/dist/private/TokenField.mjs.map +1 -0
- package/dist/private/Tooltip.cjs +10 -2
- package/dist/private/Tooltip.cjs.map +1 -1
- package/dist/private/Tooltip.js +10 -2
- package/dist/private/Tooltip.js.map +1 -1
- package/dist/private/Tooltip.mjs +10 -2
- package/dist/private/Tooltip.mjs.map +1 -1
- package/dist/private/Tree.cjs +11 -1
- package/dist/private/Tree.cjs.map +1 -1
- package/dist/private/Tree.js +11 -1
- package/dist/private/Tree.js.map +1 -1
- package/dist/private/Tree.mjs +11 -1
- package/dist/private/Tree.mjs.map +1 -1
- package/dist/private/TreeDropTargetDelegate.cjs +11 -6
- package/dist/private/TreeDropTargetDelegate.cjs.map +1 -1
- package/dist/private/TreeDropTargetDelegate.js +11 -6
- package/dist/private/TreeDropTargetDelegate.js.map +1 -1
- package/dist/private/TreeDropTargetDelegate.mjs +11 -6
- package/dist/private/TreeDropTargetDelegate.mjs.map +1 -1
- package/dist/private/Virtualizer.cjs +18 -16
- package/dist/private/Virtualizer.cjs.map +1 -1
- package/dist/private/Virtualizer.js +18 -16
- package/dist/private/Virtualizer.js.map +1 -1
- package/dist/private/Virtualizer.mjs +18 -16
- package/dist/private/Virtualizer.mjs.map +1 -1
- package/dist/private/useDragAndDrop.cjs +7 -0
- package/dist/private/useDragAndDrop.cjs.map +1 -1
- package/dist/private/useDragAndDrop.js +7 -0
- package/dist/private/useDragAndDrop.js.map +1 -1
- package/dist/private/useDragAndDrop.mjs +7 -0
- package/dist/private/useDragAndDrop.mjs.map +1 -1
- package/dist/private/utils.cjs.map +1 -1
- package/dist/private/utils.js.map +1 -1
- package/dist/private/utils.mjs.map +1 -1
- package/dist/types/exports/GridList.d.ts +1 -1
- package/dist/types/exports/Menu.d.ts +2 -2
- package/dist/types/exports/NavigationTree.d.ts +8 -0
- package/dist/types/exports/PreviewTrigger.d.ts +3 -0
- package/dist/types/exports/TokenField.d.ts +5 -0
- package/dist/types/exports/Tree.d.ts +1 -1
- package/dist/types/exports/index.d.ts +14 -5
- package/dist/types/src/Breadcrumbs.d.ts +2 -2
- package/dist/types/src/Button.d.ts +1 -1
- package/dist/types/src/Calendar.d.ts +6 -6
- package/dist/types/src/Checkbox.d.ts +8 -8
- package/dist/types/src/Collection.d.ts +1 -1
- package/dist/types/src/ComboBox.d.ts +6 -3
- package/dist/types/src/DateField.d.ts +4 -4
- package/dist/types/src/DatePicker.d.ts +2 -2
- package/dist/types/src/Dialog.d.ts +2 -2
- package/dist/types/src/Disclosure.d.ts +2 -2
- package/dist/types/src/GridList.d.ts +18 -7
- package/dist/types/src/Group.d.ts +1 -1
- package/dist/types/src/Header.d.ts +1 -1
- package/dist/types/src/Input.d.ts +1 -1
- package/dist/types/src/Label.d.ts +1 -1
- package/dist/types/src/Link.d.ts +1 -1
- package/dist/types/src/ListBox.d.ts +6 -6
- package/dist/types/src/Menu.d.ts +25 -6
- package/dist/types/src/Meter.d.ts +1 -1
- package/dist/types/src/Modal.d.ts +2 -2
- package/dist/types/src/NavigationTree.d.ts +80 -0
- package/dist/types/src/NumberField.d.ts +1 -1
- package/dist/types/src/OverlayArrow.d.ts +1 -1
- package/dist/types/src/Popover.d.ts +8 -1
- package/dist/types/src/PreviewTrigger.d.ts +23 -0
- package/dist/types/src/RadioGroup.d.ts +8 -8
- package/dist/types/src/SearchField.d.ts +1 -1
- package/dist/types/src/Select.d.ts +3 -3
- package/dist/types/src/Separator.d.ts +1 -1
- package/dist/types/src/Slider.d.ts +5 -5
- package/dist/types/src/Switch.d.ts +7 -7
- package/dist/types/src/Table.d.ts +32 -8
- package/dist/types/src/Tabs.d.ts +5 -5
- package/dist/types/src/TagGroup.d.ts +3 -3
- package/dist/types/src/Text.d.ts +1 -1
- package/dist/types/src/TextField.d.ts +1 -1
- package/dist/types/src/Toast.d.ts +3 -3
- package/dist/types/src/ToggleButton.d.ts +1 -1
- package/dist/types/src/ToggleButtonGroup.d.ts +1 -1
- package/dist/types/src/TokenField.d.ts +111 -0
- package/dist/types/src/Toolbar.d.ts +1 -1
- package/dist/types/src/Tooltip.d.ts +1 -1
- package/dist/types/src/Tree.d.ts +12 -10
- package/dist/types/src/Virtualizer.d.ts +4 -0
- package/dist/types/src/utils.d.ts +19 -5
- package/i18n/ar-AE.js +1 -1
- package/i18n/ar-AE.mjs +1 -1
- package/i18n/bg-BG.js +1 -1
- package/i18n/bg-BG.mjs +1 -1
- package/i18n/cs-CZ.js +1 -1
- package/i18n/cs-CZ.mjs +1 -1
- package/i18n/da-DK.js +1 -1
- package/i18n/da-DK.mjs +1 -1
- package/i18n/de-DE.js +1 -1
- package/i18n/de-DE.mjs +1 -1
- package/i18n/el-GR.js +1 -1
- package/i18n/el-GR.mjs +1 -1
- package/i18n/en-US.js +1 -1
- package/i18n/en-US.mjs +1 -1
- package/i18n/es-ES.js +1 -1
- package/i18n/es-ES.mjs +1 -1
- package/i18n/et-EE.js +1 -1
- package/i18n/et-EE.mjs +1 -1
- package/i18n/fi-FI.js +1 -1
- package/i18n/fi-FI.mjs +1 -1
- package/i18n/fr-FR.js +1 -1
- package/i18n/fr-FR.mjs +1 -1
- package/i18n/he-IL.js +1 -1
- package/i18n/he-IL.mjs +1 -1
- package/i18n/hr-HR.js +1 -1
- package/i18n/hr-HR.mjs +1 -1
- package/i18n/hu-HU.js +1 -1
- package/i18n/hu-HU.mjs +1 -1
- package/i18n/it-IT.js +1 -1
- package/i18n/it-IT.mjs +1 -1
- package/i18n/ja-JP.js +1 -1
- package/i18n/ja-JP.mjs +1 -1
- package/i18n/ko-KR.js +1 -1
- package/i18n/ko-KR.mjs +1 -1
- package/i18n/lt-LT.js +1 -1
- package/i18n/lt-LT.mjs +1 -1
- package/i18n/lv-LV.js +1 -1
- package/i18n/lv-LV.mjs +1 -1
- package/i18n/nb-NO.js +1 -1
- package/i18n/nb-NO.mjs +1 -1
- package/i18n/nl-NL.js +1 -1
- package/i18n/nl-NL.mjs +1 -1
- package/i18n/pl-PL.js +1 -1
- package/i18n/pl-PL.mjs +1 -1
- package/i18n/pt-BR.js +1 -1
- package/i18n/pt-BR.mjs +1 -1
- package/i18n/pt-PT.js +1 -1
- package/i18n/pt-PT.mjs +1 -1
- package/i18n/ro-RO.js +1 -1
- package/i18n/ro-RO.mjs +1 -1
- package/i18n/ru-RU.js +1 -1
- package/i18n/ru-RU.mjs +1 -1
- package/i18n/sk-SK.js +1 -1
- package/i18n/sk-SK.mjs +1 -1
- package/i18n/sl-SI.js +1 -1
- package/i18n/sl-SI.mjs +1 -1
- package/i18n/sr-SP.js +1 -1
- package/i18n/sr-SP.mjs +1 -1
- package/i18n/sv-SE.js +1 -1
- package/i18n/sv-SE.mjs +1 -1
- package/i18n/tr-TR.js +1 -1
- package/i18n/tr-TR.mjs +1 -1
- package/i18n/uk-UA.js +1 -1
- package/i18n/uk-UA.mjs +1 -1
- package/i18n/zh-CN.js +1 -1
- package/i18n/zh-CN.mjs +1 -1
- package/i18n/zh-TW.js +1 -1
- package/i18n/zh-TW.mjs +1 -1
- package/package.json +33 -31
|
@@ -3,6 +3,7 @@ import $7DqZ6$intlStringsmjs from "./intlStrings.mjs";
|
|
|
3
3
|
import {TextContext as $efe09c6d1c304b50$export$9afb8bc826b033ea} from "./Text.mjs";
|
|
4
4
|
import {useDrop as $7DqZ6$useDrop} from "react-aria/useDrop";
|
|
5
5
|
import {filterDOMProps as $7DqZ6$filterDOMProps} from "react-aria/filterDOMProps";
|
|
6
|
+
import {focusWithoutScrolling as $7DqZ6$focusWithoutScrolling} from "react-aria/private/utils/focusWithoutScrolling";
|
|
6
7
|
import {getEventTarget as $7DqZ6$getEventTarget, nodeContains as $7DqZ6$nodeContains} from "react-aria/private/utils/shadowdom/DOMFunctions";
|
|
7
8
|
import {isFocusable as $7DqZ6$isFocusable} from "react-aria/private/utils/isFocusable";
|
|
8
9
|
import {mergeProps as $7DqZ6$mergeProps} from "react-aria/mergeProps";
|
|
@@ -49,9 +50,11 @@ function $parcel$interopDefault(a) {
|
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
|
|
53
|
+
|
|
52
54
|
const $070c0dd15dc89b58$export$14a72053295ff9a6 = /*#__PURE__*/ (0, $7DqZ6$createContext)(null);
|
|
53
55
|
const $070c0dd15dc89b58$export$3c6489d84dc98b6 = /*#__PURE__*/ (0, $7DqZ6$forwardRef)(function DropZone(props, ref) {
|
|
54
56
|
let { isDisabled: isDisabled = false } = props;
|
|
57
|
+
// oxlint-disable-next-line react/react-compiler
|
|
55
58
|
[props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $070c0dd15dc89b58$export$14a72053295ff9a6);
|
|
56
59
|
let dropzoneRef = (0, $7DqZ6$useObjectRef)(ref);
|
|
57
60
|
let buttonRef = (0, $7DqZ6$useRef)(null);
|
|
@@ -118,8 +121,8 @@ const $070c0dd15dc89b58$export$3c6489d84dc98b6 = /*#__PURE__*/ (0, $7DqZ6$forwar
|
|
|
118
121
|
let target = (0, $7DqZ6$getEventTarget)(e);
|
|
119
122
|
while(target && (0, $7DqZ6$nodeContains)(dropzoneRef.current, target)){
|
|
120
123
|
if ((0, $7DqZ6$isFocusable)(target)) break;
|
|
121
|
-
else if (target === dropzoneRef.current) {
|
|
122
|
-
buttonRef.current
|
|
124
|
+
else if (target === dropzoneRef.current && buttonRef.current) {
|
|
125
|
+
(0, $7DqZ6$focusWithoutScrolling)(buttonRef.current);
|
|
123
126
|
break;
|
|
124
127
|
}
|
|
125
128
|
target = target.parentElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria-components/src/DropZone.tsx"],"sourcesContent":["/*\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, GlobalDOMAttributes, HoverEvents} from '@react-types/shared';\nimport {\n ClassNameOrFunction,\n ContextValue,\n dom,\n Provider,\n RenderProps,\n SlotProps,\n useContextProps,\n useRenderProps\n} from './utils';\nimport {DropOptions, useDrop} from 'react-aria/useDrop';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport {focusWithoutScrolling} from 'react-aria/private/utils/focusWithoutScrolling';\nimport {getEventTarget, nodeContains} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport intlMessages from '../intl/*.json';\nimport {isFocusable} from 'react-aria/private/utils/isFocusable';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';\nimport {TextContext} from './Text';\nimport {useButton} from 'react-aria/useButton';\nimport {useClipboard} from 'react-aria/useClipboard';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useLabels} from 'react-aria/private/utils/useLabels';\nimport {useLocalizedStringFormatter} from 'react-aria/useLocalizedStringFormatter';\nimport {useObjectRef} from 'react-aria/useObjectRef';\nimport {useSlotId} from 'react-aria/private/utils/useId';\nimport {VisuallyHidden} from 'react-aria/VisuallyHidden';\n\nexport interface DropZoneRenderProps {\n /**\n * Whether the dropzone is currently hovered with a mouse.\n *\n * @selector [data-hovered]\n */\n isHovered: boolean;\n /**\n * Whether the dropzone is focused, either via a mouse or keyboard.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the dropzone is keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the dropzone is the drop target.\n *\n * @selector [data-drop-target]\n */\n isDropTarget: boolean;\n /**\n * Whether the dropzone is disabled.\n *\n * @selector [data-disabled]\n */\n isDisabled: boolean;\n}\n\nexport interface DropZoneProps\n extends\n Omit<DropOptions, 'getDropOperationForPoint' | 'ref' | 'hasDropButton'>,\n HoverEvents,\n RenderProps<DropZoneRenderProps>,\n SlotProps,\n AriaLabelingProps,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-DropZone'\n */\n className?: ClassNameOrFunction<DropZoneRenderProps>;\n}\n\nexport const DropZoneContext = createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);\n\n/**\n * A drop zone is an area into which one or multiple objects can be dragged and dropped.\n */\nexport const DropZone = forwardRef(function DropZone(\n props: DropZoneProps,\n ref: ForwardedRef<HTMLDivElement>\n) {\n let {isDisabled = false} = props;\n // oxlint-disable-next-line react/react-compiler\n [props, ref] = useContextProps(props, ref, DropZoneContext);\n let dropzoneRef = useObjectRef(ref);\n let buttonRef = useRef<HTMLButtonElement>(null);\n let {dropProps, dropButtonProps, isDropTarget} = useDrop({\n ...props,\n ref: buttonRef,\n hasDropButton: true\n });\n let {buttonProps} = useButton(dropButtonProps || {}, buttonRef);\n let {hoverProps, isHovered} = useHover(props);\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, 'react-aria-components');\n\n let textId = useSlotId();\n let ariaLabel = props['aria-label'] || stringFormatter.format('dropzoneLabel');\n let messageId = props['aria-labelledby'];\n let ariaLabelledby = [textId, messageId].filter(Boolean).join(' ');\n let labelProps = useLabels({'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby});\n\n let {clipboardProps} = useClipboard({\n isDisabled,\n onPaste: items =>\n 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, isDisabled},\n defaultClassName: 'react-aria-DropZone'\n });\n let DOMProps = filterDOMProps(props, {global: true});\n delete DOMProps.id;\n\n return (\n <Provider values={[[TextContext, {id: textId, slot: 'label'}]]}>\n <dom.div\n {...mergeProps(DOMProps, renderProps, dropProps, hoverProps)}\n slot={props.slot || undefined}\n ref={dropzoneRef}\n onClick={e => {\n let target = getEventTarget(e) as HTMLElement | null;\n while (target && nodeContains(dropzoneRef.current, target)) {\n if (isFocusable(target)) {\n break;\n } else if (target === dropzoneRef.current && buttonRef.current) {\n focusWithoutScrolling(buttonRef.current);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n data-hovered={isHovered || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-drop-target={isDropTarget || undefined}\n data-disabled={isDisabled || undefined}>\n <VisuallyHidden>\n <button\n {...mergeProps(buttonProps, focusProps, clipboardProps, labelProps)}\n ref={buttonRef}\n />\n </VisuallyHidden>\n {renderProps.children}\n </dom.div>\n </Provider>\n );\n});\n"],"names":[],"version":3,"file":"DropZone.mjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,uBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,yCAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,6CAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,oIACE,0DAAC,CAAA,GAAA,gEAAa;QACZ,SAAS;YACP,IAAI,SAAS,OAAO,EAAE,OACpB,SAAS,OAAO,CAAC,KAAK,GAAG;YAE3B,SAAS,OAAO,EAAE;QACpB;OACC,yBAEH,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,OAAO;YAAC,SAAS;QAAM;QACvB,QAAQ,mBAAmB;QAC3B,UAAU,CAAA,IAAK,WAAW,CAAA,GAAA,gEAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.cjs.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,uBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,yCAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,6CAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,oIACE,0DAAC,CAAA,GAAA,gEAAa;QACZ,SAAS;YACP,IAAI,SAAS,OAAO,EAAE,OACpB,SAAS,OAAO,CAAC,KAAK,GAAG;YAE3B,SAAS,OAAO,EAAE;QACpB;OACC,yBAEH,0DAAC,CAAA,GAAA,+BAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,SAAS,CAAA,IAAK,EAAE,eAAe;QAC/B,OAAO;YAAC,SAAS;QAAM;QACvB,QAAQ,mBAAmB;QAC3B,UAAU,CAAA,IAAK,WAAW,CAAA,GAAA,gEAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n onClick={e => e.stopPropagation()}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.cjs.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,mBAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,qBAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,gFACE,gCAAC,CAAA,GAAA,qBAAa;QACZ,SAAS;gBACH,mBAGJ;YAHA,KAAI,oBAAA,SAAS,OAAO,cAAhB,wCAAA,kBAAkB,KAAK,EACzB,SAAS,OAAO,CAAC,KAAK,GAAG;aAE3B,qBAAA,SAAS,OAAO,cAAhB,yCAAA,mBAAkB,KAAK;QACzB;OACC,yBAEH,gCAAC,CAAA,GAAA,yCAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,OAAO;YAAC,SAAS;QAAM;QACvB,MAAM,EAAE,8BAAA,wCAAA,kBAAmB,QAAQ;QACnC,UAAU,CAAA,IAAK,qBAAA,+BAAA,SAAW,CAAA,GAAA,qBAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,mBAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,qBAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,gFACE,gCAAC,CAAA,GAAA,qBAAa;QACZ,SAAS;gBACH,mBAGJ;YAHA,KAAI,oBAAA,SAAS,OAAO,cAAhB,wCAAA,kBAAkB,KAAK,EACzB,SAAS,OAAO,CAAC,KAAK,GAAG;aAE3B,qBAAA,SAAS,OAAO,cAAhB,yCAAA,mBAAkB,KAAK;QACzB;OACC,yBAEH,gCAAC,CAAA,GAAA,yCAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,SAAS,CAAA,IAAK,EAAE,eAAe;QAC/B,OAAO;YAAC,SAAS;QAAM;QACvB,MAAM,EAAE,8BAAA,wCAAA,kBAAmB,QAAQ;QACnC,UAAU,CAAA,IAAK,qBAAA,+BAAA,SAAW,CAAA,GAAA,qBAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n onClick={e => e.stopPropagation()}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,mBAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,qBAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,gFACE,gCAAC,CAAA,GAAA,qBAAa;QACZ,SAAS;YACP,IAAI,SAAS,OAAO,EAAE,OACpB,SAAS,OAAO,CAAC,KAAK,GAAG;YAE3B,SAAS,OAAO,EAAE;QACpB;OACC,yBAEH,gCAAC,CAAA,GAAA,yCAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,OAAO;YAAC,SAAS;QAAM;QACvB,QAAQ,mBAAmB;QAC3B,UAAU,CAAA,IAAK,WAAW,CAAA,GAAA,qBAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.mjs.map"}
|
|
1
|
+
{"mappings":";;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AA0CM,MAAM,0DAAc,CAAA,GAAA,iBAAS,EAAE,SAAS,YAC7C,KAAuB,EACvB,GAAmC;IAEnC,IAAI,YACF,QAAQ,qBACR,iBAAiB,kBACjB,cAAc,iBACd,aAAa,YACb,QAAQ,mBACR,eAAe,EACf,GAAG,MACJ,GAAG;IACJ,IAAI,WAAW,CAAA,GAAA,mBAAW,EAAE;IAC5B,IAAI,WAAW,CAAA,GAAA,qBAAa,EAAE,MAAM;QAAC,QAAQ;IAAI;IAEjD,qBACE,gFACE,gCAAC,CAAA,GAAA,qBAAa;QACZ,SAAS;YACP,IAAI,SAAS,OAAO,EAAE,OACpB,SAAS,OAAO,CAAC,KAAK,GAAG;YAE3B,SAAS,OAAO,EAAE;QACpB;OACC,yBAEH,gCAAC,CAAA,GAAA,yCAAI;QACF,GAAG,QAAQ;QACZ,WAAU;QACV,MAAK;QACL,KAAK;QACL,SAAS,CAAA,IAAK,EAAE,eAAe;QAC/B,OAAO;YAAC,SAAS;QAAM;QACvB,QAAQ,mBAAmB;QAC3B,UAAU,CAAA,IAAK,WAAW,CAAA,GAAA,qBAAa,EAAE,GAAG,KAAK;QACjD,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,iBAAiB,kBAAkB,KAAK;;AAIhD","sources":["packages/react-aria-components/src/FileTrigger.tsx"],"sourcesContent":["/*\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} from 'react-aria/filterDOMProps';\n\nimport {getEventTarget} from 'react-aria/private/utils/shadowdom/DOMFunctions';\nimport {GlobalDOMAttributes} from '@react-types/shared';\nimport {Input} from './Input';\nimport {PressResponder} from 'react-aria/private/interactions/PressResponder';\nimport React, {ForwardedRef, forwardRef, ReactNode} from 'react';\nimport {useObjectRef} from 'react-aria/useObjectRef';\n\nexport interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {\n /**\n * Specifies what mime type of files are allowed.\n */\n acceptedFileTypes?: ReadonlyArray<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 * Enables the selection of directories instead of individual files.\n */\n acceptDirectory?: boolean;\n}\n\n/**\n * A FileTrigger allows a user to access the file system with any pressable React Aria or React\n * Spectrum component, or custom components built with usePress.\n */\nexport const FileTrigger = forwardRef(function FileTrigger(\n props: FileTriggerProps,\n ref: ForwardedRef<HTMLInputElement>\n) {\n let {\n onSelect,\n acceptedFileTypes,\n allowsMultiple,\n defaultCamera,\n children,\n acceptDirectory,\n ...rest\n } = props;\n let inputRef = useObjectRef(ref);\n let domProps = filterDOMProps(rest, {global: true});\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 className=\"\"\n type=\"file\"\n ref={inputRef}\n onClick={e => e.stopPropagation()}\n style={{display: 'none'}}\n accept={acceptedFileTypes?.toString()}\n onChange={e => onSelect?.(getEventTarget(e).files)}\n capture={defaultCamera}\n multiple={allowsMultiple}\n // @ts-expect-error\n webkitdirectory={acceptDirectory ? '' : undefined}\n />\n </>\n );\n});\n"],"names":[],"version":3,"file":"FileTrigger.mjs.map"}
|
|
@@ -24,12 +24,14 @@ $parcel$export(module.exports, "GridLayout", function () { return $b0f63132ddc5a
|
|
|
24
24
|
class $b0f63132ddc5a7cf$export$7d2b12578154a735 extends (0, $kMpTT$reactstatelyuseVirtualizerState.GridLayout) {
|
|
25
25
|
// Automatically determine the layout direction from the current locale.
|
|
26
26
|
useLayoutOptions() {
|
|
27
|
-
|
|
27
|
+
// oxlint-disable react/react-compiler, react-hooks/rules-of-hooks
|
|
28
|
+
let { direction: direction } = (0, $kMpTT$reactariaI18nProvider.useLocale)();
|
|
28
29
|
return (0, $kMpTT$react.useMemo)(()=>({
|
|
29
30
|
direction: direction
|
|
30
31
|
}), [
|
|
31
32
|
direction
|
|
32
33
|
]);
|
|
34
|
+
// oxlint-enable react/react-compiler, react-hooks/rules-of-hooks
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iDAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,
|
|
1
|
+
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iDAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,kEAAkE;QAClE,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,sCAAQ;QAC1B,OAAO,CAAA,GAAA,oBAAM,EAAE,IAAO,CAAA;2BAAC;YAAS,CAAA,GAAI;YAAC;SAAU;IAC/C,iEAAiE;IACnE;AACF","sources":["packages/react-aria-components/src/GridLayout.ts"],"sourcesContent":["/*\n * Copyright 2024 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 {GridLayout as BaseGridLayout, GridLayoutOptions} from 'react-stately/useVirtualizerState';\nimport {LayoutOptionsDelegate} from './Virtualizer';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useMemo} from 'react';\n\nexport class GridLayout<T, O extends GridLayoutOptions = GridLayoutOptions>\n extends BaseGridLayout<T, O>\n implements LayoutOptionsDelegate<GridLayoutOptions>\n{\n // Automatically determine the layout direction from the current locale.\n useLayoutOptions(): GridLayoutOptions {\n // oxlint-disable react/react-compiler, react-hooks/rules-of-hooks\n let {direction} = useLocale();\n return useMemo(() => ({direction}), [direction]);\n // oxlint-enable react/react-compiler, react-hooks/rules-of-hooks\n }\n}\n"],"names":[],"version":3,"file":"GridLayout.cjs.map"}
|
|
@@ -18,12 +18,14 @@ import {useMemo as $86kX2$useMemo} from "react";
|
|
|
18
18
|
class $b4dd74abacc8f75e$export$7d2b12578154a735 extends (0, $86kX2$GridLayout) {
|
|
19
19
|
// Automatically determine the layout direction from the current locale.
|
|
20
20
|
useLayoutOptions() {
|
|
21
|
-
|
|
21
|
+
// oxlint-disable react/react-compiler, react-hooks/rules-of-hooks
|
|
22
|
+
let { direction: direction } = (0, $86kX2$useLocale)();
|
|
22
23
|
return (0, $86kX2$useMemo)(()=>({
|
|
23
24
|
direction: direction
|
|
24
25
|
}), [
|
|
25
26
|
direction
|
|
26
27
|
]);
|
|
28
|
+
// oxlint-enable react/react-compiler, react-hooks/rules-of-hooks
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iBAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,
|
|
1
|
+
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iBAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,kEAAkE;QAClE,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ;QAC1B,OAAO,CAAA,GAAA,cAAM,EAAE,IAAO,CAAA;2BAAC;YAAS,CAAA,GAAI;YAAC;SAAU;IAC/C,iEAAiE;IACnE;AACF","sources":["packages/react-aria-components/src/GridLayout.ts"],"sourcesContent":["/*\n * Copyright 2024 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 {GridLayout as BaseGridLayout, GridLayoutOptions} from 'react-stately/useVirtualizerState';\nimport {LayoutOptionsDelegate} from './Virtualizer';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useMemo} from 'react';\n\nexport class GridLayout<T, O extends GridLayoutOptions = GridLayoutOptions>\n extends BaseGridLayout<T, O>\n implements LayoutOptionsDelegate<GridLayoutOptions>\n{\n // Automatically determine the layout direction from the current locale.\n useLayoutOptions(): GridLayoutOptions {\n // oxlint-disable react/react-compiler, react-hooks/rules-of-hooks\n let {direction} = useLocale();\n return useMemo(() => ({direction}), [direction]);\n // oxlint-enable react/react-compiler, react-hooks/rules-of-hooks\n }\n}\n"],"names":[],"version":3,"file":"GridLayout.js.map"}
|
|
@@ -18,12 +18,14 @@ import {useMemo as $drfXP$useMemo} from "react";
|
|
|
18
18
|
class $4619d02c7d841f48$export$7d2b12578154a735 extends (0, $drfXP$GridLayout) {
|
|
19
19
|
// Automatically determine the layout direction from the current locale.
|
|
20
20
|
useLayoutOptions() {
|
|
21
|
-
|
|
21
|
+
// oxlint-disable react/react-compiler, react-hooks/rules-of-hooks
|
|
22
|
+
let { direction: direction } = (0, $drfXP$useLocale)();
|
|
22
23
|
return (0, $drfXP$useMemo)(()=>({
|
|
23
24
|
direction: direction
|
|
24
25
|
}), [
|
|
25
26
|
direction
|
|
26
27
|
]);
|
|
28
|
+
// oxlint-enable react/react-compiler, react-hooks/rules-of-hooks
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iBAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,
|
|
1
|
+
{"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAOM,MAAM,kDACH,CAAA,GAAA,iBAAa;IAGrB,wEAAwE;IACxE,mBAAsC;QACpC,kEAAkE;QAClE,IAAI,aAAC,SAAS,EAAC,GAAG,CAAA,GAAA,gBAAQ;QAC1B,OAAO,CAAA,GAAA,cAAM,EAAE,IAAO,CAAA;2BAAC;YAAS,CAAA,GAAI;YAAC;SAAU;IAC/C,iEAAiE;IACnE;AACF","sources":["packages/react-aria-components/src/GridLayout.ts"],"sourcesContent":["/*\n * Copyright 2024 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 {GridLayout as BaseGridLayout, GridLayoutOptions} from 'react-stately/useVirtualizerState';\nimport {LayoutOptionsDelegate} from './Virtualizer';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useMemo} from 'react';\n\nexport class GridLayout<T, O extends GridLayoutOptions = GridLayoutOptions>\n extends BaseGridLayout<T, O>\n implements LayoutOptionsDelegate<GridLayoutOptions>\n{\n // Automatically determine the layout direction from the current locale.\n useLayoutOptions(): GridLayoutOptions {\n // oxlint-disable react/react-compiler, react-hooks/rules-of-hooks\n let {direction} = useLocale();\n return useMemo(() => ({direction}), [direction]);\n // oxlint-enable react/react-compiler, react-hooks/rules-of-hooks\n }\n}\n"],"names":[],"version":3,"file":"GridLayout.mjs.map"}
|
|
@@ -95,6 +95,7 @@ const $baa7ef94f966d95f$export$a7bfbda1311ca015 = /*#__PURE__*/ (0, $lEvRe$react
|
|
|
95
95
|
}));
|
|
96
96
|
});
|
|
97
97
|
function $baa7ef94f966d95f$var$GridListInner({ props: props, collection: collection, gridListRef: ref }) {
|
|
98
|
+
// oxlint-disable-next-line react/react-compiler
|
|
98
99
|
[props, ref] = (0, $048d76b84370f141$exports.useContextProps)(props, ref, (0, $433949643203e332$exports.SelectableCollectionContext));
|
|
99
100
|
let { shouldUseVirtualFocus: // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
100
101
|
shouldUseVirtualFocus, filter: filter, disallowTypeAhead: disallowTypeAhead, UNSTABLE_focusOnEntry: UNSTABLE_focusOnEntry, ...DOMCollectionProps } = props;
|
|
@@ -106,6 +107,7 @@ function $baa7ef94f966d95f$var$GridListInner({ props: props, collection: collect
|
|
|
106
107
|
children: undefined,
|
|
107
108
|
layoutDelegate: layoutDelegate
|
|
108
109
|
});
|
|
110
|
+
// oxlint-disable-next-line react/react-compiler
|
|
109
111
|
let filteredState = (0, $lEvRe$reactstatelyuseListState.UNSTABLE_useFilteredListState)(gridlistState, filter);
|
|
110
112
|
let collator = (0, $lEvRe$reactariauseCollator.useCollator)({
|
|
111
113
|
usage: 'search',
|
|
@@ -164,11 +166,13 @@ function $baa7ef94f966d95f$var$GridListInner({ props: props, collection: collect
|
|
|
164
166
|
let dragPreview = null;
|
|
165
167
|
let preview = (0, $lEvRe$react.useRef)(null);
|
|
166
168
|
if (isListDraggable && dragAndDropHooks) {
|
|
169
|
+
// oxlint-disable-next-line react/react-compiler
|
|
167
170
|
dragState = dragAndDropHooks.useDraggableCollectionState({
|
|
168
171
|
collection: filteredState.collection,
|
|
169
172
|
selectionManager: selectionManager,
|
|
170
173
|
preview: dragAndDropHooks.renderDragPreview ? preview : undefined
|
|
171
174
|
});
|
|
175
|
+
// oxlint-disable-next-line react/react-compiler
|
|
172
176
|
dragAndDropHooks.useDraggableCollection({}, dragState, ref);
|
|
173
177
|
let DragPreview = dragAndDropHooks.DragPreview;
|
|
174
178
|
dragPreview = dragAndDropHooks.renderDragPreview ? /*#__PURE__*/ (0, ($parcel$interopDefault($lEvRe$react))).createElement(DragPreview, {
|
|
@@ -176,6 +180,7 @@ function $baa7ef94f966d95f$var$GridListInner({ props: props, collection: collect
|
|
|
176
180
|
}, dragAndDropHooks.renderDragPreview) : null;
|
|
177
181
|
}
|
|
178
182
|
if (isListDroppable && dragAndDropHooks) {
|
|
183
|
+
// oxlint-disable-next-line react/react-compiler
|
|
179
184
|
dropState = dragAndDropHooks.useDroppableCollectionState({
|
|
180
185
|
collection: filteredState.collection,
|
|
181
186
|
selectionManager: selectionManager
|
|
@@ -185,6 +190,7 @@ function $baa7ef94f966d95f$var$GridListInner({ props: props, collection: collect
|
|
|
185
190
|
direction: direction,
|
|
186
191
|
orientation: orientation
|
|
187
192
|
});
|
|
193
|
+
// oxlint-disable-next-line react/react-compiler
|
|
188
194
|
droppableCollection = dragAndDropHooks.useDroppableCollection({
|
|
189
195
|
keyboardDelegate: keyboardDelegate,
|
|
190
196
|
dropTargetDelegate: dropTargetDelegate
|
|
@@ -278,7 +284,9 @@ const $baa7ef94f966d95f$export$e96fc9a8407faa6b = /*#__PURE__*/ (0, $lEvRe$react
|
|
|
278
284
|
let { rowProps: rowProps, gridCellProps: gridCellProps, descriptionProps: descriptionProps, ...states } = (0, $lEvRe$reactariauseGridList.useGridListItem)({
|
|
279
285
|
node: item,
|
|
280
286
|
shouldSelectOnPressUp: !!dragState,
|
|
281
|
-
isVirtualized: isVirtualized
|
|
287
|
+
isVirtualized: isVirtualized,
|
|
288
|
+
focusMode: props.focusMode,
|
|
289
|
+
allowsArrowNavigation: props.allowsArrowNavigation
|
|
282
290
|
}, state, ref);
|
|
283
291
|
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $lEvRe$reactariauseHover.useHover)({
|
|
284
292
|
// because of https://bugs.webkit.org/show_bug.cgi?id=214609, supporting hover styles when a item is ONLY isDraggable
|
|
@@ -452,6 +460,7 @@ function $baa7ef94f966d95f$var$GridListDropIndicatorWrapper(props, ref) {
|
|
|
452
460
|
ref = (0, $lEvRe$reactariauseObjectRef.useObjectRef)(ref);
|
|
453
461
|
let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (0, $lEvRe$react.useContext)((0, $d3d8871226fc64f2$exports.DragAndDropContext));
|
|
454
462
|
let buttonRef = (0, $lEvRe$react.useRef)(null);
|
|
463
|
+
// oxlint-disable-next-line react/react-compiler
|
|
455
464
|
let { dropIndicatorProps: dropIndicatorProps, isHidden: isHidden, isDropTarget: isDropTarget } = dragAndDropHooks.useDropIndicator(props, dropState, buttonRef);
|
|
456
465
|
if (isHidden) return null;
|
|
457
466
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($lEvRe$react))).createElement($baa7ef94f966d95f$var$GridListDropIndicatorForwardRef, {
|
|
@@ -490,6 +499,7 @@ const $baa7ef94f966d95f$var$GridListDropIndicatorForwardRef = /*#__PURE__*/ (0,
|
|
|
490
499
|
function $baa7ef94f966d95f$var$RootDropIndicator() {
|
|
491
500
|
let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (0, $lEvRe$react.useContext)((0, $d3d8871226fc64f2$exports.DragAndDropContext));
|
|
492
501
|
let ref = (0, $lEvRe$react.useRef)(null);
|
|
502
|
+
// oxlint-disable-next-line react/react-compiler
|
|
493
503
|
let { dropIndicatorProps: dropIndicatorProps } = dragAndDropHooks.useDropIndicator({
|
|
494
504
|
target: {
|
|
495
505
|
type: 'root'
|
|
@@ -528,6 +538,7 @@ const $baa7ef94f966d95f$export$392b9a0bbc7c7e43 = (0, $lEvRe$reactariaCollection
|
|
|
528
538
|
}), [
|
|
529
539
|
onLoadMore,
|
|
530
540
|
scrollOffset,
|
|
541
|
+
sentinelRef,
|
|
531
542
|
state?.collection
|
|
532
543
|
]);
|
|
533
544
|
(0, $lEvRe$reactariaprivateutilsuseLoadMoreSentinel.useLoadMoreSentinel)(memoedLoadMoreProps, sentinelRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/react-aria-components/src/GridList.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 */\nimport {\n AriaGridListProps,\n useGridList,\n useGridListItem,\n useGridListSection,\n useGridListSelectionCheckbox\n} from 'react-aria/useGridList';\n\nimport {ButtonContext} from './Button';\nimport {CheckboxContext, CheckboxFieldContext} from './Checkbox';\nimport {\n ClassNameOrFunction,\n ContextValue,\n DEFAULT_SLOT,\n dom,\n DOMProps,\n DOMRenderProps,\n Provider,\n RenderProps,\n SlotProps,\n StyleProps,\n StyleRenderProps,\n useContextProps,\n useRenderProps\n} from './utils';\nimport {Collection} from 'react-aria/Collection';\nimport {\n CollectionBuilder,\n createBranchComponent,\n createLeafComponent\n} from 'react-aria/CollectionBuilder';\nimport {\n CollectionProps,\n CollectionRendererContext,\n DefaultCollectionRenderer,\n ItemRenderProps,\n SectionProps\n} from './Collection';\nimport {\n DragAndDropContext,\n DropIndicatorContext,\n DropIndicatorProps,\n useDndPersistedKeys,\n useRenderDropIndicator\n} from './DragAndDrop';\nimport {DragAndDropHooks} from './useDragAndDrop';\nimport {DraggableCollectionState} from 'react-stately/useDraggableCollectionState';\nimport {DraggableItemResult} from 'react-aria/useDraggableCollection';\nimport {DragPreviewRenderer} from '@react-types/shared';\nimport {DropIndicatorAria, DroppableCollectionResult} from 'react-aria/useDroppableCollection';\nimport {DroppableCollectionState} from 'react-stately/useDroppableCollectionState';\nimport {\n FieldInputContext,\n SelectableCollectionContext,\n SelectableCollectionContextValue\n} from './Autocomplete';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport {\n forwardRefType,\n GlobalDOMAttributes,\n HoverEvents,\n Key,\n LinkDOMProps,\n Orientation,\n PressEvents,\n RefObject\n} from '@react-types/shared';\nimport {\n HeaderNode,\n ItemNode,\n LoaderNode,\n SectionNode\n} from 'react-aria/private/collections/BaseCollection';\nimport {Collection as ICollection, Node, SelectionBehavior} from '@react-types/shared';\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {ListState, UNSTABLE_useFilteredListState, useListState} from 'react-stately/useListState';\nimport {ListStateContext} from './ListBox';\nimport {\n LoadMoreSentinelProps,\n useLoadMoreSentinel\n} from 'react-aria/private/utils/useLoadMoreSentinel';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {\n createContext,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n JSX,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef\n} from 'react';\nimport {SelectionIndicatorContext} from './SelectionIndicator';\nimport {SharedElementTransition} from './SharedElementTransition';\nimport {TextContext} from './Text';\nimport {useCollator} from 'react-aria/useCollator';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useObjectRef} from 'react-aria/useObjectRef';\nimport {useVisuallyHidden} from 'react-aria/VisuallyHidden';\n\nexport interface GridListRenderProps {\n /**\n * Whether the list has no items and should display its empty state.\n *\n * @selector [data-empty]\n */\n isEmpty: boolean;\n /**\n * Whether the grid list is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the grid list is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the grid list is currently the active drop target.\n *\n * @selector [data-drop-target]\n */\n isDropTarget: boolean;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @selector [data-layout=\"stack | grid\"]\n */\n layout: 'stack' | 'grid';\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n /**\n * State of the grid list.\n */\n state: ListState<unknown>;\n}\n\nexport interface GridListProps<T>\n extends\n Omit<AriaGridListProps<T>, 'children'>,\n CollectionProps<T>,\n StyleRenderProps<GridListRenderProps>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-GridList'\n */\n className?: ClassNameOrFunction<GridListRenderProps>;\n /**\n * Whether typeahead navigation is disabled.\n *\n * @default false\n */\n disallowTypeAhead?: boolean;\n /**\n * How multiple selection should behave in the collection.\n *\n * @default 'toggle'\n */\n selectionBehavior?: SelectionBehavior;\n /**\n * The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for\n * the GridList.\n */\n dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>;\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: (props: GridListRenderProps) => ReactNode;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @default 'stack'\n */\n layout?: 'stack' | 'grid';\n /**\n * The primary orientation of the items. Usually this is the direction that the collection\n * scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\n /**\n * Which item in the collection to focus when tabbing into the collection. Overrides default\n * roving tab index like behavior.\n *\n * @private\n */\n UNSTABLE_focusOnEntry?: 'first' | 'last';\n}\n\nexport const GridListContext =\n createContext<ContextValue<GridListProps<any>, HTMLDivElement>>(null);\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 */\nexport const GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(function GridList<T>(\n props: GridListProps<T>,\n ref: ForwardedRef<HTMLDivElement>\n) {\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\n return (\n <CollectionBuilder content={<Collection {...props} />}>\n {collection => <GridListInner props={props} collection={collection} gridListRef={ref} />}\n </CollectionBuilder>\n );\n});\n\ninterface GridListInnerProps<T> {\n props: GridListProps<T> & SelectableCollectionContextValue<T>;\n collection: ICollection<Node<any>>;\n gridListRef: RefObject<HTMLElement | null>;\n}\n\nfunction GridListInner<T>({props, collection, gridListRef: ref}: GridListInnerProps<T>) {\n [props, ref] = useContextProps(props, ref, SelectableCollectionContext);\n let {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n shouldUseVirtualFocus,\n filter,\n disallowTypeAhead,\n UNSTABLE_focusOnEntry,\n ...DOMCollectionProps\n } = props;\n let {\n dragAndDropHooks,\n keyboardNavigationBehavior = 'arrow',\n layout = 'stack',\n orientation = 'vertical'\n } = props;\n let {\n CollectionRoot,\n isVirtualized,\n layoutDelegate,\n dropTargetDelegate: ctxDropTargetDelegate\n } = useContext(CollectionRendererContext);\n let gridlistState = useListState({\n ...DOMCollectionProps,\n collection,\n children: undefined,\n layoutDelegate\n });\n\n let filteredState = UNSTABLE_useFilteredListState(gridlistState as ListState<T>, filter);\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let {disabledBehavior, disabledKeys} = filteredState.selectionManager;\n let {direction} = useLocale();\n let keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: filteredState.collection,\n collator,\n ref,\n disabledKeys,\n disabledBehavior,\n layoutDelegate,\n layout,\n orientation,\n direction\n }),\n [\n filteredState.collection,\n ref,\n layout,\n orientation,\n disabledKeys,\n disabledBehavior,\n layoutDelegate,\n collator,\n direction\n ]\n );\n\n let {gridProps} = useGridList(\n {\n ...DOMCollectionProps,\n keyboardDelegate,\n // Only tab navigation is supported in grid layout.\n keyboardNavigationBehavior: layout === 'grid' ? 'tab' : keyboardNavigationBehavior,\n isVirtualized,\n shouldSelectOnPressUp: props.shouldSelectOnPressUp,\n disallowTypeAhead,\n UNSTABLE_focusOnEntry\n },\n filteredState,\n ref\n );\n\n let selectionManager = filteredState.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 (process.env.NODE_ENV === 'production') {\n return;\n }\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn(\n 'Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn(\n 'Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\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: filteredState.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: filteredState.collection,\n selectionManager\n });\n\n let dropTargetDelegate =\n dragAndDropHooks.dropTargetDelegate ||\n ctxDropTargetDelegate ||\n new dragAndDropHooks.ListDropTargetDelegate(collection, ref, {\n layout,\n direction,\n orientation\n });\n droppableCollection = dragAndDropHooks.useDroppableCollection!(\n {\n keyboardDelegate,\n dropTargetDelegate\n },\n dropState,\n ref\n );\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let isEmpty = filteredState.collection.size === 0;\n let renderValues = {\n isDropTarget: isRootDropTarget,\n orientation,\n isEmpty,\n isFocused,\n isFocusVisible,\n layout,\n state: filteredState\n };\n let renderProps = useRenderProps({\n ...props,\n children: undefined,\n defaultClassName: 'react-aria-GridList',\n values: renderValues\n });\n\n let emptyState: ReactNode = null;\n let emptyStatePropOverrides: HTMLAttributes<HTMLElement> | null = null;\n\n if (isEmpty && props.renderEmptyState) {\n let content = props.renderEmptyState(renderValues);\n emptyState = (\n <div role=\"row\" aria-rowindex={1} style={{display: 'contents'}}>\n <div role=\"gridcell\" style={{display: 'contents'}}>\n {content}\n </div>\n </div>\n );\n }\n\n let DOMProps = filterDOMProps(props, {global: true});\n\n return (\n <FocusScope>\n <dom.div\n {...mergeProps(\n DOMProps,\n renderProps,\n gridProps,\n focusProps,\n droppableCollection?.collectionProps,\n emptyStatePropOverrides\n )}\n ref={ref as RefObject<HTMLDivElement>}\n slot={props.slot || undefined}\n onScroll={props.onScroll}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={isEmpty || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-layout={layout}\n data-orientation={orientation}>\n <Provider\n values={[\n [ListStateContext, filteredState],\n [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],\n [DropIndicatorContext, {render: GridListDropIndicatorWrapper}]\n ]}>\n {isListDroppable && <RootDropIndicator />}\n <SharedElementTransition>\n <CollectionRoot\n collection={filteredState.collection}\n scrollRef={ref}\n persistedKeys={useDndPersistedKeys(selectionManager, dragAndDropHooks, dropState)}\n renderDropIndicator={useRenderDropIndicator(dragAndDropHooks, dropState)}\n />\n </SharedElementTransition>\n </Provider>\n {emptyState}\n {dragPreview}\n </dom.div>\n </FocusScope>\n );\n}\n\nexport interface GridListItemRenderProps extends ItemRenderProps {\n /** The unique id of the item. */\n id?: Key;\n /**\n * Whether the item's children have keyboard focus.\n *\n * @selector [data-focus-visible-within]\n */\n isFocusVisibleWithin: boolean;\n /**\n * State of the grid list.\n */\n state: ListState<unknown>;\n}\n\nexport interface GridListItemProps<T = object>\n extends\n RenderProps<GridListItemRenderProps>,\n LinkDOMProps,\n HoverEvents,\n PressEvents,\n Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-GridListItem'\n */\n className?: ClassNameOrFunction<GridListItemRenderProps>;\n /** The unique id of the item. */\n id?: Key;\n /**\n * The object value that this item represents. When using dynamic collections, this is set\n * automatically.\n */\n value?: T;\n /** A string representation of the item's contents, used for features like typeahead. */\n textValue?: string;\n /** Whether the item is disabled. */\n isDisabled?: boolean;\n /**\n * Handler that is called when a user performs an action on the item. The exact user event depends\n * on the collection's `selectionBehavior` prop and the interaction modality.\n */\n onAction?: () => void;\n}\n\n/**\n * A GridListItem represents an individual item in a GridList.\n */\nexport const GridListItem = /*#__PURE__*/ createLeafComponent(ItemNode, function GridListItem<\n T\n>(props: GridListItemProps<T>, forwardedRef: ForwardedRef<HTMLDivElement>, item: Node<T>) {\n let state = useContext(ListStateContext)!;\n let {dragAndDropHooks, dragState, dropState} = useContext(DragAndDropContext);\n let ref = useObjectRef<HTMLDivElement>(forwardedRef);\n let {isVirtualized} = useContext(CollectionRendererContext);\n let isDraggable =\n dragState && !(dragState.isDisabled || dragState.selectionManager.isDisabled(item.key));\n let {rowProps, gridCellProps, descriptionProps, ...states} = useGridListItem(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState,\n isVirtualized\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n // because of https://bugs.webkit.org/show_bug.cgi?id=214609, supporting hover styles when a item is ONLY isDraggable\n // results in hover styles sticking around after a reorder/drop operation...\n isDisabled: !states.allowsSelection && !states.hasAction && !isDraggable,\n onHoverStart: item.props.onHoverStart,\n onHoverChange: item.props.onHoverChange,\n onHoverEnd: item.props.onHoverEnd\n });\n\n let {isFocusVisible, focusProps} = useFocusRing();\n let {isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps} = useFocusRing({\n within: true\n });\n let {checkboxProps} = useGridListSelectionCheckbox({key: item.key}, state);\n\n let buttonProps =\n state.selectionManager.disabledBehavior === 'all' && states.isDisabled\n ? {isDisabled: true}\n : {};\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!(\n {key: item.key, hasDragButton: true},\n dragState\n );\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 {\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n },\n dropState,\n dropIndicatorRef\n );\n }\n\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-GridListItem',\n values: {\n ...states,\n isHovered,\n isFocusVisible,\n isFocusVisibleWithin,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget,\n id: item.key,\n state\n }\n });\n\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn(\n 'Draggable items in a GridList must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.'\n );\n }\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (!item.textValue && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'A `textValue` prop is required for <GridListItem> elements with non-plain text children in order to support accessibility features such as type to select.'\n );\n }\n }, [item.textValue]);\n\n let DOMProps = filterDOMProps(props as any, {global: true});\n delete DOMProps.id;\n delete DOMProps.onClick;\n\n return (\n <>\n {dropIndicator && !dropIndicator.isHidden && (\n <div role=\"row\" style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div\n role=\"button\"\n {...visuallyHiddenProps}\n {...dropIndicator?.dropIndicatorProps}\n ref={dropIndicatorRef}\n />\n </div>\n </div>\n )}\n <dom.div\n {...mergeProps(\n DOMProps,\n renderProps,\n rowProps,\n focusProps,\n focusWithinProps,\n hoverProps,\n draggableItem?.dragProps\n )}\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-focus-visible-within={isFocusVisibleWithin || 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={\n state.selectionManager.selectionMode === 'none'\n ? undefined\n : state.selectionManager.selectionMode\n }>\n <div {...gridCellProps} style={{display: 'contents'}}>\n <Provider\n values={[\n [\n CheckboxContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n selection: checkboxProps\n }\n }\n ],\n [\n CheckboxFieldContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n selection: checkboxProps\n }\n }\n ],\n [\n ButtonContext,\n {\n slots: {\n [DEFAULT_SLOT]: buttonProps,\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }\n ],\n [\n TextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n description: descriptionProps\n }\n }\n ],\n [CollectionRendererContext, DefaultCollectionRenderer],\n [ListStateContext, null],\n [SelectableCollectionContext, null],\n [FieldInputContext, null],\n [SelectionIndicatorContext, {isSelected: states.isSelected}]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </dom.div>\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\n {...props}\n dropIndicatorProps={dropIndicatorProps}\n isDropTarget={isDropTarget}\n buttonRef={buttonRef}\n ref={ref}\n />\n );\n}\n\ninterface GridListDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>;\n isDropTarget: boolean;\n buttonRef: RefObject<HTMLDivElement | null>;\n}\n\nfunction GridListDropIndicator(props: GridListDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {dropIndicatorProps, isDropTarget, buttonRef, ...otherProps} = 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 <dom.div\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLDivElement | null>}\n data-drop-target={isDropTarget || undefined}>\n <div role=\"gridcell\">\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n {renderProps.children}\n </div>\n </dom.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 {\n target: {type: 'root'}\n },\n dropState!,\n ref\n );\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\nexport interface GridListLoadMoreItemProps\n extends\n Omit<LoadMoreSentinelProps, 'collection'>,\n StyleProps,\n DOMRenderProps<'div', undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element.\n *\n * @default 'react-aria-GridListLoadMoreItem'\n */\n className?: string;\n /**\n * The load more spinner to render when loading additional items.\n */\n children?: ReactNode;\n /**\n * Whether or not the loading spinner should be rendered or not.\n */\n isLoading?: boolean;\n}\n\nexport const GridListLoadMoreItem = createLeafComponent(\n LoaderNode,\n function GridListLoadingIndicator(\n props: GridListLoadMoreItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n item: Node<object>\n ) {\n let state = useContext(ListStateContext)!;\n let {isVirtualized} = useContext(CollectionRendererContext);\n let {isLoading, onLoadMore, scrollOffset, ...otherProps} = props;\n\n let sentinelRef = useRef(null);\n let memoedLoadMoreProps = useMemo(\n () => ({\n onLoadMore,\n collection: state?.collection,\n sentinelRef,\n scrollOffset\n }),\n [onLoadMore, scrollOffset, state?.collection]\n );\n useLoadMoreSentinel(memoedLoadMoreProps, sentinelRef);\n\n let renderProps = useRenderProps({\n ...otherProps,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-GridListLoadingIndicator',\n values: undefined\n });\n // For now don't include aria-posinset and aria-setsize on loader since they aren't keyboard focusable\n // Arguably shouldn't include them ever since it might be confusing to the user to include the loaders as part of the\n // item count\n\n return (\n <>\n {/* Alway render the sentinel. For now onus is on the user for styling when using flex + gap (this would introduce a gap even though it doesn't take room) */}\n {/* @ts-ignore - compatibility with React < 19 */}\n <div style={{position: 'relative', width: 0, height: 0}} inert={inertValue(true)}>\n <div\n data-testid=\"loadMoreSentinel\"\n ref={sentinelRef}\n style={{position: 'absolute', height: 1, width: 1}}\n />\n </div>\n {isLoading && renderProps.children && (\n <dom.div {...renderProps} {...filterDOMProps(props, {global: true})} role=\"row\" ref={ref}>\n <div aria-colindex={isVirtualized ? 1 : undefined} role=\"gridcell\">\n {renderProps.children}\n </div>\n </dom.div>\n )}\n </>\n );\n }\n);\n\nexport interface GridListSectionProps<T> extends SectionProps<T>, DOMRenderProps<'div', undefined> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element.\n *\n * @default 'react-aria-GridListSection'\n */\n className?: string;\n}\n\n/**\n * A GridListSection represents a section within a GridList.\n */\nexport const GridListSection = /*#__PURE__*/ createBranchComponent(\n SectionNode,\n <T extends any>(\n props: GridListSectionProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n item: Node<T>\n ) => {\n let state = useContext(ListStateContext)!;\n let {CollectionBranch} = useContext(CollectionRendererContext);\n let headingRef = useRef(null);\n ref = useObjectRef<HTMLDivElement>(ref);\n let {rowHeaderProps, rowProps, rowGroupProps} = useGridListSection(\n {\n 'aria-label': props['aria-label'] ?? undefined\n },\n state,\n ref\n );\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: undefined,\n defaultClassName: 'react-aria-GridListSection',\n values: undefined\n });\n\n let DOMProps = filterDOMProps(props as any, {global: true});\n delete DOMProps.id;\n\n return (\n <dom.div {...mergeProps(DOMProps, renderProps, rowGroupProps)} ref={ref}>\n <Provider\n values={[\n [GridListHeaderContext, {...rowProps, ref: headingRef}],\n [GridListHeaderInnerContext, {...rowHeaderProps}]\n ]}>\n <CollectionBranch collection={state.collection} parent={item} />\n </Provider>\n </dom.div>\n );\n }\n);\n\nexport interface GridListHeaderProps\n extends DOMRenderProps<'div', undefined>, DOMProps, GlobalDOMAttributes<HTMLElement> {}\n\nexport const GridListHeaderContext = createContext<\n ContextValue<GridListHeaderProps, HTMLDivElement>\n>({});\nexport const GridListHeaderInnerContext = createContext<HTMLAttributes<HTMLElement> | null>(null);\n\nexport const GridListHeader = /*#__PURE__*/ createLeafComponent(\n HeaderNode,\n function Header(props: GridListHeaderProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, GridListHeaderContext);\n let rowHeaderProps = useContext(GridListHeaderInnerContext);\n\n return (\n <dom.div render={props.render} className=\"react-aria-GridListHeader\" ref={ref} {...props}>\n <div {...rowHeaderProps} style={{display: 'contents'}}>\n {props.children}\n </div>\n </dom.div>\n );\n }\n);\n"],"names":[],"version":3,"file":"GridList.cjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/react-aria-components/src/GridList.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 */\nimport {\n AriaGridListProps,\n useGridList,\n useGridListItem,\n useGridListSection,\n useGridListSelectionCheckbox\n} from 'react-aria/useGridList';\n\nimport {ButtonContext} from './Button';\nimport {CheckboxContext, CheckboxFieldContext} from './Checkbox';\nimport {\n ClassNameOrFunction,\n ContextValue,\n DEFAULT_SLOT,\n dom,\n DOMProps,\n DOMRenderProps,\n Provider,\n RenderProps,\n SlotProps,\n StyleProps,\n StyleRenderProps,\n useContextProps,\n useRenderProps\n} from './utils';\nimport {Collection} from 'react-aria/Collection';\nimport {\n CollectionBuilder,\n createBranchComponent,\n createLeafComponent\n} from 'react-aria/CollectionBuilder';\nimport {\n CollectionProps,\n CollectionRendererContext,\n DefaultCollectionRenderer,\n ItemRenderProps,\n SectionProps\n} from './Collection';\nimport {\n DragAndDropContext,\n DropIndicatorContext,\n DropIndicatorProps,\n useDndPersistedKeys,\n useRenderDropIndicator\n} from './DragAndDrop';\nimport {DragAndDropHooks} from './useDragAndDrop';\nimport {DraggableCollectionState} from 'react-stately/useDraggableCollectionState';\nimport {DraggableItemResult} from 'react-aria/useDraggableCollection';\nimport {DragPreviewRenderer} from '@react-types/shared';\nimport {DropIndicatorAria, DroppableCollectionResult} from 'react-aria/useDroppableCollection';\nimport {DroppableCollectionState} from 'react-stately/useDroppableCollectionState';\nimport {\n FieldInputContext,\n SelectableCollectionContext,\n SelectableCollectionContextValue\n} from './Autocomplete';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport {FocusScope} from 'react-aria/FocusScope';\nimport {\n forwardRefType,\n GlobalDOMAttributes,\n HoverEvents,\n Key,\n LinkDOMProps,\n Orientation,\n PressEvents,\n RefObject\n} from '@react-types/shared';\nimport {\n HeaderNode,\n ItemNode,\n LoaderNode,\n SectionNode\n} from 'react-aria/private/collections/BaseCollection';\nimport {Collection as ICollection, Node, SelectionBehavior} from '@react-types/shared';\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {ListKeyboardDelegate} from 'react-aria/ListKeyboardDelegate';\nimport {ListState, UNSTABLE_useFilteredListState, useListState} from 'react-stately/useListState';\nimport {ListStateContext} from './ListBox';\nimport {\n LoadMoreSentinelProps,\n useLoadMoreSentinel\n} from 'react-aria/private/utils/useLoadMoreSentinel';\nimport {mergeProps} from 'react-aria/mergeProps';\nimport React, {\n createContext,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n JSX,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef\n} from 'react';\nimport {SelectionIndicatorContext} from './SelectionIndicator';\nimport {SharedElementTransition} from './SharedElementTransition';\nimport {TextContext} from './Text';\nimport {useCollator} from 'react-aria/useCollator';\nimport {useFocusRing} from 'react-aria/useFocusRing';\nimport {useHover} from 'react-aria/useHover';\nimport {useLocale} from 'react-aria/I18nProvider';\nimport {useObjectRef} from 'react-aria/useObjectRef';\nimport {useVisuallyHidden} from 'react-aria/VisuallyHidden';\n\nexport interface GridListRenderProps {\n /**\n * Whether the list has no items and should display its empty state.\n *\n * @selector [data-empty]\n */\n isEmpty: boolean;\n /**\n * Whether the grid list is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the grid list is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the grid list is currently the active drop target.\n *\n * @selector [data-drop-target]\n */\n isDropTarget: boolean;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @selector [data-layout=\"stack | grid\"]\n */\n layout: 'stack' | 'grid';\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n /**\n * State of the grid list.\n */\n state: ListState<unknown>;\n}\n\nexport interface GridListProps<T>\n extends\n Omit<AriaGridListProps<T>, 'children'>,\n CollectionProps<T>,\n StyleRenderProps<GridListRenderProps>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-GridList'\n */\n className?: ClassNameOrFunction<GridListRenderProps>;\n /**\n * Whether typeahead navigation is disabled.\n *\n * @default false\n */\n disallowTypeAhead?: boolean;\n /**\n * How multiple selection should behave in the collection.\n *\n * @default 'toggle'\n */\n selectionBehavior?: SelectionBehavior;\n /**\n * The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for\n * the GridList.\n */\n dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>;\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: (props: GridListRenderProps) => ReactNode;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @default 'stack'\n */\n layout?: 'stack' | 'grid';\n /**\n * The primary orientation of the items. Usually this is the direction that the collection\n * scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\n /**\n * Which item in the collection to focus when tabbing into the collection. Overrides default\n * roving tab index like behavior.\n *\n * @private\n */\n UNSTABLE_focusOnEntry?: 'first' | 'last';\n}\n\nexport const GridListContext =\n createContext<ContextValue<GridListProps<any>, HTMLDivElement>>(null);\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 */\nexport const GridList = /*#__PURE__*/ (forwardRef as forwardRefType)(function GridList<T>(\n props: GridListProps<T>,\n ref: ForwardedRef<HTMLDivElement>\n) {\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\n return (\n <CollectionBuilder content={<Collection {...props} />}>\n {collection => <GridListInner props={props} collection={collection} gridListRef={ref} />}\n </CollectionBuilder>\n );\n});\n\ninterface GridListInnerProps<T> {\n props: GridListProps<T> & SelectableCollectionContextValue<T>;\n collection: ICollection<Node<any>>;\n gridListRef: RefObject<HTMLElement | null>;\n}\n\nfunction GridListInner<T>({props, collection, gridListRef: ref}: GridListInnerProps<T>) {\n // oxlint-disable-next-line react/react-compiler\n [props, ref] = useContextProps(props, ref, SelectableCollectionContext);\n let {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n shouldUseVirtualFocus,\n filter,\n disallowTypeAhead,\n UNSTABLE_focusOnEntry,\n ...DOMCollectionProps\n } = props;\n let {\n dragAndDropHooks,\n keyboardNavigationBehavior = 'arrow',\n layout = 'stack',\n orientation = 'vertical'\n } = props;\n let {\n CollectionRoot,\n isVirtualized,\n layoutDelegate,\n dropTargetDelegate: ctxDropTargetDelegate\n } = useContext(CollectionRendererContext);\n let gridlistState = useListState({\n ...DOMCollectionProps,\n collection,\n children: undefined,\n layoutDelegate\n });\n\n // oxlint-disable-next-line react/react-compiler\n let filteredState = UNSTABLE_useFilteredListState(gridlistState as ListState<T>, filter);\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let {disabledBehavior, disabledKeys} = filteredState.selectionManager;\n let {direction} = useLocale();\n let keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: filteredState.collection,\n collator,\n ref,\n disabledKeys,\n disabledBehavior,\n layoutDelegate,\n layout,\n orientation,\n direction\n }),\n [\n filteredState.collection,\n ref,\n layout,\n orientation,\n disabledKeys,\n disabledBehavior,\n layoutDelegate,\n collator,\n direction\n ]\n );\n\n let {gridProps} = useGridList(\n {\n ...DOMCollectionProps,\n keyboardDelegate,\n // Only tab navigation is supported in grid layout.\n keyboardNavigationBehavior: layout === 'grid' ? 'tab' : keyboardNavigationBehavior,\n isVirtualized,\n shouldSelectOnPressUp: props.shouldSelectOnPressUp,\n disallowTypeAhead,\n UNSTABLE_focusOnEntry\n },\n filteredState,\n ref\n );\n\n let selectionManager = filteredState.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 (process.env.NODE_ENV === 'production') {\n return;\n }\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn(\n 'Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn(\n 'Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.'\n );\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 // oxlint-disable-next-line react/react-compiler\n dragState = dragAndDropHooks.useDraggableCollectionState!({\n collection: filteredState.collection,\n selectionManager,\n preview: dragAndDropHooks.renderDragPreview ? preview : undefined\n });\n // oxlint-disable-next-line react/react-compiler\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 // oxlint-disable-next-line react/react-compiler\n dropState = dragAndDropHooks.useDroppableCollectionState!({\n collection: filteredState.collection,\n selectionManager\n });\n\n let dropTargetDelegate =\n dragAndDropHooks.dropTargetDelegate ||\n ctxDropTargetDelegate ||\n new dragAndDropHooks.ListDropTargetDelegate(collection, ref, {\n layout,\n direction,\n orientation\n });\n // oxlint-disable-next-line react/react-compiler\n droppableCollection = dragAndDropHooks.useDroppableCollection!(\n {\n keyboardDelegate,\n dropTargetDelegate\n },\n dropState,\n ref\n );\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {focusProps, isFocused, isFocusVisible} = useFocusRing();\n let isEmpty = filteredState.collection.size === 0;\n let renderValues = {\n isDropTarget: isRootDropTarget,\n orientation,\n isEmpty,\n isFocused,\n isFocusVisible,\n layout,\n state: filteredState\n };\n let renderProps = useRenderProps({\n ...props,\n children: undefined,\n defaultClassName: 'react-aria-GridList',\n values: renderValues\n });\n\n let emptyState: ReactNode = null;\n let emptyStatePropOverrides: HTMLAttributes<HTMLElement> | null = null;\n\n if (isEmpty && props.renderEmptyState) {\n let content = props.renderEmptyState(renderValues);\n emptyState = (\n <div role=\"row\" aria-rowindex={1} style={{display: 'contents'}}>\n <div role=\"gridcell\" style={{display: 'contents'}}>\n {content}\n </div>\n </div>\n );\n }\n\n let DOMProps = filterDOMProps(props, {global: true});\n\n return (\n <FocusScope>\n <dom.div\n {...mergeProps(\n DOMProps,\n renderProps,\n gridProps,\n focusProps,\n droppableCollection?.collectionProps,\n emptyStatePropOverrides\n )}\n ref={ref as RefObject<HTMLDivElement>}\n slot={props.slot || undefined}\n onScroll={props.onScroll}\n data-drop-target={isRootDropTarget || undefined}\n data-empty={isEmpty || undefined}\n data-focused={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n data-layout={layout}\n data-orientation={orientation}>\n <Provider\n values={[\n [ListStateContext, filteredState],\n [DragAndDropContext, {dragAndDropHooks, dragState, dropState}],\n [DropIndicatorContext, {render: GridListDropIndicatorWrapper}]\n ]}>\n {isListDroppable && <RootDropIndicator />}\n <SharedElementTransition>\n <CollectionRoot\n collection={filteredState.collection}\n scrollRef={ref}\n persistedKeys={useDndPersistedKeys(selectionManager, dragAndDropHooks, dropState)}\n renderDropIndicator={useRenderDropIndicator(dragAndDropHooks, dropState)}\n />\n </SharedElementTransition>\n </Provider>\n {emptyState}\n {dragPreview}\n </dom.div>\n </FocusScope>\n );\n}\n\nexport interface GridListItemRenderProps extends ItemRenderProps {\n /** The unique id of the item. */\n id?: Key;\n /**\n * Whether the item's children have keyboard focus.\n *\n * @selector [data-focus-visible-within]\n */\n isFocusVisibleWithin: boolean;\n /**\n * State of the grid list.\n */\n state: ListState<unknown>;\n}\n\nexport interface GridListItemProps<T = object>\n extends\n RenderProps<GridListItemRenderProps>,\n LinkDOMProps,\n HoverEvents,\n PressEvents,\n Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-GridListItem'\n */\n className?: ClassNameOrFunction<GridListItemRenderProps>;\n /** The unique id of the item. */\n id?: Key;\n /**\n * The object value that this item represents. When using dynamic collections, this is set\n * automatically.\n */\n value?: T;\n /** A string representation of the item's contents, used for features like typeahead. */\n textValue?: string;\n /** Whether the item is disabled. */\n isDisabled?: boolean;\n /**\n * Handler that is called when a user performs an action on the item. The exact user event depends\n * on the collection's `selectionBehavior` prop and the interaction modality.\n */\n onAction?: () => void;\n /**\n * Whether the row or its first focusable child element should be focused when navigating\n * to the row. Defaults to 'row'.\n */\n focusMode?: 'child' | 'row';\n /**\n * Whether the row should support arrow key navigation even when the containing collection uses\n * tab keyboard navigation. Allows users to navigate between rows with arrow keys while\n * focus is on an interactive child element within the row.\n */\n allowsArrowNavigation?: boolean;\n}\n\n/**\n * A GridListItem represents an individual item in a GridList.\n */\nexport const GridListItem = /*#__PURE__*/ createLeafComponent(ItemNode, function GridListItem<\n T\n>(props: GridListItemProps<T>, forwardedRef: ForwardedRef<HTMLDivElement>, item: Node<T>) {\n let state = useContext(ListStateContext)!;\n let {dragAndDropHooks, dragState, dropState} = useContext(DragAndDropContext);\n let ref = useObjectRef<HTMLDivElement>(forwardedRef);\n let {isVirtualized} = useContext(CollectionRendererContext);\n let isDraggable =\n dragState && !(dragState.isDisabled || dragState.selectionManager.isDisabled(item.key));\n let {rowProps, gridCellProps, descriptionProps, ...states} = useGridListItem(\n {\n node: item,\n shouldSelectOnPressUp: !!dragState,\n isVirtualized,\n focusMode: props.focusMode,\n allowsArrowNavigation: props.allowsArrowNavigation\n },\n state,\n ref\n );\n\n let {hoverProps, isHovered} = useHover({\n // because of https://bugs.webkit.org/show_bug.cgi?id=214609, supporting hover styles when a item is ONLY isDraggable\n // results in hover styles sticking around after a reorder/drop operation...\n isDisabled: !states.allowsSelection && !states.hasAction && !isDraggable,\n onHoverStart: item.props.onHoverStart,\n onHoverChange: item.props.onHoverChange,\n onHoverEnd: item.props.onHoverEnd\n });\n\n let {isFocusVisible, focusProps} = useFocusRing();\n let {isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps} = useFocusRing({\n within: true\n });\n let {checkboxProps} = useGridListSelectionCheckbox({key: item.key}, state);\n\n let buttonProps =\n state.selectionManager.disabledBehavior === 'all' && states.isDisabled\n ? {isDisabled: true}\n : {};\n\n let draggableItem: DraggableItemResult | null = null;\n if (dragState && dragAndDropHooks) {\n draggableItem = dragAndDropHooks.useDraggableItem!(\n {key: item.key, hasDragButton: true},\n dragState\n );\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 {\n target: {type: 'item', key: item.key, dropPosition: 'on'}\n },\n dropState,\n dropIndicatorRef\n );\n }\n\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-GridListItem',\n values: {\n ...states,\n isHovered,\n isFocusVisible,\n isFocusVisibleWithin,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n allowsDragging: !!dragState,\n isDragging,\n isDropTarget: dropIndicator?.isDropTarget,\n id: item.key,\n state\n }\n });\n\n let dragButtonRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (dragState && !dragButtonRef.current) {\n console.warn(\n 'Draggable items in a GridList must contain a <Button slot=\"drag\"> element so that keyboard and screen reader users can drag them.'\n );\n }\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (!item.textValue && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'A `textValue` prop is required for <GridListItem> elements with non-plain text children in order to support accessibility features such as type to select.'\n );\n }\n }, [item.textValue]);\n\n let DOMProps = filterDOMProps(props as any, {global: true});\n delete DOMProps.id;\n delete DOMProps.onClick;\n\n return (\n <>\n {dropIndicator && !dropIndicator.isHidden && (\n <div role=\"row\" style={{position: 'absolute'}}>\n <div role=\"gridcell\">\n <div\n role=\"button\"\n {...visuallyHiddenProps}\n {...dropIndicator?.dropIndicatorProps}\n ref={dropIndicatorRef}\n />\n </div>\n </div>\n )}\n <dom.div\n {...mergeProps(\n DOMProps,\n renderProps,\n rowProps,\n focusProps,\n focusWithinProps,\n hoverProps,\n draggableItem?.dragProps\n )}\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-focus-visible-within={isFocusVisibleWithin || 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={\n state.selectionManager.selectionMode === 'none'\n ? undefined\n : state.selectionManager.selectionMode\n }>\n <div {...gridCellProps} style={{display: 'contents'}}>\n <Provider\n values={[\n [\n CheckboxContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n selection: checkboxProps\n }\n }\n ],\n [\n CheckboxFieldContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n selection: checkboxProps\n }\n }\n ],\n [\n ButtonContext,\n {\n slots: {\n [DEFAULT_SLOT]: buttonProps,\n drag: {\n ...draggableItem?.dragButtonProps,\n ref: dragButtonRef,\n style: {\n pointerEvents: 'none'\n }\n }\n }\n }\n ],\n [\n TextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n description: descriptionProps\n }\n }\n ],\n [CollectionRendererContext, DefaultCollectionRenderer],\n [ListStateContext, null],\n [SelectableCollectionContext, null],\n [FieldInputContext, null],\n [SelectionIndicatorContext, {isSelected: states.isSelected}]\n ]}>\n {renderProps.children}\n </Provider>\n </div>\n </dom.div>\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 // oxlint-disable-next-line react/react-compiler\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\n {...props}\n dropIndicatorProps={dropIndicatorProps}\n isDropTarget={isDropTarget}\n buttonRef={buttonRef}\n ref={ref}\n />\n );\n}\n\ninterface GridListDropIndicatorProps extends DropIndicatorProps {\n dropIndicatorProps: React.HTMLAttributes<HTMLElement>;\n isDropTarget: boolean;\n buttonRef: RefObject<HTMLDivElement | null>;\n}\n\nfunction GridListDropIndicator(props: GridListDropIndicatorProps, ref: ForwardedRef<HTMLElement>) {\n let {dropIndicatorProps, isDropTarget, buttonRef, ...otherProps} = 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 <dom.div\n {...renderProps}\n role=\"row\"\n ref={ref as RefObject<HTMLDivElement | null>}\n data-drop-target={isDropTarget || undefined}>\n <div role=\"gridcell\">\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={buttonRef} />\n {renderProps.children}\n </div>\n </dom.div>\n );\n}\n\nconst GridListDropIndicatorForwardRef = forwardRef(GridListDropIndicator);\n\nfunction RootDropIndicator() {\n let {dragAndDropHooks, dropState} = useContext(DragAndDropContext);\n let ref = useRef<HTMLDivElement>(null);\n // oxlint-disable-next-line react/react-compiler\n let {dropIndicatorProps} = dragAndDropHooks!.useDropIndicator!(\n {\n target: {type: 'root'}\n },\n dropState!,\n ref\n );\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\nexport interface GridListLoadMoreItemProps\n extends\n Omit<LoadMoreSentinelProps, 'collection' | 'direction'>,\n StyleProps,\n DOMRenderProps<'div', undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element.\n *\n * @default 'react-aria-GridListLoadingIndicator'\n */\n className?: string;\n /**\n * The load more spinner to render when loading additional items.\n */\n children?: ReactNode;\n /**\n * Whether or not the loading spinner should be rendered or not.\n */\n isLoading?: boolean;\n}\n\nexport const GridListLoadMoreItem = createLeafComponent(\n LoaderNode,\n function GridListLoadingIndicator(\n props: GridListLoadMoreItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n item: Node<object>\n ) {\n let state = useContext(ListStateContext)!;\n let {isVirtualized} = useContext(CollectionRendererContext);\n let {isLoading, onLoadMore, scrollOffset, ...otherProps} = props;\n\n let sentinelRef = useRef(null);\n let memoedLoadMoreProps = useMemo(\n () => ({onLoadMore, collection: state?.collection, sentinelRef, scrollOffset}),\n [onLoadMore, scrollOffset, sentinelRef, state?.collection]\n );\n useLoadMoreSentinel(memoedLoadMoreProps, sentinelRef);\n\n let renderProps = useRenderProps({\n ...otherProps,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-GridListLoadingIndicator',\n values: undefined\n });\n // For now don't include aria-posinset and aria-setsize on loader since they aren't keyboard focusable\n // Arguably shouldn't include them ever since it might be confusing to the user to include the loaders as part of the\n // item count\n\n return (\n <>\n {/* Alway render the sentinel. For now onus is on the user for styling when using flex + gap (this would introduce a gap even though it doesn't take room) */}\n {/* @ts-ignore - compatibility with React < 19 */}\n <div style={{position: 'relative', width: 0, height: 0}} inert={inertValue(true)}>\n <div\n data-testid=\"loadMoreSentinel\"\n ref={sentinelRef}\n style={{position: 'absolute', height: 1, width: 1}}\n />\n </div>\n {isLoading && renderProps.children && (\n <dom.div {...renderProps} {...filterDOMProps(props, {global: true})} role=\"row\" ref={ref}>\n <div aria-colindex={isVirtualized ? 1 : undefined} role=\"gridcell\">\n {renderProps.children}\n </div>\n </dom.div>\n )}\n </>\n );\n }\n);\n\nexport interface GridListSectionProps<T> extends SectionProps<T>, DOMRenderProps<'div', undefined> {\n /**\n * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the\n * element.\n *\n * @default 'react-aria-GridListSection'\n */\n className?: string;\n}\n\n/**\n * A GridListSection represents a section within a GridList.\n */\nexport const GridListSection = /*#__PURE__*/ createBranchComponent(\n SectionNode,\n <T extends any>(\n props: GridListSectionProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n item: Node<T>\n ) => {\n let state = useContext(ListStateContext)!;\n let {CollectionBranch} = useContext(CollectionRendererContext);\n let headingRef = useRef(null);\n ref = useObjectRef<HTMLDivElement>(ref);\n let {rowHeaderProps, rowProps, rowGroupProps} = useGridListSection(\n {\n 'aria-label': props['aria-label'] ?? undefined\n },\n state,\n ref\n );\n let renderProps = useRenderProps({\n ...props,\n id: undefined,\n children: undefined,\n defaultClassName: 'react-aria-GridListSection',\n values: undefined\n });\n\n let DOMProps = filterDOMProps(props as any, {global: true});\n delete DOMProps.id;\n\n return (\n <dom.div {...mergeProps(DOMProps, renderProps, rowGroupProps)} ref={ref}>\n <Provider\n values={[\n [GridListHeaderContext, {...rowProps, ref: headingRef}],\n [GridListHeaderInnerContext, {...rowHeaderProps}]\n ]}>\n <CollectionBranch collection={state.collection} parent={item} />\n </Provider>\n </dom.div>\n );\n }\n);\n\nexport interface GridListHeaderProps\n extends DOMRenderProps<'div', undefined>, DOMProps, GlobalDOMAttributes<HTMLElement> {}\n\nexport const GridListHeaderContext = createContext<\n ContextValue<GridListHeaderProps, HTMLDivElement>\n>({});\nexport const GridListHeaderInnerContext = createContext<HTMLAttributes<HTMLElement> | null>(null);\n\nexport const GridListHeader = /*#__PURE__*/ createLeafComponent(\n HeaderNode,\n function Header(props: GridListHeaderProps, ref: ForwardedRef<HTMLDivElement>) {\n [props, ref] = useContextProps(props, ref, GridListHeaderContext);\n let rowHeaderProps = useContext(GridListHeaderInnerContext);\n\n return (\n <dom.div render={props.render} className=\"react-aria-GridListHeader\" ref={ref} {...props}>\n <div {...rowHeaderProps} style={{display: 'contents'}}>\n {props.children}\n </div>\n </dom.div>\n );\n }\n);\n"],"names":[],"version":3,"file":"GridList.cjs.map"}
|