@chayns-components/devalue-slider 5.0.0-beta.1097 → 5.0.0-beta.1099

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.
@@ -8,8 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
9
9
  var _Timer = _interopRequireDefault(require("./timer/Timer"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  const DevalueSlider = ({
14
13
  backgroundColor = 'red',
15
14
  devalueBackgroundColor = 'green',
@@ -1 +1 @@
1
- {"version":3,"file":"DevalueSlider.js","names":["_react","_interopRequireWildcard","require","_Slider","_interopRequireDefault","_Timer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DevalueSlider","backgroundColor","devalueBackgroundColor","devalueTime","isDisabled","label","onDevalue","onChange","onComplete","timerDevalueTime","setTimerDevalueTime","useState","sliderRef","useRef","useEffect","handleCompleted","useCallback","Date","_sliderRef$current2","_sliderRef$current","current","disable","enable","createElement","color","ref","devalueColor","trackText","_default","exports"],"sources":["../../../src/components/DevalueSlider.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState, type CSSProperties } from 'react';\nimport Slider, { type SliderRef } from './slider/Slider';\nimport Timer from './timer/Timer';\n\nexport type DevalueSliderOnDevalueHandlerResult = { success: boolean };\nexport type DevalueSliderOnDevalueHandler = () => Promise<DevalueSliderOnDevalueHandlerResult>;\n\nexport type DevalueSliderOnChangeHandler = (relativeValue: number) => void;\nexport type DevalueSliderOnCompleteHandler = () => void;\n\nexport type DevalueSliderProps = {\n /**\n * The basic color of the slider.\n * This color is the background of the track before the slider is devalued.\n */\n backgroundColor?: CSSProperties['backgroundColor'];\n /**\n * The devalue color of the slider.\n * This color fills the track from the left on user movement.\n * This color is the background of the timer after the slider is devalued.\n */\n devalueBackgroundColor?: CSSProperties['backgroundColor'];\n /**\n * If this slider was devalued, provide the time when it was devalued.\n * This will show a timer.\n */\n devalueTime?: Date;\n /**\n * Disables the slider and cancels any active drags.\n */\n isDisabled?: boolean;\n /**\n * The label of the slider. The default value is \"EINLÖSEN\"\n */\n label?: string;\n /**\n * This function is called when the slider is devalued.\n */\n onDevalue?: DevalueSliderOnDevalueHandler;\n /**\n * This function is called when the slider value changes.\n * With this function you can keep track of the movement of the slider.\n */\n onChange?: DevalueSliderOnChangeHandler;\n /**\n * This function is called when the slider is completed.\n * The slider is completed when the user devalues the slider\n * and the animation is completed.\n */\n onComplete?: DevalueSliderOnCompleteHandler;\n};\n\nconst DevalueSlider: React.FC<DevalueSliderProps> = ({\n backgroundColor = 'red',\n devalueBackgroundColor = 'green',\n devalueTime,\n isDisabled,\n label = 'EINLÖSEN',\n onDevalue,\n onChange,\n onComplete,\n}) => {\n const [timerDevalueTime, setTimerDevalueTime] = useState(devalueTime);\n\n const sliderRef = useRef<SliderRef>(null);\n\n useEffect(() => {\n setTimerDevalueTime(devalueTime);\n }, [devalueTime]);\n\n const handleCompleted = useCallback(() => {\n setTimerDevalueTime(new Date());\n\n onComplete?.();\n }, [onComplete]);\n\n useEffect(() => {\n if (isDisabled) {\n sliderRef.current?.disable();\n\n return;\n }\n\n sliderRef.current?.enable();\n }, [isDisabled]);\n\n if (timerDevalueTime) {\n return <Timer color={devalueBackgroundColor} devalueTime={timerDevalueTime} />;\n }\n\n return (\n <Slider\n ref={sliderRef}\n onDevalue={onDevalue}\n color={backgroundColor}\n devalueColor={devalueBackgroundColor}\n onComplete={handleCompleted}\n onChange={onChange}\n trackText={label}\n />\n );\n};\n\nexport default DevalueSlider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DevalueSlider.js","names":["_react","_interopRequireWildcard","require","_Slider","_interopRequireDefault","_Timer","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DevalueSlider","backgroundColor","devalueBackgroundColor","devalueTime","isDisabled","label","onDevalue","onChange","onComplete","timerDevalueTime","setTimerDevalueTime","useState","sliderRef","useRef","useEffect","handleCompleted","useCallback","Date","_sliderRef$current2","_sliderRef$current","current","disable","enable","createElement","color","ref","devalueColor","trackText","_default","exports"],"sources":["../../../src/components/DevalueSlider.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState, type CSSProperties } from 'react';\nimport Slider, { type SliderRef } from './slider/Slider';\nimport Timer from './timer/Timer';\n\nexport type DevalueSliderOnDevalueHandlerResult = { success: boolean };\nexport type DevalueSliderOnDevalueHandler = () => Promise<DevalueSliderOnDevalueHandlerResult>;\n\nexport type DevalueSliderOnChangeHandler = (relativeValue: number) => void;\nexport type DevalueSliderOnCompleteHandler = () => void;\n\nexport type DevalueSliderProps = {\n /**\n * The basic color of the slider.\n * This color is the background of the track before the slider is devalued.\n */\n backgroundColor?: CSSProperties['backgroundColor'];\n /**\n * The devalue color of the slider.\n * This color fills the track from the left on user movement.\n * This color is the background of the timer after the slider is devalued.\n */\n devalueBackgroundColor?: CSSProperties['backgroundColor'];\n /**\n * If this slider was devalued, provide the time when it was devalued.\n * This will show a timer.\n */\n devalueTime?: Date;\n /**\n * Disables the slider and cancels any active drags.\n */\n isDisabled?: boolean;\n /**\n * The label of the slider. The default value is \"EINLÖSEN\"\n */\n label?: string;\n /**\n * This function is called when the slider is devalued.\n */\n onDevalue?: DevalueSliderOnDevalueHandler;\n /**\n * This function is called when the slider value changes.\n * With this function you can keep track of the movement of the slider.\n */\n onChange?: DevalueSliderOnChangeHandler;\n /**\n * This function is called when the slider is completed.\n * The slider is completed when the user devalues the slider\n * and the animation is completed.\n */\n onComplete?: DevalueSliderOnCompleteHandler;\n};\n\nconst DevalueSlider: React.FC<DevalueSliderProps> = ({\n backgroundColor = 'red',\n devalueBackgroundColor = 'green',\n devalueTime,\n isDisabled,\n label = 'EINLÖSEN',\n onDevalue,\n onChange,\n onComplete,\n}) => {\n const [timerDevalueTime, setTimerDevalueTime] = useState(devalueTime);\n\n const sliderRef = useRef<SliderRef>(null);\n\n useEffect(() => {\n setTimerDevalueTime(devalueTime);\n }, [devalueTime]);\n\n const handleCompleted = useCallback(() => {\n setTimerDevalueTime(new Date());\n\n onComplete?.();\n }, [onComplete]);\n\n useEffect(() => {\n if (isDisabled) {\n sliderRef.current?.disable();\n\n return;\n }\n\n sliderRef.current?.enable();\n }, [isDisabled]);\n\n if (timerDevalueTime) {\n return <Timer color={devalueBackgroundColor} devalueTime={timerDevalueTime} />;\n }\n\n return (\n <Slider\n ref={sliderRef}\n onDevalue={onDevalue}\n color={backgroundColor}\n devalueColor={devalueBackgroundColor}\n onComplete={handleCompleted}\n onChange={onChange}\n trackText={label}\n />\n );\n};\n\nexport default DevalueSlider;\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,7 @@ var _react2 = _interopRequireWildcard(require("react"));
12
12
  var _design = require("../../hooks/design");
13
13
  var _common = require("../../utils/common");
14
14
  var _Slider = require("./Slider.styles");
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
17
  const Slider = /*#__PURE__*/(0, _react2.forwardRef)(({
19
18
  color,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["_core","require","_size","_interopRequireDefault","_chaynsApi","_react","_react2","_interopRequireWildcard","_design","_common","_Slider","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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","_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 useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n type DragHandlers,\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 ThumbIcon,\n ThumbIconContainer,\n THUMB_ICON_VARIANTS,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\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 = 'EINLÖSEN',\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<DragHandlers['onDragStart']>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandlers['onDragEnd']>>(() => {\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 </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","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","_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 useAnimation,\n useDragControls,\n useMotionValue,\n useTransform,\n type DragHandlers,\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 ThumbIcon,\n ThumbIconContainer,\n THUMB_ICON_VARIANTS,\n Track,\n TrackBackground,\n TrackText,\n} from './Slider.styles';\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 = 'EINLÖSEN',\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<DragHandlers['onDragStart']>>(() => {\n void containerAnimation.start('dragging');\n }, [containerAnimation]);\n\n const handleDragEnd = useCallback<NonNullable<DragHandlers['onDragEnd']>>(() => {\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 </TrackText>\n </Track>\n </Container>\n );\n },\n);\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _chaynsApi = require("chayns-api");
9
9
  var _Timer = require("./Timer.styles");
10
10
  var _date = require("../../utils/date");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  const Timer = ({
14
13
  devalueTime,
15
14
  color,
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.js","names":["_react","_interopRequireWildcard","require","_chaynsApi","_Timer","_date","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Timer","devalueTime","color","textColor","active","language","getLanguage","refDate","useRef","Date","distance","setDistance","useState","intervalToDuration","start","end","minutesShowValue","useMemo","Math","max","minutes","toString","secondsShowValue","seconds","useEffect","current","interval","setInterval","clearInterval","handlePointerDownCapture","useCallback","vibrate","pattern","iOSFeedbackVibration","label","text","differenceInHours","distanceLabel","getTimeTillNow","date","currentDate","differenceInMinutes","formatTime","formatString","hours","getHours","padStart","getMinutes","replace","createElement","Container","$baseFontSize","$borderSize","$height","$color","$textColor","$backgroundColor","onPointerDownCapture","Time","_default","exports"],"sources":["../../../../src/components/timer/Timer.tsx"],"sourcesContent":["import React, { FunctionComponent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { getLanguage, vibrate } from 'chayns-api';\n\nimport { Container, Time } from './Timer.styles';\nimport {\n differenceInHours,\n differenceInMinutes,\n getTimeTillNow,\n intervalToDuration,\n} from '../../utils/date';\n\nexport type TimerProps = {\n color: string;\n devalueTime: Date;\n textColor?: string;\n};\n\nconst Timer: FunctionComponent<TimerProps> = ({ devalueTime, color, textColor = 'white' }) => {\n const { active: language } = getLanguage();\n\n const refDate = useRef(new Date());\n const [distance, setDistance] = useState(\n intervalToDuration({\n start: devalueTime,\n end: new Date(),\n }),\n );\n const minutesShowValue = useMemo(\n () => Math.max(distance.minutes ?? 0, 0).toString(),\n [distance.minutes],\n );\n const secondsShowValue = useMemo(\n () => Math.max(distance.seconds ?? 0, 0).toString(),\n [distance.seconds],\n );\n\n useEffect(() => {\n refDate.current = new Date();\n const interval = setInterval(() => {\n refDate.current = new Date();\n setDistance(\n intervalToDuration({\n start: devalueTime,\n end: refDate.current,\n }),\n );\n }, 500);\n return () => clearInterval(interval);\n }, [devalueTime]);\n\n const handlePointerDownCapture = useCallback(() => {\n void vibrate({ pattern: [50], iOSFeedbackVibration: 7 });\n }, []);\n\n const label = useMemo(() => {\n let text = 'Vor ##SECONDS## Sek. (##TIME## Uhr)';\n if (differenceInHours(refDate.current, devalueTime) > 0) {\n const distanceLabel = getTimeTillNow({\n date: new Date(),\n currentDate: devalueTime,\n language,\n });\n text = `${distanceLabel} (##TIME## Uhr)`;\n } else if (differenceInMinutes(refDate.current, devalueTime) > 0) {\n text = 'Vor ##MINUTES## Min. ##SECONDS## Sek. (##TIME## Uhr)';\n }\n\n const formatTime = (date: Date, formatString: string): string => {\n const hours = date.getHours().toString().padStart(2, '0');\n const minutes = date.getMinutes().toString().padStart(2, '0');\n\n if (formatString === 'HH:mm') {\n return `${hours}:${minutes}`;\n }\n return '';\n };\n\n return text\n .replace('##MINUTES##', minutesShowValue)\n .replace('##SECONDS##', secondsShowValue)\n .replace('##TIME##', formatTime(devalueTime, 'HH:mm'));\n }, [devalueTime, minutesShowValue, secondsShowValue, language]);\n\n return (\n <Container\n $baseFontSize={17}\n $borderSize={2}\n $height={50}\n $color={color}\n $textColor={textColor}\n $backgroundColor={color}\n onPointerDownCapture={handlePointerDownCapture}\n >\n <Time>{label}</Time>\n </Container>\n );\n};\n\nexport default Timer;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Timer.js","names":["_react","_interopRequireWildcard","require","_chaynsApi","_Timer","_date","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Timer","devalueTime","color","textColor","active","language","getLanguage","refDate","useRef","Date","distance","setDistance","useState","intervalToDuration","start","end","minutesShowValue","useMemo","Math","max","minutes","toString","secondsShowValue","seconds","useEffect","current","interval","setInterval","clearInterval","handlePointerDownCapture","useCallback","vibrate","pattern","iOSFeedbackVibration","label","text","differenceInHours","distanceLabel","getTimeTillNow","date","currentDate","differenceInMinutes","formatTime","formatString","hours","getHours","padStart","getMinutes","replace","createElement","Container","$baseFontSize","$borderSize","$height","$color","$textColor","$backgroundColor","onPointerDownCapture","Time","_default","exports"],"sources":["../../../../src/components/timer/Timer.tsx"],"sourcesContent":["import React, { FunctionComponent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { getLanguage, vibrate } from 'chayns-api';\n\nimport { Container, Time } from './Timer.styles';\nimport {\n differenceInHours,\n differenceInMinutes,\n getTimeTillNow,\n intervalToDuration,\n} from '../../utils/date';\n\nexport type TimerProps = {\n color: string;\n devalueTime: Date;\n textColor?: string;\n};\n\nconst Timer: FunctionComponent<TimerProps> = ({ devalueTime, color, textColor = 'white' }) => {\n const { active: language } = getLanguage();\n\n const refDate = useRef(new Date());\n const [distance, setDistance] = useState(\n intervalToDuration({\n start: devalueTime,\n end: new Date(),\n }),\n );\n const minutesShowValue = useMemo(\n () => Math.max(distance.minutes ?? 0, 0).toString(),\n [distance.minutes],\n );\n const secondsShowValue = useMemo(\n () => Math.max(distance.seconds ?? 0, 0).toString(),\n [distance.seconds],\n );\n\n useEffect(() => {\n refDate.current = new Date();\n const interval = setInterval(() => {\n refDate.current = new Date();\n setDistance(\n intervalToDuration({\n start: devalueTime,\n end: refDate.current,\n }),\n );\n }, 500);\n return () => clearInterval(interval);\n }, [devalueTime]);\n\n const handlePointerDownCapture = useCallback(() => {\n void vibrate({ pattern: [50], iOSFeedbackVibration: 7 });\n }, []);\n\n const label = useMemo(() => {\n let text = 'Vor ##SECONDS## Sek. (##TIME## Uhr)';\n if (differenceInHours(refDate.current, devalueTime) > 0) {\n const distanceLabel = getTimeTillNow({\n date: new Date(),\n currentDate: devalueTime,\n language,\n });\n text = `${distanceLabel} (##TIME## Uhr)`;\n } else if (differenceInMinutes(refDate.current, devalueTime) > 0) {\n text = 'Vor ##MINUTES## Min. ##SECONDS## Sek. (##TIME## Uhr)';\n }\n\n const formatTime = (date: Date, formatString: string): string => {\n const hours = date.getHours().toString().padStart(2, '0');\n const minutes = date.getMinutes().toString().padStart(2, '0');\n\n if (formatString === 'HH:mm') {\n return `${hours}:${minutes}`;\n }\n return '';\n };\n\n return text\n .replace('##MINUTES##', minutesShowValue)\n .replace('##SECONDS##', secondsShowValue)\n .replace('##TIME##', formatTime(devalueTime, 'HH:mm'));\n }, [devalueTime, minutesShowValue, secondsShowValue, language]);\n\n return (\n <Container\n $baseFontSize={17}\n $borderSize={2}\n $height={50}\n $color={color}\n $textColor={textColor}\n $backgroundColor={color}\n onPointerDownCapture={handlePointerDownCapture}\n >\n <Time>{label}</Time>\n </Container>\n );\n};\n\nexport default Timer;\n"],"mappings":"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","ignoreList":[]}
@@ -79,10 +79,10 @@ export const TrackText = styled(motion.div)`
79
79
  return $baseFontSize;
80
80
  }}px;
81
81
  font-weight: 700;
82
- color: ${_ref10 => {
82
+ color: ${_ref0 => {
83
83
  let {
84
84
  $color
85
- } = _ref10;
85
+ } = _ref0;
86
86
  return $color;
87
87
  }};
88
88
  top: 50%;
@@ -221,10 +221,10 @@ export const ThumbIconContainer = styled.div`
221
221
  justify-content: center;
222
222
  align-items: center;
223
223
  `;
224
- export const ThumbIcon = styled(motion.i).attrs(_ref11 => {
224
+ export const ThumbIcon = styled(motion.i).attrs(_ref1 => {
225
225
  let {
226
226
  icon
227
- } = _ref11;
227
+ } = _ref1;
228
228
  return {
229
229
  className: `react-chayns-icon ${icon}`
230
230
  };
@@ -234,12 +234,12 @@ export const ThumbIcon = styled(motion.i).attrs(_ref11 => {
234
234
  color: black;
235
235
  padding: 5px;
236
236
  `;
237
- export const createThumbVariants = _ref12 => {
237
+ export const createThumbVariants = _ref10 => {
238
238
  let {
239
239
  thumbSize,
240
240
  trackWidth,
241
241
  scaleFactor
242
- } = _ref12;
242
+ } = _ref10;
243
243
  return {
244
244
  base: {
245
245
  x: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.styles.js","names":["motion","styled","Container","div","Track","_ref","$height","_ref2","_ref3","$backgroundColor","TrackBackground","_ref4","Thumb","_ref5","$size","_ref6","_ref7","$trackHeight","_ref8","TrackText","_ref9","$baseFontSize","_ref10","$color","ThumbIconContainer","ThumbIcon","i","attrs","_ref11","icon","className","createThumbVariants","_ref12","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,SAASA,MAAM,QAA2B,cAAc;AACxD,OAAOC,MAAM,MAAM,mBAAmB;AAkBtC,OAAO,MAAMC,SAAS,GAAGD,MAAM,CAACD,MAAM,CAACG,GAAG,CAAC,EAAE;AAQ7C,OAAO,MAAMC,KAAK,GAAGH,MAAM,CAACD,MAAM,CAACG,GAAG,CAAa;AACnD;AACA;AACA;AACA,cAAcE,IAAA;EAAA,IAAC;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EAAA,OAAKC,OAAO;AAAA;AACtC,qBAAqBC,KAAA;EAAA,IAAC;IAAED;EAAQ,CAAC,GAAAC,KAAA;EAAA,OAAKD,OAAO,GAAG,CAAC;AAAA;AACjD,wBAAwBE,KAAA;EAAA,IAAC;IAAEC;EAAiB,CAAC,GAAAD,KAAA;EAAA,OAAKC,gBAAgB;AAAA;AAClE,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGT,MAAM,CAACD,MAAM,CAACG,GAAG,CAAsB;AACtE;AACA;AACA;AACA,qBAAqBQ,KAAA;EAAA,IAAC;IAAEL;EAAQ,CAAC,GAAAK,KAAA;EAAA,OAAKL,OAAO,GAAG,CAAC;AAAA;AACjD;AACA,CAAC;AAED,OAAO,MAAMM,KAAK,GAAGX,MAAM,CAACD,MAAM,CAACG,GAAG,CAGpC;AACF,cAAcU,KAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA;AAClC,aAAaC,KAAA;EAAA,IAAC;IAAED;EAAM,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK;AAAA;AACjC;AACA;AACA,YAAYE,KAAA;EAAA,IAAC;IAAEF,KAAK;IAAEG;EAAa,CAAC,GAAAD,KAAA;EAAA,OAAK,CAACC,YAAY,GAAGH,KAAK,GAAG,CAAC,IAAI,CAAC;AAAA;AACvE,cAAcI,KAAA;EAAA,IAAC;IAAEJ,KAAK;IAAEG;EAAa,CAAC,GAAAC,KAAA;EAAA,OAAK,CAACD,YAAY,GAAGH,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAAA;AAC7E;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMK,SAAS,GAAGlB,MAAM,CAACD,MAAM,CAACG,GAAG,CAA4C;AACtF;AACA;AACA,iBAAiBiB,KAAA;EAAA,IAAC;IAAEC;EAAc,CAAC,GAAAD,KAAA;EAAA,OAAKC,aAAa;AAAA;AACrD;AACA,aAAaC,MAAA;EAAA,IAAC;IAAEC;EAAO,CAAC,GAAAD,MAAA;EAAA,OAAKC,MAAM;AAAA;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;AAED,OAAO,MAAMC,kBAAkB,GAAGvB,MAAM,CAACE,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMsB,SAAS,GAAGxB,MAAM,CAACD,MAAM,CAAC0B,CAAC,CAAC,CAACC,KAAK,CAAmBC,MAAA;EAAA,IAAC;IAAEC;EAAK,CAAC,GAAAD,MAAA;EAAA,OAAM;IAC7EE,SAAS,EAAE,qBAAqBD,IAAI;EACxC,CAAC;AAAA,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,CAAC;AAQD,OAAO,MAAME,mBAAmB,GAAGC,MAAA;EAAA,IAAC;IAChCC,SAAS;IACTC,UAAU;IACVC;EACqB,CAAC,GAAAH,MAAA;EAAA,OAA0D;IAChFI,IAAI,EAAE;MACFC,CAAC,EAAE,CAAC;MACJC,eAAe,EAAE,OAAO;MACxBC,UAAU,EAAE;QAAEC,QAAQ,EAAE;MAAI;IAChC,CAAC;IACDC,SAAS,EAAE;MACPJ,CAAC,EAAE,CAACH,UAAU,GAAGD,SAAS,GAAGE,WAAW,IAAI,CAAC;MAC7CG,eAAe,EAAE,aAAa;MAC9BI,SAAS,EAAE,MAAM;MACjBH,UAAU,EAAE;QAAEC,QAAQ,EAAE;MAAI;IAChC,CAAC;IACDG,OAAO,EAAE;MACLC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;MAClBF,SAAS,EAAE;IACf;EACJ,CAAC;AAAA,CAAC;AAEF,OAAO,MAAMG,mBAGM,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":["motion","styled","Container","div","Track","_ref","$height","_ref2","_ref3","$backgroundColor","TrackBackground","_ref4","Thumb","_ref5","$size","_ref6","_ref7","$trackHeight","_ref8","TrackText","_ref9","$baseFontSize","_ref0","$color","ThumbIconContainer","ThumbIcon","i","attrs","_ref1","icon","className","createThumbVariants","_ref10","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,SAASA,MAAM,QAA2B,cAAc;AACxD,OAAOC,MAAM,MAAM,mBAAmB;AAkBtC,OAAO,MAAMC,SAAS,GAAGD,MAAM,CAACD,MAAM,CAACG,GAAG,CAAC,EAAE;AAQ7C,OAAO,MAAMC,KAAK,GAAGH,MAAM,CAACD,MAAM,CAACG,GAAG,CAAa;AACnD;AACA;AACA;AACA,cAAcE,IAAA;EAAA,IAAC;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EAAA,OAAKC,OAAO;AAAA;AACtC,qBAAqBC,KAAA;EAAA,IAAC;IAAED;EAAQ,CAAC,GAAAC,KAAA;EAAA,OAAKD,OAAO,GAAG,CAAC;AAAA;AACjD,wBAAwBE,KAAA;EAAA,IAAC;IAAEC;EAAiB,CAAC,GAAAD,KAAA;EAAA,OAAKC,gBAAgB;AAAA;AAClE,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGT,MAAM,CAACD,MAAM,CAACG,GAAG,CAAsB;AACtE;AACA;AACA;AACA,qBAAqBQ,KAAA;EAAA,IAAC;IAAEL;EAAQ,CAAC,GAAAK,KAAA;EAAA,OAAKL,OAAO,GAAG,CAAC;AAAA;AACjD;AACA,CAAC;AAED,OAAO,MAAMM,KAAK,GAAGX,MAAM,CAACD,MAAM,CAACG,GAAG,CAGpC;AACF,cAAcU,KAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA;AAClC,aAAaC,KAAA;EAAA,IAAC;IAAED;EAAM,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK;AAAA;AACjC;AACA;AACA,YAAYE,KAAA;EAAA,IAAC;IAAEF,KAAK;IAAEG;EAAa,CAAC,GAAAD,KAAA;EAAA,OAAK,CAACC,YAAY,GAAGH,KAAK,GAAG,CAAC,IAAI,CAAC;AAAA;AACvE,cAAcI,KAAA;EAAA,IAAC;IAAEJ,KAAK;IAAEG;EAAa,CAAC,GAAAC,KAAA;EAAA,OAAK,CAACD,YAAY,GAAGH,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAAA;AAC7E;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMK,SAAS,GAAGlB,MAAM,CAACD,MAAM,CAACG,GAAG,CAA4C;AACtF;AACA;AACA,iBAAiBiB,KAAA;EAAA,IAAC;IAAEC;EAAc,CAAC,GAAAD,KAAA;EAAA,OAAKC,aAAa;AAAA;AACrD;AACA,aAAaC,KAAA;EAAA,IAAC;IAAEC;EAAO,CAAC,GAAAD,KAAA;EAAA,OAAKC,MAAM;AAAA;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;AAED,OAAO,MAAMC,kBAAkB,GAAGvB,MAAM,CAACE,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMsB,SAAS,GAAGxB,MAAM,CAACD,MAAM,CAAC0B,CAAC,CAAC,CAACC,KAAK,CAAmBC,KAAA;EAAA,IAAC;IAAEC;EAAK,CAAC,GAAAD,KAAA;EAAA,OAAM;IAC7EE,SAAS,EAAE,qBAAqBD,IAAI;EACxC,CAAC;AAAA,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,CAAC;AAQD,OAAO,MAAME,mBAAmB,GAAGC,MAAA;EAAA,IAAC;IAChCC,SAAS;IACTC,UAAU;IACVC;EACqB,CAAC,GAAAH,MAAA;EAAA,OAA0D;IAChFI,IAAI,EAAE;MACFC,CAAC,EAAE,CAAC;MACJC,eAAe,EAAE,OAAO;MACxBC,UAAU,EAAE;QAAEC,QAAQ,EAAE;MAAI;IAChC,CAAC;IACDC,SAAS,EAAE;MACPJ,CAAC,EAAE,CAACH,UAAU,GAAGD,SAAS,GAAGE,WAAW,IAAI,CAAC;MAC7CG,eAAe,EAAE,aAAa;MAC9BI,SAAS,EAAE,MAAM;MACjBH,UAAU,EAAE;QAAEC,QAAQ,EAAE;MAAI;IAChC,CAAC;IACDG,OAAO,EAAE;MACLC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;MAClBF,SAAS,EAAE;IACf;EACJ,CAAC;AAAA,CAAC;AAEF,OAAO,MAAMG,mBAGM,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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/devalue-slider",
3
- "version": "5.0.0-beta.1097",
3
+ "version": "5.0.0-beta.1099",
4
4
  "description": "A slider to devalue something.",
5
5
  "siteEffects": false,
6
6
  "browserslist": [
@@ -51,21 +51,21 @@
51
51
  "url": "https://github.com/TobitSoftware/chayns-components/issues"
52
52
  },
53
53
  "dependencies": {
54
- "@chayns-components/core": "^5.0.0-beta.1097",
54
+ "@chayns-components/core": "^5.0.0-beta.1099",
55
55
  "@react-hook/size": "^2.1.2"
56
56
  },
57
57
  "devDependencies": {
58
- "@babel/cli": "^7.27.0",
59
- "@babel/core": "^7.26.10",
60
- "@babel/preset-env": "^7.26.9",
61
- "@babel/preset-react": "^7.26.3",
62
- "@babel/preset-typescript": "^7.27.0",
63
- "@types/react": "^18.3.20",
64
- "@types/react-dom": "^18.3.6",
58
+ "@babel/cli": "^7.27.1",
59
+ "@babel/core": "^7.27.1",
60
+ "@babel/preset-env": "^7.27.1",
61
+ "@babel/preset-react": "^7.27.1",
62
+ "@babel/preset-typescript": "^7.27.1",
63
+ "@types/react": "^18.3.21",
64
+ "@types/react-dom": "^18.3.7",
65
65
  "@types/styled-components": "^5.1.34",
66
66
  "babel-loader": "^9.2.1",
67
67
  "cross-env": "^7.0.3",
68
- "lerna": "^8.2.1",
68
+ "lerna": "^8.2.2",
69
69
  "react": "^18.3.1",
70
70
  "react-dom": "^18.3.1",
71
71
  "styled-components": "^6.1.17",
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "7285157718c4e5c2eea7053c2992a0f531553c78"
84
+ "gitHead": "5501dffde010cd9e57bf9bc858736d5cd21fe364"
85
85
  }