@react-spectrum/table 3.12.9-nightly.4555 → 3.12.9-nightly.4558

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.
Files changed (107) hide show
  1. package/dist/DragPreview.main.js +54 -0
  2. package/dist/DragPreview.main.js.map +1 -0
  3. package/dist/DragPreview.mjs +49 -0
  4. package/dist/DragPreview.module.js +49 -0
  5. package/dist/DragPreview.module.js.map +1 -0
  6. package/dist/InsertionIndicator.main.js +63 -0
  7. package/dist/InsertionIndicator.main.js.map +1 -0
  8. package/dist/InsertionIndicator.mjs +58 -0
  9. package/dist/InsertionIndicator.module.js +58 -0
  10. package/dist/InsertionIndicator.module.js.map +1 -0
  11. package/dist/Nubbin.main.js +62 -0
  12. package/dist/Nubbin.main.js.map +1 -0
  13. package/dist/Nubbin.mjs +53 -0
  14. package/dist/Nubbin.module.js +53 -0
  15. package/dist/Nubbin.module.js.map +1 -0
  16. package/dist/Resizer.main.js +143 -0
  17. package/dist/Resizer.main.js.map +1 -0
  18. package/dist/Resizer.mjs +138 -0
  19. package/dist/Resizer.module.js +138 -0
  20. package/dist/Resizer.module.js.map +1 -0
  21. package/dist/RootDropIndicator.main.js +57 -0
  22. package/dist/RootDropIndicator.main.js.map +1 -0
  23. package/dist/RootDropIndicator.mjs +48 -0
  24. package/dist/RootDropIndicator.module.js +48 -0
  25. package/dist/RootDropIndicator.module.js.map +1 -0
  26. package/dist/TableView.main.js +50 -0
  27. package/dist/TableView.main.js.map +1 -0
  28. package/dist/TableView.mjs +41 -0
  29. package/dist/TableView.module.js +41 -0
  30. package/dist/TableView.module.js.map +1 -0
  31. package/dist/TableViewBase.main.js +1193 -0
  32. package/dist/TableViewBase.main.js.map +1 -0
  33. package/dist/TableViewBase.mjs +1186 -0
  34. package/dist/TableViewBase.module.js +1186 -0
  35. package/dist/TableViewBase.module.js.map +1 -0
  36. package/dist/TableViewWrapper.main.js +46 -0
  37. package/dist/TableViewWrapper.main.js.map +1 -0
  38. package/dist/TableViewWrapper.mjs +37 -0
  39. package/dist/TableViewWrapper.module.js +37 -0
  40. package/dist/TableViewWrapper.module.js.map +1 -0
  41. package/dist/TreeGridTableView.main.js +50 -0
  42. package/dist/TreeGridTableView.main.js.map +1 -0
  43. package/dist/TreeGridTableView.mjs +41 -0
  44. package/dist/TreeGridTableView.module.js +41 -0
  45. package/dist/TreeGridTableView.module.js.map +1 -0
  46. package/dist/ar-AE.mjs +1 -1
  47. package/dist/bg-BG.mjs +1 -1
  48. package/dist/cs-CZ.mjs +1 -1
  49. package/dist/da-DK.mjs +1 -1
  50. package/dist/de-DE.mjs +1 -1
  51. package/dist/el-GR.mjs +1 -1
  52. package/dist/en-US.mjs +1 -1
  53. package/dist/es-ES.mjs +1 -1
  54. package/dist/et-EE.mjs +1 -1
  55. package/dist/fi-FI.mjs +1 -1
  56. package/dist/fr-FR.mjs +1 -1
  57. package/dist/he-IL.mjs +1 -1
  58. package/dist/hr-HR.mjs +1 -1
  59. package/dist/hu-HU.mjs +1 -1
  60. package/dist/import.mjs +2 -1930
  61. package/dist/intlStrings.main.js +108 -0
  62. package/dist/intlStrings.main.js.map +1 -0
  63. package/dist/intlStrings.mjs +110 -0
  64. package/dist/intlStrings.module.js +110 -0
  65. package/dist/intlStrings.module.js.map +1 -0
  66. package/dist/it-IT.mjs +1 -1
  67. package/dist/ja-JP.mjs +1 -1
  68. package/dist/ko-KR.mjs +1 -1
  69. package/dist/lt-LT.mjs +1 -1
  70. package/dist/lv-LV.mjs +1 -1
  71. package/dist/main.js +2 -1926
  72. package/dist/main.js.map +1 -1
  73. package/dist/module.js +2 -1930
  74. package/dist/module.js.map +1 -1
  75. package/dist/nb-NO.mjs +1 -1
  76. package/dist/nl-NL.mjs +1 -1
  77. package/dist/pl-PL.mjs +1 -1
  78. package/dist/pt-BR.mjs +1 -1
  79. package/dist/pt-PT.mjs +1 -1
  80. package/dist/ro-RO.mjs +1 -1
  81. package/dist/ru-RU.mjs +1 -1
  82. package/dist/sk-SK.mjs +1 -1
  83. package/dist/sl-SI.mjs +1 -1
  84. package/dist/sr-SP.mjs +1 -1
  85. package/dist/sv-SE.mjs +1 -1
  86. package/dist/table.b13eee90.css +220 -0
  87. package/dist/table.b13eee90.css.map +1 -0
  88. package/dist/table_css.main.js +74 -0
  89. package/dist/table_css.main.js.map +1 -0
  90. package/dist/table_css.mjs +76 -0
  91. package/dist/table_css.module.js +76 -0
  92. package/dist/table_css.module.js.map +1 -0
  93. package/dist/table_vars_css.main.js +197 -0
  94. package/dist/table_vars_css.main.js.map +1 -0
  95. package/dist/table_vars_css.mjs +199 -0
  96. package/dist/table_vars_css.module.js +199 -0
  97. package/dist/table_vars_css.module.js.map +1 -0
  98. package/dist/tr-TR.mjs +1 -1
  99. package/dist/uk-UA.mjs +1 -1
  100. package/dist/{main.css → vars.42570ef3.css} +1 -221
  101. package/dist/vars.42570ef3.css.map +1 -0
  102. package/dist/zh-CN.mjs +1 -1
  103. package/dist/zh-TW.mjs +1 -1
  104. package/package.json +28 -28
  105. package/dist/main.css.map +0 -1
  106. package/dist/module.css +0 -1208
  107. package/dist/module.css.map +0 -1
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/table/src/index.ts","packages/@react-spectrum/table/src/TableViewWrapper.tsx","packages/@react-spectrum/table/src/TableView.tsx","packages/@react-spectrum/table/src/TableViewBase.tsx","packages/@react-spectrum/table/src/InsertionIndicator.tsx","packages/@react-spectrum/table/src/table.css","packages/@react-spectrum/table/src/*.js","packages/@react-spectrum/table/src/Nubbin.tsx","packages/@react-spectrum/table/src/Resizer.tsx","node_modules/@parcel/runtime-js/lib/bundles/runtime-041bd783ad0660b4.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-8e8d37d2cf10eebe.js","packages/@adobe/spectrum-css-temp/components/table/vars.css","node_modules/@parcel/runtime-js/lib/bundles/runtime-cba9561fd7f119d5.js","packages/@react-spectrum/table/src/RootDropIndicator.tsx","packages/@react-spectrum/table/src/DragPreview.tsx","packages/@react-spectrum/table/src/TreeGridTableView.tsx"],"sourcesContent":["/*\n * Copyright 2020 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/// <reference types=\"css-module-types\" />\n\nexport {TableView} from './TableViewWrapper';\nimport {Column} from '@react-stately/table';\nimport {JSX} from 'react';\nimport {SpectrumColumnProps} from '@react-types/table';\n\n// Override TS for Column to support spectrum specific props.\nconst SpectrumColumn = Column as <T>(props: SpectrumColumnProps<T>) => JSX.Element;\nexport {SpectrumColumn as Column};\n\nexport {\n TableHeader,\n TableBody,\n Section,\n Row,\n Cell\n} from '@react-stately/table';\n\nexport type {SpectrumColumnProps, TableHeaderProps, TableBodyProps, RowProps, CellProps} from '@react-types/table';\nexport type {SpectrumTableProps} from './TableViewWrapper';\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type {AriaLabelingProps, DOMProps, DOMRef, Key, SpectrumSelectionProps, StyleProps} from '@react-types/shared';\nimport type {ColumnSize, TableProps} from '@react-types/table';\nimport type {DragAndDropHooks} from '@react-spectrum/dnd';\nimport React, {JSX, ReactElement} from 'react';\nimport {tableNestedRows} from '@react-stately/flags';\nimport {TableView} from './TableView';\nimport {TreeGridTableView} from './TreeGridTableView';\n\nexport interface SpectrumTableProps<T> extends TableProps<T>, SpectrumSelectionProps, DOMProps, AriaLabelingProps, StyleProps {\n /**\n * Sets the amount of vertical padding within each cell.\n * @default 'regular'\n */\n density?: 'compact' | 'regular' | 'spacious',\n /**\n * Sets the overflow behavior for the cell contents.\n * @default 'truncate'\n */\n overflowMode?: 'wrap' | 'truncate',\n /** Whether the TableView should be displayed with a quiet style. */\n isQuiet?: boolean,\n /** Sets what the TableView should render when there is no content to display. */\n renderEmptyState?: () => JSX.Element,\n /** Handler that is called when a user performs an action on a row. */\n onAction?: (key: Key) => void,\n /**\n * Handler that is called when a user starts a column resize.\n */\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called when a user performs a column resize.\n * Can be used with the width property on columns to put the column widths into\n * a controlled state.\n */\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * Handler that is called after a user performs a column resize.\n * Can be used to store the widths of columns for another future session.\n */\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void,\n /**\n * The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the TableView.\n * @version beta\n */\n dragAndDropHooks?: DragAndDropHooks['dragAndDropHooks'],\n /**\n * Whether the TableView should support expandable rows. Requires the feature flag to be enabled first, see https://react-spectrum.adobe.com/react-spectrum/TableView.html#expandable-rows.\n * @version alpha\n * @private\n */\n UNSTABLE_allowsExpandableRows?: boolean,\n /**\n * The currently expanded keys in the collection (controlled). Requires the feature flag to be\n * enabled along with UNSTABLE_allowsExpandableRows, see https://react-spectrum.adobe.com/react-spectrum/TableView.html#expandable-rows.\n * @version alpha\n * @private\n */\n UNSTABLE_expandedKeys?: 'all' | Iterable<Key>,\n /**\n * The initial expanded keys in the collection (uncontrolled). Requires the feature flag to be\n * enabled along with UNSTABLE_allowsExpandableRows, see https://react-spectrum.adobe.com/react-spectrum/TableView.html#expandable-rows.\n * @version alpha\n * @private\n */\n UNSTABLE_defaultExpandedKeys?: 'all' | Iterable<Key>,\n /**\n * Handler that is called when items are expanded or collapsed. Requires the feature flag to be\n * enabled along with UNSTABLE_allowsExpandableRows, see https://react-spectrum.adobe.com/react-spectrum/TableView.html#expandable-rows.\n * @version alpha\n * @private\n */\n UNSTABLE_onExpandedChange?: (keys: Set<Key>) => any\n}\n\nfunction TableViewWrapper<T extends object>(props: SpectrumTableProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {UNSTABLE_allowsExpandableRows, ...otherProps} = props;\n if (tableNestedRows() && UNSTABLE_allowsExpandableRows) {\n return <TreeGridTableView {...otherProps} ref={ref} />;\n } else {\n return <TableView {...otherProps} ref={ref} />;\n }\n}\n\n/**\n * Tables are containers for displaying information. They allow users to quickly scan, sort, compare, and take action on large amounts of data.\n */\nconst _TableViewWrapper = React.forwardRef(TableViewWrapper) as <T>(props: SpectrumTableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n\nexport {_TableViewWrapper as TableView};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMRef} from '@react-types/shared';\nimport React, {ReactElement, useState} from 'react';\nimport {SpectrumTableProps} from './TableViewWrapper';\nimport {TableViewBase} from './TableViewBase';\nimport {useTableState} from '@react-stately/table';\n\ninterface TableProps<T> extends Omit<SpectrumTableProps<T>, 'UNSTABLE_allowsExpandableRows'> {}\n\nfunction TableView<T extends object>(props: TableProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n selectionStyle,\n dragAndDropHooks\n } = props;\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(selectionStyle !== 'highlight');\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let state = useTableState({\n ...props,\n showSelectionCheckboxes,\n showDragButtons: isTableDraggable,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n\n // If the selection behavior changes in state, we need to update showSelectionCheckboxes here due to the circular dependency...\n let shouldShowCheckboxes = state.selectionManager.selectionBehavior !== 'replace';\n if (shouldShowCheckboxes !== showSelectionCheckboxes) {\n setShowSelectionCheckboxes(shouldShowCheckboxes);\n }\n\n return (\n <TableViewBase {...props} state={state} ref={ref} />\n );\n}\n\nconst _TableView = React.forwardRef(TableView) as <T>(props: TableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_TableView as TableView};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport ArrowDownSmall from '@spectrum-icons/ui/ArrowDownSmall';\nimport {chain, isAndroid, mergeProps, scrollIntoView, scrollIntoViewport} from '@react-aria/utils';\nimport {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport ChevronLeftMedium from '@spectrum-icons/ui/ChevronLeftMedium';\nimport ChevronRightMedium from '@spectrum-icons/ui/ChevronRightMedium';\nimport {\n classNames,\n useDOMRef,\n useFocusableRef,\n useStyleProps,\n useUnwrapDOMRef\n} from '@react-spectrum/utils';\nimport {ColumnSize, SpectrumColumnProps} from '@react-types/table';\nimport {DOMRef, DropTarget, FocusableElement, FocusableRef, Key} from '@react-types/shared';\nimport type {DragAndDropHooks} from '@react-spectrum/dnd';\nimport type {DraggableCollectionState, DroppableCollectionState} from '@react-stately/dnd';\nimport type {DraggableItemResult, DropIndicatorAria, DroppableCollectionResult, DroppableItemResult} from '@react-aria/dnd';\nimport {FocusRing, FocusScope, useFocusRing} from '@react-aria/focus';\nimport {getInteractionModality, isFocusVisible, useHover, usePress} from '@react-aria/interactions';\nimport {GridNode} from '@react-types/grid';\nimport {InsertionIndicator} from './InsertionIndicator';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Item, Menu, MenuTrigger} from '@react-spectrum/menu';\nimport {layoutInfoToStyle, ScrollView, setScrollLeft, useVirtualizer, VirtualizerItem} from '@react-aria/virtualizer';\nimport ListGripper from '@spectrum-icons/ui/ListGripper';\nimport {Nubbin} from './Nubbin';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {DOMAttributes, HTMLAttributes, ReactElement, ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {Resizer} from './Resizer';\nimport {ReusableView, useVirtualizerState} from '@react-stately/virtualizer';\nimport {RootDropIndicator} from './RootDropIndicator';\nimport {DragPreview as SpectrumDragPreview} from './DragPreview';\nimport {SpectrumTableProps} from './TableViewWrapper';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\nimport {TableColumnLayout, TableState, TreeGridState} from '@react-stately/table';\nimport {TableLayout} from '@react-stately/layout';\nimport {Tooltip, TooltipTrigger} from '@react-spectrum/tooltip';\nimport {useButton} from '@react-aria/button';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\nimport {\n useTable,\n useTableCell,\n useTableColumnHeader,\n useTableHeaderRow,\n useTableRow,\n useTableRowGroup,\n useTableSelectAllCheckbox,\n useTableSelectionCheckbox\n} from '@react-aria/table';\nimport {useVisuallyHidden, VisuallyHidden} from '@react-aria/visually-hidden';\n\nconst DEFAULT_HEADER_HEIGHT = {\n medium: 34,\n large: 40\n};\n\nconst DEFAULT_HIDE_HEADER_CELL_WIDTH = {\n medium: 38,\n large: 46\n};\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\nconst SELECTION_CELL_DEFAULT_WIDTH = {\n medium: 38,\n large: 48\n};\n\nconst DRAG_BUTTON_CELL_DEFAULT_WIDTH = {\n medium: 16,\n large: 20\n};\n\nconst LEVEL_OFFSET_WIDTH = {\n medium: 16,\n large: 20\n};\n\nexport interface TableContextValue<T> {\n state: TableState<T> | TreeGridState<T>,\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n dragAndDropHooks: DragAndDropHooks['dragAndDropHooks'],\n isTableDraggable: boolean,\n isTableDroppable: boolean,\n layout: TableLayout<T> & {tableState: TableState<T> | TreeGridState<T>},\n headerRowHovered: boolean,\n isInResizeMode: boolean,\n setIsInResizeMode: (val: boolean) => void,\n isEmpty: boolean,\n onFocusedResizer: () => void,\n onResizeStart: (widths: Map<Key, ColumnSize>) => void,\n onResize: (widths: Map<Key, ColumnSize>) => void,\n onResizeEnd: (widths: Map<Key, ColumnSize>) => void,\n headerMenuOpen: boolean,\n setHeaderMenuOpen: (val: boolean) => void\n}\n\nexport const TableContext = React.createContext<TableContextValue<unknown>>(null);\nexport function useTableContext() {\n return useContext(TableContext);\n}\n\nexport const VirtualizerContext = React.createContext(null);\nexport function useVirtualizerContext() {\n return useContext(VirtualizerContext);\n}\n\ninterface TableBaseProps<T> extends SpectrumTableProps<T> {\n state: TableState<T> | TreeGridState<T>\n}\n\nfunction TableViewBase<T extends object>(props: TableBaseProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {\n isQuiet,\n onAction,\n onResizeStart: propsOnResizeStart,\n onResizeEnd: propsOnResizeEnd,\n dragAndDropHooks,\n state\n } = props;\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let isTableDroppable = !!dragAndDropHooks?.useDroppableCollectionState;\n let dragHooksProvided = useRef(isTableDraggable);\n let dropHooksProvided = useRef(isTableDroppable);\n useEffect(() => {\n if (dragHooksProvided.current !== isTableDraggable) {\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 !== isTableDroppable) {\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 if ('expandedKeys' in state && (isTableDraggable || isTableDroppable)) {\n console.warn('Drag and drop is not yet fully supported with expandable rows and may produce unexpected results.');\n }\n }, [isTableDraggable, isTableDroppable, state]);\n\n let {styleProps} = useStyleProps(props);\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n const getDefaultWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}}: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n }, [scale]);\n\n const getDefaultMinWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider, isDragButtonCell}}: GridNode<T>): ColumnSize | null | undefined => {\n if (hideHeader) {\n let width = DEFAULT_HIDE_HEADER_CELL_WIDTH[scale];\n return showDivider ? width + 1 : width;\n } else if (isSelectionCell) {\n return SELECTION_CELL_DEFAULT_WIDTH[scale];\n } else if (isDragButtonCell) {\n return DRAG_BUTTON_CELL_DEFAULT_WIDTH[scale];\n }\n return 75;\n }, [scale]);\n\n // Starts when the user selects resize from the menu, ends when resizing ends\n // used to control the visibility of the resizer Nubbin\n let [isInResizeMode, setIsInResizeMode] = useState(false);\n // Starts when the resizer is actually moved\n // entering resizing/exiting resizing doesn't trigger a render\n // with table layout, so we need to track it here\n let [, setIsResizing] = useState(false);\n\n let domRef = useDOMRef(ref);\n let headerRef = useRef<HTMLDivElement>();\n let bodyRef = useRef<HTMLDivElement>();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n\n let density = props.density || 'regular';\n let columnLayout = useMemo(\n () => new TableColumnLayout({\n getDefaultWidth,\n getDefaultMinWidth\n }),\n [getDefaultWidth, getDefaultMinWidth]\n );\n let tableLayout = useMemo(() => new TableLayout({\n // If props.rowHeight is auto, then use estimated heights based on scale, otherwise use fixed heights.\n rowHeight: props.overflowMode === 'wrap'\n ? null\n : ROW_HEIGHTS[density][scale],\n estimatedRowHeight: props.overflowMode === 'wrap'\n ? ROW_HEIGHTS[density][scale]\n : null,\n headingHeight: props.overflowMode === 'wrap'\n ? null\n : DEFAULT_HEADER_HEIGHT[scale],\n estimatedHeadingHeight: props.overflowMode === 'wrap'\n ? DEFAULT_HEADER_HEIGHT[scale]\n : null,\n columnLayout,\n initialCollection: state.collection\n }),\n // don't recompute when state.collection changes, only used for initial value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.overflowMode, scale, density, columnLayout]\n );\n\n // Use a proxy so that a new object is created for each render so that alternate instances aren't affected by mutation.\n // This can be thought of as equivalent to `{…tableLayout, tableState: state}`, but works with classes as well.\n let layout = useMemo(() => {\n let proxy = new Proxy(tableLayout, {\n get(target, prop, receiver) {\n return prop === 'tableState' ? state : Reflect.get(target, prop, receiver);\n }\n });\n return proxy as TableLayout<T> & {tableState: TableState<T> | TreeGridState<T>};\n }, [state, tableLayout]);\n\n let dragState: DraggableCollectionState;\n let preview = useRef(null);\n if (isTableDraggable) {\n dragState = dragAndDropHooks.useDraggableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n preview\n });\n dragAndDropHooks.useDraggableCollection({}, dragState, domRef);\n }\n\n let DragPreview = dragAndDropHooks?.DragPreview;\n let dropState: DroppableCollectionState;\n let droppableCollection: DroppableCollectionResult;\n let isRootDropTarget: boolean;\n if (isTableDroppable) {\n dropState = dragAndDropHooks.useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.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} = useTable({\n ...props,\n isVirtualized: true,\n layout,\n onRowAction: onAction\n }, state, domRef);\n let [headerMenuOpen, setHeaderMenuOpen] = useState(false);\n let [headerRowHovered, setHeaderRowHovered] = useState(false);\n\n // This overrides collection view's renderWrapper to support DOM hierarchy.\n type View = ReusableView<GridNode<T>, ReactNode>;\n let renderWrapper = (parent: View, reusableView: View, children: View[], renderChildren: (views: View[]) => ReactElement[]) => {\n let style = layoutInfoToStyle(reusableView.layoutInfo, direction, parent && parent.layoutInfo);\n if (style.overflow === 'hidden') {\n style.overflow = 'visible'; // needed to support position: sticky\n }\n\n if (reusableView.viewType === 'rowgroup') {\n return (\n <TableRowGroup key={reusableView.key} style={style}>\n {isTableDroppable &&\n <RootDropIndicator key=\"root\" />\n }\n {renderChildren(children)}\n </TableRowGroup>\n );\n }\n\n if (reusableView.viewType === 'header') {\n return (\n <TableHeader\n key={reusableView.key}\n style={style}>\n {renderChildren(children)}\n </TableHeader>\n );\n }\n\n if (reusableView.viewType === 'row') {\n return (\n <TableRow\n key={reusableView.key}\n item={reusableView.content}\n style={style}\n hasActions={onAction}\n isTableDroppable={isTableDroppable}\n isTableDraggable={isTableDraggable}>\n {renderChildren(children)}\n </TableRow>\n );\n }\n\n if (reusableView.viewType === 'headerrow') {\n return (\n <TableHeaderRow\n onHoverChange={setHeaderRowHovered}\n key={reusableView.key}\n style={style}\n item={reusableView.content}>\n {renderChildren(children)}\n </TableHeaderRow>\n );\n }\n let isDropTarget: boolean;\n let isRootDroptarget: boolean;\n if (isTableDroppable) {\n if (parent.content) {\n isDropTarget = dropState.isDropTarget({type: 'item', dropPosition: 'on', key: parent.content.key});\n }\n isRootDroptarget = dropState.isDropTarget({type: 'root'});\n }\n\n return (\n <VirtualizerItem\n key={reusableView.key}\n layoutInfo={reusableView.layoutInfo}\n virtualizer={reusableView.virtualizer}\n parent={parent?.layoutInfo}\n className={\n classNames(\n styles,\n 'spectrum-Table-cellWrapper',\n classNames(\n stylesOverrides,\n {\n 'react-spectrum-Table-cellWrapper': !reusableView.layoutInfo.estimatedSize,\n 'react-spectrum-Table-cellWrapper--dropTarget': isDropTarget || isRootDroptarget\n }\n )\n )\n }>\n {reusableView.rendered}\n </VirtualizerItem>\n );\n };\n\n let renderView = (type: string, item: GridNode<T>) => {\n switch (type) {\n case 'header':\n case 'rowgroup':\n case 'section':\n case 'row':\n case 'headerrow':\n return null;\n case 'cell': {\n if (item.props.isSelectionCell) {\n return <TableCheckboxCell cell={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragCell cell={item} />;\n }\n\n return <TableCell cell={item} />;\n }\n case 'placeholder':\n // TODO: move to react-aria?\n return (\n <div\n role=\"gridcell\"\n aria-colindex={item.index + 1}\n aria-colspan={item.colspan > 1 ? item.colspan : null} />\n );\n case 'column':\n if (item.props.isSelectionCell) {\n return <TableSelectAllCell column={item} />;\n }\n\n if (item.props.isDragButtonCell) {\n return <TableDragHeaderCell column={item} />;\n }\n\n // TODO: consider this case, what if we have hidden headers and a empty table\n if (item.props.hideHeader) {\n return (\n <TooltipTrigger placement=\"top\" trigger=\"focus\">\n <TableColumnHeader column={item} />\n <Tooltip placement=\"top\">{item.rendered}</Tooltip>\n </TooltipTrigger>\n );\n }\n\n if (item.props.allowsResizing && !item.hasChildNodes) {\n return <ResizableTableColumnHeader tableRef={domRef} column={item} />;\n }\n\n return (\n <TableColumnHeader column={item} />\n );\n case 'loader':\n return (\n <CenteredWrapper>\n <ProgressCircle\n isIndeterminate\n aria-label={state.collection.size > 0 ? stringFormatter.format('loadingMore') : stringFormatter.format('loading')} />\n </CenteredWrapper>\n );\n case 'empty': {\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\n let [isVerticalScrollbarVisible, setVerticalScollbarVisible] = useState(false);\n let [isHorizontalScrollbarVisible, setHorizontalScollbarVisible] = useState(false);\n let viewport = useRef({x: 0, y: 0, width: 0, height: 0});\n let onVisibleRectChange = useCallback((e) => {\n if (viewport.current.width === e.width && viewport.current.height === e.height) {\n return;\n }\n viewport.current = e;\n if (bodyRef.current) {\n setVerticalScollbarVisible(bodyRef.current.clientWidth + 2 < bodyRef.current.offsetWidth);\n setHorizontalScollbarVisible(bodyRef.current.clientHeight + 2 < bodyRef.current.offsetHeight);\n }\n }, []);\n let {isFocusVisible, focusProps} = useFocusRing();\n let isEmpty = state.collection.size === 0;\n\n let onFocusedResizer = () => {\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n };\n\n let onResizeStart = useCallback((widths) => {\n setIsResizing(true);\n propsOnResizeStart?.(widths);\n }, [setIsResizing, propsOnResizeStart]);\n let onResizeEnd = useCallback((widths) => {\n setIsInResizeMode(false);\n setIsResizing(false);\n propsOnResizeEnd?.(widths);\n }, [propsOnResizeEnd, setIsInResizeMode, setIsResizing]);\n\n let focusedKey = state.selectionManager.focusedKey;\n if (dropState?.target?.type === 'item') {\n focusedKey = dropState.target.key;\n }\n\n let mergedProps = mergeProps(\n isTableDroppable && droppableCollection?.collectionProps,\n gridProps,\n focusProps,\n dragAndDropHooks?.isVirtualDragging() && {tabIndex: null}\n );\n\n return (\n <TableContext.Provider value={{state, dragState, dropState, dragAndDropHooks, isTableDraggable, isTableDroppable, layout, onResizeStart, onResize: props.onResize, onResizeEnd, headerRowHovered, isInResizeMode, setIsInResizeMode, isEmpty, onFocusedResizer, headerMenuOpen, setHeaderMenuOpen}}>\n <TableVirtualizer\n {...mergedProps}\n {...styleProps}\n className={\n classNames(\n styles,\n 'spectrum-Table',\n `spectrum-Table--${density}`,\n {\n 'spectrum-Table--quiet': isQuiet,\n 'spectrum-Table--wrap': props.overflowMode === 'wrap',\n 'spectrum-Table--loadingMore': state.collection.body.props.loadingState === 'loadingMore',\n 'spectrum-Table--isVerticalScrollbarVisible': isVerticalScrollbarVisible,\n 'spectrum-Table--isHorizontalScrollbarVisible': isHorizontalScrollbarVisible\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table'\n ),\n styleProps.className\n )\n }\n layout={layout}\n collection={state.collection}\n focusedKey={focusedKey}\n renderView={renderView}\n renderWrapper={renderWrapper}\n onVisibleRectChange={onVisibleRectChange}\n domRef={domRef}\n headerRef={headerRef}\n bodyRef={bodyRef}\n isFocusVisible={isFocusVisible}\n isVirtualDragging={dragAndDropHooks?.isVirtualDragging()}\n isRootDropTarget={isRootDropTarget} />\n {DragPreview && isTableDraggable &&\n <DragPreview ref={preview}>\n {() => {\n if (dragAndDropHooks.renderPreview) {\n return dragAndDropHooks.renderPreview(dragState.draggingKeys, dragState.draggedKey);\n }\n let itemCount = dragState.draggingKeys.size;\n let maxWidth = bodyRef.current.getBoundingClientRect().width;\n let height = ROW_HEIGHTS[density][scale];\n let itemText = state.collection.getTextValue(dragState.draggedKey);\n return <SpectrumDragPreview itemText={itemText} itemCount={itemCount} height={height} maxWidth={maxWidth} />;\n }}\n </DragPreview>\n }\n </TableContext.Provider>\n );\n}\n\n// This is a custom Virtualizer that also has a header that syncs its scroll position with the body.\nfunction TableVirtualizer(props) {\n let {layout, collection, focusedKey, renderView, renderWrapper, domRef, bodyRef, headerRef, onVisibleRectChange: onVisibleRectChangeProp, isFocusVisible, isVirtualDragging, isRootDropTarget, ...otherProps} = props;\n let {direction} = useLocale();\n let loadingState = collection.body.props.loadingState;\n let isLoading = loadingState === 'loading' || loadingState === 'loadingMore';\n let onLoadMore = collection.body.props.onLoadMore;\n let transitionDuration = 220;\n if (isLoading) {\n transitionDuration = 160;\n }\n if (layout.resizingColumn != null) {\n // while resizing, prop changes should not cause animations\n transitionDuration = 0;\n }\n let state = useVirtualizerState<object, ReactNode, ReactNode>({\n layout,\n collection,\n renderView,\n renderWrapper,\n onVisibleRectChange(rect) {\n bodyRef.current.scrollTop = rect.y;\n setScrollLeft(bodyRef.current, direction, rect.x);\n },\n transitionDuration\n });\n\n let scrollToItem = useCallback((key) => {\n let item = collection.getItem(key);\n let column = collection.columns[0];\n let virtualizer = state.virtualizer;\n\n virtualizer.scrollToItem(key, {\n duration: 0,\n // Prevent scrolling to the top when clicking on column headers.\n shouldScrollY: item?.type !== 'column',\n // Offset scroll position by width of selection cell\n // (which is sticky and will overlap the cell we're scrolling to).\n offsetX: column.props.isSelectionCell || column.props.isDragButtonCell\n ? layout.getColumnWidth(column.key)\n : 0\n });\n\n // Sync the scroll positions of the column headers and the body so scrollIntoViewport can\n // properly decide if the column is outside the viewport or not\n headerRef.current.scrollLeft = bodyRef.current.scrollLeft;\n }, [collection, bodyRef, headerRef, layout, state.virtualizer]);\n\n let memoedVirtualizerProps = useMemo(() => ({\n tabIndex: otherProps.tabIndex,\n focusedKey,\n scrollToItem,\n isLoading,\n onLoadMore\n }), [otherProps.tabIndex, focusedKey, scrollToItem, isLoading, onLoadMore]);\n\n let {virtualizerProps, scrollViewProps: {onVisibleRectChange}} = useVirtualizer(memoedVirtualizerProps, state, domRef);\n\n // this effect runs whenever the contentSize changes, it doesn't matter what the content size is\n // only that it changes in a resize, and when that happens, we want to sync the body to the\n // header scroll position\n useEffect(() => {\n if (getInteractionModality() === 'keyboard' && headerRef.current.contains(document.activeElement)) {\n scrollIntoView(headerRef.current, document.activeElement as HTMLElement);\n scrollIntoViewport(document.activeElement, {containingElement: domRef.current});\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n }, [state.contentSize, headerRef, bodyRef, domRef]);\n\n let headerHeight = layout.getLayoutInfo('header')?.rect.height || 0;\n\n // Sync the scroll position from the table body to the header container.\n let onScroll = useCallback(() => {\n headerRef.current.scrollLeft = bodyRef.current.scrollLeft;\n }, [bodyRef, headerRef]);\n\n let resizerPosition = layout.getResizerPosition() - 2;\n\n let resizerAtEdge = resizerPosition > Math.max(state.virtualizer.contentSize.width, state.virtualizer.visibleRect.width) - 3;\n // this should be fine, every movement of the resizer causes a rerender\n // scrolling can cause it to lag for a moment, but it's always updated\n let resizerInVisibleRegion = resizerPosition < state.virtualizer.visibleRect.maxX;\n let shouldHardCornerResizeCorner = resizerAtEdge && resizerInVisibleRegion;\n\n // minimize re-render caused on Resizers by memoing this\n let resizingColumnWidth = layout.getColumnWidth(layout.resizingColumn);\n let resizingColumn = useMemo(() => ({\n width: resizingColumnWidth,\n key: layout.resizingColumn\n }), [resizingColumnWidth, layout.resizingColumn]);\n let mergedProps = mergeProps(\n otherProps,\n virtualizerProps,\n isVirtualDragging && {tabIndex: null}\n );\n\n return (\n <VirtualizerContext.Provider value={resizingColumn}>\n <FocusScope>\n <div\n {...mergedProps}\n ref={domRef}>\n <div\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-headWrapper')}\n style={{\n height: headerHeight,\n overflow: 'hidden',\n position: 'relative',\n willChange: state.isScrolling ? 'scroll-position' : undefined,\n transition: state.isAnimating ? `none ${state.virtualizer.transitionDuration}ms` : undefined\n }}\n ref={headerRef}>\n {state.visibleViews[0]}\n </div>\n <ScrollView\n role=\"presentation\"\n className={\n classNames(\n styles,\n 'spectrum-Table-body',\n {\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-body--resizerAtTableEdge': shouldHardCornerResizeCorner\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-body',\n {\n 'react-spectrum-Table-body--dropTarget': !!isRootDropTarget\n }\n )\n )\n }\n tabIndex={isVirtualDragging ? null : -1}\n style={{flex: 1}}\n innerStyle={{overflow: 'visible', transition: state.isAnimating ? `none ${state.virtualizer.transitionDuration}ms` : undefined}}\n ref={bodyRef}\n contentSize={state.contentSize}\n onVisibleRectChange={chain(onVisibleRectChange, onVisibleRectChangeProp)}\n onScrollStart={state.startScrolling}\n onScrollEnd={state.endScrolling}\n onScroll={onScroll}>\n {state.visibleViews[1]}\n <div\n className={classNames(styles, 'spectrum-Table-bodyResizeIndicator')}\n style={{[direction === 'ltr' ? 'left' : 'right']: `${resizerPosition}px`, height: `${Math.max(state.virtualizer.contentSize.height, state.virtualizer.visibleRect.height)}px`, display: layout.resizingColumn ? 'block' : 'none'}} />\n </ScrollView>\n </div>\n </FocusScope>\n </VirtualizerContext.Provider>\n );\n}\n\nfunction TableHeader({children, ...otherProps}) {\n let {rowGroupProps} = useTableRowGroup();\n\n return (\n <div {...rowGroupProps} {...otherProps} className={classNames(styles, 'spectrum-Table-head')}>\n {children}\n </div>\n );\n}\n\nfunction TableColumnHeader(props) {\n let {column} = props;\n let ref = useRef<HTMLDivElement>(null);\n let {state, isEmpty} = useTableContext();\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n useEffect(() => {\n if (column.hasChildNodes && columnProps.allowsResizing) {\n console.warn(`Column key: ${column.key}. Columns with child columns don't allow resizing.`);\n }\n }, [column.hasChildNodes, column.key, columnProps.allowsResizing]);\n\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty});\n\n const allProps = [columnHeaderProps, hoverProps, pressProps];\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignCenter': columnProps.align === 'center' || column.colspan > 1,\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n }\n )\n )\n }>\n {columnProps.allowsSorting &&\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n }\n {columnProps.hideHeader ?\n <VisuallyHidden>{column.rendered}</VisuallyHidden> :\n <div className={classNames(styles, 'spectrum-Table-headCellContents')}>{column.rendered}</div>\n }\n </div>\n </FocusRing>\n );\n}\n\nlet _TableColumnHeaderButton = (props, ref: FocusableRef<HTMLDivElement>) => {\n let {focusProps, alignment, ...otherProps} = props;\n let {isEmpty} = useTableContext();\n let domRef = useFocusableRef(ref);\n let {buttonProps} = useButton({...otherProps, elementType: 'div', isDisabled: isEmpty}, domRef);\n let {hoverProps, isHovered} = useHover({...otherProps, isDisabled: isEmpty});\n\n return (\n <div\n className={\n classNames(\n styles,\n 'spectrum-Table-headCellContents',\n {\n 'is-hovered': isHovered\n }\n )\n }\n {...hoverProps}>\n <div\n className={\n classNames(\n styles,\n 'spectrum-Table-headCellButton',\n {\n 'spectrum-Table-headCellButton--alignStart': alignment === 'start',\n 'spectrum-Table-headCellButton--alignCenter': alignment === 'center',\n 'spectrum-Table-headCellButton--alignEnd': alignment === 'end'\n }\n )\n }\n {...mergeProps(buttonProps, focusProps)}\n ref={domRef}>\n {props.children}\n </div>\n </div>\n );\n};\nlet TableColumnHeaderButton = React.forwardRef(_TableColumnHeaderButton);\n\nfunction ResizableTableColumnHeader(props) {\n let {column} = props;\n let ref = useRef(null);\n let triggerRef = useRef(null);\n let resizingRef = useRef(null);\n let {\n state,\n layout,\n onResizeStart,\n onResize,\n onResizeEnd,\n headerRowHovered,\n setIsInResizeMode,\n isEmpty,\n isInResizeMode,\n headerMenuOpen,\n setHeaderMenuOpen\n } = useTableContext();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let {pressProps, isPressed} = usePress({isDisabled: isEmpty});\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {hoverProps, isHovered} = useHover({...props, isDisabled: isEmpty || headerMenuOpen});\n\n const allProps = [columnHeaderProps, pressProps, hoverProps];\n\n let columnProps = column.props as SpectrumColumnProps<unknown>;\n\n let {isFocusVisible, focusProps} = useFocusRing();\n\n const onMenuSelect = (key) => {\n switch (key) {\n case 'sort-asc':\n state.sort(column.key, 'ascending');\n break;\n case 'sort-desc':\n state.sort(column.key, 'descending');\n break;\n case 'resize':\n layout.startResize(column.key);\n setIsInResizeMode(true);\n state.setKeyboardNavigationDisabled(true);\n break;\n }\n };\n let allowsSorting = column.props?.allowsSorting;\n let items = useMemo(() => {\n let options = [\n allowsSorting ? {\n label: stringFormatter.format('sortAscending'),\n id: 'sort-asc'\n } : undefined,\n allowsSorting ? {\n label: stringFormatter.format('sortDescending'),\n id: 'sort-desc'\n } : undefined,\n {\n label: stringFormatter.format('resizeColumn'),\n id: 'resize'\n }\n ];\n return options;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allowsSorting]);\n\n let resizingColumn = layout.resizingColumn;\n let showResizer = !isEmpty && ((headerRowHovered && getInteractionModality() !== 'keyboard') || resizingColumn != null);\n let alignment = 'start';\n let menuAlign = 'start' as 'start' | 'end';\n if (columnProps.align === 'center' || column.colspan > 1) {\n alignment = 'center';\n } else if (columnProps.align === 'end') {\n alignment = 'end';\n menuAlign = 'end';\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(...allProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n {\n 'is-active': isPressed,\n 'is-resizable': columnProps.allowsResizing,\n 'is-sortable': columnProps.allowsSorting,\n 'is-sorted-desc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'descending',\n 'is-sorted-asc': state.sortDescriptor?.column === column.key && state.sortDescriptor?.direction === 'ascending',\n 'is-hovered': isHovered,\n 'focus-ring': isFocusVisible,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignCenter': alignment === 'center',\n 'react-spectrum-Table-cell--alignEnd': alignment === 'end'\n }\n )\n )\n }>\n <MenuTrigger onOpenChange={setHeaderMenuOpen} align={menuAlign}>\n <TableColumnHeaderButton alignment={alignment} ref={triggerRef} focusProps={focusProps}>\n {columnProps.allowsSorting &&\n <ArrowDownSmall UNSAFE_className={classNames(styles, 'spectrum-Table-sortedIcon')} />\n }\n {columnProps.hideHeader ?\n <VisuallyHidden>{column.rendered}</VisuallyHidden> :\n <div className={classNames(styles, 'spectrum-Table-headerCellText')}>{column.rendered}</div>\n }\n {\n columnProps.allowsResizing && <ChevronDownMedium UNSAFE_className={classNames(styles, 'spectrum-Table-menuChevron')} />\n }\n </TableColumnHeaderButton>\n <Menu onAction={onMenuSelect} minWidth=\"size-2000\" items={items}>\n {(item) => (\n <Item>\n {item.label}\n </Item>\n )}\n </Menu>\n </MenuTrigger>\n <Resizer\n ref={resizingRef}\n column={column}\n showResizer={showResizer}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n triggerRef={useUnwrapDOMRef(triggerRef)} />\n <div\n aria-hidden\n className={classNames(\n styles,\n 'spectrum-Table-colResizeIndicator',\n {\n 'spectrum-Table-colResizeIndicator--visible': resizingColumn != null,\n 'spectrum-Table-colResizeIndicator--resizing': resizingColumn === column.key\n }\n )}>\n <div\n className={classNames(\n styles,\n 'spectrum-Table-colResizeNubbin',\n {\n 'spectrum-Table-colResizeNubbin--visible': isInResizeMode && resizingColumn === column.key\n }\n )}>\n <Nubbin />\n </div>\n </div>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableSelectAllCell({column}) {\n let ref = useRef();\n let {state} = useTableContext();\n let isSingleSelectionMode = state.selectionManager.selectionMode === 'single';\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n\n let {checkboxProps} = useTableSelectAllCheckbox(state);\n let {hoverProps, isHovered} = useHover({});\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...mergeProps(columnHeaderProps, hoverProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n 'spectrum-Table-checkboxCell',\n {\n 'is-hovered': isHovered\n }\n )\n }>\n {\n /*\n In single selection mode, the checkbox will be hidden.\n So to avoid leaving a column header with no accessible content,\n we use a VisuallyHidden component to include the aria-label from the checkbox,\n which for single selection will be \"Select.\"\n */\n isSingleSelectionMode &&\n <VisuallyHidden>{checkboxProps['aria-label']}</VisuallyHidden>\n }\n <Checkbox\n {...checkboxProps}\n isEmphasized\n UNSAFE_style={isSingleSelectionMode ? {visibility: 'hidden'} : undefined}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')} />\n </div>\n </FocusRing>\n );\n}\n\nfunction TableDragHeaderCell({column}) {\n let ref = useRef();\n let {state} = useTableContext();\n let {columnHeaderProps} = useTableColumnHeader({\n node: column,\n isVirtualized: true\n }, state, ref);\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...columnHeaderProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-headCell',\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-headCell',\n 'react-spectrum-Table-dragButtonHeadCell'\n )\n )\n }>\n <VisuallyHidden>{stringFormatter.format('drag')}</VisuallyHidden>\n </div>\n </FocusRing>\n );\n}\n\nfunction TableRowGroup({children, ...otherProps}) {\n let {rowGroupProps} = useTableRowGroup();\n\n return (\n <div {...rowGroupProps} {...otherProps}>\n {children}\n </div>\n );\n}\n\nfunction DragButton() {\n let {dragButtonProps, dragButtonRef, isFocusVisibleWithin} = useTableRowContext();\n let {visuallyHiddenProps} = useVisuallyHidden();\n return (\n <FocusRing focusRingClass={classNames(stylesOverrides, 'focus-ring')}>\n <div\n {...dragButtonProps as React.HTMLAttributes<HTMLElement>}\n className={\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-dragButton'\n )\n }\n style={!isFocusVisibleWithin ? {...visuallyHiddenProps.style} : {}}\n ref={dragButtonRef}\n draggable=\"true\">\n <ListGripper UNSAFE_className={classNames(stylesOverrides)} />\n </div>\n </FocusRing>\n );\n}\n\ninterface TableRowContextValue {\n dragButtonProps: React.HTMLAttributes<HTMLDivElement>,\n dragButtonRef: React.MutableRefObject<undefined>,\n isFocusVisibleWithin: boolean\n}\n\n\nconst TableRowContext = React.createContext<TableRowContextValue>(null);\nexport function useTableRowContext() {\n return useContext(TableRowContext);\n}\n\nfunction TableRow({item, children, hasActions, isTableDraggable, isTableDroppable, ...otherProps}) {\n let ref = useRef();\n let {state, layout, dragAndDropHooks, dragState, dropState} = useTableContext();\n let allowsInteraction = state.selectionManager.selectionMode !== 'none' || hasActions;\n let isDisabled = !allowsInteraction || state.disabledKeys.has(item.key);\n let isDroppable = isTableDroppable && !isDisabled;\n let isSelected = state.selectionManager.isSelected(item.key);\n let {rowProps} = useTableRow({\n node: item,\n isVirtualized: true,\n shouldSelectOnPressUp: isTableDraggable\n }, state, ref);\n\n let {pressProps, isPressed} = usePress({isDisabled});\n\n // The row should show the focus background style when any cell inside it is focused.\n // If the row itself is focused, then it should have a blue focus indicator on the left.\n let {\n isFocusVisible: isFocusVisibleWithin,\n focusProps: focusWithinProps\n } = useFocusRing({within: true});\n let {isFocusVisible, focusProps} = useFocusRing();\n let {hoverProps, isHovered} = useHover({isDisabled});\n let isFirstRow = state.collection.rows.find(row => row.level === 1)?.key === item.key;\n let isLastRow = item.nextKey == null;\n // Figure out if the TableView 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.\n let isFlushWithContainerBottom = false;\n if (isLastRow) {\n if (layout.getContentSize()?.height >= layout.virtualizer?.getVisibleRect().height) {\n isFlushWithContainerBottom = true;\n }\n }\n\n let draggableItem: DraggableItemResult;\n if (isTableDraggable) {\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 (isTableDroppable) {\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: dragButtonProps} = useButton({\n ...draggableItem?.dragButtonProps,\n elementType: 'div'\n }, dragButtonRef);\n\n let props = mergeProps(\n rowProps,\n otherProps,\n focusWithinProps,\n focusProps,\n hoverProps,\n pressProps,\n draggableItem?.dragProps,\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 ) as HTMLAttributes<HTMLElement> & DOMAttributes<FocusableElement>;\n\n let dropProps = isDroppable ? droppableItem?.dropProps : {'aria-hidden': droppableItem?.dropProps['aria-hidden']};\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n return (\n <TableRowContext.Provider value={{dragButtonProps, dragButtonRef, isFocusVisibleWithin}}>\n {isTableDroppable && isFirstRow &&\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-before`}\n target={{key: item.key, type: 'item', dropPosition: 'before'}} />\n }\n {isTableDroppable && !dropIndicator?.isHidden &&\n <div role=\"row\" {...visuallyHiddenProps}>\n <div role=\"gridcell\">\n <div role=\"button\" {...dropIndicator?.dropIndicatorProps} ref={dropIndicatorRef} />\n </div>\n </div>\n }\n <div\n {...mergeProps(props, dropProps)}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-row',\n {\n 'is-active': isPressed,\n 'is-selected': isSelected,\n 'spectrum-Table-row--highlightSelection': state.selectionManager.selectionBehavior === 'replace',\n 'is-next-selected': state.selectionManager.isSelected(item.nextKey),\n 'is-focused': isFocusVisibleWithin,\n 'focus-ring': isFocusVisible,\n 'is-hovered': isHovered,\n 'is-disabled': isDisabled,\n 'spectrum-Table-row--firstRow': isFirstRow,\n 'spectrum-Table-row--lastRow': isLastRow,\n 'spectrum-Table-row--isFlushBottom': isFlushWithContainerBottom\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-row',\n {'react-spectrum-Table-row--dropTarget': isDropTarget}\n )\n )\n }>\n {children}\n </div>\n {isTableDroppable &&\n <InsertionIndicator\n rowProps={props}\n key={`${item.key}-after`}\n target={{key: item.key, type: 'item', dropPosition: 'after'}} />\n }\n </TableRowContext.Provider>\n );\n}\n\nfunction TableHeaderRow({item, children, style, ...props}) {\n let {state, headerMenuOpen} = useTableContext();\n let ref = useRef();\n let {rowProps} = useTableHeaderRow({node: item, isVirtualized: true}, state, ref);\n let {hoverProps} = useHover({...props, isDisabled: headerMenuOpen});\n\n return (\n <div {...mergeProps(rowProps, hoverProps)} ref={ref} style={style}>\n {children}\n </div>\n );\n}\n\nfunction TableDragCell({cell}) {\n let ref = useRef();\n let {state, isTableDraggable} = useTableContext();\n let isDisabled = state.disabledKeys.has(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state, ref);\n\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n 'react-spectrum-Table-dragButtonCell'\n )\n )\n }>\n {isTableDraggable && !isDisabled && <DragButton />}\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCheckboxCell({cell}) {\n let ref = useRef();\n let {state} = useTableContext();\n let isDisabled = state.disabledKeys.has(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state, ref);\n\n let {checkboxProps} = useTableSelectionCheckbox({key: cell.parentKey}, state);\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...gridCellProps}\n ref={ref}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n 'spectrum-Table-checkboxCell',\n {\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell'\n )\n )\n }>\n {state.selectionManager.selectionMode !== 'none' &&\n <Checkbox\n {...checkboxProps}\n isEmphasized\n isDisabled={isDisabled}\n UNSAFE_className={classNames(styles, 'spectrum-Table-checkbox')} />\n }\n </div>\n </FocusRing>\n );\n}\n\nfunction TableCell({cell}) {\n let {scale} = useProvider();\n let {state} = useTableContext();\n let isExpandableTable = 'expandedKeys' in state;\n let ref = useRef();\n let columnProps = cell.column.props as SpectrumColumnProps<unknown>;\n let isDisabled = state.disabledKeys.has(cell.parentKey);\n let {gridCellProps} = useTableCell({\n node: cell,\n isVirtualized: true\n }, state, ref);\n let {id, ...otherGridCellProps} = gridCellProps;\n let isFirstRowHeaderCell = state.collection.rowHeaderColumnKeys.keys().next().value === cell.column.key;\n let isRowExpandable = false;\n let showExpandCollapseButton = false;\n let levelOffset = 0;\n\n if ('expandedKeys' in state) {\n isRowExpandable = state.keyMap.get(cell.parentKey)?.props.UNSTABLE_childItems?.length > 0 || state.keyMap.get(cell.parentKey)?.props?.children?.length > state.userColumnCount;\n showExpandCollapseButton = isFirstRowHeaderCell && isRowExpandable;\n // Offset based on level, and add additional offset if there is no expand/collapse button on a row\n levelOffset = (cell.level - 2) * LEVEL_OFFSET_WIDTH[scale] + (!showExpandCollapseButton ? LEVEL_OFFSET_WIDTH[scale] * 2 : 0);\n }\n\n return (\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...otherGridCellProps}\n aria-labelledby={id}\n ref={ref}\n style={isExpandableTable && isFirstRowHeaderCell ? {paddingInlineStart: levelOffset} : {}}\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n {\n 'spectrum-Table-cell--divider': columnProps.showDivider && cell.column.nextKey !== null,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader,\n 'spectrum-Table-cell--hasExpandCollapseButton': showExpandCollapseButton,\n 'is-disabled': isDisabled\n },\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell',\n {\n 'react-spectrum-Table-cell--alignStart': columnProps.align === 'start',\n 'react-spectrum-Table-cell--alignCenter': columnProps.align === 'center',\n 'react-spectrum-Table-cell--alignEnd': columnProps.align === 'end'\n }\n )\n )\n }>\n {showExpandCollapseButton && <ExpandableRowChevron cell={cell} />}\n <span\n id={id}\n className={\n classNames(\n styles,\n 'spectrum-Table-cellContents'\n )\n }>\n {cell.rendered}\n </span>\n </div>\n </FocusRing>\n );\n}\n\nfunction ExpandableRowChevron({cell}) {\n // TODO: move some/all of the chevron button setup into a separate hook?\n let {direction} = useLocale();\n let {state} = useTableContext();\n let expandButtonRef = useRef();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let isExpanded;\n\n if ('expandedKeys' in state) {\n isExpanded = state.expandedKeys === 'all' || state.expandedKeys.has(cell.parentKey);\n }\n\n // Will need to keep the chevron as a button for iOS VO at all times since VO doesn't focus the cell. Also keep as button if cellAction is defined by the user in the future\n let {buttonProps} = useButton({\n // Desktop and mobile both toggle expansion of a native expandable row on mouse/touch up\n onPress: () => {\n (state as TreeGridState<unknown>).toggleKey(cell.parentKey);\n if (!isFocusVisible()) {\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(cell.parentKey);\n }\n },\n elementType: 'span',\n 'aria-label': isExpanded ? stringFormatter.format('collapse') : stringFormatter.format('expand')\n }, expandButtonRef);\n\n return (\n <span\n {...buttonProps}\n ref={expandButtonRef}\n // Override tabindex so that grid keyboard nav skips over it. Needs -1 so android talkback can actually \"focus\" it\n tabIndex={isAndroid() ? -1 : undefined}\n className={\n classNames(\n styles,\n 'spectrum-Table-expandButton',\n {\n 'is-open': isExpanded\n }\n )\n }>\n {direction === 'ltr' ? <ChevronRightMedium /> : <ChevronLeftMedium />}\n </span>\n );\n}\n\nfunction CenteredWrapper({children}) {\n let {state} = useTableContext();\n let rowProps;\n\n if ('expandedKeys' in state) {\n let topLevelRowCount = [...state.keyMap.get(state.collection.body.key).childNodes].length;\n rowProps = {\n 'aria-level': 1,\n 'aria-posinset': topLevelRowCount + 1,\n 'aria-setsize': topLevelRowCount + 1\n };\n } else {\n rowProps = {\n 'aria-rowindex': state.collection.headerRows.length + state.collection.size + 1\n };\n }\n\n return (\n <div\n role=\"row\"\n {...rowProps}\n className={classNames(stylesOverrides, 'react-spectrum-Table-centeredWrapper')}>\n <div role=\"rowheader\" aria-colspan={state.collection.columns.length}>\n {children}\n </div>\n </div>\n );\n}\n\nconst _TableViewBase = React.forwardRef(TableViewBase) as <T>(props: TableBaseProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n\nexport {_TableViewBase as TableViewBase};\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {FocusableElement, ItemDropTarget} from '@react-types/shared';\nimport React, {DOMAttributes, HTMLAttributes, useRef} from 'react';\nimport styles from './table.css';\nimport {useTableContext} from './TableViewBase';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface InsertionIndicatorProps {\n target: ItemDropTarget,\n rowProps: HTMLAttributes<HTMLElement> & DOMAttributes<FocusableElement>\n}\n\nexport function InsertionIndicator(props: InsertionIndicatorProps) {\n let {dropState, dragAndDropHooks} = useTableContext();\n const {target, rowProps} = 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\n style={{\n position: 'absolute',\n top: rowProps.style.top as number + (target.dropPosition === 'after' ? rowProps.style.height as number : 0),\n width: rowProps.style.width\n }}\n role=\"row\"\n aria-hidden={dropIndicatorProps['aria-hidden']}>\n <div\n role=\"gridcell\"\n className={\n classNames(\n styles,\n 'react-spectrum-Table-InsertionIndicator',\n {\n 'react-spectrum-Table-InsertionIndicator--dropTarget': isDropTarget\n }\n )}>\n <div {...visuallyHiddenProps} role=\"button\" {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2020 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 .react-spectrum-Table {\n --spectrum-table-droptarget-background-color: var(--spectrum-alias-highlight-selected);\n --spectrum-table-dropindicator-border-color: var(--spectrum-dropzone-border-color-selected-hover);\n --spectrum-table-dropindicator-circle-border-color: var(--spectrum-dropindicator-circle-border-color);\n\n --spectrum-table-dropindicator-circle-size: var(--spectrum-dropindicator-circle-size);\n --spectrum-table-dropindicator-border-size: var(--spectrum-dropindicator-border-size);\n\n --spectrum-table-dropzone-border-color-selected-hover: var(--spectrum-dropzone-border-color-selected-hover);\n\n --spectrum-table-item-draghandle-border-color-key-focus: var(--spectrum-table-item-border-color-key-focus);\n }\n\n.react-spectrum-Table {\n user-select: none;\n display: flex;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n}\n\n.react-spectrum-Table-cell {\n display: flex;\n align-items: center;\n}\n\n.react-spectrum-Table-cellWrapper > .react-spectrum-Table-cell {\n height: 100%;\n}\n\n.react-spectrum-Table-cell--alignStart {\n text-align: start;\n justify-content: flex-start;\n}\n\n.react-spectrum-Table-cell--alignCenter {\n text-align: center;\n justify-content: center;\n}\n\n.react-spectrum-Table-cell--alignEnd {\n text-align: end;\n justify-content: flex-end;\n}\n\n.react-spectrum-Table-centeredWrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.react-spectrum-Table-row-dragPreview {\n --spectrum-table-row-badge-text-color: var(--spectrum-global-color-static-white);\n --spectrum-table-row-badge-background-color: var(--spectrum-global-color-blue-400);\n\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);\n\n /* forced-color-adjust: none, so that background-color style will render */\n forced-color-adjust: none;\n\n &::after {\n box-shadow: none;\n }\n\n .react-spectrum-Table-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &.react-spectrum-Table-row-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);\n\n /* forced-color-adjust: none, so that box-shadow style will render */\n forced-color-adjust: none;\n }\n }\n\n .react-spectrum-Table-row-badge {\n color: var(--spectrum-table-row-badge-text-color);\n background: var(--spectrum-table-row-badge-background-color);\n padding: 0 var(--spectrum-global-dimension-size-100);\n border-radius: var(--spectrum-alias-border-radius-regular);\n margin-inline-end: var(--spectrum-global-dimension-size-100);\n margin-top: auto;\n margin-bottom: auto;\n height: fit-content;\n }\n}\n\n.react-spectrum-Table-body {\n &.react-spectrum-Table-body--dropTarget {\n border-color: var(--spectrum-table-dropindicator-border-color);\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 /* forced-color-adjust: none, so that box-shadow style will render */\n forced-color-adjust: none;\n }\n}\n\n.react-spectrum-Table-InsertionIndicator {\n z-index: 3;\n width: calc(100% - (2 * var(--spectrum-table-dropindicator-circle-size)));\n inset-inline-start: var(--spectrum-table-dropindicator-circle-size);\n position: absolute;\n outline: none;\n\n &.react-spectrum-Table-InsertionIndicator--dropTarget {\n background: var(--spectrum-table-dropindicator-border-color);\n border-bottom: 2px solid var(--spectrum-table-dropindicator-border-color);\n\n /* forced-color-adjust: none, so that background color\n will render border for insertion indicator. */\n forced-color-adjust: none;\n\n &:before {\n left: calc(var(--spectrum-table-dropindicator-circle-size) * -1);\n }\n\n &:after {\n right: calc(var(--spectrum-table-dropindicator-circle-size) * -1);\n }\n\n &:before,\n &:after {\n content: '';\n position: absolute;\n top: calc(var(--spectrum-table-dropindicator-circle-size) * -1 / 2 + var(--spectrum-table-dropindicator-border-size) / 2);\n width: var(--spectrum-table-dropindicator-circle-size);\n height: var(--spectrum-table-dropindicator-circle-size);\n border-radius: 50%;\n border: var(--spectrum-table-dropindicator-border-size) solid;\n box-sizing: border-box;\n border-color: var(--spectrum-table-dropindicator-circle-border-color);\n background-color: var(--spectrum-table-background-color);\n z-index: 5;\n\n /* forced-color-adjust: none, so that box-shadow and background-color styles will render */\n forced-color-adjust: none;\n }\n }\n}\n\n.react-spectrum-Table-headCell {\n &.react-spectrum-Table-dragButtonHeadCell {\n padding: 0;\n height: inherit;\n }\n}\n\n.react-spectrum-Table-cell {\n &.react-spectrum-Table-dragButtonCell {\n padding: var(--spectrum-global-dimension-size-40);\n\n .react-spectrum-Table-dragButton {\n border-radius: var(--spectrum-alias-border-radius-regular);\n padding: var(--spectrum-global-dimension-size-10);\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px var(--spectrum-table-cell-border-color-key-focus);\n outline: none;\n\n /* forced-color-adjust: none, so that box-shadow style will render */\n forced-color-adjust: none;\n }\n\n svg {\n margin: auto 0;\n display: block;\n padding: var(--spectrum-global-dimension-size-40);\n }\n }\n }\n}\n\n.react-spectrum-Table-row {\n &.react-spectrum-Table-row--dropTarget {\n border: 1px var(--spectrum-table-dropindicator-border-color);\n box-shadow: inset 2px 0 0 0 var(--spectrum-table-dropindicator-border-color),\n inset -2px 0 0 0 var(--spectrum-table-dropindicator-border-color),\n inset 0 -3px 0 0 var(--spectrum-table-dropindicator-border-color),\n inset 0 2px 0 0 var(--spectrum-table-dropindicator-border-color);\n\n /* forced-color-adjust: none, so that box-shadow style will render */\n forced-color-adjust: none;\n }\n\n .react-spectrum-Table-cellWrapper.react-spectrum-Table-cellWrapper--dropTarget {\n background-color: var(--spectrum-table-droptarget-background-color);\n }\n}\n\n@media (forced-colors: active) {\n .react-spectrum-Table,\n .react-spectrum-Table-row {\n --spectrum-table-droptarget-background-color: var(--spectrum-alias-global-color-transparent);\n --spectrum-table-dropindicator-border-color: Highlight;\n --spectrum-dropzone-border-color-selected-hover: Highlight;\n --spectrum-table-dropindicator-circle-border-color: Highlight;\n --spectrum-table-dropzone-border-color-selected-hover: Highlight;\n --spectrum-table-row-badge-text-color: HighlightText;\n --spectrum-table-row-badge-background-color: Highlight;\n }\n}\n","const _temp0 = require(\"../intl/ar-AE.json\");\nconst _temp1 = require(\"../intl/bg-BG.json\");\nconst _temp2 = require(\"../intl/cs-CZ.json\");\nconst _temp3 = require(\"../intl/da-DK.json\");\nconst _temp4 = require(\"../intl/de-DE.json\");\nconst _temp5 = require(\"../intl/el-GR.json\");\nconst _temp6 = require(\"../intl/en-US.json\");\nconst _temp7 = require(\"../intl/es-ES.json\");\nconst _temp8 = require(\"../intl/et-EE.json\");\nconst _temp9 = require(\"../intl/fi-FI.json\");\nconst _temp10 = require(\"../intl/fr-FR.json\");\nconst _temp11 = require(\"../intl/he-IL.json\");\nconst _temp12 = require(\"../intl/hr-HR.json\");\nconst _temp13 = require(\"../intl/hu-HU.json\");\nconst _temp14 = require(\"../intl/it-IT.json\");\nconst _temp15 = require(\"../intl/ja-JP.json\");\nconst _temp16 = require(\"../intl/ko-KR.json\");\nconst _temp17 = require(\"../intl/lt-LT.json\");\nconst _temp18 = require(\"../intl/lv-LV.json\");\nconst _temp19 = require(\"../intl/nb-NO.json\");\nconst _temp20 = require(\"../intl/nl-NL.json\");\nconst _temp21 = require(\"../intl/pl-PL.json\");\nconst _temp22 = require(\"../intl/pt-BR.json\");\nconst _temp23 = require(\"../intl/pt-PT.json\");\nconst _temp24 = require(\"../intl/ro-RO.json\");\nconst _temp25 = require(\"../intl/ru-RU.json\");\nconst _temp26 = require(\"../intl/sk-SK.json\");\nconst _temp27 = require(\"../intl/sl-SI.json\");\nconst _temp28 = require(\"../intl/sr-SP.json\");\nconst _temp29 = require(\"../intl/sv-SE.json\");\nconst _temp30 = require(\"../intl/tr-TR.json\");\nconst _temp31 = require(\"../intl/uk-UA.json\");\nconst _temp32 = require(\"../intl/zh-CN.json\");\nconst _temp33 = require(\"../intl/zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React from 'react';\n\n\n// TODO resize with scale? colors should be variables\nexport function Nubbin() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <g fill=\"var(--spectrum-global-color-blue-600)\" stroke=\"var(--spectrum-global-color-blue-600)\" strokeWidth=\"2\">\n <circle cx=\"8\" cy=\"8\" r=\"8\" stroke=\"none\" />\n <circle cx=\"8\" cy=\"8\" r=\"7\" fill=\"none\" />\n </g>\n <path d=\"M-2106-7380.263v5l2.5-2.551Z\" transform=\"translate(2116 7385.763)\" fill=\"#fff\" stroke=\"#fff\" strokeLinejoin=\"round\" strokeWidth=\"2\" />\n <path d=\"M-2106-7380.263v5l2.5-2.551Z\" transform=\"translate(-2100 -7369.763) rotate(180)\" fill=\"#fff\" stroke=\"#fff\" strokeLinejoin=\"round\" strokeWidth=\"2\" />\n </svg>\n );\n}\n","/* eslint-disable jsx-a11y/role-supports-aria-props */\nimport {classNames} from '@react-spectrum/utils';\nimport {ColumnSize} from '@react-types/table';\n// @ts-ignore\nimport eCursor from 'bundle-text:./cursors/Cur_MoveToRight_9_9.svg';\n// @ts-ignore\nimport ewCursor from 'bundle-text:./cursors/Cur_MoveHorizontal_9_9.svg';\nimport {FocusRing} from '@react-aria/focus';\nimport {GridNode} from '@react-types/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {isWebKit, mergeProps} from '@react-aria/utils';\nimport {Key} from '@react-types/shared';\nimport React, {RefObject, useEffect, useState} from 'react';\nimport ReactDOM from 'react-dom';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useTableColumnResize} from '@react-aria/table';\nimport {useTableContext, useVirtualizerContext} from './TableViewBase';\n// @ts-ignore\nimport wCursor from 'bundle-text:./cursors/Cur_MoveToLeft_9_9.svg';\n\nfunction getCursor(svg: string, fallback: string) {\n // WebKit renders SVG cursors blurry on 2x screens: https://bugs.webkit.org/show_bug.cgi?id=160657\n // To work around this, we generate two SVGs at different sizes and use image-set to pick between them.\n // Only do this in WebKit to avoid Firefox rendering the cursor at twice the size.\n if (isWebKit()) {\n return `image-set(url(\"data:image/svg+xml,${encodeURIComponent(svg)}\") 1x, url(\"data:image/svg+xml,${encodeURIComponent(svg.replace('width=\"32\" height=\"32\"', 'width=\"64\" height=\"64\"'))}\") 2x) 8 8, ${fallback}`;\n } else {\n return `url(\"data:image/svg+xml,${encodeURIComponent(svg)}\") 8 8, ${fallback}`;\n }\n}\n\ninterface ResizerProps<T> {\n column: GridNode<T>,\n showResizer: boolean,\n triggerRef: RefObject<HTMLDivElement>,\n onResizeStart: (widths: Map<Key, ColumnSize>) => void,\n onResize: (widths: Map<Key, ColumnSize>) => void,\n onResizeEnd: (widths: Map<Key, ColumnSize>) => void\n}\n\nconst CURSORS = {\n ew: getCursor(ewCursor, 'ew-resize'),\n w: getCursor(wCursor, 'w-resize'),\n e: getCursor(eCursor, 'e-resize')\n};\n\nfunction Resizer<T>(props: ResizerProps<T>, ref: RefObject<HTMLInputElement>) {\n let {column, showResizer} = props;\n let {isEmpty, layout, onFocusedResizer} = useTableContext();\n // Virtualizer re-renders, but these components are all cached\n // in order to get around that and cause a rerender here, we use context\n // but we don't actually need any value, they are available on the layout object\n useVirtualizerContext();\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/table');\n let {direction} = useLocale();\n\n let [isPointerDown, setIsPointerDown] = useState(false);\n useEffect(() => {\n let setDown = (e) => {\n if (e.pointerType === 'mouse') {\n setIsPointerDown(true);\n }\n };\n let setUp = (e) => {\n if (e.pointerType === 'mouse') {\n setIsPointerDown(false);\n }\n };\n document.addEventListener('pointerdown', setDown, {capture: true});\n document.addEventListener('pointerup', setUp, {capture: true});\n return () => {\n document.removeEventListener('pointerdown', setDown, {capture: true});\n document.removeEventListener('pointerup', setUp, {capture: true});\n };\n }, []);\n\n let {inputProps, resizerProps} = useTableColumnResize<unknown>(\n mergeProps(props, {\n 'aria-label': stringFormatter.format('columnResizer'),\n isDisabled: isEmpty\n }), layout, ref);\n\n let isEResizable = layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key);\n let isWResizable = layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key);\n let isResizing = layout.resizingColumn === column.key;\n let cursor = '';\n if (isEResizable) {\n cursor = direction === 'rtl' ? CURSORS.w : CURSORS.e;\n } else if (isWResizable) {\n cursor = direction === 'rtl' ? CURSORS.e : CURSORS.w;\n } else {\n cursor = CURSORS.ew;\n }\n\n let style = {\n ...resizerProps.style,\n height: '100%',\n display: showResizer ? undefined : 'none',\n cursor\n };\n\n return (\n <>\n <FocusRing within focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n {...resizerProps}\n role=\"presentation\"\n style={style}\n className={classNames(styles, 'spectrum-Table-columnResizer')}>\n <input\n ref={ref}\n {...mergeProps(inputProps, {onFocus: onFocusedResizer})} />\n </div>\n </FocusRing>\n {/* Placeholder so that the title doesn't intersect with space reserved by the resizer when it appears. */}\n <div\n aria-hidden\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-columnResizerPlaceholder')} />\n <CursorOverlay show={isResizing && isPointerDown}>\n <div style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0, cursor}} />\n </CursorOverlay>\n </>\n );\n}\n\nfunction CursorOverlay(props) {\n let {show, children} = props;\n return show ? ReactDOM.createPortal(children, document.body) : null;\n}\n\nconst _Resizer = React.forwardRef(Resizer);\nexport {_Resizer as Resizer};\n","module.exports = \"fd8e59d99cf6255b\";","module.exports = \"c65a0be4a6d17c91\";","/*\n * Copyright 2020 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@import './index.css';\n@import './skin.css';\n","module.exports = \"d9395620b1a0eaaa\";","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {useRef} from 'react';\nimport {useTableContext} from './TableViewBase';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\nexport function RootDropIndicator() {\n let {dropState, dragAndDropHooks, state} = useTableContext();\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 aria-colspan={state.collection.columns.length}>\n <div role=\"button\" {...visuallyHiddenProps} {...dropIndicatorProps} ref={ref} />\n </div>\n </div>\n );\n}\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {classNames} from '@react-spectrum/utils';\nimport {Flex} from '@react-spectrum/layout';\nimport React from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\n\ninterface DragPreviewProps {\n itemText: string,\n itemCount: number,\n height: number,\n maxWidth: number\n}\n\nexport function DragPreview(props: DragPreviewProps) {\n let {\n itemText,\n itemCount,\n height,\n maxWidth\n } = props;\n let isDraggingMultiple = itemCount > 1;\n return (\n <Flex\n justifyContent=\"space-between\"\n height={height}\n maxWidth={maxWidth}\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-Table-row',\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-row',\n 'react-spectrum-Table-row-dragPreview',\n {'react-spectrum-Table-row-dragPreview--multiple': isDraggingMultiple}\n )\n )\n }>\n <div\n className={\n classNames(\n styles,\n 'spectrum-Table-cell',\n classNames(\n stylesOverrides,\n 'react-spectrum-Table-cell'\n )\n )\n }>\n <span\n className={\n classNames(\n styles,\n 'spectrum-Table-cellContents'\n )\n }>\n {itemText}\n </span>\n </div>\n {isDraggingMultiple &&\n <div className={classNames(stylesOverrides, 'react-spectrum-Table-row-badge')}>{itemCount}</div>\n }\n </Flex>\n );\n}\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMRef} from '@react-types/shared';\nimport React, {ReactElement, useState} from 'react';\nimport {SpectrumTableProps} from './TableViewWrapper';\nimport {TableViewBase} from './TableViewBase';\nimport {UNSTABLE_useTreeGridState} from '@react-stately/table';\n\nexport interface TreeGridTableProps<T> extends Omit<SpectrumTableProps<T>, 'UNSTABLE_allowsExpandableRows'> {}\n\nfunction TreeGridTableView<T extends object>(props: TreeGridTableProps<T>, ref: DOMRef<HTMLDivElement>) {\n let {\n selectionStyle,\n dragAndDropHooks\n } = props;\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(selectionStyle !== 'highlight');\n let isTableDraggable = !!dragAndDropHooks?.useDraggableCollectionState;\n let state = UNSTABLE_useTreeGridState({\n ...props,\n showSelectionCheckboxes,\n showDragButtons: isTableDraggable,\n selectionBehavior: props.selectionStyle === 'highlight' ? 'replace' : 'toggle'\n });\n\n // If the selection behavior changes in state, we need to update showSelectionCheckboxes here due to the circular dependency...\n let shouldShowCheckboxes = state.selectionManager.selectionBehavior !== 'replace';\n if (shouldShowCheckboxes !== showSelectionCheckboxes) {\n setShowSelectionCheckboxes(shouldShowCheckboxes);\n }\n\n return (\n <TableViewBase {...props} state={state} ref={ref} />\n );\n}\n\nconst _TreeGridTableView = React.forwardRef(TreeGridTableView) as <T>(props: TreeGridTableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\nexport {_TreeGridTableView as TreeGridTableView};\n"],"names":[],"version":3,"file":"main.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC,GAED,0CAA0C;;;AAO1C,6DAA6D;AAC7D,MAAM,4CAAiB,CAAA,GAAA,+BAAK","sources":["packages/@react-spectrum/table/src/index.ts"],"sourcesContent":["/*\n * Copyright 2020 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/// <reference types=\"css-module-types\" />\n\nexport {TableView} from './TableViewWrapper';\nimport {Column} from '@react-stately/table';\nimport {JSX} from 'react';\nimport {SpectrumColumnProps} from '@react-types/table';\n\n// Override TS for Column to support spectrum specific props.\nconst SpectrumColumn = Column as <T>(props: SpectrumColumnProps<T>) => JSX.Element;\nexport {SpectrumColumn as Column};\n\nexport {\n TableHeader,\n TableBody,\n Section,\n Row,\n Cell\n} from '@react-stately/table';\n\nexport type {SpectrumColumnProps, TableHeaderProps, TableBodyProps, RowProps, CellProps} from '@react-types/table';\nexport type {SpectrumTableProps} from './TableViewWrapper';\n"],"names":[],"version":3,"file":"main.js.map"}