@focuson/form_components
Version:
Components that can be used by @focuson/forms
18 lines (17 loc) • 896 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SetStateButton = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const state_1 = require("@focuson/state");
const common_1 = require("./common");
const pages_1 = require("@focuson/pages");
function SetStateButton({ id, label, state, buttonType, target, enabledBy }) {
function onClick() {
const txs = [[state.optional, () => target]];
if (txs.length === 0)
return;
state.massTransform((0, state_1.reasonFor)('}', 'onClick', id))(...txs);
}
return (0, pages_1.wrapWithErrors)(id, enabledBy, [], (errorProps, error) => (0, jsx_runtime_1.jsx)("button", Object.assign({ id: id }, errorProps, { disabled: error, onClick: onClick, className: (0, common_1.getButtonClassName)(buttonType) }, { children: label })));
}
exports.SetStateButton = SetStateButton;