@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXROdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmlldy9JbnB1dE51bWJlci9JbnB1dE51bWJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQXNCLE1BQU0sY0FBYyxDQUFBO0FBeUJoRSxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQTJCOztJQUN2RCxNQUFNLEdBQUcsR0FBRyxNQUFBLEtBQUssQ0FBQyxHQUFHLG1DQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtJQUNqRCxNQUFNLEdBQUcsR0FBRyxNQUFBLEtBQUssQ0FBQyxHQUFHLG1DQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtJQUNqRCxNQUFNLFNBQVMsbUNBQ1IsS0FBSyxLQUNSLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFDdkIsUUFBUSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3hCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3ZCLENBQUM7UUFDTCxDQUFDLEVBQ0QsSUFBSSxFQUFFLFFBQVEsRUFDZCxTQUFTLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQTtRQUMzRCxDQUFDLEdBQ0osQ0FBQTtJQUNELE9BQU8sS0FBQyxhQUFhLG9CQUFLLFNBQVMsRUFBa0IsQ0FBQTtBQUN6RCxDQUFDIn0=