@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
192 lines (191 loc) • 6.86 kB
JavaScript
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
};