@tolokoban/ui
Version:
React components with theme
18 lines • 2.04 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { ViewInputText } from "../InputText/index.js";
export function ViewInputNumber(props) {
var _a, _b;
const min = (_a = props.min) !== null && _a !== void 0 ? _a : Number.NEGATIVE_INFINITY;
const max = (_b = props.max) !== null && _b !== void 0 ? _b : Number.POSITIVE_INFINITY;
const textProps = Object.assign(Object.assign({}, props), { value: `${props.value}`, onChange: (text) => {
const num = Number(text);
if (Number.isFinite(num)) {
props.onChange(num);
}
}, type: "number", validator: (text) => {
const num = Number(text);
return Number.isFinite(num) && num >= min && num <= max;
} });
return _jsx(ViewInputText, Object.assign({}, textProps));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXROdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmlldy9JbnB1dE51bWJlci9JbnB1dE51bWJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQXNCLE1BQU0sY0FBYyxDQUFBO0FBeUJoRSxNQUFNLFVBQVUsZUFBZSxDQUMzQixLQUEyQjs7SUFFM0IsTUFBTSxHQUFHLEdBQUcsTUFBQSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxNQUFNLENBQUMsaUJBQWlCLENBQUE7SUFDakQsTUFBTSxHQUFHLEdBQUcsTUFBQSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxNQUFNLENBQUMsaUJBQWlCLENBQUE7SUFDakQsTUFBTSxTQUFTLG1DQUNSLEtBQUssS0FDUixLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQ3ZCLFFBQVEsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN4QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN2QixDQUFDO1FBQ0wsQ0FBQyxFQUNELElBQUksRUFBRSxRQUFRLEVBQ2QsU0FBUyxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUE7UUFDM0QsQ0FBQyxHQUNKLENBQUE7SUFDRCxPQUFPLEtBQUMsYUFBYSxvQkFBSyxTQUFTLEVBQWtCLENBQUE7QUFDekQsQ0FBQyJ9