@bigbinary/neeto-molecules 4.0.30 → 4.0.31
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.
- package/dist/OptionFields.js +408 -95
- package/dist/OptionFields.js.map +1 -1
- package/dist/cjs/OptionFields.js +406 -93
- package/dist/cjs/OptionFields.js.map +1 -1
- package/package.json +1 -1
- package/types/OptionFields.d.ts +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/FormError.jsx","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/ImageOption.jsx","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/OptionField.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n\nexport const IMAGE_UPLOAD_CONFIG = {\n maxImageSize: 1,\n allowedImageTypes: {\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/png\": [\".png\"],\n \"image/svg\": [\".svg\"],\n },\n};\n","import { isNotPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst FormError = ({ error }) => {\n if (isNotPresent(error) || typeof error !== \"string\") return null;\n\n return (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n );\n};\n\nexport default FormError;\n","import { slugify } from \"neetocist\";\nimport { pluck, prop, reject } from \"ramda\";\n\nexport const getOrderedOptions = (options = []) =>\n options.sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = (options, destroyFlagName) =>\n reject(prop(destroyFlagName), options);\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n\nexport const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label ?? \"\");\n\nexport const generatePlaceholder = (itemLabel, count) =>\n `${itemLabel} ${count + 1}`;\n\nexport const generateLabel = (itemLabel, options, count) => {\n const labelCount = count || options.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", options).includes(tempLabel);\n\n return isDuplicateLabel\n ? generateLabel(itemLabel, options, labelCount + 1)\n : tempLabel;\n};\n\nexport const resolveFormikValue = (path, values) => {\n if (!path || typeof path !== \"string\") {\n return [];\n }\n\n return path\n .replace(/\\[|\\]/g, \".\")\n .split(\".\")\n .filter(Boolean)\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n values\n );\n};\n","import { useRef, useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { append, assocPath, move, remove, prop } from \"ramda\";\n\nimport { filterDeletedRecords, generateLabel, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n shouldResetEmptyOptionOnBlur,\n name,\n destroyFlagName,\n isNewItemsPrefilled,\n isAddOptionEnabled,\n isPictureChoice,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const [__, _, helpers] = useField(name);\n const setValue = helpers.setValue;\n\n const handleChange = (id, value, isOnBlur = false, fieldType = \"label\") => {\n const index = findIndexById(id, options);\n const currentOption = options[index];\n\n // Handle image updates for picture choice (no blur/reset logic needed)\n if (isPictureChoice && fieldType === \"image\") {\n const nextOptions = assocPath([index, \"image\"], value, options);\n setValue(nextOptions);\n onChange?.(nextOptions);\n\n return;\n }\n\n // Common blur event handling - ignores onBlur if value is not cleared\n // The value will be reset to initial value if user clicks outside after clearing\n if (isOnBlur && (isNotEmpty(value) || !shouldResetEmptyOptionOnBlur)) {\n return;\n }\n\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: currentOption.label,\n };\n }\n\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n // Update options with the determined value (always updating label field)\n const nextOptions = assocPath([index, \"label\"], valueToUpdate, options);\n setValue(nextOptions);\n onChange?.(nextOptions);\n };\n\n const handleDelete = (id, arrayHelpers) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, destroyFlagName], true, options);\n setValue(nextOptions);\n } else {\n arrayHelpers.remove(indexToDelete);\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n\n onChange?.(nextOptions);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(destroyFlagName));\n const filteredOptions = filterDeletedRecords(options, destroyFlagName);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n setValue([...deletedOptions, ...finalOptions]);\n onChange?.([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: isNewItemsPrefilled ? generateLabel(itemLabel, options) : \"\",\n position: options.length,\n ...(isPictureChoice && { image: null }),\n };\n\n setShouldFocus(true);\n\n const nextOptions = append(newOption, options);\n setValue(nextOptions);\n onChange?.(nextOptions);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = options.length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n\n const nextOptions = [...options, ...newOptions];\n setValue(nextOptions);\n onChange?.(nextOptions);\n };\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\") return;\n\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n isAddOptionEnabled && handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { Drag } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-500 flex h-8 flex-shrink-0 cursor-grab items-center\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Drag size={16} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n onEdit,\n handleDeleteClick,\n id,\n isDraggable,\n optionIndex,\n arrayHelpers,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n {isDraggable && (\n <DragHandle\n {...dragHandleProps}\n data-testid={`drag-handle-${optionIndex}`}\n />\n )}\n <Typography\n className=\"flex-grow truncate leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(id)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid={`delete-option-button-${optionIndex}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick(id, arrayHelpers)}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport classNames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { IMAGE_UPLOAD_CONFIG } from \"./constants\";\n\nconst ImageOption = ({\n id,\n name,\n optionIndex,\n disabled,\n field,\n placeholder,\n shouldFocus,\n onKeyDown,\n onChange,\n onBlur,\n onDelete,\n arrayHelpers,\n hideDeleteOption = false,\n}) => {\n const { t } = useTranslation();\n\n const imageFieldName = name.replace(\".label\", \".image\");\n const [_, { value: image }, { setValue }] = useField(imageFieldName);\n\n const handleImageChange = changedImage => {\n const imageValue = isEmpty(changedImage?.url) ? null : changedImage;\n setValue(imageValue, false);\n onChange(id, imageValue, false, \"image\");\n };\n\n return (\n <div\n className={classNames(\"flex w-full items-center justify-center\", {\n \"pointer-events-none opacity-80\": disabled,\n })}\n >\n <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-200 neeto-molecules-option-fields__image-option neeto-ui-bg-white group relative flex w-full flex-col gap-2 border p-2 pr-8\">\n <div\n className=\"neeto-molecules-option-fields__image-uploader-container flex-shrink-0\"\n data-testid={`picture-choice-option-${optionIndex}`}\n >\n <ImageUploader\n className=\"neeto-molecules-option-fields__image-uploader w-full\"\n isOptionsDisabled={disabled}\n key={image?.url}\n src={image?.url}\n uploadConfig={IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleImageChange}\n />\n </div>\n <div className=\"w-full\">\n <Input\n {...{ disabled, name, onBlur, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${optionIndex}`}\n data-testid={`input-option-${optionIndex}`}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onBlur={(event, ...args) => {\n onChange(id, event.target.value, true);\n onBlur?.(id, event.target.value);\n field.onBlur(event, ...args);\n }}\n />\n </div>\n {!hideDeleteOption && (\n <div className=\"absolute right-2 top-2 opacity-0 transition-opacity duration-200 group-hover:opacity-100\">\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${optionIndex}`}\n data-testid={`delete-option-button-${optionIndex}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete(id, arrayHelpers)}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ImageOption;\n","import { useField } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\nimport ImageOption from \"./ImageOption\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n optionIndex,\n disabled,\n isTextArea,\n id,\n isDraggable,\n name,\n placeholder,\n onBlur,\n arrayHelpers,\n}) => {\n const { t } = useTranslation();\n const Component = isTextArea ? Textarea : Input;\n const [field] = useField(name);\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-start gap-1\">\n {isDraggable && (\n <DragHandle\n {...dragHandleProps}\n data-testid={`drag-handle-${optionIndex}`}\n />\n )}\n {isPictureChoice ? (\n <ImageOption\n {...{\n arrayHelpers,\n disabled,\n field,\n hideDeleteOption,\n id,\n name,\n onBlur,\n onChange,\n onDelete,\n onKeyDown,\n optionIndex,\n placeholder,\n shouldFocus,\n }}\n />\n ) : (\n <Component\n {...{ disabled, name, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${optionIndex}`}\n data-testid={`${\n isTextArea ? \"textarea-option\" : \"input-option\"\n }-${optionIndex}`}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${optionIndex}`}\n data-testid={`delete-option-button-${optionIndex}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete(id, arrayHelpers)}\n />\n )\n }\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onBlur={(event, ...args) => {\n onChange(id, event.target.value, true);\n onBlur?.(id, event.target.value);\n field.onBlur(event, ...args);\n }}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import BlockOption from \"./BlockOption\";\nimport InputOption from \"./InputOption\";\nimport { generatePlaceholder } from \"./utils\";\n\nconst OptionField = ({\n option,\n editable,\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n innerRef,\n onEdit,\n draggable,\n disabled,\n isPictureChoice,\n isTextArea,\n shouldFocus,\n isEditable,\n itemLabel,\n handleChange,\n handleKeyDown,\n name,\n optionIndex,\n onBlur,\n arrayHelpers,\n}) => {\n if (!editable) {\n return (\n <BlockOption\n {...{\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n innerRef,\n onEdit,\n optionIndex,\n }}\n id={option.id}\n isDraggable={draggable && !disabled}\n label={option.label}\n />\n );\n }\n\n return (\n <InputOption\n {...{\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n onBlur,\n optionIndex,\n shouldFocus,\n }}\n disabled={!isEditable || disabled}\n id={option.id}\n isDraggable={draggable && !disabled}\n placeholder={generatePlaceholder(itemLabel, optionIndex)}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default OptionField;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { FieldArray, useField } from \"formik\";\nimport { findIndexById, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport { DEFAULT_OPTION_LABEL } from \"./constants\";\nimport FormError from \"./FormError\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport \"./option-fields.scss\";\nimport OptionField from \"./OptionField\";\nimport {\n getOrderedOptions,\n getUniqueOptionId,\n resolveFormikValue,\n} from \"./utils\";\n\nconst OptionFields = ({\n name,\n error,\n onDelete,\n onChange,\n onBlur,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n disabled = false,\n isAddOptionEnabled = true,\n isDeleteOptionEnabled = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n destroyFlagName = \"deleted\",\n shouldResetEmptyOptionOnBlur = true,\n isNewItemsPrefilled = true,\n itemLabel = DEFAULT_OPTION_LABEL,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n const [field, meta] = useField(name);\n const fieldError = meta.touched ? meta.error : null;\n\n const options = field.value ?? [];\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n shouldResetEmptyOptionOnBlur,\n destroyFlagName,\n name,\n isNewItemsPrefilled,\n isAddOptionEnabled,\n isPictureChoice,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) isEditable = options.every(prop(\"id\") || error);\n\n const orderedOptions = getOrderedOptions(options, destroyFlagName);\n const filteredOptions = orderedOptions.filter(\n ({ [destroyFlagName]: deleted }) => !deleted\n );\n\n const hideDeleteOption =\n filteredOptions.length <= minOptions || disabled || !isDeleteOptionEnabled;\n\n const optionFieldProps = {\n disabled,\n draggable,\n editable,\n handleChange,\n handleDeleteClick: onDelete ?? handleDelete,\n handleKeyDown,\n hideDeleteOption,\n isEditable,\n isPictureChoice,\n isTextArea,\n itemLabel,\n onEdit,\n onBlur,\n shouldFocus,\n };\n\n // To fix the element positioned incorrectly while dragging when in a pane or modal.\n // https://github.com/hello-pangea/dnd/issues/560#issuecomment-1679201455\n const renderDragClone = (provided, _, rubric) => {\n const draggingIndex = rubric[\"source\"].index;\n const option = filteredOptions[draggingIndex];\n const formikIndex = findIndexById(option.id, options);\n\n return (\n <OptionField\n {...{ ...optionFieldProps, option }}\n dragHandleProps={provided.dragHandleProps}\n innerRef={null}\n name={`${name}.${formikIndex}.label`}\n optionIndex={draggingIndex}\n draggableProps={{\n ...provided.draggableProps,\n style: { ...provided.draggableProps.style, zIndex: 999999 },\n }}\n />\n );\n };\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable || disabled}\n renderClone={renderDragClone}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const options = resolveFormikValue(\n name,\n arrayHelpers.form.values\n );\n\n return options?.map((option, index) => {\n if (option?.[destroyFlagName]) return null;\n\n const optionIndex = findIndexById(\n option.id,\n filteredOptions\n );\n\n return (\n <Draggable\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n index={optionIndex}\n isDragDisabled={!draggable || disabled}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <OptionField\n {...{\n ...optionFieldProps,\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n innerRef,\n option,\n optionIndex,\n }}\n name={`${name}.${index}.label`}\n />\n )}\n </Draggable>\n );\n });\n }}\n </FieldArray>\n {placeholder}\n <FormError error={error ?? fieldError} />\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n {isAddOptionEnabled && (\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n )}\n {bulkActionProps.enabled && !isPictureChoice && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n /**\n * To disable the input fields.\n */\n disabled: PropTypes.bool,\n /**\n * This prop can be used to show/hide the `Add option` button below the options list.\n */\n isAddOptionEnabled: PropTypes.bool,\n /**\n * This prop can be used to show/hide the delete button in each of the option.\n */\n isDeleteOptionEnabled: PropTypes.bool,\n /**\n * The input fields emptied by the user will be reset to the original value\n * when the field is blurred. This prop can be used to disable resetting the empty value on blur.\n */\n shouldResetEmptyOptionOnBlur: PropTypes.bool,\n /**\n * Whether the option should be soft deleted. If yes, the specified destroy flag name\n * will be set to true, otherwise it will be removed from the array.\n */\n shouldDestroy: PropTypes.bool,\n /**\n * The flag to set to true when the shouldDestroy is set to true.\n * Default value is `deleted`.\n */\n destroyFlagName: PropTypes.string,\n /**\n * Function to be called when input field is blurred. The arguments includes\n * the field id and the value.\n */\n onBlur: PropTypes.func,\n /**\n * Whether to set a default value to the label of the new items added.\n * Default value is true, the items will have the `itemLabel` + index as the default value.\n * If set to false, the initial value will be \"\".\n */\n isNewItemsPrefilled: PropTypes.bool,\n};\n\nexport default OptionFields;\n"],"names":["BulkOptionModal","_ref","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","_jsxs","Modal","children","_jsx","Header","Typography","style","Body","Textarea","className","label","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","Button","href","target","onChange","e","Footer","onClick","DEFAULT_OPTION_LABEL","i18next","IMAGE_UPLOAD_CONFIG","maxImageSize","allowedImageTypes","FormError","error","isNotPresent","getOrderedOptions","options","arguments","length","undefined","sort","a","b","position","filterDeletedRecords","destroyFlagName","reject","prop","randomId","Math","random","toString","substring","getUniqueOptionId","option","_option$id","_option$position","_option$label","altId","id","slugify","generatePlaceholder","itemLabel","count","concat","generateLabel","labelCount","tempLabel","isDuplicateLabel","pluck","includes","resolveFormikValue","path","values","replace","split","filter","Boolean","reduce","acc","key","attachPosition","map","index","_objectSpread","useOptionFields","shouldDestroy","shouldResetEmptyOptionOnBlur","name","isNewItemsPrefilled","isAddOptionEnabled","isPictureChoice","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","_useField","useField","_useField2","__","_","helpers","setValue","handleChange","isOnBlur","fieldType","findIndexById","currentOption","nextOptions","assocPath","isNotEmpty","current","valueToUpdate","handleDelete","arrayHelpers","indexToDelete","remove","handleDragEnd","_ref2","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","image","append","handleBulkAddOption","newOptions","trim","handleKeyDown","event","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","DragHandle","props","Drag","size","strokeWidth","BlockOption","withT","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","onEdit","handleDeleteClick","isDraggable","optionIndex","ref","icon","Edit","tooltipProps","content","touch","Delete","ImageOption","disabled","field","onKeyDown","onBlur","onDelete","imageFieldName","handleImageChange","changedImage","imageValue","isEmpty","url","classNames","ImageUploader","isOptionsDisabled","src","uploadConfig","onUploadComplete","Input","_defineProperty","autoFocus","onFocus","_ref3","select","_len","args","_key","apply","InputOption","isTextArea","Component","suffix","OptionField","editable","draggable","isEditable","OptionFields","_field$value","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","_ref$editable","_ref$disabled","_ref$isAddOptionEnabl","_ref$isDeleteOptionEn","isDeleteOptionEnabled","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$destroyFlagName","_ref$shouldResetEmpty","_ref$isNewItemsPrefil","_ref$itemLabel","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","meta","fieldError","touched","_useOptionFields","every","orderedOptions","deleted","optionFieldProps","renderDragClone","provided","rubric","draggingIndex","formikIndex","zIndex","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","renderClone","droppableProps","FieldArray","Draggable","dataKey","draggableId","isDragDisabled","_ref4","Plus","iconPosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/FormError.jsx","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/OptionActions.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/ImageOption.jsx","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/MultiInputOption.jsx","../../src/components/OptionFields/OptionField.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n\nexport const IMAGE_UPLOAD_CONFIG = {\n maxImageSize: 1,\n allowedImageTypes: {\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/png\": [\".png\"],\n \"image/svg\": [\".svg\"],\n },\n};\n\nexport const INPUT_TYPES = { TEXT: \"text\", NUMBER: \"number\" };\n\nexport const OPTION_ACTIONS = {\n UPDATE_IMAGE: \"update_image\",\n UPDATE_VALUES: \"update_values\",\n UPDATE_LABEL: \"update_label\",\n DELETE: \"delete\",\n REORDER: \"reorder\",\n ADD: \"add\",\n BULK_ADD: \"bulk_add\",\n CLONE: \"clone\",\n};\n","import { isNotPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst FormError = ({ error }) => {\n if (isNotPresent(error) || typeof error !== \"string\") return null;\n\n return (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n );\n};\n\nexport default FormError;\n","import { t } from \"i18next\";\nimport { slugify } from \"neetocist\";\nimport { identity, pluck, prop, reject } from \"ramda\";\n\nexport const getOrderedOptions = (options = []) =>\n options.sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = (options, destroyFlagName) =>\n reject(prop(destroyFlagName), options);\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n\nexport const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label ?? \"\");\n\nexport const generatePlaceholder = (itemLabel, count) =>\n `${itemLabel} ${count + 1}`;\n\nexport const generateLabel = (itemLabel, options, count) => {\n const labelCount = count || options.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", options).includes(tempLabel);\n\n return isDuplicateLabel\n ? generateLabel(itemLabel, options, labelCount + 1)\n : tempLabel;\n};\n\nexport const resolveFormikValue = (path, values) => {\n if (!path || typeof path !== \"string\") {\n return [];\n }\n\n return path\n .replace(/\\[|\\]/g, \".\")\n .split(\".\")\n .filter(Boolean)\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n values\n );\n};\n\nexport const handleNumberKeyDown = (event, onKeyDown) => {\n const allowedKeys = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \".\",\n \"-\",\n ];\n\n const controlKeys = [\n \"Backspace\",\n \"Delete\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Tab\",\n \"Enter\",\n ];\n\n if (\n (event.ctrlKey || event.metaKey) &&\n [\"a\", \"c\", \"v\", \"x\", \"z\"].includes(event.key.toLowerCase())\n ) {\n return;\n }\n\n if (![...allowedKeys, ...controlKeys].includes(event.key)) {\n event.preventDefault();\n }\n\n onKeyDown?.(event);\n};\n\nexport const handleInputBlur = (\n event,\n { id, inputIndex, onChange, onBlur, field, config }\n) => {\n const value = event.target.value;\n const finalValue =\n !value && config?.defaultValue ? config.defaultValue : value;\n\n onChange({ id, value: finalValue, inputIndex, isOnBlur: true });\n onBlur?.(id, finalValue, inputIndex);\n field.onBlur(event);\n};\n\nexport const getMultiInputError = (isMultiInput, meta) => {\n if (!isMultiInput || !meta.error) return null;\n\n if (Array.isArray(meta.error)) {\n const hasValuesError = meta.error.some(\n optionError =>\n Array.isArray(optionError.values) && optionError.values.some(identity)\n );\n\n if (hasValuesError) {\n return t(\"neetoMolecules.optionFields.allFieldsRequired\");\n }\n }\n\n return null;\n};\n","import { useRef, useState } from \"react\";\n\nimport { useField } from \"formik\";\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { append, assocPath, move, remove, prop, insert, clone } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { OPTION_ACTIONS } from \"../constants\";\nimport { filterDeletedRecords, generateLabel, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n shouldResetEmptyOptionOnBlur,\n name,\n destroyFlagName,\n isNewItemsPrefilled,\n isAddOptionEnabled,\n isPictureChoice,\n isMultiInput,\n inputConfig,\n}) => {\n const { t } = useTranslation();\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const [__, _, helpers] = useField(name);\n const setValue = helpers.setValue;\n\n const handleChange = ({\n id,\n value,\n inputIndex = 0,\n isOnBlur = false,\n fieldType = \"label\",\n }) => {\n const index = findIndexById(id, options);\n const currentOption = options[index];\n\n // Handle image updates for picture choice (no blur/reset logic needed)\n if (isPictureChoice && fieldType === \"image\") {\n const nextOptions = assocPath([index, \"image\"], value, options);\n setValue(nextOptions);\n onChange?.(nextOptions, OPTION_ACTIONS.UPDATE_IMAGE);\n\n return;\n }\n\n // Handle multi-input changes\n if (isMultiInput && typeof inputIndex === \"number\") {\n const currentValues = currentOption.values || [];\n const newValues = clone(currentValues);\n newValues[inputIndex] = value;\n\n const nextOptions = assocPath([index, \"values\"], newValues, options);\n setValue(nextOptions);\n onChange?.(nextOptions, OPTION_ACTIONS.UPDATE_VALUES);\n\n return;\n }\n\n // Common blur event handling - ignores onBlur if value is not cleared\n // The value will be reset to initial value if user clicks outside after clearing\n if (isOnBlur && (isNotEmpty(value) || !shouldResetEmptyOptionOnBlur)) {\n return;\n }\n\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: currentOption.label,\n };\n }\n\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n // Update options with the determined value (always updating label field)\n const nextOptions = assocPath([index, \"label\"], valueToUpdate, options);\n setValue(nextOptions);\n onChange?.(nextOptions, OPTION_ACTIONS.UPDATE_LABEL);\n };\n\n const handleDelete = (id, arrayHelpers) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, destroyFlagName], true, options);\n setValue(nextOptions);\n } else {\n arrayHelpers.remove(indexToDelete);\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n\n onChange?.(nextOptions, OPTION_ACTIONS.DELETE);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(destroyFlagName));\n const filteredOptions = filterDeletedRecords(options, destroyFlagName);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n setValue([...deletedOptions, ...finalOptions]);\n onChange?.([...deletedOptions, ...finalOptions], OPTION_ACTIONS.REORDER);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: isNewItemsPrefilled ? generateLabel(itemLabel, options) : \"\",\n position: options.length,\n ...(isPictureChoice && { image: null }),\n ...(isMultiInput && {\n values: inputConfig.map(config => config.defaultValue || \"\"),\n }),\n };\n\n setShouldFocus(true);\n\n const nextOptions = append(newOption, options);\n setValue(nextOptions);\n onChange?.(nextOptions, OPTION_ACTIONS.ADD);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = options.length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n\n const nextOptions = [...options, ...newOptions];\n setValue(nextOptions);\n onChange?.(nextOptions, OPTION_ACTIONS.BULK_ADD);\n };\n\n const handleClone = id => {\n const index = findIndexById(id, options);\n const optionToClone = options[index];\n\n if (!optionToClone) return;\n\n const newId = randomId();\n const clonedOption = {\n ...optionToClone,\n id: `draft-${newId}`,\n altId: `alt-${newId}`,\n label: isMultiInput\n ? optionToClone.label\n : t(\"neetoMolecules.optionFields.clonedOption\", {\n originalLabel: optionToClone.label,\n }),\n ...(isMultiInput &&\n optionToClone.values && { values: clone(optionToClone.values) }),\n };\n\n setShouldFocus(true);\n\n const nextOptions = insert(index + 1, clonedOption, options);\n const optionsWithUpdatedPositions = attachPosition(nextOptions);\n setValue(optionsWithUpdatedPositions);\n onChange?.(optionsWithUpdatedPositions, OPTION_ACTIONS.CLONE);\n };\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\") return;\n\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n isAddOptionEnabled && handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n handleClone,\n };\n};\n\nexport default useOptionFields;\n","import { Drag } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-500 flex h-8 flex-shrink-0 cursor-grab items-center\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Drag size={16} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Copy, Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nconst OptionActions = withT(\n ({\n t,\n disabled,\n hideCloneOption = false,\n hideDeleteOption = false,\n optionIndex,\n id,\n arrayHelpers,\n onClone,\n onDelete,\n className = \"\",\n }) => (\n <div className={`flex items-center gap-1 ${className}`}>\n {!hideCloneOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`clone-option-button-${optionIndex}`}\n data-testid={`clone-option-button-${optionIndex}`}\n icon={Copy}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.clone\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onClone(id)}\n />\n )}\n {!hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${optionIndex}`}\n data-testid={`delete-option-button-${optionIndex}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete(id, arrayHelpers)}\n />\n )}\n </div>\n )\n);\n\nexport default OptionActions;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\nimport OptionActions from \"./OptionActions\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n hideCloneOption = false,\n draggableProps,\n dragHandleProps,\n label,\n onEdit,\n onClone,\n handleDeleteClick,\n id,\n isDraggable,\n optionIndex,\n arrayHelpers,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n {isDraggable && (\n <DragHandle\n {...dragHandleProps}\n data-testid={`drag-handle-${optionIndex}`}\n />\n )}\n <Typography\n className=\"flex-grow truncate leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(id)}\n />\n <OptionActions\n {...{\n arrayHelpers,\n hideCloneOption,\n hideDeleteOption,\n id,\n onClone,\n optionIndex,\n }}\n className=\"flex items-center gap-2\"\n onDelete={handleDeleteClick}\n />\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport classNames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\n\nimport { IMAGE_UPLOAD_CONFIG } from \"./constants\";\nimport OptionActions from \"./OptionActions\";\n\nconst ImageOption = ({\n id,\n name,\n optionIndex,\n disabled,\n field,\n placeholder,\n shouldFocus,\n onKeyDown,\n onChange,\n onBlur,\n onDelete,\n onClone,\n arrayHelpers,\n hideDeleteOption = false,\n hideCloneOption = false,\n}) => {\n const imageFieldName = name.replace(\".label\", \".image\");\n const [_, { value: image }, { setValue }] = useField(imageFieldName);\n\n const handleImageChange = changedImage => {\n const imageValue = isEmpty(changedImage?.url) ? null : changedImage;\n setValue(imageValue, false);\n onChange({ id, value: imageValue, isOnBlur: false, fieldType: \"image\" });\n };\n\n return (\n <div\n className={classNames(\"flex w-full items-center justify-center\", {\n \"pointer-events-none opacity-80\": disabled,\n })}\n >\n <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-200 neeto-molecules-option-fields__image-option neeto-ui-bg-white group relative flex w-full flex-col gap-2 border p-2 pr-8\">\n <div\n className=\"neeto-molecules-option-fields__image-uploader-container flex-shrink-0\"\n data-testid={`picture-choice-option-${optionIndex}`}\n >\n <ImageUploader\n className=\"neeto-molecules-option-fields__image-uploader w-full\"\n isOptionsDisabled={disabled}\n key={image?.url}\n src={image?.url}\n uploadConfig={IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleImageChange}\n />\n </div>\n <div className=\"w-full\">\n <Input\n {...{ disabled, name, onBlur, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${optionIndex}`}\n data-testid={`input-option-${optionIndex}`}\n onChange={({ target }) => onChange({ id, value: target.value })}\n onFocus={({ target }) => target.select()}\n onBlur={(event, ...args) => {\n onChange({ id, value: event.target.value, isOnBlur: true });\n onBlur?.(id, event.target.value);\n field.onBlur(event, ...args);\n }}\n />\n </div>\n <div className=\"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-1 opacity-0 transition-opacity duration-200 group-hover:opacity-100\">\n <OptionActions\n {...{\n arrayHelpers,\n disabled,\n hideCloneOption,\n hideDeleteOption,\n id,\n onClone,\n onDelete,\n optionIndex,\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default ImageOption;\n","import { useField } from \"formik\";\nimport { Input, Textarea } from \"neetoui/formik\";\n\nimport DragHandle from \"./DragHandle\";\nimport ImageOption from \"./ImageOption\";\nimport OptionActions from \"./OptionActions\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n hideCloneOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onClone,\n onChange,\n optionIndex,\n disabled,\n isTextArea,\n id,\n isDraggable,\n name,\n placeholder,\n onBlur,\n arrayHelpers,\n}) => {\n const Component = isTextArea ? Textarea : Input;\n const [field] = useField(name);\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-start gap-1\">\n {isDraggable && (\n <DragHandle\n {...dragHandleProps}\n data-testid={`drag-handle-${optionIndex}`}\n />\n )}\n {isPictureChoice ? (\n <ImageOption\n {...{\n arrayHelpers,\n disabled,\n field,\n hideCloneOption,\n hideDeleteOption,\n id,\n name,\n onBlur,\n onChange,\n onClone,\n onDelete,\n onKeyDown,\n optionIndex,\n placeholder,\n shouldFocus,\n }}\n />\n ) : (\n <Component\n {...{ disabled, name, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${optionIndex}`}\n data-testid={`${\n isTextArea ? \"textarea-option\" : \"input-option\"\n }-${optionIndex}`}\n suffix={\n <OptionActions\n {...{\n arrayHelpers,\n disabled,\n hideCloneOption,\n hideDeleteOption,\n id,\n onClone,\n onDelete,\n optionIndex,\n }}\n />\n }\n onChange={({ target }) => onChange({ id, value: target.value })}\n onFocus={({ target }) => target.select()}\n onBlur={(event, ...args) => {\n onChange({ id, value: event.target.value, isOnBlur: true });\n onBlur?.(id, event.target.value);\n field.onBlur(event, ...args);\n }}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useField } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nimport { INPUT_TYPES } from \"./constants\";\nimport DragHandle from \"./DragHandle\";\nimport OptionActions from \"./OptionActions\";\nimport { handleInputBlur, handleNumberKeyDown } from \"./utils\";\n\nconst MultiInputOption = withT(\n ({\n shouldFocus,\n hideDeleteOption = false,\n hideCloneOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n onKeyDown,\n onDelete,\n onClone,\n onChange,\n optionIndex,\n disabled,\n id,\n isDraggable,\n name,\n placeholder,\n onBlur,\n arrayHelpers,\n inputConfig = [],\n }) => (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-multi-options\"\n data-testid=\"form-block-multi-options\"\n >\n <div className=\"nf-multi-input-options group relative mb-2 flex items-center gap-1\">\n {isDraggable && (\n <DragHandle\n {...dragHandleProps}\n data-testid={`drag-handle-${optionIndex}`}\n />\n )}\n <div className=\"flex flex-1 flex-col gap-2\">\n <div className=\"flex gap-2\">\n {inputConfig.map((config, inputIndex) => {\n const inputName = `${name.replace(\n \".label\",\n \"\"\n )}.values.${inputIndex}`;\n const inputType = config.type || INPUT_TYPES.TEXT;\n const isNumberType = inputType === INPUT_TYPES.NUMBER;\n const [field] = useField(inputName);\n\n return (\n <div className=\"flex-1\" key={inputIndex}>\n <Input\n {...{ disabled }}\n autoFocus={shouldFocus && inputIndex === 0}\n data-cy={`multi-option-input-${optionIndex}-${inputIndex}`}\n data-testid={`multi-option-input-${optionIndex}-${inputIndex}`}\n {...(isNumberType && {\n min: config.min,\n max: config.max,\n })}\n name={inputName}\n type={inputType}\n value={field.value ?? config.defaultValue}\n placeholder={\n config.placeholder || `${placeholder} ${inputIndex + 1}`\n }\n onFocus={({ target }) => target.select()}\n onBlur={event =>\n handleInputBlur(event, {\n id,\n inputIndex,\n onChange,\n onBlur,\n field,\n config,\n })\n }\n onChange={({ target }) =>\n onChange({ id, value: target.value, inputIndex })\n }\n onKeyDown={event =>\n isNumberType\n ? handleNumberKeyDown(event, onKeyDown)\n : onKeyDown?.(event)\n }\n />\n </div>\n );\n })}\n </div>\n </div>\n <OptionActions\n {...{\n arrayHelpers,\n disabled,\n hideCloneOption,\n hideDeleteOption,\n id,\n onClone,\n onDelete,\n optionIndex,\n }}\n />\n </div>\n </div>\n )\n);\n\nexport default MultiInputOption;\n","import BlockOption from \"./BlockOption\";\nimport InputOption from \"./InputOption\";\nimport MultiInputOption from \"./MultiInputOption\";\nimport { generatePlaceholder } from \"./utils\";\n\nconst OptionField = ({\n option,\n editable,\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n handleCloneClick,\n hideDeleteOption,\n hideCloneOption,\n innerRef,\n onEdit,\n draggable,\n disabled,\n isPictureChoice,\n isTextArea,\n isMultiInput,\n inputConfig,\n shouldFocus,\n isEditable,\n itemLabel,\n handleChange,\n handleKeyDown,\n name,\n optionIndex,\n onBlur,\n arrayHelpers,\n}) => {\n if (!editable) {\n return (\n <BlockOption\n {...{\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideCloneOption,\n hideDeleteOption,\n innerRef,\n onEdit,\n optionIndex,\n }}\n id={option.id}\n isDraggable={draggable && !disabled}\n label={option.label}\n onClone={handleCloneClick}\n />\n );\n }\n\n if (isMultiInput) {\n return (\n <MultiInputOption\n {...{\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n hideCloneOption,\n hideDeleteOption,\n innerRef,\n inputConfig,\n name,\n onBlur,\n option,\n optionIndex,\n shouldFocus,\n }}\n disabled={!isEditable || disabled}\n id={option.id}\n isDraggable={draggable && !disabled}\n placeholder={generatePlaceholder(itemLabel, optionIndex)}\n onChange={handleChange}\n onClone={handleCloneClick}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n );\n }\n\n return (\n <InputOption\n {...{\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n hideCloneOption,\n hideDeleteOption,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n onBlur,\n optionIndex,\n shouldFocus,\n }}\n disabled={!isEditable || disabled}\n id={option.id}\n isDraggable={draggable && !disabled}\n placeholder={generatePlaceholder(itemLabel, optionIndex)}\n onChange={handleChange}\n onClone={handleCloneClick}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default OptionField;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { FieldArray, useField } from \"formik\";\nimport { findIndexById, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport { DEFAULT_OPTION_LABEL } from \"./constants\";\nimport FormError from \"./FormError\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport \"./option-fields.scss\";\nimport OptionField from \"./OptionField\";\nimport {\n getOrderedOptions,\n getUniqueOptionId,\n resolveFormikValue,\n getMultiInputError,\n} from \"./utils\";\n\nconst OptionFields = ({\n name,\n error,\n onDelete,\n onClone,\n onChange,\n onBlur,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n disabled = false,\n isAddOptionEnabled = true,\n isDeleteOptionEnabled = true,\n isCloneOptionEnabled = true,\n isPictureChoice = false,\n isTextArea = false,\n isMultiInput = false,\n inputConfig = [],\n shouldDestroy = false,\n destroyFlagName = \"deleted\",\n shouldResetEmptyOptionOnBlur = true,\n isNewItemsPrefilled = true,\n itemLabel = DEFAULT_OPTION_LABEL,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n const [field, meta] = useField(name);\n const fieldError = meta.touched ? meta.error : null;\n\n const multiInputError = getMultiInputError(isMultiInput, meta);\n\n const options = field.value ?? [];\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n handleClone,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n shouldResetEmptyOptionOnBlur,\n destroyFlagName,\n name,\n isNewItemsPrefilled,\n isAddOptionEnabled,\n isPictureChoice,\n isMultiInput,\n inputConfig,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) isEditable = options.every(prop(\"id\") || error);\n\n const orderedOptions = getOrderedOptions(options, destroyFlagName);\n const filteredOptions = orderedOptions.filter(\n ({ [destroyFlagName]: deleted }) => !deleted\n );\n\n const hideDeleteOption =\n filteredOptions.length <= minOptions || disabled || !isDeleteOptionEnabled;\n const hideCloneOption = disabled || !isCloneOptionEnabled;\n\n const optionFieldProps = {\n disabled,\n draggable,\n editable,\n handleChange,\n handleDeleteClick: onDelete ?? handleDelete,\n handleCloneClick: onClone ?? handleClone,\n handleKeyDown,\n hideDeleteOption,\n hideCloneOption,\n inputConfig,\n isEditable,\n isMultiInput,\n isPictureChoice,\n isTextArea,\n itemLabel,\n onEdit,\n onBlur,\n shouldFocus,\n };\n\n // To fix the element positioned incorrectly while dragging when in a pane or modal.\n // https://github.com/hello-pangea/dnd/issues/560#issuecomment-1679201455\n const renderDragClone = (provided, _, rubric) => {\n const draggingIndex = rubric[\"source\"].index;\n const option = filteredOptions[draggingIndex];\n const formikIndex = findIndexById(option.id, options);\n\n return (\n <OptionField\n {...{ ...optionFieldProps, option }}\n dragHandleProps={provided.dragHandleProps}\n innerRef={null}\n name={`${name}.${formikIndex}.label`}\n optionIndex={draggingIndex}\n draggableProps={{\n ...provided.draggableProps,\n style: { ...provided.draggableProps.style, zIndex: 999999 },\n }}\n />\n );\n };\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable || disabled}\n renderClone={renderDragClone}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const options = resolveFormikValue(\n name,\n arrayHelpers.form.values\n );\n\n return options?.map((option, index) => {\n if (option?.[destroyFlagName]) return null;\n\n const optionIndex = findIndexById(\n option.id,\n filteredOptions\n );\n\n return (\n <Draggable\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n index={optionIndex}\n isDragDisabled={!draggable || disabled}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <OptionField\n {...{\n ...optionFieldProps,\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n innerRef,\n option,\n optionIndex,\n }}\n name={`${name}.${index}.label`}\n />\n )}\n </Draggable>\n );\n });\n }}\n </FieldArray>\n {placeholder}\n <FormError error={error ?? multiInputError ?? fieldError} />\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n {isAddOptionEnabled && (\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n )}\n {bulkActionProps.enabled && !isPictureChoice && !isMultiInput && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option cloning\n */\n onClone: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n /**\n * To disable the input fields.\n */\n disabled: PropTypes.bool,\n /**\n * This prop can be used to show/hide the `Add option` button below the options list.\n */\n isAddOptionEnabled: PropTypes.bool,\n /**\n * This prop can be used to show/hide the delete button in each of the option.\n */\n isDeleteOptionEnabled: PropTypes.bool,\n /**\n * This prop can be used to show/hide the clone button in each of the option.\n */\n isCloneOptionEnabled: PropTypes.bool,\n /**\n * Enable multi-input mode for each option\n */\n isMultiInput: PropTypes.bool,\n /**\n * Configuration array for multi-input fields. Each object should have 'type' and optional 'placeholder', 'min', 'max'\n */\n inputConfig: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([\"text\", \"number\"]),\n placeholder: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n })\n ),\n /**\n * The input fields emptied by the user will be reset to the original value\n * when the field is blurred. This prop can be used to disable resetting the empty value on blur.\n */\n shouldResetEmptyOptionOnBlur: PropTypes.bool,\n /**\n * Whether the option should be soft deleted. If yes, the specified destroy flag name\n * will be set to true, otherwise it will be removed from the array.\n */\n shouldDestroy: PropTypes.bool,\n /**\n * The flag to set to true when the shouldDestroy is set to true.\n * Default value is `deleted`.\n */\n destroyFlagName: PropTypes.string,\n /**\n * Function to be called when input field is blurred. The arguments includes\n * the field id and the value.\n */\n onBlur: PropTypes.func,\n /**\n * Whether to set a default value to the label of the new items added.\n * Default value is true, the items will have the `itemLabel` + index as the default value.\n * If set to false, the initial value will be \"\".\n */\n isNewItemsPrefilled: PropTypes.bool,\n};\n\nexport default OptionFields;\n"],"names":["BulkOptionModal","_ref","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","_jsxs","Modal","children","_jsx","Header","Typography","style","Body","Textarea","className","label","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","Button","href","target","onChange","e","Footer","onClick","DEFAULT_OPTION_LABEL","i18next","IMAGE_UPLOAD_CONFIG","maxImageSize","allowedImageTypes","INPUT_TYPES","TEXT","NUMBER","OPTION_ACTIONS","UPDATE_IMAGE","UPDATE_VALUES","UPDATE_LABEL","DELETE","REORDER","ADD","BULK_ADD","CLONE","FormError","error","isNotPresent","getOrderedOptions","options","arguments","length","undefined","sort","a","b","position","filterDeletedRecords","destroyFlagName","reject","prop","randomId","Math","random","toString","substring","getUniqueOptionId","option","_option$id","_option$position","_option$label","altId","id","slugify","generatePlaceholder","itemLabel","count","concat","generateLabel","labelCount","tempLabel","isDuplicateLabel","pluck","includes","resolveFormikValue","path","values","replace","split","filter","Boolean","reduce","acc","key","handleNumberKeyDown","event","onKeyDown","allowedKeys","controlKeys","ctrlKey","metaKey","toLowerCase","preventDefault","handleInputBlur","inputIndex","onBlur","field","config","finalValue","defaultValue","isOnBlur","getMultiInputError","isMultiInput","meta","Array","isArray","hasValuesError","some","optionError","identity","attachPosition","map","index","_objectSpread","useOptionFields","shouldDestroy","shouldResetEmptyOptionOnBlur","name","isNewItemsPrefilled","isAddOptionEnabled","isPictureChoice","inputConfig","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","_useField","useField","_useField2","__","_","helpers","setValue","handleChange","_ref2","_ref2$inputIndex","_ref2$isOnBlur","_ref2$fieldType","fieldType","findIndexById","currentOption","nextOptions","assocPath","currentValues","newValues","clone","isNotEmpty","current","valueToUpdate","handleDelete","arrayHelpers","indexToDelete","remove","handleDragEnd","_ref3","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","image","append","handleBulkAddOption","newOptions","trim","handleClone","optionToClone","newId","clonedOption","originalLabel","insert","optionsWithUpdatedPositions","handleKeyDown","form","inputs","from","querySelectorAll","currentInput","indexOf","_inputs","focus","stopPropagation","DragHandle","props","Drag","size","strokeWidth","OptionActions","withT","disabled","_ref$hideCloneOption","hideCloneOption","_ref$hideDeleteOption","hideDeleteOption","optionIndex","onClone","onDelete","_ref$className","icon","Copy","tooltipProps","content","touch","Delete","BlockOption","innerRef","draggableProps","dragHandleProps","onEdit","handleDeleteClick","isDraggable","ref","Edit","ImageOption","imageFieldName","handleImageChange","changedImage","imageValue","isEmpty","url","classNames","ImageUploader","isOptionsDisabled","src","uploadConfig","onUploadComplete","Input","_defineProperty","autoFocus","onFocus","select","_len","args","_key","apply","InputOption","isTextArea","Component","suffix","MultiInputOption","_ref$inputConfig","_field$value","inputName","inputType","type","isNumberType","min","max","OptionField","editable","handleCloneClick","draggable","isEditable","OptionFields","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","_ref$editable","_ref$disabled","_ref$isAddOptionEnabl","_ref$isDeleteOptionEn","isDeleteOptionEnabled","_ref$isCloneOptionEna","isCloneOptionEnabled","_ref$isPictureChoice","_ref$isTextArea","_ref$isMultiInput","_ref$shouldDestroy","_ref$destroyFlagName","_ref$shouldResetEmpty","_ref$isNewItemsPrefil","_ref$itemLabel","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","fieldError","touched","multiInputError","_useOptionFields","every","orderedOptions","deleted","optionFieldProps","renderDragClone","provided","rubric","draggingIndex","formikIndex","zIndex","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","renderClone","_ref5","droppableProps","FieldArray","Draggable","dataKey","draggableId","isDragDisabled","_ref4","Plus","iconPosition"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.31",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/types/OptionFields.d.ts
CHANGED
|
@@ -15,7 +15,8 @@ type OptionFieldsProps = {
|
|
|
15
15
|
name?: string;
|
|
16
16
|
error?: string;
|
|
17
17
|
onDelete?: (index: number) => void;
|
|
18
|
-
|
|
18
|
+
onClone?: (index: number) => void;
|
|
19
|
+
onChange: (options: Option[], action?: OptionAction) => void;
|
|
19
20
|
onEdit?: (index: number) => void;
|
|
20
21
|
onBlur?: (id: string, value: string) => void;
|
|
21
22
|
buttonProps?: ButtonProps;
|
|
@@ -25,9 +26,18 @@ type OptionFieldsProps = {
|
|
|
25
26
|
disabled?: boolean;
|
|
26
27
|
isAddOptionEnabled?: boolean;
|
|
27
28
|
isDeleteOptionEnabled?: boolean;
|
|
29
|
+
isCloneOptionEnabled?: boolean;
|
|
28
30
|
shouldResetEmptyOptionOnBlur?: boolean;
|
|
29
31
|
isPictureChoice?: boolean;
|
|
30
32
|
isTextArea?: boolean;
|
|
33
|
+
isMultiInput?: boolean;
|
|
34
|
+
inputConfig?: {
|
|
35
|
+
type: "text" | "number";
|
|
36
|
+
placeholder?: string;
|
|
37
|
+
min?: number;
|
|
38
|
+
max?: number;
|
|
39
|
+
defaultValue?: string | number;
|
|
40
|
+
}[];
|
|
31
41
|
shouldDestroy?: boolean;
|
|
32
42
|
destroyFlagName?: string;
|
|
33
43
|
itemLabel?: string;
|