pricing4react
Version:
A library of components that ease the integration of feature toggling driven by pricing plans into your React application's UI.
37 lines (36 loc) • 1.96 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
exports.__esModule = true;
exports.DefaultValue = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
function DefaultValue(_a) {
var id = _a.id, name = _a.name, form = _a.form, setForm = _a.setForm;
var handleTextValueChange = function (e) {
setForm(__assign(__assign({}, form), { defaultValue: e.target.value }));
};
var handleNumericValueChange = function (e) {
setForm(__assign(__assign({}, form), { defaultValue: e.currentTarget.valueAsNumber }));
};
var handleConditionValueChange = function (e) {
setForm(__assign(__assign({}, form), { defaultValue: e.target.value === "true" }));
};
switch (form.type) {
case "TEXT":
return ((0, jsx_runtime_1.jsx)("input", { id: id, name: name, type: "text", value: form.defaultValue.toString(), onChange: handleTextValueChange }));
case "NUMERIC":
return ((0, jsx_runtime_1.jsx)("input", { id: id, name: name, type: "number", value: form.defaultValue.toString(), onChange: handleNumericValueChange }));
case "CONDITION":
return ((0, jsx_runtime_1.jsxs)("select", __assign({ id: id, name: name, value: form.defaultValue.toString(), onChange: handleConditionValueChange }, { children: [(0, jsx_runtime_1.jsx)("option", __assign({ value: "" }, { children: "Choose an option" })), (0, jsx_runtime_1.jsx)("option", __assign({ value: "true" }, { children: "YES" })), (0, jsx_runtime_1.jsx)("option", __assign({ value: "false" }, { children: "NO" }))] })));
}
}
exports.DefaultValue = DefaultValue;