@react-spectrum/table 3.6.2-nightly.3686 → 3.6.2-nightly.3690
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +5 -5
- package/dist/main.js.map +1 -1
- package/dist/module.js +6 -6
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -27
- package/src/TableView.tsx +4 -3
package/dist/main.js
CHANGED
|
@@ -1203,17 +1203,17 @@ function $be8a9c035a82f788$var$TableVirtualizer({ layout: layout , collection: c
|
|
|
1203
1203
|
// header scroll position
|
|
1204
1204
|
(0, $3fpzo$react.useEffect)(()=>{
|
|
1205
1205
|
if ((0, $3fpzo$reactariainteractions.getInteractionModality)() === "keyboard" && headerRef.current.contains(document.activeElement)) {
|
|
1206
|
-
|
|
1207
|
-
(
|
|
1208
|
-
|
|
1209
|
-
inline: "nearest"
|
|
1206
|
+
(0, $3fpzo$reactariautils.scrollIntoView)(headerRef.current, document.activeElement);
|
|
1207
|
+
(0, $3fpzo$reactariautils.scrollIntoViewport)(document.activeElement, {
|
|
1208
|
+
containingElement: domRef.current
|
|
1210
1209
|
});
|
|
1211
1210
|
bodyRef.current.scrollLeft = headerRef.current.scrollLeft;
|
|
1212
1211
|
}
|
|
1213
1212
|
}, [
|
|
1214
1213
|
state.contentSize,
|
|
1215
1214
|
headerRef,
|
|
1216
|
-
bodyRef
|
|
1215
|
+
bodyRef,
|
|
1216
|
+
domRef
|
|
1217
1217
|
]);
|
|
1218
1218
|
let headerHeight = ((_layout_getLayoutInfo = layout.getLayoutInfo("header")) === null || _layout_getLayoutInfo === void 0 ? void 0 : _layout_getLayoutInfo.rect.height) || 0;
|
|
1219
1219
|
let visibleRect = state.virtualizer.visibleRect;
|
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/TableView.tsx","packages/@react-spectrum/table/intl/*.js","packages/@react-spectrum/table/intl/ar-AE.json","packages/@react-spectrum/table/intl/bg-BG.json","packages/@react-spectrum/table/intl/cs-CZ.json","packages/@react-spectrum/table/intl/da-DK.json","packages/@react-spectrum/table/intl/de-DE.json","packages/@react-spectrum/table/intl/el-GR.json","packages/@react-spectrum/table/intl/en-US.json","packages/@react-spectrum/table/intl/es-ES.json","packages/@react-spectrum/table/intl/et-EE.json","packages/@react-spectrum/table/intl/fi-FI.json","packages/@react-spectrum/table/intl/fr-FR.json","packages/@react-spectrum/table/intl/he-IL.json","packages/@react-spectrum/table/intl/hr-HR.json","packages/@react-spectrum/table/intl/hu-HU.json","packages/@react-spectrum/table/intl/it-IT.json","packages/@react-spectrum/table/intl/ja-JP.json","packages/@react-spectrum/table/intl/ko-KR.json","packages/@react-spectrum/table/intl/lt-LT.json","packages/@react-spectrum/table/intl/lv-LV.json","packages/@react-spectrum/table/intl/nb-NO.json","packages/@react-spectrum/table/intl/nl-NL.json","packages/@react-spectrum/table/intl/pl-PL.json","packages/@react-spectrum/table/intl/pt-BR.json","packages/@react-spectrum/table/intl/pt-PT.json","packages/@react-spectrum/table/intl/ro-RO.json","packages/@react-spectrum/table/intl/ru-RU.json","packages/@react-spectrum/table/intl/sk-SK.json","packages/@react-spectrum/table/intl/sl-SI.json","packages/@react-spectrum/table/intl/sr-SP.json","packages/@react-spectrum/table/intl/sv-SE.json","packages/@react-spectrum/table/intl/tr-TR.json","packages/@react-spectrum/table/intl/uk-UA.json","packages/@react-spectrum/table/intl/zh-CN.json","packages/@react-spectrum/table/intl/zh-TW.json","packages/@react-spectrum/table/src/Nubbin.tsx","packages/@react-spectrum/table/src/Resizer.tsx","packages/@adobe/spectrum-css-temp/components/table/vars.css","packages/@react-spectrum/table/src/table.css"],"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 './TableView';\nimport {Column} from '@react-stately/table';\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 {SpectrumTableProps, SpectrumColumnProps, TableHeaderProps, TableBodyProps, RowProps, CellProps} from '@react-types/table';\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\nimport ArrowDownSmall from '@spectrum-icons/ui/ArrowDownSmall';\nimport {chain, mergeProps, scrollIntoViewport, useLayoutEffect} from '@react-aria/utils';\nimport {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport {\n classNames,\n useDOMRef,\n useFocusableRef,\n useIsMobileDevice,\n useStyleProps,\n useUnwrapDOMRef\n} from '@react-spectrum/utils';\nimport {ColumnSize, SpectrumColumnProps, SpectrumTableProps} from '@react-types/table';\nimport {DOMRef, FocusableRef} from '@react-types/shared';\nimport {FocusRing, FocusScope, useFocusRing} from '@react-aria/focus';\nimport {getInteractionModality, useHover, usePress} from '@react-aria/interactions';\nimport {GridNode} from '@react-types/grid';\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 {Nubbin} from './Nubbin';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {Key, ReactElement, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {Rect, ReusableView, useVirtualizerState} from '@react-stately/virtualizer';\nimport {Resizer} from './Resizer';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\nimport {TableColumnLayout, TableState, useTableState} 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 {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\ninterface TableContextValue<T> {\n state: TableState<T>,\n layout: TableLayout<T> & {tableState: TableState<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\nconst TableContext = React.createContext<TableContextValue<unknown>>(null);\nexport function useTableContext() {\n return useContext(TableContext);\n}\n\nconst VirtualizerContext = React.createContext(null);\nexport function useVirtualizerContext() {\n return useContext(VirtualizerContext);\n}\n\nfunction TableView<T extends object>(props: SpectrumTableProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {isQuiet, onAction, onResizeStart: propsOnResizeStart, onResizeEnd: propsOnResizeEnd} = props;\n let {styleProps} = useStyleProps(props);\n\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(props.selectionStyle !== 'highlight');\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n const getDefaultWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider}}: 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 }\n }, [scale]);\n\n const getDefaultMinWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider}}: 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 }\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 let state = useTableState({\n ...props,\n showSelectionCheckboxes,\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 let domRef = useDOMRef(ref);\n let headerRef = useRef<HTMLDivElement>();\n let bodyRef = useRef<HTMLDivElement>();\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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 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>};\n }, [state, tableLayout]);\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>, unknown>;\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 {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 {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\n return (\n <VirtualizerItem\n key={reusableView.key}\n reusableView={reusableView}\n parent={parent}\n className={\n classNames(\n styles,\n 'spectrum-Table-cellWrapper',\n classNames(\n stylesOverrides,\n {\n 'react-spectrum-Table-cellWrapper': !reusableView.layoutInfo.estimatedSize\n }\n )\n )\n } />\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 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 // 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 return (\n <TableContext.Provider value={{state, layout, onResizeStart, onResize: props.onResize, onResizeEnd, headerRowHovered, isInResizeMode, setIsInResizeMode, isEmpty, onFocusedResizer, headerMenuOpen, setHeaderMenuOpen}}>\n <TableVirtualizer\n {...mergeProps(gridProps, focusProps)}\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={state.selectionManager.focusedKey}\n renderView={renderView}\n renderWrapper={renderWrapper}\n onVisibleRectChange={onVisibleRectChange}\n domRef={domRef}\n headerRef={headerRef}\n bodyRef={bodyRef}\n isFocusVisible={isFocusVisible} />\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({layout, collection, focusedKey, renderView, renderWrapper, domRef, bodyRef, headerRef, onVisibleRectChange: onVisibleRectChangeProp, isFocusVisible, ...otherProps}) {\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({\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 let modality = getInteractionModality();\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\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 if (modality === 'keyboard') {\n scrollIntoViewport(document.activeElement, {containingElement: domRef.current});\n }\n }, [collection, domRef, bodyRef, headerRef, layout, state.virtualizer]);\n\n let {virtualizerProps} = useVirtualizer({\n focusedKey,\n scrollToItem\n }, 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 document.activeElement?.scrollIntoView?.({block: 'nearest', inline: 'nearest'});\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n }\n }, [state.contentSize, headerRef, bodyRef]);\n\n let headerHeight = layout.getLayoutInfo('header')?.rect.height || 0;\n let visibleRect = state.virtualizer.visibleRect;\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 onVisibleRectChange = useCallback((rect: Rect) => {\n state.setVisibleRect(rect);\n\n if (!isLoading && onLoadMore) {\n let scrollOffset = state.virtualizer.contentSize.height - rect.height * 2;\n if (rect.y > scrollOffset) {\n onLoadMore();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onLoadMore, isLoading, state.setVisibleRect, state.virtualizer]);\n\n useLayoutEffect(() => {\n if (!isLoading && onLoadMore && !state.isAnimating) {\n if (state.contentSize.height <= state.virtualizer.visibleRect.height) {\n onLoadMore();\n }\n }\n }, [state.contentSize, state.virtualizer, state.isAnimating, onLoadMore, isLoading]);\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\n return (\n <VirtualizerContext.Provider value={resizingColumn}>\n <FocusScope>\n <div\n {...mergeProps(otherProps, virtualizerProps)}\n ref={domRef}>\n <div\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-headWrapper')}\n style={{\n width: visibleRect.width,\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 )\n }\n tabIndex={-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 onFocusedResizer,\n isInResizeMode,\n headerMenuOpen,\n setHeaderMenuOpen\n } = useTableContext();\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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.onColumnResizeStart(column.key);\n setIsInResizeMode(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 let isMobile = useIsMobileDevice();\n\n let resizingColumn = layout.resizingColumn;\n let prevResizingColumn = useRef(null);\n let timeout = useRef(null);\n useEffect(() => {\n if (prevResizingColumn.current !== resizingColumn &&\n resizingColumn != null &&\n resizingColumn === column.key) {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n // focusSafely won't actually focus because the focus moves from the menuitem to the body during the after transition wait\n // without the immediate timeout, Android Chrome doesn't move focus to the resizer\n let focusResizer = () => {\n resizingRef.current.focus();\n onFocusedResizer();\n timeout.current = null;\n };\n if (isMobile) {\n timeout.current = setTimeout(focusResizer, 400);\n return;\n }\n timeout.current = setTimeout(focusResizer, 0);\n }\n prevResizingColumn.current = resizingColumn;\n }, [resizingColumn, column.key, isMobile, onFocusedResizer, resizingRef, prevResizingColumn, timeout]);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearTimeout(timeout.current);\n }, []);\n\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 TableRowGroup({children, ...otherProps}) {\n let {rowGroupProps} = useTableRowGroup();\n\n return (\n <div {...rowGroupProps} {...otherProps}>\n {children}\n </div>\n );\n}\n\nfunction TableRow({item, children, hasActions, ...otherProps}) {\n let ref = useRef();\n let {state, layout} = useTableContext();\n let allowsInteraction = state.selectionManager.selectionMode !== 'none' || hasActions;\n let isDisabled = !allowsInteraction || state.disabledKeys.has(item.key);\n let isSelected = state.selectionManager.isSelected(item.key);\n let {rowProps} = useTableRow({\n node: item,\n isVirtualized: true\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 props = mergeProps(\n rowProps,\n otherProps,\n focusWithinProps,\n focusProps,\n hoverProps,\n pressProps\n );\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 return (\n <div\n {...props}\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 )\n }>\n {children}\n </div>\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 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 {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 {state} = useTableContext();\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\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 'spectrum-Table-cell--divider': columnProps.showDivider && cell.column.nextKey !== null,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader,\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 <span\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 CenteredWrapper({children}) {\n let {state} = useTableContext();\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.headerRows.length + state.collection.size + 1}\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\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 _TableView = React.forwardRef(TableView) as <T>(props: SpectrumTableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n\nexport {_TableView as TableView};\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"columnResizer\": \"أداة تغيير حجم العمود\",\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\",\n \"resizeColumn\": \"تغيير حجم العمود\",\n \"sortAscending\": \"فرز بترتيب تصاعدي\",\n \"sortDescending\": \"فرز بترتيب تنازلي\"\n}\n","{\n \"columnResizer\": \"Преоразмеряване на колони\",\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\",\n \"resizeColumn\": \"Преоразмеряване на колона\",\n \"sortAscending\": \"Възходящо сортиране\",\n \"sortDescending\": \"Низходящо сортиране \"\n}\n","{\n \"columnResizer\": \"Změna velikosti sloupce\",\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\",\n \"resizeColumn\": \"Změnit velikost sloupce\",\n \"sortAscending\": \"Seřadit vzestupně\",\n \"sortDescending\": \"Seřadit sestupně\"\n}\n","{\n \"columnResizer\": \"Kolonneændring\",\n \"loading\": \"Indlæser ...\",\n \"loadingMore\": \"Indlæser flere ...\",\n \"resizeColumn\": \"Tilpas størrelse på kolonne\",\n \"sortAscending\": \"Sorter stigende\",\n \"sortDescending\": \"Sorter faldende\"\n}\n","{\n \"columnResizer\": \"Spaltenanpassung\",\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\",\n \"resizeColumn\": \"Spaltengröße ändern\",\n \"sortAscending\": \"Aufsteigend sortieren\",\n \"sortDescending\": \"Absteigend sortieren\"\n}\n","{\n \"columnResizer\": \"Αλλαγή μεγέθους στήλης\",\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\",\n \"resizeColumn\": \"Αλλαγή μεγέθους στήλης\",\n \"sortAscending\": \"Ταξινόμηση κατά αύξουσα σειρά\",\n \"sortDescending\": \"Ταξινόμηση κατά φθίνουσα σειρά\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\",\n \"sortAscending\": \"Sort Ascending\",\n \"sortDescending\": \"Sort Descending\",\n \"resizeColumn\": \"Resize column\",\n \"columnResizer\": \"Column resizer\"\n}\n","{\n \"columnResizer\": \"Redimensionador de columnas\",\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\",\n \"resizeColumn\": \"Cambiar el tamaño de la columna\",\n \"sortAscending\": \"Orden de subida\",\n \"sortDescending\": \"Orden de bajada\"\n}\n","{\n \"columnResizer\": \"Veeru suuruse muutja\",\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\",\n \"resizeColumn\": \"Muuda veeru suurust\",\n \"sortAscending\": \"Sordi kasvavalt\",\n \"sortDescending\": \"Sordi kahanevalt\"\n}\n","{\n \"columnResizer\": \"Sarakekoon muuttaja\",\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\",\n \"resizeColumn\": \"Muuta sarakkeen kokoa\",\n \"sortAscending\": \"Lajittelujärjestys: nouseva\",\n \"sortDescending\": \"Lajittelujärjestys: laskeva\"\n}\n","{\n \"columnResizer\": \"Redimensionnement de colonne\",\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\",\n \"resizeColumn\": \"Redimensionner la colonne\",\n \"sortAscending\": \"Trier par ordre croissant\",\n \"sortDescending\": \"Trier par ordre décroissant\"\n}\n","{\n \"columnResizer\": \"שינוי גודל עמודה\",\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\",\n \"resizeColumn\": \"שנה את גודל העמודה\",\n \"sortAscending\": \"מיין בסדר עולה\",\n \"sortDescending\": \"מיין בסדר יורד\"\n}\n","{\n \"columnResizer\": \"Alat za promjenu veličine stupca\",\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\",\n \"resizeColumn\": \"Promijeni veličinu stupca\",\n \"sortAscending\": \"Sortiraj uzlazno\",\n \"sortDescending\": \"Sortiraj silazno\"\n}\n","{\n \"columnResizer\": \"Oszlopátméretező\",\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\",\n \"resizeColumn\": \"Oszlop átméretezése\",\n \"sortAscending\": \"Növekvő rendezés\",\n \"sortDescending\": \"Csökkenő rendezés\"\n}\n","{\n \"columnResizer\": \"Ridimensionamento colonne\",\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\",\n \"resizeColumn\": \"Ridimensiona colonna\",\n \"sortAscending\": \"Ordinamento crescente\",\n \"sortDescending\": \"Ordinamento decrescente\"\n}\n","{\n \"columnResizer\": \"列リサイザー\",\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\",\n \"resizeColumn\": \"列幅を変更\",\n \"sortAscending\": \"昇順に並べ替え\",\n \"sortDescending\": \"降順に並べ替え\"\n}\n","{\n \"columnResizer\": \"열 크기 조정기\",\n \"loading\": \"로드 중\",\n \"loadingMore\": \"추가 로드 중\",\n \"resizeColumn\": \"열 크기 조정\",\n \"sortAscending\": \"오름차순 정렬\",\n \"sortDescending\": \"내림차순 정렬\"\n}\n","{\n \"columnResizer\": \"Stulpelio dydžio keitiklis\",\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\",\n \"resizeColumn\": \"Keisti stulpelio dydį\",\n \"sortAscending\": \"Rikiuoti didėjimo tvarka\",\n \"sortDescending\": \"Rikiuoti mažėjimo tvarka\"\n}\n","{\n \"columnResizer\": \"Kolonnas izmēru mainītājs\",\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\",\n \"resizeColumn\": \"Mainīt kolonnas lielumu\",\n \"sortAscending\": \"Kārtot augošā secībā\",\n \"sortDescending\": \"Kārtot dilstošā secībā\"\n}\n","{\n \"columnResizer\": \"Størrelsesendring av kolonne\",\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\",\n \"resizeColumn\": \"Endre størrelse på kolonne\",\n \"sortAscending\": \"Sorter stigende\",\n \"sortDescending\": \"Sorter synkende\"\n}\n","{\n \"columnResizer\": \"Groottewijziging van kolom\",\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\",\n \"resizeColumn\": \"Kolomgrootte wijzigen\",\n \"sortAscending\": \"Oplopend sorteren\",\n \"sortDescending\": \"Aflopend sorteren\"\n}\n","{\n \"columnResizer\": \"Narzędzie zmiany rozmiaru kolumny\",\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\",\n \"resizeColumn\": \"Zmień rozmiar kolumny\",\n \"sortAscending\": \"Sortuj rosnąco\",\n \"sortDescending\": \"Sortuj malejąco\"\n}\n","{\n \"columnResizer\": \"Redimensionamento de colunas\",\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\",\n \"resizeColumn\": \"Redimensionar coluna\",\n \"sortAscending\": \"Ordenar por ordem crescente\",\n \"sortDescending\": \"Ordenar por ordem decrescente\"\n}\n","{\n \"columnResizer\": \"Redimensionador de coluna\",\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\",\n \"resizeColumn\": \"Redimensionar coluna\",\n \"sortAscending\": \"Ordenar por ordem ascendente\",\n \"sortDescending\": \"Ordenar por ordem decrescente\"\n}\n","{\n \"columnResizer\": \"Instrument redimensionare coloane\",\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\",\n \"resizeColumn\": \"Redimensionați coloana\",\n \"sortAscending\": \"Sortați crescător\",\n \"sortDescending\": \"Sortați descrescător\"\n}\n","{\n \"columnResizer\": \"Средство изменения размера столбцов\",\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\",\n \"resizeColumn\": \"Изменить размер столбца\",\n \"sortAscending\": \"Сортировать по возрастанию\",\n \"sortDescending\": \"Сортировать по убыванию\"\n}\n","{\n \"columnResizer\": \"Nástroj na zmenu veľkosti stĺpcov\",\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\",\n \"resizeColumn\": \"Zmeniť veľkosť stĺpca\",\n \"sortAscending\": \"Zoradiť vzostupne\",\n \"sortDescending\": \"Zoradiť zostupne\"\n}\n","{\n \"columnResizer\": \"Prilagojevalnik velikosti stolpcev\",\n \"loading\": \"Nalaganje...\",\n \"loadingMore\": \"Nalaganje več vsebine...\",\n \"resizeColumn\": \"Spremeni velikost stolpca\",\n \"sortAscending\": \"Razvrsti naraščajoče\",\n \"sortDescending\": \"Razvrsti padajoče\"\n}\n","{\n \"columnResizer\": \"Alat za promenu veličine kolone\",\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\",\n \"resizeColumn\": \"Promeni veličinu kolone\",\n \"sortAscending\": \"Sortiraj po rastućem redosledu\",\n \"sortDescending\": \"Sortiraj po opadajućem redosledu\"\n}\n","{\n \"columnResizer\": \"Ändra storlek på kolumn\",\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\",\n \"resizeColumn\": \"Ändra storlek på kolumn\",\n \"sortAscending\": \"Sortera i stigande ordning\",\n \"sortDescending\": \"Sortera i fallande ordning\"\n}\n","{\n \"columnResizer\": \"Yeniden sütun boyutlandırıcı\",\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\",\n \"resizeColumn\": \"Sütunu yeniden boyutlandır\",\n \"sortAscending\": \"Artan Sıralama\",\n \"sortDescending\": \"Azalan Sıralama\"\n}\n","{\n \"columnResizer\": \"Засіб змінення розміру стовпця\",\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\",\n \"resizeColumn\": \"Змінити розмір стовпця\",\n \"sortAscending\": \"Сортувати за зростанням\",\n \"sortDescending\": \"Сортувати за спаданням\"\n}\n","{\n \"columnResizer\": \"列尺寸调整器\",\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\",\n \"resizeColumn\": \"调整列大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n","{\n \"columnResizer\": \"欄大小調整器\",\n \"loading\": \"正在載入\",\n \"loadingMore\": \"正在載入更多…\",\n \"resizeColumn\": \"調整欄大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport 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';\nimport {FocusRing} from '@react-aria/focus';\nimport {getInteractionModality} from '@react-aria/interactions';\nimport {GridNode} from '@react-types/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {Key, 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 './TableView';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\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\nlet CURSOR_CLASSES = {\n w: classNames(styles, 'resize-w'),\n e: classNames(styles, 'resize-e'),\n ew: classNames(styles, 'resize-ew')\n};\n\nfunction Resizer<T>(props: ResizerProps<T>, ref: RefObject<HTMLInputElement>) {\n let {column, showResizer} = props;\n let {isEmpty, layout} = 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);\n let {direction} = useLocale();\n let [directionClass, setDirectionClass] = React.useState(null);\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 label: stringFormatter.format('columnResizer'),\n isDisabled: isEmpty,\n onResizeStart: () => {\n if (getInteractionModality() === 'pointer') {\n if (layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.w : CURSOR_CLASSES.e);\n } else if (layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.e : CURSOR_CLASSES.w);\n } else {\n setDirectionClass(CURSOR_CLASSES.ew);\n }\n } else {\n setDirectionClass(null);\n }\n },\n onResize: () => {\n if (getInteractionModality() === 'pointer') {\n if (layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.w : CURSOR_CLASSES.e);\n } else if (layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.e : CURSOR_CLASSES.w);\n } else {\n setDirectionClass(CURSOR_CLASSES.ew);\n }\n } else {\n setDirectionClass(null);\n }\n },\n onResizeEnd: () => {\n setDirectionClass(null);\n }\n }), layout, ref);\n\n let style = {\n cursor: undefined,\n height: '100%',\n display: showResizer ? undefined : 'none',\n touchAction: 'none'\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\n return (\n <>\n <FocusRing within focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n role=\"presentation\"\n style={style}\n className={classNames(\n styles,\n 'spectrum-Table-columnResizer',\n {\n 'spectrum-Table-columnResizer--ewresize': !(isEResizable && isWResizable),\n 'spectrum-Table-columnResizer--eresize': direction === 'rtl' ? isWResizable : isEResizable,\n 'spectrum-Table-columnResizer--wresize': direction === 'rtl' ? isEResizable : isWResizable\n }\n )}\n {...resizerProps}>\n <VisuallyHidden>\n <input\n ref={ref}\n type=\"range\"\n {...inputProps} />\n </VisuallyHidden>\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 className={directionClass} style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0}} />\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","/*\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","/*\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 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"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/table/src/index.ts","packages/@react-spectrum/table/src/TableView.tsx","packages/@react-spectrum/table/intl/*.js","packages/@react-spectrum/table/intl/ar-AE.json","packages/@react-spectrum/table/intl/bg-BG.json","packages/@react-spectrum/table/intl/cs-CZ.json","packages/@react-spectrum/table/intl/da-DK.json","packages/@react-spectrum/table/intl/de-DE.json","packages/@react-spectrum/table/intl/el-GR.json","packages/@react-spectrum/table/intl/en-US.json","packages/@react-spectrum/table/intl/es-ES.json","packages/@react-spectrum/table/intl/et-EE.json","packages/@react-spectrum/table/intl/fi-FI.json","packages/@react-spectrum/table/intl/fr-FR.json","packages/@react-spectrum/table/intl/he-IL.json","packages/@react-spectrum/table/intl/hr-HR.json","packages/@react-spectrum/table/intl/hu-HU.json","packages/@react-spectrum/table/intl/it-IT.json","packages/@react-spectrum/table/intl/ja-JP.json","packages/@react-spectrum/table/intl/ko-KR.json","packages/@react-spectrum/table/intl/lt-LT.json","packages/@react-spectrum/table/intl/lv-LV.json","packages/@react-spectrum/table/intl/nb-NO.json","packages/@react-spectrum/table/intl/nl-NL.json","packages/@react-spectrum/table/intl/pl-PL.json","packages/@react-spectrum/table/intl/pt-BR.json","packages/@react-spectrum/table/intl/pt-PT.json","packages/@react-spectrum/table/intl/ro-RO.json","packages/@react-spectrum/table/intl/ru-RU.json","packages/@react-spectrum/table/intl/sk-SK.json","packages/@react-spectrum/table/intl/sl-SI.json","packages/@react-spectrum/table/intl/sr-SP.json","packages/@react-spectrum/table/intl/sv-SE.json","packages/@react-spectrum/table/intl/tr-TR.json","packages/@react-spectrum/table/intl/uk-UA.json","packages/@react-spectrum/table/intl/zh-CN.json","packages/@react-spectrum/table/intl/zh-TW.json","packages/@react-spectrum/table/src/Nubbin.tsx","packages/@react-spectrum/table/src/Resizer.tsx","packages/@adobe/spectrum-css-temp/components/table/vars.css","packages/@react-spectrum/table/src/table.css"],"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 './TableView';\nimport {Column} from '@react-stately/table';\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 {SpectrumTableProps, SpectrumColumnProps, TableHeaderProps, TableBodyProps, RowProps, CellProps} from '@react-types/table';\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\nimport ArrowDownSmall from '@spectrum-icons/ui/ArrowDownSmall';\nimport {chain, mergeProps, scrollIntoView, scrollIntoViewport, useLayoutEffect} from '@react-aria/utils';\nimport {Checkbox} from '@react-spectrum/checkbox';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport {\n classNames,\n useDOMRef,\n useFocusableRef,\n useIsMobileDevice,\n useStyleProps,\n useUnwrapDOMRef\n} from '@react-spectrum/utils';\nimport {ColumnSize, SpectrumColumnProps, SpectrumTableProps} from '@react-types/table';\nimport {DOMRef, FocusableRef} from '@react-types/shared';\nimport {FocusRing, FocusScope, useFocusRing} from '@react-aria/focus';\nimport {getInteractionModality, useHover, usePress} from '@react-aria/interactions';\nimport {GridNode} from '@react-types/grid';\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 {Nubbin} from './Nubbin';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {Key, ReactElement, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {Rect, ReusableView, useVirtualizerState} from '@react-stately/virtualizer';\nimport {Resizer} from './Resizer';\nimport styles from '@adobe/spectrum-css-temp/components/table/vars.css';\nimport stylesOverrides from './table.css';\nimport {TableColumnLayout, TableState, useTableState} 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 {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\ninterface TableContextValue<T> {\n state: TableState<T>,\n layout: TableLayout<T> & {tableState: TableState<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\nconst TableContext = React.createContext<TableContextValue<unknown>>(null);\nexport function useTableContext() {\n return useContext(TableContext);\n}\n\nconst VirtualizerContext = React.createContext(null);\nexport function useVirtualizerContext() {\n return useContext(VirtualizerContext);\n}\n\nfunction TableView<T extends object>(props: SpectrumTableProps<T>, ref: DOMRef<HTMLDivElement>) {\n props = useProviderProps(props);\n let {isQuiet, onAction, onResizeStart: propsOnResizeStart, onResizeEnd: propsOnResizeEnd} = props;\n let {styleProps} = useStyleProps(props);\n\n let [showSelectionCheckboxes, setShowSelectionCheckboxes] = useState(props.selectionStyle !== 'highlight');\n let {direction} = useLocale();\n let {scale} = useProvider();\n\n const getDefaultWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider}}: 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 }\n }, [scale]);\n\n const getDefaultMinWidth = useCallback(({props: {hideHeader, isSelectionCell, showDivider}}: 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 }\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 let state = useTableState({\n ...props,\n showSelectionCheckboxes,\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 let domRef = useDOMRef(ref);\n let headerRef = useRef<HTMLDivElement>();\n let bodyRef = useRef<HTMLDivElement>();\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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 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>};\n }, [state, tableLayout]);\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>, unknown>;\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 {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 {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\n return (\n <VirtualizerItem\n key={reusableView.key}\n reusableView={reusableView}\n parent={parent}\n className={\n classNames(\n styles,\n 'spectrum-Table-cellWrapper',\n classNames(\n stylesOverrides,\n {\n 'react-spectrum-Table-cellWrapper': !reusableView.layoutInfo.estimatedSize\n }\n )\n )\n } />\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 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 // 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 return (\n <TableContext.Provider value={{state, layout, onResizeStart, onResize: props.onResize, onResizeEnd, headerRowHovered, isInResizeMode, setIsInResizeMode, isEmpty, onFocusedResizer, headerMenuOpen, setHeaderMenuOpen}}>\n <TableVirtualizer\n {...mergeProps(gridProps, focusProps)}\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={state.selectionManager.focusedKey}\n renderView={renderView}\n renderWrapper={renderWrapper}\n onVisibleRectChange={onVisibleRectChange}\n domRef={domRef}\n headerRef={headerRef}\n bodyRef={bodyRef}\n isFocusVisible={isFocusVisible} />\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({layout, collection, focusedKey, renderView, renderWrapper, domRef, bodyRef, headerRef, onVisibleRectChange: onVisibleRectChangeProp, isFocusVisible, ...otherProps}) {\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({\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 let modality = getInteractionModality();\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\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 if (modality === 'keyboard') {\n scrollIntoViewport(document.activeElement, {containingElement: domRef.current});\n }\n }, [collection, domRef, bodyRef, headerRef, layout, state.virtualizer]);\n\n let {virtualizerProps} = useVirtualizer({\n focusedKey,\n scrollToItem\n }, 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 let visibleRect = state.virtualizer.visibleRect;\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 onVisibleRectChange = useCallback((rect: Rect) => {\n state.setVisibleRect(rect);\n\n if (!isLoading && onLoadMore) {\n let scrollOffset = state.virtualizer.contentSize.height - rect.height * 2;\n if (rect.y > scrollOffset) {\n onLoadMore();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onLoadMore, isLoading, state.setVisibleRect, state.virtualizer]);\n\n useLayoutEffect(() => {\n if (!isLoading && onLoadMore && !state.isAnimating) {\n if (state.contentSize.height <= state.virtualizer.visibleRect.height) {\n onLoadMore();\n }\n }\n }, [state.contentSize, state.virtualizer, state.isAnimating, onLoadMore, isLoading]);\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\n return (\n <VirtualizerContext.Provider value={resizingColumn}>\n <FocusScope>\n <div\n {...mergeProps(otherProps, virtualizerProps)}\n ref={domRef}>\n <div\n role=\"presentation\"\n className={classNames(styles, 'spectrum-Table-headWrapper')}\n style={{\n width: visibleRect.width,\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 )\n }\n tabIndex={-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 onFocusedResizer,\n isInResizeMode,\n headerMenuOpen,\n setHeaderMenuOpen\n } = useTableContext();\n let stringFormatter = useLocalizedStringFormatter(intlMessages);\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.onColumnResizeStart(column.key);\n setIsInResizeMode(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 let isMobile = useIsMobileDevice();\n\n let resizingColumn = layout.resizingColumn;\n let prevResizingColumn = useRef(null);\n let timeout = useRef(null);\n useEffect(() => {\n if (prevResizingColumn.current !== resizingColumn &&\n resizingColumn != null &&\n resizingColumn === column.key) {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n // focusSafely won't actually focus because the focus moves from the menuitem to the body during the after transition wait\n // without the immediate timeout, Android Chrome doesn't move focus to the resizer\n let focusResizer = () => {\n resizingRef.current.focus();\n onFocusedResizer();\n timeout.current = null;\n };\n if (isMobile) {\n timeout.current = setTimeout(focusResizer, 400);\n return;\n }\n timeout.current = setTimeout(focusResizer, 0);\n }\n prevResizingColumn.current = resizingColumn;\n }, [resizingColumn, column.key, isMobile, onFocusedResizer, resizingRef, prevResizingColumn, timeout]);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => clearTimeout(timeout.current);\n }, []);\n\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 TableRowGroup({children, ...otherProps}) {\n let {rowGroupProps} = useTableRowGroup();\n\n return (\n <div {...rowGroupProps} {...otherProps}>\n {children}\n </div>\n );\n}\n\nfunction TableRow({item, children, hasActions, ...otherProps}) {\n let ref = useRef();\n let {state, layout} = useTableContext();\n let allowsInteraction = state.selectionManager.selectionMode !== 'none' || hasActions;\n let isDisabled = !allowsInteraction || state.disabledKeys.has(item.key);\n let isSelected = state.selectionManager.isSelected(item.key);\n let {rowProps} = useTableRow({\n node: item,\n isVirtualized: true\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 props = mergeProps(\n rowProps,\n otherProps,\n focusWithinProps,\n focusProps,\n hoverProps,\n pressProps\n );\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 return (\n <div\n {...props}\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 )\n }>\n {children}\n </div>\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 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 {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 {state} = useTableContext();\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\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 'spectrum-Table-cell--divider': columnProps.showDivider && cell.column.nextKey !== null,\n 'spectrum-Table-cell--hideHeader': columnProps.hideHeader,\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 <span\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 CenteredWrapper({children}) {\n let {state} = useTableContext();\n return (\n <div\n role=\"row\"\n aria-rowindex={state.collection.headerRows.length + state.collection.size + 1}\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\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 _TableView = React.forwardRef(TableView) as <T>(props: SpectrumTableProps<T> & {ref?: DOMRef<HTMLDivElement>}) => ReactElement;\n\nexport {_TableView as TableView};\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\n}","{\n \"columnResizer\": \"أداة تغيير حجم العمود\",\n \"loading\": \"جارٍ التحميل...\",\n \"loadingMore\": \"جارٍ تحميل المزيد...\",\n \"resizeColumn\": \"تغيير حجم العمود\",\n \"sortAscending\": \"فرز بترتيب تصاعدي\",\n \"sortDescending\": \"فرز بترتيب تنازلي\"\n}\n","{\n \"columnResizer\": \"Преоразмеряване на колони\",\n \"loading\": \"Зареждане...\",\n \"loadingMore\": \"Зареждане на още...\",\n \"resizeColumn\": \"Преоразмеряване на колона\",\n \"sortAscending\": \"Възходящо сортиране\",\n \"sortDescending\": \"Низходящо сортиране \"\n}\n","{\n \"columnResizer\": \"Změna velikosti sloupce\",\n \"loading\": \"Načítání...\",\n \"loadingMore\": \"Načítání dalších...\",\n \"resizeColumn\": \"Změnit velikost sloupce\",\n \"sortAscending\": \"Seřadit vzestupně\",\n \"sortDescending\": \"Seřadit sestupně\"\n}\n","{\n \"columnResizer\": \"Kolonneændring\",\n \"loading\": \"Indlæser ...\",\n \"loadingMore\": \"Indlæser flere ...\",\n \"resizeColumn\": \"Tilpas størrelse på kolonne\",\n \"sortAscending\": \"Sorter stigende\",\n \"sortDescending\": \"Sorter faldende\"\n}\n","{\n \"columnResizer\": \"Spaltenanpassung\",\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Mehr laden ...\",\n \"resizeColumn\": \"Spaltengröße ändern\",\n \"sortAscending\": \"Aufsteigend sortieren\",\n \"sortDescending\": \"Absteigend sortieren\"\n}\n","{\n \"columnResizer\": \"Αλλαγή μεγέθους στήλης\",\n \"loading\": \"Φόρτωση...\",\n \"loadingMore\": \"Φόρτωση περισσότερων...\",\n \"resizeColumn\": \"Αλλαγή μεγέθους στήλης\",\n \"sortAscending\": \"Ταξινόμηση κατά αύξουσα σειρά\",\n \"sortDescending\": \"Ταξινόμηση κατά φθίνουσα σειρά\"\n}\n","{\n \"loading\": \"Loading…\",\n \"loadingMore\": \"Loading more…\",\n \"sortAscending\": \"Sort Ascending\",\n \"sortDescending\": \"Sort Descending\",\n \"resizeColumn\": \"Resize column\",\n \"columnResizer\": \"Column resizer\"\n}\n","{\n \"columnResizer\": \"Redimensionador de columnas\",\n \"loading\": \"Cargando…\",\n \"loadingMore\": \"Cargando más…\",\n \"resizeColumn\": \"Cambiar el tamaño de la columna\",\n \"sortAscending\": \"Orden de subida\",\n \"sortDescending\": \"Orden de bajada\"\n}\n","{\n \"columnResizer\": \"Veeru suuruse muutja\",\n \"loading\": \"Laadimine...\",\n \"loadingMore\": \"Laadi rohkem...\",\n \"resizeColumn\": \"Muuda veeru suurust\",\n \"sortAscending\": \"Sordi kasvavalt\",\n \"sortDescending\": \"Sordi kahanevalt\"\n}\n","{\n \"columnResizer\": \"Sarakekoon muuttaja\",\n \"loading\": \"Ladataan…\",\n \"loadingMore\": \"Ladataan lisää…\",\n \"resizeColumn\": \"Muuta sarakkeen kokoa\",\n \"sortAscending\": \"Lajittelujärjestys: nouseva\",\n \"sortDescending\": \"Lajittelujärjestys: laskeva\"\n}\n","{\n \"columnResizer\": \"Redimensionnement de colonne\",\n \"loading\": \"Chargement...\",\n \"loadingMore\": \"Chargement supplémentaire...\",\n \"resizeColumn\": \"Redimensionner la colonne\",\n \"sortAscending\": \"Trier par ordre croissant\",\n \"sortDescending\": \"Trier par ordre décroissant\"\n}\n","{\n \"columnResizer\": \"שינוי גודל עמודה\",\n \"loading\": \"טוען...\",\n \"loadingMore\": \"טוען עוד...\",\n \"resizeColumn\": \"שנה את גודל העמודה\",\n \"sortAscending\": \"מיין בסדר עולה\",\n \"sortDescending\": \"מיין בסדר יורד\"\n}\n","{\n \"columnResizer\": \"Alat za promjenu veličine stupca\",\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\",\n \"resizeColumn\": \"Promijeni veličinu stupca\",\n \"sortAscending\": \"Sortiraj uzlazno\",\n \"sortDescending\": \"Sortiraj silazno\"\n}\n","{\n \"columnResizer\": \"Oszlopátméretező\",\n \"loading\": \"Betöltés folyamatban…\",\n \"loadingMore\": \"Továbbiak betöltése folyamatban…\",\n \"resizeColumn\": \"Oszlop átméretezése\",\n \"sortAscending\": \"Növekvő rendezés\",\n \"sortDescending\": \"Csökkenő rendezés\"\n}\n","{\n \"columnResizer\": \"Ridimensionamento colonne\",\n \"loading\": \"Caricamento...\",\n \"loadingMore\": \"Caricamento altri...\",\n \"resizeColumn\": \"Ridimensiona colonna\",\n \"sortAscending\": \"Ordinamento crescente\",\n \"sortDescending\": \"Ordinamento decrescente\"\n}\n","{\n \"columnResizer\": \"列リサイザー\",\n \"loading\": \"読み込み中...\",\n \"loadingMore\": \"さらに読み込み中...\",\n \"resizeColumn\": \"列幅を変更\",\n \"sortAscending\": \"昇順に並べ替え\",\n \"sortDescending\": \"降順に並べ替え\"\n}\n","{\n \"columnResizer\": \"열 크기 조정기\",\n \"loading\": \"로드 중\",\n \"loadingMore\": \"추가 로드 중\",\n \"resizeColumn\": \"열 크기 조정\",\n \"sortAscending\": \"오름차순 정렬\",\n \"sortDescending\": \"내림차순 정렬\"\n}\n","{\n \"columnResizer\": \"Stulpelio dydžio keitiklis\",\n \"loading\": \"Įkeliama...\",\n \"loadingMore\": \"Įkeliama daugiau...\",\n \"resizeColumn\": \"Keisti stulpelio dydį\",\n \"sortAscending\": \"Rikiuoti didėjimo tvarka\",\n \"sortDescending\": \"Rikiuoti mažėjimo tvarka\"\n}\n","{\n \"columnResizer\": \"Kolonnas izmēru mainītājs\",\n \"loading\": \"Notiek ielāde...\",\n \"loadingMore\": \"Tiek ielādēts vēl...\",\n \"resizeColumn\": \"Mainīt kolonnas lielumu\",\n \"sortAscending\": \"Kārtot augošā secībā\",\n \"sortDescending\": \"Kārtot dilstošā secībā\"\n}\n","{\n \"columnResizer\": \"Størrelsesendring av kolonne\",\n \"loading\": \"Laster inn ...\",\n \"loadingMore\": \"Laster inn flere ...\",\n \"resizeColumn\": \"Endre størrelse på kolonne\",\n \"sortAscending\": \"Sorter stigende\",\n \"sortDescending\": \"Sorter synkende\"\n}\n","{\n \"columnResizer\": \"Groottewijziging van kolom\",\n \"loading\": \"Laden...\",\n \"loadingMore\": \"Meer laden...\",\n \"resizeColumn\": \"Kolomgrootte wijzigen\",\n \"sortAscending\": \"Oplopend sorteren\",\n \"sortDescending\": \"Aflopend sorteren\"\n}\n","{\n \"columnResizer\": \"Narzędzie zmiany rozmiaru kolumny\",\n \"loading\": \"Ładowanie...\",\n \"loadingMore\": \"Wczytywanie większej liczby...\",\n \"resizeColumn\": \"Zmień rozmiar kolumny\",\n \"sortAscending\": \"Sortuj rosnąco\",\n \"sortDescending\": \"Sortuj malejąco\"\n}\n","{\n \"columnResizer\": \"Redimensionamento de colunas\",\n \"loading\": \"Carregando...\",\n \"loadingMore\": \"Carregando mais...\",\n \"resizeColumn\": \"Redimensionar coluna\",\n \"sortAscending\": \"Ordenar por ordem crescente\",\n \"sortDescending\": \"Ordenar por ordem decrescente\"\n}\n","{\n \"columnResizer\": \"Redimensionador de coluna\",\n \"loading\": \"A carregar...\",\n \"loadingMore\": \"A carregar mais...\",\n \"resizeColumn\": \"Redimensionar coluna\",\n \"sortAscending\": \"Ordenar por ordem ascendente\",\n \"sortDescending\": \"Ordenar por ordem decrescente\"\n}\n","{\n \"columnResizer\": \"Instrument redimensionare coloane\",\n \"loading\": \"Se încarcă...\",\n \"loadingMore\": \"Se încarcă mai multe...\",\n \"resizeColumn\": \"Redimensionați coloana\",\n \"sortAscending\": \"Sortați crescător\",\n \"sortDescending\": \"Sortați descrescător\"\n}\n","{\n \"columnResizer\": \"Средство изменения размера столбцов\",\n \"loading\": \"Загрузка...\",\n \"loadingMore\": \"Дополнительная загрузка...\",\n \"resizeColumn\": \"Изменить размер столбца\",\n \"sortAscending\": \"Сортировать по возрастанию\",\n \"sortDescending\": \"Сортировать по убыванию\"\n}\n","{\n \"columnResizer\": \"Nástroj na zmenu veľkosti stĺpcov\",\n \"loading\": \"Načítava sa...\",\n \"loadingMore\": \"Načítava sa viac...\",\n \"resizeColumn\": \"Zmeniť veľkosť stĺpca\",\n \"sortAscending\": \"Zoradiť vzostupne\",\n \"sortDescending\": \"Zoradiť zostupne\"\n}\n","{\n \"columnResizer\": \"Prilagojevalnik velikosti stolpcev\",\n \"loading\": \"Nalaganje...\",\n \"loadingMore\": \"Nalaganje več vsebine...\",\n \"resizeColumn\": \"Spremeni velikost stolpca\",\n \"sortAscending\": \"Razvrsti naraščajoče\",\n \"sortDescending\": \"Razvrsti padajoče\"\n}\n","{\n \"columnResizer\": \"Alat za promenu veličine kolone\",\n \"loading\": \"Učitavam...\",\n \"loadingMore\": \"Učitavam još...\",\n \"resizeColumn\": \"Promeni veličinu kolone\",\n \"sortAscending\": \"Sortiraj po rastućem redosledu\",\n \"sortDescending\": \"Sortiraj po opadajućem redosledu\"\n}\n","{\n \"columnResizer\": \"Ändra storlek på kolumn\",\n \"loading\": \"Läser in...\",\n \"loadingMore\": \"Läser in mer...\",\n \"resizeColumn\": \"Ändra storlek på kolumn\",\n \"sortAscending\": \"Sortera i stigande ordning\",\n \"sortDescending\": \"Sortera i fallande ordning\"\n}\n","{\n \"columnResizer\": \"Yeniden sütun boyutlandırıcı\",\n \"loading\": \"Yükleniyor...\",\n \"loadingMore\": \"Daha fazla yükleniyor...\",\n \"resizeColumn\": \"Sütunu yeniden boyutlandır\",\n \"sortAscending\": \"Artan Sıralama\",\n \"sortDescending\": \"Azalan Sıralama\"\n}\n","{\n \"columnResizer\": \"Засіб змінення розміру стовпця\",\n \"loading\": \"Завантаження…\",\n \"loadingMore\": \"Завантаження інших об’єктів...\",\n \"resizeColumn\": \"Змінити розмір стовпця\",\n \"sortAscending\": \"Сортувати за зростанням\",\n \"sortDescending\": \"Сортувати за спаданням\"\n}\n","{\n \"columnResizer\": \"列尺寸调整器\",\n \"loading\": \"正在加载...\",\n \"loadingMore\": \"正在加载更多...\",\n \"resizeColumn\": \"调整列大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n","{\n \"columnResizer\": \"欄大小調整器\",\n \"loading\": \"正在載入\",\n \"loadingMore\": \"正在載入更多…\",\n \"resizeColumn\": \"調整欄大小\",\n \"sortAscending\": \"升序排序\",\n \"sortDescending\": \"降序排序\"\n}\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport 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';\nimport {FocusRing} from '@react-aria/focus';\nimport {getInteractionModality} from '@react-aria/interactions';\nimport {GridNode} from '@react-types/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {Key, 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 './TableView';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\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\nlet CURSOR_CLASSES = {\n w: classNames(styles, 'resize-w'),\n e: classNames(styles, 'resize-e'),\n ew: classNames(styles, 'resize-ew')\n};\n\nfunction Resizer<T>(props: ResizerProps<T>, ref: RefObject<HTMLInputElement>) {\n let {column, showResizer} = props;\n let {isEmpty, layout} = 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);\n let {direction} = useLocale();\n let [directionClass, setDirectionClass] = React.useState(null);\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 label: stringFormatter.format('columnResizer'),\n isDisabled: isEmpty,\n onResizeStart: () => {\n if (getInteractionModality() === 'pointer') {\n if (layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.w : CURSOR_CLASSES.e);\n } else if (layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.e : CURSOR_CLASSES.w);\n } else {\n setDirectionClass(CURSOR_CLASSES.ew);\n }\n } else {\n setDirectionClass(null);\n }\n },\n onResize: () => {\n if (getInteractionModality() === 'pointer') {\n if (layout.getColumnMinWidth(column.key) >= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.w : CURSOR_CLASSES.e);\n } else if (layout.getColumnMaxWidth(column.key) <= layout.getColumnWidth(column.key)) {\n setDirectionClass(direction === 'rtl' ? CURSOR_CLASSES.e : CURSOR_CLASSES.w);\n } else {\n setDirectionClass(CURSOR_CLASSES.ew);\n }\n } else {\n setDirectionClass(null);\n }\n },\n onResizeEnd: () => {\n setDirectionClass(null);\n }\n }), layout, ref);\n\n let style = {\n cursor: undefined,\n height: '100%',\n display: showResizer ? undefined : 'none',\n touchAction: 'none'\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\n return (\n <>\n <FocusRing within focusRingClass={classNames(styles, 'focus-ring')}>\n <div\n role=\"presentation\"\n style={style}\n className={classNames(\n styles,\n 'spectrum-Table-columnResizer',\n {\n 'spectrum-Table-columnResizer--ewresize': !(isEResizable && isWResizable),\n 'spectrum-Table-columnResizer--eresize': direction === 'rtl' ? isWResizable : isEResizable,\n 'spectrum-Table-columnResizer--wresize': direction === 'rtl' ? isEResizable : isWResizable\n }\n )}\n {...resizerProps}>\n <VisuallyHidden>\n <input\n ref={ref}\n type=\"range\"\n {...inputProps} />\n </VisuallyHidden>\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 className={directionClass} style={{position: 'fixed', top: 0, left: 0, bottom: 0, right: 0}} />\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","/*\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","/*\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 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"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./main.css";
|
|
2
2
|
import {Column as $gyhAV$Column, TableHeader as $e668f3d0f378a712$re_export$TableHeader, TableBody as $e668f3d0f378a712$re_export$TableBody, Section as $e668f3d0f378a712$re_export$Section, Row as $e668f3d0f378a712$re_export$Row, Cell as $e668f3d0f378a712$re_export$Cell, useTableState as $gyhAV$useTableState, TableColumnLayout as $gyhAV$TableColumnLayout} from "@react-stately/table";
|
|
3
3
|
import $gyhAV$spectrumiconsuiArrowDownSmall from "@spectrum-icons/ui/ArrowDownSmall";
|
|
4
|
-
import {mergeProps as $gyhAV$mergeProps, scrollIntoViewport as $gyhAV$scrollIntoViewport, useLayoutEffect as $gyhAV$useLayoutEffect, chain as $gyhAV$chain} from "@react-aria/utils";
|
|
4
|
+
import {mergeProps as $gyhAV$mergeProps, scrollIntoViewport as $gyhAV$scrollIntoViewport, scrollIntoView as $gyhAV$scrollIntoView, useLayoutEffect as $gyhAV$useLayoutEffect, chain as $gyhAV$chain} from "@react-aria/utils";
|
|
5
5
|
import {Checkbox as $gyhAV$Checkbox} from "@react-spectrum/checkbox";
|
|
6
6
|
import $gyhAV$spectrumiconsuiChevronDownMedium from "@spectrum-icons/ui/ChevronDownMedium";
|
|
7
7
|
import {useStyleProps as $gyhAV$useStyleProps, useDOMRef as $gyhAV$useDOMRef, classNames as $gyhAV$classNames, useFocusableRef as $gyhAV$useFocusableRef, useIsMobileDevice as $gyhAV$useIsMobileDevice, useUnwrapDOMRef as $gyhAV$useUnwrapDOMRef} from "@react-spectrum/utils";
|
|
@@ -1195,17 +1195,17 @@ function $d14697b14e638114$var$TableVirtualizer({ layout: layout , collection: c
|
|
|
1195
1195
|
// header scroll position
|
|
1196
1196
|
(0, $gyhAV$useEffect)(()=>{
|
|
1197
1197
|
if ((0, $gyhAV$getInteractionModality)() === "keyboard" && headerRef.current.contains(document.activeElement)) {
|
|
1198
|
-
|
|
1199
|
-
(
|
|
1200
|
-
|
|
1201
|
-
inline: "nearest"
|
|
1198
|
+
(0, $gyhAV$scrollIntoView)(headerRef.current, document.activeElement);
|
|
1199
|
+
(0, $gyhAV$scrollIntoViewport)(document.activeElement, {
|
|
1200
|
+
containingElement: domRef.current
|
|
1202
1201
|
});
|
|
1203
1202
|
bodyRef.current.scrollLeft = headerRef.current.scrollLeft;
|
|
1204
1203
|
}
|
|
1205
1204
|
}, [
|
|
1206
1205
|
state.contentSize,
|
|
1207
1206
|
headerRef,
|
|
1208
|
-
bodyRef
|
|
1207
|
+
bodyRef,
|
|
1208
|
+
domRef
|
|
1209
1209
|
]);
|
|
1210
1210
|
let headerHeight = ((_layout_getLayoutInfo = layout.getLayoutInfo("header")) === null || _layout_getLayoutInfo === void 0 ? void 0 : _layout_getLayoutInfo.rect.height) || 0;
|
|
1211
1211
|
let visibleRect = state.virtualizer.visibleRect;
|