react-aria-components
Version:
A library of styleable components built using React Aria
976 lines (961 loc) • 51.5 kB
JavaScript
import {ButtonContext as $d2b4bc8c273e7be6$export$24d547caef80ccd1} from "./Button.module.js";
import {CheckboxContext as $4e85f108e88277b8$export$b085522c77523c51} from "./RSPContexts.module.js";
import {CollectionRendererContext as $7135fc7d473fd974$export$4feb769f8ddf26c5, DefaultCollectionRenderer as $7135fc7d473fd974$export$a164736487e3f0ae} from "./Collection.module.js";
import {DEFAULT_SLOT as $64fa3d84918910a7$export$c62b8e45d58ddad9, Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from "./utils.module.js";
import {DragAndDropContext as $612b8eb6cb90e02d$export$d188a835a7bc5783, DropIndicatorContext as $612b8eb6cb90e02d$export$f55761759794cf55, useDndPersistedKeys as $612b8eb6cb90e02d$export$d1e8e3fbb7461f6, useRenderDropIndicator as $612b8eb6cb90e02d$export$971707d8a129a1f7} from "./DragAndDrop.module.js";
import $dbSRa$intlStringsmodulejs from "./intlStrings.module.js";
import {CollectionNode as $dbSRa$CollectionNode, BaseCollection as $dbSRa$BaseCollection, Collection as $dbSRa$Collection, CollectionBuilder as $dbSRa$CollectionBuilder, createBranchComponent as $dbSRa$createBranchComponent, useCachedChildren as $dbSRa$useCachedChildren, createLeafComponent as $dbSRa$createLeafComponent} from "@react-aria/collections";
import {buildHeaderRows as $dbSRa$buildHeaderRows} from "@react-stately/table";
import {useTableColumnResizeState as $dbSRa$useTableColumnResizeState, useMultipleSelectionState as $dbSRa$useMultipleSelectionState, useTableState as $dbSRa$useTableState} from "react-stately";
import {useTable as $dbSRa$useTable, ListKeyboardDelegate as $dbSRa$ListKeyboardDelegate, useFocusRing as $dbSRa$useFocusRing, FocusScope as $dbSRa$FocusScope, mergeProps as $dbSRa$mergeProps, useTableRowGroup as $dbSRa$useTableRowGroup, useHover as $dbSRa$useHover, useTableHeaderRow as $dbSRa$useTableHeaderRow, useTableSelectAllCheckbox as $dbSRa$useTableSelectAllCheckbox, useTableColumnHeader as $dbSRa$useTableColumnHeader, useLocalizedStringFormatter as $dbSRa$useLocalizedStringFormatter, useTableColumnResize as $dbSRa$useTableColumnResize, useLocale as $dbSRa$useLocale, useTableRow as $dbSRa$useTableRow, useTableSelectionCheckbox as $dbSRa$useTableSelectionCheckbox, useVisuallyHidden as $dbSRa$useVisuallyHidden, useTableCell as $dbSRa$useTableCell} from "react-aria";
import {useObjectRef as $dbSRa$useObjectRef, useLayoutEffect as $dbSRa$useLayoutEffect, isScrollable as $dbSRa$isScrollable, useResizeObserver as $dbSRa$useResizeObserver, filterDOMProps as $dbSRa$filterDOMProps, mergeRefs as $dbSRa$mergeRefs, UNSTABLE_useLoadMoreSentinel as $dbSRa$UNSTABLE_useLoadMoreSentinel, inertValue as $dbSRa$inertValue} from "@react-aria/utils";
import $dbSRa$react, {createContext as $dbSRa$createContext, forwardRef as $dbSRa$forwardRef, useRef as $dbSRa$useRef, useState as $dbSRa$useState, useMemo as $dbSRa$useMemo, useContext as $dbSRa$useContext, useEffect as $dbSRa$useEffect, useCallback as $dbSRa$useCallback} from "react";
import $dbSRa$reactdom from "react-dom";
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
class $1910c06f0ca9905e$var$TableCollection extends (0, $dbSRa$BaseCollection) {
addNode(node) {
super.addNode(node);
this.columnsDirty || (this.columnsDirty = node.type === 'column');
if (node.type === 'tableheader') this.head = node;
if (node.type === 'tablebody') this.body = node;
}
commit(firstKey, lastKey, isSSR = false) {
this.updateColumns(isSSR);
this.rows = [];
for (let row of this.getChildren(this.body.key)){
let lastChildKey = row.lastChildKey;
if (lastChildKey != null) {
let lastCell = this.getItem(lastChildKey);
var _lastCell_colIndex, _lastCell_colSpan;
let numberOfCellsInRow = ((_lastCell_colIndex = lastCell.colIndex) !== null && _lastCell_colIndex !== void 0 ? _lastCell_colIndex : lastCell.index) + ((_lastCell_colSpan = lastCell.colSpan) !== null && _lastCell_colSpan !== void 0 ? _lastCell_colSpan : 1);
if (numberOfCellsInRow !== this.columns.length && !isSSR) throw new Error(`Cell count must match column count. Found ${numberOfCellsInRow} cells and ${this.columns.length} columns.`);
}
this.rows.push(row);
}
super.commit(firstKey, lastKey, isSSR);
}
updateColumns(isSSR) {
if (!this.columnsDirty) return;
this.rowHeaderColumnKeys = new Set();
this.columns = [];
let columnKeyMap = new Map();
let visit = (node)=>{
switch(node.type){
case 'column':
columnKeyMap.set(node.key, node);
if (!node.hasChildNodes) {
node.index = this.columns.length;
this.columns.push(node);
if (node.props.isRowHeader) this.rowHeaderColumnKeys.add(node.key);
}
break;
}
for (let child of this.getChildren(node.key))visit(child);
};
for (let node of this.getChildren(this.head.key))visit(node);
this.headerRows = (0, $dbSRa$buildHeaderRows)(columnKeyMap, this.columns);
this.columnsDirty = false;
if (this.rowHeaderColumnKeys.size === 0 && this.columns.length > 0 && !isSSR) throw new Error('A table must have at least one Column with the isRowHeader prop set to true');
}
get columnCount() {
return this.columns.length;
}
*[Symbol.iterator]() {
// Wait until the collection is initialized.
if (this.head.key === -1) return;
yield this.head;
yield this.body;
}
get size() {
return this.rows.length;
}
getFirstKey() {
return this.body.firstChildKey;
}
getLastKey() {
return this.body.lastChildKey;
}
getKeyAfter(key) {
let node = this.getItem(key);
var _node_nextKey;
if ((node === null || node === void 0 ? void 0 : node.type) === 'column') return (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null;
return super.getKeyAfter(key);
}
getKeyBefore(key) {
var _this_getItem;
let node = this.getItem(key);
var _node_prevKey;
if ((node === null || node === void 0 ? void 0 : node.type) === 'column') return (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null;
let k = super.getKeyBefore(key);
if (k != null && ((_this_getItem = this.getItem(k)) === null || _this_getItem === void 0 ? void 0 : _this_getItem.type) === 'tablebody') return null;
return k;
}
getChildren(key) {
if (!this.getItem(key)) for (let row of this.headerRows){
if (row.key === key) return row.childNodes;
}
return super.getChildren(key);
}
clone() {
let collection = super.clone();
collection.headerRows = this.headerRows;
collection.columns = this.columns;
collection.rowHeaderColumnKeys = this.rowHeaderColumnKeys;
collection.head = this.head;
collection.body = this.body;
return collection;
}
getTextValue(key) {
let row = this.getItem(key);
if (!row) return '';
// If the row has a textValue, use that.
if (row.textValue) return row.textValue;
// Otherwise combine the text of each of the row header columns.
let rowHeaderColumnKeys = this.rowHeaderColumnKeys;
let text = [];
for (let cell of this.getChildren(key)){
let column = this.columns[cell.index];
if (rowHeaderColumnKeys.has(column.key) && cell.textValue) text.push(cell.textValue);
if (text.length === rowHeaderColumnKeys.size) break;
}
return text.join(' ');
}
constructor(...args){
super(...args), this.headerRows = [], this.columns = [], this.rows = [], this.rowHeaderColumnKeys = new Set(), this.head = new (0, $dbSRa$CollectionNode)('tableheader', -1), this.body = new (0, $dbSRa$CollectionNode)('tablebody', -2), this.columnsDirty = true;
}
}
const $1910c06f0ca9905e$var$ResizableTableContainerContext = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
const $1910c06f0ca9905e$export$7063e69b8a954175 = /*#__PURE__*/ (0, $dbSRa$forwardRef)(function ResizableTableContainer(props, ref) {
let containerRef = (0, $dbSRa$useObjectRef)(ref);
let tableRef = (0, $dbSRa$useRef)(null);
let scrollRef = (0, $dbSRa$useRef)(null);
let [width, setWidth] = (0, $dbSRa$useState)(0);
(0, $dbSRa$useLayoutEffect)(()=>{
// Walk up the DOM from the Table to the ResizableTableContainer and stop
// when we reach the first scrollable element. This is what we'll measure
// to determine column widths (important due to width of scrollbars).
// This will usually be the ResizableTableContainer for native tables, and
// the Table itself for virtualized tables.
let table = tableRef.current;
while(table && table !== containerRef.current && !(0, $dbSRa$isScrollable)(table))table = table.parentElement;
scrollRef.current = table;
}, [
containerRef
]);
(0, $dbSRa$useResizeObserver)({
ref: scrollRef,
box: 'border-box',
onResize () {
var _scrollRef_current;
var _scrollRef_current_clientWidth;
setWidth((_scrollRef_current_clientWidth = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.clientWidth) !== null && _scrollRef_current_clientWidth !== void 0 ? _scrollRef_current_clientWidth : 0);
}
});
(0, $dbSRa$useLayoutEffect)(()=>{
var _scrollRef_current;
var _scrollRef_current_clientWidth;
setWidth((_scrollRef_current_clientWidth = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.clientWidth) !== null && _scrollRef_current_clientWidth !== void 0 ? _scrollRef_current_clientWidth : 0);
}, []);
let ctx = (0, $dbSRa$useMemo)(()=>({
tableRef: tableRef,
scrollRef: scrollRef,
tableWidth: width,
useTableColumnResizeState: $dbSRa$useTableColumnResizeState,
onResizeStart: props.onResizeStart,
onResize: props.onResize,
onResizeEnd: props.onResizeEnd
}), [
tableRef,
width,
props.onResizeStart,
props.onResize,
props.onResizeEnd
]);
return /*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
...(0, $dbSRa$filterDOMProps)(props),
ref: containerRef,
className: props.className || 'react-aria-ResizableTableContainer',
style: props.style,
onScroll: props.onScroll
}, /*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$ResizableTableContainerContext.Provider, {
value: ctx
}, props.children));
});
const $1910c06f0ca9905e$export$93e4b0b2cc49b648 = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
const $1910c06f0ca9905e$export$38de1cb0526c21fb = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
const $1910c06f0ca9905e$export$a2680a798823803c = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
const $1910c06f0ca9905e$export$54ec01a60f47d33d = /*#__PURE__*/ (0, $dbSRa$forwardRef)(function Table(props, ref) {
var _props_dragAndDropHooks;
[props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $1910c06f0ca9905e$export$93e4b0b2cc49b648);
// Separate selection state so we have access to it from collection components via useTableOptions.
let selectionState = (0, $dbSRa$useMultipleSelectionState)(props);
let { selectionBehavior: selectionBehavior, selectionMode: selectionMode, disallowEmptySelection: disallowEmptySelection } = selectionState;
let hasDragHooks = !!((_props_dragAndDropHooks = props.dragAndDropHooks) === null || _props_dragAndDropHooks === void 0 ? void 0 : _props_dragAndDropHooks.useDraggableCollectionState);
let ctx = (0, $dbSRa$useMemo)(()=>({
selectionBehavior: selectionMode === 'none' ? null : selectionBehavior,
selectionMode: selectionMode,
disallowEmptySelection: disallowEmptySelection,
allowsDragging: hasDragHooks
}), [
selectionBehavior,
selectionMode,
disallowEmptySelection,
hasDragHooks
]);
let content = /*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$TableOptionsContext.Provider, {
value: ctx
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$Collection), props));
return /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$CollectionBuilder), {
content: content,
createCollection: ()=>new $1910c06f0ca9905e$var$TableCollection()
}, (collection)=>/*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$TableInner, {
props: props,
forwardedRef: ref,
selectionState: selectionState,
collection: collection
}));
});
function $1910c06f0ca9905e$var$TableInner({ props: props, forwardedRef: ref, selectionState: selectionState, collection: collection }) {
let tableContainerContext = (0, $dbSRa$useContext)($1910c06f0ca9905e$var$ResizableTableContainerContext);
ref = (0, $dbSRa$useObjectRef)((0, $dbSRa$useMemo)(()=>(0, $dbSRa$mergeRefs)(ref, tableContainerContext === null || tableContainerContext === void 0 ? void 0 : tableContainerContext.tableRef), [
ref,
tableContainerContext === null || tableContainerContext === void 0 ? void 0 : tableContainerContext.tableRef
]));
let state = (0, $dbSRa$useTableState)({
...props,
collection: collection,
children: undefined,
UNSAFE_selectionState: selectionState
});
let { isVirtualized: isVirtualized, layoutDelegate: layoutDelegate, dropTargetDelegate: ctxDropTargetDelegate, CollectionRoot: CollectionRoot } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { dragAndDropHooks: dragAndDropHooks } = props;
let { gridProps: gridProps } = (0, $dbSRa$useTable)({
...props,
layoutDelegate: layoutDelegate,
isVirtualized: isVirtualized
}, state, ref);
let selectionManager = state.selectionManager;
let hasDragHooks = !!(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.useDraggableCollectionState);
let hasDropHooks = !!(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.useDroppableCollectionState);
let dragHooksProvided = (0, $dbSRa$useRef)(hasDragHooks);
let dropHooksProvided = (0, $dbSRa$useRef)(hasDropHooks);
(0, $dbSRa$useEffect)(()=>{
if (process.env.NODE_ENV === 'production') return;
if (dragHooksProvided.current !== hasDragHooks) console.warn('Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');
if (dropHooksProvided.current !== hasDropHooks) console.warn('Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.');
}, [
hasDragHooks,
hasDropHooks
]);
let dragState = undefined;
let dropState = undefined;
let droppableCollection = undefined;
let isRootDropTarget = false;
let dragPreview = null;
let preview = (0, $dbSRa$useRef)(null);
if (hasDragHooks && dragAndDropHooks) {
dragState = dragAndDropHooks.useDraggableCollectionState({
collection: collection,
selectionManager: selectionManager,
preview: dragAndDropHooks.renderDragPreview ? preview : undefined
});
dragAndDropHooks.useDraggableCollection({}, dragState, ref);
let DragPreview = dragAndDropHooks.DragPreview;
dragPreview = dragAndDropHooks.renderDragPreview ? /*#__PURE__*/ (0, $dbSRa$react).createElement(DragPreview, {
ref: preview
}, dragAndDropHooks.renderDragPreview) : null;
}
if (hasDropHooks && dragAndDropHooks) {
dropState = dragAndDropHooks.useDroppableCollectionState({
collection: collection,
selectionManager: selectionManager
});
let keyboardDelegate = new (0, $dbSRa$ListKeyboardDelegate)({
collection: collection,
disabledKeys: selectionManager.disabledKeys,
disabledBehavior: selectionManager.disabledBehavior,
ref: ref,
layoutDelegate: layoutDelegate
});
let dropTargetDelegate = dragAndDropHooks.dropTargetDelegate || ctxDropTargetDelegate || new dragAndDropHooks.ListDropTargetDelegate(collection.rows, ref);
droppableCollection = dragAndDropHooks.useDroppableCollection({
keyboardDelegate: keyboardDelegate,
dropTargetDelegate: dropTargetDelegate
}, dropState, ref);
isRootDropTarget = dropState.isDropTarget({
type: 'root'
});
}
let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $dbSRa$useFocusRing)();
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
className: props.className,
style: props.style,
defaultClassName: 'react-aria-Table',
values: {
isDropTarget: isRootDropTarget,
isFocused: isFocused,
isFocusVisible: isFocusVisible,
state: state
}
});
let isListDraggable = !!(hasDragHooks && !(dragState === null || dragState === void 0 ? void 0 : dragState.isDisabled));
let style = renderProps.style;
let layoutState = null;
if (tableContainerContext) {
layoutState = tableContainerContext.useTableColumnResizeState({
tableWidth: tableContainerContext.tableWidth
}, state);
if (!isVirtualized) style = {
...style,
tableLayout: 'fixed',
width: 'fit-content'
};
}
let ElementType = $1910c06f0ca9905e$var$useElementType('table');
var _tableContainerContext_scrollRef;
return /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {
values: [
[
$1910c06f0ca9905e$export$38de1cb0526c21fb,
state
],
[
$1910c06f0ca9905e$export$a2680a798823803c,
layoutState
],
[
(0, $612b8eb6cb90e02d$export$d188a835a7bc5783),
{
dragAndDropHooks: dragAndDropHooks,
dragState: dragState,
dropState: dropState
}
],
[
(0, $612b8eb6cb90e02d$export$f55761759794cf55),
{
render: $1910c06f0ca9905e$var$TableDropIndicatorWrapper
}
]
]
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$FocusScope), null, /*#__PURE__*/ (0, $dbSRa$react).createElement(ElementType, {
...(0, $dbSRa$filterDOMProps)(props),
...renderProps,
...(0, $dbSRa$mergeProps)(gridProps, focusProps, droppableCollection === null || droppableCollection === void 0 ? void 0 : droppableCollection.collectionProps),
style: style,
ref: ref,
slot: props.slot || undefined,
onScroll: props.onScroll,
"data-allows-dragging": isListDraggable || undefined,
"data-drop-target": isRootDropTarget || undefined,
"data-focused": isFocused || undefined,
"data-focus-visible": isFocusVisible || undefined
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(CollectionRoot, {
collection: collection,
scrollRef: (_tableContainerContext_scrollRef = tableContainerContext === null || tableContainerContext === void 0 ? void 0 : tableContainerContext.scrollRef) !== null && _tableContainerContext_scrollRef !== void 0 ? _tableContainerContext_scrollRef : ref,
persistedKeys: (0, $612b8eb6cb90e02d$export$d1e8e3fbb7461f6)(selectionManager, dragAndDropHooks, dropState)
}))), dragPreview);
}
function $1910c06f0ca9905e$var$useElementType(element) {
let { isVirtualized: isVirtualized } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
return isVirtualized ? 'div' : element;
}
const $1910c06f0ca9905e$var$TableOptionsContext = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
function $1910c06f0ca9905e$export$fddc468cd8cb4db9() {
return (0, $dbSRa$useContext)($1910c06f0ca9905e$var$TableOptionsContext);
}
const $1910c06f0ca9905e$export$f850895b287ef28e = /*#__PURE__*/ (0, $dbSRa$createBranchComponent)('tableheader', (props, ref)=>{
let collection = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb).collection;
let headerRows = (0, $dbSRa$useCachedChildren)({
items: collection.headerRows,
children: (0, $dbSRa$useCallback)((item)=>{
switch(item.type){
case 'headerrow':
return /*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$TableHeaderRow, {
item: item
});
default:
throw new Error('Unsupported node type in TableHeader: ' + item.type);
}
}, [])
});
let THead = $1910c06f0ca9905e$var$useElementType('thead');
let { rowGroupProps: rowGroupProps } = (0, $dbSRa$useTableRowGroup)();
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dbSRa$useHover)({
onHoverStart: props.onHoverStart,
onHoverChange: props.onHoverChange,
onHoverEnd: props.onHoverEnd
});
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
className: props.className,
style: props.style,
defaultClassName: 'react-aria-TableHeader',
values: {
isHovered: isHovered
}
});
return /*#__PURE__*/ (0, $dbSRa$react).createElement(THead, {
...(0, $dbSRa$mergeProps)((0, $dbSRa$filterDOMProps)(props), rowGroupProps, hoverProps),
...renderProps,
ref: ref,
"data-hovered": isHovered || undefined
}, headerRows);
}, (props)=>/*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$Collection), {
dependencies: props.dependencies,
items: props.columns
}, props.children));
function $1910c06f0ca9905e$var$TableHeaderRow({ item: item }) {
let ref = (0, $dbSRa$useRef)(null);
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { isVirtualized: isVirtualized, CollectionBranch: CollectionBranch } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { rowProps: rowProps } = (0, $dbSRa$useTableHeaderRow)({
node: item,
isVirtualized: isVirtualized
}, state, ref);
let { checkboxProps: checkboxProps } = (0, $dbSRa$useTableSelectAllCheckbox)(state);
let TR = $1910c06f0ca9905e$var$useElementType('tr');
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
...rowProps,
ref: ref
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {
values: [
[
(0, $4e85f108e88277b8$export$b085522c77523c51),
{
slots: {
selection: checkboxProps
}
}
]
]
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(CollectionBranch, {
collection: state.collection,
parent: item
})));
}
const $1910c06f0ca9905e$export$816b5d811295e6bc = /*#__PURE__*/ (0, $dbSRa$createLeafComponent)('column', (props, forwardedRef, column)=>{
var _state_sortDescriptor, _state_sortDescriptor1;
let ref = (0, $dbSRa$useObjectRef)(forwardedRef);
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { isVirtualized: isVirtualized } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { columnHeaderProps: columnHeaderProps } = (0, $dbSRa$useTableColumnHeader)({
node: column,
isVirtualized: isVirtualized
}, state, ref);
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $dbSRa$useFocusRing)();
let layoutState = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$a2680a798823803c);
let isResizing = false;
if (layoutState) isResizing = layoutState.resizingColumn === column.key;
else if (process.env.NODE_ENV !== 'production') {
for(let prop in [
'width',
'defaultWidth',
'minWidth',
'maxWidth'
])if (prop in column.props) console.warn(`The ${prop} prop on a <Column> only applies when a <Table> is wrapped in a <ResizableTableContainer>. If you aren't using column resizing, you can set the width of a column with CSS.`);
}
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dbSRa$useHover)({
isDisabled: !props.allowsSorting
});
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...props,
id: undefined,
children: column.rendered,
defaultClassName: 'react-aria-Column',
values: {
isHovered: isHovered,
isFocused: isFocused,
isFocusVisible: isFocusVisible,
allowsSorting: column.props.allowsSorting,
sortDirection: ((_state_sortDescriptor = state.sortDescriptor) === null || _state_sortDescriptor === void 0 ? void 0 : _state_sortDescriptor.column) === column.key ? state.sortDescriptor.direction : undefined,
isResizing: isResizing,
startResize: ()=>{
if (layoutState) {
layoutState.startResize(column.key);
state.setKeyboardNavigationDisabled(true);
} else throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');
},
sort: (direction)=>{
state.sort(column.key, direction);
}
}
});
let style = renderProps.style;
if (layoutState) style = {
...style,
width: layoutState.getColumnWidth(column.key)
};
let TH = $1910c06f0ca9905e$var$useElementType('th');
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TH, {
...(0, $dbSRa$mergeProps)((0, $dbSRa$filterDOMProps)(props), columnHeaderProps, focusProps, hoverProps),
...renderProps,
style: style,
ref: ref,
"data-hovered": isHovered || undefined,
"data-focused": isFocused || undefined,
"data-focus-visible": isFocusVisible || undefined,
"data-resizing": isResizing || undefined,
"data-allows-sorting": column.props.allowsSorting || undefined,
"data-sort-direction": ((_state_sortDescriptor1 = state.sortDescriptor) === null || _state_sortDescriptor1 === void 0 ? void 0 : _state_sortDescriptor1.column) === column.key ? state.sortDescriptor.direction : undefined
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {
values: [
[
$1910c06f0ca9905e$var$ColumnResizerContext,
{
column: column,
triggerRef: ref
}
],
[
(0, $7135fc7d473fd974$export$4feb769f8ddf26c5),
(0, $7135fc7d473fd974$export$a164736487e3f0ae)
]
]
}, renderProps.children));
});
const $1910c06f0ca9905e$var$ColumnResizerContext = /*#__PURE__*/ (0, $dbSRa$createContext)(null);
const $1910c06f0ca9905e$export$ee689e97a7664bfd = /*#__PURE__*/ (0, $dbSRa$forwardRef)(function ColumnResizer(props, ref) {
let layoutState = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$a2680a798823803c);
if (!layoutState) throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');
let stringFormatter = (0, $dbSRa$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dbSRa$intlStringsmodulejs))), 'react-aria-components');
let { onResizeStart: onResizeStart, onResize: onResize, onResizeEnd: onResizeEnd } = (0, $dbSRa$useContext)($1910c06f0ca9905e$var$ResizableTableContainerContext);
let { column: column, triggerRef: triggerRef } = (0, $dbSRa$useContext)($1910c06f0ca9905e$var$ColumnResizerContext);
let inputRef = (0, $dbSRa$useRef)(null);
let { resizerProps: resizerProps, inputProps: inputProps, isResizing: isResizing } = (0, $dbSRa$useTableColumnResize)({
column: column,
'aria-label': props['aria-label'] || stringFormatter.format('tableResizer'),
onResizeStart: onResizeStart,
onResize: onResize,
onResizeEnd: onResizeEnd,
triggerRef: triggerRef
}, layoutState, inputRef);
let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $dbSRa$useFocusRing)();
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dbSRa$useHover)(props);
let isEResizable = layoutState.getColumnMinWidth(column.key) >= layoutState.getColumnWidth(column.key);
let isWResizable = layoutState.getColumnMaxWidth(column.key) <= layoutState.getColumnWidth(column.key);
let { direction: direction } = (0, $dbSRa$useLocale)();
let resizableDirection = 'both';
if (isEResizable) resizableDirection = direction === 'rtl' ? 'right' : 'left';
else if (isWResizable) resizableDirection = direction === 'rtl' ? 'left' : 'right';
else resizableDirection = 'both';
let objectRef = (0, $dbSRa$useObjectRef)(ref);
let [cursor, setCursor] = (0, $dbSRa$useState)('');
(0, $dbSRa$useEffect)(()=>{
if (!objectRef.current) return;
let style = window.getComputedStyle(objectRef.current);
setCursor(style.cursor);
}, [
objectRef,
resizableDirection
]);
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...props,
defaultClassName: 'react-aria-ColumnResizer',
values: {
isFocused: isFocused,
isFocusVisible: isFocusVisible,
isResizing: isResizing,
isHovered: isHovered,
resizableDirection: resizableDirection
}
});
let [isMouseDown, setMouseDown] = (0, $dbSRa$useState)(false);
let onPointerDown = (e)=>{
if (e.pointerType === 'mouse') setMouseDown(true);
};
if (!isResizing && isMouseDown) setMouseDown(false);
return /*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
ref: objectRef,
role: "presentation",
...(0, $dbSRa$filterDOMProps)(props),
...renderProps,
...(0, $dbSRa$mergeProps)(resizerProps, {
onPointerDown: onPointerDown
}, hoverProps),
"data-hovered": isHovered || undefined,
"data-focused": isFocused || undefined,
"data-focus-visible": isFocusVisible || undefined,
"data-resizing": isResizing || undefined,
"data-resizable-direction": resizableDirection
}, renderProps.children, /*#__PURE__*/ (0, $dbSRa$react).createElement("input", {
ref: inputRef,
...(0, $dbSRa$mergeProps)(inputProps, focusProps)
}), isResizing && isMouseDown && /*#__PURE__*/ (0, $dbSRa$reactdom).createPortal(/*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
style: {
position: 'fixed',
top: 0,
left: 0,
bottom: 0,
right: 0,
cursor: cursor
}
}), document.body));
});
const $1910c06f0ca9905e$export$76ccd210b9029917 = /*#__PURE__*/ (0, $dbSRa$createBranchComponent)('tablebody', (props, ref)=>{
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { isVirtualized: isVirtualized } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let collection = state.collection;
let { CollectionBranch: CollectionBranch } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (0, $dbSRa$useContext)((0, $612b8eb6cb90e02d$export$d188a835a7bc5783));
let isDroppable = !!(dragAndDropHooks === null || dragAndDropHooks === void 0 ? void 0 : dragAndDropHooks.useDroppableCollectionState) && !(dropState === null || dropState === void 0 ? void 0 : dropState.isDisabled);
var _dropState_isDropTarget;
let isRootDropTarget = isDroppable && !!dropState && ((_dropState_isDropTarget = dropState.isDropTarget({
type: 'root'
})) !== null && _dropState_isDropTarget !== void 0 ? _dropState_isDropTarget : false);
let isEmpty = collection.size === 0 || collection.rows.length === 1 && collection.rows[0].type === 'loader';
let renderValues = {
isDropTarget: isRootDropTarget,
isEmpty: isEmpty
};
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...props,
id: undefined,
children: undefined,
defaultClassName: 'react-aria-TableBody',
values: renderValues
});
let emptyState;
let TR = $1910c06f0ca9905e$var$useElementType('tr');
let TD = $1910c06f0ca9905e$var$useElementType('td');
let numColumns = collection.columnCount;
if (isEmpty && props.renderEmptyState && state) {
let rowProps = {};
let rowHeaderProps = {};
let style = {};
if (isVirtualized) {
rowProps['aria-rowindex'] = collection.headerRows.length + 1;
rowHeaderProps['aria-colspan'] = numColumns;
style = {
display: 'contents'
};
} else rowHeaderProps['colSpan'] = numColumns;
emptyState = /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
role: "row",
...rowProps,
style: style
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
role: "rowheader",
...rowHeaderProps,
style: style
}, props.renderEmptyState(renderValues)));
}
let { rowGroupProps: rowGroupProps } = (0, $dbSRa$useTableRowGroup)();
let TBody = $1910c06f0ca9905e$var$useElementType('tbody');
// TODO: TableBody doesn't support being the scrollable body of the table yet, to revisit if needed. Would need to
// call useLoadMore here and walk up the DOM to the nearest scrollable element to set scrollRef
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TBody, {
...(0, $dbSRa$mergeProps)((0, $dbSRa$filterDOMProps)(props), rowGroupProps),
...renderProps,
ref: ref,
"data-empty": isEmpty || undefined
}, isDroppable && /*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$RootDropIndicator, null), /*#__PURE__*/ (0, $dbSRa$react).createElement(CollectionBranch, {
collection: collection,
parent: collection.body,
renderDropIndicator: (0, $612b8eb6cb90e02d$export$971707d8a129a1f7)(dragAndDropHooks, dropState)
}), emptyState);
});
const $1910c06f0ca9905e$export$b59bdbef9ce70de2 = /*#__PURE__*/ (0, $dbSRa$createBranchComponent)('item', (props, forwardedRef, item)=>{
let ref = (0, $dbSRa$useObjectRef)(forwardedRef);
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { dragAndDropHooks: dragAndDropHooks, dragState: dragState, dropState: dropState } = (0, $dbSRa$useContext)((0, $612b8eb6cb90e02d$export$d188a835a7bc5783));
let { isVirtualized: isVirtualized, CollectionBranch: CollectionBranch } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { rowProps: rowProps, ...states } = (0, $dbSRa$useTableRow)({
node: item,
shouldSelectOnPressUp: !!dragState,
isVirtualized: isVirtualized
}, state, ref);
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $dbSRa$useFocusRing)();
let { isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps } = (0, $dbSRa$useFocusRing)({
within: true
});
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dbSRa$useHover)({
isDisabled: !states.allowsSelection && !states.hasAction,
onHoverStart: props.onHoverStart,
onHoverChange: props.onHoverChange,
onHoverEnd: props.onHoverEnd
});
let { checkboxProps: checkboxProps } = (0, $dbSRa$useTableSelectionCheckbox)({
key: item.key
}, state);
let draggableItem = undefined;
if (dragState && dragAndDropHooks) draggableItem = dragAndDropHooks.useDraggableItem({
key: item.key,
hasDragButton: true
}, dragState);
let dropIndicator = undefined;
let dropIndicatorRef = (0, $dbSRa$useRef)(null);
let { visuallyHiddenProps: visuallyHiddenProps } = (0, $dbSRa$useVisuallyHidden)();
if (dropState && dragAndDropHooks) dropIndicator = dragAndDropHooks.useDropIndicator({
target: {
type: 'item',
key: item.key,
dropPosition: 'on'
}
}, dropState, dropIndicatorRef);
let dragButtonRef = (0, $dbSRa$useRef)(null);
(0, $dbSRa$useEffect)(()=>{
if (dragState && !dragButtonRef.current && process.env.NODE_ENV !== 'production') console.warn('Draggable items in a Table must contain a <Button slot="drag"> element so that keyboard and screen reader users can drag them.');
// eslint-disable-next-line
}, []);
let isDragging = dragState && dragState.isDragging(item.key);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
let { children: _, ...restProps } = props;
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...restProps,
id: undefined,
defaultClassName: 'react-aria-Row',
values: {
...states,
isHovered: isHovered,
isFocused: isFocused,
isFocusVisible: isFocusVisible,
selectionMode: state.selectionManager.selectionMode,
selectionBehavior: state.selectionManager.selectionBehavior,
isDragging: isDragging,
isDropTarget: dropIndicator === null || dropIndicator === void 0 ? void 0 : dropIndicator.isDropTarget,
isFocusVisibleWithin: isFocusVisibleWithin,
id: item.key
}
});
let TR = $1910c06f0ca9905e$var$useElementType('tr');
let TD = $1910c06f0ca9905e$var$useElementType('td');
return /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$react).Fragment, null, dropIndicator && !dropIndicator.isHidden && /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
role: "row",
style: {
height: 0
}
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
role: "gridcell",
colSpan: state.collection.columnCount,
style: {
padding: 0
}
}, /*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
role: "button",
...visuallyHiddenProps,
...dropIndicator.dropIndicatorProps,
ref: dropIndicatorRef
}))), /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
...(0, $dbSRa$mergeProps)((0, $dbSRa$filterDOMProps)(props), rowProps, focusProps, hoverProps, draggableItem === null || draggableItem === void 0 ? void 0 : draggableItem.dragProps, focusWithinProps),
...renderProps,
ref: ref,
"data-disabled": states.isDisabled || undefined,
"data-selected": states.isSelected || undefined,
"data-hovered": isHovered || undefined,
"data-focused": states.isFocused || undefined,
"data-focus-visible": isFocusVisible || undefined,
"data-pressed": states.isPressed || undefined,
"data-dragging": isDragging || undefined,
"data-drop-target": (dropIndicator === null || dropIndicator === void 0 ? void 0 : dropIndicator.isDropTarget) || undefined,
"data-selection-mode": state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode,
"data-focus-visible-within": isFocusVisibleWithin || undefined
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {
values: [
[
(0, $4e85f108e88277b8$export$b085522c77523c51),
{
slots: {
[(0, $64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
selection: checkboxProps
}
}
],
[
(0, $d2b4bc8c273e7be6$export$24d547caef80ccd1),
{
slots: {
[(0, $64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
drag: {
...draggableItem === null || draggableItem === void 0 ? void 0 : draggableItem.dragButtonProps,
ref: dragButtonRef,
style: {
pointerEvents: 'none'
}
}
}
}
]
]
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(CollectionBranch, {
collection: state.collection,
parent: item
}))));
}, (props)=>{
if (props.id == null && typeof props.children === 'function') throw new Error('No id detected for the Row element. The Row element requires a id to be provided to it when the cells are rendered dynamically.');
let dependencies = [
props.value
].concat(props.dependencies);
return /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$Collection), {
dependencies: dependencies,
items: props.columns,
idScope: props.id
}, props.children);
});
const $1910c06f0ca9905e$export$f6f0c3fe4ec306ea = /*#__PURE__*/ (0, $dbSRa$createLeafComponent)('cell', (props, forwardedRef, cell)=>{
let ref = (0, $dbSRa$useObjectRef)(forwardedRef);
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { dragState: dragState } = (0, $dbSRa$useContext)((0, $612b8eb6cb90e02d$export$d188a835a7bc5783));
let { isVirtualized: isVirtualized } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
cell.column = state.collection.columns[cell.index];
let { gridCellProps: gridCellProps, isPressed: isPressed } = (0, $dbSRa$useTableCell)({
node: cell,
shouldSelectOnPressUp: !!dragState,
isVirtualized: isVirtualized
}, state, ref);
let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $dbSRa$useFocusRing)();
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $dbSRa$useHover)({});
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...props,
id: undefined,
defaultClassName: 'react-aria-Cell',
values: {
isFocused: isFocused,
isFocusVisible: isFocusVisible,
isPressed: isPressed,
isHovered: isHovered,
id: cell.key
}
});
let TD = $1910c06f0ca9905e$var$useElementType('td');
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
...(0, $dbSRa$mergeProps)((0, $dbSRa$filterDOMProps)(props), gridCellProps, focusProps, hoverProps),
...renderProps,
ref: ref,
"data-focused": isFocused || undefined,
"data-focus-visible": isFocusVisible || undefined,
"data-pressed": isPressed || undefined
}, /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $7135fc7d473fd974$export$4feb769f8ddf26c5).Provider, {
value: (0, $7135fc7d473fd974$export$a164736487e3f0ae)
}, renderProps.children));
});
function $1910c06f0ca9905e$var$TableDropIndicatorWrapper(props, ref) {
ref = (0, $dbSRa$useObjectRef)(ref);
let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (0, $dbSRa$useContext)((0, $612b8eb6cb90e02d$export$d188a835a7bc5783));
let buttonRef = (0, $dbSRa$useRef)(null);
let { dropIndicatorProps: dropIndicatorProps, isHidden: isHidden, isDropTarget: isDropTarget } = dragAndDropHooks.useDropIndicator(props, dropState, buttonRef);
if (isHidden) return null;
return /*#__PURE__*/ (0, $dbSRa$react).createElement($1910c06f0ca9905e$var$TableDropIndicatorForwardRef, {
...props,
dropIndicatorProps: dropIndicatorProps,
isDropTarget: isDropTarget,
buttonRef: buttonRef,
ref: ref
});
}
function $1910c06f0ca9905e$var$TableDropIndicator(props, ref) {
let { dropIndicatorProps: dropIndicatorProps, isDropTarget: isDropTarget, buttonRef: buttonRef, ...otherProps } = props;
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { visuallyHiddenProps: visuallyHiddenProps } = (0, $dbSRa$useVisuallyHidden)();
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...otherProps,
defaultClassName: 'react-aria-DropIndicator',
values: {
isDropTarget: isDropTarget
}
});
let TR = $1910c06f0ca9905e$var$useElementType('tr');
let TD = $1910c06f0ca9905e$var$useElementType('td');
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
...(0, $dbSRa$filterDOMProps)(props),
...renderProps,
role: "row",
ref: ref,
"data-drop-target": isDropTarget || undefined
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
role: "gridcell",
colSpan: state.collection.columnCount,
style: {
padding: 0
}
}, /*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
...visuallyHiddenProps,
role: "button",
...dropIndicatorProps,
ref: buttonRef
}), renderProps.children));
}
const $1910c06f0ca9905e$var$TableDropIndicatorForwardRef = /*#__PURE__*/ (0, $dbSRa$forwardRef)($1910c06f0ca9905e$var$TableDropIndicator);
function $1910c06f0ca9905e$var$RootDropIndicator() {
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (0, $dbSRa$useContext)((0, $612b8eb6cb90e02d$export$d188a835a7bc5783));
let ref = (0, $dbSRa$useRef)(null);
let { dropIndicatorProps: dropIndicatorProps } = dragAndDropHooks.useDropIndicator({
target: {
type: 'root'
}
}, dropState, ref);
let isDropTarget = dropState.isDropTarget({
type: 'root'
});
let { visuallyHiddenProps: visuallyHiddenProps } = (0, $dbSRa$useVisuallyHidden)();
let TR = $1910c06f0ca9905e$var$useElementType('tr');
let TD = $1910c06f0ca9905e$var$useElementType('td');
if (!isDropTarget && dropIndicatorProps['aria-hidden']) return null;
return /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
role: "row",
"aria-hidden": dropIndicatorProps['aria-hidden'],
style: {
height: 0
}
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
role: "gridcell",
colSpan: state.collection.columnCount,
style: {
padding: 0
}
}, /*#__PURE__*/ (0, $dbSRa$react).createElement("div", {
role: "button",
...visuallyHiddenProps,
...dropIndicatorProps,
ref: ref
})));
}
const $1910c06f0ca9905e$export$92aad1076056e17a = (0, $dbSRa$createLeafComponent)('loader', function TableLoadingIndicator(props, ref, item) {
let state = (0, $dbSRa$useContext)($1910c06f0ca9905e$export$38de1cb0526c21fb);
let { isVirtualized: isVirtualized } = (0, $dbSRa$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));
let { isLoading: isLoading, onLoadMore: onLoadMore, scrollOffset: scrollOffset, ...otherProps } = props;
let numColumns = state.collection.columns.length;
let sentinelRef = (0, $dbSRa$useRef)(null);
let memoedLoadMoreProps = (0, $dbSRa$useMemo)(()=>({
onLoadMore: onLoadMore,
collection: state === null || state === void 0 ? void 0 : state.collection,
sentinelRef: sentinelRef,
scrollOffset: scrollOffset
}), [
onLoadMore,
scrollOffset,
state === null || state === void 0 ? void 0 : state.collection
]);
(0, $dbSRa$UNSTABLE_useLoadMoreSentinel)(memoedLoadMoreProps, sentinelRef);
let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({
...otherProps,
id: undefined,
children: item.rendered,
defaultClassName: 'react-aria-TableLoadingIndicator',
values: null
});
let TR = $1910c06f0ca9905e$var$useElementType('tr');
let TD = $1910c06f0ca9905e$var$useElementType('td');
let rowProps = {};
let rowHeaderProps = {};
let style = {};
if (isVirtualized) {
rowProps['aria-rowindex'] = item.index + 1 + state.collection.headerRows.length;
rowHeaderProps['aria-colspan'] = numColumns;
style = {
display: 'contents'
};
} else rowHeaderProps['colSpan'] = numColumns;
return /*#__PURE__*/ (0, $dbSRa$react).createElement((0, $dbSRa$react).Fragment, null, /*#__PURE__*/ (0, $dbSRa$react).createElement(TR, {
style: {
height: 0
},
inert: (0, $dbSRa$inertValue)(true)
}, /*#__PURE__*/ (0, $dbSRa$react).createElement(TD, {
style: {
padding: 0,
border: 0
}
}, /*#__PURE_