@talend/react-forms
Version:
React forms library based on json schema form.
73 lines (72 loc) • 2.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _designSystem = require("@talend/design-system");
var _properties = require("../../utils/properties");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function ToggleWidget(props) {
const {
id,
isValid,
errorMessage,
onChange,
onFinish,
schema,
value,
valueIsUpdating
} = props;
const {
autoFocus,
description,
disabled = false,
title
} = schema;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.ToggleSwitch, {
// eslint-disable-next-line jsx-a11y/no-autofocus
autoFocus: autoFocus,
checked: value,
disabled: disabled || valueIsUpdating,
id: id,
label: title,
onChange: event => {
onChange(event, {
schema,
value: !value
});
onFinish(event, {
schema,
value: !value
});
},
required: schema.required,
hasError: !isValid,
description: errorMessage || description,
"aria-invalid": !isValid,
"aria-required": schema.required,
...(0, _properties.extractDataAttributes)(schema)
});
}
if (process.env.NODE_ENV !== 'production') {
ToggleWidget.propTypes = {
id: _propTypes.default.string,
isValid: _propTypes.default.bool,
errorMessage: _propTypes.default.string,
onChange: _propTypes.default.func.isRequired,
onFinish: _propTypes.default.func.isRequired,
schema: _propTypes.default.shape({
autoFocus: _propTypes.default.bool,
description: _propTypes.default.string,
disabled: _propTypes.default.bool,
required: _propTypes.default.bool,
title: _propTypes.default.string
}),
value: _propTypes.default.bool,
valueIsUpdating: _propTypes.default.bool
};
}
var _default = exports.default = ToggleWidget;
//# sourceMappingURL=Toggle.component.js.map