@react-spectrum/list 3.0.1-nightly.3502 → 3.0.1-nightly.3506
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +17 -17
- package/dist/main.js.map +1 -1
- package/dist/module.js +17 -17
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +3 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -27
- package/src/InsertionIndicator.tsx +2 -2
- package/src/ListView.tsx +13 -14
- package/src/ListViewItem.tsx +4 -4
- package/src/RootDropIndicator.tsx +2 -2
package/dist/main.js
CHANGED
|
@@ -206,10 +206,10 @@ $279507a6f189e509$export$61b66671605f1b1a = "react-spectrum-ListViewItem-checkbo
|
|
|
206
206
|
|
|
207
207
|
|
|
208
208
|
function $fc02fd49ab58c72e$export$2e2bcd8739ae039(props) {
|
|
209
|
-
let { dropState: dropState ,
|
|
209
|
+
let { dropState: dropState , dragAndDropHooks: dragAndDropHooks } = $k9Du2$react.useContext($60684b441be8e84c$export$870039b0abfe3de0);
|
|
210
210
|
const { target: target , isPresentationOnly: isPresentationOnly } = props;
|
|
211
211
|
let ref = $k9Du2$react.useRef();
|
|
212
|
-
let { dropIndicatorProps: dropIndicatorProps } =
|
|
212
|
+
let { dropIndicatorProps: dropIndicatorProps } = dragAndDropHooks.useDropIndicator(props, dropState, ref);
|
|
213
213
|
let { visuallyHiddenProps: visuallyHiddenProps } = $k9Du2$reactariavisuallyhidden.useVisuallyHidden();
|
|
214
214
|
let isDropTarget = dropState.isDropTarget(target);
|
|
215
215
|
if (!isDropTarget && dropIndicatorProps['aria-hidden']) return null;
|
|
@@ -533,7 +533,7 @@ $fd0918c0ca138160$exports = {
|
|
|
533
533
|
function $9eae7a1cb1535a6b$export$c6bde0c04b033c0e(props) {
|
|
534
534
|
var ref, ref1;
|
|
535
535
|
let { item: item , isEmphasized: isEmphasized } = props;
|
|
536
|
-
let { state: state , dragState: dragState , dropState: dropState , isListDraggable: isListDraggable , isListDroppable: isListDroppable , layout: layout ,
|
|
536
|
+
let { state: state , dragState: dragState , dropState: dropState , isListDraggable: isListDraggable , isListDroppable: isListDroppable , layout: layout , dragAndDropHooks: dragAndDropHooks , loadingState: loadingState } = $k9Du2$react.useContext($60684b441be8e84c$export$870039b0abfe3de0);
|
|
537
537
|
let { direction: direction } = $k9Du2$reactariai18n.useLocale();
|
|
538
538
|
let rowRef = $k9Du2$react.useRef();
|
|
539
539
|
let { isFocusVisible: isFocusVisibleWithin , focusProps: focusWithinProps } = $k9Du2$reactariafocus.useFocusRing({
|
|
@@ -556,7 +556,7 @@ function $9eae7a1cb1535a6b$export$c6bde0c04b033c0e(props) {
|
|
|
556
556
|
let draggableItem;
|
|
557
557
|
if (isListDraggable) {
|
|
558
558
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
559
|
-
draggableItem =
|
|
559
|
+
draggableItem = dragAndDropHooks.useDraggableItem({
|
|
560
560
|
key: item.key,
|
|
561
561
|
hasDragButton: true
|
|
562
562
|
}, dragState);
|
|
@@ -574,7 +574,7 @@ function $9eae7a1cb1535a6b$export$c6bde0c04b033c0e(props) {
|
|
|
574
574
|
};
|
|
575
575
|
isDropTarget = dropState.isDropTarget(target);
|
|
576
576
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
577
|
-
dropIndicator =
|
|
577
|
+
dropIndicator = dragAndDropHooks.useDropIndicator({
|
|
578
578
|
target: target
|
|
579
579
|
}, dropState, dropIndicatorRef);
|
|
580
580
|
}
|
|
@@ -603,7 +603,7 @@ function $9eae7a1cb1535a6b$export$c6bde0c04b033c0e(props) {
|
|
|
603
603
|
};
|
|
604
604
|
const mergedProps = $k9Du2$reactariautils.mergeProps(rowProps, draggableItem === null || draggableItem === void 0 ? void 0 : draggableItem.dragProps, dropProps, hoverProps, focusWithinProps, focusProps, // Remove tab index from list row if performing a screenreader drag. This prevents TalkBack from focusing the row,
|
|
605
605
|
// allowing for single swipe navigation between row drop indicator
|
|
606
|
-
(
|
|
606
|
+
(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.isVirtualDragging()) && {
|
|
607
607
|
tabIndex: null
|
|
608
608
|
});
|
|
609
609
|
let isFirstRow = item.prevKey == null;
|
|
@@ -725,9 +725,9 @@ function $9eae7a1cb1535a6b$export$c6bde0c04b033c0e(props) {
|
|
|
725
725
|
|
|
726
726
|
|
|
727
727
|
function $c59d3898f402f50b$export$2e2bcd8739ae039() {
|
|
728
|
-
let { dropState: dropState ,
|
|
728
|
+
let { dropState: dropState , dragAndDropHooks: dragAndDropHooks } = $k9Du2$react.useContext($60684b441be8e84c$export$870039b0abfe3de0);
|
|
729
729
|
let ref = $k9Du2$react.useRef();
|
|
730
|
-
let { dropIndicatorProps: dropIndicatorProps } =
|
|
730
|
+
let { dropIndicatorProps: dropIndicatorProps } = dragAndDropHooks.useDropIndicator({
|
|
731
731
|
target: {
|
|
732
732
|
type: 'root'
|
|
733
733
|
}
|
|
@@ -847,9 +847,9 @@ function $60684b441be8e84c$var$useListLayout(state, density, overflowMode) {
|
|
|
847
847
|
}
|
|
848
848
|
function $60684b441be8e84c$var$ListView(props, ref) {
|
|
849
849
|
var ref1;
|
|
850
|
-
let { density: density = 'regular' , loadingState: loadingState , onLoadMore: onLoadMore , isQuiet: isQuiet , overflowMode: overflowMode = 'truncate' , onAction: onAction ,
|
|
851
|
-
let isListDraggable = !!(
|
|
852
|
-
let isListDroppable = !!(
|
|
850
|
+
let { density: density = 'regular' , loadingState: loadingState , onLoadMore: onLoadMore , isQuiet: isQuiet , overflowMode: overflowMode = 'truncate' , onAction: onAction , dragAndDropHooks: dragAndDropHooks , ...otherProps } = props;
|
|
851
|
+
let isListDraggable = !!(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.useDraggableCollectionState);
|
|
852
|
+
let isListDroppable = !!(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.useDroppableCollectionState);
|
|
853
853
|
let dragHooksProvided = $k9Du2$react.useRef(isListDraggable);
|
|
854
854
|
let dropHooksProvided = $k9Du2$react.useRef(isListDroppable);
|
|
855
855
|
if (dragHooksProvided.current !== isListDraggable) console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');
|
|
@@ -866,27 +866,27 @@ function $60684b441be8e84c$var$ListView(props, ref) {
|
|
|
866
866
|
let dragState;
|
|
867
867
|
let preview = $k9Du2$react.useRef(null);
|
|
868
868
|
if (isListDraggable) {
|
|
869
|
-
dragState =
|
|
869
|
+
dragState = dragAndDropHooks.useDraggableCollectionState({
|
|
870
870
|
collection: collection,
|
|
871
871
|
selectionManager: selectionManager,
|
|
872
872
|
preview: preview
|
|
873
873
|
});
|
|
874
|
-
|
|
874
|
+
dragAndDropHooks.useDraggableCollection({
|
|
875
875
|
}, dragState, domRef);
|
|
876
876
|
}
|
|
877
877
|
let layout = $60684b441be8e84c$var$useListLayout(state, props.density || 'regular', overflowMode);
|
|
878
878
|
// !!0 is false, so we can cast size or undefined and they'll be falsy
|
|
879
879
|
layout.allowDisabledKeyFocus = state.selectionManager.disabledBehavior === 'selection' || !!(dragState === null || dragState === void 0 ? void 0 : dragState.draggingKeys.size);
|
|
880
|
-
let DragPreview =
|
|
880
|
+
let DragPreview = dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.DragPreview;
|
|
881
881
|
let dropState;
|
|
882
882
|
let droppableCollection;
|
|
883
883
|
let isRootDropTarget;
|
|
884
884
|
if (isListDroppable) {
|
|
885
|
-
dropState =
|
|
885
|
+
dropState = dragAndDropHooks.useDroppableCollectionState({
|
|
886
886
|
collection: collection,
|
|
887
887
|
selectionManager: selectionManager
|
|
888
888
|
});
|
|
889
|
-
droppableCollection =
|
|
889
|
+
droppableCollection = dragAndDropHooks.useDroppableCollection({
|
|
890
890
|
keyboardDelegate: layout,
|
|
891
891
|
dropTargetDelegate: layout
|
|
892
892
|
}, dropState, domRef);
|
|
@@ -926,7 +926,7 @@ function $60684b441be8e84c$var$ListView(props, ref) {
|
|
|
926
926
|
state: state,
|
|
927
927
|
dragState: dragState,
|
|
928
928
|
dropState: dropState,
|
|
929
|
-
|
|
929
|
+
dragAndDropHooks: dragAndDropHooks,
|
|
930
930
|
onAction: onAction,
|
|
931
931
|
isListDraggable: isListDraggable,
|
|
932
932
|
isListDroppable: isListDroppable,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/list/src/index.ts","packages/@react-spectrum/list/src/ListView.tsx","packages/@react-spectrum/list/src/InsertionIndicator.tsx","packages/@react-spectrum/list/src/styles.css","packages/@react-spectrum/list/intl/*.js","packages/@react-spectrum/list/intl/ar-AE.json","packages/@react-spectrum/list/intl/bg-BG.json","packages/@react-spectrum/list/intl/cs-CZ.json","packages/@react-spectrum/list/intl/da-DK.json","packages/@react-spectrum/list/intl/de-DE.json","packages/@react-spectrum/list/intl/el-GR.json","packages/@react-spectrum/list/intl/en-US.json","packages/@react-spectrum/list/intl/es-ES.json","packages/@react-spectrum/list/intl/et-EE.json","packages/@react-spectrum/list/intl/fi-FI.json","packages/@react-spectrum/list/intl/fr-FR.json","packages/@react-spectrum/list/intl/he-IL.json","packages/@react-spectrum/list/intl/hr-HR.json","packages/@react-spectrum/list/intl/hu-HU.json","packages/@react-spectrum/list/intl/it-IT.json","packages/@react-spectrum/list/intl/ja-JP.json","packages/@react-spectrum/list/intl/ko-KR.json","packages/@react-spectrum/list/intl/lt-LT.json","packages/@react-spectrum/list/intl/lv-LV.json","packages/@react-spectrum/list/intl/nb-NO.json","packages/@react-spectrum/list/intl/nl-NL.json","packages/@react-spectrum/list/intl/pl-PL.json","packages/@react-spectrum/list/intl/pt-BR.json","packages/@react-spectrum/list/intl/pt-PT.json","packages/@react-spectrum/list/intl/ro-RO.json","packages/@react-spectrum/list/intl/ru-RU.json","packages/@react-spectrum/list/intl/sk-SK.json","packages/@react-spectrum/list/intl/sl-SI.json","packages/@react-spectrum/list/intl/sr-SP.json","packages/@react-spectrum/list/intl/sv-SE.json","packages/@react-spectrum/list/intl/tr-TR.json","packages/@react-spectrum/list/intl/uk-UA.json","packages/@react-spectrum/list/intl/zh-CN.json","packages/@react-spectrum/list/intl/zh-TW.json","packages/@react-spectrum/list/src/ListViewItem.tsx","packages/@react-spectrum/list/src/RootDropIndicator.tsx","packages/@react-spectrum/list/src/DragPreview.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {ListView} from './ListView';\nexport {Item} from '@react-stately/collections';\nexport type {SpectrumListViewProps} from './ListView';\n","/*\n * Copyright 2021 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 {AriaGridListProps, useGridList} from '@react-aria/gridlist';\nimport {AsyncLoadable, DOMRef, LoadingState, SpectrumSelectionProps, StyleProps} from '@react-types/shared';\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport type {DnDHooks} from '@react-spectrum/dnd';\nimport type {DraggableCollectionState, DroppableCollectionState} from '@react-stately/dnd';\nimport type {DroppableCollectionResult} from '@react-aria/dnd';\nimport {filterDOMProps, mergeProps, useLayoutEffect} from '@react-aria/utils';\nimport {FocusRing, FocusScope} from '@react-aria/focus';\nimport InsertionIndicator from './InsertionIndicator';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from '@react-stately/layout';\nimport {ListState, useListState} from '@react-stately/list';\nimport listStyles from './styles.css';\nimport {ListViewItem} from './ListViewItem';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {Key, ReactElement, useContext, useMemo, useRef, useState} from 'react';\nimport RootDropIndicator from './RootDropIndicator';\nimport {DragPreview as SpectrumDragPreview} from './DragPreview';\nimport {useCollator, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProvider} from '@react-spectrum/provider';\nimport {Virtualizer} from '@react-aria/virtualizer';\n\nexport interface SpectrumListViewProps<T> extends AriaGridListProps<T>, StyleProps, SpectrumSelectionProps, Omit<AsyncLoadable, 'isLoading'> {\n /**\n * Sets the amount of vertical padding within each cell.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /** Whether the ListView should be displayed with a quiet style. */\n isQuiet?: boolean,\n /** The current loading state of the ListView. Determines whether or not the progress circle should be shown. */\n loadingState?: LoadingState,\n /**\n * Sets the text behavior for the row contents.\n * @default 'truncate'\n */\n overflowMode?: 'truncate' | 'wrap',\n /** Sets what the ListView should render when there is no content to display. */\n renderEmptyState?: () => JSX.Element,\n /**\n * Handler that is called when a user performs an action on an item. The exact user event depends on\n * the collection's `selectionStyle` prop and the interaction modality.\n */\n onAction?: (key: Key) => void,\n /**\n * The drag and drop hooks returned by `useDnDHooks` used to enable drag and drop behavior for the ListView.\n * @private\n */\n dndHooks?: DnDHooks['dndHooks']\n}\n\ninterface ListViewContextValue<T> {\n state: ListState<T>,\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n dndHooks: DnDHooks['dndHooks'],\n onAction:(key: Key) => void,\n isListDraggable: boolean,\n isListDroppable: boolean,\n layout: ListLayout<T>,\n loadingState: LoadingState\n}\n\nexport const ListViewContext = React.createContext<ListViewContextValue<unknown>>(null);\n\nconst ROW_HEIGHTS = {\n compact: {\n medium: 32,\n large: 40\n },\n regular: {\n medium: 40,\n large: 50\n },\n spacious: {\n medium: 48,\n large: 60\n }\n};\n\nfunction useListLayout<T>(state: ListState<T>, density: SpectrumListViewProps<T>['density'], overflowMode: SpectrumListViewProps<T>['overflowMode']) {\n let {scale} = useProvider();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let isEmpty = state.collection.size === 0;\n let layout = useMemo(() =>\n new ListLayout<T>({\n estimatedRowHeight: ROW_HEIGHTS[density][scale],\n padding: 0,\n collator,\n loaderHeight: isEmpty ? null : ROW_HEIGHTS[density][scale]\n })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n , [collator, scale, density, isEmpty, overflowMode]);\n\n layout.collection = state.collection;\n layout.disabledKeys = state.disabledKeys;\n return layout;\n}\n\nfunction ListView<T extends object>(props: SpectrumListViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n density = 'regular',\n loadingState,\n onLoadMore,\n isQuiet,\n overflowMode = 'truncate',\n onAction,\n dndHooks,\n ...otherProps\n } = props;\n let isListDraggable = !!dndHooks?.useDraggableCollectionState;\n let isListDroppable = !!dndHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n let domRef = useDOMRef(ref);\n let state = useListState({\n ...props,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n let {collection, selectionManager} = state;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n\n let {styleProps} = useStyleProps(props);\n let dragState: DraggableCollectionState;\n let preview = useRef(null);\n if (isListDraggable) {\n dragState = dndHooks.useDraggableCollectionState({\n collection,\n selectionManager,\n preview\n });\n dndHooks.useDraggableCollection({}, dragState, domRef);\n }\n let layout = useListLayout(\n state,\n props.density || 'regular',\n overflowMode\n );\n // !!0 is false, so we can cast size or undefined and they'll be falsy\n layout.allowDisabledKeyFocus = state.selectionManager.disabledBehavior === 'selection' || !!dragState?.draggingKeys.size;\n\n\n let DragPreview = dndHooks?.DragPreview;\n let dropState: DroppableCollectionState;\n let droppableCollection: DroppableCollectionResult;\n let isRootDropTarget: boolean;\n if (isListDroppable) {\n dropState = dndHooks.useDroppableCollectionState({\n collection,\n selectionManager\n });\n droppableCollection = dndHooks.useDroppableCollection({\n keyboardDelegate: layout,\n dropTargetDelegate: layout\n }, dropState, domRef);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {gridProps} = useGridList({\n ...props,\n isVirtualized: true,\n keyboardDelegate: layout,\n onAction\n }, state, domRef);\n\n // Sync loading state into the layout.\n layout.isLoading = isLoading;\n\n let focusedKey = selectionManager.focusedKey;\n if (dropState?.target?.type === 'item') {\n focusedKey = dropState.target.key;\n }\n\n // wait for layout to get accurate measurements\n let [isVerticalScrollbarVisible, setVerticalScollbarVisible] = useState(false);\n let [isHorizontalScrollbarVisible, setHorizontalScollbarVisible] = useState(false);\n useLayoutEffect(() => {\n if (domRef.current) {\n // 2 is the width of the border which is not part of the box size\n setVerticalScollbarVisible(domRef.current.clientWidth + 2 < domRef.current.offsetWidth);\n setHorizontalScollbarVisible(domRef.current.clientHeight + 2 < domRef.current.offsetHeight);\n }\n });\n\n let hasAnyChildren = useMemo(() => [...collection].some(item => item.hasChildNodes), [collection]);\n\n return (\n <ListViewContext.Provider value={{state, dragState, dropState, dndHooks, onAction, isListDraggable, isListDroppable, layout, loadingState}}>\n <FocusScope>\n <FocusRing focusRingClass={classNames(listStyles, 'focus-ring')}>\n <Virtualizer\n {...mergeProps(isListDroppable && droppableCollection?.collectionProps, gridProps)}\n {...filterDOMProps(otherProps)}\n {...gridProps}\n {...styleProps}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n ref={domRef}\n focusedKey={focusedKey}\n scrollDirection=\"vertical\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView',\n `react-spectrum-ListView--${density}`,\n 'react-spectrum-ListView--emphasized',\n {\n 'react-spectrum-ListView--quiet': isQuiet,\n 'react-spectrum-ListView--loadingMore': loadingState === 'loadingMore',\n 'react-spectrum-ListView--draggable': !!isListDraggable,\n 'react-spectrum-ListView--dropTarget': !!isRootDropTarget,\n 'react-spectrum-ListView--isVerticalScrollbarVisible': isVerticalScrollbarVisible,\n 'react-spectrum-ListView--isHorizontalScrollbarVisible': isHorizontalScrollbarVisible,\n 'react-spectrum-ListView--hasAnyChildren': hasAnyChildren,\n 'react-spectrum-ListView--wrap': overflowMode === 'wrap'\n },\n styleProps.className\n )\n }\n layout={layout}\n collection={collection}\n transitionDuration={isLoading ? 160 : 220}>\n {(type, item) => {\n if (type === 'item') {\n return (\n <>\n {isListDroppable && collection.getKeyBefore(item.key) == null &&\n <RootDropIndicator key=\"root\" />\n }\n {isListDroppable &&\n <InsertionIndicator\n key={`${item.key}-before`}\n target={{key: item.key, type: 'item', dropPosition: 'before'}} />\n }\n <ListViewItem item={item} isEmphasized hasActions={!!onAction} />\n {isListDroppable &&\n <InsertionIndicator\n key={`${item.key}-after`}\n target={{key: item.key, type: 'item', dropPosition: 'after'}}\n isPresentationOnly={collection.getKeyAfter(item.key) != null} />\n }\n </>\n );\n } else if (type === 'loader') {\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={collection.size > 0 ? stringFormatter.format('loadingMore') : stringFormatter.format('loading')} />\n </CenteredWrapper>\n );\n } else if (type === 'placeholder') {\n let emptyState = props.renderEmptyState ? props.renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return (\n <CenteredWrapper>\n {emptyState}\n </CenteredWrapper>\n );\n }\n\n }}\n </Virtualizer>\n </FocusRing>\n </FocusScope>\n {DragPreview && isListDraggable &&\n <DragPreview ref={preview}>\n {() => {\n let item = state.collection.getItem(dragState.draggedKey);\n let itemCount = dragState.draggingKeys.size;\n let itemHeight = layout.getLayoutInfo(dragState.draggedKey).rect.height;\n return <SpectrumDragPreview item={item} itemCount={itemCount} itemHeight={itemHeight} density={density} />;\n }}\n </DragPreview>\n }\n </ListViewContext.Provider>\n );\n}\n\nfunction CenteredWrapper({children}) {\n let {state} = useContext(ListViewContext);\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.size + 1}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView-centeredWrapper',\n {\n 'react-spectrum-ListView-centeredWrapper--loadingMore': state.collection.size > 0\n }\n )}>\n <div role=\"gridcell\">\n {children}\n </div>\n </div>\n );\n}\n\n/**\n * A ListView displays a list of interactive items, and allows a user to navigate, select, or perform an action.\n */\nconst _ListView = React.forwardRef(ListView) as <T>(props: SpectrumListViewProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_ListView as ListView};\n","import {classNames} from '@react-spectrum/utils';\nimport {ItemDropTarget} from '@react-types/shared';\nimport listStyles from './styles.css';\nimport {ListViewContext} from './ListView';\nimport React, {useContext, useRef} from 'react';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface InsertionIndicatorProps {\n target: ItemDropTarget,\n isPresentationOnly?: boolean\n}\n\nexport default function InsertionIndicator(props: InsertionIndicatorProps) {\n let {dropState, dndHooks} = useContext(ListViewContext);\n const {target, isPresentationOnly} = props;\n\n let ref = useRef();\n let {dropIndicatorProps} = dndHooks.useDropIndicator(props, dropState, ref);\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n let isDropTarget = dropState.isDropTarget(target);\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']}>\n <div\n role=\"gridcell\"\n aria-selected=\"false\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewInsertionIndicator',\n {\n 'react-spectrum-ListViewInsertionIndicator--dropTarget': isDropTarget\n }\n )}>\n {!isPresentationOnly &&\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={ref} />\n }\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n*/\n\n:root {\n --spectrum-listview-item-compact-padding-y: var(--spectrum-global-dimension-size-50);\n --spectrum-listview-item-regular-padding-y: var(--spectrum-global-dimension-size-85);\n --spectrum-listview-item-spacious-padding-y: var(--spectrum-global-dimension-size-100);\n --spectrum-listview-border-width: var(--spectrum-table-border-size, var(--spectrum-alias-border-size-thin));\n --spectrum-listview-border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));\n --spectrum-listview-item-border-radius: calc(var(--spectrum-listview-border-radius) - var(--spectrum-listview-border-width));\n --spectrum-listview-row-sticky-focus-indicator-width: 3px;\n --spectrum-listview-item-line-height: calc(var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default)) * var(--spectrum-table-cell-text-line-height, var(--spectrum-alias-body-text-line-height)) - 1px);\n --spectrum-listview-item-title-text-color: var(--spectrum-global-color-gray-800);\n --spectrum-listview-item-title-text-size: var(--spectrum-global-dimension-font-size-100);\n --spectrum-listview-item-description-text-color: var(--spectrum-global-color-gray-700);\n --spectrum-listview-item-description-text-size: var(--spectrum-global-dimension-font-size-75);\n}\n\n.react-spectrum-ListView {\n box-sizing: border-box;\n border-color: var(--spectrum-table-border-color, var(--spectrum-alias-border-color-mid));\n border-style: solid;\n position: relative;\n border-width: var(--spectrum-listview-border-width);\n border-radius: var(--spectrum-listview-border-radius);\n overflow: auto;\n vertical-align: var(--spectrum-table-cell-vertical-alignment);\n border-collapse: separate;\n border-spacing: 0;\n transform: translate3d(0, 0, 0);\n padding: 0;\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n outline: 0;\n user-select: none;\n\n .react-spectrum-ListView-row {\n outline: none;\n }\n\n &.react-spectrum-ListView--emphasized {\n &.react-spectrum-ListView--dropTarget {\n .react-spectrum-ListViewItem:not(.is-selected) {\n /* shift bottom border inwards so it doesn't overlap the root drop target */\n &:after {\n inset-inline-start: 1px;\n inset-inline-end: 1px;\n }\n }\n }\n .react-spectrum-ListViewItem {\n /* common pseudoelement for box shadows */\n &:after {\n content: '';\n display: block;\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n inset-block-end: 0;\n inset-block-start: 0;\n z-index: 3;\n pointer-events: none;\n }\n\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-selected);\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-selected-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-selected-key-focus);\n }\n\n /* Negative block start causes borders to actually be shared between items. Only works if we allow item overflow to be visible, like card focus rings. */\n &:after {\n inset-block-start: -1px;\n box-shadow: inset 1px 0 0 0 var(--spectrum-global-color-blue-500), inset -1px 0 0 0 var(--spectrum-global-color-blue-500), inset 0 -1px 0 0 var(--spectrum-global-color-blue-500), inset 0 1px 0 0 var(--spectrum-global-color-blue-500);\n }\n }\n\n /* First item in the ListView should not have a border that extends outside of itself to the top, it doesn't need to share a border space. */\n &.react-spectrum-ListViewItem--firstRow {\n &.is-selected {\n &:after {\n inset-block-start: 0px;\n }\n }\n }\n }\n\n &:not(.react-spectrum-ListView--quiet) {\n .react-spectrum-ListViewItem {\n /* Box shadow for bottom border for non-selected rows that aren't immediately above a selected row (grey border bottom). */\n /* Also omit bottom border for last row if the total content height of the ListView is equal or greater than the height of the container. This avoids overlapping bottom borders. */\n &:not(.is-selected):not(.is-next-selected):not(.react-spectrum-ListViewItem--isFlushBottom) {\n &:after {\n box-shadow: inset 0 -1px 0 0 var(--spectrum-table-cell-border-color);\n }\n }\n\n &.react-spectrum-ListViewItem--firstRow.is-selected {\n &:after {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &.react-spectrum-ListView--isVerticalScrollbarVisible {\n .react-spectrum-ListViewItem {\n &.react-spectrum-ListViewItem--firstRow.is-selected {\n &:after {\n border-start-end-radius: 0;\n }\n }\n }\n\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-end-radius: 0;\n }\n }\n }\n }\n\n &.react-spectrum-ListView--isHorizontalScrollbarVisible {\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n }\n }\n }\n }\n }\n &.react-spectrum-ListView--wrap .react-spectrum-ListViewItem {\n & .react-spectrum-ListViewItem-content,\n & .react-spectrum-ListViewItem-description {\n white-space: normal;\n height: auto;\n }\n }\n}\n\n.react-spectrum-ListView-row {\n cursor: default;\n /* Not sticky because listview is a single column. If we want to make sticky, will need a cell wrapper like TableView for display: inline-block */\n &:focus-ring {\n &:before {\n content: '';\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: var(--spectrum-listview-row-sticky-focus-indicator-width);\n z-index: 4;\n background: var(--spectrum-selectlist-option-focus-indicator-color);\n }\n }\n}\n\n.react-spectrum-ListView.react-spectrum-ListView--quiet {\n background-color: var(--spectrum-alias-background-color-transparent);\n border-width: 0;\n border-radius: 0;\n\n .react-spectrum-ListView-row {\n &.round-tops {\n &:focus-ring {\n &:before {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n & > .react-spectrum-ListViewItem {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n\n &:after {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &.round-bottoms {\n &:focus-ring {\n &:before {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n & > .react-spectrum-ListViewItem {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n\n &:after {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n }\n}\n\n.react-spectrum-ListViewItem {\n display: grid; /* TODO: define grid areas */\n box-sizing: border-box;\n font-size: var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default));\n font-weight: var(--spectrum-table-cell-text-font-weight, var(--spectrum-global-font-weight-regular));\n line-height: var(--spectrum-listview-item-line-height);\n padding: var(--spectrum-listview-item-regular-padding-y) var(--spectrum-global-dimension-size-160);\n position: relative;\n /*background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));*/\n color: var(--spectrum-table-cell-text-color, var(--spectrum-alias-text-color));\n outline: 0;\n min-height: var(--spectrum-global-dimension-size-500);\n\n &.is-hovered,\n &.is-focused {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-down);\n }\n\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-hover);\n\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-selected-key-focus);\n }\n }\n\n &.is-disabled {\n &, .react-spectrum-ListViewItem-content, .react-spectrum-ListViewItem-description {\n color: var(--spectrum-alias-text-color-disabled);\n }\n }\n\n &.has-checkbox {\n /* have to eliminate vertical padding to allow proper vertical alignment */\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .react-spectrum-ListViewItem-grid {\n display: grid;\n grid-template-columns: auto auto auto 1fr auto auto auto;\n grid-template-rows: 1fr auto;\n grid-template-areas:\n \"draghandle checkbox thumbnail content actions actionmenu chevron\"\n \"draghandle checkbox thumbnail description actions actionmenu chevron\";\n align-items: center;\n }\n\n .react-spectrum-ListViewItem-draghandle-container {\n grid-area: draghandle;\n width: var(--spectrum-global-dimension-size-250);\n display: flex;\n align-self: stretch;\n justify-self: stretch;\n justify-content: center;\n padding: var(--spectrum-global-dimension-size-25);\n padding-inline-start: var(--spectrum-global-dimension-size-40);\n\n\n .react-spectrum-ListViewItem-draghandle-button {\n width: var(--spectrum-global-dimension-size-200);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--spectrum-alias-border-radius-regular);\n\n &:focus-ring {\n box-shadow: inset 0 0 0 2px var(--spectrum-table-cell-border-color-key-focus);\n outline: none;\n }\n }\n }\n\n .react-spectrum-ListViewItem-checkboxWrapper {\n grid-area: checkbox;\n align-items: center;\n justify-items: center;\n transition-duration: 160ms;\n display: flex;\n }\n\n .react-spectrum-ListViewItem-checkbox {\n min-height: 0;\n height: 100%;\n\n > span {\n margin: 0;\n }\n }\n\n .react-spectrum-ListViewItem-thumbnail {\n grid-area: thumbnail;\n justify-items: center;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n display: flex;\n border-radius: var(--spectrum-global-dimension-size-25);\n width: var(--spectrum-global-dimension-size-400);\n height: var(--spectrum-global-dimension-size-400);\n align-items: center;\n justify-content: center;\n\n > img {\n width: unset;\n height: 100%;\n }\n }\n\n .react-spectrum-ListViewItem-content,\n .react-spectrum-ListViewItem-description {\n flex-grow: 1;\n\n /* truncate text with ellipsis */\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: var(--spectrum-listview-item-line-height);\n }\n\n .react-spectrum-ListViewItem-content {\n grid-area: content;\n color: var(--spectrum-listview-item-title-text-color);\n font-size: var(--spectrum-listview-item-title-text-size);\n }\n\n &:not(.react-spectrum-ListView--hasDescription) {\n .react-spectrum-ListViewItem-content {\n grid-area: content / description;\n }\n }\n\n .react-spectrum-ListViewItem-description {\n grid-area: description;\n color: var(--spectrum-listview-item-description-text-color);\n font-size: var(--spectrum-listview-item-description-text-size);\n }\n\n .react-spectrum-ListViewItem-actions {\n grid-area: actions;\n flex-grow: 0;\n flex-shrink: 0;\n }\n\n .react-spectrum-ListViewItem-actionmenu {\n grid-area: actionmenu;\n }\n\n .react-spectrum-ListViewItem-parentIndicator {\n grid-area: chevron;\n padding-inline-start: var(--spectrum-global-dimension-size-75);\n display: none;\n transition: color var(--spectrum-global-animation-duration-100);\n\n &.is-disabled {\n color: var(--spectrum-alias-icon-color-disabled);\n }\n }\n\n &.react-spectrum-ListViewItem-dragPreview {\n width: var(--spectrum-global-dimension-size-2400);\n border: 1px solid var(--spectrum-dropzone-border-color-selected-hover);\n border-radius: var(--spectrum-alias-border-radius-regular);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n\n &.react-spectrum-ListViewItem-dragPreview--compact {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n }\n\n &.react-spectrum-ListViewItem-dragPreview--spacious {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n }\n\n .react-spectrum-ListViewItem-grid {\n grid-template-areas:\n \"thumbnail content . badge\"\n \"thumbnail description . badge\";\n grid-template-columns: auto auto 1fr auto;\n }\n\n .react-spectrum-ListViewItem-badge {\n grid-area: badge;\n color: white;\n background: var(--spectrum-global-color-blue-400);\n padding: 0 8px;\n border-radius: var(--spectrum-alias-border-radius-regular);\n }\n\n &.react-spectrum-ListViewItem-dragPreview--multiple {\n position: relative;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n z-index: -1;\n top: 4px;\n inset-inline-start: 4px;\n width: 100%;\n height: 100%;\n border: 1px solid var(--spectrum-dropzone-border-color-selected-hover);\n border-radius: var(--spectrum-alias-border-radius-regular);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n }\n }\n\n .react-spectrum-ListViewItem-actions,\n .react-spectrum-ListViewItem-actionmenu {\n display: none;\n }\n }\n}\n.react-spectrum-ListView:not(.react-spectrum-ListView--quiet) {\n /* give first and last items border-radius to match listview container */\n\n .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {\n border-start-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n\n &.react-spectrum-ListView--isVerticalScrollbarVisible {\n .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {\n border-start-end-radius: 0;\n }\n\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-end-radius: 0;\n }\n }\n\n &.react-spectrum-ListView--isHorizontalScrollbarVisible {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n }\n}\n\n.react-spectrum-ListView {\n /* When we can use subgrid, get rid of this. */\n &.react-spectrum-ListView--hasAnyChildren {\n .react-spectrum-ListViewItem-parentIndicator {\n display: inline-block;\n visibility: hidden;\n }\n .react-spectrum-ListViewItem-parentIndicator--hasChildItems {\n visibility: visible;\n }\n }\n}\n\n.react-spectrum-ListView--compact .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n min-height: var(--spectrum-global-dimension-size-400);\n}\n\n.react-spectrum-ListView--spacious .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n min-height: var(--spectrum-global-dimension-size-600);\n}\n\n.react-spectrum-ListView--draggable .react-spectrum-ListViewItem {\n padding-inline-start: 0;\n\n .react-spectrum-ListViewItem-checkbox {\n input {\n inset-inline-start: 0;\n }\n }\n}\n\n.react-spectrum-ListViewItem--dropTarget {\n background-color: var(--spectrum-alias-highlight-selected);\n box-shadow:\n inset 2px 0 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset -2px 0 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset 0 -3px 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset 0 2px 0 0 var(--spectrum-table-cell-border-color-key-focus);\n}\n\n.react-spectrum-ListView.react-spectrum-ListView--dropTarget {\n border-color: var(--spectrum-global-color-blue-500);\n background-color: var(--spectrum-alias-highlight-selected);\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n\n /* Add border to quiet ListView only when it is a drop target */\n &.react-spectrum-ListView--quiet {\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus), 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n }\n}\n\n.react-spectrum-ListView-centeredWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n &.react-spectrum-ListView-centeredWrapper--loadingMore {\n padding-top: var(--spectrum-global-dimension-size-50);\n }\n}\n\n.react-spectrum-ListViewInsertionIndicator {\n width: calc(100% - (2 * var(--spectrum-dropindicator-circle-size)));\n inset-inline-start: var(--spectrum-dropindicator-circle-size);\n position: absolute;\n outline: none;\n\n &.react-spectrum-ListViewInsertionIndicator--dropTarget {\n background: var(--spectrum-dropindicator-border-color);\n border-bottom: 2px solid var(--spectrum-dropindicator-border-color);\n\n &:before {\n left: calc(var(--spectrum-dropindicator-circle-size) * -1);\n }\n\n &:after {\n right: calc(var(--spectrum-dropindicator-circle-size) * -1);\n }\n\n &:before,\n &:after {\n content: '';\n position: absolute;\n top: calc(var(--spectrum-dropindicator-circle-size) * -1 / 2 + var(--spectrum-dropindicator-border-size) / 2);\n width: var(--spectrum-dropindicator-circle-size);\n height: var(--spectrum-dropindicator-circle-size);\n border-radius: 50%;\n border: var(--spectrum-dropindicator-border-size) solid;\n box-sizing: border-box;\n border-color: var(--spectrum-dropindicator-circle-border-color);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n z-index: 5;\n }\n }\n}\n\n.react-spectrum-ListViewItem-checkbox--enter {\n opacity: 0.01;\n max-width: 0px;\n}\n.react-spectrum-ListViewItem-checkbox--enterActive {\n opacity: 1;\n max-width: 80px;\n}\n.react-spectrum-ListViewItem-checkbox--exit {\n opacity: 1;\n max-width: 80px;\n}\n.react-spectrum-ListViewItem-checkbox--exitActive {\n opacity: 0.01;\n max-width: 0px;\n}\n\n.react-spectrum-ListView {\n &:focus-ring {\n border-color: var(--spectrum-global-color-blue-500);\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n }\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\"\n}\n","{\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\"\n}\n","{\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\"\n}\n","{\n \"loading\": \"Indlæser...\",\n \"loadingMore\": \"Indlæser flere...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\"\n}\n","{\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\"\n}\n","{\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\"\n}\n","{\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\"\n}\n","{\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\"\n}\n","{\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\"\n}\n","{\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\"\n}\n","{\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\"\n}\n","{\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\"\n}\n","{\n \"loading\": \"로드 중…\",\n \"loadingMore\": \"추가 로드 중…\"\n}\n","{\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\"\n}\n","{\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\"\n}\n","{\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\"\n}\n","{\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\"\n}\n","{\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\"\n}\n","{\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\"\n}\n","{\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\"\n}\n","{\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\"\n}\n","{\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\"\n}\n","{\n \"loading\": \"Nalaganje ...\",\n \"loadingMore\": \"Nalaganje več vsebine ...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\"\n}\n","{\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\"\n}\n","{\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\"\n}\n","{\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\"\n}\n","{\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\"\n}\n","/*\n * Copyright 2021 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 {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames, ClearSlots, SlotProvider, useHasChild} from '@react-spectrum/utils';\nimport {CSSTransition} from 'react-transition-group';\nimport type {DraggableItemResult, DropIndicatorAria, DroppableItemResult} from '@react-aria/dnd';\nimport {DropTarget, Node} from '@react-types/shared';\nimport {FocusRing, useFocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport {isFocusVisible as isGlobalFocusVisible, useHover} from '@react-aria/interactions';\nimport ListGripper from '@spectrum-icons/ui/ListGripper';\nimport listStyles from './styles.css';\nimport {ListViewContext} from './ListView';\nimport {mergeProps} from '@react-aria/utils';\nimport {Provider} from '@react-spectrum/provider';\nimport React, {useContext, useRef} from 'react';\nimport {Text} from '@react-spectrum/text';\nimport {useButton} from '@react-aria/button';\nimport {useGridListItem, useGridListSelectionCheckbox} from '@react-aria/gridlist';\nimport {useLocale} from '@react-aria/i18n';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface ListViewItemProps<T> {\n item: Node<T>,\n isEmphasized: boolean,\n hasActions: boolean\n}\n\nexport function ListViewItem<T>(props: ListViewItemProps<T>) {\n let {\n item,\n isEmphasized\n } = props;\n let {\n state,\n dragState,\n dropState,\n isListDraggable,\n isListDroppable,\n layout,\n dndHooks,\n loadingState\n } = useContext(ListViewContext);\n let {direction} = useLocale();\n let rowRef = useRef<HTMLDivElement>();\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let {\n rowProps,\n gridCellProps,\n isPressed,\n descriptionProps,\n isSelected,\n isDisabled,\n allowsSelection,\n hasAction\n } = useGridListItem({\n node: item,\n isVirtualized: true,\n shouldSelectOnPressUp: isListDraggable\n }, state, rowRef);\n let isDroppable = isListDroppable && !isDisabled;\n let {hoverProps, isHovered} = useHover({isDisabled: !allowsSelection && !hasAction});\n\n let {checkboxProps} = useGridListSelectionCheckbox({key: item.key}, state);\n let hasDescription = useHasChild(`.${listStyles['react-spectrum-ListViewItem-description']}`, rowRef);\n\n let draggableItem: DraggableItemResult;\n if (isListDraggable) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n draggableItem = dndHooks.useDraggableItem({key: item.key, hasDragButton: true}, dragState);\n if (isDisabled) {\n draggableItem = null;\n }\n }\n let droppableItem: DroppableItemResult;\n let isDropTarget: boolean;\n let dropIndicator: DropIndicatorAria;\n let dropIndicatorRef = useRef();\n if (isListDroppable) {\n let target = {type: 'item', key: item.key, dropPosition: 'on'} as DropTarget;\n isDropTarget = dropState.isDropTarget(target);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n dropIndicator = dndHooks.useDropIndicator({target}, dropState, dropIndicatorRef);\n }\n\n let dragButtonRef = React.useRef();\n let {buttonProps} = useButton({\n ...draggableItem?.dragButtonProps,\n elementType: 'div'\n }, dragButtonRef);\n\n let chevron = direction === 'ltr'\n ? (\n <ChevronRightMedium\n aria-hidden=\"true\"\n UNSAFE_className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-parentIndicator',\n {\n 'react-spectrum-ListViewItem-parentIndicator--hasChildItems': item.props.hasChildItems,\n 'is-disabled': !hasAction\n }\n )\n } />\n )\n : (\n <ChevronLeftMedium\n aria-hidden=\"true\"\n UNSAFE_className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-parentIndicator',\n {\n 'react-spectrum-ListViewItem-parentIndicator--hasChildItems': item.props.hasChildItems,\n 'is-disabled': !hasAction\n }\n )\n } />\n );\n\n let showCheckbox = state.selectionManager.selectionMode !== 'none' && state.selectionManager.selectionBehavior === 'toggle';\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n let dropProps = isDroppable ? droppableItem?.dropProps : {'aria-hidden': droppableItem?.dropProps['aria-hidden']};\n const mergedProps = mergeProps(\n rowProps,\n draggableItem?.dragProps,\n dropProps,\n hoverProps,\n focusWithinProps,\n focusProps,\n // Remove tab index from list row if performing a screenreader drag. This prevents TalkBack from focusing the row,\n // allowing for single swipe navigation between row drop indicator\n dndHooks?.isVirtualDragging() && {tabIndex: null}\n );\n\n let isFirstRow = item.prevKey == null;\n let isLastRow = item.nextKey == null;\n // Figure out if the ListView content is equal or greater in height to the container. If so, we'll need to round the bottom\n // border corners of the last row when selected and we can get rid of the bottom border if it isn't selected to avoid border overlap\n // with bottom border\n let isFlushWithContainerBottom = false;\n if (isLastRow && loadingState !== 'loadingMore') {\n if (layout.getContentSize()?.height >= layout.virtualizer?.getVisibleRect().height) {\n isFlushWithContainerBottom = true;\n }\n }\n // previous item isn't selected\n // and the previous item isn't focused or, if it is focused, then if focus globally isn't visible or just focus isn't in the listview\n let roundTops = (!state.selectionManager.isSelected(item.prevKey)\n && (state.selectionManager.focusedKey !== item.prevKey || !(isGlobalFocusVisible() && state.selectionManager.isFocused)));\n let roundBottoms = (!state.selectionManager.isSelected(item.nextKey)\n && (state.selectionManager.focusedKey !== item.nextKey || !(isGlobalFocusVisible() && state.selectionManager.isFocused)));\n\n let content = typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered;\n if (isDisabled) {\n content = <Provider isDisabled>{content}</Provider>;\n }\n\n return (\n <div\n {...mergedProps}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView-row',\n {\n 'focus-ring': isFocusVisible,\n 'round-tops':\n roundTops || (isHovered && !isSelected && state.selectionManager.focusedKey !== item.key),\n 'round-bottoms':\n roundBottoms || (isHovered && !isSelected && state.selectionManager.focusedKey !== item.key)\n }\n )\n }\n ref={rowRef}>\n <div\n // TODO: refactor the css here now that we are focusing the row?\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n {\n 'is-active': isPressed,\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-prev-selected': state.selectionManager.isSelected(item.prevKey),\n 'is-next-selected': state.selectionManager.isSelected(item.nextKey),\n 'react-spectrum-ListViewItem--highlightSelection': state.selectionManager.selectionBehavior === 'replace' && (isSelected || state.selectionManager.isSelected(item.nextKey)),\n 'react-spectrum-ListViewItem--dropTarget': !!isDropTarget,\n 'react-spectrum-ListViewItem--firstRow': isFirstRow,\n 'react-spectrum-ListViewItem--lastRow': isLastRow,\n 'react-spectrum-ListViewItem--isFlushBottom': isFlushWithContainerBottom,\n 'react-spectrum-ListViewItem--hasDescription': hasDescription\n }\n )\n }\n {...gridCellProps}>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n {isListDraggable &&\n <div className={listStyles['react-spectrum-ListViewItem-draghandle-container']}>\n {!isDisabled &&\n <FocusRing focusRingClass={classNames(listStyles, 'focus-ring')}>\n <div\n {...buttonProps as React.HTMLAttributes<HTMLElement>}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-draghandle-button'\n )\n }\n style={!isFocusVisibleWithin ? {...visuallyHiddenProps.style} : {}}\n ref={dragButtonRef}\n draggable=\"true\">\n <ListGripper />\n </div>\n </FocusRing>\n }\n </div>\n }\n {isListDroppable && !dropIndicator?.isHidden &&\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n }\n <CSSTransition\n in={showCheckbox}\n unmountOnExit\n classNames={{\n enter: listStyles['react-spectrum-ListViewItem-checkbox--enter'],\n enterActive: listStyles['react-spectrum-ListViewItem-checkbox--enterActive'],\n exit: listStyles['react-spectrum-ListViewItem-checkbox--exit'],\n exitActive: listStyles['react-spectrum-ListViewItem-checkbox--exitActive']\n }}\n timeout={160} >\n <div className={listStyles['react-spectrum-ListViewItem-checkboxWrapper']}>\n <Checkbox\n {...checkboxProps}\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-checkbox']}\n isEmphasized={isEmphasized} />\n </div>\n </CSSTransition>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description'], ...descriptionProps},\n illustration: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n },\n actionMenu: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actionmenu'], isQuiet: true}\n }}>\n {content}\n <ClearSlots>\n {chevron}\n </ClearSlots>\n </SlotProvider>\n </Grid>\n </div>\n </div>\n );\n}\n","import {ListViewContext} from './ListView';\nimport React, {useContext, useRef} from 'react';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\nexport default function RootDropIndicator() {\n let {dropState, dndHooks} = useContext(ListViewContext);\n let ref = useRef();\n let {dropIndicatorProps} = dndHooks.useDropIndicator({\n target: {type: 'root'}\n }, dropState, ref);\n let isDropTarget = dropState.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']}>\n <div\n role=\"gridcell\"\n aria-selected=\"false\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2021 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 {classNames, SlotProvider} from '@react-spectrum/utils';\nimport {Grid} from '@react-spectrum/layout';\nimport {GridNode} from '@react-types/grid';\nimport listStyles from './styles.css';\nimport React from 'react';\nimport type {SpectrumListViewProps} from './ListView';\nimport {Text} from '@react-spectrum/text';\n\ninterface DragPreviewProps<T> {\n item: GridNode<any>,\n itemCount: number,\n itemHeight: number,\n density: SpectrumListViewProps<T>['density']\n}\n\nexport function DragPreview(props: DragPreviewProps<unknown>) {\n let {\n item,\n itemCount,\n itemHeight,\n density\n } = props;\n\n let isDraggingMultiple = itemCount > 1;\n\n return (\n <div\n style={{height: itemHeight}}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n 'react-spectrum-ListViewItem-dragPreview',\n {'react-spectrum-ListViewItem-dragPreview--multiple': isDraggingMultiple},\n `react-spectrum-ListViewItem-dragPreview--${density}`\n )\n }>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description']},\n illustration: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n },\n actionMenu: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actionmenu'], isQuiet: true}\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n {isDraggingMultiple &&\n <div className={classNames(listStyles, 'react-spectrum-ListViewItem-badge')}>{itemCount}</div>\n }\n </SlotProvider>\n </Grid>\n </div>\n );\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGAA,GAAyC;AACzC,GAA6C;AAC7C,GAAqD;AACrD,GAAqD;AACrD,GAA6C;AAC7C,GAA6B;AAC7B,GAA4B;AAC5B,GAA2B;AAC3B,GAA4B;AAC5B,GAAuD;AACvD,GAAgD;AAChD,GAAkC;AAClC,GAA4D;AAC5D,GAAsD;AACtD,GAAsD;AACtD,GAAqE;AACrE,GAAuE;AACvE,GAA+C;AAC/C,GAAqD;AACrD,GAAyD;AACzD,GAA4B;AAC5B,GAA+B;AAC/B,GAA4B;AAC5B,GAA6B;AAC7B,GAA8B;AAC9B,GAAkD;AAClD,GAAkE;AAClE,GAA+D;AAC/D,GAA6D;AAC7D,GAAsD;AACtD,GAAuD;AACvD,GAAyD;AACzD,GAAqD;AACrD,GAAwD;AACxD,GAA6D;AAC7D,GAAyD;AACzD,GAAkE;AAClE,GAAmE;AACnE,GAAmD;AACnD,GAAmE;AACnE,GAAyD;AACzD,GAA4E;AAC5E,GAAkD;AAClD,GAAmD;AACnD,GAAoD;AACpD,GAAyD;AACzD,GAAyD;AACzD,GAAsE;AACtE,GAA2D;AAC3D,GAAuE;AACvE,GAA6D;AAC7D,GAAmE;AACnE,GAA4D;AAC5D,GAAkE;AArDlE,yCAAyC,GAAG,CAAgC;AAC5E,yCAA6C,GAAG,CAAoC;AACpF,yCAAqD,GAAG,CAA4C;AACpG,yCAAqD,GAAG,CAA4C;AACpG,yCAA6C,GAAG,CAAoC;AACpF,yCAA6B,GAAG,CAAoB;AACpD,yCAA4B,GAAG,CAAmB;AAClD,yCAA2B,GAAG,CAAkB;AAChD,yCAA4B,GAAG,CAAmB;AAClD,yCAAuD,GAAG,CAA8C;AACxG,yCAAgD,GAAG,CAAuC;AAC1F,yCAAkC,GAAG,CAAyB;AAC9D,yCAA4D,GAAG,CAAmD;AAClH,yCAAsD,GAAG,CAA6C;AACtG,yCAAsD,GAAG,CAA6C;AACtG,uCAAqE,GAAG,CAA4D;AACpI,yCAAuE,GAAG,CAA8D;AACxI,yCAA+C,GAAG,CAAsC;AACxF,uCAAqD,GAAG,CAA4C;AACpG,yCAAyD,GAAG,CAAgD;AAC5G,yCAA4B,GAAG,CAAmB;AAClD,yCAA+B,GAAG,CAAsB;AACxD,yCAA4B,GAAG,CAAmB;AAClD,yCAA6B,GAAG,CAAoB;AACpD,wCAA8B,GAAG,CAAqB;AACtD,yCAAkD,GAAG,CAAyC;AAC9F,yCAAkE,GAAG,CAAyD;AAC9H,yCAA+D,GAAG,CAAsD;AACxH,yCAA6D,GAAG,CAAoD;AACpH,yCAAsD,GAAG,CAA6C;AACtG,yCAAuD,GAAG,CAA8C;AACxG,yCAAyD,GAAG,CAAgD;AAC5G,yCAAqD,GAAG,CAA4C;AACpG,yCAAwD,GAAG,CAA+C;AAC1G,yCAA6D,GAAG,CAAoD;AACpH,yCAAyD,GAAG,CAAgD;AAC5G,yCAAkE,GAAG,CAAyD;AAC9H,yCAAmE,GAAG,CAA0D;AAChI,yCAAmD,GAAG,CAA0C;AAChG,yCAAmE,GAAG,CAA0D;AAChI,yCAAyD,GAAG,CAAgD;AAC5G,yCAA4E,GAAG,CAAmE;AAClJ,yCAAkD,GAAG,CAAyC;AAC9F,yCAAmD,GAAG,CAA0C;AAChG,yCAAoD,GAAG,CAA2C;AAClG,yCAAyD,GAAG,CAAgD;AAC5G,yCAAyD,GAAG,CAAgD;AAC5G,yCAAsE,GAAG,CAA6D;AACtI,yCAA2D,GAAG,CAAkD;AAChH,yCAAuE,GAAG,CAA8D;AACxI,yCAA6D,GAAG,CAAoD;AACpH,yCAAmE,GAAG,CAA0D;AAChI,yCAA4D,GAAG,CAAmD;AAClH,yCAAkE,GAAG,CAAyD;;;;;;kDDzCnF,KAA8B,EAAE,CAAC;IAC1E,GAAG,CAAC,CAAC,YAAA,SAAS,qBAAE,gBAAgB,EAAA,CAAC,GAAG,uBAAU,CAAC,yCAAe;IAC9D,KAAK,CAAC,CAAC,SAAA,MAAM,uBAAE,kBAAkB,EAAA,CAAC,GAAG,KAAK;IAE1C,GAAG,CAAC,GAAG,GAAG,mBAAM;IAChB,GAAG,CAAC,CAAC,qBAAA,kBAAkB,EAAA,CAAC,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG;IAClF,GAAG,CAAC,CAAC,sBAAA,mBAAmB,EAAA,CAAC,GAAG,gDAAiB;IAE7C,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM;IAEhD,EAAE,GAAG,YAAY,IAAI,kBAAkB,CAAC,CAAa,eACnD,MAAM,CAAC,IAAI;IAGb,MAAM,oEACH,CAAG;QAAC,IAAI,EAAC,CAAK;QAAC,CAAW,cAAE,kBAAkB,CAAC,CAAa;0EAC1D,CAAG;QACF,IAAI,EAAC,CAAU;QACf,CAAa,gBAAC,CAAO;QACrB,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAA2C,4CAC3C,CAAC;YACC,CAAuD,wDAAE,YAAY;QACvE,CAAC;QAEH,kBAAkB,uEACjB,CAAG;WAAK,mBAAmB;QAAE,IAAI,EAAC,CAAQ;WAAK,kBAAkB;QAAE,GAAG,EAAE,GAAG;;AAKtF,CAAC;;;;;AG7CD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,0BAAe;IAClC,CAAE,eAAG,mCAAoB;AACtC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,qBAAY;IACjC,CAAI,eAAG,iCAAmB;AACrC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,eAAW;IACrC,CAAS,eAAG,yBAAmB;AACrC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAW;IACxC,CAAY,eAAG,kBAAiB;AACnC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,QAAQ;IACtC,CAAa,eAAG,cAAc;AAChC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,iBAAU;IACjC,CAAM,eAAG,0CAAuB;AACzC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,UAAQ;IACpC,CAAW,eAAG,eAAa;AAC/B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,WAAS;IACrC,CAAW,eAAG,gBAAa;AAC/B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAY;IAC1C,CAAa,eAAG,eAAe;AACjC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,WAAS;IACrC,CAAW,eAAG,mBAAe;AACjC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAa;IAC3C,CAAa,eAAG,6BAA4B;AAC9C,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,WAAO;IACjC,CAAS,eAAG,kBAAW;AAC7B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAW;IACxC,CAAY,eAAG,iBAAe;AACjC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,yBAAqB;IAC/C,CAAS,eAAG,qCAAgC;AAClD,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,cAAc;IAC5C,CAAa,eAAG,oBAAoB;AACtC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,kBAAQ;IAC5B,CAAG,eAAG,2BAAW;AAC7B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAK;IAC3B,CAAK,eAAG,oBAAQ;AAC1B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAW;IACxC,CAAY,eAAG,oBAAmB;AACrC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,iBAAgB;IAC7C,CAAY,eAAG,uBAAoB;AACtC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,cAAc;IAC5C,CAAa,eAAG,oBAAoB;AACtC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,QAAQ;IACtC,CAAa,eAAG,aAAa;AAC/B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAY;IACzC,CAAY,eAAG,+BAA8B;AAChD,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAa;IAC3C,CAAa,eAAG,kBAAkB;AACpC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAa;IAC3C,CAAa,eAAG,kBAAkB;AACpC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,eAAa;IACzC,CAAW,eAAG,yBAAuB;AACzC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,mBAAW;IACjC,CAAK,eAAG,gDAA0B;AAC5C,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,gBAAc;IAC1C,CAAW,eAAG,qBAAmB;AACrC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,aAAa;IAC3C,CAAa,eAAG,0BAAyB;AAC3C,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAW;IACxC,CAAY,eAAG,iBAAe;AACjC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAW;IACxC,CAAY,eAAG,gBAAe;AACjC,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,cAAa;IAC1C,CAAY,eAAG,yBAAwB;AAC1C,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,2BAAa;IAC7B,CAAD,eAAG,wDAA8B;AAChD,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,eAAO;IAC7B,CAAK,eAAG,qBAAS;AAC3B,CAAC;;;;ACFD,yBAAc,GAAG,CAAC;IAAE,CAAS,WAAG,YAAI;IAC1B,CAAK,eAAG,qBAAO;AACzB,CAAC;;;AlCgCD,yBAAc,GAAG,CAAC;IAChB,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAM;IACf,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;IAChB,CAAO,QAAE,yBAAO;AAClB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;SmC9Be,yCAAY,CAAI,KAA2B,EAAE,CAAC;QAwHtD,GAAuB,EAAY,IAAkB;IAvH3D,GAAG,CAAC,CAAC,OACH,IAAI,iBACJ,YAAY,EACd,CAAC,GAAG,KAAK;IACT,GAAG,CAAC,CAAC,QACH,KAAK,cACL,SAAS,cACT,SAAS,oBACT,eAAe,oBACf,eAAe,WACf,MAAM,qBACN,gBAAgB,iBAChB,YAAY,EACd,CAAC,GAAG,uBAAU,CAAC,yCAAe;IAC9B,GAAG,CAAC,CAAC,YAAA,SAAS,EAAA,CAAC,GAAG,8BAAS;IAC3B,GAAG,CAAC,MAAM,GAAG,mBAAM;IACnB,GAAG,CAAC,CAAC,CACH,cAAc,EAAE,oBAAoB,GACpC,UAAU,EAAE,gBAAgB,EAC9B,CAAC,GAAG,kCAAY,CAAC,CAAC;QAAA,MAAM,EAAE,IAAI;IAAA,CAAC;IAC/B,GAAG,CAAC,CAAC,iBAAA,cAAc,eAAE,UAAU,EAAA,CAAC,GAAG,kCAAY;IAC/C,GAAG,CAAC,CAAC,WACH,QAAQ,kBACR,aAAa,cACb,SAAS,qBACT,gBAAgB,eAChB,UAAU,eACV,UAAU,oBACV,eAAe,cACf,SAAS,EACX,CAAC,GAAG,wCAAe,CAAC,CAAC;QACnB,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,IAAI;QACnB,qBAAqB,EAAE,eAAe;IACxC,CAAC,EAAE,KAAK,EAAE,MAAM;IAChB,GAAG,CAAC,WAAW,GAAG,eAAe,KAAK,UAAU;IAChD,GAAG,CAAC,CAAC,aAAA,UAAU,cAAE,SAAS,EAAA,CAAC,GAAG,qCAAQ,CAAC,CAAC;QAAA,UAAU,GAAG,eAAe,KAAK,SAAS;IAAA,CAAC;IAEnF,GAAG,CAAC,CAAC,gBAAA,aAAa,EAAA,CAAC,GAAG,qDAA4B,CAAC,CAAC;QAAA,GAAG,EAAE,IAAI,CAAC,GAAG;IAAA,CAAC,EAAE,KAAK;IACzE,GAAG,CAAC,cAAc,GAAG,qCAAW,EAAE,CAAC,EAAE,gEAAU,CAAC,CAAyC,6CAAK,MAAM;IAEpG,GAAG,CAAC,aAAa;IACjB,EAAE,EAAE,eAAe,EAAE,CAAC;QACpB,EAAsD,AAAtD,oDAAsD;QACtD,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAAA,GAAG,EAAE,IAAI,CAAC,GAAG;YAAE,aAAa,EAAE,IAAI;QAAA,CAAC,EAAE,SAAS;QACjG,EAAE,EAAE,UAAU,EACZ,aAAa,GAAG,IAAI;IAExB,CAAC;IACD,GAAG,CAAC,aAAa;IACjB,GAAG,CAAC,YAAY;IAChB,GAAG,CAAC,aAAa;IACjB,GAAG,CAAC,gBAAgB,GAAG,mBAAM;IAC7B,EAAE,EAAE,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,GAAG,CAAC;YAAA,IAAI,EAAE,CAAM;YAAE,GAAG,EAAE,IAAI,CAAC,GAAG;YAAE,YAAY,EAAE,CAAI;QAAA,CAAC;QAC9D,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM;QAC5C,EAAsD,AAAtD,oDAAsD;QACtD,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;oBAAA,MAAM;QAAA,CAAC,EAAE,SAAS,EAAE,gBAAgB;IACzF,CAAC;IAED,GAAG,CAAC,aAAa,GAAG,sCAAK,CAAC,MAAM;IAChC,GAAG,CAAC,CAAC,cAAA,WAAW,EAAA,CAAC,GAAG,gCAAS,CAAC,CAAC;WAC1B,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAA8B,GAA9B,IAAI,CAAJ,CAA8B,GAA9B,aAAa,CAAE,eAAe;QACjC,WAAW,EAAE,CAAK;IACpB,CAAC,EAAE,aAAa;IAEhB,GAAG,CAAC,OAAO,GAAG,SAAS,KAAK,CAAK,0EAE5B,kEAAkB;QACjB,CAAW,cAAC,CAAM;QAClB,gBAAgB,EACd,oCAAU,CACR,gEAAU,EACV,CAA6C,8CAC7C,CAAC;YACC,CAA4D,6DAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACtF,CAAa,eAAG,SAAS;QAC3B,CAAC;4EAKN,iEAAiB;QAChB,CAAW,cAAC,CAAM;QAClB,gBAAgB,EACd,oCAAU,CACR,gEAAU,EACV,CAA6C,8CAC7C,CAAC;YACC,CAA4D,6DAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACtF,CAAa,eAAG,SAAS;QAC3B,CAAC;;IAKX,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,KAAK,CAAM,SAAI,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,CAAQ;IAC3H,GAAG,CAAC,CAAC,sBAAA,mBAAmB,EAAA,CAAC,GAAG,gDAAiB;IAE7C,GAAG,CAAC,SAAS,GAAG,WAAW,GAAG,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAAwB,GAAxB,IAAI,CAAJ,CAAwB,GAAxB,aAAa,CAAE,SAAS,GAAG,CAAC;QAAA,CAAa,cAAE,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAAwB,GAAxB,IAAI,CAAJ,CAAwB,GAAxB,aAAa,CAAE,SAAS,CAAC,CAAa;IAAC,CAAC;IACjH,KAAK,CAAC,WAAW,GAAG,gCAAU,CAC5B,QAAQ,EACR,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAAwB,GAAxB,IAAI,CAAJ,CAAwB,GAAxB,aAAa,CAAE,SAAS,EACxB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,EAAkH,AAAlH,gHAAkH;IAClH,EAAkE,AAAlE,gEAAkE;KAClE,gBAAgB,aAAhB,gBAAgB,KAAhB,IAAI,CAAJ,CAAmC,GAAnC,IAAI,CAAJ,CAAmC,GAAnC,gBAAgB,CAAE,iBAAiB,OAAM,CAAC;QAAA,QAAQ,EAAE,IAAI;IAAA,CAAC;IAG3D,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI;IACrC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI;IACpC,EAA2H,AAA3H,yHAA2H;IAC3H,EAAoI,AAApI,kIAAoI;IACpI,EAAqB,AAArB,mBAAqB;IACrB,GAAG,CAAC,0BAA0B,GAAG,KAAK;IACtC,EAAE,EAAE,SAAS,IAAI,YAAY,KAAK,CAAa,cAC7C,CAAC;QAAD,EAAE,IAAE,GAAuB,GAAvB,MAAM,CAAC,cAAc,gBAArB,GAAuB,KAAvB,IAAI,CAAJ,CAA+B,GAA/B,IAAI,CAAJ,CAA+B,GAA/B,GAAuB,CAAE,MAAM,OAAI,IAAkB,GAAlB,MAAM,CAAC,WAAW,cAAlB,IAAkB,KAAlB,IAAI,CAAJ,CAAkC,GAAlC,IAAI,CAAJ,CAAkC,GAAlC,IAAkB,CAAE,cAAc,GAAG,MAAM,GAChF,0BAA0B,GAAG,IAAI;IACnC,CAAC;IAEH,EAA+B,AAA/B,6BAA+B;IAC/B,EAAqI,AAArI,mIAAqI;IACrI,GAAG,CAAC,SAAS,IAAK,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAC1D,KAAK,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,MAAM,2CAAoB,MAAM,KAAK,CAAC,gBAAgB,CAAC,SAAS;IACxH,GAAG,CAAC,YAAY,IAAK,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAC7D,KAAK,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,MAAM,2CAAoB,MAAM,KAAK,CAAC,gBAAgB,CAAC,SAAS;IAExH,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAQ,6EAAI,6BAAI,QAAE,IAAI,CAAC,QAAQ,IAAW,IAAI,CAAC,QAAQ;IAC9F,EAAE,EAAE,UAAU,EACZ,OAAO,sEAAI,qCAAQ;QAAC,UAAU,EAAV,IAAU;OAAE,OAAO;IAGzC,MAAM,oEACH,CAAG;WACE,WAAW;QACf,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAA6B,8BAC7B,CAAC;YACC,CAAY,aAAE,cAAc;YAC5B,CAAY,aACV,SAAS,IAAK,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG;YAC1F,CAAe,gBACb,YAAY,IAAK,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG;QAC/F,CAAC;QAGL,GAAG,EAAE,MAAM;0EACV,CAAG;QACF,EAAgE,AAAhE,8DAAgE;QAChE,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAA6B,8BAC7B,CAAC;YACC,CAAW,YAAE,SAAS;YACtB,CAAY,aAAE,oBAAoB;YAClC,CAAY,aAAE,cAAc;YAC5B,CAAY,aAAE,SAAS;YACvB,CAAa,cAAE,UAAU;YACzB,CAAa,cAAE,UAAU;YACzB,CAAkB,mBAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;YAClE,CAAkB,mBAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;YAClE,CAAiD,kDAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,CAAS,aAAK,UAAU,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO;YAC1K,CAAyC,4CAAI,YAAY;YACzD,CAAuC,wCAAE,UAAU;YACnD,CAAsC,uCAAE,SAAS;YACjD,CAA4C,6CAAE,0BAA0B;YACxE,CAA6C,8CAAE,cAAc;QAC/D,CAAC;WAGD,aAAa;0EAChB,+BAAI;QAAC,gBAAgB,EAAE,gEAAU,CAAC,CAAkC;OAClE,eAAe,uEACb,CAAG;QAAC,SAAS,EAAE,gEAAU,CAAC,CAAkD;QACzE,UAAU,uEACT,+BAAS;QAAC,cAAc,EAAE,oCAAU,CAAC,gEAAU,EAAE,CAAY;0EAC3D,CAAG;WACE,WAAW;QACf,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAA+C;QAGnD,KAAK,GAAG,oBAAoB,GAAG,CAAC;eAAG,mBAAmB,CAAC,KAAK;QAAA,CAAC,GAAG,CAAC;QAAA,CAAC;QAClE,GAAG,EAAE,aAAa;QAClB,SAAS,EAAC,CAAM;0EACf,2DAAW,YAMrB,eAAe,MAAK,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAAuB,GAAvB,IAAI,CAAJ,CAAuB,GAAvB,aAAa,CAAE,QAAQ,wEACzC,CAAG;QAAC,IAAI,EAAC,CAAQ;WAAK,mBAAmB;WAAM,aAAa,aAAb,aAAa,KAAb,IAAI,CAAJ,CAAiC,GAAjC,IAAI,CAAJ,CAAiC,GAAjC,aAAa,CAAE,kBAAkB;QAAE,GAAG,EAAE,gBAAgB;2EAEzG,yCAAa;QACZ,EAAE,EAAE,YAAY;QAChB,aAAa,EAAb,IAAa;QACb,UAAU,EAAE,CAAC;YACX,KAAK,EAAE,gEAAU,CAAC,CAA6C;YAC/D,WAAW,EAAE,gEAAU,CAAC,CAAmD;YAC3E,IAAI,EAAE,gEAAU,CAAC,CAA4C;YAC7D,UAAU,EAAE,gEAAU,CAAC,CAAkD;QAC3E,CAAC;QACD,OAAO,EAAE,GAAG;0EACX,CAAG;QAAC,SAAS,EAAE,gEAAU,CAAC,CAA6C;0EACrE,qCAAQ;WACH,aAAa;QACjB,gBAAgB,EAAE,gEAAU,CAAC,CAAsC;QACnE,YAAY,EAAE,YAAY;6EAG/B,sCAAY;QACX,KAAK,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;YAAC,CAAC;YAC3E,WAAW,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAyC;mBAAM,gBAAgB;YAAA,CAAC;YAC3G,YAAY,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAuC;YAAC,CAAC;YACrF,KAAK,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAuC;YAAC,CAAC;YAC9E,YAAY,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;gBAAG,OAAO,EAAE,IAAI;YAAA,CAAC;YAClG,WAAW,EAAE,CAAC;gBACZ,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;gBAClE,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAS;YACpB,CAAC;YACD,UAAU,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAwC;gBAAG,OAAO,EAAE,IAAI;YAAA,CAAC;QACrG,CAAC;OACA,OAAO,qEACP,oCAAU,QACR,OAAO;AAOtB,CAAC;;;;;;;;oDCtR2C,CAAC;IAC3C,GAAG,CAAC,CAAC,YAAA,SAAS,qBAAE,gBAAgB,EAAA,CAAC,GAAG,uBAAU,CAAC,yCAAe;IAC9D,GAAG,CAAC,GAAG,GAAG,mBAAM;IAChB,GAAG,CAAC,CAAC,qBAAA,kBAAkB,EAAA,CAAC,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC;YAAA,IAAI,EAAE,CAAM;QAAA,CAAC;IACxB,CAAC,EAAE,SAAS,EAAE,GAAG;IACjB,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAAA,IAAI,EAAE,CAAM;IAAA,CAAC;IACxD,GAAG,CAAC,CAAC,sBAAA,mBAAmB,EAAA,CAAC,GAAG,gDAAiB;IAE7C,EAAE,GAAG,YAAY,IAAI,kBAAkB,CAAC,CAAa,eACnD,MAAM,CAAC,IAAI;IAGb,MAAM,oEACH,CAAG;QAAC,IAAI,EAAC,CAAK;QAAC,CAAW,cAAE,kBAAkB,CAAC,CAAa;0EAC1D,CAAG;QACF,IAAI,EAAC,CAAU;QACf,CAAa,gBAAC,CAAO;0EACpB,CAAG;QAAC,IAAI,EAAC,CAAQ;WAAK,mBAAmB;WAAM,kBAAkB;QAAE,GAAG,EAAE,GAAG;;AAIpF,CAAC;;;;;;;;SCAe,yCAAW,CAAC,KAAgC,EAAE,CAAC;IAC7D,GAAG,CAAC,CAAC,OACH,IAAI,cACJ,SAAS,eACT,UAAU,YACV,OAAO,EACT,CAAC,GAAG,KAAK;IAET,GAAG,CAAC,kBAAkB,GAAG,SAAS,GAAG,CAAC;IAEtC,MAAM,oEACH,CAAG;QACF,KAAK,EAAE,CAAC;YAAA,MAAM,EAAE,UAAU;QAAA,CAAC;QAC3B,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAA6B,8BAC7B,CAAyC,0CACzC,CAAC;YAAA,CAAmD,oDAAE,kBAAkB;QAAA,CAAC,GACxE,yCAAyC,EAAE,OAAO;0EAGtD,+BAAI;QAAC,gBAAgB,EAAE,gEAAU,CAAC,CAAkC;0EAClE,sCAAY;QACX,KAAK,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;YAAC,CAAC;YAC3E,WAAW,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAyC;YAAC,CAAC;YACtF,YAAY,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAuC;YAAC,CAAC;YACrF,KAAK,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAuC;YAAC,CAAC;YAC9E,YAAY,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;gBAAG,OAAO,EAAE,IAAI;YAAA,CAAC;YAClG,WAAW,EAAE,CAAC;gBACZ,gBAAgB,EAAE,gEAAU,CAAC,CAAqC;gBAClE,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAS;YACpB,CAAC;YACD,UAAU,EAAE,CAAC;gBAAA,gBAAgB,EAAE,gEAAU,CAAC,CAAwC;gBAAG,OAAO,EAAE,IAAI;YAAA,CAAC;QACrG,CAAC;OACA,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAQ,6EAAI,6BAAI,QAAE,IAAI,CAAC,QAAQ,IAAW,IAAI,CAAC,QAAQ,EAChF,kBAAkB,uEAChB,CAAG;QAAC,SAAS,EAAE,oCAAU,CAAC,gEAAU,EAAE,CAAmC;OAAI,SAAS;AAMnG,CAAC;;;;;;AxCIM,KAAK,CAAC,yCAAe,iBAAG,sCAAK,CAAC,aAAa,CAAgC,IAAI;AAEtF,KAAK,CAAC,iCAAW,GAAG,CAAC;IACnB,OAAO,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;IACX,CAAC;IACD,OAAO,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;IACX,CAAC;IACD,QAAQ,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;IACX,CAAC;AACH,CAAC;SAEQ,mCAAa,CAAI,KAAmB,EAAE,OAA4C,EAAE,YAAsD,EAAE,CAAC;IACpJ,GAAG,CAAC,CAAC,QAAA,KAAK,EAAA,CAAC,GAAG,wCAAW;IACzB,GAAG,CAAC,QAAQ,GAAG,gCAAW,CAAC,CAAC;QAAA,KAAK,EAAE,CAAQ;QAAE,WAAW,EAAE,CAAM;IAAA,CAAC;IACjE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IACzC,GAAG,CAAC,MAAM,GAAG,oBAAO,KAClB,GAAG,CAAC,oCAAU,CAAI,CAAC;YACjB,kBAAkB,EAAE,iCAAW,CAAC,OAAO,EAAE,KAAK;YAC9C,OAAO,EAAE,CAAC;sBACV,QAAQ;YACR,YAAY,EAAE,OAAO,GAAG,IAAI,GAAG,iCAAW,CAAC,OAAO,EAAE,KAAK;QAC3D,CAAC;MAEC,CAAC;QAAA,QAAQ;QAAE,KAAK;QAAE,OAAO;QAAE,OAAO;QAAE,YAAY;IAAA,CAAC;IAErD,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;IACpC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;IACxC,MAAM,CAAC,MAAM;AACf,CAAC;SAEQ,8BAAQ,CAAmB,KAA+B,EAAE,GAA2B,EAAE,CAAC;QA8E7F,IAAiB;IA7ErB,GAAG,CAAC,CAAC,UACH,OAAO,GAAG,CAAS,yBACnB,YAAY,eACZ,UAAU,YACV,OAAO,iBACP,YAAY,GAAG,CAAU,sBACzB,QAAQ,qBACR,gBAAgB,MACb,UAAU,CACf,CAAC,GAAG,KAAK;IACT,GAAG,CAAC,eAAe,MAAK,gBAAgB,aAAhB,gBAAgB,KAAhB,IAAI,CAAJ,CAA6C,GAA7C,IAAI,CAAJ,CAA6C,GAA7C,gBAAgB,CAAE,2BAA2B;IACrE,GAAG,CAAC,eAAe,MAAK,gBAAgB,aAAhB,gBAAgB,KAAhB,IAAI,CAAJ,CAA6C,GAA7C,IAAI,CAAJ,CAA6C,GAA7C,gBAAgB,CAAE,2BAA2B;IACrE,GAAG,CAAC,iBAAiB,GAAG,mBAAM,CAAC,eAAe;IAC9C,GAAG,CAAC,iBAAiB,GAAG,mBAAM,CAAC,eAAe;IAC9C,EAAE,EAAE,iBAAiB,CAAC,OAAO,KAAK,eAAe,EAC/C,OAAO,CAAC,IAAI,CAAC,CAA4H;IAE3I,EAAE,EAAE,iBAAiB,CAAC,OAAO,KAAK,eAAe,EAC/C,OAAO,CAAC,IAAI,CAAC,CAA4H;IAE3I,GAAG,CAAC,MAAM,GAAG,mCAAS,CAAC,GAAG;IAC1B,GAAG,CAAC,KAAK,GAAG,oCAAY,CAAC,CAAC;WACrB,KAAK;QACR,iBAAiB,EAAE,KAAK,CAAC,cAAc,KAAK,CAAW,aAAG,CAAS,WAAG,CAAQ;IAChF,CAAC;IACD,GAAG,CAAC,CAAC,aAAA,UAAU,qBAAE,gBAAgB,EAAA,CAAC,GAAG,KAAK;IAC1C,GAAG,CAAC,eAAe,GAAG,gDAA2B,CAAC,gEAAY;IAC9D,GAAG,CAAC,SAAS,GAAG,YAAY,KAAK,CAAS,YAAI,YAAY,KAAK,CAAa;IAE5E,GAAG,CAAC,CAAC,aAAA,UAAU,EAAA,CAAC,GAAG,uCAAa,CAAC,KAAK;IACtC,GAAG,CAAC,SAAS;IACb,GAAG,CAAC,OAAO,GAAG,mBAAM,CAAC,IAAI;IACzB,EAAE,EAAE,eAAe,EAAE,CAAC;QACpB,SAAS,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;wBACxD,UAAU;8BACV,gBAAgB;qBAChB,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAAA,CAAC,EAAE,SAAS,EAAE,MAAM;IAC/D,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,mCAAa,CACxB,KAAK,EACL,KAAK,CAAC,OAAO,IAAI,CAAS,UAC1B,YAAY;IAEd,EAAsE,AAAtE,oEAAsE;IACtE,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,KAAK,CAAW,iBAAM,SAAS,aAAT,SAAS,KAAT,IAAI,CAAJ,CAAuB,GAAvB,IAAI,CAAJ,CAAuB,GAAvB,SAAS,CAAE,YAAY,CAAC,IAAI;IAGxH,GAAG,CAAC,WAAW,GAAG,gBAAgB,aAAhB,gBAAgB,KAAhB,IAAI,CAAJ,CAA6B,GAA7B,IAAI,CAAJ,CAA6B,GAA7B,gBAAgB,CAAE,WAAW;IAC/C,GAAG,CAAC,SAAS;IACb,GAAG,CAAC,mBAAmB;IACvB,GAAG,CAAC,gBAAgB;IACpB,EAAE,EAAE,eAAe,EAAE,CAAC;QACpB,SAAS,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;wBACxD,UAAU;8BACV,gBAAgB;QAClB,CAAC;QACD,mBAAmB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YAC7D,gBAAgB,EAAE,MAAM;YACxB,kBAAkB,EAAE,MAAM;QAC5B,CAAC,EAAE,SAAS,EAAE,MAAM;QAEpB,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAAA,IAAI,EAAE,CAAM;QAAA,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,CAAC,YAAA,SAAS,EAAA,CAAC,GAAG,oCAAW,CAAC,CAAC;WAC1B,KAAK;QACR,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,MAAM;kBACxB,QAAQ;IACV,CAAC,EAAE,KAAK,EAAE,MAAM;IAEhB,EAAsC,AAAtC,oCAAsC;IACtC,MAAM,CAAC,SAAS,GAAG,SAAS;IAE5B,GAAG,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU;IAC5C,EAAE,GAAE,SAAS,aAAT,SAAS,KAAT,IAAI,CAAJ,CAAiB,GAAjB,IAAI,CAAJ,CAAiB,IAAjB,IAAiB,GAAjB,SAAS,CAAE,MAAM,cAAjB,IAAiB,KAAjB,IAAI,CAAJ,CAAiB,GAAjB,IAAI,CAAJ,CAAiB,GAAjB,IAAiB,CAAE,IAAI,MAAK,CAAM,OACpC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG;IAGnC,EAA+C,AAA/C,6CAA+C;IAC/C,GAAG,EAAE,0BAA0B,EAAE,0BAA0B,IAAI,qBAAQ,CAAC,KAAK;IAC7E,GAAG,EAAE,4BAA4B,EAAE,4BAA4B,IAAI,qBAAQ,CAAC,KAAK;IACjF,qCAAe,KAAO,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,EAAiE,AAAjE,+DAAiE;YACjE,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;YACtF,4BAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY;QAC5F,CAAC;IACH,CAAC;IAED,GAAG,CAAC,cAAc,GAAG,oBAAO,KAAO,CAAC;eAAG,UAAU;QAAA,CAAC,CAAC,IAAI,EAAC,IAAI,GAAI,IAAI,CAAC,aAAa;;MAAG,CAAC;QAAA,UAAU;IAAA,CAAC;IAEjG,MAAM,oEACH,yCAAe,CAAC,QAAQ;QAAC,KAAK,EAAE,CAAC;mBAAA,KAAK;uBAAE,SAAS;uBAAE,SAAS;8BAAE,gBAAgB;sBAAE,QAAQ;6BAAE,eAAe;6BAAE,eAAe;oBAAE,MAAM;0BAAE,YAAY;QAAA,CAAC;0EAC/I,gCAAU,2EACR,+BAAS;QAAC,cAAc,EAAE,oCAAU,CAAC,gEAAU,EAAE,CAAY;0EAC3D,uCAAW;WACN,gCAAU,CAAC,eAAe,KAAI,mBAAmB,aAAnB,mBAAmB,KAAnB,IAAI,CAAJ,CAAoC,GAApC,IAAI,CAAJ,CAAoC,GAApC,mBAAmB,CAAE,eAAe,GAAE,SAAS;WAC7E,oCAAc,CAAC,UAAU;WACzB,SAAS;WACT,UAAU;QACd,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,UAAU;QACtB,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,UAAU;QACtB,eAAe,EAAC,CAAU;QAC1B,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAAyB,2BACxB,yBAAyB,EAAE,OAAO,IACnC,CAAqC,sCACrC,CAAC;YACC,CAAgC,iCAAE,OAAO;YACzC,CAAsC,uCAAE,YAAY,KAAK,CAAa;YACtE,CAAoC,uCAAI,eAAe;YACvD,CAAqC,wCAAI,gBAAgB;YACzD,CAAqD,sDAAE,0BAA0B;YACjF,CAAuD,wDAAE,4BAA4B;YACrF,CAAyC,0CAAE,cAAc;YACzD,CAA+B,gCAAE,YAAY,KAAK,CAAM;QAC1D,CAAC,EACD,UAAU,CAAC,SAAS;QAGxB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,kBAAkB,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG;QACvC,IAAI,EAAE,IAAI,GAAK,CAAC;QAChB,EAAE,EAAE,IAAI,KAAK,CAAM,OACjB,MAAM,2HAED,eAAe,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,uEAC1D,wCAAiB;YAAC,GAAG,EAAC,CAAM;YAE9B,eAAe,uEACb,wCAAkB;YACjB,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO;YACxB,MAAM,EAAE,CAAC;gBAAA,GAAG,EAAE,IAAI,CAAC,GAAG;gBAAE,IAAI,EAAE,CAAM;gBAAE,YAAY,EAAE,CAAQ;YAAA,CAAC;+EAEhE,yCAAY;YAAC,IAAI,EAAE,IAAI;YAAE,YAAY,EAAZ,IAAY;YAAC,UAAU,IAAI,QAAQ;YAC5D,eAAe,uEACb,wCAAkB;YACjB,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC;gBAAA,GAAG,EAAE,IAAI,CAAC,GAAG;gBAAE,IAAI,EAAE,CAAM;gBAAE,YAAY,EAAE,CAAO;YAAA,CAAC;YAC5D,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI;;aAI/D,EAAE,EAAE,IAAI,KAAK,CAAQ,SAC1B,MAAM,oEACH,qCAAe,2EACb,2CAAc;YACb,eAAe,EAAf,IAAe;YACf,CAAU,aAAE,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAa,gBAAI,eAAe,CAAC,MAAM,CAAC,CAAS;;aAG3G,EAAE,EAAE,IAAI,KAAK,CAAa,cAAE,CAAC;YAClC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI;YACzE,EAAE,EAAE,UAAU,IAAI,IAAI,EACpB,MAAM,CAAC,IAAI;YAGb,MAAM,oEACH,qCAAe,QACb,UAAU;QAGjB,CAAC;IAEH,CAAC,KAIN,WAAW,IAAI,eAAe,uEAC5B,WAAW;QAAC,GAAG,EAAE,OAAO;WAChB,CAAC;QACN,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU;QACxD,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI;QAC3C,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM;QACvE,MAAM,oEAAE,yCAAmB;YAAC,IAAI,EAAE,IAAI;YAAE,SAAS,EAAE,SAAS;YAAE,UAAU,EAAE,UAAU;YAAE,OAAO,EAAE,OAAO;;IACxG,CAAC;AAKX,CAAC;SAEQ,qCAAe,CAAC,CAAC,WAAA,QAAQ,EAAA,CAAC,EAAE,CAAC;IACpC,GAAG,CAAC,CAAC,QAAA,KAAK,EAAA,CAAC,GAAG,uBAAU,CAAC,yCAAe;IACxC,MAAM,oEACH,CAAG;QACF,IAAI,EAAC,CAAK;QACV,CAAa,gBAAE,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QACxC,SAAS,EACP,oCAAU,CACR,gEAAU,EACV,CAAyC,0CACzC,CAAC;YACC,CAAsD,uDAAE,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QACnF,CAAC;0EAEJ,CAAG;QAAC,IAAI,EAAC,CAAU;OACjB,QAAQ;AAIjB,CAAC;AAED,EAEG,AAFH;;CAEG,AAFH,EAEG,CACH,KAAK,CAAC,yCAAS,iBAAG,sCAAK,CAAC,UAAU,CAAC,8BAAQ","sources":["packages/@react-spectrum/list/src/index.ts","packages/@react-spectrum/list/src/ListView.tsx","packages/@react-spectrum/list/src/InsertionIndicator.tsx","packages/@react-spectrum/list/src/styles.css","packages/@react-spectrum/list/intl/*.js","packages/@react-spectrum/list/intl/ar-AE.json","packages/@react-spectrum/list/intl/bg-BG.json","packages/@react-spectrum/list/intl/cs-CZ.json","packages/@react-spectrum/list/intl/da-DK.json","packages/@react-spectrum/list/intl/de-DE.json","packages/@react-spectrum/list/intl/el-GR.json","packages/@react-spectrum/list/intl/en-US.json","packages/@react-spectrum/list/intl/es-ES.json","packages/@react-spectrum/list/intl/et-EE.json","packages/@react-spectrum/list/intl/fi-FI.json","packages/@react-spectrum/list/intl/fr-FR.json","packages/@react-spectrum/list/intl/he-IL.json","packages/@react-spectrum/list/intl/hr-HR.json","packages/@react-spectrum/list/intl/hu-HU.json","packages/@react-spectrum/list/intl/it-IT.json","packages/@react-spectrum/list/intl/ja-JP.json","packages/@react-spectrum/list/intl/ko-KR.json","packages/@react-spectrum/list/intl/lt-LT.json","packages/@react-spectrum/list/intl/lv-LV.json","packages/@react-spectrum/list/intl/nb-NO.json","packages/@react-spectrum/list/intl/nl-NL.json","packages/@react-spectrum/list/intl/pl-PL.json","packages/@react-spectrum/list/intl/pt-BR.json","packages/@react-spectrum/list/intl/pt-PT.json","packages/@react-spectrum/list/intl/ro-RO.json","packages/@react-spectrum/list/intl/ru-RU.json","packages/@react-spectrum/list/intl/sk-SK.json","packages/@react-spectrum/list/intl/sl-SI.json","packages/@react-spectrum/list/intl/sr-SP.json","packages/@react-spectrum/list/intl/sv-SE.json","packages/@react-spectrum/list/intl/tr-TR.json","packages/@react-spectrum/list/intl/uk-UA.json","packages/@react-spectrum/list/intl/zh-CN.json","packages/@react-spectrum/list/intl/zh-TW.json","packages/@react-spectrum/list/src/ListViewItem.tsx","packages/@react-spectrum/list/src/RootDropIndicator.tsx","packages/@react-spectrum/list/src/DragPreview.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport {ListView} from './ListView';\nexport {Item} from '@react-stately/collections';\nexport type {SpectrumListViewProps} from './ListView';\n","/*\n * Copyright 2021 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 {AriaGridListProps, useGridList} from '@react-aria/gridlist';\nimport {AsyncLoadable, DOMRef, LoadingState, SpectrumSelectionProps, StyleProps} from '@react-types/shared';\nimport {classNames, useDOMRef, useStyleProps} from '@react-spectrum/utils';\nimport type {DragAndDropHooks} from '@react-spectrum/dnd';\nimport type {DraggableCollectionState, DroppableCollectionState} from '@react-stately/dnd';\nimport type {DroppableCollectionResult} from '@react-aria/dnd';\nimport {filterDOMProps, mergeProps, useLayoutEffect} from '@react-aria/utils';\nimport {FocusRing, FocusScope} from '@react-aria/focus';\nimport InsertionIndicator from './InsertionIndicator';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ListLayout} from '@react-stately/layout';\nimport {ListState, useListState} from '@react-stately/list';\nimport listStyles from './styles.css';\nimport {ListViewItem} from './ListViewItem';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {Key, ReactElement, useContext, useMemo, useRef, useState} from 'react';\nimport RootDropIndicator from './RootDropIndicator';\nimport {DragPreview as SpectrumDragPreview} from './DragPreview';\nimport {useCollator, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProvider} from '@react-spectrum/provider';\nimport {Virtualizer} from '@react-aria/virtualizer';\n\nexport interface SpectrumListViewProps<T> extends AriaGridListProps<T>, StyleProps, SpectrumSelectionProps, Omit<AsyncLoadable, 'isLoading'> {\n /**\n * Sets the amount of vertical padding within each cell.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /** Whether the ListView should be displayed with a quiet style. */\n isQuiet?: boolean,\n /** The current loading state of the ListView. Determines whether or not the progress circle should be shown. */\n loadingState?: LoadingState,\n /**\n * Sets the text behavior for the row contents.\n * @default 'truncate'\n */\n overflowMode?: 'truncate' | 'wrap',\n /** Sets what the ListView should render when there is no content to display. */\n renderEmptyState?: () => JSX.Element,\n /**\n * Handler that is called when a user performs an action on an item. The exact user event depends on\n * the collection's `selectionStyle` prop and the interaction modality.\n */\n onAction?: (key: Key) => void,\n /**\n * The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the ListView.\n */\n dragAndDropHooks?: DragAndDropHooks['dragAndDropHooks']\n}\n\ninterface ListViewContextValue<T> {\n state: ListState<T>,\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n dragAndDropHooks: DragAndDropHooks['dragAndDropHooks'],\n onAction:(key: Key) => void,\n isListDraggable: boolean,\n isListDroppable: boolean,\n layout: ListLayout<T>,\n loadingState: LoadingState\n}\n\nexport const ListViewContext = React.createContext<ListViewContextValue<unknown>>(null);\n\nconst ROW_HEIGHTS = {\n compact: {\n medium: 32,\n large: 40\n },\n regular: {\n medium: 40,\n large: 50\n },\n spacious: {\n medium: 48,\n large: 60\n }\n};\n\nfunction useListLayout<T>(state: ListState<T>, density: SpectrumListViewProps<T>['density'], overflowMode: SpectrumListViewProps<T>['overflowMode']) {\n let {scale} = useProvider();\n let collator = useCollator({usage: 'search', sensitivity: 'base'});\n let isEmpty = state.collection.size === 0;\n let layout = useMemo(() =>\n new ListLayout<T>({\n estimatedRowHeight: ROW_HEIGHTS[density][scale],\n padding: 0,\n collator,\n loaderHeight: isEmpty ? null : ROW_HEIGHTS[density][scale]\n })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n , [collator, scale, density, isEmpty, overflowMode]);\n\n layout.collection = state.collection;\n layout.disabledKeys = state.disabledKeys;\n return layout;\n}\n\nfunction ListView<T extends object>(props: SpectrumListViewProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n density = 'regular',\n loadingState,\n onLoadMore,\n isQuiet,\n overflowMode = 'truncate',\n onAction,\n dragAndDropHooks,\n ...otherProps\n } = props;\n let isListDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isListDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isListDraggable);\n let dropHooksProvided = useRef(isListDroppable);\n if (dragHooksProvided.current !== isListDraggable) {\n console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n if (dropHooksProvided.current !== isListDroppable) {\n console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');\n }\n let domRef = useDOMRef(ref);\n let state = useListState({\n ...props,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n let {collection, selectionManager} = state;\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n\n let {styleProps} = useStyleProps(props);\n let dragState: DraggableCollectionState;\n let preview = useRef(null);\n if (isListDraggable) {\n dragState = dragAndDropHooks.useDraggableCollectionState({\n collection,\n selectionManager,\n preview\n });\n dragAndDropHooks.useDraggableCollection({}, dragState, domRef);\n }\n let layout = useListLayout(\n state,\n props.density || 'regular',\n overflowMode\n );\n // !!0 is false, so we can cast size or undefined and they'll be falsy\n layout.allowDisabledKeyFocus = state.selectionManager.disabledBehavior === 'selection' || !!dragState?.draggingKeys.size;\n\n\n let DragPreview = dragAndDropHooks?.DragPreview;\n let dropState: DroppableCollectionState;\n let droppableCollection: DroppableCollectionResult;\n let isRootDropTarget: boolean;\n if (isListDroppable) {\n dropState = dragAndDropHooks.useDroppableCollectionState({\n collection,\n selectionManager\n });\n droppableCollection = dragAndDropHooks.useDroppableCollection({\n keyboardDelegate: layout,\n dropTargetDelegate: layout\n }, dropState, domRef);\n\n isRootDropTarget = dropState.isDropTarget({type: 'root'});\n }\n\n let {gridProps} = useGridList({\n ...props,\n isVirtualized: true,\n keyboardDelegate: layout,\n onAction\n }, state, domRef);\n\n // Sync loading state into the layout.\n layout.isLoading = isLoading;\n\n let focusedKey = selectionManager.focusedKey;\n if (dropState?.target?.type === 'item') {\n focusedKey = dropState.target.key;\n }\n\n // wait for layout to get accurate measurements\n let [isVerticalScrollbarVisible, setVerticalScollbarVisible] = useState(false);\n let [isHorizontalScrollbarVisible, setHorizontalScollbarVisible] = useState(false);\n useLayoutEffect(() => {\n if (domRef.current) {\n // 2 is the width of the border which is not part of the box size\n setVerticalScollbarVisible(domRef.current.clientWidth + 2 < domRef.current.offsetWidth);\n setHorizontalScollbarVisible(domRef.current.clientHeight + 2 < domRef.current.offsetHeight);\n }\n });\n\n let hasAnyChildren = useMemo(() => [...collection].some(item => item.hasChildNodes), [collection]);\n\n return (\n <ListViewContext.Provider value={{state, dragState, dropState, dragAndDropHooks, onAction, isListDraggable, isListDroppable, layout, loadingState}}>\n <FocusScope>\n <FocusRing focusRingClass={classNames(listStyles, 'focus-ring')}>\n <Virtualizer\n {...mergeProps(isListDroppable && droppableCollection?.collectionProps, gridProps)}\n {...filterDOMProps(otherProps)}\n {...gridProps}\n {...styleProps}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n ref={domRef}\n focusedKey={focusedKey}\n scrollDirection=\"vertical\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView',\n `react-spectrum-ListView--${density}`,\n 'react-spectrum-ListView--emphasized',\n {\n 'react-spectrum-ListView--quiet': isQuiet,\n 'react-spectrum-ListView--loadingMore': loadingState === 'loadingMore',\n 'react-spectrum-ListView--draggable': !!isListDraggable,\n 'react-spectrum-ListView--dropTarget': !!isRootDropTarget,\n 'react-spectrum-ListView--isVerticalScrollbarVisible': isVerticalScrollbarVisible,\n 'react-spectrum-ListView--isHorizontalScrollbarVisible': isHorizontalScrollbarVisible,\n 'react-spectrum-ListView--hasAnyChildren': hasAnyChildren,\n 'react-spectrum-ListView--wrap': overflowMode === 'wrap'\n },\n styleProps.className\n )\n }\n layout={layout}\n collection={collection}\n transitionDuration={isLoading ? 160 : 220}>\n {(type, item) => {\n if (type === 'item') {\n return (\n <>\n {isListDroppable && collection.getKeyBefore(item.key) == null &&\n <RootDropIndicator key=\"root\" />\n }\n {isListDroppable &&\n <InsertionIndicator\n key={`${item.key}-before`}\n target={{key: item.key, type: 'item', dropPosition: 'before'}} />\n }\n <ListViewItem item={item} isEmphasized hasActions={!!onAction} />\n {isListDroppable &&\n <InsertionIndicator\n key={`${item.key}-after`}\n target={{key: item.key, type: 'item', dropPosition: 'after'}}\n isPresentationOnly={collection.getKeyAfter(item.key) != null} />\n }\n </>\n );\n } else if (type === 'loader') {\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={collection.size > 0 ? stringFormatter.format('loadingMore') : stringFormatter.format('loading')} />\n </CenteredWrapper>\n );\n } else if (type === 'placeholder') {\n let emptyState = props.renderEmptyState ? props.renderEmptyState() : null;\n if (emptyState == null) {\n return null;\n }\n\n return (\n <CenteredWrapper>\n {emptyState}\n </CenteredWrapper>\n );\n }\n\n }}\n </Virtualizer>\n </FocusRing>\n </FocusScope>\n {DragPreview && isListDraggable &&\n <DragPreview ref={preview}>\n {() => {\n let item = state.collection.getItem(dragState.draggedKey);\n let itemCount = dragState.draggingKeys.size;\n let itemHeight = layout.getLayoutInfo(dragState.draggedKey).rect.height;\n return <SpectrumDragPreview item={item} itemCount={itemCount} itemHeight={itemHeight} density={density} />;\n }}\n </DragPreview>\n }\n </ListViewContext.Provider>\n );\n}\n\nfunction CenteredWrapper({children}) {\n let {state} = useContext(ListViewContext);\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.size + 1}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView-centeredWrapper',\n {\n 'react-spectrum-ListView-centeredWrapper--loadingMore': state.collection.size > 0\n }\n )}>\n <div role=\"gridcell\">\n {children}\n </div>\n </div>\n );\n}\n\n/**\n * A ListView displays a list of interactive items, and allows a user to navigate, select, or perform an action.\n */\nconst _ListView = React.forwardRef(ListView) as <T>(props: SpectrumListViewProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_ListView as ListView};\n","import {classNames} from '@react-spectrum/utils';\nimport {ItemDropTarget} from '@react-types/shared';\nimport listStyles from './styles.css';\nimport {ListViewContext} from './ListView';\nimport React, {useContext, useRef} from 'react';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface InsertionIndicatorProps {\n target: ItemDropTarget,\n isPresentationOnly?: boolean\n}\n\nexport default function InsertionIndicator(props: InsertionIndicatorProps) {\n let {dropState, dragAndDropHooks} = useContext(ListViewContext);\n const {target, isPresentationOnly} = props;\n\n let ref = useRef();\n let {dropIndicatorProps} = dragAndDropHooks.useDropIndicator(props, dropState, ref);\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n let isDropTarget = dropState.isDropTarget(target);\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']}>\n <div\n role=\"gridcell\"\n aria-selected=\"false\"\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewInsertionIndicator',\n {\n 'react-spectrum-ListViewInsertionIndicator--dropTarget': isDropTarget\n }\n )}>\n {!isPresentationOnly &&\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={ref} />\n }\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n*/\n\n:root {\n --spectrum-listview-item-compact-padding-y: var(--spectrum-global-dimension-size-50);\n --spectrum-listview-item-regular-padding-y: var(--spectrum-global-dimension-size-85);\n --spectrum-listview-item-spacious-padding-y: var(--spectrum-global-dimension-size-100);\n --spectrum-listview-border-width: var(--spectrum-table-border-size, var(--spectrum-alias-border-size-thin));\n --spectrum-listview-border-radius: var(--spectrum-table-border-radius, var(--spectrum-alias-border-radius-regular));\n --spectrum-listview-item-border-radius: calc(var(--spectrum-listview-border-radius) - var(--spectrum-listview-border-width));\n --spectrum-listview-row-sticky-focus-indicator-width: 3px;\n --spectrum-listview-item-line-height: calc(var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default)) * var(--spectrum-table-cell-text-line-height, var(--spectrum-alias-body-text-line-height)) - 1px);\n --spectrum-listview-item-title-text-color: var(--spectrum-global-color-gray-800);\n --spectrum-listview-item-title-text-size: var(--spectrum-global-dimension-font-size-100);\n --spectrum-listview-item-description-text-color: var(--spectrum-global-color-gray-700);\n --spectrum-listview-item-description-text-size: var(--spectrum-global-dimension-font-size-75);\n}\n\n.react-spectrum-ListView {\n box-sizing: border-box;\n border-color: var(--spectrum-table-border-color, var(--spectrum-alias-border-color-mid));\n border-style: solid;\n position: relative;\n border-width: var(--spectrum-listview-border-width);\n border-radius: var(--spectrum-listview-border-radius);\n overflow: auto;\n vertical-align: var(--spectrum-table-cell-vertical-alignment);\n border-collapse: separate;\n border-spacing: 0;\n transform: translate3d(0, 0, 0);\n padding: 0;\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n outline: 0;\n user-select: none;\n\n .react-spectrum-ListView-row {\n outline: none;\n }\n\n &.react-spectrum-ListView--emphasized {\n &.react-spectrum-ListView--dropTarget {\n .react-spectrum-ListViewItem:not(.is-selected) {\n /* shift bottom border inwards so it doesn't overlap the root drop target */\n &:after {\n inset-inline-start: 1px;\n inset-inline-end: 1px;\n }\n }\n }\n .react-spectrum-ListViewItem {\n /* common pseudoelement for box shadows */\n &:after {\n content: '';\n display: block;\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n inset-block-end: 0;\n inset-block-start: 0;\n z-index: 3;\n pointer-events: none;\n }\n\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-selected);\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-selected-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-selected-key-focus);\n }\n\n /* Negative block start causes borders to actually be shared between items. Only works if we allow item overflow to be visible, like card focus rings. */\n &:after {\n inset-block-start: -1px;\n box-shadow: inset 1px 0 0 0 var(--spectrum-global-color-blue-500), inset -1px 0 0 0 var(--spectrum-global-color-blue-500), inset 0 -1px 0 0 var(--spectrum-global-color-blue-500), inset 0 1px 0 0 var(--spectrum-global-color-blue-500);\n }\n }\n\n /* First item in the ListView should not have a border that extends outside of itself to the top, it doesn't need to share a border space. */\n &.react-spectrum-ListViewItem--firstRow {\n &.is-selected {\n &:after {\n inset-block-start: 0px;\n }\n }\n }\n }\n\n &:not(.react-spectrum-ListView--quiet) {\n .react-spectrum-ListViewItem {\n /* Box shadow for bottom border for non-selected rows that aren't immediately above a selected row (grey border bottom). */\n /* Also omit bottom border for last row if the total content height of the ListView is equal or greater than the height of the container. This avoids overlapping bottom borders. */\n &:not(.is-selected):not(.is-next-selected):not(.react-spectrum-ListViewItem--isFlushBottom) {\n &:after {\n box-shadow: inset 0 -1px 0 0 var(--spectrum-table-cell-border-color);\n }\n }\n\n &.react-spectrum-ListViewItem--firstRow.is-selected {\n &:after {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &.react-spectrum-ListView--isVerticalScrollbarVisible {\n .react-spectrum-ListViewItem {\n &.react-spectrum-ListViewItem--firstRow.is-selected {\n &:after {\n border-start-end-radius: 0;\n }\n }\n }\n\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-end-radius: 0;\n }\n }\n }\n }\n\n &.react-spectrum-ListView--isHorizontalScrollbarVisible {\n &:not(.react-spectrum-ListView--loadingMore) {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem--isFlushBottom.is-selected {\n &:after {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n }\n }\n }\n }\n }\n &.react-spectrum-ListView--wrap .react-spectrum-ListViewItem {\n & .react-spectrum-ListViewItem-content,\n & .react-spectrum-ListViewItem-description {\n white-space: normal;\n height: auto;\n }\n }\n}\n\n.react-spectrum-ListView-row {\n cursor: default;\n /* Not sticky because listview is a single column. If we want to make sticky, will need a cell wrapper like TableView for display: inline-block */\n &:focus-ring {\n &:before {\n content: '';\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: var(--spectrum-listview-row-sticky-focus-indicator-width);\n z-index: 4;\n background: var(--spectrum-selectlist-option-focus-indicator-color);\n }\n }\n}\n\n.react-spectrum-ListView.react-spectrum-ListView--quiet {\n background-color: var(--spectrum-alias-background-color-transparent);\n border-width: 0;\n border-radius: 0;\n\n .react-spectrum-ListView-row {\n &.round-tops {\n &:focus-ring {\n &:before {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n & > .react-spectrum-ListViewItem {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n\n &:after {\n border-start-start-radius: var(--spectrum-listview-item-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n\n &.round-bottoms {\n &:focus-ring {\n &:before {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n & > .react-spectrum-ListViewItem {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n\n &:after {\n border-end-start-radius: var(--spectrum-listview-item-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-border-radius);\n }\n }\n }\n }\n}\n\n.react-spectrum-ListViewItem {\n display: grid; /* TODO: define grid areas */\n box-sizing: border-box;\n font-size: var(--spectrum-table-cell-text-size, var(--spectrum-alias-font-size-default));\n font-weight: var(--spectrum-table-cell-text-font-weight, var(--spectrum-global-font-weight-regular));\n line-height: var(--spectrum-listview-item-line-height);\n padding: var(--spectrum-listview-item-regular-padding-y) var(--spectrum-global-dimension-size-160);\n position: relative;\n /*background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));*/\n color: var(--spectrum-table-cell-text-color, var(--spectrum-alias-text-color));\n outline: 0;\n min-height: var(--spectrum-global-dimension-size-500);\n\n &.is-hovered,\n &.is-focused {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-down);\n }\n\n &.is-selected {\n background-color: var(--spectrum-table-row-background-color-hover);\n\n &.is-hovered,\n &.is-active {\n background-color: var(--spectrum-table-row-background-color-hover);\n }\n\n &:focus-ring {\n background-color: var(--spectrum-table-row-background-color-selected-key-focus);\n }\n }\n\n &.is-disabled {\n &, .react-spectrum-ListViewItem-content, .react-spectrum-ListViewItem-description {\n color: var(--spectrum-alias-text-color-disabled);\n }\n }\n\n &.has-checkbox {\n /* have to eliminate vertical padding to allow proper vertical alignment */\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .react-spectrum-ListViewItem-grid {\n display: grid;\n grid-template-columns: auto auto auto 1fr auto auto auto;\n grid-template-rows: 1fr auto;\n grid-template-areas:\n \"draghandle checkbox thumbnail content actions actionmenu chevron\"\n \"draghandle checkbox thumbnail description actions actionmenu chevron\";\n align-items: center;\n }\n\n .react-spectrum-ListViewItem-draghandle-container {\n grid-area: draghandle;\n width: var(--spectrum-global-dimension-size-250);\n display: flex;\n align-self: stretch;\n justify-self: stretch;\n justify-content: center;\n padding: var(--spectrum-global-dimension-size-25);\n padding-inline-start: var(--spectrum-global-dimension-size-40);\n\n\n .react-spectrum-ListViewItem-draghandle-button {\n width: var(--spectrum-global-dimension-size-200);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--spectrum-alias-border-radius-regular);\n\n &:focus-ring {\n box-shadow: inset 0 0 0 2px var(--spectrum-table-cell-border-color-key-focus);\n outline: none;\n }\n }\n }\n\n .react-spectrum-ListViewItem-checkboxWrapper {\n grid-area: checkbox;\n align-items: center;\n justify-items: center;\n transition-duration: 160ms;\n display: flex;\n }\n\n .react-spectrum-ListViewItem-checkbox {\n min-height: 0;\n height: 100%;\n\n > span {\n margin: 0;\n }\n }\n\n .react-spectrum-ListViewItem-thumbnail {\n grid-area: thumbnail;\n justify-items: center;\n padding-inline-end: var(--spectrum-global-dimension-size-100);\n display: flex;\n border-radius: var(--spectrum-global-dimension-size-25);\n width: var(--spectrum-global-dimension-size-400);\n height: var(--spectrum-global-dimension-size-400);\n align-items: center;\n justify-content: center;\n\n > img {\n width: unset;\n height: 100%;\n }\n }\n\n .react-spectrum-ListViewItem-content,\n .react-spectrum-ListViewItem-description {\n flex-grow: 1;\n\n /* truncate text with ellipsis */\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: var(--spectrum-listview-item-line-height);\n }\n\n .react-spectrum-ListViewItem-content {\n grid-area: content;\n color: var(--spectrum-listview-item-title-text-color);\n font-size: var(--spectrum-listview-item-title-text-size);\n }\n\n &:not(.react-spectrum-ListView--hasDescription) {\n .react-spectrum-ListViewItem-content {\n grid-area: content / description;\n }\n }\n\n .react-spectrum-ListViewItem-description {\n grid-area: description;\n color: var(--spectrum-listview-item-description-text-color);\n font-size: var(--spectrum-listview-item-description-text-size);\n }\n\n .react-spectrum-ListViewItem-actions {\n grid-area: actions;\n flex-grow: 0;\n flex-shrink: 0;\n }\n\n .react-spectrum-ListViewItem-actionmenu {\n grid-area: actionmenu;\n }\n\n .react-spectrum-ListViewItem-parentIndicator {\n grid-area: chevron;\n padding-inline-start: var(--spectrum-global-dimension-size-75);\n display: none;\n transition: color var(--spectrum-global-animation-duration-100);\n\n &.is-disabled {\n color: var(--spectrum-alias-icon-color-disabled);\n }\n }\n\n &.react-spectrum-ListViewItem-dragPreview {\n width: var(--spectrum-global-dimension-size-2400);\n border: 1px solid var(--spectrum-dropzone-border-color-selected-hover);\n border-radius: var(--spectrum-alias-border-radius-regular);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n\n &.react-spectrum-ListViewItem-dragPreview--compact {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n }\n\n &.react-spectrum-ListViewItem-dragPreview--spacious {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n }\n\n .react-spectrum-ListViewItem-grid {\n grid-template-areas:\n \"thumbnail content . badge\"\n \"thumbnail description . badge\";\n grid-template-columns: auto auto 1fr auto;\n }\n\n .react-spectrum-ListViewItem-badge {\n grid-area: badge;\n color: white;\n background: var(--spectrum-global-color-blue-400);\n padding: 0 8px;\n border-radius: var(--spectrum-alias-border-radius-regular);\n }\n\n &.react-spectrum-ListViewItem-dragPreview--multiple {\n position: relative;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n z-index: -1;\n top: 4px;\n inset-inline-start: 4px;\n width: 100%;\n height: 100%;\n border: 1px solid var(--spectrum-dropzone-border-color-selected-hover);\n border-radius: var(--spectrum-alias-border-radius-regular);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n }\n }\n\n .react-spectrum-ListViewItem-actions,\n .react-spectrum-ListViewItem-actionmenu {\n display: none;\n }\n }\n}\n.react-spectrum-ListView:not(.react-spectrum-ListView--quiet) {\n /* give first and last items border-radius to match listview container */\n\n .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {\n border-start-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-start-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-start-radius: var(--spectrum-listview-item-start-end-border-radius);\n border-end-end-radius: var(--spectrum-listview-item-start-end-border-radius);\n }\n\n &.react-spectrum-ListView--isVerticalScrollbarVisible {\n .react-spectrum-ListViewItem--firstRow.react-spectrum-ListViewItem {\n border-start-end-radius: 0;\n }\n\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-end-radius: 0;\n }\n }\n\n &.react-spectrum-ListView--isHorizontalScrollbarVisible {\n .react-spectrum-ListViewItem--lastRow.react-spectrum-ListViewItem {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n }\n }\n}\n\n.react-spectrum-ListView {\n /* When we can use subgrid, get rid of this. */\n &.react-spectrum-ListView--hasAnyChildren {\n .react-spectrum-ListViewItem-parentIndicator {\n display: inline-block;\n visibility: hidden;\n }\n .react-spectrum-ListViewItem-parentIndicator--hasChildItems {\n visibility: visible;\n }\n }\n}\n\n.react-spectrum-ListView--compact .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-compact-padding-y);\n padding-bottom: var(--spectrum-listview-item-compact-padding-y);\n min-height: var(--spectrum-global-dimension-size-400);\n}\n\n.react-spectrum-ListView--spacious .react-spectrum-ListViewItem {\n padding-top: var(--spectrum-listview-item-spacious-padding-y);\n padding-bottom: var(--spectrum-listview-item-spacious-padding-y);\n min-height: var(--spectrum-global-dimension-size-600);\n}\n\n.react-spectrum-ListView--draggable .react-spectrum-ListViewItem {\n padding-inline-start: 0;\n\n .react-spectrum-ListViewItem-checkbox {\n input {\n inset-inline-start: 0;\n }\n }\n}\n\n.react-spectrum-ListViewItem--dropTarget {\n background-color: var(--spectrum-alias-highlight-selected);\n box-shadow:\n inset 2px 0 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset -2px 0 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset 0 -3px 0 0 var(--spectrum-table-cell-border-color-key-focus),\n inset 0 2px 0 0 var(--spectrum-table-cell-border-color-key-focus);\n}\n\n.react-spectrum-ListView.react-spectrum-ListView--dropTarget {\n border-color: var(--spectrum-global-color-blue-500);\n background-color: var(--spectrum-alias-highlight-selected);\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n\n /* Add border to quiet ListView only when it is a drop target */\n &.react-spectrum-ListView--quiet {\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus), 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n }\n}\n\n.react-spectrum-ListView-centeredWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n &.react-spectrum-ListView-centeredWrapper--loadingMore {\n padding-top: var(--spectrum-global-dimension-size-50);\n }\n}\n\n.react-spectrum-ListViewInsertionIndicator {\n width: calc(100% - (2 * var(--spectrum-dropindicator-circle-size)));\n inset-inline-start: var(--spectrum-dropindicator-circle-size);\n position: absolute;\n outline: none;\n\n &.react-spectrum-ListViewInsertionIndicator--dropTarget {\n background: var(--spectrum-dropindicator-border-color);\n border-bottom: 2px solid var(--spectrum-dropindicator-border-color);\n\n &:before {\n left: calc(var(--spectrum-dropindicator-circle-size) * -1);\n }\n\n &:after {\n right: calc(var(--spectrum-dropindicator-circle-size) * -1);\n }\n\n &:before,\n &:after {\n content: '';\n position: absolute;\n top: calc(var(--spectrum-dropindicator-circle-size) * -1 / 2 + var(--spectrum-dropindicator-border-size) / 2);\n width: var(--spectrum-dropindicator-circle-size);\n height: var(--spectrum-dropindicator-circle-size);\n border-radius: 50%;\n border: var(--spectrum-dropindicator-border-size) solid;\n box-sizing: border-box;\n border-color: var(--spectrum-dropindicator-circle-border-color);\n background-color: var(--spectrum-table-background-color, var(--spectrum-global-color-gray-50));\n z-index: 5;\n }\n }\n}\n\n.react-spectrum-ListViewItem-checkbox--enter {\n opacity: 0.01;\n max-width: 0px;\n}\n.react-spectrum-ListViewItem-checkbox--enterActive {\n opacity: 1;\n max-width: 80px;\n}\n.react-spectrum-ListViewItem-checkbox--exit {\n opacity: 1;\n max-width: 80px;\n}\n.react-spectrum-ListViewItem-checkbox--exitActive {\n opacity: 0.01;\n max-width: 0px;\n}\n\n.react-spectrum-ListView {\n &:focus-ring {\n border-color: var(--spectrum-global-color-blue-500);\n box-shadow: inset 0 0 0 1px var(--spectrum-table-cell-border-color-key-focus);\n }\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\"\n}\n","{\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\"\n}\n","{\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\"\n}\n","{\n \"loading\": \"Indlæser...\",\n \"loadingMore\": \"Indlæser flere...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\"\n}\n","{\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\"\n}\n","{\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\"\n}\n","{\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\"\n}\n","{\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\"\n}\n","{\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\"\n}\n","{\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\"\n}\n","{\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\"\n}\n","{\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\"\n}\n","{\n \"loading\": \"로드 중…\",\n \"loadingMore\": \"추가 로드 중…\"\n}\n","{\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\"\n}\n","{\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\"\n}\n","{\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\"\n}\n","{\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\"\n}\n","{\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\"\n}\n","{\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\"\n}\n","{\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\"\n}\n","{\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\"\n}\n","{\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\"\n}\n","{\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\"\n}\n","{\n \"loading\": \"Nalaganje ...\",\n \"loadingMore\": \"Nalaganje več vsebine ...\"\n}\n","{\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\"\n}\n","{\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\"\n}\n","{\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\"\n}\n","{\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\"\n}\n","{\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\"\n}\n","{\n \"loading\": \"載入中…\",\n \"loadingMore\": \"正在載入更多…\"\n}\n","/*\n * Copyright 2021 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 {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {classNames, ClearSlots, SlotProvider, useHasChild} from '@react-spectrum/utils';\nimport {CSSTransition} from 'react-transition-group';\nimport type {DraggableItemResult, DropIndicatorAria, DroppableItemResult} from '@react-aria/dnd';\nimport {DropTarget, Node} from '@react-types/shared';\nimport {FocusRing, useFocusRing} from '@react-aria/focus';\nimport {Grid} from '@react-spectrum/layout';\nimport {isFocusVisible as isGlobalFocusVisible, useHover} from '@react-aria/interactions';\nimport ListGripper from '@spectrum-icons/ui/ListGripper';\nimport listStyles from './styles.css';\nimport {ListViewContext} from './ListView';\nimport {mergeProps} from '@react-aria/utils';\nimport {Provider} from '@react-spectrum/provider';\nimport React, {useContext, useRef} from 'react';\nimport {Text} from '@react-spectrum/text';\nimport {useButton} from '@react-aria/button';\nimport {useGridListItem, useGridListSelectionCheckbox} from '@react-aria/gridlist';\nimport {useLocale} from '@react-aria/i18n';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface ListViewItemProps<T> {\n item: Node<T>,\n isEmphasized: boolean,\n hasActions: boolean\n}\n\nexport function ListViewItem<T>(props: ListViewItemProps<T>) {\n let {\n item,\n isEmphasized\n } = props;\n let {\n state,\n dragState,\n dropState,\n isListDraggable,\n isListDroppable,\n layout,\n dragAndDropHooks,\n loadingState\n } = useContext(ListViewContext);\n let {direction} = useLocale();\n let rowRef = useRef<HTMLDivElement>();\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let {\n rowProps,\n gridCellProps,\n isPressed,\n descriptionProps,\n isSelected,\n isDisabled,\n allowsSelection,\n hasAction\n } = useGridListItem({\n node: item,\n isVirtualized: true,\n shouldSelectOnPressUp: isListDraggable\n }, state, rowRef);\n let isDroppable = isListDroppable && !isDisabled;\n let {hoverProps, isHovered} = useHover({isDisabled: !allowsSelection && !hasAction});\n\n let {checkboxProps} = useGridListSelectionCheckbox({key: item.key}, state);\n let hasDescription = useHasChild(`.${listStyles['react-spectrum-ListViewItem-description']}`, rowRef);\n\n let draggableItem: DraggableItemResult;\n if (isListDraggable) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n draggableItem = dragAndDropHooks.useDraggableItem({key: item.key, hasDragButton: true}, dragState);\n if (isDisabled) {\n draggableItem = null;\n }\n }\n let droppableItem: DroppableItemResult;\n let isDropTarget: boolean;\n let dropIndicator: DropIndicatorAria;\n let dropIndicatorRef = useRef();\n if (isListDroppable) {\n let target = {type: 'item', key: item.key, dropPosition: 'on'} as DropTarget;\n isDropTarget = dropState.isDropTarget(target);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n dropIndicator = dragAndDropHooks.useDropIndicator({target}, dropState, dropIndicatorRef);\n }\n\n let dragButtonRef = React.useRef();\n let {buttonProps} = useButton({\n ...draggableItem?.dragButtonProps,\n elementType: 'div'\n }, dragButtonRef);\n\n let chevron = direction === 'ltr'\n ? (\n <ChevronRightMedium\n aria-hidden=\"true\"\n UNSAFE_className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-parentIndicator',\n {\n 'react-spectrum-ListViewItem-parentIndicator--hasChildItems': item.props.hasChildItems,\n 'is-disabled': !hasAction\n }\n )\n } />\n )\n : (\n <ChevronLeftMedium\n aria-hidden=\"true\"\n UNSAFE_className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-parentIndicator',\n {\n 'react-spectrum-ListViewItem-parentIndicator--hasChildItems': item.props.hasChildItems,\n 'is-disabled': !hasAction\n }\n )\n } />\n );\n\n let showCheckbox = state.selectionManager.selectionMode !== 'none' && state.selectionManager.selectionBehavior === 'toggle';\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n let dropProps = isDroppable ? droppableItem?.dropProps : {'aria-hidden': droppableItem?.dropProps['aria-hidden']};\n const mergedProps = mergeProps(\n rowProps,\n draggableItem?.dragProps,\n dropProps,\n hoverProps,\n focusWithinProps,\n focusProps,\n // Remove tab index from list row if performing a screenreader drag. This prevents TalkBack from focusing the row,\n // allowing for single swipe navigation between row drop indicator\n dragAndDropHooks?.isVirtualDragging() && {tabIndex: null}\n );\n\n let isFirstRow = item.prevKey == null;\n let isLastRow = item.nextKey == null;\n // Figure out if the ListView content is equal or greater in height to the container. If so, we'll need to round the bottom\n // border corners of the last row when selected and we can get rid of the bottom border if it isn't selected to avoid border overlap\n // with bottom border\n let isFlushWithContainerBottom = false;\n if (isLastRow && loadingState !== 'loadingMore') {\n if (layout.getContentSize()?.height >= layout.virtualizer?.getVisibleRect().height) {\n isFlushWithContainerBottom = true;\n }\n }\n // previous item isn't selected\n // and the previous item isn't focused or, if it is focused, then if focus globally isn't visible or just focus isn't in the listview\n let roundTops = (!state.selectionManager.isSelected(item.prevKey)\n && (state.selectionManager.focusedKey !== item.prevKey || !(isGlobalFocusVisible() && state.selectionManager.isFocused)));\n let roundBottoms = (!state.selectionManager.isSelected(item.nextKey)\n && (state.selectionManager.focusedKey !== item.nextKey || !(isGlobalFocusVisible() && state.selectionManager.isFocused)));\n\n let content = typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered;\n if (isDisabled) {\n content = <Provider isDisabled>{content}</Provider>;\n }\n\n return (\n <div\n {...mergedProps}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListView-row',\n {\n 'focus-ring': isFocusVisible,\n 'round-tops':\n roundTops || (isHovered && !isSelected && state.selectionManager.focusedKey !== item.key),\n 'round-bottoms':\n roundBottoms || (isHovered && !isSelected && state.selectionManager.focusedKey !== item.key)\n }\n )\n }\n ref={rowRef}>\n <div\n // TODO: refactor the css here now that we are focusing the row?\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n {\n 'is-active': isPressed,\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-selected': isSelected,\n 'is-disabled': isDisabled,\n 'is-prev-selected': state.selectionManager.isSelected(item.prevKey),\n 'is-next-selected': state.selectionManager.isSelected(item.nextKey),\n 'react-spectrum-ListViewItem--highlightSelection': state.selectionManager.selectionBehavior === 'replace' && (isSelected || state.selectionManager.isSelected(item.nextKey)),\n 'react-spectrum-ListViewItem--dropTarget': !!isDropTarget,\n 'react-spectrum-ListViewItem--firstRow': isFirstRow,\n 'react-spectrum-ListViewItem--lastRow': isLastRow,\n 'react-spectrum-ListViewItem--isFlushBottom': isFlushWithContainerBottom,\n 'react-spectrum-ListViewItem--hasDescription': hasDescription\n }\n )\n }\n {...gridCellProps}>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n {isListDraggable &&\n <div className={listStyles['react-spectrum-ListViewItem-draghandle-container']}>\n {!isDisabled &&\n <FocusRing focusRingClass={classNames(listStyles, 'focus-ring')}>\n <div\n {...buttonProps as React.HTMLAttributes<HTMLElement>}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem-draghandle-button'\n )\n }\n style={!isFocusVisibleWithin ? {...visuallyHiddenProps.style} : {}}\n ref={dragButtonRef}\n draggable=\"true\">\n <ListGripper />\n </div>\n </FocusRing>\n }\n </div>\n }\n {isListDroppable && !dropIndicator?.isHidden &&\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n }\n <CSSTransition\n in={showCheckbox}\n unmountOnExit\n classNames={{\n enter: listStyles['react-spectrum-ListViewItem-checkbox--enter'],\n enterActive: listStyles['react-spectrum-ListViewItem-checkbox--enterActive'],\n exit: listStyles['react-spectrum-ListViewItem-checkbox--exit'],\n exitActive: listStyles['react-spectrum-ListViewItem-checkbox--exitActive']\n }}\n timeout={160} >\n <div className={listStyles['react-spectrum-ListViewItem-checkboxWrapper']}>\n <Checkbox\n {...checkboxProps}\n UNSAFE_className={listStyles['react-spectrum-ListViewItem-checkbox']}\n isEmphasized={isEmphasized} />\n </div>\n </CSSTransition>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description'], ...descriptionProps},\n illustration: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n },\n actionMenu: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actionmenu'], isQuiet: true}\n }}>\n {content}\n <ClearSlots>\n {chevron}\n </ClearSlots>\n </SlotProvider>\n </Grid>\n </div>\n </div>\n );\n}\n","import {ListViewContext} from './ListView';\nimport React, {useContext, useRef} from 'react';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\nexport default function RootDropIndicator() {\n let {dropState, dragAndDropHooks} = useContext(ListViewContext);\n let ref = useRef();\n let {dropIndicatorProps} = dragAndDropHooks.useDropIndicator({\n target: {type: 'root'}\n }, dropState, ref);\n let isDropTarget = dropState.isDropTarget({type: 'root'});\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n if (!isDropTarget && dropIndicatorProps['aria-hidden']) {\n return null;\n }\n\n return (\n <div role=\"row\" aria-hidden={dropIndicatorProps['aria-hidden']}>\n <div\n role=\"gridcell\"\n aria-selected=\"false\">\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2021 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 {classNames, SlotProvider} from '@react-spectrum/utils';\nimport {Grid} from '@react-spectrum/layout';\nimport {GridNode} from '@react-types/grid';\nimport listStyles from './styles.css';\nimport React from 'react';\nimport type {SpectrumListViewProps} from './ListView';\nimport {Text} from '@react-spectrum/text';\n\ninterface DragPreviewProps<T> {\n item: GridNode<any>,\n itemCount: number,\n itemHeight: number,\n density: SpectrumListViewProps<T>['density']\n}\n\nexport function DragPreview(props: DragPreviewProps<unknown>) {\n let {\n item,\n itemCount,\n itemHeight,\n density\n } = props;\n\n let isDraggingMultiple = itemCount > 1;\n\n return (\n <div\n style={{height: itemHeight}}\n className={\n classNames(\n listStyles,\n 'react-spectrum-ListViewItem',\n 'react-spectrum-ListViewItem-dragPreview',\n {'react-spectrum-ListViewItem-dragPreview--multiple': isDraggingMultiple},\n `react-spectrum-ListViewItem-dragPreview--${density}`\n )\n }>\n <Grid UNSAFE_className={listStyles['react-spectrum-ListViewItem-grid']}>\n <SlotProvider\n slots={{\n text: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-content']},\n description: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-description']},\n illustration: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n image: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-thumbnail']},\n actionButton: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'], isQuiet: true},\n actionGroup: {\n UNSAFE_className: listStyles['react-spectrum-ListViewItem-actions'],\n isQuiet: true,\n density: 'compact'\n },\n actionMenu: {UNSAFE_className: listStyles['react-spectrum-ListViewItem-actionmenu'], isQuiet: true}\n }}>\n {typeof item.rendered === 'string' ? <Text>{item.rendered}</Text> : item.rendered}\n {isDraggingMultiple &&\n <div className={classNames(listStyles, 'react-spectrum-ListViewItem-badge')}>{itemCount}</div>\n }\n </SlotProvider>\n </Grid>\n </div>\n );\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|