@chayns-components/devalue-slider 5.5.59-beta.0 → 5.5.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -195,7 +195,7 @@ const Slider = /*#__PURE__*/(0, _react2.forwardRef)(({
195
195
  }
196
196
  }, /*#__PURE__*/_react2.default.createElement(_Slider.ThumbIconContainer, null, !showWaitCursor && /*#__PURE__*/_react2.default.createElement(_Slider.ThumbIcon, {
197
197
  key: "thumb-icon",
198
- $icon: icon,
198
+ icon: icon,
199
199
  variants: _Slider.THUMB_ICON_VARIANTS,
200
200
  style: iconStyles
201
201
  }), showWaitCursor && /*#__PURE__*/_react2.default.createElement(_core.SmallWaitCursor, {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["_core","require","_size","_interopRequireDefault","_chaynsApi","_react","_react2","_interopRequireWildcard","_design","_common","_Slider","_textstrings","_textStrings","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Slider","forwardRef","color","devalueColor","trackHeight","thumbSize","borderSize","trackText","onChange","onDevalue","Promise","resolve","success","onComplete","ref","trackRef","setTrackRef","useState","trackWidth","useSize","initialWidth","initialHeight","iconColor","setIconColor","isCompleted","setIsCompleted","isDisabled","setIsDisabled","isCompletedRef","useRef","showWaitCursor","setShowWaitCursor","scaleFactor","useMemo","x","useMotionValue","icon","styles","iconStyles","useThumbIcon","dragControls","useDragControls","vibrationTrigger","useTransform","value","Math","round","lastVibrationValue","useEffect","on","current","vibrate","pattern","containerAnimation","useAnimation","thumbVariants","createThumbVariants","textOpacity","relativeValue","thumbRadius","parseFloat","toPrecision","relativeBackgroundValue","trackBackground","handlePointerDownCapture","useCallback","event","currentValue","preventDefault","stopPropagation","invokeCall","action","iOSFeedbackVibration","handleRedeem","devaluePromise","sleepPromise","sleep","devalued","all","start","handleTrackRef","node","handleDragStart","handleDragEnd","useImperativeHandle","disable","enable","baseFontSize","createElement","Container","animate","Track","$height","$borderSize","$backgroundColor","TrackBackground","style","background","Thumb","variants","$size","$trackHeight","drag","dragElastic","onPointerDownCapture","whileTap","scale","cursor","onDragStart","onDragEnd","dragConstraints","right","left","ThumbIconContainer","ThumbIcon","key","$icon","THUMB_ICON_VARIANTS","SmallWaitCursor","shouldHideBackground","TrackText","opacity","$color","$baseFontSize","Translation","textString","textStrings","components","slider","tracktext","_default","exports"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport useSize from '@react-hook/size';\nimport { invokeCall, vibrate } from 'chayns-api';\nimport {\n type DragHandler,\n useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n} from 'motion/react';\nimport React, {\n forwardRef,\n PointerEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useThumbIcon } from '../../hooks/design';\nimport { sleep } from '../../utils/common';\nimport type { DevalueSliderProps } from '../DevalueSlider';\nimport {\n Container,\n createThumbVariants,\n Thumb,\n THUMB_ICON_VARIANTS,\n ThumbIcon,\n ThumbIconContainer,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\nimport { Translation } from '@chayns/textstrings';\nimport textStrings from '../../constants/textStrings';\n\nexport type SliderProps = {\n color: NonNullable<DevalueSliderProps['backgroundColor']>;\n devalueColor: NonNullable<DevalueSliderProps['devalueBackgroundColor']>;\n thumbSize?: number;\n trackHeight?: number;\n trackText?: string;\n borderSize?: number;\n onChange: DevalueSliderProps['onChange'];\n onDevalue: DevalueSliderProps['onDevalue'];\n onComplete: DevalueSliderProps['onComplete'];\n};\n\nexport type SliderRef = {\n disable: () => void;\n enable: () => void;\n};\n\nconst Slider = forwardRef<SliderRef, SliderProps>(\n (\n {\n color,\n devalueColor,\n trackHeight = 50,\n thumbSize = 40,\n borderSize = 2,\n trackText,\n onChange = () => {},\n onDevalue = () => Promise.resolve({ success: true }),\n onComplete,\n },\n ref,\n ) => {\n const [trackRef, setTrackRef] = useState<HTMLDivElement | null>(null);\n const [trackWidth] = useSize(trackRef, { initialWidth: 300, initialHeight: 50 });\n const [iconColor, setIconColor] = useState('black');\n const [isCompleted, setIsCompleted] = useState(false);\n const [isDisabled, setIsDisabled] = useState(false);\n const isCompletedRef = useRef(isCompleted);\n const [showWaitCursor, setShowWaitCursor] = useState(false);\n const scaleFactor = useMemo(() => trackHeight / thumbSize, [thumbSize, trackHeight]);\n\n const x = useMotionValue(0);\n const { icon, styles: iconStyles } = useThumbIcon(x, iconColor);\n const dragControls = useDragControls();\n\n const vibrationTrigger = useTransform(\n x,\n // round to 10 to avoid unnecessary vibrate calls\n (value) => Math.round(value / 10) * 10,\n );\n const lastVibrationValue = useRef(0);\n useEffect(() => {\n vibrationTrigger.on('change', (value) => {\n if (!isCompletedRef.current && value !== lastVibrationValue.current) {\n lastVibrationValue.current = value;\n void vibrate({ pattern: [10] });\n }\n });\n }, [vibrationTrigger]);\n\n const containerAnimation = useAnimation();\n const thumbVariants = useMemo(\n () =>\n createThumbVariants({\n thumbSize,\n trackWidth,\n scaleFactor,\n }),\n [scaleFactor, thumbSize, trackWidth],\n );\n\n const textOpacity = useTransform(x, [0, 120], [1, 0]);\n\n // this is the relative value of the right edge of the thumb\n const relativeValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = thumbSize * scaleFactor;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n // this is the relative value of the center of the thumb, it is used for the background gradient\n const relativeBackgroundValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = (thumbSize * scaleFactor) / 2;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n const trackBackground = useTransform(relativeBackgroundValue, (value) => {\n if (isCompleted) return devalueColor;\n if (!value) return 'transparent';\n return `linear-gradient(to right, ${devalueColor} ${value}%, transparent ${value}%)`;\n });\n\n const handlePointerDownCapture = useCallback(\n (event: PointerEvent) => {\n const currentValue = relativeValue.get();\n\n if (currentValue > 5) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n void invokeCall({\n action: 19,\n value: {\n pattern: [50],\n iOSFeedbackVibration: 7,\n },\n });\n },\n [relativeValue],\n );\n\n const handleRedeem = useCallback(async () => {\n setShowWaitCursor(true);\n setIsCompleted(true);\n isCompletedRef.current = true;\n\n const devaluePromise = onDevalue();\n const sleepPromise = sleep(1000);\n const [devalued] = await Promise.all([devaluePromise, sleepPromise]);\n\n if (!devalued.success) {\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n await containerAnimation.start('base');\n return;\n }\n\n setShowWaitCursor(false);\n setIconColor('white');\n void invokeCall({\n action: 19,\n value: {\n iOSFeedbackVibration: 3,\n pattern: [100, 200, 100],\n },\n });\n\n await containerAnimation.start('completed');\n await containerAnimation.start('leaving');\n onComplete?.();\n }, [containerAnimation, onComplete, onDevalue]);\n\n const handleTrackRef = useCallback((node: HTMLDivElement | null) => {\n setTrackRef(node);\n }, []);\n\n const handleDragStart = useCallback<NonNullable<DragHandler>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandler>>(() => {\n if (relativeValue.get() > 98) {\n void handleRedeem();\n return;\n }\n\n void containerAnimation.start('base');\n }, [relativeValue, containerAnimation, handleRedeem]);\n\n useEffect(() => {\n void containerAnimation.start('base');\n }, [containerAnimation]);\n\n useEffect(() => {\n if (isCompleted) return () => {};\n return relativeValue.on('change', onChange);\n }, [isCompleted, onChange, relativeValue]);\n\n useImperativeHandle(\n ref,\n () => ({\n disable: () => {\n setIsDisabled(true);\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n void containerAnimation.start('base');\n },\n enable: () => {\n setIsDisabled(false);\n },\n }),\n [containerAnimation],\n );\n\n const baseFontSize = useMemo(() => 22, []);\n\n return (\n <Container animate={containerAnimation}>\n <Track\n $height={trackHeight}\n $borderSize={borderSize}\n $backgroundColor={color}\n ref={handleTrackRef}\n >\n <TrackBackground\n $height={trackHeight}\n style={{ background: trackBackground }}\n />\n <Thumb\n variants={thumbVariants}\n $size={thumbSize}\n $trackHeight={trackHeight}\n style={{ x }}\n drag={isCompleted || isDisabled ? false : 'x'}\n dragElastic={0}\n onPointerDownCapture={handlePointerDownCapture}\n whileTap={{ scale: 1.4, cursor: 'grabbing' }}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n dragControls={dragControls}\n dragConstraints={{\n right: trackWidth - thumbSize * scaleFactor,\n left: 0,\n }}\n >\n <ThumbIconContainer>\n {!showWaitCursor && (\n <ThumbIcon\n key=\"thumb-icon\"\n $icon={icon}\n variants={THUMB_ICON_VARIANTS}\n style={iconStyles}\n />\n )}\n {showWaitCursor && (\n <SmallWaitCursor shouldHideBackground color=\"black\" />\n )}\n </ThumbIconContainer>\n </Thumb>\n <TrackText\n style={{ opacity: textOpacity }}\n $color=\"white\"\n $baseFontSize={baseFontSize}\n >\n {trackText ?? (\n <Translation textString={textStrings.components.slider.tracktext} />\n )}\n </TrackText>\n </Track>\n </Container>\n );\n },\n);\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Slider.js","names":["_core","require","_size","_interopRequireDefault","_chaynsApi","_react","_react2","_interopRequireWildcard","_design","_common","_Slider","_textstrings","_textStrings","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Slider","forwardRef","color","devalueColor","trackHeight","thumbSize","borderSize","trackText","onChange","onDevalue","Promise","resolve","success","onComplete","ref","trackRef","setTrackRef","useState","trackWidth","useSize","initialWidth","initialHeight","iconColor","setIconColor","isCompleted","setIsCompleted","isDisabled","setIsDisabled","isCompletedRef","useRef","showWaitCursor","setShowWaitCursor","scaleFactor","useMemo","x","useMotionValue","icon","styles","iconStyles","useThumbIcon","dragControls","useDragControls","vibrationTrigger","useTransform","value","Math","round","lastVibrationValue","useEffect","on","current","vibrate","pattern","containerAnimation","useAnimation","thumbVariants","createThumbVariants","textOpacity","relativeValue","thumbRadius","parseFloat","toPrecision","relativeBackgroundValue","trackBackground","handlePointerDownCapture","useCallback","event","currentValue","preventDefault","stopPropagation","invokeCall","action","iOSFeedbackVibration","handleRedeem","devaluePromise","sleepPromise","sleep","devalued","all","start","handleTrackRef","node","handleDragStart","handleDragEnd","useImperativeHandle","disable","enable","baseFontSize","createElement","Container","animate","Track","$height","$borderSize","$backgroundColor","TrackBackground","style","background","Thumb","variants","$size","$trackHeight","drag","dragElastic","onPointerDownCapture","whileTap","scale","cursor","onDragStart","onDragEnd","dragConstraints","right","left","ThumbIconContainer","ThumbIcon","key","THUMB_ICON_VARIANTS","SmallWaitCursor","shouldHideBackground","TrackText","opacity","$color","$baseFontSize","Translation","textString","textStrings","components","slider","tracktext","_default","exports"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport useSize from '@react-hook/size';\nimport { invokeCall, vibrate } from 'chayns-api';\nimport {\n type DragHandler,\n useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n} from 'motion/react';\nimport React, {\n forwardRef,\n PointerEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useThumbIcon } from '../../hooks/design';\nimport { sleep } from '../../utils/common';\nimport type { DevalueSliderProps } from '../DevalueSlider';\nimport {\n Container,\n createThumbVariants,\n Thumb,\n THUMB_ICON_VARIANTS,\n ThumbIcon,\n ThumbIconContainer,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\nimport { Translation } from '@chayns/textstrings';\nimport textStrings from '../../constants/textStrings';\n\nexport type SliderProps = {\n color: NonNullable<DevalueSliderProps['backgroundColor']>;\n devalueColor: NonNullable<DevalueSliderProps['devalueBackgroundColor']>;\n thumbSize?: number;\n trackHeight?: number;\n trackText?: string;\n borderSize?: number;\n onChange: DevalueSliderProps['onChange'];\n onDevalue: DevalueSliderProps['onDevalue'];\n onComplete: DevalueSliderProps['onComplete'];\n};\n\nexport type SliderRef = {\n disable: () => void;\n enable: () => void;\n};\n\nconst Slider = forwardRef<SliderRef, SliderProps>(\n (\n {\n color,\n devalueColor,\n trackHeight = 50,\n thumbSize = 40,\n borderSize = 2,\n trackText,\n onChange = () => {},\n onDevalue = () => Promise.resolve({ success: true }),\n onComplete,\n },\n ref,\n ) => {\n const [trackRef, setTrackRef] = useState<HTMLDivElement | null>(null);\n const [trackWidth] = useSize(trackRef, { initialWidth: 300, initialHeight: 50 });\n const [iconColor, setIconColor] = useState('black');\n const [isCompleted, setIsCompleted] = useState(false);\n const [isDisabled, setIsDisabled] = useState(false);\n const isCompletedRef = useRef(isCompleted);\n const [showWaitCursor, setShowWaitCursor] = useState(false);\n const scaleFactor = useMemo(() => trackHeight / thumbSize, [thumbSize, trackHeight]);\n\n const x = useMotionValue(0);\n const { icon, styles: iconStyles } = useThumbIcon(x, iconColor);\n const dragControls = useDragControls();\n\n const vibrationTrigger = useTransform(\n x,\n // round to 10 to avoid unnecessary vibrate calls\n (value) => Math.round(value / 10) * 10,\n );\n const lastVibrationValue = useRef(0);\n useEffect(() => {\n vibrationTrigger.on('change', (value) => {\n if (!isCompletedRef.current && value !== lastVibrationValue.current) {\n lastVibrationValue.current = value;\n void vibrate({ pattern: [10] });\n }\n });\n }, [vibrationTrigger]);\n\n const containerAnimation = useAnimation();\n const thumbVariants = useMemo(\n () =>\n createThumbVariants({\n thumbSize,\n trackWidth,\n scaleFactor,\n }),\n [scaleFactor, thumbSize, trackWidth],\n );\n\n const textOpacity = useTransform(x, [0, 120], [1, 0]);\n\n // this is the relative value of the right edge of the thumb\n const relativeValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = thumbSize * scaleFactor;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n // this is the relative value of the center of the thumb, it is used for the background gradient\n const relativeBackgroundValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = (thumbSize * scaleFactor) / 2;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n const trackBackground = useTransform(relativeBackgroundValue, (value) => {\n if (isCompleted) return devalueColor;\n if (!value) return 'transparent';\n return `linear-gradient(to right, ${devalueColor} ${value}%, transparent ${value}%)`;\n });\n\n const handlePointerDownCapture = useCallback(\n (event: PointerEvent) => {\n const currentValue = relativeValue.get();\n\n if (currentValue > 5) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n void invokeCall({\n action: 19,\n value: {\n pattern: [50],\n iOSFeedbackVibration: 7,\n },\n });\n },\n [relativeValue],\n );\n\n const handleRedeem = useCallback(async () => {\n setShowWaitCursor(true);\n setIsCompleted(true);\n isCompletedRef.current = true;\n\n const devaluePromise = onDevalue();\n const sleepPromise = sleep(1000);\n const [devalued] = await Promise.all([devaluePromise, sleepPromise]);\n\n if (!devalued.success) {\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n await containerAnimation.start('base');\n return;\n }\n\n setShowWaitCursor(false);\n setIconColor('white');\n void invokeCall({\n action: 19,\n value: {\n iOSFeedbackVibration: 3,\n pattern: [100, 200, 100],\n },\n });\n\n await containerAnimation.start('completed');\n await containerAnimation.start('leaving');\n onComplete?.();\n }, [containerAnimation, onComplete, onDevalue]);\n\n const handleTrackRef = useCallback((node: HTMLDivElement | null) => {\n setTrackRef(node);\n }, []);\n\n const handleDragStart = useCallback<NonNullable<DragHandler>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandler>>(() => {\n if (relativeValue.get() > 98) {\n void handleRedeem();\n return;\n }\n\n void containerAnimation.start('base');\n }, [relativeValue, containerAnimation, handleRedeem]);\n\n useEffect(() => {\n void containerAnimation.start('base');\n }, [containerAnimation]);\n\n useEffect(() => {\n if (isCompleted) return () => {};\n return relativeValue.on('change', onChange);\n }, [isCompleted, onChange, relativeValue]);\n\n useImperativeHandle(\n ref,\n () => ({\n disable: () => {\n setIsDisabled(true);\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n void containerAnimation.start('base');\n },\n enable: () => {\n setIsDisabled(false);\n },\n }),\n [containerAnimation],\n );\n\n const baseFontSize = useMemo(() => 22, []);\n\n return (\n <Container animate={containerAnimation}>\n <Track\n $height={trackHeight}\n $borderSize={borderSize}\n $backgroundColor={color}\n ref={handleTrackRef}\n >\n <TrackBackground\n $height={trackHeight}\n style={{ background: trackBackground }}\n />\n <Thumb\n variants={thumbVariants}\n $size={thumbSize}\n $trackHeight={trackHeight}\n style={{ x }}\n drag={isCompleted || isDisabled ? false : 'x'}\n dragElastic={0}\n onPointerDownCapture={handlePointerDownCapture}\n whileTap={{ scale: 1.4, cursor: 'grabbing' }}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n dragControls={dragControls}\n dragConstraints={{\n right: trackWidth - thumbSize * scaleFactor,\n left: 0,\n }}\n >\n <ThumbIconContainer>\n {!showWaitCursor && (\n <ThumbIcon\n key=\"thumb-icon\"\n icon={icon}\n variants={THUMB_ICON_VARIANTS}\n style={iconStyles}\n />\n )}\n {showWaitCursor && (\n <SmallWaitCursor shouldHideBackground color=\"black\" />\n )}\n </ThumbIconContainer>\n </Thumb>\n <TrackText\n style={{ opacity: textOpacity }}\n $color=\"white\"\n $baseFontSize={baseFontSize}\n >\n {trackText ?? (\n <Translation textString={textStrings.components.slider.tracktext} />\n )}\n </TrackText>\n </Track>\n </Container>\n );\n },\n);\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
@@ -199,9 +199,9 @@ const ThumbIconContainer = exports.ThumbIconContainer = _styledComponents.defaul
199
199
  align-items: center;
200
200
  `;
201
201
  const ThumbIcon = exports.ThumbIcon = (0, _styledComponents.default)(_react.motion.i).attrs(({
202
- $icon
202
+ icon
203
203
  }) => ({
204
- className: `react-chayns-icon ${$icon}`
204
+ className: `react-chayns-icon ${icon}`
205
205
  }))`
206
206
  font-size: 22px;
207
207
  z-index: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.styles.js","names":["_react","require","_styledComponents","_interopRequireDefault","e","__esModule","default","Container","exports","styled","motion","div","Track","$height","$backgroundColor","TrackBackground","Thumb","$size","$trackHeight","TrackText","$baseFontSize","$color","ThumbIconContainer","ThumbIcon","i","attrs","$icon","className","createThumbVariants","thumbSize","trackWidth","scaleFactor","base","x","backgroundColor","transition","duration","completed","boxShadow","leaving","scale","THUMB_ICON_VARIANTS","ease","repeat","Infinity","repeatDelay","dragging","opacity"],"sources":["../../../../src/components/slider/Slider.styles.ts"],"sourcesContent":["import { motion, Variant, Variants } from 'motion/react';\nimport styled from 'styled-components';\n\ninterface IBaseVariant extends Variants {\n base: Variant;\n}\n\ninterface IDraggingVariant extends Variants {\n dragging: Variant;\n}\n\ninterface ICompletedVariant extends Variants {\n completed: Variant;\n}\n\ninterface ILeavingVariant extends Variants {\n leaving: Variant;\n}\n\nexport const Container = styled(motion.div)``;\n\nexport type TrackProps = {\n $height: number;\n $borderSize: number;\n $backgroundColor: string;\n};\n\nexport const Track = styled(motion.div)<TrackProps>`\n user-select: none;\n position: relative;\n z-index: 3;\n height: ${({ $height }) => $height}px;\n border-radius: ${({ $height }) => $height / 2}px;\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n`;\n\nexport const TrackBackground = styled(motion.div)<{ $height: number }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${({ $height }) => $height / 2}px;\n z-index: 2;\n`;\n\nexport const Thumb = styled(motion.div)<{\n $size: number;\n $trackHeight: number;\n}>`\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n border-radius: 50%;\n background-color: white;\n left: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2}px;\n bottom: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2 + 1}px;\n position: absolute;\n z-index: 3;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 2px 0;\n`;\n\nexport const TrackText = styled(motion.div)<{ $color: string; $baseFontSize: number }>`\n position: absolute;\n line-height: 1.15;\n font-size: ${({ $baseFontSize }) => $baseFontSize}px;\n font-weight: 700;\n color: ${({ $color }) => $color};\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n text-overflow: ellipsis;\n z-index: 1;\n font-family:\n Roboto Regular,\n sans-serif;\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Regular'),\n local('Roboto Regular'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Regular Italic'),\n local('Roboto Regular-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Regular Bold'),\n local('Roboto Regular-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Regular Bold Italic'),\n local('Roboto Regular-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff2)\n format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff)\n format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Bold'),\n local('Roboto Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Bold Italic'),\n local('Roboto Bold-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Bold Bold'),\n local('Roboto Bold-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Bold Bold Italic'),\n local('Roboto Bold-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n`;\n\nexport const ThumbIconContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ThumbIcon = styled(motion.i).attrs<{ $icon: string }>(({ $icon }) => ({\n className: `react-chayns-icon ${$icon}`,\n}))`\n font-size: 22px;\n z-index: 1;\n color: black;\n padding: 5px;\n`;\n\nexport type CreateThumbVariantsArgs = {\n trackWidth: number;\n thumbSize: number;\n scaleFactor: number;\n};\n\nexport const createThumbVariants = ({\n thumbSize,\n trackWidth,\n scaleFactor,\n}: CreateThumbVariantsArgs): IBaseVariant & ICompletedVariant & ILeavingVariant => ({\n base: {\n x: 0,\n backgroundColor: 'white',\n transition: { duration: 0.2 },\n },\n completed: {\n x: (trackWidth - thumbSize * scaleFactor) / 2,\n backgroundColor: 'transparent',\n boxShadow: 'none',\n transition: { duration: 0.3 },\n },\n leaving: {\n scale: [1, 2.4, 1],\n boxShadow: 'none',\n },\n});\n\nexport const THUMB_ICON_VARIANTS: IBaseVariant &\n IDraggingVariant &\n ICompletedVariant &\n ILeavingVariant = {\n base: {\n x: [0, 8, 0, 8, 0],\n transition: {\n duration: 1,\n ease: 'easeInOut',\n repeat: Infinity,\n repeatDelay: 5,\n },\n },\n dragging: {\n x: 0,\n },\n completed: {\n opacity: 1,\n transition: { duration: 0 },\n },\n leaving: {\n opacity: 1,\n scale: [1, 2.4, 1],\n transition: { duration: 0.4, ease: 'easeInOut' },\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAkBhC,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAC,EAAE;AAQtC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAG,IAAAH,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAa;AACnD;AACA;AACA;AACA,cAAc,CAAC;EAAEE;AAAQ,CAAC,KAAKA,OAAO;AACtC,qBAAqB,CAAC;EAAEA;AAAQ,CAAC,KAAKA,OAAO,GAAG,CAAC;AACjD,wBAAwB,CAAC;EAAEC;AAAiB,CAAC,KAAKA,gBAAgB;AAClE,CAAC;AAEM,MAAMC,eAAe,GAAAP,OAAA,CAAAO,eAAA,GAAG,IAAAN,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAsB;AACtE;AACA;AACA;AACA,qBAAqB,CAAC;EAAEE;AAAQ,CAAC,KAAKA,OAAO,GAAG,CAAC;AACjD;AACA,CAAC;AAEM,MAAMG,KAAK,GAAAR,OAAA,CAAAQ,KAAA,GAAG,IAAAP,yBAAM,EAACC,aAAM,CAACC,GAAG,CAGpC;AACF,cAAc,CAAC;EAAEM;AAAM,CAAC,KAAKA,KAAK;AAClC,aAAa,CAAC;EAAEA;AAAM,CAAC,KAAKA,KAAK;AACjC;AACA;AACA,YAAY,CAAC;EAAEA,KAAK;EAAEC;AAAa,CAAC,KAAK,CAACA,YAAY,GAAGD,KAAK,GAAG,CAAC,IAAI,CAAC;AACvE,cAAc,CAAC;EAAEA,KAAK;EAAEC;AAAa,CAAC,KAAK,CAACA,YAAY,GAAGD,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7E;AACA;AACA;AACA,CAAC;AAEM,MAAME,SAAS,GAAAX,OAAA,CAAAW,SAAA,GAAG,IAAAV,yBAAM,EAACC,aAAM,CAACC,GAAG,CAA4C;AACtF;AACA;AACA,iBAAiB,CAAC;EAAES;AAAc,CAAC,KAAKA,aAAa;AACrD;AACA,aAAa,CAAC;EAAEC;AAAO,CAAC,KAAKA,MAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAGb,yBAAM,CAACE,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMY,SAAS,GAAAf,OAAA,CAAAe,SAAA,GAAG,IAAAd,yBAAM,EAACC,aAAM,CAACc,CAAC,CAAC,CAACC,KAAK,CAAoB,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC/EC,SAAS,EAAE,qBAAqBD,KAAK;AACzC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,CAAC;AAQM,MAAME,mBAAmB,GAAGA,CAAC;EAChCC,SAAS;EACTC,UAAU;EACVC;AACqB,CAAC,MAA0D;EAChFC,IAAI,EAAE;IACFC,CAAC,EAAE,CAAC;IACJC,eAAe,EAAE,OAAO;IACxBC,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAChC,CAAC;EACDC,SAAS,EAAE;IACPJ,CAAC,EAAE,CAACH,UAAU,GAAGD,SAAS,GAAGE,WAAW,IAAI,CAAC;IAC7CG,eAAe,EAAE,aAAa;IAC9BI,SAAS,EAAE,MAAM;IACjBH,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAChC,CAAC;EACDG,OAAO,EAAE;IACLC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClBF,SAAS,EAAE;EACf;AACJ,CAAC,CAAC;AAAC9B,OAAA,CAAAoB,mBAAA,GAAAA,mBAAA;AAEI,MAAMa,mBAGM,GAAAjC,OAAA,CAAAiC,mBAAA,GAAG;EAClBT,IAAI,EAAE;IACFC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClBE,UAAU,EAAE;MACRC,QAAQ,EAAE,CAAC;MACXM,IAAI,EAAE,WAAW;MACjBC,MAAM,EAAEC,QAAQ;MAChBC,WAAW,EAAE;IACjB;EACJ,CAAC;EACDC,QAAQ,EAAE;IACNb,CAAC,EAAE;EACP,CAAC;EACDI,SAAS,EAAE;IACPU,OAAO,EAAE,CAAC;IACVZ,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAE;EAC9B,CAAC;EACDG,OAAO,EAAE;IACLQ,OAAO,EAAE,CAAC;IACVP,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClBL,UAAU,EAAE;MAAEC,QAAQ,EAAE,GAAG;MAAEM,IAAI,EAAE;IAAY;EACnD;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Slider.styles.js","names":["_react","require","_styledComponents","_interopRequireDefault","e","__esModule","default","Container","exports","styled","motion","div","Track","$height","$backgroundColor","TrackBackground","Thumb","$size","$trackHeight","TrackText","$baseFontSize","$color","ThumbIconContainer","ThumbIcon","i","attrs","icon","className","createThumbVariants","thumbSize","trackWidth","scaleFactor","base","x","backgroundColor","transition","duration","completed","boxShadow","leaving","scale","THUMB_ICON_VARIANTS","ease","repeat","Infinity","repeatDelay","dragging","opacity"],"sources":["../../../../src/components/slider/Slider.styles.ts"],"sourcesContent":["import { motion, Variant, Variants } from 'motion/react';\nimport styled from 'styled-components';\n\ninterface IBaseVariant extends Variants {\n base: Variant;\n}\n\ninterface IDraggingVariant extends Variants {\n dragging: Variant;\n}\n\ninterface ICompletedVariant extends Variants {\n completed: Variant;\n}\n\ninterface ILeavingVariant extends Variants {\n leaving: Variant;\n}\n\nexport const Container = styled(motion.div)``;\n\nexport type TrackProps = {\n $height: number;\n $borderSize: number;\n $backgroundColor: string;\n};\n\nexport const Track = styled(motion.div)<TrackProps>`\n user-select: none;\n position: relative;\n z-index: 3;\n height: ${({ $height }) => $height}px;\n border-radius: ${({ $height }) => $height / 2}px;\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n`;\n\nexport const TrackBackground = styled(motion.div)<{ $height: number }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${({ $height }) => $height / 2}px;\n z-index: 2;\n`;\n\nexport const Thumb = styled(motion.div)<{\n $size: number;\n $trackHeight: number;\n}>`\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n border-radius: 50%;\n background-color: white;\n left: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2}px;\n bottom: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2 + 1}px;\n position: absolute;\n z-index: 3;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 2px 0;\n`;\n\nexport const TrackText = styled(motion.div)<{ $color: string; $baseFontSize: number }>`\n position: absolute;\n line-height: 1.15;\n font-size: ${({ $baseFontSize }) => $baseFontSize}px;\n font-weight: 700;\n color: ${({ $color }) => $color};\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n text-overflow: ellipsis;\n z-index: 1;\n font-family:\n Roboto Regular,\n sans-serif;\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Regular'),\n local('Roboto Regular'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Regular Italic'),\n local('Roboto Regular-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Regular Bold'),\n local('Roboto Regular-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Regular Bold Italic'),\n local('Roboto Regular-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff2)\n format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff)\n format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Bold'),\n local('Roboto Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Bold Italic'),\n local('Roboto Bold-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Bold Bold'),\n local('Roboto Bold-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Bold Bold Italic'),\n local('Roboto Bold-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n`;\n\nexport const ThumbIconContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ThumbIcon = styled(motion.i).attrs<{ icon: string }>(({ icon }) => ({\n className: `react-chayns-icon ${icon}`,\n}))`\n font-size: 22px;\n z-index: 1;\n color: black;\n padding: 5px;\n`;\n\nexport type CreateThumbVariantsArgs = {\n trackWidth: number;\n thumbSize: number;\n scaleFactor: number;\n};\n\nexport const createThumbVariants = ({\n thumbSize,\n trackWidth,\n scaleFactor,\n}: CreateThumbVariantsArgs): IBaseVariant & ICompletedVariant & ILeavingVariant => ({\n base: {\n x: 0,\n backgroundColor: 'white',\n transition: { duration: 0.2 },\n },\n completed: {\n x: (trackWidth - thumbSize * scaleFactor) / 2,\n backgroundColor: 'transparent',\n boxShadow: 'none',\n transition: { duration: 0.3 },\n },\n leaving: {\n scale: [1, 2.4, 1],\n boxShadow: 'none',\n },\n});\n\nexport const THUMB_ICON_VARIANTS: IBaseVariant &\n IDraggingVariant &\n ICompletedVariant &\n ILeavingVariant = {\n base: {\n x: [0, 8, 0, 8, 0],\n transition: {\n duration: 1,\n ease: 'easeInOut',\n repeat: Infinity,\n repeatDelay: 5,\n },\n },\n dragging: {\n x: 0,\n },\n completed: {\n opacity: 1,\n transition: { duration: 0 },\n },\n leaving: {\n opacity: 1,\n scale: [1, 2.4, 1],\n transition: { duration: 0.4, ease: 'easeInOut' },\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAkBhC,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAC,EAAE;AAQtC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAG,IAAAH,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAa;AACnD;AACA;AACA;AACA,cAAc,CAAC;EAAEE;AAAQ,CAAC,KAAKA,OAAO;AACtC,qBAAqB,CAAC;EAAEA;AAAQ,CAAC,KAAKA,OAAO,GAAG,CAAC;AACjD,wBAAwB,CAAC;EAAEC;AAAiB,CAAC,KAAKA,gBAAgB;AAClE,CAAC;AAEM,MAAMC,eAAe,GAAAP,OAAA,CAAAO,eAAA,GAAG,IAAAN,yBAAM,EAACC,aAAM,CAACC,GAAG,CAAsB;AACtE;AACA;AACA;AACA,qBAAqB,CAAC;EAAEE;AAAQ,CAAC,KAAKA,OAAO,GAAG,CAAC;AACjD;AACA,CAAC;AAEM,MAAMG,KAAK,GAAAR,OAAA,CAAAQ,KAAA,GAAG,IAAAP,yBAAM,EAACC,aAAM,CAACC,GAAG,CAGpC;AACF,cAAc,CAAC;EAAEM;AAAM,CAAC,KAAKA,KAAK;AAClC,aAAa,CAAC;EAAEA;AAAM,CAAC,KAAKA,KAAK;AACjC;AACA;AACA,YAAY,CAAC;EAAEA,KAAK;EAAEC;AAAa,CAAC,KAAK,CAACA,YAAY,GAAGD,KAAK,GAAG,CAAC,IAAI,CAAC;AACvE,cAAc,CAAC;EAAEA,KAAK;EAAEC;AAAa,CAAC,KAAK,CAACA,YAAY,GAAGD,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7E;AACA;AACA;AACA,CAAC;AAEM,MAAME,SAAS,GAAAX,OAAA,CAAAW,SAAA,GAAG,IAAAV,yBAAM,EAACC,aAAM,CAACC,GAAG,CAA4C;AACtF;AACA;AACA,iBAAiB,CAAC;EAAES;AAAc,CAAC,KAAKA,aAAa;AACrD;AACA,aAAa,CAAC;EAAEC;AAAO,CAAC,KAAKA,MAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMC,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAGb,yBAAM,CAACE,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAMY,SAAS,GAAAf,OAAA,CAAAe,SAAA,GAAG,IAAAd,yBAAM,EAACC,aAAM,CAACc,CAAC,CAAC,CAACC,KAAK,CAAmB,CAAC;EAAEC;AAAK,CAAC,MAAM;EAC7EC,SAAS,EAAE,qBAAqBD,IAAI;AACxC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,CAAC;AAQM,MAAME,mBAAmB,GAAGA,CAAC;EAChCC,SAAS;EACTC,UAAU;EACVC;AACqB,CAAC,MAA0D;EAChFC,IAAI,EAAE;IACFC,CAAC,EAAE,CAAC;IACJC,eAAe,EAAE,OAAO;IACxBC,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAChC,CAAC;EACDC,SAAS,EAAE;IACPJ,CAAC,EAAE,CAACH,UAAU,GAAGD,SAAS,GAAGE,WAAW,IAAI,CAAC;IAC7CG,eAAe,EAAE,aAAa;IAC9BI,SAAS,EAAE,MAAM;IACjBH,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAChC,CAAC;EACDG,OAAO,EAAE;IACLC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClBF,SAAS,EAAE;EACf;AACJ,CAAC,CAAC;AAAC9B,OAAA,CAAAoB,mBAAA,GAAAA,mBAAA;AAEI,MAAMa,mBAGM,GAAAjC,OAAA,CAAAiC,mBAAA,GAAG;EAClBT,IAAI,EAAE;IACFC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClBE,UAAU,EAAE;MACRC,QAAQ,EAAE,CAAC;MACXM,IAAI,EAAE,WAAW;MACjBC,MAAM,EAAEC,QAAQ;MAChBC,WAAW,EAAE;IACjB;EACJ,CAAC;EACDC,QAAQ,EAAE;IACNb,CAAC,EAAE;EACP,CAAC;EACDI,SAAS,EAAE;IACPU,OAAO,EAAE,CAAC;IACVZ,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAE;EAC9B,CAAC;EACDG,OAAO,EAAE;IACLQ,OAAO,EAAE,CAAC;IACVP,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClBL,UAAU,EAAE;MAAEC,QAAQ,EAAE,GAAG;MAAEM,IAAI,EAAE;IAAY;EACnD;AACJ,CAAC","ignoreList":[]}
@@ -187,7 +187,7 @@ const Slider = /*#__PURE__*/forwardRef(({
187
187
  }
188
188
  }, /*#__PURE__*/React.createElement(ThumbIconContainer, null, !showWaitCursor && /*#__PURE__*/React.createElement(ThumbIcon, {
189
189
  key: "thumb-icon",
190
- $icon: icon,
190
+ icon: icon,
191
191
  variants: THUMB_ICON_VARIANTS,
192
192
  style: iconStyles
193
193
  }), showWaitCursor && /*#__PURE__*/React.createElement(SmallWaitCursor, {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["SmallWaitCursor","useSize","invokeCall","vibrate","useAnimation","useDragControls","useMotionValue","useTransform","React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useThumbIcon","sleep","Container","createThumbVariants","Thumb","THUMB_ICON_VARIANTS","ThumbIcon","ThumbIconContainer","Track","TrackBackground","TrackText","Translation","textStrings","Slider","color","devalueColor","trackHeight","thumbSize","borderSize","trackText","onChange","onDevalue","Promise","resolve","success","onComplete","ref","trackRef","setTrackRef","trackWidth","initialWidth","initialHeight","iconColor","setIconColor","isCompleted","setIsCompleted","isDisabled","setIsDisabled","isCompletedRef","showWaitCursor","setShowWaitCursor","scaleFactor","x","icon","styles","iconStyles","dragControls","vibrationTrigger","value","Math","round","lastVibrationValue","on","current","pattern","containerAnimation","thumbVariants","textOpacity","relativeValue","thumbRadius","parseFloat","toPrecision","relativeBackgroundValue","trackBackground","handlePointerDownCapture","event","currentValue","get","preventDefault","stopPropagation","action","iOSFeedbackVibration","handleRedeem","devaluePromise","sleepPromise","devalued","all","start","handleTrackRef","node","handleDragStart","handleDragEnd","disable","enable","baseFontSize","createElement","animate","$height","$borderSize","$backgroundColor","style","background","variants","$size","$trackHeight","drag","dragElastic","onPointerDownCapture","whileTap","scale","cursor","onDragStart","onDragEnd","dragConstraints","right","left","key","$icon","shouldHideBackground","opacity","$color","$baseFontSize","textString","components","slider","tracktext"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport useSize from '@react-hook/size';\nimport { invokeCall, vibrate } from 'chayns-api';\nimport {\n type DragHandler,\n useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n} from 'motion/react';\nimport React, {\n forwardRef,\n PointerEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useThumbIcon } from '../../hooks/design';\nimport { sleep } from '../../utils/common';\nimport type { DevalueSliderProps } from '../DevalueSlider';\nimport {\n Container,\n createThumbVariants,\n Thumb,\n THUMB_ICON_VARIANTS,\n ThumbIcon,\n ThumbIconContainer,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\nimport { Translation } from '@chayns/textstrings';\nimport textStrings from '../../constants/textStrings';\n\nexport type SliderProps = {\n color: NonNullable<DevalueSliderProps['backgroundColor']>;\n devalueColor: NonNullable<DevalueSliderProps['devalueBackgroundColor']>;\n thumbSize?: number;\n trackHeight?: number;\n trackText?: string;\n borderSize?: number;\n onChange: DevalueSliderProps['onChange'];\n onDevalue: DevalueSliderProps['onDevalue'];\n onComplete: DevalueSliderProps['onComplete'];\n};\n\nexport type SliderRef = {\n disable: () => void;\n enable: () => void;\n};\n\nconst Slider = forwardRef<SliderRef, SliderProps>(\n (\n {\n color,\n devalueColor,\n trackHeight = 50,\n thumbSize = 40,\n borderSize = 2,\n trackText,\n onChange = () => {},\n onDevalue = () => Promise.resolve({ success: true }),\n onComplete,\n },\n ref,\n ) => {\n const [trackRef, setTrackRef] = useState<HTMLDivElement | null>(null);\n const [trackWidth] = useSize(trackRef, { initialWidth: 300, initialHeight: 50 });\n const [iconColor, setIconColor] = useState('black');\n const [isCompleted, setIsCompleted] = useState(false);\n const [isDisabled, setIsDisabled] = useState(false);\n const isCompletedRef = useRef(isCompleted);\n const [showWaitCursor, setShowWaitCursor] = useState(false);\n const scaleFactor = useMemo(() => trackHeight / thumbSize, [thumbSize, trackHeight]);\n\n const x = useMotionValue(0);\n const { icon, styles: iconStyles } = useThumbIcon(x, iconColor);\n const dragControls = useDragControls();\n\n const vibrationTrigger = useTransform(\n x,\n // round to 10 to avoid unnecessary vibrate calls\n (value) => Math.round(value / 10) * 10,\n );\n const lastVibrationValue = useRef(0);\n useEffect(() => {\n vibrationTrigger.on('change', (value) => {\n if (!isCompletedRef.current && value !== lastVibrationValue.current) {\n lastVibrationValue.current = value;\n void vibrate({ pattern: [10] });\n }\n });\n }, [vibrationTrigger]);\n\n const containerAnimation = useAnimation();\n const thumbVariants = useMemo(\n () =>\n createThumbVariants({\n thumbSize,\n trackWidth,\n scaleFactor,\n }),\n [scaleFactor, thumbSize, trackWidth],\n );\n\n const textOpacity = useTransform(x, [0, 120], [1, 0]);\n\n // this is the relative value of the right edge of the thumb\n const relativeValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = thumbSize * scaleFactor;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n // this is the relative value of the center of the thumb, it is used for the background gradient\n const relativeBackgroundValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = (thumbSize * scaleFactor) / 2;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n const trackBackground = useTransform(relativeBackgroundValue, (value) => {\n if (isCompleted) return devalueColor;\n if (!value) return 'transparent';\n return `linear-gradient(to right, ${devalueColor} ${value}%, transparent ${value}%)`;\n });\n\n const handlePointerDownCapture = useCallback(\n (event: PointerEvent) => {\n const currentValue = relativeValue.get();\n\n if (currentValue > 5) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n void invokeCall({\n action: 19,\n value: {\n pattern: [50],\n iOSFeedbackVibration: 7,\n },\n });\n },\n [relativeValue],\n );\n\n const handleRedeem = useCallback(async () => {\n setShowWaitCursor(true);\n setIsCompleted(true);\n isCompletedRef.current = true;\n\n const devaluePromise = onDevalue();\n const sleepPromise = sleep(1000);\n const [devalued] = await Promise.all([devaluePromise, sleepPromise]);\n\n if (!devalued.success) {\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n await containerAnimation.start('base');\n return;\n }\n\n setShowWaitCursor(false);\n setIconColor('white');\n void invokeCall({\n action: 19,\n value: {\n iOSFeedbackVibration: 3,\n pattern: [100, 200, 100],\n },\n });\n\n await containerAnimation.start('completed');\n await containerAnimation.start('leaving');\n onComplete?.();\n }, [containerAnimation, onComplete, onDevalue]);\n\n const handleTrackRef = useCallback((node: HTMLDivElement | null) => {\n setTrackRef(node);\n }, []);\n\n const handleDragStart = useCallback<NonNullable<DragHandler>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandler>>(() => {\n if (relativeValue.get() > 98) {\n void handleRedeem();\n return;\n }\n\n void containerAnimation.start('base');\n }, [relativeValue, containerAnimation, handleRedeem]);\n\n useEffect(() => {\n void containerAnimation.start('base');\n }, [containerAnimation]);\n\n useEffect(() => {\n if (isCompleted) return () => {};\n return relativeValue.on('change', onChange);\n }, [isCompleted, onChange, relativeValue]);\n\n useImperativeHandle(\n ref,\n () => ({\n disable: () => {\n setIsDisabled(true);\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n void containerAnimation.start('base');\n },\n enable: () => {\n setIsDisabled(false);\n },\n }),\n [containerAnimation],\n );\n\n const baseFontSize = useMemo(() => 22, []);\n\n return (\n <Container animate={containerAnimation}>\n <Track\n $height={trackHeight}\n $borderSize={borderSize}\n $backgroundColor={color}\n ref={handleTrackRef}\n >\n <TrackBackground\n $height={trackHeight}\n style={{ background: trackBackground }}\n />\n <Thumb\n variants={thumbVariants}\n $size={thumbSize}\n $trackHeight={trackHeight}\n style={{ x }}\n drag={isCompleted || isDisabled ? false : 'x'}\n dragElastic={0}\n onPointerDownCapture={handlePointerDownCapture}\n whileTap={{ scale: 1.4, cursor: 'grabbing' }}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n dragControls={dragControls}\n dragConstraints={{\n right: trackWidth - thumbSize * scaleFactor,\n left: 0,\n }}\n >\n <ThumbIconContainer>\n {!showWaitCursor && (\n <ThumbIcon\n key=\"thumb-icon\"\n $icon={icon}\n variants={THUMB_ICON_VARIANTS}\n style={iconStyles}\n />\n )}\n {showWaitCursor && (\n <SmallWaitCursor shouldHideBackground color=\"black\" />\n )}\n </ThumbIconContainer>\n </Thumb>\n <TrackText\n style={{ opacity: textOpacity }}\n $color=\"white\"\n $baseFontSize={baseFontSize}\n >\n {trackText ?? (\n <Translation textString={textStrings.components.slider.tracktext} />\n )}\n </TrackText>\n </Track>\n </Container>\n );\n },\n);\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Slider.js","names":["SmallWaitCursor","useSize","invokeCall","vibrate","useAnimation","useDragControls","useMotionValue","useTransform","React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useThumbIcon","sleep","Container","createThumbVariants","Thumb","THUMB_ICON_VARIANTS","ThumbIcon","ThumbIconContainer","Track","TrackBackground","TrackText","Translation","textStrings","Slider","color","devalueColor","trackHeight","thumbSize","borderSize","trackText","onChange","onDevalue","Promise","resolve","success","onComplete","ref","trackRef","setTrackRef","trackWidth","initialWidth","initialHeight","iconColor","setIconColor","isCompleted","setIsCompleted","isDisabled","setIsDisabled","isCompletedRef","showWaitCursor","setShowWaitCursor","scaleFactor","x","icon","styles","iconStyles","dragControls","vibrationTrigger","value","Math","round","lastVibrationValue","on","current","pattern","containerAnimation","thumbVariants","textOpacity","relativeValue","thumbRadius","parseFloat","toPrecision","relativeBackgroundValue","trackBackground","handlePointerDownCapture","event","currentValue","get","preventDefault","stopPropagation","action","iOSFeedbackVibration","handleRedeem","devaluePromise","sleepPromise","devalued","all","start","handleTrackRef","node","handleDragStart","handleDragEnd","disable","enable","baseFontSize","createElement","animate","$height","$borderSize","$backgroundColor","style","background","variants","$size","$trackHeight","drag","dragElastic","onPointerDownCapture","whileTap","scale","cursor","onDragStart","onDragEnd","dragConstraints","right","left","key","shouldHideBackground","opacity","$color","$baseFontSize","textString","components","slider","tracktext"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport useSize from '@react-hook/size';\nimport { invokeCall, vibrate } from 'chayns-api';\nimport {\n type DragHandler,\n useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n} from 'motion/react';\nimport React, {\n forwardRef,\n PointerEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useThumbIcon } from '../../hooks/design';\nimport { sleep } from '../../utils/common';\nimport type { DevalueSliderProps } from '../DevalueSlider';\nimport {\n Container,\n createThumbVariants,\n Thumb,\n THUMB_ICON_VARIANTS,\n ThumbIcon,\n ThumbIconContainer,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\nimport { Translation } from '@chayns/textstrings';\nimport textStrings from '../../constants/textStrings';\n\nexport type SliderProps = {\n color: NonNullable<DevalueSliderProps['backgroundColor']>;\n devalueColor: NonNullable<DevalueSliderProps['devalueBackgroundColor']>;\n thumbSize?: number;\n trackHeight?: number;\n trackText?: string;\n borderSize?: number;\n onChange: DevalueSliderProps['onChange'];\n onDevalue: DevalueSliderProps['onDevalue'];\n onComplete: DevalueSliderProps['onComplete'];\n};\n\nexport type SliderRef = {\n disable: () => void;\n enable: () => void;\n};\n\nconst Slider = forwardRef<SliderRef, SliderProps>(\n (\n {\n color,\n devalueColor,\n trackHeight = 50,\n thumbSize = 40,\n borderSize = 2,\n trackText,\n onChange = () => {},\n onDevalue = () => Promise.resolve({ success: true }),\n onComplete,\n },\n ref,\n ) => {\n const [trackRef, setTrackRef] = useState<HTMLDivElement | null>(null);\n const [trackWidth] = useSize(trackRef, { initialWidth: 300, initialHeight: 50 });\n const [iconColor, setIconColor] = useState('black');\n const [isCompleted, setIsCompleted] = useState(false);\n const [isDisabled, setIsDisabled] = useState(false);\n const isCompletedRef = useRef(isCompleted);\n const [showWaitCursor, setShowWaitCursor] = useState(false);\n const scaleFactor = useMemo(() => trackHeight / thumbSize, [thumbSize, trackHeight]);\n\n const x = useMotionValue(0);\n const { icon, styles: iconStyles } = useThumbIcon(x, iconColor);\n const dragControls = useDragControls();\n\n const vibrationTrigger = useTransform(\n x,\n // round to 10 to avoid unnecessary vibrate calls\n (value) => Math.round(value / 10) * 10,\n );\n const lastVibrationValue = useRef(0);\n useEffect(() => {\n vibrationTrigger.on('change', (value) => {\n if (!isCompletedRef.current && value !== lastVibrationValue.current) {\n lastVibrationValue.current = value;\n void vibrate({ pattern: [10] });\n }\n });\n }, [vibrationTrigger]);\n\n const containerAnimation = useAnimation();\n const thumbVariants = useMemo(\n () =>\n createThumbVariants({\n thumbSize,\n trackWidth,\n scaleFactor,\n }),\n [scaleFactor, thumbSize, trackWidth],\n );\n\n const textOpacity = useTransform(x, [0, 120], [1, 0]);\n\n // this is the relative value of the right edge of the thumb\n const relativeValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = thumbSize * scaleFactor;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n // this is the relative value of the center of the thumb, it is used for the background gradient\n const relativeBackgroundValue = useTransform(x, (value) => {\n if (!value) return 0;\n const thumbRadius = (thumbSize * scaleFactor) / 2;\n return parseFloat((((value + thumbRadius) / trackWidth) * 100).toPrecision(2));\n });\n\n const trackBackground = useTransform(relativeBackgroundValue, (value) => {\n if (isCompleted) return devalueColor;\n if (!value) return 'transparent';\n return `linear-gradient(to right, ${devalueColor} ${value}%, transparent ${value}%)`;\n });\n\n const handlePointerDownCapture = useCallback(\n (event: PointerEvent) => {\n const currentValue = relativeValue.get();\n\n if (currentValue > 5) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n void invokeCall({\n action: 19,\n value: {\n pattern: [50],\n iOSFeedbackVibration: 7,\n },\n });\n },\n [relativeValue],\n );\n\n const handleRedeem = useCallback(async () => {\n setShowWaitCursor(true);\n setIsCompleted(true);\n isCompletedRef.current = true;\n\n const devaluePromise = onDevalue();\n const sleepPromise = sleep(1000);\n const [devalued] = await Promise.all([devaluePromise, sleepPromise]);\n\n if (!devalued.success) {\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n await containerAnimation.start('base');\n return;\n }\n\n setShowWaitCursor(false);\n setIconColor('white');\n void invokeCall({\n action: 19,\n value: {\n iOSFeedbackVibration: 3,\n pattern: [100, 200, 100],\n },\n });\n\n await containerAnimation.start('completed');\n await containerAnimation.start('leaving');\n onComplete?.();\n }, [containerAnimation, onComplete, onDevalue]);\n\n const handleTrackRef = useCallback((node: HTMLDivElement | null) => {\n setTrackRef(node);\n }, []);\n\n const handleDragStart = useCallback<NonNullable<DragHandler>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandler>>(() => {\n if (relativeValue.get() > 98) {\n void handleRedeem();\n return;\n }\n\n void containerAnimation.start('base');\n }, [relativeValue, containerAnimation, handleRedeem]);\n\n useEffect(() => {\n void containerAnimation.start('base');\n }, [containerAnimation]);\n\n useEffect(() => {\n if (isCompleted) return () => {};\n return relativeValue.on('change', onChange);\n }, [isCompleted, onChange, relativeValue]);\n\n useImperativeHandle(\n ref,\n () => ({\n disable: () => {\n setIsDisabled(true);\n setShowWaitCursor(false);\n setIsCompleted(false);\n isCompletedRef.current = false;\n void containerAnimation.start('base');\n },\n enable: () => {\n setIsDisabled(false);\n },\n }),\n [containerAnimation],\n );\n\n const baseFontSize = useMemo(() => 22, []);\n\n return (\n <Container animate={containerAnimation}>\n <Track\n $height={trackHeight}\n $borderSize={borderSize}\n $backgroundColor={color}\n ref={handleTrackRef}\n >\n <TrackBackground\n $height={trackHeight}\n style={{ background: trackBackground }}\n />\n <Thumb\n variants={thumbVariants}\n $size={thumbSize}\n $trackHeight={trackHeight}\n style={{ x }}\n drag={isCompleted || isDisabled ? false : 'x'}\n dragElastic={0}\n onPointerDownCapture={handlePointerDownCapture}\n whileTap={{ scale: 1.4, cursor: 'grabbing' }}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n dragControls={dragControls}\n dragConstraints={{\n right: trackWidth - thumbSize * scaleFactor,\n left: 0,\n }}\n >\n <ThumbIconContainer>\n {!showWaitCursor && (\n <ThumbIcon\n key=\"thumb-icon\"\n icon={icon}\n variants={THUMB_ICON_VARIANTS}\n style={iconStyles}\n />\n )}\n {showWaitCursor && (\n <SmallWaitCursor shouldHideBackground color=\"black\" />\n )}\n </ThumbIconContainer>\n </Thumb>\n <TrackText\n style={{ opacity: textOpacity }}\n $color=\"white\"\n $baseFontSize={baseFontSize}\n >\n {trackText ?? (\n <Translation textString={textStrings.components.slider.tracktext} />\n )}\n </TrackText>\n </Track>\n </Container>\n );\n },\n);\n\nexport default Slider;\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yBAAyB;AACzD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,UAAU,EAAEC,OAAO,QAAQ,YAAY;AAChD,SAEIC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,YAAY,QACT,cAAc;AACrB,OAAOC,KAAK,IACRC,UAAU,EAEVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACL,OAAO;AACd,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,KAAK,QAAQ,oBAAoB;AAE1C,SACIC,SAAS,EACTC,mBAAmB,EACnBC,KAAK,EACLC,mBAAmB,EACnBC,SAAS,EACTC,kBAAkB,EAClBC,KAAK,EACLC,eAAe,EACfC,SAAS,QACN,iBAAiB;AACxB,SAASC,WAAW,QAAQ,qBAAqB;AACjD,OAAOC,WAAW,MAAM,6BAA6B;AAmBrD,MAAMC,MAAM,gBAAGpB,UAAU,CACrB,CACI;EACIqB,KAAK;EACLC,YAAY;EACZC,WAAW,GAAG,EAAE;EAChBC,SAAS,GAAG,EAAE;EACdC,UAAU,GAAG,CAAC;EACdC,SAAS;EACTC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC,SAAS,GAAGA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAAC;IAAEC,OAAO,EAAE;EAAK,CAAC,CAAC;EACpDC;AACJ,CAAC,EACDC,GAAG,KACF;EACD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG7B,QAAQ,CAAwB,IAAI,CAAC;EACrE,MAAM,CAAC8B,UAAU,CAAC,GAAG5C,OAAO,CAAC0C,QAAQ,EAAE;IAAEG,YAAY,EAAE,GAAG;IAAEC,aAAa,EAAE;EAAG,CAAC,CAAC;EAChF,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGlC,QAAQ,CAAC,OAAO,CAAC;EACnD,MAAM,CAACmC,WAAW,EAAEC,cAAc,CAAC,GAAGpC,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAACqC,UAAU,EAAEC,aAAa,CAAC,GAAGtC,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMuC,cAAc,GAAGxC,MAAM,CAACoC,WAAW,CAAC;EAC1C,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAGzC,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM0C,WAAW,GAAG5C,OAAO,CAAC,MAAMmB,WAAW,GAAGC,SAAS,EAAE,CAACA,SAAS,EAAED,WAAW,CAAC,CAAC;EAEpF,MAAM0B,CAAC,GAAGpD,cAAc,CAAC,CAAC,CAAC;EAC3B,MAAM;IAAEqD,IAAI;IAAEC,MAAM,EAAEC;EAAW,CAAC,GAAG7C,YAAY,CAAC0C,CAAC,EAAEV,SAAS,CAAC;EAC/D,MAAMc,YAAY,GAAGzD,eAAe,CAAC,CAAC;EAEtC,MAAM0D,gBAAgB,GAAGxD,YAAY,CACjCmD,CAAC;EACD;EACCM,KAAK,IAAKC,IAAI,CAACC,KAAK,CAACF,KAAK,GAAG,EAAE,CAAC,GAAG,EACxC,CAAC;EACD,MAAMG,kBAAkB,GAAGrD,MAAM,CAAC,CAAC,CAAC;EACpCH,SAAS,CAAC,MAAM;IACZoD,gBAAgB,CAACK,EAAE,CAAC,QAAQ,EAAGJ,KAAK,IAAK;MACrC,IAAI,CAACV,cAAc,CAACe,OAAO,IAAIL,KAAK,KAAKG,kBAAkB,CAACE,OAAO,EAAE;QACjEF,kBAAkB,CAACE,OAAO,GAAGL,KAAK;QAClC,KAAK7D,OAAO,CAAC;UAAEmE,OAAO,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC;MACnC;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAACP,gBAAgB,CAAC,CAAC;EAEtB,MAAMQ,kBAAkB,GAAGnE,YAAY,CAAC,CAAC;EACzC,MAAMoE,aAAa,GAAG3D,OAAO,CACzB,MACIM,mBAAmB,CAAC;IAChBc,SAAS;IACTY,UAAU;IACVY;EACJ,CAAC,CAAC,EACN,CAACA,WAAW,EAAExB,SAAS,EAAEY,UAAU,CACvC,CAAC;EAED,MAAM4B,WAAW,GAAGlE,YAAY,CAACmD,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;EAErD;EACA,MAAMgB,aAAa,GAAGnE,YAAY,CAACmD,CAAC,EAAGM,KAAK,IAAK;IAC7C,IAAI,CAACA,KAAK,EAAE,OAAO,CAAC;IACpB,MAAMW,WAAW,GAAG1C,SAAS,GAAGwB,WAAW;IAC3C,OAAOmB,UAAU,CAAC,CAAE,CAACZ,KAAK,GAAGW,WAAW,IAAI9B,UAAU,GAAI,GAAG,EAAEgC,WAAW,CAAC,CAAC,CAAC,CAAC;EAClF,CAAC,CAAC;;EAEF;EACA,MAAMC,uBAAuB,GAAGvE,YAAY,CAACmD,CAAC,EAAGM,KAAK,IAAK;IACvD,IAAI,CAACA,KAAK,EAAE,OAAO,CAAC;IACpB,MAAMW,WAAW,GAAI1C,SAAS,GAAGwB,WAAW,GAAI,CAAC;IACjD,OAAOmB,UAAU,CAAC,CAAE,CAACZ,KAAK,GAAGW,WAAW,IAAI9B,UAAU,GAAI,GAAG,EAAEgC,WAAW,CAAC,CAAC,CAAC,CAAC;EAClF,CAAC,CAAC;EAEF,MAAME,eAAe,GAAGxE,YAAY,CAACuE,uBAAuB,EAAGd,KAAK,IAAK;IACrE,IAAId,WAAW,EAAE,OAAOnB,YAAY;IACpC,IAAI,CAACiC,KAAK,EAAE,OAAO,aAAa;IAChC,OAAO,6BAA6BjC,YAAY,IAAIiC,KAAK,kBAAkBA,KAAK,IAAI;EACxF,CAAC,CAAC;EAEF,MAAMgB,wBAAwB,GAAGtE,WAAW,CACvCuE,KAAmB,IAAK;IACrB,MAAMC,YAAY,GAAGR,aAAa,CAACS,GAAG,CAAC,CAAC;IAExC,IAAID,YAAY,GAAG,CAAC,EAAE;MAClBD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBH,KAAK,CAACI,eAAe,CAAC,CAAC;IAC3B;IAEA,KAAKnF,UAAU,CAAC;MACZoF,MAAM,EAAE,EAAE;MACVtB,KAAK,EAAE;QACHM,OAAO,EAAE,CAAC,EAAE,CAAC;QACbiB,oBAAoB,EAAE;MAC1B;IACJ,CAAC,CAAC;EACN,CAAC,EACD,CAACb,aAAa,CAClB,CAAC;EAED,MAAMc,YAAY,GAAG9E,WAAW,CAAC,YAAY;IACzC8C,iBAAiB,CAAC,IAAI,CAAC;IACvBL,cAAc,CAAC,IAAI,CAAC;IACpBG,cAAc,CAACe,OAAO,GAAG,IAAI;IAE7B,MAAMoB,cAAc,GAAGpD,SAAS,CAAC,CAAC;IAClC,MAAMqD,YAAY,GAAGzE,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,CAAC0E,QAAQ,CAAC,GAAG,MAAMrD,OAAO,CAACsD,GAAG,CAAC,CAACH,cAAc,EAAEC,YAAY,CAAC,CAAC;IAEpE,IAAI,CAACC,QAAQ,CAACnD,OAAO,EAAE;MACnBgB,iBAAiB,CAAC,KAAK,CAAC;MACxBL,cAAc,CAAC,KAAK,CAAC;MACrBG,cAAc,CAACe,OAAO,GAAG,KAAK;MAC9B,MAAME,kBAAkB,CAACsB,KAAK,CAAC,MAAM,CAAC;MACtC;IACJ;IAEArC,iBAAiB,CAAC,KAAK,CAAC;IACxBP,YAAY,CAAC,OAAO,CAAC;IACrB,KAAK/C,UAAU,CAAC;MACZoF,MAAM,EAAE,EAAE;MACVtB,KAAK,EAAE;QACHuB,oBAAoB,EAAE,CAAC;QACvBjB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;MAC3B;IACJ,CAAC,CAAC;IAEF,MAAMC,kBAAkB,CAACsB,KAAK,CAAC,WAAW,CAAC;IAC3C,MAAMtB,kBAAkB,CAACsB,KAAK,CAAC,SAAS,CAAC;IACzCpD,UAAU,GAAG,CAAC;EAClB,CAAC,EAAE,CAAC8B,kBAAkB,EAAE9B,UAAU,EAAEJ,SAAS,CAAC,CAAC;EAE/C,MAAMyD,cAAc,GAAGpF,WAAW,CAAEqF,IAA2B,IAAK;IAChEnD,WAAW,CAACmD,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,eAAe,GAAGtF,WAAW,CAA2B,MAAM;IAChE,KAAK6D,kBAAkB,CAACsB,KAAK,CAAC,UAAU,CAAC;EAC7C,CAAC,EAAE,CAACtB,kBAAkB,CAAC,CAAC;EAExB,MAAM0B,aAAa,GAAGvF,WAAW,CAA2B,MAAM;IAC9D,IAAIgE,aAAa,CAACS,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;MAC1B,KAAKK,YAAY,CAAC,CAAC;MACnB;IACJ;IAEA,KAAKjB,kBAAkB,CAACsB,KAAK,CAAC,MAAM,CAAC;EACzC,CAAC,EAAE,CAACnB,aAAa,EAAEH,kBAAkB,EAAEiB,YAAY,CAAC,CAAC;EAErD7E,SAAS,CAAC,MAAM;IACZ,KAAK4D,kBAAkB,CAACsB,KAAK,CAAC,MAAM,CAAC;EACzC,CAAC,EAAE,CAACtB,kBAAkB,CAAC,CAAC;EAExB5D,SAAS,CAAC,MAAM;IACZ,IAAIuC,WAAW,EAAE,OAAO,MAAM,CAAC,CAAC;IAChC,OAAOwB,aAAa,CAACN,EAAE,CAAC,QAAQ,EAAEhC,QAAQ,CAAC;EAC/C,CAAC,EAAE,CAACc,WAAW,EAAEd,QAAQ,EAAEsC,aAAa,CAAC,CAAC;EAE1C9D,mBAAmB,CACf8B,GAAG,EACH,OAAO;IACHwD,OAAO,EAAEA,CAAA,KAAM;MACX7C,aAAa,CAAC,IAAI,CAAC;MACnBG,iBAAiB,CAAC,KAAK,CAAC;MACxBL,cAAc,CAAC,KAAK,CAAC;MACrBG,cAAc,CAACe,OAAO,GAAG,KAAK;MAC9B,KAAKE,kBAAkB,CAACsB,KAAK,CAAC,MAAM,CAAC;IACzC,CAAC;IACDM,MAAM,EAAEA,CAAA,KAAM;MACV9C,aAAa,CAAC,KAAK,CAAC;IACxB;EACJ,CAAC,CAAC,EACF,CAACkB,kBAAkB,CACvB,CAAC;EAED,MAAM6B,YAAY,GAAGvF,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;EAE1C,oBACIL,KAAA,CAAA6F,aAAA,CAACnF,SAAS;IAACoF,OAAO,EAAE/B;EAAmB,gBACnC/D,KAAA,CAAA6F,aAAA,CAAC7E,KAAK;IACF+E,OAAO,EAAEvE,WAAY;IACrBwE,WAAW,EAAEtE,UAAW;IACxBuE,gBAAgB,EAAE3E,KAAM;IACxBY,GAAG,EAAEoD;EAAe,gBAEpBtF,KAAA,CAAA6F,aAAA,CAAC5E,eAAe;IACZ8E,OAAO,EAAEvE,WAAY;IACrB0E,KAAK,EAAE;MAAEC,UAAU,EAAE5B;IAAgB;EAAE,CAC1C,CAAC,eACFvE,KAAA,CAAA6F,aAAA,CAACjF,KAAK;IACFwF,QAAQ,EAAEpC,aAAc;IACxBqC,KAAK,EAAE5E,SAAU;IACjB6E,YAAY,EAAE9E,WAAY;IAC1B0E,KAAK,EAAE;MAAEhD;IAAE,CAAE;IACbqD,IAAI,EAAE7D,WAAW,IAAIE,UAAU,GAAG,KAAK,GAAG,GAAI;IAC9C4D,WAAW,EAAE,CAAE;IACfC,oBAAoB,EAAEjC,wBAAyB;IAC/CkC,QAAQ,EAAE;MAAEC,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAW,CAAE;IAC7CC,WAAW,EAAErB,eAAgB;IAC7BsB,SAAS,EAAErB,aAAc;IACzBnC,YAAY,EAAEA,YAAa;IAC3ByD,eAAe,EAAE;MACbC,KAAK,EAAE3E,UAAU,GAAGZ,SAAS,GAAGwB,WAAW;MAC3CgE,IAAI,EAAE;IACV;EAAE,gBAEFjH,KAAA,CAAA6F,aAAA,CAAC9E,kBAAkB,QACd,CAACgC,cAAc,iBACZ/C,KAAA,CAAA6F,aAAA,CAAC/E,SAAS;IACNoG,GAAG,EAAC,YAAY;IAChB/D,IAAI,EAAEA,IAAK;IACXiD,QAAQ,EAAEvF,mBAAoB;IAC9BqF,KAAK,EAAE7C;EAAW,CACrB,CACJ,EACAN,cAAc,iBACX/C,KAAA,CAAA6F,aAAA,CAACrG,eAAe;IAAC2H,oBAAoB;IAAC7F,KAAK,EAAC;EAAO,CAAE,CAEzC,CACjB,CAAC,eACRtB,KAAA,CAAA6F,aAAA,CAAC3E,SAAS;IACNgF,KAAK,EAAE;MAAEkB,OAAO,EAAEnD;IAAY,CAAE;IAChCoD,MAAM,EAAC,OAAO;IACdC,aAAa,EAAE1B;EAAa,GAE3BjE,SAAS,iBACN3B,KAAA,CAAA6F,aAAA,CAAC1E,WAAW;IAACoG,UAAU,EAAEnG,WAAW,CAACoG,UAAU,CAACC,MAAM,CAACC;EAAU,CAAE,CAEhE,CACR,CACA,CAAC;AAEpB,CACJ,CAAC;AAED,eAAerG,MAAM","ignoreList":[]}
@@ -192,9 +192,9 @@ export const ThumbIconContainer = styled.div`
192
192
  align-items: center;
193
193
  `;
194
194
  export const ThumbIcon = styled(motion.i).attrs(({
195
- $icon
195
+ icon
196
196
  }) => ({
197
- className: `react-chayns-icon ${$icon}`
197
+ className: `react-chayns-icon ${icon}`
198
198
  }))`
199
199
  font-size: 22px;
200
200
  z-index: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.styles.js","names":["motion","styled","Container","div","Track","$height","$backgroundColor","TrackBackground","Thumb","$size","$trackHeight","TrackText","$baseFontSize","$color","ThumbIconContainer","ThumbIcon","i","attrs","$icon","className","createThumbVariants","thumbSize","trackWidth","scaleFactor","base","x","backgroundColor","transition","duration","completed","boxShadow","leaving","scale","THUMB_ICON_VARIANTS","ease","repeat","Infinity","repeatDelay","dragging","opacity"],"sources":["../../../../src/components/slider/Slider.styles.ts"],"sourcesContent":["import { motion, Variant, Variants } from 'motion/react';\nimport styled from 'styled-components';\n\ninterface IBaseVariant extends Variants {\n base: Variant;\n}\n\ninterface IDraggingVariant extends Variants {\n dragging: Variant;\n}\n\ninterface ICompletedVariant extends Variants {\n completed: Variant;\n}\n\ninterface ILeavingVariant extends Variants {\n leaving: Variant;\n}\n\nexport const Container = styled(motion.div)``;\n\nexport type TrackProps = {\n $height: number;\n $borderSize: number;\n $backgroundColor: string;\n};\n\nexport const Track = styled(motion.div)<TrackProps>`\n user-select: none;\n position: relative;\n z-index: 3;\n height: ${({ $height }) => $height}px;\n border-radius: ${({ $height }) => $height / 2}px;\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n`;\n\nexport const TrackBackground = styled(motion.div)<{ $height: number }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${({ $height }) => $height / 2}px;\n z-index: 2;\n`;\n\nexport const Thumb = styled(motion.div)<{\n $size: number;\n $trackHeight: number;\n}>`\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n border-radius: 50%;\n background-color: white;\n left: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2}px;\n bottom: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2 + 1}px;\n position: absolute;\n z-index: 3;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 2px 0;\n`;\n\nexport const TrackText = styled(motion.div)<{ $color: string; $baseFontSize: number }>`\n position: absolute;\n line-height: 1.15;\n font-size: ${({ $baseFontSize }) => $baseFontSize}px;\n font-weight: 700;\n color: ${({ $color }) => $color};\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n text-overflow: ellipsis;\n z-index: 1;\n font-family:\n Roboto Regular,\n sans-serif;\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Regular'),\n local('Roboto Regular'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Regular Italic'),\n local('Roboto Regular-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Regular Bold'),\n local('Roboto Regular-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Regular Bold Italic'),\n local('Roboto Regular-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff2)\n format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff)\n format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Bold'),\n local('Roboto Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Bold Italic'),\n local('Roboto Bold-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Bold Bold'),\n local('Roboto Bold-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Bold Bold Italic'),\n local('Roboto Bold-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n`;\n\nexport const ThumbIconContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ThumbIcon = styled(motion.i).attrs<{ $icon: string }>(({ $icon }) => ({\n className: `react-chayns-icon ${$icon}`,\n}))`\n font-size: 22px;\n z-index: 1;\n color: black;\n padding: 5px;\n`;\n\nexport type CreateThumbVariantsArgs = {\n trackWidth: number;\n thumbSize: number;\n scaleFactor: number;\n};\n\nexport const createThumbVariants = ({\n thumbSize,\n trackWidth,\n scaleFactor,\n}: CreateThumbVariantsArgs): IBaseVariant & ICompletedVariant & ILeavingVariant => ({\n base: {\n x: 0,\n backgroundColor: 'white',\n transition: { duration: 0.2 },\n },\n completed: {\n x: (trackWidth - thumbSize * scaleFactor) / 2,\n backgroundColor: 'transparent',\n boxShadow: 'none',\n transition: { duration: 0.3 },\n },\n leaving: {\n scale: [1, 2.4, 1],\n boxShadow: 'none',\n },\n});\n\nexport const THUMB_ICON_VARIANTS: IBaseVariant &\n IDraggingVariant &\n ICompletedVariant &\n ILeavingVariant = {\n base: {\n x: [0, 8, 0, 8, 0],\n transition: {\n duration: 1,\n ease: 'easeInOut',\n repeat: Infinity,\n repeatDelay: 5,\n },\n },\n dragging: {\n x: 0,\n },\n completed: {\n opacity: 1,\n transition: { duration: 0 },\n },\n leaving: {\n opacity: 1,\n scale: [1, 2.4, 1],\n transition: { duration: 0.4, ease: 'easeInOut' },\n },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Slider.styles.js","names":["motion","styled","Container","div","Track","$height","$backgroundColor","TrackBackground","Thumb","$size","$trackHeight","TrackText","$baseFontSize","$color","ThumbIconContainer","ThumbIcon","i","attrs","icon","className","createThumbVariants","thumbSize","trackWidth","scaleFactor","base","x","backgroundColor","transition","duration","completed","boxShadow","leaving","scale","THUMB_ICON_VARIANTS","ease","repeat","Infinity","repeatDelay","dragging","opacity"],"sources":["../../../../src/components/slider/Slider.styles.ts"],"sourcesContent":["import { motion, Variant, Variants } from 'motion/react';\nimport styled from 'styled-components';\n\ninterface IBaseVariant extends Variants {\n base: Variant;\n}\n\ninterface IDraggingVariant extends Variants {\n dragging: Variant;\n}\n\ninterface ICompletedVariant extends Variants {\n completed: Variant;\n}\n\ninterface ILeavingVariant extends Variants {\n leaving: Variant;\n}\n\nexport const Container = styled(motion.div)``;\n\nexport type TrackProps = {\n $height: number;\n $borderSize: number;\n $backgroundColor: string;\n};\n\nexport const Track = styled(motion.div)<TrackProps>`\n user-select: none;\n position: relative;\n z-index: 3;\n height: ${({ $height }) => $height}px;\n border-radius: ${({ $height }) => $height / 2}px;\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n`;\n\nexport const TrackBackground = styled(motion.div)<{ $height: number }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${({ $height }) => $height / 2}px;\n z-index: 2;\n`;\n\nexport const Thumb = styled(motion.div)<{\n $size: number;\n $trackHeight: number;\n}>`\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n border-radius: 50%;\n background-color: white;\n left: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2}px;\n bottom: ${({ $size, $trackHeight }) => ($trackHeight - $size - 2) / 2 + 1}px;\n position: absolute;\n z-index: 3;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 2px 0;\n`;\n\nexport const TrackText = styled(motion.div)<{ $color: string; $baseFontSize: number }>`\n position: absolute;\n line-height: 1.15;\n font-size: ${({ $baseFontSize }) => $baseFontSize}px;\n font-weight: 700;\n color: ${({ $color }) => $color};\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n text-overflow: ellipsis;\n z-index: 1;\n font-family:\n Roboto Regular,\n sans-serif;\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Regular'),\n local('Roboto Regular'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Regular Italic'),\n local('Roboto Regular-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Regular Bold'),\n local('Roboto Regular-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Regular';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Regular Bold Italic'),\n local('Roboto Regular-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff2)\n format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.woff)\n format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Regular/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: normal;\n src:\n local('Roboto Bold'),\n local('Roboto Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Regular.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: normal;\n src:\n local('Roboto Bold Italic'),\n local('Roboto Bold-Italic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Italic.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: normal;\n font-weight: bold;\n src:\n local('Roboto Bold Bold'),\n local('Roboto Bold-Bold'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.ttf) format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/Bold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n\n @font-face {\n font-family: 'Roboto Bold';\n font-style: italic;\n font-weight: bold;\n src:\n local('Roboto Bold Bold Italic'),\n local('Roboto Bold-BoldItalic'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff2) format('woff2'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.woff) format('woff'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.ttf)\n format('truetype'),\n url(https://api.chayns-static.space/font/Roboto%20Bold/ItalicBold.svg) format('svg');\n unicode-range: U+0020-00FF, U+20A0-20CF, U+2122, U+2000-206F;\n }\n`;\n\nexport const ThumbIconContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ThumbIcon = styled(motion.i).attrs<{ icon: string }>(({ icon }) => ({\n className: `react-chayns-icon ${icon}`,\n}))`\n font-size: 22px;\n z-index: 1;\n color: black;\n padding: 5px;\n`;\n\nexport type CreateThumbVariantsArgs = {\n trackWidth: number;\n thumbSize: number;\n scaleFactor: number;\n};\n\nexport const createThumbVariants = ({\n thumbSize,\n trackWidth,\n scaleFactor,\n}: CreateThumbVariantsArgs): IBaseVariant & ICompletedVariant & ILeavingVariant => ({\n base: {\n x: 0,\n backgroundColor: 'white',\n transition: { duration: 0.2 },\n },\n completed: {\n x: (trackWidth - thumbSize * scaleFactor) / 2,\n backgroundColor: 'transparent',\n boxShadow: 'none',\n transition: { duration: 0.3 },\n },\n leaving: {\n scale: [1, 2.4, 1],\n boxShadow: 'none',\n },\n});\n\nexport const THUMB_ICON_VARIANTS: IBaseVariant &\n IDraggingVariant &\n ICompletedVariant &\n ILeavingVariant = {\n base: {\n x: [0, 8, 0, 8, 0],\n transition: {\n duration: 1,\n ease: 'easeInOut',\n repeat: Infinity,\n repeatDelay: 5,\n },\n },\n dragging: {\n x: 0,\n },\n completed: {\n opacity: 1,\n transition: { duration: 0 },\n },\n leaving: {\n opacity: 1,\n scale: [1, 2.4, 1],\n transition: { duration: 0.4, ease: 'easeInOut' },\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -62,15 +62,15 @@ export declare const ThumbIcon: import("styled-components/dist/types").IStyledCo
62
62
  ref?: ((instance: HTMLElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLElement> | null | undefined;
63
63
  }, "color" | "content" | "translate" | "hidden" | "slot" | "title" | keyof import("framer-motion").MotionProps | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Omit<Omit<import("framer-motion").HTMLMotionProps<"i">, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & {
64
64
  ref?: ((instance: HTMLElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLElement> | null | undefined;
65
- }, "$icon"> & {
66
- $icon: string;
67
- }, "color" | "content" | "translate" | "transition" | "inherit" | "initial" | "exit" | "hidden" | "layout" | "style" | "drag" | "slot" | "title" | "animate" | "children" | "propagate" | "variants" | "onUpdate" | "onAnimationStart" | "onAnimationComplete" | "onBeforeLayoutMeasure" | "onLayoutMeasure" | "onLayoutAnimationStart" | "onLayoutAnimationComplete" | "onPan" | "onPanStart" | "onPanSessionStart" | "onPanEnd" | "onTap" | "onTapStart" | "onTapCancel" | "whileTap" | "globalTapTarget" | "whileHover" | "onHoverStart" | "onHoverEnd" | "whileFocus" | "whileInView" | "onViewportEnter" | "onViewportLeave" | "viewport" | "onDragStart" | "onDragEnd" | "onDrag" | "onDirectionLock" | "onDragTransitionEnd" | "whileDrag" | "dragDirectionLock" | "dragPropagation" | "dragConstraints" | "dragElastic" | "dragMomentum" | "dragTransition" | "dragControls" | "dragSnapToOrigin" | "dragListener" | "onMeasureDragConstraints" | "_dragX" | "_dragY" | "layoutId" | "layoutDependency" | "layoutScroll" | "layoutRoot" | "layoutAnchor" | "data-framer-portal-id" | "layoutCrossfade" | "custom" | "ignoreStrict" | "values" | "transformTemplate" | "data-framer-appear-id" | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "$icon"> & Partial<Pick<import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<Omit<import("framer-motion").HTMLMotionProps<"i">, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & {
65
+ }, "icon"> & {
66
+ icon: string;
67
+ }, "icon" | "color" | "content" | "translate" | "transition" | "inherit" | "initial" | "exit" | "hidden" | "layout" | "style" | "drag" | "slot" | "title" | "animate" | "children" | "propagate" | "variants" | "onUpdate" | "onAnimationStart" | "onAnimationComplete" | "onBeforeLayoutMeasure" | "onLayoutMeasure" | "onLayoutAnimationStart" | "onLayoutAnimationComplete" | "onPan" | "onPanStart" | "onPanSessionStart" | "onPanEnd" | "onTap" | "onTapStart" | "onTapCancel" | "whileTap" | "globalTapTarget" | "whileHover" | "onHoverStart" | "onHoverEnd" | "whileFocus" | "whileInView" | "onViewportEnter" | "onViewportLeave" | "viewport" | "onDragStart" | "onDragEnd" | "onDrag" | "onDirectionLock" | "onDragTransitionEnd" | "whileDrag" | "dragDirectionLock" | "dragPropagation" | "dragConstraints" | "dragElastic" | "dragMomentum" | "dragTransition" | "dragControls" | "dragSnapToOrigin" | "dragListener" | "onMeasureDragConstraints" | "_dragX" | "_dragY" | "layoutId" | "layoutDependency" | "layoutScroll" | "layoutRoot" | "layoutAnchor" | "data-framer-portal-id" | "layoutCrossfade" | "custom" | "ignoreStrict" | "values" | "transformTemplate" | "data-framer-appear-id" | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Partial<Pick<import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<Omit<import("framer-motion").HTMLMotionProps<"i">, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & {
68
68
  ref?: ((instance: HTMLElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLElement> | null | undefined;
69
69
  }, "color" | "content" | "translate" | "hidden" | "slot" | "title" | keyof import("framer-motion").MotionProps | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Omit<Omit<import("framer-motion").HTMLMotionProps<"i">, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & {
70
70
  ref?: ((instance: HTMLElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLElement> | null | undefined;
71
- }, "$icon"> & {
72
- $icon: string;
73
- }, "color" | "content" | "translate" | "transition" | "inherit" | "initial" | "exit" | "hidden" | "layout" | "style" | "drag" | "slot" | "title" | "animate" | "children" | "propagate" | "variants" | "onUpdate" | "onAnimationStart" | "onAnimationComplete" | "onBeforeLayoutMeasure" | "onLayoutMeasure" | "onLayoutAnimationStart" | "onLayoutAnimationComplete" | "onPan" | "onPanStart" | "onPanSessionStart" | "onPanEnd" | "onTap" | "onTapStart" | "onTapCancel" | "whileTap" | "globalTapTarget" | "whileHover" | "onHoverStart" | "onHoverEnd" | "whileFocus" | "whileInView" | "onViewportEnter" | "onViewportLeave" | "viewport" | "onDragStart" | "onDragEnd" | "onDrag" | "onDirectionLock" | "onDragTransitionEnd" | "whileDrag" | "dragDirectionLock" | "dragPropagation" | "dragConstraints" | "dragElastic" | "dragMomentum" | "dragTransition" | "dragControls" | "dragSnapToOrigin" | "dragListener" | "onMeasureDragConstraints" | "_dragX" | "_dragY" | "layoutId" | "layoutDependency" | "layoutScroll" | "layoutRoot" | "layoutAnchor" | "data-framer-portal-id" | "layoutCrossfade" | "custom" | "ignoreStrict" | "values" | "transformTemplate" | "data-framer-appear-id" | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "$icon">>> & string & Omit<import("framer-motion").ForwardRefComponent<HTMLElement, import("framer-motion").HTMLMotionProps<"i">>, keyof import("react").Component<any, {}, any>>;
71
+ }, "icon"> & {
72
+ icon: string;
73
+ }, "icon" | "color" | "content" | "translate" | "transition" | "inherit" | "initial" | "exit" | "hidden" | "layout" | "style" | "drag" | "slot" | "title" | "animate" | "children" | "propagate" | "variants" | "onUpdate" | "onAnimationStart" | "onAnimationComplete" | "onBeforeLayoutMeasure" | "onLayoutMeasure" | "onLayoutAnimationStart" | "onLayoutAnimationComplete" | "onPan" | "onPanStart" | "onPanSessionStart" | "onPanEnd" | "onTap" | "onTapStart" | "onTapCancel" | "whileTap" | "globalTapTarget" | "whileHover" | "onHoverStart" | "onHoverEnd" | "whileFocus" | "whileInView" | "onViewportEnter" | "onViewportLeave" | "viewport" | "onDragStart" | "onDragEnd" | "onDrag" | "onDirectionLock" | "onDragTransitionEnd" | "whileDrag" | "dragDirectionLock" | "dragPropagation" | "dragConstraints" | "dragElastic" | "dragMomentum" | "dragTransition" | "dragControls" | "dragSnapToOrigin" | "dragListener" | "onMeasureDragConstraints" | "_dragX" | "_dragY" | "layoutId" | "layoutDependency" | "layoutScroll" | "layoutRoot" | "layoutAnchor" | "data-framer-portal-id" | "layoutCrossfade" | "custom" | "ignoreStrict" | "values" | "transformTemplate" | "data-framer-appear-id" | "ref" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture">>> & string & Omit<import("framer-motion").ForwardRefComponent<HTMLElement, import("framer-motion").HTMLMotionProps<"i">>, keyof import("react").Component<any, {}, any>>;
74
74
  export type CreateThumbVariantsArgs = {
75
75
  trackWidth: number;
76
76
  thumbSize: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/devalue-slider",
3
- "version": "5.5.59-beta.0",
3
+ "version": "5.5.59",
4
4
  "description": "A slider to devalue something.",
5
5
  "siteEffects": false,
6
6
  "browserslist": [
@@ -52,7 +52,7 @@
52
52
  "url": "https://github.com/TobitSoftware/chayns-components/issues"
53
53
  },
54
54
  "dependencies": {
55
- "@chayns-components/core": "^5.5.59-beta.0",
55
+ "@chayns-components/core": "^5.5.59",
56
56
  "@chayns/textstrings": "^1.0.1",
57
57
  "@react-hook/size": "^2.1.2",
58
58
  "react-compiler-runtime": "^1.0.0"
@@ -75,7 +75,7 @@
75
75
  },
76
76
  "peerDependencies": {
77
77
  "chayns-api": ">=2.2.0",
78
- "motion": "^12.4.1 || ^13.0.0",
78
+ "motion": ">=12.4.1",
79
79
  "react": ">=18.0.0",
80
80
  "react-dom": ">=18.0.0",
81
81
  "styled-components": ">=5.3.11"
@@ -83,5 +83,5 @@
83
83
  "publishConfig": {
84
84
  "access": "public"
85
85
  },
86
- "gitHead": "e8dc8555063d257462a88de3e45dc960fc212d79"
86
+ "gitHead": "46fe35b742c2a48451ed2392ec0bb58aa26985e2"
87
87
  }