@bigbinary/neeto-fields-frontend 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/{DeleteAlert-BmpzKo0o.js → DeleteAlert-B8LAMQ5V.js} +9 -9
  2. package/dist/DeleteAlert-B8LAMQ5V.js.map +1 -0
  3. package/dist/{DeleteAlert-BUSxmPo6.js → DeleteAlert-Bv3URWJD.js} +9 -9
  4. package/dist/DeleteAlert-Bv3URWJD.js.map +1 -0
  5. package/dist/FieldDeleteAlert.js +1 -1
  6. package/dist/FieldInputs.js +1 -1
  7. package/dist/{FieldValueInputWrapper-B1Ya1Mfz.js → FieldValueInputWrapper-C6YPhtlJ.js} +2 -2
  8. package/dist/{FieldValueInputWrapper-B1Ya1Mfz.js.map → FieldValueInputWrapper-C6YPhtlJ.js.map} +1 -1
  9. package/dist/{FieldValueInputWrapper-CeI1uTAS.js → FieldValueInputWrapper-DeUkbcnU.js} +2 -2
  10. package/dist/{FieldValueInputWrapper-CeI1uTAS.js.map → FieldValueInputWrapper-DeUkbcnU.js.map} +1 -1
  11. package/dist/FieldValuesContainer.js +2 -2
  12. package/dist/FieldsDashboard.js +14 -13
  13. package/dist/FieldsDashboard.js.map +1 -1
  14. package/dist/FieldsPane.js +9 -9
  15. package/dist/FieldsPane.js.map +1 -1
  16. package/dist/InlineFieldValueInput.js +3 -3
  17. package/dist/InlineFieldValueInput.js.map +1 -1
  18. package/dist/cjs/FieldDeleteAlert.js +1 -1
  19. package/dist/cjs/FieldInputs.js +1 -1
  20. package/dist/cjs/FieldValuesContainer.js +2 -2
  21. package/dist/cjs/FieldsDashboard.js +13 -12
  22. package/dist/cjs/FieldsDashboard.js.map +1 -1
  23. package/dist/cjs/FieldsPane.js +9 -9
  24. package/dist/cjs/FieldsPane.js.map +1 -1
  25. package/dist/cjs/InlineFieldValueInput.js +3 -3
  26. package/dist/cjs/InlineFieldValueInput.js.map +1 -1
  27. package/dist/cjs/index.js +3 -3
  28. package/dist/cjs/utils.js +1 -1
  29. package/dist/index.js +3 -3
  30. package/dist/{utils-B9DZvtuQ.js → utils-Cuq7OYo5.js} +4 -3
  31. package/dist/utils-Cuq7OYo5.js.map +1 -0
  32. package/dist/{utils-C3idYtcR.js → utils-DfBwjoip.js} +4 -3
  33. package/dist/utils-DfBwjoip.js.map +1 -0
  34. package/dist/utils.js +1 -1
  35. package/package.json +18 -19
  36. package/dist/DeleteAlert-BUSxmPo6.js.map +0 -1
  37. package/dist/DeleteAlert-BmpzKo0o.js.map +0 -1
  38. package/dist/utils-B9DZvtuQ.js.map +0 -1
  39. package/dist/utils-C3idYtcR.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsPane.js","sources":["../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/regex.js","../../node_modules/uuid/dist/esm-browser/validate.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../app/javascript/src/components/FieldsPane/utils.jsx","../../app/javascript/src/components/FieldsPane/constants.js","../../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../../app/javascript/src/components/FieldsPane/FieldForm.jsx","../../app/javascript/src/components/FieldsPane/Add.jsx","../../app/javascript/src/components/FieldsPane/Edit.jsx","../../app/javascript/src/components/FieldsPane/index.jsx"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { filterBy, toLabelAndValue } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n\n return filterBy({ group: selectedKind?.group }, values(filteredKinds));\n};\n\nexport const initialFields = (kind = \"text\") => ({\n name: \"\",\n kind: toLabelAndValue(kind),\n isRequired: false,\n data: isDropdown(kind) ? [getDefaultOption()] : undefined,\n});\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={loading}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"neetoFields.validations.regexConditionIsRequired\"))\n .matches(\n PERMITTED_REGEX_PATTERN,\n t(\"neetoFields.validations.invalidRegexPattern\")\n )\n .test({\n name: \"test-regex-is-advanced\",\n message:\n t(\"neetoFields.validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"neetoFields.validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"neetoFields.validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"neetoFields.validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"neetoFields.fields.kinds.text\"), group: 1 },\n number: {\n value: \"number\",\n label: t(\"neetoFields.fields.kinds.number\"),\n group: 2,\n },\n monetary: {\n value: \"monetary\",\n label: t(\"neetoFields.fields.kinds.monetary\"),\n group: 2,\n },\n single_option: {\n value: \"single_option\",\n label: t(\"neetoFields.fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"neetoFields.fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"neetoFields.fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"neetoFields.fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"neetoFields.fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"neetoFields.fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"neetoFields.fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"neetoFields.fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"neetoFields.fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"neetoFields.fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"neetoFields.fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"neetoFields.fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"neetoFields.fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"neetoFields.fields.kinds.datetime\"),\n group: 11,\n },\n phone_number: {\n value: \"phone_number\",\n label: t(\"neetoFields.fields.kinds.phoneNumber\"),\n group: 13,\n },\n email: {\n value: \"email\",\n label: t(\"neetoFields.fields.kinds.email\"),\n group: 14,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"neetoFields.validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n dirty,\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n const handleKeyDown = (event, arrayHelpers) => {\n if (event.key !== \"Enter\" || isMetaKeyPressed(event)) return;\n\n const form = event.target.form;\n const inputs = [\n ...form.querySelectorAll(\"#neeto-fields-dropdown-options-wrapper input\"),\n ];\n\n const currentIndex = inputs.indexOf(event.target);\n\n currentIndex >= inputs.length - 1\n ? addOption(arrayHelpers)\n : inputs[currentIndex + 1]?.focus();\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div\n className=\"flex w-full flex-col gap-y-4\"\n id=\"neeto-fields-dropdown-options-wrapper\"\n >\n <Label required>{t(\"neetoFields.titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n autoFocus={dirty}\n data-cy={`neeto-fields-dropdown-option-${index}`}\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"neetoFields.placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n data-cy={`neeto-fields-dropdown-option-delete-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n onKeyDown={event => handleKeyDown(event, arrayHelpers)}\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n data-cy=\"neeto-fields-add-more-option-button\"\n label={t(\"neetoFields.labels.addAnotherOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"neetoFields.titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"neetoFields.placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"neetoFields.placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n initialFocusField,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"neetoFields.labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"neetoFields.placeholders.enterFieldName\")}\n ref={initialFocusField}\n />\n <Select\n isSearchable\n required\n isDisabled={isSystem}\n label={t(\"neetoFields.labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"neetoFields.labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n initialFields,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n additionalPayload = {},\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isPending: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = {\n ...buildPayload({ formValues, resourceType, ownerId }),\n ...additionalPayload,\n };\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...initialFields(filteredKinds[0]?.value),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { Pane, Spinner, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isPending: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => {\n const initialFocusField = useRef(null);\n\n return (\n <Pane\n {...{ isOpen }}\n initialFocusRef={initialFocusField}\n onClose={props.onClose}\n >\n {isEmpty(selectedField) ? (\n <Add {...{ ...props, initialFocusField }} />\n ) : (\n <Edit\n fieldId={selectedField?.id}\n {...{ ...props, initialFocusField }}\n />\n )}\n </Pane>\n );\n};\n\nexport default FieldsPane;\n"],"names":["arrangeOptionsDisplayOrder","options","map","option","index","_objectSpread","displayOrder","buildPayload","_ref","formValues","_ref$resourceType","resourceType","_ref$ownerId","ownerId","kind","value","name","trim","isEmpty","undefined","field","omit","data","isDropdown","includes","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","_ref2","allowedKinds","selectedKind","filteredKinds","pick","FIELD_KINDS","filterBy","group","values","initialFields","arguments","length","toLabelAndValue","isRequired","getDefaultOption","generateValidationSchema","additionalValidations","yup","object","shape","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","_ref3","onClose","loading","_jsx","Pane","Footer","children","ActionBlock","cancelButtonProps","onClick","isSubmitting","id","uuidv4","label","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","condition","string","required","t","matches","test","message","lastIndex","lastIndexOf","substring","RegExp","search","_unused","helpMessage","dropDownOptionsValidationSchema","array","of","number","min","text","monetary","single_option","multi_option","date","time","date_range","time_range","text_area","textarea","person","checkbox","regex","integer","decimal","datetime","phone_number","email","DEFAULT_REGEX_DATA","mixed","when","is","then","AdditionalInputs","_useTranslation","useTranslation","_useFormikContext","useFormikContext","_useFormikContext$val","isSystem","dirty","removeOption","arrayHelpers","remove","addOption","push","handleKeyDown","event","_inputs","key","isMetaKeyPressed","form","target","inputs","_toConsumableArray","querySelectorAll","currentIndex","indexOf","focus","preventDefault","stopPropagation","FieldArray","_jsxs","className","Label","isNotEmpty","Array","isArray","_","Input","autoFocus","concat","disabled","placeholder","suffix","Button","icon","Delete","style","onKeyDown","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","initialFocusField","setFieldValue","handleKindChange","Body","ref","Select","isSearchable","isDisabled","onChange","Switch","Typography","component","Add","_filteredKinds$","_ref$allowedKinds","ALL_KINDS","initialValues","onMutationSuccess","_ref$additionalPayloa","additionalPayload","props","_objectWithoutProperties","_excluded","_useCreateField","useCreateField","onSuccess","createField","mutate","isPending","handleSubmit","payload","_Fragment","Header","Form","formikProps","validationSchema","onSubmit","Edit","fieldId","_ref$additionalValida","_ref$initialValues","_useShowField","useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","isLoading","_useUpdateField","useUpdateField","_len","args","_key","apply","updateField","Spinner","assoc","enableReinitialize","permittedKinds","FieldsPane","isOpen","_ref$selectedField","selectedField","useRef","initialFocusRef"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"FieldsPane.js","sources":["../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/regex.js","../../node_modules/uuid/dist/esm-browser/validate.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../app/javascript/src/components/FieldsPane/utils.jsx","../../app/javascript/src/components/FieldsPane/constants.js","../../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../../app/javascript/src/components/FieldsPane/FieldForm.jsx","../../app/javascript/src/components/FieldsPane/Add.jsx","../../app/javascript/src/components/FieldsPane/Edit.jsx","../../app/javascript/src/components/FieldsPane/index.jsx"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { filterBy, toLabelAndValue } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n\n return filterBy({ group: selectedKind?.group }, values(filteredKinds));\n};\n\nexport const initialFields = (kind = \"text\") => ({\n name: \"\",\n kind: toLabelAndValue(kind),\n isRequired: false,\n data: isDropdown(kind) ? [getDefaultOption()] : undefined,\n});\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={loading}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"neetoFields.validations.regexConditionIsRequired\"))\n .matches(\n PERMITTED_REGEX_PATTERN,\n t(\"neetoFields.validations.invalidRegexPattern\")\n )\n .test({\n name: \"test-regex-is-advanced\",\n message:\n t(\"neetoFields.validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"neetoFields.validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"neetoFields.validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"neetoFields.validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"neetoFields.fields.kinds.text\"), group: 1 },\n number: {\n value: \"number\",\n label: t(\"neetoFields.fields.kinds.number\"),\n group: 2,\n },\n monetary: {\n value: \"monetary\",\n label: t(\"neetoFields.fields.kinds.monetary\"),\n group: 2,\n },\n single_option: {\n value: \"single_option\",\n label: t(\"neetoFields.fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"neetoFields.fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"neetoFields.fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"neetoFields.fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"neetoFields.fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"neetoFields.fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"neetoFields.fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"neetoFields.fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"neetoFields.fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"neetoFields.fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"neetoFields.fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"neetoFields.fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"neetoFields.fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"neetoFields.fields.kinds.datetime\"),\n group: 11,\n },\n phone_number: {\n value: \"phone_number\",\n label: t(\"neetoFields.fields.kinds.phoneNumber\"),\n group: 13,\n },\n email: {\n value: \"email\",\n label: t(\"neetoFields.fields.kinds.email\"),\n group: 14,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"neetoFields.validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n dirty,\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n const handleKeyDown = (event, arrayHelpers) => {\n if (event.key !== \"Enter\" || isMetaKeyPressed(event)) return;\n\n const form = event.target.form;\n const inputs = [\n ...form.querySelectorAll(\"#neeto-fields-dropdown-options-wrapper input\"),\n ];\n\n const currentIndex = inputs.indexOf(event.target);\n\n currentIndex >= inputs.length - 1\n ? addOption(arrayHelpers)\n : inputs[currentIndex + 1]?.focus();\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div\n className=\"flex w-full flex-col gap-y-4\"\n id=\"neeto-fields-dropdown-options-wrapper\"\n >\n <Label required>{t(\"neetoFields.titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n autoFocus={dirty}\n data-testid={`neeto-fields-dropdown-option-${index}`}\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"neetoFields.placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n data-testid={`neeto-fields-dropdown-option-delete-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n onKeyDown={event => handleKeyDown(event, arrayHelpers)}\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n data-testid=\"neeto-fields-add-more-option-button\"\n label={t(\"neetoFields.labels.addAnotherOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"neetoFields.titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"neetoFields.placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"neetoFields.placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n initialFocusField,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-testid=\"name-text-field\"\n disabled={isSystem}\n label={t(\"neetoFields.labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"neetoFields.placeholders.enterFieldName\")}\n ref={initialFocusField}\n />\n <Select\n isSearchable\n required\n isDisabled={isSystem}\n label={t(\"neetoFields.labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-testid=\"is-required-switch-container\"\n >\n <Switch data-testid=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-testid=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"neetoFields.labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n initialFields,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n additionalPayload = {},\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isPending: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = {\n ...buildPayload({ formValues, resourceType, ownerId }),\n ...additionalPayload,\n };\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-testid=\"add-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...initialFields(filteredKinds[0]?.value),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import { Pane, Spinner, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isPending: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-testid=\"edit-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => {\n const initialFocusField = useRef(null);\n\n return (\n <Pane\n {...{ isOpen }}\n initialFocusRef={initialFocusField}\n onClose={props.onClose}\n >\n {isEmpty(selectedField) ? (\n <Add {...{ ...props, initialFocusField }} />\n ) : (\n <Edit\n fieldId={selectedField?.id}\n {...{ ...props, initialFocusField }}\n />\n )}\n </Pane>\n );\n};\n\nexport default FieldsPane;\n"],"names":["arrangeOptionsDisplayOrder","options","map","option","index","_objectSpread","displayOrder","buildPayload","_ref","formValues","_ref$resourceType","resourceType","_ref$ownerId","ownerId","kind","value","name","trim","isEmpty","undefined","field","omit","data","isDropdown","includes","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","_ref2","allowedKinds","selectedKind","filteredKinds","pick","FIELD_KINDS","filterBy","group","values","initialFields","arguments","length","toLabelAndValue","isRequired","getDefaultOption","generateValidationSchema","additionalValidations","yup","object","shape","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","_ref3","onClose","loading","_jsx","Pane","Footer","children","ActionBlock","cancelButtonProps","onClick","isSubmitting","id","uuidv4","label","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","condition","string","required","t","matches","test","message","lastIndex","lastIndexOf","substring","RegExp","search","_unused","helpMessage","dropDownOptionsValidationSchema","array","of","number","min","text","monetary","single_option","multi_option","date","time","date_range","time_range","text_area","textarea","person","checkbox","regex","integer","decimal","datetime","phone_number","email","DEFAULT_REGEX_DATA","mixed","when","is","then","AdditionalInputs","_useTranslation","useTranslation","_useFormikContext","useFormikContext","_useFormikContext$val","isSystem","dirty","removeOption","arrayHelpers","remove","addOption","push","handleKeyDown","event","_inputs","key","isMetaKeyPressed","form","target","inputs","_toConsumableArray","querySelectorAll","currentIndex","indexOf","focus","preventDefault","stopPropagation","FieldArray","_jsxs","className","Label","isNotEmpty","Array","isArray","_","Input","autoFocus","concat","disabled","placeholder","suffix","Button","icon","Delete","style","onKeyDown","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","initialFocusField","setFieldValue","handleKindChange","Body","ref","Select","isSearchable","isDisabled","onChange","Switch","Typography","component","Add","_filteredKinds$","_ref$allowedKinds","ALL_KINDS","initialValues","onMutationSuccess","_ref$additionalPayloa","additionalPayload","props","_objectWithoutProperties","_excluded","_useCreateField","useCreateField","onSuccess","createField","mutate","isPending","handleSubmit","payload","_Fragment","Header","Form","formikProps","validationSchema","onSubmit","Edit","fieldId","_ref$additionalValida","_ref$initialValues","_useShowField","useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","isLoading","_useUpdateField","useUpdateField","_len","args","_key","apply","updateField","Spinner","assoc","enableReinitialize","permittedKinds","FieldsPane","isOpen","_ref$selectedField","selectedField","useRef","initialFocusRef"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -6,8 +6,8 @@ var react = require('react');
6
6
  var classnames = require('classnames');
7
7
  var neetoCist = require('@bigbinary/neeto-cist');
8
8
  var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
9
- var FieldValueInputWrapper = require('../FieldValueInputWrapper-B1Ya1Mfz.js');
10
- var utils = require('../utils-B9DZvtuQ.js');
9
+ var FieldValueInputWrapper = require('../FieldValueInputWrapper-C6YPhtlJ.js');
10
+ var utils = require('../utils-Cuq7OYo5.js');
11
11
  var Typography = require('@bigbinary/neetoui/Typography');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  var constants = require('../constants-C4kiF-ZI.js');
@@ -140,7 +140,7 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
140
140
  var DefaultDisplayComponent = utils.DISPLAY_COMPONENT_MAP[fieldKind] || Text;
141
141
  var DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;
142
142
  return isEditable ? /*#__PURE__*/jsxRuntime.jsx("div", {
143
- "data-cy": "inline-field-value-input-".concat(utils$1.hyphenize(field.name)),
143
+ "data-testid": "inline-field-value-input-".concat(utils$1.hyphenize(field.name)),
144
144
  children: /*#__PURE__*/jsxRuntime.jsx(FieldValueInputWrapper.FieldValueInputWrapper, {
145
145
  field: field,
146
146
  fieldValues: fieldValues,
@@ -1 +1 @@
1
- {"version":3,"file":"InlineFieldValueInput.js","sources":["../../app/javascript/src/components/InlineFieldValueInput/components/Text.jsx","../../app/javascript/src/components/InlineFieldValueInput/utils.js","../../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Text = ({ value }) => (\n <Typography className=\"text-wrap\" style=\"body2\">\n {value}\n </Typography>\n);\n\nexport default Text;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize, hasPermission } from \"neetocommons/utils\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport TextDisplayComponent from \"./components/Text\";\nimport {\n DIRECT_EDIT_INPUT_FIELDS,\n DISPLAY_COMPONENT_MAP,\n MISSING_VALUE_PLACEHOLDER,\n} from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n canManageFieldValues,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isAllowedToManageFieldValues =\n canManageFieldValues ??\n hasPermission(\"neeto_fields_engine.manage_field_values\");\n const isManageable = !field.isSystem && isAllowedToManageFieldValues;\n const isEditable =\n isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue =\n renderDataAsText(field, fieldValues) || MISSING_VALUE_PLACEHOLDER;\n\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DefaultDisplayComponent =\n DISPLAY_COMPONENT_MAP[fieldKind] || TextDisplayComponent;\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": isManageable })}\n onClick={() => isManageable && setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["Text","_ref","value","_jsx","Typography","className","style","children","renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","InlineFieldValueInput","resourceType","resourceId","_ref$ownerId","ownerId","_ref$onMutationSucces","onMutationSuccess","noop","_ref$onMutate","onMutate","_ref$customDisplayCom","customDisplayComponents","canManageFieldValues","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isAllowedToManageFieldValues","hasPermission","isManageable","isSystem","isEditable","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","MISSING_VALUE_PLACEHOLDER","_ref2","_ref2$props","props","customDisplayComponentProps","_ref2$component","component","CustomDisplayComponent","DefaultDisplayComponent","DISPLAY_COMPONENT_MAP","TextDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"InlineFieldValueInput.js","sources":["../../app/javascript/src/components/InlineFieldValueInput/components/Text.jsx","../../app/javascript/src/components/InlineFieldValueInput/utils.js","../../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Text = ({ value }) => (\n <Typography className=\"text-wrap\" style=\"body2\">\n {value}\n </Typography>\n);\n\nexport default Text;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize, hasPermission } from \"neetocommons/utils\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport TextDisplayComponent from \"./components/Text\";\nimport {\n DIRECT_EDIT_INPUT_FIELDS,\n DISPLAY_COMPONENT_MAP,\n MISSING_VALUE_PLACEHOLDER,\n} from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n canManageFieldValues,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isAllowedToManageFieldValues =\n canManageFieldValues ??\n hasPermission(\"neeto_fields_engine.manage_field_values\");\n const isManageable = !field.isSystem && isAllowedToManageFieldValues;\n const isEditable =\n isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue =\n renderDataAsText(field, fieldValues) || MISSING_VALUE_PLACEHOLDER;\n\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DefaultDisplayComponent =\n DISPLAY_COMPONENT_MAP[fieldKind] || TextDisplayComponent;\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-testid={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": isManageable })}\n onClick={() => isManageable && setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["Text","_ref","value","_jsx","Typography","className","style","children","renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","InlineFieldValueInput","resourceType","resourceId","_ref$ownerId","ownerId","_ref$onMutationSucces","onMutationSuccess","noop","_ref$onMutate","onMutate","_ref$customDisplayCom","customDisplayComponents","canManageFieldValues","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isAllowedToManageFieldValues","hasPermission","isManageable","isSystem","isEditable","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","MISSING_VALUE_PLACEHOLDER","_ref2","_ref2$props","props","customDisplayComponentProps","_ref2$component","component","CustomDisplayComponent","DefaultDisplayComponent","DISPLAY_COMPONENT_MAP","TextDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,oBACnBC,cAAA,CAACC,UAAU,EAAA;AAACC,IAAAA,SAAS,EAAC,WAAW;AAACC,IAAAA,KAAK,EAAC,OAAO;AAAAC,IAAAA,QAAA,EAC5CL;AAAK,GACI,CAAC;AAAA,CACd;;ACCM,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK,EAAEC,WAAW,EAAK;AAAA,EAAA,IAAAC,OAAA,EAAAC,QAAA,EAAAC,QAAA;AACtD,EAAA,IAAIC,cAAc,GAAA,CAAAH,OAAA,GAAGI,gBAAM,CAAC;IAAEC,OAAO,EAAEP,KAAK,CAACQ;AAAG,GAAC,EAAEP,WAAW,CAAC,MAAAC,IAAAA,IAAAA,OAAA,gBAAAA,OAAA,GAA1CA,OAAA,CAA4CO,IAAI,MAAAP,IAAAA,IAAAA,OAAA,KAAhDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAkDT,KAAK;EAE5E,QAAQO,KAAK,CAACU,IAAI;IAChB,KAAKC,eAAK,CAACC,IAAI;AACb,MAAA,OAAOP,cAAc,IAAIQ,kBAAU,CAACD,IAAI,CAACP,cAAc,CAAC;IAC1D,KAAKM,eAAK,CAACG,IAAI;AACb,MAAA,OAAOT,cAAc,IAAIQ,kBAAU,CAACC,IAAI,CAACT,cAAc,CAAC;IAC1D,KAAKM,eAAK,CAACI,QAAQ;AACjB,MAAA,OAAOV,cAAc,IAAIQ,kBAAU,CAACG,QAAQ,CAACX,cAAc,CAAC;IAC9D,KAAKM,eAAK,CAACM,SAAS;AAClB,MAAA,OACEZ,cAAc,IACda,oBAAU,CAACb,cAAc,CAAC,IAAAc,EAAAA,CAAAA,MAAA,CACvBN,kBAAU,CAACD,IAAI,CAACP,cAAc,CAAC,CAAC,CAAC,CAAC,EAAA,KAAA,CAAA,CAAAc,MAAA,CAAMN,kBAAU,CAACD,IAAI,CACxDP,cAAc,CAAC,CAAC,CAClB,CAAC,CAAE;IAEP,KAAKM,eAAK,CAACS,SAAS;MAClB,OACEf,cAAc,IAAAc,EAAAA,CAAAA,MAAA,CACXN,kBAAU,CAACC,IAAI,CAACT,cAAc,CAAC,CAAC,CAAC,CAAC,EAAAc,KAAAA,CAAAA,CAAAA,MAAA,CAAMN,kBAAU,CAACC,IAAI,CACxDT,cAAc,CAAC,CAAC,CAClB,CAAC,CAAE;IAEP,KAAKM,eAAK,CAACU,YAAY;MACrB,OAAAlB,CAAAA,QAAA,GAAOG,gBAAM,CAAC;AAAEE,QAAAA,EAAE,EAAEH;OAAgB,EAAEL,KAAK,CAACS,IAAI,CAAC,cAAAN,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA1CA,QAAA,CAA4CmB,KAAK;IAC1D,KAAKX,eAAK,CAACY,WAAW;AACpBlB,MAAAA,cAAc,GAAAD,CAAAA,QAAA,GAAGE,gBAAM,CAAC;QAAEC,OAAO,EAAEP,KAAK,CAACQ;AAAG,OAAC,EAAEP,WAAW,CAAC,MAAAG,IAAAA,IAAAA,QAAA,gBAAAA,QAAA,GAA1CA,QAAA,CAA4CK,IAAI,MAAAL,IAAAA,IAAAA,QAAA,KAAhDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAkDoB,MAAM;AAEzE,MAAA,OACEnB,cAAc,IACdA,cAAc,CACXoB,GAAG,CAAC,UAAAC,QAAQ,EAAA;AAAA,QAAA,IAAAC,QAAA;QAAA,OAAAA,CAAAA,QAAA,GAAIrB,gBAAM,CAAC;AAAEE,UAAAA,EAAE,EAAEkB;SAAU,EAAE1B,KAAK,CAACS,IAAI,CAAC,cAAAkB,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApCA,QAAA,CAAsCL,KAAK;AAAA,OAAA,CAAC,CAC5DM,IAAI,CAAC,IAAI,CAAC;IAGjB,KAAKjB,eAAK,CAACkB,QAAQ;MACjB,OAAOC,sBAAgB,CAACzB,cAAc,CAAC;AAEzC,IAAA;AACE,MAAA,OAAOA,cAAc;AACzB;AACF,CAAC;;;;AChCD,IAAM0B,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAvC,IAAA,EAUrB;AAAA,EAAA,IATJQ,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLC,WAAW,GAAAT,IAAA,CAAXS,WAAW;IACX+B,YAAY,GAAAxC,IAAA,CAAZwC,YAAY;IACZC,UAAU,GAAAzC,IAAA,CAAVyC,UAAU;IAAAC,YAAA,GAAA1C,IAAA,CACV2C,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAE,qBAAA,GAAA5C,IAAA,CACZ6C,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,qBAAA;IAAAG,aAAA,GAAA/C,IAAA,CACxBgD,QAAQ;AAARA,IAAAA,SAAQ,GAAAD,aAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,aAAA;IAAAE,qBAAA,GAAAjD,IAAA,CACfkD,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAC5BE,oBAAoB,GAAAnD,IAAA,CAApBmD,oBAAoB;AAEpB,EAAA,IAAAC,SAAA,GAAgCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxCI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMI,YAAY,GAAG;AACnBV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEW,SAAS,EAAA;AAAA,MAAA,OAAIX,SAAQ,CAACW,SAAS,CAACC,OAAO,IAAID,SAAS,CAAC;AAAA,KAAA;AAC/DE,IAAAA,SAAS,EAAE,SAAXA,SAASA,GAAiB;MACxBJ,WAAW,CAAC,KAAK,CAAC;AAClBZ,MAAAA,iBAAiB,CAAAiB,KAAA,CAAAC,KAAAA,CAAAA,EAAAA,SAAU,CAAC;AAC9B;GACD;EAED,IAAAC,eAAA,GAAyBC,qCAAc,CAAC;AACtCxB,MAAAA,UAAU,EAAVA,UAAU;AACVD,MAAAA,YAAY,EAAZA,YAAY;AACZG,MAAAA,OAAO,EAAPA,OAAO;AACPe,MAAAA,YAAY,EAAZA;AACF,KAAC,CAAC;IALMQ,YAAY,GAAAF,eAAA,CAAZE,YAAY;EAOpB,IAAMC,KAAK,GAAGC,mBAAa,CAAC;AAAE5D,IAAAA,KAAK,EAALA;AAAM,GAAC,CAAC;AAEtC,EAAA,IAAM6D,SAAS,GAAG7D,KAAK,CAACU,IAAI;EAC5B,IAAMoD,4BAA4B,GAChCnB,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,oBAAoB,GACpBoB,qBAAa,CAAC,yCAAyC,CAAC;AAC1D,EAAA,IAAMC,YAAY,GAAG,CAAChE,KAAK,CAACiE,QAAQ,IAAIH,4BAA4B;AACpE,EAAA,IAAMI,UAAU,GACdF,YAAY,KAAKhB,QAAQ,IAAImB,8BAAwB,CAACC,QAAQ,CAACP,SAAS,CAAC,CAAC;EAE5E,IAAMQ,YAAY,GAChBtE,gBAAgB,CAACC,KAAK,EAAEC,WAAW,CAAC,IAAIqE,+BAAyB;EAEnE,IAAAC,KAAA,GAGI7B,uBAAuB,CAACmB,SAAS,CAAC,IAAI,EAAE;IAAAW,WAAA,GAAAD,KAAA,CAF1CE,KAAK;AAAEC,IAAAA,2BAA2B,GAAAF,WAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,WAAA;IAAAG,eAAA,GAAAJ,KAAA,CACvCK,SAAS;AAAEC,IAAAA,sBAAsB,GAAAF,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;AAG1C,EAAA,IAAMG,uBAAuB,GAC3BC,2BAAqB,CAAClB,SAAS,CAAC,IAAImB,IAAoB;AAC1D,EAAA,IAAMC,gBAAgB,GAAGJ,sBAAsB,IAAIC,uBAAuB;EAE1E,OAAOZ,UAAU,gBACfxE,cAAA,CAAA,KAAA,EAAA;IAAK,aAAAyB,EAAAA,2BAAAA,CAAAA,MAAA,CAAyC+D,iBAAS,CAAClF,KAAK,CAACmF,IAAI,CAAC,CAAG;IAAArF,QAAA,eACpEJ,cAAA,CAAC0F,6CAAsB,EAAA;AACfpF,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,WAAW,EAAXA,WAAW;AACxBoF,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE7D,MAAM,EAAA;AAAA,QAAA,OAAIkC,YAAY,CAAC1D,KAAK,EAAEwB,MAAM,CAAC;OAAC;MAAA1B,QAAA,eAEhDJ,cAAA,CAACiE,KAAK,EAAA2B,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA,EAAA,EACKtF,KAAK,CAAA,CAAA,EAAA,EAAA,EAAA;QACduF,gBAAgB,EAAA,IAAA;QAChBC,QAAQ,EAAA,IAAA;QACRC,MAAM,EAAE,SAARA,MAAMA,GAAA;UAAA,OAAQxC,WAAW,CAAC,KAAK,CAAC;AAAA;OACjC,CAAA;KACqB;GACrB,CAAC,gBAENvD,cAAA,CAAA,KAAA,EAAA;IACEE,SAAS,EAAE8F,UAAU,CAAC;AAAE,MAAA,gBAAgB,EAAE1B;AAAa,KAAC,CAAE;IAC1D2B,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQ3B,YAAY,IAAIf,WAAW,CAAC,IAAI,CAAC;KAAC;AAAAnD,IAAAA,QAAA,eAEjDJ,cAAA,CAACuF,gBAAgB,EAAAK,aAAA,CAAA;AACTrD,MAAAA,UAAU,EAAVA,UAAU;AAChBxC,MAAAA,KAAK,EAAE4E;AAAa,KAAA,EAChBK,2BAA2B,CAChC;AAAC,GACC,CACN;AACH;;;;"}
package/dist/cjs/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  var FieldInputs = require('./FieldInputs.js');
4
4
  var FieldsDashboard = require('./FieldsDashboard.js');
5
- var FieldDeleteAlert = require('../DeleteAlert-BUSxmPo6.js');
5
+ var FieldDeleteAlert = require('../DeleteAlert-Bv3URWJD.js');
6
6
  var FieldsPane = require('./FieldsPane.js');
7
7
  var FieldValuesContainer = require('./FieldValuesContainer.js');
8
8
  var InlineFieldValueInput = require('./InlineFieldValueInput.js');
9
- var utils = require('../utils-B9DZvtuQ.js');
9
+ var utils = require('../utils-Cuq7OYo5.js');
10
10
  var useFieldsApi = require('../useFieldsApi-BAGLxKDx.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
12
  require('@bigbinary/neeto-commons-frontend/react-utils');
@@ -57,7 +57,7 @@ require('@bigbinary/neetoui/formik/Select');
57
57
  require('@bigbinary/neetoui/formik/Switch');
58
58
  require('@babel/runtime/helpers/toConsumableArray');
59
59
  require('@bigbinary/neeto-icons/Delete');
60
- require('../FieldValueInputWrapper-B1Ya1Mfz.js');
60
+ require('../FieldValueInputWrapper-C6YPhtlJ.js');
61
61
  require('@bigbinary/neeto-molecules/CopyToClipboardButton');
62
62
  require('@bigbinary/neeto-icons/Redirect');
63
63
  require('@bigbinary/neeto-molecules/PhoneNumber');
package/dist/cjs/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('../utils-B9DZvtuQ.js');
3
+ var utils = require('../utils-Cuq7OYo5.js');
4
4
  require('@babel/runtime/helpers/toConsumableArray');
5
5
  require('@babel/runtime/helpers/defineProperty');
6
6
  require('@bigbinary/neeto-cist');
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  export { default as FieldInputs } from './FieldInputs.js';
2
2
  export { default as FieldsDashboard } from './FieldsDashboard.js';
3
- export { D as FieldDeleteAlert } from './DeleteAlert-BmpzKo0o.js';
3
+ export { D as FieldDeleteAlert } from './DeleteAlert-B8LAMQ5V.js';
4
4
  export { default as FieldsPane } from './FieldsPane.js';
5
5
  export { default as FieldValuesContainer } from './FieldValuesContainer.js';
6
6
  export { default as InlineFieldValueInput } from './InlineFieldValueInput.js';
7
- export { n as neetoFieldsUtils } from './utils-C3idYtcR.js';
7
+ export { n as neetoFieldsUtils } from './utils-DfBwjoip.js';
8
8
  export { c as useCreateField, b as useDestroyField, u as useFetchFields, d as useShowField, a as useUpdateField } from './useFieldsApi-uKulp5_X.js';
9
9
  import '@babel/runtime/helpers/defineProperty';
10
10
  import '@bigbinary/neeto-commons-frontend/react-utils';
@@ -55,7 +55,7 @@ import '@bigbinary/neetoui/formik/Select';
55
55
  import '@bigbinary/neetoui/formik/Switch';
56
56
  import '@babel/runtime/helpers/toConsumableArray';
57
57
  import '@bigbinary/neeto-icons/Delete';
58
- import './FieldValueInputWrapper-CeI1uTAS.js';
58
+ import './FieldValueInputWrapper-DeUkbcnU.js';
59
59
  import '@bigbinary/neeto-molecules/CopyToClipboardButton';
60
60
  import '@bigbinary/neeto-icons/Redirect';
61
61
  import '@bigbinary/neeto-molecules/PhoneNumber';
@@ -64,6 +64,7 @@ var OpenInApp = function OpenInApp(_ref) {
64
64
  },
65
65
  children: /*#__PURE__*/jsxRuntime.jsx(Button, {
66
66
  className: "shrink-0",
67
+ "data-testid": "open-in-app-button",
67
68
  href: "".concat(data.prefix).concat(value),
68
69
  icon: Redirect,
69
70
  size: "small",
@@ -453,11 +454,11 @@ var MetadataBlock = function MetadataBlock(_ref) {
453
454
  isInline = _ref.isInline;
454
455
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
455
456
  className: "w-full space-y-2",
456
- "data-cy": label ? "".concat(general.hyphenize(label), "-container") : "meta-data-block-container",
457
+ "data-testid": label ? "".concat(general.hyphenize(label), "-container") : "meta-data-block-container",
457
458
  children: [!isInline && /*#__PURE__*/jsxRuntime.jsxs("div", {
458
459
  className: "flex items-center gap-2",
459
460
  children: [/*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread$b(_objectSpread$b({
460
- "data-cy": "".concat(general.hyphenize(label), "-label"),
461
+ "data-testid": "".concat(general.hyphenize(label), "-label"),
461
462
  htmlFor: fieldId
462
463
  }, labelProps), {}, {
463
464
  children: label
@@ -967,4 +968,4 @@ exports.getTimezone = getTimezone;
967
968
  exports.getValueFromBool = getValueFromBool;
968
969
  exports.isDateTime = isDateTime;
969
970
  exports.neetoFieldsUtils = neetoFieldsUtils;
970
- //# sourceMappingURL=utils-B9DZvtuQ.js.map
971
+ //# sourceMappingURL=utils-Cuq7OYo5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-Cuq7OYo5.js","sources":["../app/javascript/src/components/InlineFieldValueInput/OpenInApp.jsx","../app/javascript/src/components/InlineFieldValueInput/components/Email.jsx","../app/javascript/src/components/InlineFieldValueInput/components/PhoneNumber.jsx","../app/javascript/src/components/InlineFieldValueInput/constants.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/MetadataBlock/index.jsx","../app/javascript/src/components/commons/MetadataBlock/WithMetadataBlock.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/Email.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/PhoneNumber.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js"],"sourcesContent":["import { Redirect } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport { CONTACT_LINK_DATA } from \"./constants\";\n\nconst OpenInApp = ({ value, type }) => {\n const data = CONTACT_LINK_DATA[type];\n\n return (\n <div onClick={event => event.stopPropagation()}>\n <Button\n className=\"shrink-0\"\n data-testid=\"open-in-app-button\"\n href={`${data.prefix}${value}`}\n icon={Redirect}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: data.tooltipMessage,\n position: \"top\",\n }}\n />\n </div>\n );\n};\n\nexport default OpenInApp;\n","import CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Typography } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { MISSING_VALUE_PLACEHOLDER } from \"../constants\";\nimport OpenInApp from \"../OpenInApp\";\n\nconst Email = ({ value }) => (\n <div className=\"flex w-full items-center gap-2\">\n <Typography style=\"body2\">{value}</Typography>\n {value !== MISSING_VALUE_PLACEHOLDER && (\n <div className=\"flex items-center\">\n <CopyToClipboardButton\n {...{ value }}\n className=\"shrink-0\"\n size=\"small\"\n style=\"text\"\n />\n <OpenInApp {...{ value }} type={KINDS.email} />\n </div>\n )}\n </div>\n);\n\nexport default Email;\n","import { PhoneNumber as NeetoPhoneNumber } from \"neetomolecules/PhoneNumber\";\nimport { Typography } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { MISSING_VALUE_PLACEHOLDER } from \"../constants\";\nimport OpenInApp from \"../OpenInApp\";\n\nconst PhoneNumber = ({ value }) => {\n const hasValue = value !== MISSING_VALUE_PLACEHOLDER;\n\n return hasValue ? (\n <div className=\"flex w-full items-center\">\n <NeetoPhoneNumber {...{ value }} showCopyButton showEmoji />\n <OpenInApp {...{ value }} type={KINDS.phoneNumber} />\n </div>\n ) : (\n <Typography style=\"body2\">{value}</Typography>\n );\n};\n\nexport default PhoneNumber;\n","import { t } from \"i18next\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport Email from \"./components/Email\";\nimport PhoneNumber from \"./components/PhoneNumber\";\n\nexport const DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];\n\nexport const DISPLAY_COMPONENT_MAP = {\n [KINDS.phoneNumber]: PhoneNumber,\n [KINDS.email]: Email,\n};\n\nexport const CONTACT_LINK_DATA = {\n [KINDS.email]: {\n prefix: \"mailto:\",\n tooltipMessage: t(\"neetoFields.tooltips.composeEmail\"),\n },\n [KINDS.phoneNumber]: {\n prefix: \"tel:\",\n tooltipMessage: t(\"neetoFields.tooltips.startCall\"),\n },\n};\n\nexport const MISSING_VALUE_PLACEHOLDER = \"-\";\n","import { __, includes } from \"ramda\";\n\nimport {\n DATE_TIME_KINDS,\n DROPDOWN_KINDS,\n TEXT_KINDS,\n} from \"components/FieldsDashBoard/constants\";\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"components/InlineFieldValueInput/constants\";\n\nexport const isDateTime = includes(__, DATE_TIME_KINDS);\n\nexport const isDropdown = includes(__, DROPDOWN_KINDS);\n\nexport const isTextType = includes(__, TEXT_KINDS);\n\nexport const isDirectEditField = includes(__, DIRECT_EDIT_INPUT_FIELDS);\n","import { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/PhoneNumber\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(\n t(\"neetoFields.validations.thisIsRequired\")\n );\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup\n .number(t(\"neetoFields.validations.notAValidNumber\"))\n .nullable();\n }\n case KINDS.integer: {\n return yup\n .number()\n .nullable()\n .integer(t(\"neetoFields.validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n case KINDS.email:\n return yup.string().email(\n t(\"neetoFields.validations.invalidEntity\", {\n entity: t(\"neetoFields.fields.kinds.email\"),\n })\n );\n\n case KINDS.phoneNumber:\n return phoneNumberValidation(\n t(\"neetoFields.validations.invalidEntity\", {\n entity: t(\"neetoFields.fields.kinds.phoneNumber\"),\n })\n );\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n\nexport const getValueFromBool = value =>\n value === true ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\");\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, noop, renameKeys } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDirectEditField, isDropdown, isTextType } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n isInline = false,\n onBlur: handleBlur = noop, // Expected only for inline fields\n hasMetadataWrapper = false,\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isValid, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = async value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && isValid && (await debouncedSubmitForm());\n isInline && !isDirectEditField(kind) && handleBlur();\n };\n\n const getBlurHandler = kind => {\n if (isTextType(kind)) {\n return dirty ? () => handleSubmit() : handleBlur;\n }\n\n if (!isDirectEditField(kind)) {\n return handleBlur;\n }\n\n return undefined;\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n id: fieldId,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: !isInline && !hasMetadataWrapper && capitalize(name),\n labelProps: !isInline &&\n !hasMetadataWrapper && { required: props[isRequiredColumnName] },\n autoFocus: isInline && !isDirectEditField(kind),\n onBlur: isInline ? getBlurHandler(kind) : undefined,\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n },\n helpers,\n };\n};\n\nexport default useFormikFields;\n","import { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n const { submissionStatus } = props;\n const disabled =\n fieldProps.disabled || submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING;\n\n return (\n <NeetoUICheckbox\n {...{ ...fieldProps, disabled }}\n checked={fieldProps.value}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import { hyphenize } from \"neetocommons/utils/general\";\nimport { Check } from \"neetoicons\";\nimport { Label, Spinner } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/metadata-panel.css\";\n\nconst MetadataBlock = ({\n labelProps,\n label,\n fieldId,\n children,\n submissionStatus,\n isInline,\n}) => (\n <div\n className=\"w-full space-y-2\"\n data-testid={\n label ? `${hyphenize(label)}-container` : \"meta-data-block-container\"\n }\n >\n {!isInline && (\n <div className=\"flex items-center gap-2\">\n <Label\n data-testid={`${hyphenize(label)}-label`}\n htmlFor={fieldId}\n {...labelProps}\n >\n {label}\n </Label>\n <div className=\"inline-flex h-6 items-center\">\n {submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING && (\n <Spinner className=\"neeto-fields-nano__metadata-card__spinner\" />\n )}\n {submissionStatus === SUBMIT_FIELD_STATUS.SUCCESS && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </div>\n </div>\n )}\n {children}\n </div>\n);\n\nexport default MetadataBlock;\n","import { capitalize } from \"neetocist\";\n\nimport MetadataBlock from \".\";\n\nimport { getComponentDisplayName } from \"../FieldInputs/utils\";\n\nconst WithMetadataBlock = Component => {\n const withMetadataBlockWrapper = props => {\n const {\n submissionStatus,\n isInline = false,\n isRequiredColumnName = \"isRequired\",\n name,\n id: fieldId,\n } = props;\n\n const label = !isInline && capitalize(name);\n const labelProps = { required: props[isRequiredColumnName] };\n\n return (\n <MetadataBlock\n {...{ fieldId, isInline, label, labelProps, submissionStatus }}\n >\n <Component {...props} hasMetadataWrapper />\n </MetadataBlock>\n );\n };\n\n withMetadataBlockWrapper.displayName = `withMetadataBlockWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return withMetadataBlockWrapper;\n};\n\nexport default WithMetadataBlock;\n","import { useRef, useState } from \"react\";\n\nimport { notEquals } from \"neetocist\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { TWELVE_HOUR_FORMAT } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst DateOrTime = props => {\n const { isInline } = props;\n const [isOpen, setIsOpen] = useState(isInline);\n\n const value = useRef();\n\n const {\n handleSubmit,\n fieldProps: { onBlur, ...fieldProps },\n helpers,\n } = useFormikFields(props);\n\n const handleChange = dateTime => {\n value.current = dateTimeToString(dateTime);\n helpers.setValue(value.current);\n\n if (!isOpen) handleSubmit();\n };\n\n const onOpenChange = async open => {\n setIsOpen(open);\n if (open) return;\n\n const shouldSubmit =\n value.current !== undefined && notEquals(fieldProps.value, value.current);\n shouldSubmit && (await handleSubmit());\n onBlur?.();\n };\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...{ ...fieldProps, onOpenChange }}\n use12Hours\n format={TWELVE_HOUR_FORMAT}\n open={isOpen}\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return (\n <DatePicker\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n }\n\n return (\n <DatePicker\n showTime\n timeFormat={TWELVE_HOUR_FORMAT}\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(DateOrTime);\n","import { Input } from \"neetoui\";\n\nimport useFormikFields from \"hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Email = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n handleSubmit();\n };\n\n return (\n <Input\n {...fieldProps}\n type=\"email\"\n {...(!props.isInline && { onBlur: () => dirty && handleSubmit() })}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default withMetadataBlock(Email);\n","import { Select } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n isDisabled={fieldProps.disabled}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default withMetadataBlock(MultiOption);\n","import { Input } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n onBlur={() => dirty && handleSubmit()}\n />\n );\n};\n\nexport default withMetadataBlock(Number);\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { PhoneNumberInput as NeetoPhoneNumberInput } from \"neetomolecules/PhoneNumber\";\n\nimport useFormikFields from \"hooks/useFormikFields\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/phone_number_input.css\";\n\nimport { getComponentDisplayName } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst withOnClickOutsideWrapper = Component => {\n const WithOnClickOutsideWrapper = ({ onBlur = noop, ...props }) => {\n const ref = useRef(null);\n const isInline = onBlur !== noop;\n useOnClickOutside(ref, onBlur, { enabled: isInline });\n\n return isInline ? (\n <div {...{ ref }}>\n <Component {...props} />\n </div>\n ) : (\n <Component {...props} />\n );\n };\n\n WithOnClickOutsideWrapper.displayName = `WithOnClickOutsideWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return WithOnClickOutsideWrapper;\n};\n\nconst PhoneNumberInput = withOnClickOutsideWrapper(NeetoPhoneNumberInput);\n\nconst PhoneNumber = props => {\n const { handleSubmit, fieldProps, dirty, helpers } = useFormikFields(props);\n\n return (\n <PhoneNumberInput\n className=\"neeto-fields-phone-number-input\"\n {...fieldProps}\n {...(!props.isInline && { onBlur: () => dirty && handleSubmit() })}\n size=\"small\"\n onChange={value => helpers.setValue(value)}\n />\n );\n};\n\nexport default withMetadataBlock(PhoneNumber);\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { TWELVE_HOUR_FORMAT } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { getComponentDisplayName, dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst withOnClickOutsideWrapper = Component => {\n const WithOnClickOutsideWrapper = ({ onBlur = noop, ...props }) => {\n const ref = useRef(null);\n const isInline = onBlur !== noop;\n useOnClickOutside(ref, onBlur, { enabled: isInline });\n\n return isInline ? (\n <div {...{ ref }}>\n <Component {...props} type=\"range\" />\n </div>\n ) : (\n <Component {...props} type=\"range\" />\n );\n };\n\n WithOnClickOutsideWrapper.displayName = `WithOnClickOutsideWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return WithOnClickOutsideWrapper;\n};\n\nconst DateRangePicker = withOnClickOutsideWrapper(DatePicker);\nconst TimeRangePicker = withOnClickOutsideWrapper(TimePicker);\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DateRangePicker {...fieldProps} onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimeRangePicker\n {...fieldProps}\n use12Hours\n format={TWELVE_HOUR_FORMAT}\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(RangePicker);\n","import { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n isDisabled={fieldProps.disabled}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default withMetadataBlock(SingleOption);\n","import { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/adaptive_input.css\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n handleSubmit();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...fieldProps}\n className=\"neeto-fields-nano-adaptive-input\"\n rows={1}\n size=\"small\"\n style={{ resize: \"none\" }}\n onBlur={() => dirty && handleSubmit()}\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default withMetadataBlock(Text);\n","import { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst TextArea = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return <Textarea {...fieldProps} onBlur={() => dirty && handleSubmit()} />;\n};\nexport default withMetadataBlock(TextArea);\n","import { filterBy, findBy, isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport {\n clone,\n pick,\n map,\n mergeAll,\n omit,\n mergeDeepLeft,\n propEq,\n has,\n pathSatisfies,\n hasPath,\n} from \"ramda\";\n\nimport { isDateTime } from \"hooks/utils\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n PhoneNumber as PhoneNumberInput,\n Email as EmailInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n phone_number: PhoneNumberInput,\n email: EmailInput,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst shouldPersistChange = (fieldValue, kind) => {\n const valuePath = [\"data\", getKeyInData(kind)];\n const isCreating = !has(\"id\", fieldValue);\n const hasData = isCreating\n ? pathSatisfies(isPresent, valuePath, fieldValue)\n : hasPath(valuePath, fieldValue);\n\n const isDefault = propEq(\n buildDefaultFieldValueData(kind),\n \"data\",\n fieldValue\n );\n const isModified = !isCreating || !isDefault;\n\n return hasData && isModified;\n};\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name, kind }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n const fieldValue = allFieldValues[fieldPath];\n const additionalData = isDateTime(kind) ? { timezone: getTimezone() } : {};\n\n if (shouldPersistChange(fieldValue, kind)) {\n const finalFieldValue = mergeDeepLeft(\n { data: additionalData },\n fieldValue\n );\n\n neetoFieldValues.push(finalFieldValue);\n }\n\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = removeNoiseFromValues(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getKeyInData = kind => (kind === KINDS.multiOption ? \"values\" : \"value\");\n\nconst buildDefaultFieldValueData = kind => ({\n [getKeyInData(kind)]: getDefaultInitialValue(kind),\n});\n\nconst getInitialFieldValue = ({ field, fieldValues = [] }) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const newFieldValueData = {\n fieldId: field.id,\n data: buildDefaultFieldValueData(field.kind),\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = { mergeInitialValues, transformValues };\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n\nexport const getTimezone = () => dayjs().$x?.$timezone || dayjs.tz.guess();\n"],"names":["OpenInApp","_ref","value","type","data","CONTACT_LINK_DATA","_jsx","onClick","event","stopPropagation","children","Button","className","href","concat","prefix","icon","Redirect","size","style","tooltipProps","content","tooltipMessage","position","Email","_jsxs","Typography","MISSING_VALUE_PLACEHOLDER","CopyToClipboardButton","KINDS","email","PhoneNumber","hasValue","NeetoPhoneNumber","showCopyButton","showEmoji","phoneNumber","DIRECT_EDIT_INPUT_FIELDS","checkbox","DISPLAY_COMPONENT_MAP","_defineProperty","t","isDateTime","includes","__","DATE_TIME_KINDS","isDropdown","DROPDOWN_KINDS","isTextType","TEXT_KINDS","isDirectEditField","dateSchema","yup","date","nullable","isValueEmpty","isEmpty","trim","isCheckboxUnchecked","kind","isArrayEmpty","multiOption","singleOption","dateRange","timeRange","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","isRequired","getBasicValidationSchema","_ref2","fieldData","textarea","text","string","number","monetary","decimal","integer","time","array","of","regex","regexPattern","condition","matches","cleanedRegex","helpMessage","entity","phoneNumberValidation","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","getValueFromBool","getComponentDisplayName","Component","displayName","useFormikFields","fieldId","id","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","_ref$isInline","isInline","_ref$onBlur","onBlur","handleBlur","noop","_ref$hasMetadataWrapp","hasMetadataWrapper","props","_objectWithoutProperties","_excluded","formikContext","useFormikContext","submitForm","dirty","isValid","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getBlurHandler","undefined","getValueForField","findBy","_value","map","optionId","useEffect","touched","setTouched","fieldProps","_objectSpread","error","label","capitalize","labelProps","required","autoFocus","options","Checkbox","_useFormikFields","submissionStatus","SUBMIT_FIELD_STATUS","SUBMITTING","NeetoUICheckbox","checked","onChange","target","MetadataBlock","hyphenize","Label","htmlFor","Spinner","SUCCESS","Check","WithMetadataBlock","withMetadataBlockWrapper","_props$isInline","_props$isRequiredColu","DateOrTime","_useState","useState","_useState2","isOpen","setIsOpen","useRef","_useFormikFields$fiel","handleChange","onOpenChange","open","shouldSubmit","notEquals","TimePicker","use12Hours","format","TWELVE_HOUR_FORMAT","DatePicker","showTime","timeFormat","withMetadataBlock","handleKeyDown","key","shiftKey","preventDefault","Input","onKeyDown","MultiOption","Select","isMulti","isSearchable","strategy","isDisabled","selectedOptions","pluck","Number","withOnClickOutsideWrapper","WithOnClickOutsideWrapper","ref","useOnClickOutside","enabled","PhoneNumberInput","NeetoPhoneNumberInput","DateRangePicker","TimeRangePicker","RangePicker","begin","end","SingleOption","isClearable","option","Text","handleFocus","element","length","setSelectionRange","Textarea","rows","resize","onFocus","TextArea","standardComponents","TextInput","TextAreaInput","text_area","NumberInput","DateOrTimeInput","datetime","single_option","SingleOptionInput","multi_option","MultiOptionInput","date_range","RangePickerInput","time_range","phone_number","EmailInput","getFieldInput","field","_ref$customComponents","customComponents","shouldPersistChange","valuePath","getKeyInData","isCreating","has","hasData","pathSatisfies","isPresent","hasPath","isDefault","propEq","buildDefaultFieldValueData","isModified","removeNoiseFromValues","fieldValues","pick","transformValues","formikValues","values","fields","allFieldValues","clone","neetoFieldValues","forEach","additionalData","timezone","getTimezone","finalFieldValue","mergeDeepLeft","push","cleanedFieldValues","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref5$fieldValues","existingFieldValueData","newFieldValueData","getAllInitialFieldValues","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","_dayjs$$x","$x","$timezone","tz","guess"],"mappings":"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"}