@chayns-components/devalue-slider
Version:
A slider to devalue something.
57 lines (56 loc) • 2.52 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _Slider = _interopRequireDefault(require("./slider/Slider"));
var _Timer = _interopRequireDefault(require("./timer/Timer"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
const DevalueSlider = ({
backgroundColor = 'red',
devalueBackgroundColor = 'green',
devalueTime,
isDisabled,
label = 'EINLÖSEN',
onDevalue,
onChange,
onComplete
}) => {
const [timerDevalueTime, setTimerDevalueTime] = (0, _react.useState)(devalueTime);
const sliderRef = (0, _react.useRef)(null);
(0, _react.useEffect)(() => {
setTimerDevalueTime(devalueTime);
}, [devalueTime]);
const handleCompleted = (0, _react.useCallback)(() => {
setTimerDevalueTime(new Date());
onComplete === null || onComplete === void 0 || onComplete();
}, [onComplete]);
(0, _react.useEffect)(() => {
var _sliderRef$current2;
if (isDisabled) {
var _sliderRef$current;
(_sliderRef$current = sliderRef.current) === null || _sliderRef$current === void 0 || _sliderRef$current.disable();
return;
}
(_sliderRef$current2 = sliderRef.current) === null || _sliderRef$current2 === void 0 || _sliderRef$current2.enable();
}, [isDisabled]);
if (timerDevalueTime) {
return /*#__PURE__*/_react.default.createElement(_Timer.default, {
color: devalueBackgroundColor,
devalueTime: timerDevalueTime
});
}
return /*#__PURE__*/_react.default.createElement(_Slider.default, {
ref: sliderRef,
onDevalue: onDevalue,
color: backgroundColor,
devalueColor: devalueBackgroundColor,
onComplete: handleCompleted,
onChange: onChange,
trackText: label
});
};
var _default = exports.default = DevalueSlider;
//# sourceMappingURL=DevalueSlider.js.map