'use client'; import { jsx, jsxs } from 'react/jsx-runtime'; import { omitThemingProps } from '@chakra-ui/styled-system'; import { createContext, cx } from '@chakra-ui/utils'; import { useMemo } from 'react'; import { useRangeSlider } from './use-range-slider.mjs'; import { useTheme } from '../system/use-theme.mjs'; import { forwardRef } from '../system/forward-ref.mjs'; import { useMultiStyleConfig } from '../system/use-style-config.mjs'; import { chakra } from '../system/factory.mjs'; const [RangeSliderProvider, useRangeSliderContext] = createContext({ name: "SliderContext", errorMessage: "useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within " }); const [RangeSliderStylesProvider, useRangeSliderStyles] = createContext({ name: `RangeSliderStylesContext`, errorMessage: `useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" ` }); const RangeSlider = forwardRef( function RangeSlider2(props, ref) { const sliderProps = { orientation: "horizontal", ...props }; const styles = useMultiStyleConfig("Slider", sliderProps); const ownProps = omitThemingProps(sliderProps); const { direction } = useTheme(); ownProps.direction = direction; const { getRootProps, ...context } = useRangeSlider(ownProps); const ctx = useMemo( () => ({ ...context, name: sliderProps.name }), [context, sliderProps.name] ); return /* @__PURE__ */ jsx(RangeSliderProvider, { value: ctx, children: /* @__PURE__ */ jsx(RangeSliderStylesProvider, { value: styles, children: /* @__PURE__ */ jsx( chakra.div, { ...getRootProps({}, ref), className: "chakra-slider", __css: styles.container, children: sliderProps.children } ) }) }); } ); RangeSlider.displayName = "RangeSlider"; const RangeSliderThumb = forwardRef( function RangeSliderThumb2(props, ref) { const { getThumbProps, getInputProps, name } = useRangeSliderContext(); const styles = useRangeSliderStyles(); const thumbProps = getThumbProps(props, ref); return /* @__PURE__ */ jsxs( chakra.div, { ...thumbProps, className: cx("chakra-slider__thumb", props.className), __css: styles.thumb, children: [ thumbProps.children, name && /* @__PURE__ */ jsx("input", { ...getInputProps({ index: props.index }) }) ] } ); } ); RangeSliderThumb.displayName = "RangeSliderThumb"; const RangeSliderTrack = forwardRef( function RangeSliderTrack2(props, ref) { const { getTrackProps } = useRangeSliderContext(); const styles = useRangeSliderStyles(); const trackProps = getTrackProps(props, ref); return /* @__PURE__ */ jsx( chakra.div, { ...trackProps, className: cx("chakra-slider__track", props.className), __css: styles.track, "data-testid": "chakra-range-slider-track" } ); } ); RangeSliderTrack.displayName = "RangeSliderTrack"; const RangeSliderFilledTrack = forwardRef(function RangeSliderFilledTrack2(props, ref) { const { getInnerTrackProps } = useRangeSliderContext(); const styles = useRangeSliderStyles(); const trackProps = getInnerTrackProps(props, ref); return /* @__PURE__ */ jsx( chakra.div, { ...trackProps, className: "chakra-slider__filled-track", __css: styles.filledTrack } ); }); RangeSliderFilledTrack.displayName = "RangeSliderFilledTrack"; const RangeSliderMark = forwardRef( function RangeSliderMark2(props, ref) { const { getMarkerProps } = useRangeSliderContext(); const styles = useRangeSliderStyles(); const markProps = getMarkerProps(props, ref); return /* @__PURE__ */ jsx( chakra.div, { ...markProps, className: cx("chakra-slider__marker", props.className), __css: styles.mark } ); } ); RangeSliderMark.displayName = "RangeSliderMark"; export { RangeSlider, RangeSliderFilledTrack, RangeSliderMark, RangeSliderProvider, RangeSliderThumb, RangeSliderTrack, useRangeSliderContext, useRangeSliderStyles };