@readr-media/react-feedback
Version:
## Installation `yarn install`
77 lines (62 loc) • 2.38 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = CustomForm;
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _thumbsField = _interopRequireDefault(require("./thumbs-form/thumbs-field"));
var _commentField = _interopRequireDefault(require("./comment-form/comment-field"));
var _singleOptionField = _interopRequireDefault(require("./single-option-form/single-option-field"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// eslint-disable-line
const FormWrapper = _styledComponents.default.form.withConfig({
displayName: "form__FormWrapper",
componentId: "sc-h5cj4g-0"
})(["width:auto;margin:0 20px;font-family:'Noto Sans TC',sans-serif;input,textarea,button{font-family:'Noto Sans TC',sans-serif;}@media ", "{margin:0 auto;width:600px;}"], ({
theme
}) => theme.breakpoint.tablet);
const FieldWrapper = _styledComponents.default.div.withConfig({
displayName: "form__FieldWrapper",
componentId: "sc-h5cj4g-1"
})(["display:flex;flex-direction:column;align-items:center;margin:20px 0;"]);
/**
* @typedef {import('../../typedef').Form} Form
*
* @param {Object} props
* @param {Form} props.form
* @param {boolean} props.verified
* @return {JSX.Element}
*/
function CustomForm({
form,
verified
}) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FormWrapper, {
className: "form-feedback",
children: form.fields.map(field => {
switch (field.type) {
case 'text':
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentField.default, {
formId: form.id,
field: field,
verified: verified
}, field.id);
case 'single':
if (Array.isArray(field.options) && field.options.length > 0) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_singleOptionField.default, {
formId: form.id,
field: field
}, field.id);
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_thumbsField.default, {
formId: form.id,
field: field
}, field.id);
default:
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FieldWrapper, {}, field.id);
}
})
});
}
;