UNPKG

@open-formulieren/formio-builder

Version:

An opinionated Formio webform builder for Open Forms

192 lines (191 loc) 6.86 kB
import { jsxs as a, jsx as t } from "react/jsx-runtime"; import { useFormikContext as c } from "formik"; import { useContext as l } from "react"; import { useIntl as n, FormattedMessage as d, defineMessages as h } from "react-intl"; import y from "../../components/builder/label.js"; import g from "../../components/builder/description.js"; import b from "../../components/builder/tooltip.js"; import { BuilderContext as u } from "../../context.js"; import { Tabs as T, TabList as C, TabPanel as s } from "../../components/formio/tabs.js"; import "clsx"; import { useErrorChecker as M } from "../../utils/errors.js"; /* empty css */ import "@floating-ui/react"; /* empty css */ import "../../components/formio/textfield.js"; import v from "../../components/formio/checkbox.js"; import "../../components/formio/datefield.js"; import "../../components/formio/datetimefield.js"; import "../../components/formio/timefield.js"; /* empty css */ import D from "../../components/formio/select.js"; import "dompurify"; import "../../components/formio/textarea.js"; import "../../components/formio/datagrid.js"; /* empty css */ import { LABELS as p } from "../../components/builder/messages.js"; import E, { useDeriveComponentKey as A } from "../../components/builder/key.js"; import S from "../../components/builder/hidden.js"; import q from "../../components/builder/clear-on-hide.js"; import F from "../../components/builder/is-sensitive-data.js"; import k from "../../components/builder/presentation-config.js"; import "../addressNL/index.js"; import "../bsn/index.js"; import "../checkbox/index.js"; import "../children/index.js"; import "../columns/index.js"; import "../content/index.js"; import "../cosignV1/index.js"; import "../cosignV2/index.js"; import "../currency/index.js"; import "./index.js"; import "../date/index.js"; import "../datetime/index.js"; import "../editgrid/index.js"; import "../email/index.js"; import "../fieldset/index.js"; import "../file/index.js"; import "../iban/index.js"; import "../licenseplate/index.js"; import "../map/index.js"; import "../npFamilyMembers/index.js"; import "../number/index.js"; import "../partners/index.js"; import "../phonenumber/index.js"; import "../postcode/index.js"; import "../radio/index.js"; import "../select/index.js"; import "../selectboxes/index.js"; import "../signature/index.js"; import "../softRequiredErrors/index.js"; import "../textarea/index.js"; import "../textfield/index.js"; import "../time/index.js"; import "@ckeditor/ckeditor5-react"; import "../../components/CKEditor.js"; /* empty css */ import x from "../../components/builder/simple-conditional.js"; import L from "../../components/builder/is-confirmation-email.js"; import O from "../../components/builder/validate/required.js"; import "react-use"; import V, { useManageValidatorsTranslations as w } from "../../components/builder/validate/i18n.js"; import "../../components/builder/prefill/identifierRole.js"; import { ComponentTranslations as I } from "../../components/builder/i18n.js"; import { Basic as R, Advanced as H, Validation as P, Translations as K } from "../../components/builder/tabs.js"; import "@open-formulieren/monaco-json-editor"; import "../../components/builder/values/values-src.js"; import "lodash"; /* empty css */ const U = () => { const e = n(), [r, i] = A(), { hasAnyError: o } = M(), { values: m } = c(), f = m.digitalAddressTypes.includes("email"); return w(["required"]), /* @__PURE__ */ a(T, { children: [ /* @__PURE__ */ a(C, { children: [ /* @__PURE__ */ t(R, { hasErrors: o("label", "key", "description", "tooltip", "hidden", "clearOnHide", "isSensitiveData", "showInSummary", "showInEmail", "showInPDF", "shouldUpdateCustomerData", "digitalAddressTypes") }), /* @__PURE__ */ t(H, { hasErrors: o("conditional") }), /* @__PURE__ */ t(P, { hasErrors: o("validate") }), /* @__PURE__ */ t(K, { hasErrors: o("openForms.translations") }) ] }), /* @__PURE__ */ a(s, { children: [ /* @__PURE__ */ t(y, {}), /* @__PURE__ */ t(E, { isManuallySetRef: r, generatedValue: i }), /* @__PURE__ */ t(g, {}), /* @__PURE__ */ t(b, {}), /* @__PURE__ */ t(k, {}), /* @__PURE__ */ t(N, {}), /* @__PURE__ */ t(j, {}), /* @__PURE__ */ t(S, {}), /* @__PURE__ */ t(q, {}), /* @__PURE__ */ t(F, {}), f && /* @__PURE__ */ t(L, {}) ] }), /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(x, {}) }), /* @__PURE__ */ a(s, { children: [ /* @__PURE__ */ t(O, {}), /* @__PURE__ */ t(V, {}) ] }), /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(I, { propertyLabels: { label: e.formatMessage(p.label), description: e.formatMessage(p.description), tooltip: e.formatMessage(p.tooltip) } }) }) ] }); }; U.defaultValues = { // basic tab label: "", key: "", description: "", tooltip: "", hidden: !1, clearOnHide: !0, isSensitiveData: !0, shouldUpdateCustomerData: !0, digitalAddressTypes: ["email", "phoneNumber"], confirmationRecipient: !1, // Advanced tab conditional: { show: void 0, when: "", eq: "" }, // Validation tab validate: { required: !1, plugins: [] }, translatedErrors: {} }; const j = () => { const e = n(), { formType: r } = l(u), i = e.formatMessage({ id: "68Aey7", defaultMessage: [{ type: 0, value: "When this is checked, Open Forms automatically updates the customer profile when a digital address is added." }] }); return r === "appointment" ? null : /* @__PURE__ */ t(v, { name: "shouldUpdateCustomerData", label: /* @__PURE__ */ t(d, { id: "9XqFGF", defaultMessage: [{ type: 0, value: "Open Forms should update customer data after submission" }] }), tooltip: i }); }, B = h({ email: { id: "78ckd0", defaultMessage: [{ type: 0, value: "Email" }] }, phoneNumber: { id: "q+qVVR", defaultMessage: [{ type: 0, value: "Phone number" }] } }), N = () => { const e = n(), { formType: r } = l(u), i = Object.entries(B).map(([o, m]) => ({ value: o, label: e.formatMessage(m) })); return r === "appointment" ? null : /* @__PURE__ */ t(D, { name: "digitalAddressTypes", label: /* @__PURE__ */ t(d, { id: "vN6yXh", defaultMessage: [{ type: 0, value: "Available digital address types" }] }), tooltip: e.formatMessage({ id: "Y1qhnH", defaultMessage: [{ type: 0, value: "Digital address types a user can be contacted on." }] }), isMulti: !0, required: !0, options: i }); }; export { U as default };