@bigbinary/neeto-molecules 4.0.54 → 4.0.56

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.
@@ -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/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, index);\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, index);\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, index);\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, indexToDelete);\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 position = options.length;\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: isNewItemsPrefilled ? generateLabel(itemLabel, options) : \"\",\n position,\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, position);\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, position);\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, index + 1);\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 = false,\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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"}
1
+ {"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/Checkbox.jsx","../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/OptionActions.jsx","../../src/components/OptionFields/EditorOption.jsx","../../src/components/OptionFields/ImageOption.jsx","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/MultiInputOption.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/FormError.jsx","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/BlockOption.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 { useField } from \"formik\";\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nconst Checkbox = ({ name, optionIndex }) => {\n const checkboxName = name.replace(\".label\", \".selected\");\n const [{ value }, _, { setValue }] = useField(checkboxName);\n\n return (\n <div className=\"flex h-8 flex-shrink-0 items-center\">\n <NeetoUICheckbox\n checked={value || false}\n data-testid={`checkbox-option-${optionIndex}`}\n onChange={e => {\n setValue(e.target.checked);\n }}\n />\n </div>\n );\n};\n\nexport default Checkbox;\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 { useField } from \"formik\";\nimport { Editor } from \"neetoeditor\";\n\nimport Checkbox from \"./Checkbox\";\nimport DragHandle from \"./DragHandle\";\nimport OptionActions from \"./OptionActions\";\n\nconst EditorOption = ({\n innerRef,\n draggableProps,\n dragHandleProps,\n isDraggable,\n optionIndex,\n isCheckboxEnabled,\n name,\n disabled,\n placeholder,\n shouldFocus,\n onChange,\n onBlur,\n id,\n arrayHelpers,\n hideCloneOption,\n hideDeleteOption,\n onClone,\n onDelete,\n}) => {\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 {isCheckboxEnabled && <Checkbox {...{ name, optionIndex }} />}\n <div className=\"flex w-full items-start gap-2\">\n <Editor\n {...{ disabled, name, placeholder }}\n autoFocus={shouldFocus}\n className=\"flex-1\"\n data-cy={`editor-option-${optionIndex}`}\n data-testid={`editor-option-${optionIndex}`}\n initialValue={field.value}\n onChange={value => onChange({ id, value })}\n onBlur={value => {\n onChange({ id, value, isOnBlur: true });\n onBlur?.(id, value);\n }}\n />\n <div className=\"absolute right-2 top-2\">\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 </div>\n );\n};\n\nexport default EditorOption;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport classNames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Editor } from \"neetoeditor\";\nimport { Input } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\n\nimport Checkbox from \"./Checkbox\";\nimport { IMAGE_UPLOAD_CONFIG } from \"./constants\";\nimport DragHandle from \"./DragHandle\";\nimport OptionActions from \"./OptionActions\";\n\nconst ImageOption = ({\n id,\n name,\n optionIndex,\n disabled,\n placeholder,\n shouldFocus,\n onKeyDown,\n onChange,\n onBlur,\n onDelete,\n onClone,\n arrayHelpers,\n hideDeleteOption = false,\n hideCloneOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isDraggable,\n isCheckboxEnabled,\n isEditor,\n}) => {\n const imageFieldName = name.replace(\".label\", \".image\");\n\n const [field] = useField(name);\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 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 {isCheckboxEnabled && <Checkbox {...{ name, optionIndex }} />}\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 {isEditor ? (\n <Editor\n {...{ disabled, name, placeholder }}\n autoFocus={shouldFocus}\n className=\"flex-1\"\n data-cy={`editor-option-${optionIndex}`}\n data-testid={`editor-option-${optionIndex}`}\n initialValue={field.value}\n onChange={value => onChange({ id, value })}\n onBlur={value => {\n onChange({ id, value, isOnBlur: true });\n onBlur?.(id, value);\n }}\n />\n ) : (\n <Input\n {...{ disabled, name, onBlur, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${optionIndex}`}\n data-testid={`input-option-${optionIndex}`}\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 onChange={({ target }) =>\n onChange({ id, value: target.value })\n }\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 </div>\n </div>\n );\n};\n\nexport default ImageOption;\n","import { useField } from \"formik\";\nimport { Input, Textarea } from \"neetoui/formik\";\n\nimport Checkbox from \"./Checkbox\";\nimport DragHandle from \"./DragHandle\";\nimport OptionActions from \"./OptionActions\";\n\nconst InputOption = ({\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 isTextArea,\n id,\n isDraggable,\n name,\n placeholder,\n onBlur,\n arrayHelpers,\n isCheckboxEnabled = false,\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 {isCheckboxEnabled && <Checkbox {...{ name, optionIndex }} />}\n <div className=\"flex w-full items-start gap-2\">\n <Component\n {...{ disabled, name, onKeyDown, placeholder }}\n autoFocus={shouldFocus}\n className=\"flex-1\"\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 </div>\n </div>\n </div>\n );\n};\n\nexport default InputOption;\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 { useField } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nimport Checkbox from \"./Checkbox\";\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 isCheckboxEnabled,\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 {isCheckboxEnabled && <Checkbox {...{ name, optionIndex }} />}\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 i18next from \"i18next\";\n\nimport EditorOption from \"./EditorOption\";\nimport ImageOption from \"./ImageOption\";\nimport InputOption from \"./InputOption\";\nimport MultiInputOption from \"./MultiInputOption\";\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\nexport const OPTION_MAP = {\n multiInput: MultiInputOption,\n pictureChoice: ImageOption,\n editor: EditorOption,\n input: InputOption,\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 { 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, index);\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, index);\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, index);\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, indexToDelete);\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 position = options.length;\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: isNewItemsPrefilled ? generateLabel(itemLabel, options) : \"\",\n position,\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, position);\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, position);\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, index + 1);\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 { withT } from \"neetocommons/react-utils\";\nimport { Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport Checkbox from \"./Checkbox\";\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 isCheckboxEnabled,\n name,\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 {isCheckboxEnabled && <Checkbox {...{ name, optionIndex }} />}\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 BlockOption from \"./BlockOption\";\nimport { OPTION_MAP } from \"./constants\";\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 isCheckboxEnabled,\n isPictureChoice,\n isTextArea,\n isMultiInput,\n isEditor,\n inputConfig,\n shouldFocus,\n isEditable,\n itemLabel,\n handleChange,\n handleKeyDown,\n name,\n optionIndex,\n onBlur,\n arrayHelpers,\n}) => {\n const commonProps = {\n id: option.id,\n arrayHelpers,\n dragHandleProps,\n draggableProps,\n hideCloneOption,\n hideDeleteOption,\n innerRef,\n isCheckboxEnabled,\n name,\n optionIndex,\n isDraggable: draggable && !disabled,\n onClone: handleCloneClick,\n };\n\n const Component =\n (isMultiInput && OPTION_MAP.multiInput) ||\n (isPictureChoice && OPTION_MAP.pictureChoice) ||\n (isEditor && OPTION_MAP.editor) ||\n OPTION_MAP.input;\n\n return editable ? (\n <Component\n {...{\n ...commonProps,\n inputConfig,\n isEditor,\n isTextArea,\n onBlur,\n option,\n shouldFocus,\n }}\n disabled={!isEditable || disabled}\n placeholder={generatePlaceholder(itemLabel, optionIndex)}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{ ...commonProps, handleDeleteClick, onEdit }}\n label={option.label}\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 = false,\n isCheckboxEnabled = false,\n isPictureChoice = false,\n isTextArea = false,\n isMultiInput = false,\n isEditor = 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);\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 isCheckboxEnabled,\n isEditor,\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 * When enabled, the options will have a rich text editor instead of a text input field.\n */\n isEditor: PropTypes.bool,\n /**\n * Enables selection checkbox for the options.\n */\n isCheckboxEnabled: PropTypes.bool,\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","Checkbox","name","optionIndex","checkboxName","replace","_useField","useField","_useField2","_","setValue","NeetoUICheckbox","checked","concat","DragHandle","props","_objectSpread","Drag","size","strokeWidth","OptionActions","withT","disabled","_ref$hideCloneOption","hideCloneOption","_ref$hideDeleteOption","hideDeleteOption","id","arrayHelpers","onClone","onDelete","_ref$className","icon","Copy","tooltipProps","content","position","touch","Delete","EditorOption","innerRef","draggableProps","dragHandleProps","isDraggable","isCheckboxEnabled","shouldFocus","onBlur","field","ref","Editor","autoFocus","initialValue","isOnBlur","ImageOption","onKeyDown","isEditor","imageFieldName","_useField3","_useField4","image","handleImageChange","changedImage","imageValue","isEmpty","url","fieldType","classNames","ImageUploader","isOptionsDisabled","src","uploadConfig","IMAGE_UPLOAD_CONFIG","onUploadComplete","Input","_defineProperty","onFocus","_ref2","select","event","_len","arguments","length","args","Array","_key","apply","_ref3","InputOption","isTextArea","_ref$isCheckboxEnable","Component","suffix","getOrderedOptions","options","undefined","sort","a","b","filterDeletedRecords","destroyFlagName","reject","prop","randomId","Math","random","toString","substring","getUniqueOptionId","option","_option$id","_option$position","_option$label","altId","slugify","generatePlaceholder","itemLabel","count","generateLabel","labelCount","tempLabel","isDuplicateLabel","pluck","includes","resolveFormikValue","path","values","split","filter","Boolean","reduce","acc","key","handleNumberKeyDown","allowedKeys","controlKeys","ctrlKey","metaKey","toLowerCase","preventDefault","handleInputBlur","inputIndex","config","finalValue","defaultValue","getMultiInputError","isMultiInput","meta","error","isArray","hasValuesError","some","optionError","identity","MultiInputOption","_ref$inputConfig","inputConfig","map","_field$value","inputName","inputType","type","INPUT_TYPES","TEXT","isNumberType","NUMBER","min","max","DEFAULT_OPTION_LABEL","i18next","maxImageSize","allowedImageTypes","OPTION_ACTIONS","UPDATE_IMAGE","UPDATE_VALUES","UPDATE_LABEL","DELETE","REORDER","ADD","BULK_ADD","CLONE","OPTION_MAP","multiInput","pictureChoice","editor","input","FormError","isNotPresent","attachPosition","index","useOptionFields","shouldDestroy","shouldResetEmptyOptionOnBlur","isNewItemsPrefilled","isAddOptionEnabled","isPictureChoice","setShouldFocus","editingOptionDetailsRef","useRef","__","helpers","handleChange","_ref2$inputIndex","_ref2$isOnBlur","_ref2$fieldType","findIndexById","currentOption","nextOptions","assocPath","currentValues","newValues","clone","isNotEmpty","current","valueToUpdate","handleDelete","indexToDelete","remove","handleDragEnd","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","append","handleBulkAddOption","newOptions","trim","handleClone","optionToClone","newId","clonedOption","originalLabel","insert","optionsWithUpdatedPositions","handleKeyDown","form","inputs","from","querySelectorAll","currentInput","indexOf","_inputs","focus","stopPropagation","BlockOption","onEdit","handleDeleteClick","Edit","OptionField","editable","handleCloneClick","draggable","isEditable","commonProps","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$isEditor","_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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"}
@@ -87,7 +87,9 @@ var BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {
87
87
  }
88
88
  };
89
89
  var SLOT_TIME_FORMAT = "hh:mm A";
90
- var END_OF_DAY = "11:59 PM";
90
+
91
+ // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
92
+ var END_OF_DAY = utils.dayjs().endOf("day").format(SLOT_TIME_FORMAT);
91
93
 
92
94
  var DayjsRange = /*#__PURE__*/function () {
93
95
  function DayjsRange(startDate, endDate) {
@@ -144,11 +146,10 @@ function extendDayjs(dayjs) {
144
146
 
145
147
  // Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed
146
148
  dayjs.timeIntervalsForDay = function (interval) {
147
- var _ref2 = [dayjs("00:00 AM", SLOT_TIME_FORMAT), dayjs("00:00 AM", SLOT_TIME_FORMAT)],
149
+ var _ref2 = [dayjs().startOf("day"), dayjs().startOf("day")],
148
150
  startOfDay = _ref2[0],
149
151
  endOfDay = _ref2[1];
150
- var allIntervalsForADay = dayjs.range(startOfDay, endOfDay).toArrayOfTimeIntervals(interval);
151
- return allIntervalsForADay;
152
+ return dayjs.range(startOfDay, endOfDay).toArrayOfTimeIntervals(interval);
152
153
  };
153
154
  return dayjs;
154
155
  }
@@ -473,8 +474,8 @@ var generateNewPeriod = function generateNewPeriod(periods, wday) {
473
474
  var addDefaultPeriod = function addDefaultPeriod(wday) {
474
475
  return {
475
476
  wday: wday,
476
- startTime: "09:00 AM",
477
- endTime: "05:00 PM"
477
+ startTime: dayjsExtended().hour(9).minute(0).format(SLOT_TIME_FORMAT),
478
+ endTime: dayjsExtended().hour(17).minute(0).format(SLOT_TIME_FORMAT)
478
479
  };
479
480
  };
480
481