1 line
25 KiB
JSON
1 line
25 KiB
JSON
{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport * as React from 'react';\nimport { UnstableContext } from \"../context\";\n/** Drag to delete offset. It's a user experience number for dragging out */\nvar REMOVE_DIST = 130;\nfunction getPosition(e) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return {\n pageX: obj.pageX,\n pageY: obj.pageY\n };\n}\nfunction useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable, minCount) {\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n draggingValue = _React$useState2[0],\n setDraggingValue = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n draggingIndex = _React$useState4[0],\n setDraggingIndex = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n draggingDelete = _React$useState6[0],\n setDraggingDelete = _React$useState6[1];\n var _React$useState7 = React.useState(rawValues),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n cacheValues = _React$useState8[0],\n setCacheValues = _React$useState8[1];\n var _React$useState9 = React.useState(rawValues),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n originValues = _React$useState10[0],\n setOriginValues = _React$useState10[1];\n var mouseMoveEventRef = React.useRef(null);\n var mouseUpEventRef = React.useRef(null);\n var _React$useContext = React.useContext(UnstableContext),\n onDragStart = _React$useContext.onDragStart,\n onDragChange = _React$useContext.onDragChange;\n React.useLayoutEffect(function () {\n if (draggingIndex === -1) {\n setCacheValues(rawValues);\n }\n }, [rawValues, draggingIndex]);\n\n // Clean up event\n React.useEffect(function () {\n return function () {\n document.removeEventListener('mousemove', mouseMoveEventRef.current);\n document.removeEventListener('mouseup', mouseUpEventRef.current);\n document.removeEventListener('touchmove', mouseMoveEventRef.current);\n document.removeEventListener('touchend', mouseUpEventRef.current);\n };\n }, []);\n var flushValues = function flushValues(nextValues, nextValue, deleteMark) {\n // Perf: Only update state when value changed\n if (nextValue !== undefined) {\n setDraggingValue(nextValue);\n }\n setCacheValues(nextValues);\n var changeValues = nextValues;\n if (deleteMark) {\n changeValues = nextValues.filter(function (_, i) {\n return i !== draggingIndex;\n });\n }\n triggerChange(changeValues);\n if (onDragChange) {\n onDragChange({\n rawValues: nextValues,\n deleteIndex: deleteMark ? draggingIndex : -1,\n draggingIndex: draggingIndex,\n draggingValue: nextValue\n });\n }\n };\n var updateCacheValue = useEvent(function (valueIndex, offsetPercent, deleteMark) {\n if (valueIndex === -1) {\n // >>>> Dragging on the track\n var startValue = originValues[0];\n var endValue = originValues[originValues.length - 1];\n var maxStartOffset = min - startValue;\n var maxEndOffset = max - endValue;\n\n // Get valid offset\n var offset = offsetPercent * (max - min);\n offset = Math.max(offset, maxStartOffset);\n offset = Math.min(offset, maxEndOffset);\n\n // Use first value to revert back of valid offset (like steps marks)\n var formatStartValue = formatValue(startValue + offset);\n offset = formatStartValue - startValue;\n var cloneCacheValues = originValues.map(function (val) {\n return val + offset;\n });\n flushValues(cloneCacheValues);\n } else {\n // >>>> Dragging on the handle\n var offsetDist = (max - min) * offsetPercent;\n\n // Always start with the valueIndex origin value\n var cloneValues = _toConsumableArray(cacheValues);\n cloneValues[valueIndex] = originValues[valueIndex];\n var next = offsetValues(cloneValues, offsetDist, valueIndex, 'dist');\n flushValues(next.values, next.value, deleteMark);\n }\n });\n var onStartMove = function onStartMove(e, valueIndex, startValues) {\n e.stopPropagation();\n\n // 如果是点击 track 触发的,需要传入变化后的初始值,而不能直接用 rawValues\n var initialValues = startValues || rawValues;\n var originValue = initialValues[valueIndex];\n setDraggingIndex(valueIndex);\n setDraggingValue(originValue);\n setOriginValues(initialValues);\n setCacheValues(initialValues);\n setDraggingDelete(false);\n var _getPosition = getPosition(e),\n startX = _getPosition.pageX,\n startY = _getPosition.pageY;\n\n // We declare it here since closure can't get outer latest value\n var deleteMark = false;\n\n // Internal trigger event\n if (onDragStart) {\n onDragStart({\n rawValues: initialValues,\n draggingIndex: valueIndex,\n draggingValue: originValue\n });\n }\n\n // Moving\n var onMouseMove = function onMouseMove(event) {\n event.preventDefault();\n var _getPosition2 = getPosition(event),\n moveX = _getPosition2.pageX,\n moveY = _getPosition2.pageY;\n var offsetX = moveX - startX;\n var offsetY = moveY - startY;\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height;\n var offSetPercent;\n var removeDist;\n switch (direction) {\n case 'btt':\n offSetPercent = -offsetY / height;\n removeDist = offsetX;\n break;\n case 'ttb':\n offSetPercent = offsetY / height;\n removeDist = offsetX;\n break;\n case 'rtl':\n offSetPercent = -offsetX / width;\n removeDist = offsetY;\n break;\n default:\n offSetPercent = offsetX / width;\n removeDist = offsetY;\n }\n\n // Check if need mark remove\n deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST && minCount < cacheValues.length : false;\n setDraggingDelete(deleteMark);\n updateCacheValue(valueIndex, offSetPercent, deleteMark);\n };\n\n // End\n var onMouseUp = function onMouseUp(event) {\n event.preventDefault();\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('touchend', onMouseUp);\n document.removeEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = null;\n mouseUpEventRef.current = null;\n finishChange(deleteMark);\n setDraggingIndex(-1);\n setDraggingDelete(false);\n };\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('touchend', onMouseUp);\n document.addEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = onMouseMove;\n mouseUpEventRef.current = onMouseUp;\n };\n\n // Only return cache value when it mapping with rawValues\n var returnValues = React.useMemo(function () {\n var sourceValues = _toConsumableArray(rawValues).sort(function (a, b) {\n return a - b;\n });\n var targetValues = _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n var counts = {};\n targetValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) + 1;\n });\n sourceValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) - 1;\n });\n var maxDiffCount = editable ? 1 : 0;\n var diffCount = Object.values(counts).reduce(function (prev, next) {\n return prev + Math.abs(next);\n }, 0);\n return diffCount <= maxDiffCount ? cacheValues : rawValues;\n }, [rawValues, cacheValues, editable]);\n return [draggingIndex, draggingValue, draggingDelete, returnValues, onStartMove];\n}\nexport default useDrag;","map":{"version":3,"names":["_toConsumableArray","_slicedToArray","useEvent","React","UnstableContext","REMOVE_DIST","getPosition","e","obj","touches","pageX","pageY","useDrag","containerRef","direction","rawValues","min","max","formatValue","triggerChange","finishChange","offsetValues","editable","minCount","_React$useState","useState","_React$useState2","draggingValue","setDraggingValue","_React$useState3","_React$useState4","draggingIndex","setDraggingIndex","_React$useState5","_React$useState6","draggingDelete","setDraggingDelete","_React$useState7","_React$useState8","cacheValues","setCacheValues","_React$useState9","_React$useState10","originValues","setOriginValues","mouseMoveEventRef","useRef","mouseUpEventRef","_React$useContext","useContext","onDragStart","onDragChange","useLayoutEffect","useEffect","document","removeEventListener","current","flushValues","nextValues","nextValue","deleteMark","undefined","changeValues","filter","_","i","deleteIndex","updateCacheValue","valueIndex","offsetPercent","startValue","endValue","length","maxStartOffset","maxEndOffset","offset","Math","formatStartValue","cloneCacheValues","map","val","offsetDist","cloneValues","next","values","value","onStartMove","startValues","stopPropagation","initialValues","originValue","_getPosition","startX","startY","onMouseMove","event","preventDefault","_getPosition2","moveX","moveY","offsetX","offsetY","_containerRef$current","getBoundingClientRect","width","height","offSetPercent","removeDist","abs","onMouseUp","addEventListener","returnValues","useMemo","sourceValues","sort","a","b","targetValues","counts","forEach","maxDiffCount","diffCount","Object","reduce","prev"],"sources":["C:/Users/Аришина)/Desktop/promo/node_modules/rc-slider/es/hooks/useDrag.js"],"sourcesContent":["import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport * as React from 'react';\nimport { UnstableContext } from \"../context\";\n/** Drag to delete offset. It's a user experience number for dragging out */\nvar REMOVE_DIST = 130;\nfunction getPosition(e) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return {\n pageX: obj.pageX,\n pageY: obj.pageY\n };\n}\nfunction useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable, minCount) {\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n draggingValue = _React$useState2[0],\n setDraggingValue = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n draggingIndex = _React$useState4[0],\n setDraggingIndex = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n draggingDelete = _React$useState6[0],\n setDraggingDelete = _React$useState6[1];\n var _React$useState7 = React.useState(rawValues),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n cacheValues = _React$useState8[0],\n setCacheValues = _React$useState8[1];\n var _React$useState9 = React.useState(rawValues),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n originValues = _React$useState10[0],\n setOriginValues = _React$useState10[1];\n var mouseMoveEventRef = React.useRef(null);\n var mouseUpEventRef = React.useRef(null);\n var _React$useContext = React.useContext(UnstableContext),\n onDragStart = _React$useContext.onDragStart,\n onDragChange = _React$useContext.onDragChange;\n React.useLayoutEffect(function () {\n if (draggingIndex === -1) {\n setCacheValues(rawValues);\n }\n }, [rawValues, draggingIndex]);\n\n // Clean up event\n React.useEffect(function () {\n return function () {\n document.removeEventListener('mousemove', mouseMoveEventRef.current);\n document.removeEventListener('mouseup', mouseUpEventRef.current);\n document.removeEventListener('touchmove', mouseMoveEventRef.current);\n document.removeEventListener('touchend', mouseUpEventRef.current);\n };\n }, []);\n var flushValues = function flushValues(nextValues, nextValue, deleteMark) {\n // Perf: Only update state when value changed\n if (nextValue !== undefined) {\n setDraggingValue(nextValue);\n }\n setCacheValues(nextValues);\n var changeValues = nextValues;\n if (deleteMark) {\n changeValues = nextValues.filter(function (_, i) {\n return i !== draggingIndex;\n });\n }\n triggerChange(changeValues);\n if (onDragChange) {\n onDragChange({\n rawValues: nextValues,\n deleteIndex: deleteMark ? draggingIndex : -1,\n draggingIndex: draggingIndex,\n draggingValue: nextValue\n });\n }\n };\n var updateCacheValue = useEvent(function (valueIndex, offsetPercent, deleteMark) {\n if (valueIndex === -1) {\n // >>>> Dragging on the track\n var startValue = originValues[0];\n var endValue = originValues[originValues.length - 1];\n var maxStartOffset = min - startValue;\n var maxEndOffset = max - endValue;\n\n // Get valid offset\n var offset = offsetPercent * (max - min);\n offset = Math.max(offset, maxStartOffset);\n offset = Math.min(offset, maxEndOffset);\n\n // Use first value to revert back of valid offset (like steps marks)\n var formatStartValue = formatValue(startValue + offset);\n offset = formatStartValue - startValue;\n var cloneCacheValues = originValues.map(function (val) {\n return val + offset;\n });\n flushValues(cloneCacheValues);\n } else {\n // >>>> Dragging on the handle\n var offsetDist = (max - min) * offsetPercent;\n\n // Always start with the valueIndex origin value\n var cloneValues = _toConsumableArray(cacheValues);\n cloneValues[valueIndex] = originValues[valueIndex];\n var next = offsetValues(cloneValues, offsetDist, valueIndex, 'dist');\n flushValues(next.values, next.value, deleteMark);\n }\n });\n var onStartMove = function onStartMove(e, valueIndex, startValues) {\n e.stopPropagation();\n\n // 如果是点击 track 触发的,需要传入变化后的初始值,而不能直接用 rawValues\n var initialValues = startValues || rawValues;\n var originValue = initialValues[valueIndex];\n setDraggingIndex(valueIndex);\n setDraggingValue(originValue);\n setOriginValues(initialValues);\n setCacheValues(initialValues);\n setDraggingDelete(false);\n var _getPosition = getPosition(e),\n startX = _getPosition.pageX,\n startY = _getPosition.pageY;\n\n // We declare it here since closure can't get outer latest value\n var deleteMark = false;\n\n // Internal trigger event\n if (onDragStart) {\n onDragStart({\n rawValues: initialValues,\n draggingIndex: valueIndex,\n draggingValue: originValue\n });\n }\n\n // Moving\n var onMouseMove = function onMouseMove(event) {\n event.preventDefault();\n var _getPosition2 = getPosition(event),\n moveX = _getPosition2.pageX,\n moveY = _getPosition2.pageY;\n var offsetX = moveX - startX;\n var offsetY = moveY - startY;\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height;\n var offSetPercent;\n var removeDist;\n switch (direction) {\n case 'btt':\n offSetPercent = -offsetY / height;\n removeDist = offsetX;\n break;\n case 'ttb':\n offSetPercent = offsetY / height;\n removeDist = offsetX;\n break;\n case 'rtl':\n offSetPercent = -offsetX / width;\n removeDist = offsetY;\n break;\n default:\n offSetPercent = offsetX / width;\n removeDist = offsetY;\n }\n\n // Check if need mark remove\n deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST && minCount < cacheValues.length : false;\n setDraggingDelete(deleteMark);\n updateCacheValue(valueIndex, offSetPercent, deleteMark);\n };\n\n // End\n var onMouseUp = function onMouseUp(event) {\n event.preventDefault();\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('touchend', onMouseUp);\n document.removeEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = null;\n mouseUpEventRef.current = null;\n finishChange(deleteMark);\n setDraggingIndex(-1);\n setDraggingDelete(false);\n };\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('touchend', onMouseUp);\n document.addEventListener('touchmove', onMouseMove);\n mouseMoveEventRef.current = onMouseMove;\n mouseUpEventRef.current = onMouseUp;\n };\n\n // Only return cache value when it mapping with rawValues\n var returnValues = React.useMemo(function () {\n var sourceValues = _toConsumableArray(rawValues).sort(function (a, b) {\n return a - b;\n });\n var targetValues = _toConsumableArray(cacheValues).sort(function (a, b) {\n return a - b;\n });\n var counts = {};\n targetValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) + 1;\n });\n sourceValues.forEach(function (val) {\n counts[val] = (counts[val] || 0) - 1;\n });\n var maxDiffCount = editable ? 1 : 0;\n var diffCount = Object.values(counts).reduce(function (prev, next) {\n return prev + Math.abs(next);\n }, 0);\n return diffCount <= maxDiffCount ? cacheValues : rawValues;\n }, [rawValues, cacheValues, editable]);\n return [draggingIndex, draggingValue, draggingDelete, returnValues, onStartMove];\n}\nexport default useDrag;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |