@tolokoban/ui
Version:
React components with theme
17 lines • 2.64 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Theme } from "../../theme/index.js";
import { useChangeableValue } from "../../hooks/changeable-value.js";
import Styles from "./Slider.module.css";
const $ = Theme.classNames;
export function ViewSlider({ min, max, step, className, wide, text, value, onChange, }) {
const [val, setVal] = useChangeableValue({ value, onChange });
return (_jsxs("div", { className: $.join(className, Styles.Slider, wide ? "wide" : ""), children: [_jsx("input", { type: "range", min: min !== null && min !== void 0 ? min : 0, max: max !== null && max !== void 0 ? max : 0, step: step !== null && step !== void 0 ? step : 1, value: val, onChange: (evt) => setVal(parseFloat(evt.target.value)) }), text && _jsx("div", { children: computeText(text, val) })] }));
}
function computeText(text, value) {
if (typeof text === "string")
return text;
if (typeof text === "number")
return `${text}`;
return text(value);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvU2xpZGVyL1NsaWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUVqRSxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQTtBQUV4QyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO0FBZ0IxQixNQUFNLFVBQVUsVUFBVSxDQUFDLEVBQ3ZCLEdBQUcsRUFDSCxHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEdBQ007SUFDZCxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDN0QsT0FBTyxDQUNILGVBQUssU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUNoRSxnQkFDSSxJQUFJLEVBQUMsT0FBTyxFQUNaLEdBQUcsRUFBRSxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxDQUFDLEVBQ2IsR0FBRyxFQUFFLEdBQUcsYUFBSCxHQUFHLGNBQUgsR0FBRyxHQUFJLENBQUMsRUFDYixJQUFJLEVBQUUsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksQ0FBQyxFQUNmLEtBQUssRUFBRSxHQUFHLEVBQ1YsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsR0FDekQsRUFDRCxJQUFJLElBQUksd0JBQU0sV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBTyxJQUMxQyxDQUNULENBQUE7QUFDTCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQ2hCLElBQW1ELEVBQ25ELEtBQWE7SUFFYixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN6QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUE7SUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEIsQ0FBQyJ9