{"version":3,"file":"7906b6412f2847596be4259c.js?3.6.14.7428b935c.1723600572441","mappings":"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","sources":["webpack://mono-repo/./node_modules/@mui/base/useSlider/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 } from '@mui/utils';\nimport { areArraysEqual, extractEventHandlers } from '../utils';\nconst INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nfunction asc(a, b) {\n return a - b;\n}\nfunction clamp(value, min, max) {\n if (value == null) {\n return min;\n }\n return Math.min(Math.max(min, value), max);\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 tabIndex,\n value: valueProp\n } = parameters;\n const touchId = React.useRef();\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 => 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();\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 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 const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n const marksIndex = marksValues.indexOf(value);\n\n // @ts-ignore\n let newValue = event.target.valueAsNumber;\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 previousIndex = React.useRef();\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 doc.addEventListener('touchend', handleTouchEnd);\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 // @ts-ignore\n slider.removeEventListener('touchstart', handleTouchStart, {\n passive: doesSupportTouchActionNone()\n });\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 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 };\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","clamp","value","min","max","Math","findClosest","values","currentValue","_values$reduce","index","closestIndex","reduce","acc","distance","abs","trackFinger","event","touchId","undefined","current","changedTouches","touchEvent","i","length","touch","identifier","x","clientX","y","clientY","valueToPercent","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","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","_document$activeEleme","document","blur","previousIndex","axis","getFingerNewValue","finger","move","slider","getBoundingClientRect","indexOf","percentToValue","nearest","round","toFixed","num","parts","toExponential","split","matissaDecimalPart","parseInt","decimalPart","toString","getDecimalPrecision","roundValueToStep","Infinity","previousValue","handleTouchMove","buttons","handleTouchEnd","stopListening","handleTouchStart","preventDefault","addEventListener","removeEventListener","passive","trackOffset","trackLeap","createHandleMouseLeave","_otherHandlers$onMous3","onMouseLeave","getHiddenInputProps","externalProps","_parameters$step","externalHandlers","ownEventHandlers","_otherHandlers$onChan","marksIndex","target","valueAsNumber","maxMarksValue","mergedEventHandlers","style","direction","getRootProps","onMouseDown","_otherHandlers$onMous","defaultPrevented","button","getThumbProps","onMouseOver","_otherHandlers$onMous2","getThumbStyle","pointerEvents"],"sourceRoot":""}