@bigbinary/neeto-fields-frontend 2.3.12 → 2.3.14

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 (56) hide show
  1. package/app/javascript/src/translations/en.json +8 -3
  2. package/dist/{DeleteAlert-CJO7QTRI.js → DeleteAlert-BmmRp0Fm.js} +2 -2
  3. package/dist/{DeleteAlert-CJO7QTRI.js.map → DeleteAlert-BmmRp0Fm.js.map} +1 -1
  4. package/dist/{DeleteAlert-eLnhk6_S.js → DeleteAlert-DSltyKUo.js} +2 -2
  5. package/dist/{DeleteAlert-eLnhk6_S.js.map → DeleteAlert-DSltyKUo.js.map} +1 -1
  6. package/dist/FieldDeleteAlert.js +2 -2
  7. package/dist/FieldInputs.js +9 -4
  8. package/dist/FieldInputs.js.map +1 -1
  9. package/dist/{FieldValueInputWrapper-aX4G5ntA.js → FieldValueInputWrapper-CEejp4rb.js} +3 -3
  10. package/dist/{FieldValueInputWrapper-aX4G5ntA.js.map → FieldValueInputWrapper-CEejp4rb.js.map} +1 -1
  11. package/dist/{FieldValueInputWrapper-Cwf9O0gk.js → FieldValueInputWrapper-ClEApv3f.js} +3 -3
  12. package/dist/{FieldValueInputWrapper-Cwf9O0gk.js.map → FieldValueInputWrapper-ClEApv3f.js.map} +1 -1
  13. package/dist/FieldValuesContainer.js +10 -6
  14. package/dist/FieldValuesContainer.js.map +1 -1
  15. package/dist/FieldsDashboard.js +8 -4
  16. package/dist/FieldsDashboard.js.map +1 -1
  17. package/dist/FieldsPane.js +11 -1
  18. package/dist/FieldsPane.js.map +1 -1
  19. package/dist/InlineFieldValueInput.js +41 -34
  20. package/dist/InlineFieldValueInput.js.map +1 -1
  21. package/dist/cjs/FieldDeleteAlert.js +2 -2
  22. package/dist/cjs/FieldInputs.js +9 -4
  23. package/dist/cjs/FieldInputs.js.map +1 -1
  24. package/dist/cjs/FieldValuesContainer.js +10 -6
  25. package/dist/cjs/FieldValuesContainer.js.map +1 -1
  26. package/dist/cjs/FieldsDashboard.js +8 -4
  27. package/dist/cjs/FieldsDashboard.js.map +1 -1
  28. package/dist/cjs/FieldsPane.js +11 -1
  29. package/dist/cjs/FieldsPane.js.map +1 -1
  30. package/dist/cjs/InlineFieldValueInput.js +41 -34
  31. package/dist/cjs/InlineFieldValueInput.js.map +1 -1
  32. package/dist/cjs/index.js +8 -5
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/utils.js +11 -5
  35. package/dist/cjs/utils.js.map +1 -1
  36. package/dist/{constants-DAiy8JQK.js → constants-BxmvfAZX.js} +7 -3
  37. package/dist/constants-BxmvfAZX.js.map +1 -0
  38. package/dist/{constants-CNocslTu.js → constants-CI3fpXzT.js} +7 -3
  39. package/dist/constants-CI3fpXzT.js.map +1 -0
  40. package/dist/index.js +8 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/inject-css-DmrvuTKK.js +4 -0
  43. package/dist/inject-css-DmrvuTKK.js.map +1 -0
  44. package/dist/inject-css-vQvjPR2x.js +6 -0
  45. package/dist/inject-css-vQvjPR2x.js.map +1 -0
  46. package/dist/{utils-CrPLWjT6.js → utils-B7nuI9io.js} +203 -48
  47. package/dist/utils-B7nuI9io.js.map +1 -0
  48. package/dist/{utils-v_XTpSJ4.js → utils-DHzUV7Pv.js} +205 -52
  49. package/dist/utils-DHzUV7Pv.js.map +1 -0
  50. package/dist/utils.js +11 -5
  51. package/dist/utils.js.map +1 -1
  52. package/package.json +12 -12
  53. package/dist/constants-CNocslTu.js.map +0 -1
  54. package/dist/constants-DAiy8JQK.js.map +0 -1
  55. package/dist/utils-CrPLWjT6.js.map +0 -1
  56. package/dist/utils-v_XTpSJ4.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-B7nuI9io.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=\"flex-shrink-0\"\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=\"flex-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 { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isTextType = kind =>\n [\n KINDS.text,\n KINDS.decimal,\n KINDS.integer,\n KINDS.monetary,\n KINDS.number,\n KINDS.regex,\n KINDS.textarea,\n KINDS.email,\n KINDS.phoneNumber,\n ].includes(kind);\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 { DIRECT_EDIT_INPUT_FIELDS } from \"components/InlineFieldValueInput/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { 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 && !DIRECT_EDIT_INPUT_FIELDS.includes(kind) && handleBlur();\n };\n\n const getBlurHandler = kind => {\n if (isTextType(kind)) {\n return dirty ? () => handleSubmit() : handleBlur;\n }\n\n if (!DIRECT_EDIT_INPUT_FIELDS.includes(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 && !DIRECT_EDIT_INPUT_FIELDS.includes(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.scss\";\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-cy={\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-cy={`${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 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=\"h:mm A\"\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=\"h:mm A\"\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.scss\";\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 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=\"h:mm A\"\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.scss\";\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 } from \"neetocist\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\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 removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\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 }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(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 getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\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"],"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","isDropdown","kind","includes","isTextType","text","decimal","integer","monetary","number","regex","textarea","dateSchema","yup","date","nullable","isValueEmpty","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","multiOption","singleOption","dateRange","timeRange","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","isRequired","getBasicValidationSchema","_ref2","fieldData","string","time","array","of","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","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","removeItemsWithNullData","fieldValues","filter","item","prop","removeNoiseFromValues","pick","transformValues","formikValues","values","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils"],"mappings":"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"}