{"version":3,"sources":["../src/slider.tsx"],"sourcesContent":["import type {\n  CSSUIObject,\n  CSSUIProps,\n  HTMLProps,\n  HTMLUIProps,\n  PropGetter,\n  RequiredPropGetter,\n  ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type { CSSProperties, KeyboardEvent, KeyboardEventHandler } from \"react\"\nimport {\n  forwardRef,\n  mergeVars,\n  omitThemeProps,\n  ui,\n  useComponentMultiStyle,\n} from \"@yamada-ui/core\"\nimport {\n  formControlProperties,\n  useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { useLatestRef } from \"@yamada-ui/use-latest-ref\"\nimport { usePanEvent } from \"@yamada-ui/use-pan-event\"\nimport { useSize } from \"@yamada-ui/use-size\"\nimport {\n  clampNumber,\n  createContext,\n  cx,\n  dataAttr,\n  findChild,\n  getValidChildren,\n  handlerAll,\n  includesChildren,\n  isEmpty,\n  isNumber,\n  mergeRefs,\n  omitChildren,\n  percentToValue,\n  pickObject,\n  roundNumberToStep,\n  useCallbackRef,\n  useUpdateEffect,\n  valueToPercent,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useRef, useState } from \"react\"\n\nexport const getThumbSize = (\n  thumbSize: CSSUIProps[\"boxSize\"] | undefined,\n  styles: { [key: string]: CSSUIObject | undefined },\n) =>\n  (thumbSize ??\n    styles.thumb?.boxSize ??\n    styles.thumb?.minBoxSize ??\n    styles.thumb?.width ??\n    styles.thumb?.w ??\n    styles.thumb?.minWidth ??\n    styles.thumb?.minW ??\n    styles.thumb?.height ??\n    styles.thumb?.h ??\n    styles.thumb?.minHeight ??\n    styles.thumb?.minH ??\n    \"3.5\") as CSSUIProps[\"boxSize\"] | undefined\n\nexport interface UseSliderOptions {\n  /**\n   * The base `id` to use for the slider.\n   */\n  id?: string\n  /**\n   * The name attribute of the hidden `input` field.\n   * This is particularly useful in forms.\n   */\n  name?: string\n  /**\n   * The initial value of the slider.\n   */\n  defaultValue?: number\n  /**\n   * If `false`, the slider handle will not capture focus when value changes.\n   *\n   * @default true\n   */\n  focusThumbOnChange?: boolean\n  /**\n   * This is used to format the value so that screen readers\n   * can speak out a more human-friendly value.\n   *\n   * It is used to set the `aria-valuetext` property of the input.\n   */\n  getAriaValueText?: (value: number) => string | undefined\n  /**\n   * If `true`, the value will be incremented or decremented in reverse.\n   *\n   * @deprecated Use `reversed` instead.\n   */\n  isReversed?: boolean\n  /**\n   * The maximum allowed value of the slider. Cannot be less than min.\n   *\n   * @default 100\n   */\n  max?: number\n  /**\n   * The minimum allowed value of the slider. Cannot be greater than max.\n   *\n   * @default 0\n   */\n  min?: number\n  /**\n   * The orientation of the slider.\n   *\n   * @default 'horizontal'\n   */\n  orientation?: \"horizontal\" | \"vertical\"\n  /**\n   * If `true`, the value will be incremented or decremented in reverse.\n   */\n  reversed?: boolean\n  /**\n   * The step in which increments or decrements have to be made.\n   *\n   * @default 1\n   */\n  step?: number\n  /**\n   * The CSS `box-size` property.\n   * Used for calculating the width, height, and percentage of the container element.\n   */\n  thumbSize?: CSSUIProps[\"boxSize\"]\n  /**\n   * The value of the slider.\n   */\n  value?: number\n  /**\n   * Function called whenever the slider value changes.\n   */\n  onChange?: (value: number) => void\n  /**\n   * Function called when the user is done selecting a new value.\n   */\n  onChangeEnd?: (value: number) => void\n  /**\n   * Function called when the user starts selecting a new value.\n   */\n  onChangeStart?: (value: number) => void\n}\n\nexport interface UseSliderProps\n  extends Merge<HTMLUIProps, FormControlOptions & UseSliderOptions> {}\n\nexport const useSlider = ({\n  focusThumbOnChange = true,\n  ...props\n}: UseSliderProps) => {\n  if (!focusThumbOnChange) props.isReadOnly = true\n\n  const {\n    id,\n    name,\n    \"aria-label\": ariaLabel,\n    \"aria-labelledby\": ariaLabelledBy,\n    \"aria-valuetext\": ariaValueText,\n    defaultValue,\n    getAriaValueText: getAriaValueTextProp,\n    isReversed,\n    max = 100,\n    min = 0,\n    orientation = \"horizontal\",\n    reversed = isReversed,\n    step = 1,\n    thumbSize: thumbSizeProp,\n    value: valueProp,\n    onChange,\n    onChangeEnd: onChangeEndProp,\n    onChangeStart: onChangeStartProp,\n    ...rest\n  } = useFormControlProps(props)\n\n  if (max < min)\n    throw new Error(\"Do not assign a number less than 'min' to 'max'\")\n\n  const {\n    \"aria-readonly\": ariaReadonly,\n    disabled,\n    readOnly,\n    required,\n    onBlur,\n    onFocus,\n    ...formControlProps\n  } = pickObject(rest, formControlProperties)\n  const [computedValue, setValue] = useControllableState({\n    defaultValue: defaultValue ?? min + (max - min) / 2,\n    value: valueProp,\n    onChange,\n  })\n  const [dragging, setDragging] = useState(false)\n  const [focused, setFocused] = useState(false)\n  const interactive = !(disabled || readOnly)\n  const tenStep = (max - min) / 10\n  const oneStep = step || (max - min) / 100\n  const value = clampNumber(computedValue, min, max)\n  const reversedValue = max - value + min\n  const thumbValue = reversed ? reversedValue : value\n  const thumbPercent = valueToPercent(thumbValue, min, max)\n  const vertical = orientation === \"vertical\"\n  const latestRef = useLatestRef({\n    focusThumbOnChange,\n    interactive,\n    max,\n    min,\n    step,\n    value,\n  })\n  const eventSourceRef = useRef<\"keyboard\" | \"pointer\" | null>(null)\n  const containerRef = useRef<HTMLElement>(null)\n  const trackRef = useRef<HTMLElement>(null)\n  const thumbRef = useRef<HTMLElement>(null)\n  const thumbSize = useSize(thumbRef)\n  const onChangeStart = useCallbackRef(onChangeStartProp)\n  const onChangeEnd = useCallbackRef(onChangeEndProp)\n  const getAriaValueText = useCallbackRef(getAriaValueTextProp)\n\n  usePanEvent(containerRef, {\n    onMove: (ev) => {\n      const { interactive } = latestRef.current\n\n      if (!interactive) return\n\n      setValueFromPointer(ev)\n    },\n    onSessionEnd: () => {\n      const { interactive, value } = latestRef.current\n\n      if (!interactive) return\n\n      setDragging(false)\n      onChangeEnd(value)\n    },\n    onSessionStart: (ev) => {\n      const { interactive, value } = latestRef.current\n\n      if (!interactive) return\n\n      setDragging(true)\n      focusThumb()\n      setValueFromPointer(ev)\n      onChangeStart(value)\n    },\n  })\n\n  const getValueFromPointer = useCallback(\n    (ev: any) => {\n      if (!trackRef.current) return\n\n      const { max, min, step } = latestRef.current\n\n      eventSourceRef.current = \"pointer\"\n\n      const { bottom, height, left, width } =\n        trackRef.current.getBoundingClientRect()\n      const { clientX, clientY } = ev.touches?.[0] ?? ev\n\n      const diff = vertical ? bottom - clientY : clientX - left\n\n      const length = vertical ? height : width\n\n      let percent = diff / length\n\n      if (reversed) percent = 1 - percent\n\n      let nextValue = percentToValue(percent, min, max)\n\n      if (step) nextValue = parseFloat(roundNumberToStep(nextValue, min, step))\n\n      nextValue = clampNumber(nextValue, min, max)\n\n      return nextValue\n    },\n    [vertical, reversed, latestRef],\n  )\n\n  const setValueFromPointer = (ev: MouseEvent | PointerEvent | TouchEvent) => {\n    const { value } = latestRef.current\n    const nextValue = getValueFromPointer(ev)\n\n    if (nextValue != null && nextValue !== value) setValue(nextValue)\n  }\n\n  const focusThumb = useCallback(() => {\n    const { focusThumbOnChange } = latestRef.current\n\n    if (focusThumbOnChange) setTimeout(() => thumbRef.current?.focus())\n  }, [latestRef])\n\n  const constrain = useCallback(\n    (value: number) => {\n      const { interactive, max, min } = latestRef.current\n\n      if (!interactive) return\n\n      value = parseFloat(roundNumberToStep(value, min, oneStep))\n      value = clampNumber(value, min, max)\n\n      setValue(value)\n    },\n    [oneStep, setValue, latestRef],\n  )\n\n  const stepUp = useCallback(\n    (step = oneStep) => constrain(reversed ? value - step : value + step),\n    [constrain, reversed, oneStep, value],\n  )\n\n  const stepDown = useCallback(\n    (step = oneStep) => constrain(reversed ? value + step : value - step),\n    [constrain, reversed, oneStep, value],\n  )\n\n  const reset = useCallback(\n    () => constrain(defaultValue || 0),\n    [constrain, defaultValue],\n  )\n\n  const stepTo = useCallback((value: number) => constrain(value), [constrain])\n\n  const onKeyDown = useCallback(\n    (ev: KeyboardEvent<HTMLElement>) => {\n      const { max, min } = latestRef.current\n\n      const actions: { [key: string]: KeyboardEventHandler } = {\n        ArrowDown: () => stepDown(),\n        ArrowLeft: () => stepDown(),\n        ArrowRight: () => stepUp(),\n        ArrowUp: () => stepUp(),\n        End: () => constrain(max),\n        Home: () => constrain(min),\n        PageDown: () => stepDown(tenStep),\n        PageUp: () => stepUp(tenStep),\n      }\n\n      const action = actions[ev.key]\n\n      if (!action) return\n\n      ev.preventDefault()\n      ev.stopPropagation()\n\n      action(ev)\n\n      eventSourceRef.current = \"keyboard\"\n    },\n    [constrain, latestRef, stepDown, stepUp, tenStep],\n  )\n\n  useUpdateEffect(() => {\n    const { value } = latestRef.current\n\n    focusThumb()\n\n    if (eventSourceRef.current === \"keyboard\") onChangeEnd(value)\n  }, [value, onChangeEnd])\n\n  const getContainerProps: PropGetter = useCallback(\n    (props = {}, ref = null) => {\n      let { height: h, width: w } = thumbSize ?? {\n        height: \"var(--ui-thumb-size)\",\n        width: \"var(--ui-thumb-size)\",\n      }\n\n      if (isNumber(w)) w = `${w}px`\n      if (isNumber(h)) h = `${h}px`\n\n      const paddingStyle = vertical\n        ? { paddingLeft: `calc(${w} / 2)`, paddingRight: `calc(${w} / 2)` }\n        : { paddingBottom: `calc(${h} / 2)`, paddingTop: `calc(${h} / 2)` }\n\n      const style: CSSProperties = {\n        ...props.style,\n        outline: 0,\n        position: \"relative\",\n        touchAction: \"none\",\n        userSelect: \"none\",\n        WebkitTapHighlightColor: \"rgba(0, 0, 0, 0)\",\n        ...paddingStyle,\n      }\n\n      return {\n        ...rest,\n        ...props,\n        ref: mergeRefs(ref, containerRef),\n        style,\n        tabIndex: -1,\n        vars: mergeVars(rest.vars, [\n          {\n            name: \"thumb-size\",\n            token: \"sizes\",\n            value: thumbSizeProp,\n            __prefix: \"ui\",\n          },\n        ]),\n      }\n    },\n    [vertical, rest, thumbSize, thumbSizeProp],\n  )\n\n  const getInputProps: PropGetter<\"input\"> = useCallback(\n    (props = {}, ref = null) => ({\n      \"aria-readonly\": ariaReadonly,\n      ...formControlProps,\n      ...props,\n      id,\n      ref,\n      type: \"hidden\",\n      name,\n      disabled,\n      readOnly,\n      required,\n      value,\n    }),\n    [\n      ariaReadonly,\n      disabled,\n      formControlProps,\n      id,\n      name,\n      readOnly,\n      required,\n      value,\n    ],\n  )\n\n  const getTrackProps: PropGetter = useCallback(\n    (props = {}, ref = null) => {\n      const style: CSSProperties = {\n        ...props.style,\n        position: \"absolute\",\n        ...(vertical\n          ? {\n              height: \"100%\",\n              left: \"50%\",\n              transform: \"translateX(-50%)\",\n            }\n          : {\n              top: \"50%\",\n              transform: \"translateY(-50%)\",\n              width: \"100%\",\n            }),\n      }\n\n      return {\n        ...formControlProps,\n        ...props,\n        ref: mergeRefs(ref, trackRef),\n        style,\n      }\n    },\n    [vertical, formControlProps],\n  )\n\n  const getFilledTrackProps: PropGetter = useCallback(\n    (props = {}, ref = null) => {\n      const n = Math.abs(reversed ? 100 - thumbPercent : thumbPercent)\n\n      const style: CSSProperties = {\n        ...props.style,\n        position: \"absolute\",\n        ...(vertical\n          ? {\n              height: `${n}%`,\n              left: \"50%\",\n              transform: \"translateX(-50%)\",\n              ...(reversed ? { top: \"0%\" } : { bottom: \"0%\" }),\n            }\n          : {\n              top: \"50%\",\n              transform: \"translateY(-50%)\",\n              width: `${n}%`,\n              ...(reversed ? { right: \"0%\" } : { left: \"0%\" }),\n            }),\n      }\n\n      return {\n        ...formControlProps,\n        ...props,\n        ref,\n        style,\n      }\n    },\n    [reversed, vertical, formControlProps, thumbPercent],\n  )\n\n  const getMarkProps: RequiredPropGetter<\n    { value: number } & HTMLProps,\n    HTMLProps\n  > = useCallback(\n    (props, ref = null) => {\n      let n = valueToPercent(props.value, min, max)\n      n = reversed ? 100 - n : n\n\n      const style: CSSProperties = {\n        ...props.style,\n        pointerEvents: \"none\",\n        position: \"absolute\",\n        ...(vertical ? { bottom: `${n}%` } : { left: `${n}%` }),\n      }\n\n      return {\n        ...formControlProps,\n        ...props,\n        ref,\n        style,\n        \"aria-hidden\": true,\n        \"data-highlighted\": dataAttr(props.value <= value),\n        \"data-invalid\": dataAttr(props.value < min || max < props.value),\n      }\n    },\n    [reversed, vertical, max, min, formControlProps, value],\n  )\n\n  const getThumbProps: PropGetter = useCallback(\n    (props = {}, ref = null) => {\n      const n = thumbPercent\n      let w: number | string = \"var(--ui-thumb-size)\"\n      let h: number | string = \"var(--ui-thumb-size)\"\n\n      if (thumbSize) {\n        w = `${thumbSize.width}px`\n        h = `${thumbSize.height}px`\n      }\n\n      const bottom = `calc(${n}% - (${h} / 2))`\n      const left = `calc(${n}% - (${w} / 2))`\n\n      const style: CSSProperties = {\n        ...props.style,\n        position: \"absolute\",\n        touchAction: \"none\",\n        userSelect: \"none\",\n        ...(vertical ? { bottom } : { left }),\n      }\n\n      return {\n        \"aria-label\": ariaLabel ?? \"Slider thumb\",\n        \"aria-labelledby\": ariaLabelledBy,\n        \"aria-readonly\": ariaReadonly,\n        ...formControlProps,\n        ...props,\n        ref: mergeRefs(ref, thumbRef),\n        style,\n        \"aria-orientation\": orientation,\n        \"aria-valuemax\": max,\n        \"aria-valuemin\": min,\n        \"aria-valuenow\": value,\n        \"aria-valuetext\":\n          ariaValueText ?? getAriaValueText(value) ?? value.toString(),\n        \"data-active\": dataAttr(dragging && focusThumbOnChange),\n        role: \"slider\",\n        tabIndex: interactive && focusThumbOnChange ? 0 : undefined,\n        onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n        onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n        onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n      }\n    },\n    [\n      thumbPercent,\n      thumbSize,\n      vertical,\n      ariaLabel,\n      ariaLabelledBy,\n      ariaReadonly,\n      formControlProps,\n      orientation,\n      max,\n      min,\n      value,\n      ariaValueText,\n      getAriaValueText,\n      dragging,\n      focusThumbOnChange,\n      interactive,\n      onBlur,\n      onFocus,\n      onKeyDown,\n    ],\n  )\n\n  return {\n    dragging,\n    focused,\n    /**\n     * @deprecated Use `dragging` instead.\n     */\n    isDragging: dragging,\n    /**\n     * @deprecated Use `focused` instead.\n     */\n    isFocused: focused,\n    /**\n     * @deprecated Use `vertical` instead.\n     */\n    isVertical: vertical,\n    reset,\n    stepDown,\n    stepTo,\n    stepUp,\n    value,\n    vertical,\n    getContainerProps,\n    getFilledTrackProps,\n    getInputProps,\n    getMarkProps,\n    getThumbProps,\n    getTrackProps,\n  }\n}\n\nexport type ReturnUseSlider = ReturnType<typeof useSlider>\n\ninterface SliderContext\n  extends Pick<\n      ReturnUseSlider,\n      | \"getFilledTrackProps\"\n      | \"getMarkProps\"\n      | \"getThumbProps\"\n      | \"getTrackProps\"\n      | \"isVertical\"\n    >,\n    Omit<SliderOptions, \"input\"> {\n  styles: { [key: string]: CSSUIObject | undefined }\n}\n\nconst [SliderProvider, useSliderContext] = createContext<SliderContext>({\n  name: \"SliderContext\",\n  errorMessage: `useSliderContext returned is 'undefined'. Seems you forgot to wrap the components in \"<Slider />\" `,\n})\n\ninterface SliderOptions {\n  /**\n   * The CSS `color` property. Used in `color` of filled track element.\n   */\n  filledTrackColor?: CSSUIProps[\"color\"]\n  /**\n   * The CSS `background` property. Used in `background` of thumb element.\n   */\n  thumbColor?: CSSUIProps[\"bg\"]\n  /**\n   * The CSS `box-size` property. Used in `box-size` of thumb element.\n   */\n  thumbSize?: CSSUIProps[\"boxSize\"]\n  /**\n   * The CSS `color` property. Used in `color` of track element.\n   */\n  trackColor?: CSSUIProps[\"color\"]\n  /**\n   * The CSS `height` property. Used in `height` of track element.\n   */\n  trackSize?: CSSUIProps[\"h\"]\n  /**\n   * Props for slider filled track element.\n   */\n  filledTrackProps?: SliderFilledTrackProps\n  /**\n   * Props for slider input element.\n   */\n  inputProps?: HTMLUIProps<\"input\">\n  /**\n   * Props for slider thumb element.\n   */\n  thumbProps?: SliderThumbProps\n  /**\n   * Props for slider track element.\n   */\n  trackProps?: SliderTrackProps\n}\n\nexport interface SliderProps\n  extends ThemeProps<\"Slider\">,\n    UseSliderProps,\n    SliderOptions {}\n\n/**\n * `Slider` is a component used for allowing users to select a value from a range.\n *\n * @see Docs https://yamada-ui.com/components/forms/slider\n */\nexport const Slider = forwardRef<SliderProps, \"input\">((props, ref) => {\n  const [styles, mergedProps] = useComponentMultiStyle(\"Slider\", props)\n  const {\n    className,\n    children,\n    filledTrackColor,\n    thumbColor,\n    thumbSize,\n    trackColor,\n    trackSize,\n    filledTrackProps,\n    inputProps,\n    thumbProps,\n    trackProps,\n    ...rest\n  } = omitThemeProps(mergedProps)\n  const {\n    isVertical,\n    getContainerProps,\n    getFilledTrackProps,\n    getInputProps,\n    getMarkProps,\n    getThumbProps,\n    getTrackProps,\n  } = useSlider({ ...rest, thumbSize: getThumbSize(thumbSize, styles) })\n\n  const css: CSSUIObject = { ...styles.container }\n\n  const validChildren = getValidChildren(children)\n\n  const customSliderTrack = findChild(validChildren, SliderTrack)\n  const customSliderThumb = findChild(validChildren, SliderThumb)\n\n  const hasSliderThumb = includesChildren(validChildren, SliderThumb)\n\n  const cloneChildren = !isEmpty(validChildren)\n    ? omitChildren(validChildren, SliderTrack, SliderThumb)\n    : children\n\n  return (\n    <SliderProvider\n      value={{\n        filledTrackColor,\n        isVertical,\n        styles,\n        thumbColor,\n        thumbSize,\n        trackColor,\n        trackSize,\n        filledTrackProps,\n        getFilledTrackProps,\n        getMarkProps,\n        getThumbProps,\n        getTrackProps,\n        thumbProps,\n        trackProps,\n      }}\n    >\n      <ui.div\n        className={cx(\"ui-slider\", className)}\n        __css={css}\n        {...getContainerProps()}\n      >\n        <ui.input {...getInputProps(inputProps, ref)} />\n\n        {customSliderTrack ?? <SliderTrack />}\n\n        {cloneChildren}\n\n        {customSliderThumb ?? (!hasSliderThumb ? <SliderThumb /> : null)}\n      </ui.div>\n    </SliderProvider>\n  )\n})\n\nSlider.displayName = \"Slider\"\nSlider.__ui__ = \"Slider\"\n\nexport interface SliderTrackProps\n  extends HTMLUIProps,\n    Pick<SliderOptions, \"filledTrackProps\"> {}\n\nexport const SliderTrack = forwardRef<SliderTrackProps, \"div\">(\n  ({ className, children, filledTrackProps, ...rest }, ref) => {\n    const {\n      isVertical,\n      styles,\n      trackColor,\n      trackSize,\n      getTrackProps,\n      trackProps,\n    } = useSliderContext()\n\n    const css: CSSUIObject = { ...styles.track }\n\n    return (\n      <ui.div\n        className={cx(\"ui-slider__track\", className)}\n        __css={css}\n        {...getTrackProps(\n          {\n            ...(trackColor ? { bg: trackColor } : {}),\n            ...(trackSize\n              ? isVertical\n                ? { w: trackSize }\n                : { h: trackSize }\n              : {}),\n            ...trackProps,\n            ...rest,\n          },\n          ref,\n        )}\n      >\n        {children ?? <SliderFilledTrack {...filledTrackProps} />}\n      </ui.div>\n    )\n  },\n)\n\nSliderTrack.displayName = \"SliderTrack\"\nSliderTrack.__ui__ = \"SliderTrack\"\n\nexport interface SliderFilledTrackProps extends HTMLUIProps {}\n\nexport const SliderFilledTrack = forwardRef<SliderFilledTrackProps, \"div\">(\n  ({ className, ...rest }, ref) => {\n    const { filledTrackColor, styles, filledTrackProps, getFilledTrackProps } =\n      useSliderContext()\n\n    const css: CSSUIObject = { ...styles.filledTrack }\n\n    return (\n      <ui.div\n        className={cx(\"ui-slider__track-filled\", className)}\n        __css={css}\n        {...getFilledTrackProps(\n          {\n            ...(filledTrackColor ? { bg: filledTrackColor } : {}),\n            ...filledTrackProps,\n            ...rest,\n          },\n          ref,\n        )}\n      />\n    )\n  },\n)\n\nSliderFilledTrack.displayName = \"SliderFilledTrack\"\nSliderFilledTrack.__ui__ = \"SliderFilledTrack\"\n\nexport interface SliderMarkProps extends HTMLUIProps {\n  value: number\n}\n\nexport const SliderMark = forwardRef<SliderMarkProps, \"div\">(\n  ({ className, ...rest }, ref) => {\n    const { styles, getMarkProps } = useSliderContext()\n\n    const css: CSSUIObject = {\n      alignItems: \"center\",\n      display: \"inline-flex\",\n      justifyContent: \"center\",\n      ...styles.mark,\n    }\n\n    return (\n      <ui.div\n        className={cx(\"ui-slider__mark\", className)}\n        __css={css}\n        {...getMarkProps(rest, ref)}\n      />\n    )\n  },\n)\n\nSliderMark.displayName = \"SliderMark\"\nSliderMark.__ui__ = \"SliderMark\"\n\nexport interface SliderThumbProps extends HTMLUIProps {}\n\nexport const SliderThumb = forwardRef<SliderThumbProps, \"div\">(\n  ({ className, ...rest }, ref) => {\n    const { styles, thumbColor, thumbSize, getThumbProps, thumbProps } =\n      useSliderContext()\n\n    const css: CSSUIObject = { ...styles.thumb }\n\n    return (\n      <ui.div\n        className={cx(\"ui-slider__thumb\", className)}\n        __css={css}\n        {...getThumbProps(\n          {\n            ...(thumbColor ? { bg: thumbColor } : {}),\n            ...(thumbSize ? { boxSize: thumbSize } : {}),\n            ...thumbProps,\n            ...rest,\n          },\n          ref,\n        )}\n      />\n    )\n  },\n)\n\nSliderThumb.displayName = \"SliderThumb\"\nSliderThumb.__ui__ = \"SliderThumb\"\n"],"mappings":"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","names":["interactive","value","max","min","step","focusThumbOnChange","props"]}