{"version":3,"file":"Thumb.mjs","sources":["../../../../src/components/Slider/Thumb/Thumb.tsx"],"sourcesContent":["import { forwardRef, useState } from 'react';\nimport { Box } from '../../../core';\nimport { Transition, TransitionOverride } from '../../Transition';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface ThumbProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'value'> {\n  max: number;\n  min: number;\n  value: number;\n  position: number;\n  dragging: boolean;\n  label: React.ReactNode;\n  onKeyDownCapture?: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n  onMouseDown?: (event: any) => void;\n  labelTransitionProps: TransitionOverride | undefined;\n  labelAlwaysOn: boolean | undefined;\n  thumbLabel: string | undefined;\n  showLabelOnHover: boolean | undefined;\n  isHovered?: boolean;\n  children?: React.ReactNode;\n  disabled: boolean | undefined;\n  className?: string;\n  style?: React.CSSProperties;\n}\n\nexport const Thumb = forwardRef<HTMLDivElement, ThumbProps>(\n  (\n    {\n      max,\n      min,\n      value,\n      position,\n      label,\n      dragging,\n      onMouseDown,\n      onKeyDownCapture,\n      labelTransitionProps,\n      labelAlwaysOn,\n      thumbLabel,\n      onFocus,\n      onBlur,\n      showLabelOnHover,\n      isHovered,\n      children = null,\n      disabled,\n    }: ThumbProps,\n    ref\n  ) => {\n    const { getStyles } = useSliderContext();\n\n    const [focused, setFocused] = useState(false);\n\n    const isVisible = labelAlwaysOn || dragging || focused || (showLabelOnHover && isHovered);\n\n    return (\n      <Box<'div'>\n        tabIndex={0}\n        role=\"slider\"\n        aria-label={thumbLabel}\n        aria-valuemax={max}\n        aria-valuemin={min}\n        aria-valuenow={value}\n        ref={ref}\n        __vars={{ '--slider-thumb-offset': `${position}%` }}\n        {...getStyles('thumb', { focusable: true })}\n        mod={{ dragging, disabled }}\n        onFocus={(event) => {\n          setFocused(true);\n          typeof onFocus === 'function' && onFocus(event);\n        }}\n        onBlur={(event) => {\n          setFocused(false);\n          typeof onBlur === 'function' && onBlur(event);\n        }}\n        onTouchStart={onMouseDown}\n        onMouseDown={onMouseDown}\n        onKeyDownCapture={onKeyDownCapture}\n        onClick={(event) => event.stopPropagation()}\n      >\n        {children}\n        <Transition\n          mounted={label != null && !!isVisible}\n          transition=\"fade\"\n          duration={0}\n          {...labelTransitionProps}\n        >\n          {(transitionStyles) => (\n            <div {...getStyles('label', { style: transitionStyles })}>{label}</div>\n          )}\n        </Transition>\n      </Box>\n    );\n  }\n);\n\nThumb.displayName = '@raikou/core/SliderThumb';\n"],"names":[],"mappings":";;;;;;;;;;;AAyBO,MAAM,KAAQ,GAAA,UAAA;AAAA,EACnB,CACE;AAAA,IACE,GAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,oBAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAW,GAAA,IAAA;AAAA,IACX;AAAA,KAEF,GACG,KAAA;AACH,IAAM,MAAA,EAAE,SAAU,EAAA,GAAI,gBAAiB,EAAA;AAEvC,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,IAAA,MAAM,SAAY,GAAA,aAAA,IAAiB,QAAY,IAAA,OAAA,IAAY,gBAAoB,IAAA,SAAA;AAE/E,IACE,uBAAA,IAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,QAAU,EAAA,CAAA;AAAA,QACV,IAAK,EAAA,QAAA;AAAA,QACL,YAAY,EAAA,UAAA;AAAA,QACZ,eAAe,EAAA,GAAA;AAAA,QACf,eAAe,EAAA,GAAA;AAAA,QACf,eAAe,EAAA,KAAA;AAAA,QACf,GAAA;AAAA,QACA,MAAQ,EAAA,EAAE,uBAAyB,EAAA,CAAA,EAAG,QAAQ,CAAI,CAAA,CAAA,EAAA;AAAA,QACjD,GAAG,SAAU,CAAA,OAAA,EAAS,EAAE,SAAA,EAAW,MAAM,CAAA;AAAA,QAC1C,GAAA,EAAK,EAAE,QAAA,EAAU,QAAS,EAAA;AAAA,QAC1B,OAAA,EAAS,CAAC,KAAU,KAAA;AAClB,UAAA,UAAA,CAAW,IAAI,CAAA;AACf,UAAO,OAAA,OAAA,KAAY,UAAc,IAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,SAChD;AAAA,QACA,MAAA,EAAQ,CAAC,KAAU,KAAA;AACjB,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAO,OAAA,MAAA,KAAW,UAAc,IAAA,MAAA,CAAO,KAAK,CAAA;AAAA,SAC9C;AAAA,QACA,YAAc,EAAA,WAAA;AAAA,QACd,WAAA;AAAA,QACA,gBAAA;AAAA,QACA,OAAS,EAAA,CAAC,KAAU,KAAA,KAAA,CAAM,eAAgB,EAAA;AAAA,QAEzC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,0BACD,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAS,EAAA,KAAA,IAAS,IAAQ,IAAA,CAAC,CAAC,SAAA;AAAA,cAC5B,UAAW,EAAA,MAAA;AAAA,cACX,QAAU,EAAA,CAAA;AAAA,cACT,GAAG,oBAAA;AAAA,cAEH,QAAC,EAAA,CAAA,gBAAA,qBACC,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,OAAS,EAAA,EAAE,KAAO,EAAA,gBAAA,EAAkB,CAAA,EAAI,QAAM,EAAA,KAAA,EAAA;AAAA;AAAA;AAErE;AAAA;AAAA,KACF;AAAA;AAGN;AAEA,KAAA,CAAM,WAAc,GAAA,0BAAA;;;;"}