@readr-media/react-feedback
Version:
## Installation `yarn install`
58 lines (47 loc) • 1.65 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Feedback;
var _react = _interopRequireDefault(require("react"));
var _useRecaptcha = _interopRequireDefault(require("./hooks/use-recaptcha"));
var _form = _interopRequireDefault(require("./form/form"));
var _themes = _interopRequireDefault(require("../themes"));
var _styledComponents = require("styled-components");
var _formContext = require("./contexts/form-context");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// eslint-disable-line
/**
* @typedef {import('../typedef').Form} Form
*
* @param {Object} props
* @param {Form[]} props.forms
* @param {boolean} [props.shouldUseRecaptcha=true]
* @param {string} [props.theme='covid19']
* @param {string} [props.storageKey='corvid-19-query-user-id']
* @return {JSX.Element}
*/
function Feedback({
forms = [],
shouldUseRecaptcha = true,
theme = 'covid19',
storageKey = 'covid-19-query-user-id'
}) {
const {
verified
} = shouldUseRecaptcha ? (0, _useRecaptcha.default)() : {
verified: true
};
theme = Object.keys(_themes.default).includes(theme) ? theme : 'covid19';
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formContext.StorageKeyContext.Provider, {
value: storageKey,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledComponents.ThemeProvider, {
theme: _themes.default[theme],
children: forms.map(form => /*#__PURE__*/(0, _jsxRuntime.jsx)(_form.default, {
form: form,
verified: verified
}, form.id))
})
});
}
;