Files
NapCatQQ/.pnpm-store/v3/files/e4/a0a5879c94f78dcd97a0fa46889e86b1ec1bc1314f8f570229ad033ecf7117f3627f9fdc4675fcf690146c3ba391de8c770b42aff36e4d7c14aff159fb2e4a
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

1 line
15 KiB
Plaintext

{"mappings":"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","sources":["packages/@react-aria/table/src/useTableColumnResize.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ChangeEvent, useCallback, useEffect, useRef} from 'react';\nimport {ColumnSize} from '@react-types/table';\nimport {DOMAttributes, FocusableElement, Key, RefObject} from '@react-types/shared';\nimport {focusSafely, useInteractionModality, useKeyboard, useMove, usePress} from '@react-aria/interactions';\nimport {getColumnHeaderId} from './utils';\nimport {GridNode} from '@react-types/grid';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {mergeProps, useDescription, useEffectEvent, useId} from '@react-aria/utils';\nimport {TableColumnResizeState} from '@react-stately/table';\nimport {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useVisuallyHidden} from '@react-aria/visually-hidden';\n\nexport interface TableColumnResizeAria {\n /** Props for the visually hidden input element. */\n inputProps: DOMAttributes,\n /** Props for the resizer element. */\n resizerProps: DOMAttributes,\n /** Whether this column is currently being resized. */\n isResizing: boolean\n}\n\nexport interface AriaTableColumnResizeProps<T> {\n /** An object representing the [column header](https://www.w3.org/TR/wai-aria-1.1/#columnheader). Contains all the relevant information that makes up the column header. */\n column: GridNode<T>,\n /** Aria label for the hidden input. Gets read when resizing. */\n 'aria-label': string,\n /**\n * Ref to the trigger if resizing was started from a column header menu. If it's provided,\n * focus will be returned there when resizing is done. If it isn't provided, it is assumed that the resizer is\n * visible at all time and keyboard resizing is started via pressing Enter on the resizer and not on focus.\n * */\n triggerRef?: RefObject<FocusableElement | null>,\n /** If resizing is disabled. */\n isDisabled?: boolean,\n /** Called when resizing starts. */\n onResizeStart?: (widths: Map<Key, ColumnSize>) => void,\n /** Called for every resize event that results in new column sizes. */\n onResize?: (widths: Map<Key, ColumnSize>) => void,\n /** Called when resizing ends. */\n onResizeEnd?: (widths: Map<Key, ColumnSize>) => void\n}\n\n/**\n * Provides the behavior and accessibility implementation for a table column resizer element.\n * @param props - Props for the resizer.\n * @param state - State for the table's resizable columns, as returned by `useTableColumnResizeState`.\n * @param ref - The ref attached to the resizer's visually hidden input element.\n */\nexport function useTableColumnResize<T>(props: AriaTableColumnResizeProps<T>, state: TableColumnResizeState<T>, ref: RefObject<HTMLInputElement | null>): TableColumnResizeAria {\n let {column: item, triggerRef, isDisabled, onResizeStart, onResize, onResizeEnd, 'aria-label': ariaLabel} = props;\n const stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-aria/table');\n let id = useId();\n let isResizing = state.resizingColumn === item.key;\n let isResizingRef = useRef(isResizing);\n let lastSize = useRef<Map<Key, ColumnSize> | null>(null);\n let wasFocusedOnResizeStart = useRef(false);\n let editModeEnabled = state.tableState.isKeyboardNavigationDisabled;\n\n let {direction} = useLocale();\n let {keyboardProps} = useKeyboard({\n onKeyDown: (e) => {\n if (editModeEnabled) {\n if (e.key === 'Escape' || e.key === 'Enter' || e.key === ' ' || e.key === 'Tab') {\n e.preventDefault();\n endResize(item);\n }\n } else {\n // Continue propagation on keydown events so they still bubbles to useSelectableCollection and are handled there\n e.continuePropagation();\n\n if (e.key === 'Enter') {\n startResize(item);\n }\n }\n }\n });\n\n let startResize = useEffectEvent((item) => {\n if (!isResizingRef.current) {\n lastSize.current = state.updateResizedColumns(item.key, state.getColumnWidth(item.key));\n state.startResize(item.key);\n state.tableState.setKeyboardNavigationDisabled(true);\n onResizeStart?.(lastSize.current);\n }\n isResizingRef.current = true;\n });\n\n let resize = useEffectEvent((item, newWidth) => {\n let sizes = state.updateResizedColumns(item.key, newWidth);\n onResize?.(sizes);\n lastSize.current = sizes;\n });\n\n let endResize = useEffectEvent((item) => {\n if (isResizingRef.current) {\n if (lastSize.current == null) {\n lastSize.current = state.updateResizedColumns(item.key, state.getColumnWidth(item.key));\n }\n\n state.endResize();\n state.tableState.setKeyboardNavigationDisabled(false);\n onResizeEnd?.(lastSize.current);\n isResizingRef.current = false;\n\n if (triggerRef?.current && !wasFocusedOnResizeStart.current) {\n // switch focus back to the column header unless the resizer was already focused when resizing started.\n focusSafely(triggerRef.current);\n }\n }\n lastSize.current = null;\n });\n\n const columnResizeWidthRef = useRef<number>(0);\n const {moveProps} = useMove({\n onMoveStart() {\n columnResizeWidthRef.current = state.getColumnWidth(item.key);\n startResize(item);\n },\n onMove(e) {\n let {deltaX, deltaY, pointerType} = e;\n if (direction === 'rtl') {\n deltaX *= -1;\n }\n if (pointerType === 'keyboard') {\n if (deltaY !== 0 && deltaX === 0) {\n deltaX = deltaY * -1;\n }\n deltaX *= 10;\n }\n // if moving up/down only, no need to resize\n if (deltaX !== 0) {\n columnResizeWidthRef.current += deltaX;\n resize(item, columnResizeWidthRef.current);\n }\n },\n onMoveEnd(e) {\n let {pointerType} = e;\n columnResizeWidthRef.current = 0;\n if (pointerType === 'mouse' || (pointerType === 'touch' && wasFocusedOnResizeStart.current)) {\n endResize(item);\n }\n }\n });\n\n let onKeyDown = useCallback((e) => {\n if (editModeEnabled) {\n moveProps.onKeyDown?.(e);\n }\n }, [editModeEnabled, moveProps]);\n\n\n let min = Math.floor(state.getColumnMinWidth(item.key));\n let max = Math.floor(state.getColumnMaxWidth(item.key));\n if (max === Infinity) {\n max = Number.MAX_SAFE_INTEGER;\n }\n let value = Math.floor(state.getColumnWidth(item.key));\n let modality: string | null = useInteractionModality();\n if (modality === 'virtual' && (typeof window !== 'undefined' && 'ontouchstart' in window)) {\n modality = 'touch';\n }\n let description = triggerRef?.current == null && (modality === 'keyboard' || modality === 'virtual') && !isResizing ? stringFormatter.format('resizerDescription') : undefined;\n let descriptionProps = useDescription(description);\n let ariaProps = {\n 'aria-label': ariaLabel,\n 'aria-orientation': 'horizontal' as 'horizontal',\n 'aria-labelledby': `${id} ${getColumnHeaderId(state.tableState, item.key)}`,\n 'aria-valuetext': stringFormatter.format('columnSize', {value}),\n 'type': 'range',\n min,\n max,\n value,\n ...descriptionProps\n };\n\n const focusInput = useCallback(() => {\n if (ref.current) {\n focusSafely(ref.current);\n }\n }, [ref]);\n\n let resizingColumn = state.resizingColumn;\n let prevResizingColumn = useRef<Key | null>(null);\n useEffect(() => {\n if (prevResizingColumn.current !== resizingColumn && resizingColumn != null && resizingColumn === item.key) {\n wasFocusedOnResizeStart.current = document.activeElement === ref.current;\n startResize(item);\n // Delay focusing input until Android Chrome's delayed click after touchend happens: https://bugs.chromium.org/p/chromium/issues/detail?id=1150073\n let timeout = setTimeout(() => focusInput(), 0);\n // VoiceOver on iOS has problems focusing the input from a menu.\n let VOTimeout = setTimeout(focusInput, 400);\n return () => {\n clearTimeout(timeout);\n clearTimeout(VOTimeout);\n };\n }\n prevResizingColumn.current = resizingColumn;\n }, [resizingColumn, item, focusInput, ref, startResize]);\n\n let onChange = (e: ChangeEvent<HTMLInputElement>) => {\n let currentWidth = state.getColumnWidth(item.key);\n let nextValue = parseFloat(e.target.value);\n\n if (nextValue > currentWidth) {\n nextValue = currentWidth + 10;\n } else {\n nextValue = currentWidth - 10;\n }\n resize(item, nextValue);\n };\n\n let {pressProps} = usePress({\n preventFocusOnPress: true,\n onPressStart: (e) => {\n if (e.ctrlKey || e.altKey || e.metaKey || e.shiftKey || e.pointerType === 'keyboard') {\n return;\n }\n if (e.pointerType === 'virtual' && state.resizingColumn != null) {\n endResize(item);\n return;\n }\n\n // Sometimes onPress won't trigger for quick taps on mobile so we want to focus the input so blurring away\n // can cancel resize mode for us.\n focusInput();\n\n // If resizer is always visible, mobile screenreader user can access the visually hidden resizer directly and thus we don't need\n // to handle a virtual click to start the resizer.\n if (e.pointerType !== 'virtual') {\n startResize(item);\n }\n },\n onPress: (e) => {\n if (((e.pointerType === 'touch' && wasFocusedOnResizeStart.current) || e.pointerType === 'mouse') && state.resizingColumn != null) {\n endResize(item);\n }\n }\n });\n let {visuallyHiddenProps} = useVisuallyHidden();\n\n return {\n resizerProps: mergeProps(\n keyboardProps,\n {...moveProps, onKeyDown},\n pressProps,\n {style: {touchAction: 'none'}}\n ),\n inputProps: mergeProps(\n visuallyHiddenProps,\n {\n id,\n onBlur: () => {\n endResize(item);\n },\n onChange,\n disabled: isDisabled\n },\n ariaProps\n ),\n isResizing\n };\n}\n"],"names":[],"version":3,"file":"useTableColumnResize.main.js.map"}