{"version":3,"file":"vendors/vendors-main-useSlider.js.bundle.js","mappings":"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","sources":["webpack://typescript/./node_modules/@mui/material/Slider/useSlider.js"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useControlled as useControlled, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useEventCallback as useEventCallback, unstable_useForkRef as useForkRef, unstable_useIsFocusVisible as useIsFocusVisible, visuallyHidden, clamp } from '@mui/utils';\nimport extractEventHandlers from '@mui/utils/extractEventHandlers';\nimport areArraysEqual from '../utils/areArraysEqual';\nconst INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nfunction asc(a, b) {\n return a - b;\n}\nfunction findClosest(values, currentValue) {\n var _values$reduce;\n const {\n index: closestIndex\n } = (_values$reduce = values.reduce((acc, value, index) => {\n const distance = Math.abs(currentValue - value);\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance,\n index\n };\n }\n return acc;\n }, null)) != null ? _values$reduce : {};\n return closestIndex;\n}\nfunction trackFinger(event, touchId) {\n // The event is TouchEvent\n if (touchId.current !== undefined && event.changedTouches) {\n const touchEvent = event;\n for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {\n const touch = touchEvent.changedTouches[i];\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return false;\n }\n\n // The event is MouseEvent\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\nexport function valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n const parts = num.toExponential().split('e-');\n const matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n const decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nfunction roundValueToStep(value, step, min) {\n const nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\nfunction setValueIndex({\n values,\n newValue,\n index\n}) {\n const output = values.slice();\n output[index] = newValue;\n return output.sort(asc);\n}\nfunction focusThumb({\n sliderRef,\n activeIndex,\n setActive\n}) {\n var _sliderRef$current, _doc$activeElement;\n const doc = ownerDocument(sliderRef.current);\n if (!((_sliderRef$current = sliderRef.current) != null && _sliderRef$current.contains(doc.activeElement)) || Number(doc == null || (_doc$activeElement = doc.activeElement) == null ? void 0 : _doc$activeElement.getAttribute('data-index')) !== activeIndex) {\n var _sliderRef$current2;\n (_sliderRef$current2 = sliderRef.current) == null || _sliderRef$current2.querySelector(`[type=\"range\"][data-index=\"${activeIndex}\"]`).focus();\n }\n if (setActive) {\n setActive(activeIndex);\n }\n}\nfunction areValuesEqual(newValue, oldValue) {\n if (typeof newValue === 'number' && typeof oldValue === 'number') {\n return newValue === oldValue;\n }\n if (typeof newValue === 'object' && typeof oldValue === 'object') {\n return areArraysEqual(newValue, oldValue);\n }\n return false;\n}\nconst axisProps = {\n horizontal: {\n offset: percent => ({\n left: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n 'horizontal-reverse': {\n offset: percent => ({\n right: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n vertical: {\n offset: percent => ({\n bottom: `${percent}%`\n }),\n leap: percent => ({\n height: `${percent}%`\n })\n }\n};\nexport const Identity = x => x;\n\n// TODO: remove support for Safari < 13.\n// https://caniuse.com/#search=touch-action\n//\n// Safari, on iOS, supports touch action since v13.\n// Over 80% of the iOS phones are compatible\n// in August 2020.\n// Utilizing the CSS.supports method to check if touch-action is supported.\n// Since CSS.supports is supported on all but Edge@12 and IE and touch-action\n// is supported on both Edge@12 and IE if CSS.supports is not available that means that\n// touch-action will be supported\nlet cachedSupportsTouchActionNone;\nfunction doesSupportTouchActionNone() {\n if (cachedSupportsTouchActionNone === undefined) {\n if (typeof CSS !== 'undefined' && typeof CSS.supports === 'function') {\n cachedSupportsTouchActionNone = CSS.supports('touch-action', 'none');\n } else {\n cachedSupportsTouchActionNone = true;\n }\n }\n return cachedSupportsTouchActionNone;\n}\n/**\n *\n * Demos:\n *\n * - [Slider](https://mui.com/base-ui/react-slider/#hook)\n *\n * API:\n *\n * - [useSlider API](https://mui.com/base-ui/react-slider/hooks-api/#use-slider)\n */\nexport function useSlider(parameters) {\n const {\n 'aria-labelledby': ariaLabelledby,\n defaultValue,\n disabled = false,\n disableSwap = false,\n isRtl = false,\n marks: marksProp = false,\n max = 100,\n min = 0,\n name,\n onChange,\n onChangeCommitted,\n orientation = 'horizontal',\n rootRef: ref,\n scale = Identity,\n step = 1,\n shiftStep = 10,\n tabIndex,\n value: valueProp\n } = parameters;\n const touchId = React.useRef(undefined);\n // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transferred when inversing a range slider.\n const [active, setActive] = React.useState(-1);\n const [open, setOpen] = React.useState(-1);\n const [dragging, setDragging] = React.useState(false);\n const moveCount = React.useRef(0);\n const [valueDerived, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue != null ? defaultValue : min,\n name: 'Slider'\n });\n const handleChange = onChange && ((event, value, thumbIndex) => {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n // @ts-ignore The nativeEvent is function, not object\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onChange(clonedEvent, value, thumbIndex);\n });\n const range = Array.isArray(valueDerived);\n let values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(value => value == null ? min : clamp(value, min, max));\n const marks = marksProp === true && step !== null ? [...Array(Math.floor((max - min) / step) + 1)].map((_, index) => ({\n value: min + step * index\n })) : marksProp || [];\n const marksValues = marks.map(mark => mark.value);\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusedThumbIndex, setFocusedThumbIndex] = React.useState(-1);\n const sliderRef = React.useRef(null);\n const handleFocusRef = useForkRef(focusVisibleRef, sliderRef);\n const handleRef = useForkRef(ref, handleFocusRef);\n const createHandleHiddenInputFocus = otherHandlers => event => {\n var _otherHandlers$onFocu;\n const index = Number(event.currentTarget.getAttribute('data-index'));\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusedThumbIndex(index);\n }\n setOpen(index);\n otherHandlers == null || (_otherHandlers$onFocu = otherHandlers.onFocus) == null || _otherHandlers$onFocu.call(otherHandlers, event);\n };\n const createHandleHiddenInputBlur = otherHandlers => event => {\n var _otherHandlers$onBlur;\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusedThumbIndex(-1);\n }\n setOpen(-1);\n otherHandlers == null || (_otherHandlers$onBlur = otherHandlers.onBlur) == null || _otherHandlers$onBlur.call(otherHandlers, event);\n };\n const changeValue = (event, valueInput) => {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n const marksIndex = marksValues.indexOf(value);\n let newValue = valueInput;\n if (marks && step == null) {\n const maxMarksValue = marksValues[marksValues.length - 1];\n if (newValue > maxMarksValue) {\n newValue = maxMarksValue;\n } else if (newValue < marksValues[0]) {\n newValue = marksValues[0];\n } else {\n newValue = newValue < value ? marksValues[marksIndex - 1] : marksValues[marksIndex + 1];\n }\n }\n newValue = clamp(newValue, min, max);\n if (range) {\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index\n });\n let activeIndex = index;\n\n // Potentially swap the index if needed.\n if (!disableSwap) {\n activeIndex = newValue.indexOf(previousValue);\n }\n focusThumb({\n sliderRef,\n activeIndex\n });\n }\n setValueState(newValue);\n setFocusedThumbIndex(index);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, index);\n }\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n };\n const createHandleHiddenInputKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n // The Shift + Up/Down keyboard shortcuts for moving the slider makes sense to be supported\n // only if the step is defined. If the step is null, this means tha the marks are used for specifying the valid values.\n if (step !== null) {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n let newValue = null;\n if ((event.key === 'ArrowLeft' || event.key === 'ArrowDown') && event.shiftKey || event.key === 'PageDown') {\n newValue = Math.max(value - shiftStep, min);\n } else if ((event.key === 'ArrowRight' || event.key === 'ArrowUp') && event.shiftKey || event.key === 'PageUp') {\n newValue = Math.min(value + shiftStep, max);\n }\n if (newValue !== null) {\n changeValue(event, newValue);\n event.preventDefault();\n }\n }\n otherHandlers == null || (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n };\n useEnhancedEffect(() => {\n if (disabled && sliderRef.current.contains(document.activeElement)) {\n var _document$activeEleme;\n // This is necessary because Firefox and Safari will keep focus\n // on a disabled element:\n // https://codesandbox.io/p/sandbox/mui-pr-22247-forked-h151h?file=/src/App.js\n // @ts-ignore\n (_document$activeEleme = document.activeElement) == null || _document$activeEleme.blur();\n }\n }, [disabled]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n if (disabled && focusedThumbIndex !== -1) {\n setFocusedThumbIndex(-1);\n }\n const createHandleHiddenInputChange = otherHandlers => event => {\n var _otherHandlers$onChan;\n (_otherHandlers$onChan = otherHandlers.onChange) == null || _otherHandlers$onChan.call(otherHandlers, event);\n // @ts-ignore\n changeValue(event, event.target.valueAsNumber);\n };\n const previousIndex = React.useRef(undefined);\n let axis = orientation;\n if (isRtl && orientation === 'horizontal') {\n axis += '-reverse';\n }\n const getFingerNewValue = ({\n finger,\n move = false\n }) => {\n const {\n current: slider\n } = sliderRef;\n const {\n width,\n height,\n bottom,\n left\n } = slider.getBoundingClientRect();\n let percent;\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n let newValue;\n newValue = percentToValue(percent, min, max);\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n const closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n newValue = clamp(newValue, min, max);\n let activeIndex = 0;\n if (range) {\n if (!move) {\n activeIndex = findClosest(values, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index: activeIndex\n });\n\n // Potentially swap the index if needed.\n if (!(disableSwap && move)) {\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n }\n return {\n newValue,\n activeIndex\n };\n };\n const handleTouchMove = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n if (!finger) {\n return;\n }\n moveCount.current += 1;\n\n // Cancel move in case some other element consumed a mouseup event and it was not fired.\n // @ts-ignore buttons doesn't not exists on touch event\n if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleTouchEnd(nativeEvent);\n return;\n }\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger,\n move: true\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n });\n const handleTouchEnd = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n setDragging(false);\n if (!finger) {\n return;\n }\n const {\n newValue\n } = getFingerNewValue({\n finger,\n move: true\n });\n setActive(-1);\n if (nativeEvent.type === 'touchend') {\n setOpen(-1);\n }\n if (onChangeCommitted) {\n onChangeCommitted(nativeEvent, newValue);\n }\n touchId.current = undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n stopListening();\n });\n const handleTouchStart = useEventCallback(nativeEvent => {\n if (disabled) {\n return;\n }\n // If touch-action: none; is not supported we need to prevent the scroll manually.\n if (!doesSupportTouchActionNone()) {\n nativeEvent.preventDefault();\n }\n const touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n const finger = trackFinger(nativeEvent, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('touchend', handleTouchEnd, {\n passive: true\n });\n });\n const stopListening = React.useCallback(() => {\n const doc = ownerDocument(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n }, [handleTouchEnd, handleTouchMove]);\n React.useEffect(() => {\n const {\n current: slider\n } = sliderRef;\n slider.addEventListener('touchstart', handleTouchStart, {\n passive: doesSupportTouchActionNone()\n });\n return () => {\n slider.removeEventListener('touchstart', handleTouchStart);\n stopListening();\n };\n }, [stopListening, handleTouchStart]);\n React.useEffect(() => {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n const createHandleMouseDown = otherHandlers => event => {\n var _otherHandlers$onMous;\n (_otherHandlers$onMous = otherHandlers.onMouseDown) == null || _otherHandlers$onMous.call(otherHandlers, event);\n if (disabled) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n\n // Only handle left clicks\n if (event.button !== 0) {\n return;\n }\n\n // Avoid text selection\n event.preventDefault();\n const finger = trackFinger(event, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('mouseup', handleTouchEnd);\n };\n const trackOffset = valueToPercent(range ? values[0] : min, min, max);\n const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n const getRootProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseDown: createHandleMouseDown(externalHandlers || {})\n };\n const mergedEventHandlers = _extends({}, externalHandlers, ownEventHandlers);\n return _extends({}, externalProps, {\n ref: handleRef\n }, mergedEventHandlers);\n };\n const createHandleMouseOver = otherHandlers => event => {\n var _otherHandlers$onMous2;\n (_otherHandlers$onMous2 = otherHandlers.onMouseOver) == null || _otherHandlers$onMous2.call(otherHandlers, event);\n const index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n };\n const createHandleMouseLeave = otherHandlers => event => {\n var _otherHandlers$onMous3;\n (_otherHandlers$onMous3 = otherHandlers.onMouseLeave) == null || _otherHandlers$onMous3.call(otherHandlers, event);\n setOpen(-1);\n };\n const getThumbProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseOver: createHandleMouseOver(externalHandlers || {}),\n onMouseLeave: createHandleMouseLeave(externalHandlers || {})\n };\n return _extends({}, externalProps, externalHandlers, ownEventHandlers);\n };\n const getThumbStyle = index => {\n return {\n // So the non active thumb doesn't show its label on hover.\n pointerEvents: active !== -1 && active !== index ? 'none' : undefined\n };\n };\n const getHiddenInputProps = (externalProps = {}) => {\n var _parameters$step;\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onChange: createHandleHiddenInputChange(externalHandlers || {}),\n onFocus: createHandleHiddenInputFocus(externalHandlers || {}),\n onBlur: createHandleHiddenInputBlur(externalHandlers || {}),\n onKeyDown: createHandleHiddenInputKeyDown(externalHandlers || {})\n };\n const mergedEventHandlers = _extends({}, externalHandlers, ownEventHandlers);\n return _extends({\n tabIndex,\n 'aria-labelledby': ariaLabelledby,\n 'aria-orientation': orientation,\n 'aria-valuemax': scale(max),\n 'aria-valuemin': scale(min),\n name,\n type: 'range',\n min: parameters.min,\n max: parameters.max,\n step: parameters.step === null && parameters.marks ? 'any' : (_parameters$step = parameters.step) != null ? _parameters$step : undefined,\n disabled\n }, externalProps, mergedEventHandlers, {\n style: _extends({}, visuallyHidden, {\n direction: isRtl ? 'rtl' : 'ltr',\n // So that VoiceOver's focus indicator matches the thumb's dimensions\n width: '100%',\n height: '100%'\n })\n });\n };\n return {\n active,\n axis: axis,\n axisProps,\n dragging,\n focusedThumbIndex,\n getHiddenInputProps,\n getRootProps,\n getThumbProps,\n marks: marks,\n open,\n range,\n rootRef: handleRef,\n trackLeap,\n trackOffset,\n values,\n getThumbStyle\n };\n}"],"names":["INTENTIONAL_DRAG_COUNT_THRESHOLD","asc","a","b","findClosest","values","currentValue","_values$reduce","index","closestIndex","reduce","acc","value","distance","Math","abs","trackFinger","event","touchId","undefined","current","changedTouches","touchEvent","i","length","touch","identifier","x","clientX","y","clientY","valueToPercent","min","max","setValueIndex","newValue","output","slice","sort","focusThumb","sliderRef","activeIndex","setActive","_sliderRef$current","_doc$activeElement","doc","_sliderRef$current2","contains","activeElement","Number","getAttribute","querySelector","focus","areValuesEqual","oldValue","axisProps","horizontal","offset","percent","left","leap","width","right","vertical","bottom","height","Identity","cachedSupportsTouchActionNone","doesSupportTouchActionNone","CSS","supports","useSlider","parameters","ariaLabelledby","defaultValue","disabled","disableSwap","isRtl","marks","marksProp","name","onChange","onChangeCommitted","orientation","rootRef","ref","scale","step","shiftStep","tabIndex","valueProp","active","open","setOpen","dragging","setDragging","moveCount","valueDerived","setValueState","controlled","default","handleChange","thumbIndex","nativeEvent","clonedEvent","constructor","type","Object","defineProperty","writable","range","Array","isArray","map","floor","_","marksValues","mark","isFocusVisibleRef","onBlur","handleBlurVisible","onFocus","handleFocusVisible","focusVisibleRef","focusedThumbIndex","setFocusedThumbIndex","handleFocusRef","handleRef","createHandleHiddenInputFocus","otherHandlers","_otherHandlers$onFocu","currentTarget","call","createHandleHiddenInputBlur","_otherHandlers$onBlur","changeValue","valueInput","marksIndex","indexOf","maxMarksValue","Infinity","previousValue","createHandleHiddenInputKeyDown","_otherHandlers$onKeyD","key","shiftKey","preventDefault","onKeyDown","_document$activeEleme","document","blur","previousIndex","axis","getFingerNewValue","finger","move","slider","getBoundingClientRect","percentToValue","nearest","round","toFixed","num","parts","toExponential","split","matissaDecimalPart","parseInt","decimalPart","toString","getDecimalPrecision","roundValueToStep","handleTouchMove","buttons","handleTouchEnd","stopListening","handleTouchStart","addEventListener","passive","removeEventListener","trackOffset","trackLeap","createHandleMouseLeave","_otherHandlers$onMous3","onMouseLeave","getHiddenInputProps","externalProps","_parameters$step","externalHandlers","ownEventHandlers","_otherHandlers$onChan","target","valueAsNumber","mergedEventHandlers","style","direction","getRootProps","onMouseDown","_otherHandlers$onMous","defaultPrevented","button","getThumbProps","onMouseOver","_otherHandlers$onMous2","getThumbStyle","pointerEvents"],"sourceRoot":""}