@bigbinary/neeto-molecules 4.0.40 → 4.0.42

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);\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAKf;AAAA,EAAA,IAJJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;AAEjB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAMI,UAAU,GAAG,SAAbA,UAAUA,GAAS;IACvBX,aAAa,CAACS,aAAa,CAAC;AAC5BG,IAAAA,WAAW,EAAE;EACf,CAAC;AAED,EAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBF,gBAAgB,CAAC,EAAE,CAAC;AACpBX,IAAAA,OAAO,EAAE;EACX,CAAC;EAED,oBACEc,IAAA,CAACC,KAAK,EAAA;AAAOhB,IAAAA,MAAM,EAANA,MAAM;AAAIC,IAAAA,OAAO,EAAEa,WAAY;AAAAG,IAAAA,QAAA,EAAA,cAC1CC,GAAA,CAACF,KAAK,CAACG,MAAM,EAAA;MAAAF,QAAA,eACXC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAAJ,QAAA,EACnBX,CAAC,CAAC,8CAA8C;OACvC;AAAC,KACD,CAAC,eACfY,GAAA,CAACF,KAAK,CAACM,IAAI,EAAA;MAAAL,QAAA,eACTC,GAAA,CAACK,QAAQ,EAAA;AACPC,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,2BAA2B;AACnC,QAAA,aAAA,EAAY,2BAA2B;AACvCC,QAAAA,KAAK,EAAEnB,CAAC,CAAC,8CAA8C,CAAE;AACzDoB,QAAAA,WAAW,EAAEpB,CAAC,CAAC,8CAA8C,CAAE;AAC/DqB,QAAAA,IAAI,EAAE,CAAE;AACRC,QAAAA,KAAK,EAAEjB,aAAc;QACrBkB,QAAQ,eACNX,GAAA,CAACY,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,iDAAiD;AACzDC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACFf,GAAA,CAACgB,MAAM,EAAA;AACLV,cAAAA,SAAS,EAAC,SAAS;AACnBW,cAAAA,IAAI,EAAEhC,iBAAkB;AACxBkB,cAAAA,KAAK,EAAC,MAAM;AACZe,cAAAA,MAAM,EAAC;aACR;AAEL;AAAE,SACH,CACF;AACDC,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,CAAC,EAAA;AAAA,UAAA,OAAI1B,gBAAgB,CAAC0B,CAAC,CAACF,MAAM,CAACR,KAAK,CAAC;AAAA,QAAA;OAChD;AAAC,KACQ,CAAC,eACbb,IAAA,CAACC,KAAK,CAACuB,MAAM,EAAA;AAACf,MAAAA,SAAS,EAAC,2BAA2B;MAAAP,QAAA,EAAA,cACjDC,GAAA,CAACgB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,8BAA8B;AACtC,QAAA,aAAA,EAAY,8BAA8B;AAC1CT,QAAAA,KAAK,EAAEnB,CAAC,CAAC,sCAAsC,CAAE;AACjDkC,QAAAA,OAAO,EAAE3B;AAAW,OACrB,CAAC,eACFK,GAAA,CAACgB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,gCAAgC;AACxC,QAAA,aAAA,EAAY,gCAAgC;AAC5CT,QAAAA,KAAK,EAAEnB,CAAC,CAAC,sCAAsC,CAAE;AACjDe,QAAAA,KAAK,EAAC,MAAM;AACZmB,QAAAA,OAAO,EAAE1B;AAAY,OACtB,CAAC;AAAA,KACU,CAAC;AAAA,GACV,CAAC;AAEZ,CAAC;;ACzEM,IAAM2B,oBAAoB,GAAGC,OAAO,CAACpC,CAAC,CAC3C,2CACF,CAAC;AAEM,IAAMqC,mBAAmB,GAAG;AACjCC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,iBAAiB,EAAE;AACjB,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,MAAM;AACtB;AACF,CAAC;AAEM,IAAMC,WAAW,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC;AAEtD,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,KAAK,EAAE;AACT,CAAC;;ACvBD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA3D,IAAA,EAAkB;AAAA,EAAA,IAAZ4D,KAAK,GAAA5D,IAAA,CAAL4D,KAAK;EACxB,IAAIC,YAAY,CAACD,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EAEjE,oBACEzC,GAAA,CAACE,UAAU,EAAA;AACTI,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,aAAA,EAAY,4BAA4B;AACxCH,IAAAA,KAAK,EAAC,OAAO;AAAAJ,IAAAA,QAAA,EAEZ0C;AAAK,GACI,CAAC;AAEjB,CAAC;;ACXM,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,IAAIC,OAAO,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,OAC5CD,OAAO,CAACI,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;AAAA,IAAA,OAAKD,CAAC,CAACE,QAAQ,GAAGD,CAAC,CAACC,QAAQ;EAAA,CAAA,CAAC;AAAA,CAAA;AAE1C,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIR,OAAO,EAAES,eAAe,EAAA;EAAA,OAC3DC,MAAM,CAACC,IAAI,CAACF,eAAe,CAAC,EAAET,OAAO,CAAC;AAAA,CAAA;AAEjC,IAAMY,QAAQ,GAAG,SAAXA,QAAQA,GAAA;AAAA,EAAA,OAASC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;AAAA,CAAA;AAElE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,IAAAC,UAAA,EAAAC,gBAAA,EAAAC,aAAA;EAAA,OACrCH,MAAM,CAACI,KAAK,KAAA,CAAAH,UAAA,GACZD,MAAM,CAACK,EAAE,MAAA,IAAA,IAAAJ,UAAA,KAAA,MAAA,GAAA,MAAA,GAATA,UAAA,CAAWJ,QAAQ,EAAE,CAAA,KAAA,CAAAK,gBAAA,GACrBF,MAAM,CAACX,QAAQ,MAAA,IAAA,IAAAa,gBAAA,uBAAfA,gBAAA,CAAiBL,QAAQ,EAAE,KAC3BS,OAAO,CAAA,CAAAH,aAAA,GAACH,MAAM,CAACvD,KAAK,MAAA,IAAA,IAAA0D,aAAA,KAAA,MAAA,GAAAA,aAAA,GAAI,EAAE,CAAC;AAAA,CAAA;AAEtB,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,SAAS,EAAEC,KAAK,EAAA;EAAA,OAAA,EAAA,CAAAC,MAAA,CAC/CF,SAAS,EAAA,GAAA,CAAA,CAAAE,MAAA,CAAID,KAAK,GAAG,CAAC,CAAA;AAAA,CAAE;AAEtB,IAAME,cAAa,GAAG,SAAhBA,aAAaA,CAAIH,SAAS,EAAE1B,OAAO,EAAE2B,KAAK,EAAK;EAC1D,IAAMG,UAAU,GAAGH,KAAK,IAAI3B,OAAO,CAACE,MAAM,GAAG,CAAC;EAC9C,IAAM6B,SAAS,MAAAH,MAAA,CAAMF,SAAS,EAAA,GAAA,CAAA,CAAAE,MAAA,CAAIE,UAAU,CAAE;AAC9C,EAAA,IAAME,gBAAgB,GAAGC,KAAK,CAAC,OAAO,EAAEjC,OAAO,CAAC,CAACkC,QAAQ,CAACH,SAAS,CAAC;AAEpE,EAAA,OAAOC,gBAAgB,GACnBH,cAAa,CAACH,SAAS,EAAE1B,OAAO,EAAE8B,UAAU,GAAG,CAAC,CAAC,GACjDC,SAAS;AACf,CAAC;AAEM,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAI,EAAEC,MAAM,EAAK;AAClD,EAAA,IAAI,CAACD,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;AACrC,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,OAAOA,IAAI,CACRE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CACtBC,KAAK,CAAC,GAAG,CAAC,CACVC,MAAM,CAACC,OAAO,CAAC,CACfC,MAAM,CACL,UAACC,GAAG,EAAEC,GAAG,EAAA;AAAA,IAAA,OAAMD,GAAG,IAAIA,GAAG,CAACC,GAAG,CAAC,KAAKzC,SAAS,GAAGwC,GAAG,CAACC,GAAG,CAAC,GAAGzC,SAAS;EAAA,CAAC,EACpEkC,MACF,CAAC;AACL,CAAC;AAEM,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAK,EAAEC,SAAS,EAAK;EACvD,IAAMC,WAAW,GAAG,CAClB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ;AAED,EAAA,IAAMC,WAAW,GAAG,CAClB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,OAAO,CACR;AAED,EAAA,IACE,CAACH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,OAAO,KAC/B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAACjB,QAAQ,CAACY,KAAK,CAACF,GAAG,CAACQ,WAAW,EAAE,CAAC,EAC3D;AACA,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAAC,EAAA,CAAAxB,MAAA,CAAIoB,WAAW,EAAKC,WAAW,CAAA,CAAEf,QAAQ,CAACY,KAAK,CAACF,GAAG,CAAC,EAAE;IACzDE,KAAK,CAACO,cAAc,EAAE;AACxB,EAAA;AAEAN,EAAAA,SAAS,aAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAGD,KAAK,CAAC;AACpB,CAAC;AAEM,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAC1BR,KAAK,EAAA7G,IAAA,EAEF;AAAA,EAAA,IADDsF,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IAAEgC,UAAU,GAAAtH,IAAA,CAAVsH,UAAU;IAAEhF,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IAAEiF,MAAM,GAAAvH,IAAA,CAANuH,MAAM;IAAEC,KAAK,GAAAxH,IAAA,CAALwH,KAAK;IAAEC,MAAM,GAAAzH,IAAA,CAANyH,MAAM;AAEjD,EAAA,IAAM5F,KAAK,GAAGgF,KAAK,CAACxE,MAAM,CAACR,KAAK;AAChC,EAAA,IAAM6F,UAAU,GACd,CAAC7F,KAAK,IAAI4F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEE,YAAY,GAAGF,MAAM,CAACE,YAAY,GAAG9F,KAAK;AAE9DS,EAAAA,QAAQ,CAAC;AAAEgD,IAAAA,EAAE,EAAFA,EAAE;AAAEzD,IAAAA,KAAK,EAAE6F,UAAU;AAAEJ,IAAAA,UAAU,EAAVA,UAAU;AAAEM,IAAAA,QAAQ,EAAE;AAAK,GAAC,CAAC;EAC/DL,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAGjC,EAAE,EAAEoC,UAAU,EAAEJ,UAAU,CAAC;AACpCE,EAAAA,KAAK,CAACD,MAAM,CAACV,KAAK,CAAC;AACrB,CAAC;AAEM,IAAMgB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,YAAY,EAAEC,IAAI,EAAK;EACxD,IAAI,CAACD,YAAY,IAAI,CAACC,IAAI,CAACnE,KAAK,EAAE,OAAO,IAAI;EAE7C,IAAIoE,KAAK,CAACC,OAAO,CAACF,IAAI,CAACnE,KAAK,CAAC,EAAE;IAC7B,IAAMsE,cAAc,GAAGH,IAAI,CAACnE,KAAK,CAACuE,IAAI,CACpC,UAAAC,WAAW,EAAA;AAAA,MAAA,OACTJ,KAAK,CAACC,OAAO,CAACG,WAAW,CAAChC,MAAM,CAAC,IAAIgC,WAAW,CAAChC,MAAM,CAAC+B,IAAI,CAACE,QAAQ,CAAC;AAAA,IAAA,CAC1E,CAAC;AAED,IAAA,IAAIH,cAAc,EAAE;MAClB,OAAO3H,CAAC,CAAC,+CAA+C,CAAC;AAC3D,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,IAAI;AACb,CAAC;;;;ACzGD,IAAM+H,cAAc,GAAG,SAAjBA,cAAcA,CAAGvE,OAAO,EAAA;AAAA,EAAA,OAC5BA,OAAO,CAACwE,GAAG,CAAC,UAACtD,MAAM,EAAEuD,KAAK,EAAA;AAAA,IAAA,OAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAWxD,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEX,MAAAA,QAAQ,EAAEkE;AAAK,KAAA,CAAA;AAAA,EAAA,CAAG,CAAC;AAAA,CAAA;AAElE,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAA1I,IAAA,EAaf;AAAA,EAAA,IAZJ+D,OAAO,GAAA/D,IAAA,CAAP+D,OAAO;IACPzB,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRqG,aAAa,GAAA3I,IAAA,CAAb2I,aAAa;IACblD,SAAS,GAAAzF,IAAA,CAATyF,SAAS;IACTmD,4BAA4B,GAAA5I,IAAA,CAA5B4I,4BAA4B;IAC5BC,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJrE,eAAe,GAAAxE,IAAA,CAAfwE,eAAe;IACfsE,mBAAmB,GAAA9I,IAAA,CAAnB8I,mBAAmB;IACnBC,kBAAkB,GAAA/I,IAAA,CAAlB+I,kBAAkB;IAClBC,eAAe,GAAAhJ,IAAA,CAAfgJ,eAAe;IACflB,YAAY,GAAA9H,IAAA,CAAZ8H,YAAY;IACZmB,WAAW,GAAAjJ,IAAA,CAAXiJ,WAAW;AAEX,EAAA,IAAA5I,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAC,SAAA,GAAsCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9C0I,IAAAA,WAAW,GAAAxI,UAAA,CAAA,CAAA,CAAA;AAAEyI,IAAAA,cAAc,GAAAzI,UAAA,CAAA,CAAA,CAAA;EAClC,IAAM0I,uBAAuB,GAAGC,MAAM,CAAC;AAAE/D,IAAAA,EAAE,EAAE,EAAE;AAAEzD,IAAAA,KAAK,EAAE;AAAG,GAAC,CAAC;AAE7D,EAAA,IAAAyH,SAAA,GAAyBC,QAAQ,CAACV,IAAI,CAAC;IAAAW,UAAA,GAAA7I,cAAA,CAAA2I,SAAA,EAAA,CAAA,CAAA;AAAhCG,IAAED,UAAA,CAAA,CAAA,CAAA;AAAEE,IAACF,UAAA,CAAA,CAAA,CAAA;AAAEG,QAAAA,OAAO,GAAAH,UAAA,CAAA,CAAA;AACrB,EAAA,IAAMI,QAAQ,GAAGD,OAAO,CAACC,QAAQ;AAEjC,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAMZ;AAAA,IAAA,IALJxE,EAAE,GAAAwE,KAAA,CAAFxE,EAAE;MACFzD,KAAK,GAAAiI,KAAA,CAALjI,KAAK;MAAAkI,gBAAA,GAAAD,KAAA,CACLxC,UAAU;AAAVA,MAAAA,UAAU,GAAAyC,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;MAAAC,cAAA,GAAAF,KAAA,CACdlC,QAAQ;AAARA,MAAAA,QAAQ,GAAAoC,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;MAAAC,eAAA,GAAAH,KAAA,CAChBI,SAAS;AAATA,MAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,eAAA;AAEnB,IAAA,IAAMzB,KAAK,GAAG2B,aAAa,CAAC7E,EAAE,EAAEvB,OAAO,CAAC;AACxC,IAAA,IAAMqG,aAAa,GAAGrG,OAAO,CAACyE,KAAK,CAAC;;AAEpC;AACA,IAAA,IAAIQ,eAAe,IAAIkB,SAAS,KAAK,OAAO,EAAE;AAC5C,MAAA,IAAMG,YAAW,GAAGC,SAAS,CAAC,CAAC9B,KAAK,EAAE,OAAO,CAAC,EAAE3G,KAAK,EAAEkC,OAAO,CAAC;MAC/D6F,QAAQ,CAACS,YAAW,CAAC;MACrB/H,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,YAAW,EAAEnH,cAAc,CAACC,YAAY,CAAC;AAEpD,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI2E,YAAY,IAAI,OAAOR,UAAU,KAAK,QAAQ,EAAE;AAClD,MAAA,IAAMiD,aAAa,GAAGH,aAAa,CAAChE,MAAM,IAAI,EAAE;AAChD,MAAA,IAAMoE,SAAS,GAAGC,KAAK,CAACF,aAAa,CAAC;AACtCC,MAAAA,SAAS,CAAClD,UAAU,CAAC,GAAGzF,KAAK;AAE7B,MAAA,IAAMwI,aAAW,GAAGC,SAAS,CAAC,CAAC9B,KAAK,EAAE,QAAQ,CAAC,EAAEgC,SAAS,EAAEzG,OAAO,CAAC;MACpE6F,QAAQ,CAACS,aAAW,CAAC;MACrB/H,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,aAAW,EAAEnH,cAAc,CAACE,aAAa,CAAC;AAErD,MAAA;AACF,IAAA;;AAEA;AACA;IACA,IAAIwE,QAAQ,KAAK8C,UAAU,CAAC7I,KAAK,CAAC,IAAI,CAAC+G,4BAA4B,CAAC,EAAE;AACpE,MAAA;AACF,IAAA;AAEA,IAAA,IAAIQ,uBAAuB,CAACuB,OAAO,CAACrF,EAAE,KAAKA,EAAE,EAAE;MAC7C8D,uBAAuB,CAACuB,OAAO,GAAG;AAChCrF,QAAAA,EAAE,EAAFA,EAAE;QACFzD,KAAK,EAAEuI,aAAa,CAAC1I;OACtB;AACH,IAAA;IAEA,IAAMkJ,aAAa,GAAGhD,QAAQ,GAC1BwB,uBAAuB,CAACuB,OAAO,CAAC9I,KAAK,GACrCA,KAAK;;AAET;AACA,IAAA,IAAMwI,WAAW,GAAGC,SAAS,CAAC,CAAC9B,KAAK,EAAE,OAAO,CAAC,EAAEoC,aAAa,EAAE7G,OAAO,CAAC;IACvE6F,QAAQ,CAACS,WAAW,CAAC;IACrB/H,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,WAAW,EAAEnH,cAAc,CAACG,YAAY,CAAC;EACtD,CAAC;EAED,IAAMwH,YAAY,GAAG,SAAfA,YAAYA,CAAIvF,EAAE,EAAEwF,YAAY,EAAK;AACzC,IAAA,IAAIT,WAAW;AAEf,IAAA,IAAMU,aAAa,GAAGZ,aAAa,CAAC7E,EAAE,EAAEvB,OAAO,CAAC;AAChD,IAAA,IAAI4E,aAAa,EAAE;AACjB0B,MAAAA,WAAW,GAAGC,SAAS,CAAC,CAACS,aAAa,EAAEvG,eAAe,CAAC,EAAE,IAAI,EAAET,OAAO,CAAC;MACxE6F,QAAQ,CAACS,WAAW,CAAC;AACvB,IAAA,CAAC,MAAM;AACLS,MAAAA,YAAY,CAACE,MAAM,CAACD,aAAa,CAAC;MAClCV,WAAW,GAAG/B,cAAc,CAAC0C,MAAM,CAACD,aAAa,EAAE,CAAC,EAAEhH,OAAO,CAAC,CAAC;AACjE,IAAA;IAEAzB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,WAAW,EAAEnH,cAAc,CAACI,MAAM,CAAC;EAChD,CAAC;AAED,EAAA,IAAM2H,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAgC;AAAA,IAAA,IAA1BC,MAAM,GAAAD,KAAA,CAANC,MAAM;MAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW;AAC1C;IACA,IAAIA,WAAW,KAAK,IAAI,EAAE;IAE1B,IAAMC,cAAc,GAAGtH,OAAO,CAACwC,MAAM,CAAC7B,IAAI,CAACF,eAAe,CAAC,CAAC;AAC5D,IAAA,IAAM8G,eAAe,GAAG/G,oBAAoB,CAACR,OAAO,EAAES,eAAe,CAAC;AACtE,IAAA,IAAM6F,WAAW,GAAGkB,IAAI,CAACJ,MAAM,CAAC3C,KAAK,EAAE4C,WAAW,CAAC5C,KAAK,EAAE8C,eAAe,CAAC;AAC1E,IAAA,IAAME,YAAY,GAAGlD,cAAc,CAAC+B,WAAW,CAAC;IAChDT,QAAQ,CAAA,EAAA,CAAAjE,MAAA,CAAA8F,kBAAA,CAAKJ,cAAc,CAAA,EAAAI,kBAAA,CAAKD,YAAY,CAAA,CAAC,CAAC;AAC9ClJ,IAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAA,EAAA,CAAAqD,MAAA,CAAA8F,kBAAA,CAAOJ,cAAc,CAAA,EAAAI,kBAAA,CAAKD,YAAY,IAAGtI,cAAc,CAACK,OAAO,CAAC;EAC1E,CAAC;AAED,EAAA,IAAMmI,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC5B,IAAA,IAAMpG,EAAE,GAAGX,QAAQ,EAAE;AACrB,IAAA,IAAMgH,SAAS,GAAAlD,eAAA,CAAAA,eAAA,CAAA;AACbnD,MAAAA,EAAE,EAAA,QAAA,CAAAK,MAAA,CAAWL,EAAE,CAAE;AACjBD,MAAAA,KAAK,EAAA,MAAA,CAAAM,MAAA,CAASL,EAAE,CAAE;MAClB5D,KAAK,EAAEoH,mBAAmB,GAAGlD,cAAa,CAACH,SAAS,EAAE1B,OAAO,CAAC,GAAG,EAAE;MACnEO,QAAQ,EAAEP,OAAO,CAACE;AAAM,KAAA,EACpB+E,eAAe,IAAI;AAAE4C,MAAAA,KAAK,EAAE;KAAM,CAAA,EAClC9D,YAAY,IAAI;AAClB1B,MAAAA,MAAM,EAAE6C,WAAW,CAACV,GAAG,CAAC,UAAAd,MAAM,EAAA;AAAA,QAAA,OAAIA,MAAM,CAACE,YAAY,IAAI,EAAE;AAAA,MAAA,CAAA;AAC7D,KAAC,CACF;IAEDwB,cAAc,CAAC,IAAI,CAAC;AAEpB,IAAA,IAAMkB,WAAW,GAAGwB,MAAM,CAACF,SAAS,EAAE5H,OAAO,CAAC;IAC9C6F,QAAQ,CAACS,WAAW,CAAC;IACrB/H,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,WAAW,EAAEnH,cAAc,CAACM,GAAG,CAAC;EAC7C,CAAC;AAED,EAAA,IAAMsI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGlL,aAAa,EAAI;IAC3CuI,cAAc,CAAC,IAAI,CAAC;AACpB,IAAA,IAAM7E,QAAQ,GAAGP,OAAO,CAACE,MAAM;IAC/B,IAAM8H,UAAU,GAAGnL,aAAa,CAC7BoL,IAAI,EAAE,CACN1F,KAAK,CAAC,SAAS,CAAC,CAChBC,MAAM,CAACmE,UAAU,CAAC,CAClBnC,GAAG,CAAC,UAACtD,MAAM,EAAEuD,KAAK,EAAA;MAAA,OAAM;AACvBlD,QAAAA,EAAE,WAAAK,MAAA,CAAWhB,QAAQ,EAAE,CAAE;AACzBU,QAAAA,KAAK,SAAAM,MAAA,CAAShB,QAAQ,EAAE,CAAE;AAC1BjD,QAAAA,KAAK,EAAEuD,MAAM,CAAC+G,IAAI,EAAE;QACpB1H,QAAQ,EAAEA,QAAQ,GAAGkE;OACtB;AAAA,IAAA,CAAC,CAAC;IAEL,IAAM6B,WAAW,GAAA,EAAA,CAAA1E,MAAA,CAAA8F,kBAAA,CAAO1H,OAAO,CAAA,EAAA0H,kBAAA,CAAKM,UAAU,CAAA,CAAC;IAC/CnC,QAAQ,CAACS,WAAW,CAAC;IACrB/H,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAG+H,WAAW,EAAEnH,cAAc,CAACO,QAAQ,CAAC;EAClD,CAAC;AAED,EAAA,IAAMwI,WAAW,GAAG,SAAdA,WAAWA,CAAG3G,EAAE,EAAI;AACxB,IAAA,IAAMkD,KAAK,GAAG2B,aAAa,CAAC7E,EAAE,EAAEvB,OAAO,CAAC;AACxC,IAAA,IAAMmI,aAAa,GAAGnI,OAAO,CAACyE,KAAK,CAAC;IAEpC,IAAI,CAAC0D,aAAa,EAAE;AAEpB,IAAA,IAAMC,KAAK,GAAGxH,QAAQ,EAAE;AACxB,IAAA,IAAMyH,YAAY,GAAA3D,eAAA,CAAAA,eAAA,KACbyD,aAAa,CAAA,EAAA,EAAA,EAAA;AAChB5G,MAAAA,EAAE,EAAA,QAAA,CAAAK,MAAA,CAAWwG,KAAK,CAAE;AACpB9G,MAAAA,KAAK,EAAA,MAAA,CAAAM,MAAA,CAASwG,KAAK,CAAE;MACrBzK,KAAK,EAAEoG,YAAY,GACfoE,aAAa,CAACxK,KAAK,GACnBnB,CAAC,CAAC,0CAA0C,EAAE;QAC5C8L,aAAa,EAAEH,aAAa,CAACxK;OAC9B;AAAC,KAAA,EACFoG,YAAY,IACdoE,aAAa,CAAC9F,MAAM,IAAI;AAAEA,MAAAA,MAAM,EAAEqE,KAAK,CAACyB,aAAa,CAAC9F,MAAM;AAAE,KAAC,CAClE;IAED+C,cAAc,CAAC,IAAI,CAAC;IAEpB,IAAMkB,WAAW,GAAGiC,MAAM,CAAC9D,KAAK,GAAG,CAAC,EAAE4D,YAAY,EAAErI,OAAO,CAAC;AAC5D,IAAA,IAAMwI,2BAA2B,GAAGjE,cAAc,CAAC+B,WAAW,CAAC;IAC/DT,QAAQ,CAAC2C,2BAA2B,CAAC;IACrCjK,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGiK,2BAA2B,EAAErJ,cAAc,CAACQ,KAAK,CAAC;EAC/D,CAAC;AAED,EAAA,IAAM8I,aAAa,GAAG,SAAhBA,aAAaA,CAAG3F,KAAK,EAAI;AAC7B,IAAA,IAAIA,KAAK,CAACF,GAAG,KAAK,OAAO,EAAE;AAE3B,IAAA,IAAM8F,IAAI,GAAG5F,KAAK,CAACxE,MAAM,CAACoK,IAAI;AAC9B,IAAA,IAAMC,MAAM,GAAG1E,KAAK,CAAC2E,IAAI,CAACF,IAAI,CAACG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzD,IAAMC,YAAY,GAAGH,MAAM,CAACI,OAAO,CAACjG,KAAK,CAACxE,MAAM,CAAC;AAEjD,IAAA,IAAIwK,YAAY,IAAIH,MAAM,CAACzI,MAAM,GAAG,CAAC,EAAE;MACrC8E,kBAAkB,IAAI2C,eAAe,EAAE;AACzC,IAAA,CAAC,MAAM;AAAA,MAAA,IAAAqB,OAAA;AACL,MAAA,CAAAA,OAAA,GAAAL,MAAM,CAACG,YAAY,GAAG,CAAC,CAAC,MAAA,IAAA,IAAAE,OAAA,KAAA,MAAA,IAAxBA,OAAA,CAA0BC,KAAK,EAAE;MACjCnG,KAAK,CAACO,cAAc,EAAE;AACxB,IAAA;IACAP,KAAK,CAACoG,eAAe,EAAE;EACzB,CAAC;EAED,OAAO;AACL/D,IAAAA,WAAW,EAAXA,WAAW;AACXwC,IAAAA,eAAe,EAAfA,eAAe;AACfI,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBjC,IAAAA,YAAY,EAAZA,YAAY;AACZ2C,IAAAA,aAAa,EAAbA,aAAa;AACb3B,IAAAA,YAAY,EAAZA,YAAY;AACZI,IAAAA,aAAa,EAAbA,aAAa;AACbgB,IAAAA,WAAW,EAAXA;GACD;AACH,CAAC;;;;;;;AC/MD,IAAMiB,UAAU,GAAG,SAAbA,UAAUA,CAAGC,KAAK,EAAA;AAAA,EAAA,oBACtBhM,GAAA,CAAA,KAAA,EAAAsH,eAAA,CAAAA,eAAA,CAAA;AACEhH,IAAAA,SAAS,EAAC,wEAAwE;AAClF,IAAA,SAAA,EAAQ,aAAa;IACrB,aAAA,EAAY;AAAa,GAAA,EACrB0L,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjM,QAAA,eAETC,GAAA,CAACiM,IAAI,EAAA;AAACC,MAAAA,IAAI,EAAE,EAAG;AAACC,MAAAA,WAAW,EAAE;KAAI;AAAC,GAAA,CAC/B,CAAC;AAAA,CACP;;ACPD,IAAMC,aAAa,GAAGC,KAAK,CACzB,UAAAxN,IAAA,EAAA;AAAA,EAAA,IACEO,CAAC,GAAAP,IAAA,CAADO,CAAC;IACDkN,QAAQ,GAAAzN,IAAA,CAARyN,QAAQ;IAAAC,oBAAA,GAAA1N,IAAA,CACR2N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAE,qBAAA,GAAA5N,IAAA,CACvB6N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IACxBE,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXxI,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IACFwF,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;IACZiD,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPC,QAAQ,GAAAhO,IAAA,CAARgO,QAAQ;IAAAC,cAAA,GAAAjO,IAAA,CACRyB,SAAS;AAATA,IAAAA,SAAS,GAAAwM,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAAA,EAAA,oBAEdjN,IAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAA,0BAAA,CAAAkE,MAAA,CAA6BlE,SAAS,CAAG;AAAAP,IAAAA,QAAA,GACpD,CAACyM,eAAe,iBACfxM,GAAA,CAACgB,MAAM,EAAA;AACCsL,MAAAA,QAAQ,EAARA,QAAQ;AACdhM,MAAAA,SAAS,EAAC,OAAO;MACjB,SAAA,EAAA,sBAAA,CAAAkE,MAAA,CAAgCmI,WAAW,CAAG;MAC9C,aAAA,EAAA,sBAAA,CAAAnI,MAAA,CAAoCmI,WAAW,CAAG;AAClDI,MAAAA,IAAI,EAAEC,IAAK;AACXd,MAAAA,IAAI,EAAC,OAAO;AACZ/L,MAAAA,KAAK,EAAC,MAAM;AACZ8M,MAAAA,YAAY,EAAE;AACZC,QAAAA,OAAO,EAAE9N,CAAC,CAAC,qCAAqC,CAAC;AACjD+D,QAAAA,QAAQ,EAAE,KAAK;AACfgK,QAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG;OACnB;MACF7L,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQsL,OAAO,CAACzI,EAAE,CAAC;AAAA,MAAA;AAAC,KAC5B,CACF,EACA,CAACuI,gBAAgB,iBAChB1M,GAAA,CAACgB,MAAM,EAAA;AACCsL,MAAAA,QAAQ,EAARA,QAAQ;AACdhM,MAAAA,SAAS,EAAC,OAAO;MACjB,SAAA,EAAA,uBAAA,CAAAkE,MAAA,CAAiCmI,WAAW,CAAG;MAC/C,aAAA,EAAA,uBAAA,CAAAnI,MAAA,CAAqCmI,WAAW,CAAG;AACnDI,MAAAA,IAAI,EAAEK,MAAO;AACblB,MAAAA,IAAI,EAAC,OAAO;AACZ/L,MAAAA,KAAK,EAAC,MAAM;AACZ8M,MAAAA,YAAY,EAAE;AACZC,QAAAA,OAAO,EAAE9N,CAAC,CAAC,sCAAsC,CAAC;AAClD+D,QAAAA,QAAQ,EAAE,KAAK;AACfgK,QAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG;OACnB;MACF7L,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQuL,QAAQ,CAAC1I,EAAE,EAAEwF,YAAY,CAAC;AAAA,MAAA;AAAC,KAC3C,CACF;AAAA,GACE,CAAC;AAAA,CAEV,CAAC;;;;AC/CD,IAAM0D,WAAW,GAAGhB,KAAK,CACvB,UAAAxN,IAAA,EAAA;AAAA,EAAA,IACEO,CAAC,GAAAP,IAAA,CAADO,CAAC;IACDkO,QAAQ,GAAAzO,IAAA,CAARyO,QAAQ;IAAAb,qBAAA,GAAA5N,IAAA,CACR6N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAF,oBAAA,GAAA1N,IAAA,CACxB2N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvBgB,cAAc,GAAA1O,IAAA,CAAd0O,cAAc;IACdC,eAAe,GAAA3O,IAAA,CAAf2O,eAAe;IACfjN,KAAK,GAAA1B,IAAA,CAAL0B,KAAK;IACLkN,MAAM,GAAA5O,IAAA,CAAN4O,MAAM;IACNb,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPc,iBAAiB,GAAA7O,IAAA,CAAjB6O,iBAAiB;IACjBvJ,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IACFwJ,WAAW,GAAA9O,IAAA,CAAX8O,WAAW;IACXhB,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXhD,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;AAAA,EAAA,oBAEZ3J,GAAA,CAAA,KAAA,EAAAsH,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AAAKsG,IAAAA,GAAG,EAAEN;GAAS,EAAKC,cAAc,GAAMC,eAAe,CAAA,EAAA,EAAA,EAAA;AAAAzN,IAAAA,QAAA,eACzDF,IAAA,CAAA,KAAA,EAAA;AACES,MAAAA,SAAS,EAAC,yMAAyM;AACnN,MAAA,SAAA,EAAQ,qBAAqB;MAAAP,QAAA,EAAA,CAE5B4N,WAAW,iBACV3N,GAAA,CAAC+L,UAAU,EAAAzE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACLkG,eAAe,CAAA,EAAA,EAAA,EAAA;QACnB,aAAA,EAAA,cAAA,CAAAhJ,MAAA,CAA4BmI,WAAW;AAAG,OAAA,CAC3C,CACF,eACD3M,GAAA,CAACE,UAAU,EAAA;AACTI,QAAAA,SAAS,EAAC,8BAA8B;AACxC,QAAA,SAAA,EAAQ,oBAAoB;AAC5B,QAAA,aAAA,EAAY,oBAAoB;AAChCH,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EAEZQ;OACS,CAAC,eACbV,IAAA,CAAA,KAAA,EAAA;AAAKS,QAAAA,SAAS,EAAC,uEAAuE;QAAAP,QAAA,EAAA,cACpFC,GAAA,CAACgB,MAAM,EAAA;AACLV,UAAAA,SAAS,EAAC,iDAAiD;AAC3D,UAAA,SAAA,EAAQ,2BAA2B;AACnC,UAAA,aAAA,EAAY,2BAA2B;AACvCyM,UAAAA,IAAI,EAAEc,IAAK;AACX3B,UAAAA,IAAI,EAAC,OAAO;AACZ/L,UAAAA,KAAK,EAAC,MAAM;AACZ8M,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAE9N,CAAC,CAAC,oCAAoC,CAAC;AAChD+D,YAAAA,QAAQ,EAAE,KAAK;AACfgK,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG;WACnB;UACF7L,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQmM,MAAM,CAACtJ,EAAE,CAAC;AAAA,UAAA;AAAC,SAC3B,CAAC,eACFnE,GAAA,CAACoM,aAAa,EAAA;AAEVzC,UAAAA,YAAY,EAAZA,YAAY;AACZ6C,UAAAA,eAAe,EAAfA,eAAe;AACfE,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBvI,UAAAA,EAAE,EAAFA,EAAE;AACFyI,UAAAA,OAAO,EAAPA,OAAO;AACPD,UAAAA,WAAW,EAAXA,WAAW;AAEbrM,UAAAA,SAAS,EAAC,yBAAyB;AACnCuM,UAAAA,QAAQ,EAAEa;AAAkB,SAC7B,CAAC;AAAA,OACC,CAAC;KACH;AAAC,GAAA,CACH,CAAC;AAAA,CAEV,CAAC;;ACjED,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAAjP,IAAA,EAgBX;AAAA,EAAA,IAfJsF,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IACFuD,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJiF,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXL,QAAQ,GAAAzN,IAAA,CAARyN,QAAQ;IACRjG,KAAK,GAAAxH,IAAA,CAALwH,KAAK;IACL7F,WAAW,GAAA3B,IAAA,CAAX2B,WAAW;IACXuH,WAAW,GAAAlJ,IAAA,CAAXkJ,WAAW;IACXpC,SAAS,GAAA9G,IAAA,CAAT8G,SAAS;IACTxE,SAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRiF,OAAM,GAAAvH,IAAA,CAANuH,MAAM;IACNyG,QAAQ,GAAAhO,IAAA,CAARgO,QAAQ;IACRD,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPjD,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;IAAA8C,qBAAA,GAAA5N,IAAA,CACZ6N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAF,oBAAA,GAAA1N,IAAA,CACxB2N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;EAEvB,IAAMwB,cAAc,GAAGrG,IAAI,CAACxC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACvD,EAAA,IAAAiD,SAAA,GAA4CC,QAAQ,CAAC2F,cAAc,CAAC;IAAA1F,UAAA,GAAA7I,cAAA,CAAA2I,SAAA,EAAA,CAAA,CAAA;AAA7DI,IAACF,UAAA,CAAA,CAAA,CAAA;QAAWoC,KAAK,GAAApC,UAAA,CAAA,CAAA,CAAA,CAAZ3H,KAAK;IAAa+H,QAAQ,GAAAJ,UAAA,CAAA,CAAA,CAAA,CAARI;AAE9B,EAAA,IAAMuF,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,YAAY,EAAI;AACxC,IAAA,IAAMC,UAAU,GAAGC,OAAO,CAACF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,GAAG,CAAC,GAAG,IAAI,GAAGH,YAAY;AACnExF,IAAAA,QAAQ,CAACyF,UAAU,EAAE,KAAK,CAAC;AAC3B/M,IAAAA,SAAQ,CAAC;AAAEgD,MAAAA,EAAE,EAAFA,EAAE;AAAEzD,MAAAA,KAAK,EAAEwN,UAAU;AAAEzH,MAAAA,QAAQ,EAAE,KAAK;AAAEsC,MAAAA,SAAS,EAAE;AAAQ,KAAC,CAAC;EAC1E,CAAC;AAED,EAAA,oBACE/I,GAAA,CAAA,KAAA,EAAA;AACEM,IAAAA,SAAS,EAAE+N,UAAU,CAAC,yCAAyC,EAAE;AAC/D,MAAA,gCAAgC,EAAE/B;AACpC,KAAC,CAAE;AAAAvM,IAAAA,QAAA,eAEHF,IAAA,CAAA,KAAA,EAAA;AAAKS,MAAAA,SAAS,EAAC,sKAAsK;AAAAP,MAAAA,QAAA,gBACnLC,GAAA,CAAA,KAAA,EAAA;AACEM,QAAAA,SAAS,EAAC,uEAAuE;QACjF,aAAA,EAAA,wBAAA,CAAAkE,MAAA,CAAsCmI,WAAW,CAAG;QAAA5M,QAAA,eAEpDC,GAAA,CAACsO,aAAa,EAAA;AACZhO,UAAAA,SAAS,EAAC,sDAAsD;AAChEiO,UAAAA,iBAAiB,EAAEjC,QAAS;AAE5BkC,UAAAA,GAAG,EAAE/D,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2D,GAAI;AAChBK,UAAAA,YAAY,EAAEhN,mBAAoB;AAClCiN,UAAAA,gBAAgB,EAAEV;AAAkB,SAAA,EAH/BvD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE2D,GAIb;OACE,CAAC,eACNpO,GAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,QAAQ;AAAAP,QAAAA,QAAA,eACrBC,GAAA,CAAC2O,KAAK,EAAAC,eAAA,CAAA;AACEtC,UAAAA,QAAQ,EAARA,QAAQ;AAAE5E,UAAAA,IAAI,EAAJA,IAAI;AAAEtB,UAAAA,MAAM,EAANA,OAAM;AAAET,UAAAA,SAAS,EAATA,SAAS;AAAEnF,UAAAA,WAAW,EAAXA,WAAW;AACpDqO,UAAAA,SAAS,EAAE9G,WAAY;UACvB,SAAA,EAAA,eAAA,CAAAvD,MAAA,CAAyBmI,WAAW,CAAG;UACvC,aAAA,EAAA,eAAA,CAAAnI,MAAA,CAA6BmI,WAAW,CAAG;AAC3CxL,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAwH,KAAA,EAAA;AAAA,YAAA,IAAKzH,MAAM,GAAAyH,KAAA,CAANzH,MAAM;AAAA,YAAA,OAAOC,SAAQ,CAAC;AAAEgD,cAAAA,EAAE,EAAFA,EAAE;cAAEzD,KAAK,EAAEQ,MAAM,CAACR;AAAM,aAAC,CAAC;UAAA,CAAC;AAChEoO,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAA/E,KAAA,EAAA;AAAA,YAAA,IAAK7I,MAAM,GAAA6I,KAAA,CAAN7I,MAAM;AAAA,YAAA,OAAOA,MAAM,CAAC6N,MAAM,EAAE;AAAA,UAAA;SAAC,EAAA,QAAA,EACjC,SAAA3I,MAAAA,CAACV,KAAK,EAAc;AAC1BvE,UAAAA,SAAQ,CAAC;AAAEgD,YAAAA,EAAE,EAAFA,EAAE;AAAEzD,YAAAA,KAAK,EAAEgF,KAAK,CAACxE,MAAM,CAACR,KAAK;AAAE+F,YAAAA,QAAQ,EAAE;AAAK,WAAC,CAAC;AAC3DL,UAAAA,OAAM,KAAA,IAAA,IAANA,OAAM,KAAA,MAAA,IAANA,OAAM,CAAGjC,EAAE,EAAEuB,KAAK,CAACxE,MAAM,CAACR,KAAK,CAAC;UAAC,KAAA,IAAAsO,IAAA,GAAAnM,SAAA,CAAAC,MAAA,EAFhBmM,IAAI,OAAApI,KAAA,CAAAmI,IAAA,GAAA,CAAA,GAAAA,IAAA,WAAAE,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA,EAAA,EAAA;AAAJD,YAAAA,IAAI,CAAAC,IAAA,GAAA,CAAA,CAAA,GAAArM,SAAA,CAAAqM,IAAA,CAAA;AAAA,UAAA;AAGrB7I,UAAAA,KAAK,CAACD,MAAM,CAAA+I,KAAA,CAAZ9I,KAAK,EAAA,CAAQX,KAAK,CAAA,CAAAlB,MAAA,CAAKyK,IAAI,CAAA,CAAC;AAC9B,QAAA,CAAC,CACF;OACE,CAAC,eACNjP,GAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,qIAAqI;QAAAP,QAAA,eAClJC,GAAA,CAACoM,aAAa,EAAA;AAEVzC,UAAAA,YAAY,EAAZA,YAAY;AACZ2C,UAAAA,QAAQ,EAARA,QAAQ;AACRE,UAAAA,eAAe,EAAfA,eAAe;AACfE,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBvI,UAAAA,EAAE,EAAFA,EAAE;AACFyI,UAAAA,OAAO,EAAPA,OAAO;AACPC,UAAAA,QAAQ,EAARA,QAAQ;AACRF,UAAAA,WAAW,EAAXA;SAEH;AAAC,OACC,CAAC;KACH;AAAC,GACH,CAAC;AAEV,CAAC;;;;AChFD,IAAMyC,WAAW,GAAG,SAAdA,WAAWA,CAAAvQ,IAAA,EAqBX;AAAA,EAAA,IApBJkJ,WAAW,GAAAlJ,IAAA,CAAXkJ,WAAW;IAAA0E,qBAAA,GAAA5N,IAAA,CACX6N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAF,oBAAA,GAAA1N,IAAA,CACxB2N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvBe,QAAQ,GAAAzO,IAAA,CAARyO,QAAQ;IACRC,cAAc,GAAA1O,IAAA,CAAd0O,cAAc;IACdC,eAAe,GAAA3O,IAAA,CAAf2O,eAAe;IACf3F,eAAe,GAAAhJ,IAAA,CAAfgJ,eAAe;IACflC,SAAS,GAAA9G,IAAA,CAAT8G,SAAS;IACTkH,QAAQ,GAAAhO,IAAA,CAARgO,QAAQ;IACRD,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPzL,SAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRwL,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXL,QAAQ,GAAAzN,IAAA,CAARyN,QAAQ;IACR+C,UAAU,GAAAxQ,IAAA,CAAVwQ,UAAU;IACVlL,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IACFwJ,WAAW,GAAA9O,IAAA,CAAX8O,WAAW;IACXjG,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJlH,WAAW,GAAA3B,IAAA,CAAX2B,WAAW;IACX4F,OAAM,GAAAvH,IAAA,CAANuH,MAAM;IACNuD,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;AAEZ,EAAA,IAAM2F,SAAS,GAAGD,UAAU,GAAGhP,UAAQ,GAAGsO,KAAK;AAC/C,EAAA,IAAAxG,SAAA,GAAgBC,QAAQ,CAACV,IAAI,CAAC;IAAAW,UAAA,GAAA7I,cAAA,CAAA2I,SAAA,EAAA,CAAA,CAAA;AAAvB9B,IAAAA,KAAK,GAAAgC,UAAA,CAAA,CAAA,CAAA;AAEZ,EAAA,oBACErI,GAAA,CAAA,KAAA,EAAAsH,eAAA,CAAAA,eAAA,CAAA;AACEsG,IAAAA,GAAG,EAAEN;AAAS,GAAA,EAAAhG,eAAA,CAAAA,eAAA,CAAA,EAAA,EACLiG,cAAc,GAAKC,eAAe,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3C,IAAA,SAAA,EAAQ,oBAAoB;AAAAzN,IAAAA,QAAA,eAE5BF,IAAA,CAAA,KAAA,EAAA;AAAKS,MAAAA,SAAS,EAAC,6DAA6D;MAAAP,QAAA,EAAA,CACzE4N,WAAW,iBACV3N,GAAA,CAAC+L,UAAU,EAAAzE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACLkG,eAAe,CAAA,EAAA,EAAA,EAAA;QACnB,aAAA,EAAA,cAAA,CAAAhJ,MAAA,CAA4BmI,WAAW;AAAG,OAAA,CAC3C,CACF,EACA9E,eAAe,gBACd7H,GAAA,CAAC8N,WAAW,EAAA;AAERnE,QAAAA,YAAY,EAAZA,YAAY;AACZ2C,QAAAA,QAAQ,EAARA,QAAQ;AACRjG,QAAAA,KAAK,EAALA,KAAK;AACLmG,QAAAA,eAAe,EAAfA,eAAe;AACfE,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBvI,QAAAA,EAAE,EAAFA,EAAE;AACFuD,QAAAA,IAAI,EAAJA,IAAI;AACJtB,QAAAA,MAAM,EAANA,OAAM;AACNjF,QAAAA,QAAQ,EAARA,SAAQ;AACRyL,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,QAAQ,EAARA,QAAQ;AACRlH,QAAAA,SAAS,EAATA,SAAS;AACTgH,QAAAA,WAAW,EAAXA,WAAW;AACXnM,QAAAA,WAAW,EAAXA,WAAW;AACXuH,QAAAA,WAAW,EAAXA;AAAW,OAEd,CAAC,gBAEF/H,GAAA,CAACsP,SAAS,EAAA;AACFhD,QAAAA,QAAQ,EAARA,QAAQ;AAAE5E,QAAAA,IAAI,EAAJA,IAAI;AAAE/B,QAAAA,SAAS,EAATA,SAAS;AAAEnF,QAAAA,WAAW,EAAXA,WAAW;AAC5CqO,QAAAA,SAAS,EAAE9G,WAAY;QACvB,SAAA,EAAA,eAAA,CAAAvD,MAAA,CAAyBmI,WAAW,CAAG;QACvC,aAAA,EAAA,EAAA,CAAAnI,MAAA,CACE6K,UAAU,GAAG,iBAAiB,GAAG,cAAc,EAAA,GAAA,CAAA,CAAA7K,MAAA,CAC7CmI,WAAW,CAAG;QAClB4C,MAAM,eACJvP,GAAA,CAACoM,aAAa,EAAA;AAEVzC,UAAAA,YAAY,EAAZA,YAAY;AACZ2C,UAAAA,QAAQ,EAARA,QAAQ;AACRE,UAAAA,eAAe,EAAfA,eAAe;AACfE,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBvI,UAAAA,EAAE,EAAFA,EAAE;AACFyI,UAAAA,OAAO,EAAPA,OAAO;AACPC,UAAAA,QAAQ,EAARA,QAAQ;AACRF,UAAAA,WAAW,EAAXA;AAAW,SAEd,CACF;AACDxL,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAwH,KAAA,EAAA;AAAA,UAAA,IAAKzH,MAAM,GAAAyH,KAAA,CAANzH,MAAM;AAAA,UAAA,OAAOC,SAAQ,CAAC;AAAEgD,YAAAA,EAAE,EAAFA,EAAE;YAAEzD,KAAK,EAAEQ,MAAM,CAACR;AAAM,WAAC,CAAC;QAAA,CAAC;AAChEoO,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAA/E,KAAA,EAAA;AAAA,UAAA,IAAK7I,MAAM,GAAA6I,KAAA,CAAN7I,MAAM;AAAA,UAAA,OAAOA,MAAM,CAAC6N,MAAM,EAAE;QAAA,CAAC;AACzC3I,QAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGV,KAAK,EAAc;AAC1BvE,UAAAA,SAAQ,CAAC;AAAEgD,YAAAA,EAAE,EAAFA,EAAE;AAAEzD,YAAAA,KAAK,EAAEgF,KAAK,CAACxE,MAAM,CAACR,KAAK;AAAE+F,YAAAA,QAAQ,EAAE;AAAK,WAAC,CAAC;AAC3DL,UAAAA,OAAM,KAAA,IAAA,IAANA,OAAM,KAAA,MAAA,IAANA,OAAM,CAAGjC,EAAE,EAAEuB,KAAK,CAACxE,MAAM,CAACR,KAAK,CAAC;UAAC,KAAA,IAAAsO,IAAA,GAAAnM,SAAA,CAAAC,MAAA,EAFhBmM,IAAI,OAAApI,KAAA,CAAAmI,IAAA,GAAA,CAAA,GAAAA,IAAA,WAAAE,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA,EAAA,EAAA;AAAJD,YAAAA,IAAI,CAAAC,IAAA,GAAA,CAAA,CAAA,GAAArM,SAAA,CAAAqM,IAAA,CAAA;AAAA,UAAA;AAGrB7I,UAAAA,KAAK,CAACD,MAAM,CAAA+I,KAAA,CAAZ9I,KAAK,EAAA,CAAQX,KAAK,CAAA,CAAAlB,MAAA,CAAKyK,IAAI,CAAA,CAAC;AAC9B,QAAA;AAAE,OACH,CACF;KACE;AAAC,GAAA,CACH,CAAC;AAEV,CAAC;;;;AC1FD,IAAMO,gBAAgB,GAAGnD,KAAK,CAC5B,UAAAxN,IAAA,EAAA;AAAA,EAAA,IACEkJ,WAAW,GAAAlJ,IAAA,CAAXkJ,WAAW;IAAA0E,qBAAA,GAAA5N,IAAA,CACX6N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAF,oBAAA,GAAA1N,IAAA,CACxB2N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvBe,QAAQ,GAAAzO,IAAA,CAARyO,QAAQ;IACRC,cAAc,GAAA1O,IAAA,CAAd0O,cAAc;IACdC,eAAe,GAAA3O,IAAA,CAAf2O,eAAe;IACf7H,UAAS,GAAA9G,IAAA,CAAT8G,SAAS;IACTkH,QAAQ,GAAAhO,IAAA,CAARgO,QAAQ;IACRD,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPzL,SAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRwL,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXL,QAAQ,GAAAzN,IAAA,CAARyN,QAAQ;IACRnI,EAAE,GAAAtF,IAAA,CAAFsF,EAAE;IACFwJ,WAAW,GAAA9O,IAAA,CAAX8O,WAAW;IACXjG,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJlH,WAAW,GAAA3B,IAAA,CAAX2B,WAAW;IACX4F,OAAM,GAAAvH,IAAA,CAANuH,MAAM;IACNuD,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;IAAA8F,gBAAA,GAAA5Q,IAAA,CACZiJ,WAAW;AAAXA,IAAAA,WAAW,GAAA2H,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;AAAA,EAAA,oBAEhBzP,GAAA,CAAA,KAAA,EAAAsH,eAAA,CAAAA,eAAA,CAAA;AACEsG,IAAAA,GAAG,EAAEN;AAAS,GAAA,EAAAhG,eAAA,CAAAA,eAAA,CAAA,EAAA,EACLiG,cAAc,GAAKC,eAAe,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3C,IAAA,SAAA,EAAQ,0BAA0B;AAClC,IAAA,aAAA,EAAY,0BAA0B;AAAAzN,IAAAA,QAAA,eAEtCF,IAAA,CAAA,KAAA,EAAA;AAAKS,MAAAA,SAAS,EAAC,oEAAoE;MAAAP,QAAA,EAAA,CAChF4N,WAAW,iBACV3N,GAAA,CAAC+L,UAAU,EAAAzE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACLkG,eAAe,CAAA,EAAA,EAAA,EAAA;QACnB,aAAA,EAAA,cAAA,CAAAhJ,MAAA,CAA4BmI,WAAW;OAAG,CAC3C,CACF,eACD3M,GAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,4BAA4B;AAAAP,QAAAA,QAAA,eACzCC,GAAA,CAAA,KAAA,EAAA;AAAKM,UAAAA,SAAS,EAAC,YAAY;UAAAP,QAAA,EACxB+H,WAAW,CAACV,GAAG,CAAC,UAACd,MAAM,EAAEH,UAAU,EAAK;AAAA,YAAA,IAAAuJ,YAAA;AACvC,YAAA,IAAMC,SAAS,GAAA,EAAA,CAAAnL,MAAA,CAAMkD,IAAI,CAACxC,OAAO,CAC/B,QAAQ,EACR,EACF,CAAC,EAAA,UAAA,CAAA,CAAAV,MAAA,CAAW2B,UAAU,CAAE;YACxB,IAAMyJ,SAAS,GAAGtJ,MAAM,CAACuJ,IAAI,IAAIjO,WAAW,CAACC,IAAI;AACjD,YAAA,IAAMiO,YAAY,GAAGF,SAAS,KAAKhO,WAAW,CAACE,MAAM;AACrD,YAAA,IAAAqG,SAAA,GAAgBC,QAAQ,CAACuH,SAAS,CAAC;cAAAtH,UAAA,GAAA7I,cAAA,CAAA2I,SAAA,EAAA,CAAA,CAAA;AAA5B9B,cAAAA,KAAK,GAAAgC,UAAA,CAAA,CAAA,CAAA;AAEZ,YAAA,oBACErI,GAAA,CAAA,KAAA,EAAA;AAAKM,cAAAA,SAAS,EAAC,QAAQ;AAAAP,cAAAA,QAAA,eACrBC,GAAA,CAAC2O,KAAK,EAAArH,eAAA,CAAAA,eAAA,CAAA;AACEgF,gBAAAA,QAAQ,EAARA,QAAQ;AACduC,gBAAAA,SAAS,EAAE9G,WAAW,IAAI5B,UAAU,KAAK,CAAE;AAC3C,gBAAA,SAAA,EAAA,qBAAA,CAAA3B,MAAA,CAA+BmI,WAAW,OAAAnI,MAAA,CAAI2B,UAAU,CAAG;AAC3D,gBAAA,aAAA,EAAA,qBAAA,CAAA3B,MAAA,CAAmCmI,WAAW,EAAA,GAAA,CAAA,CAAAnI,MAAA,CAAI2B,UAAU;AAAG,eAAA,EAC1D2J,YAAY,IAAI;gBACnBC,GAAG,EAAEzJ,MAAM,CAACyJ,GAAG;gBACfC,GAAG,EAAE1J,MAAM,CAAC0J;eACb,CAAA,EAAA,EAAA,EAAA;AACDtI,gBAAAA,IAAI,EAAEiI,SAAU;AAChBE,gBAAAA,IAAI,EAAED,SAAU;AAChBlP,gBAAAA,KAAK,EAAA,CAAAgP,YAAA,GAAErJ,KAAK,CAAC3F,KAAK,MAAA,IAAA,IAAAgP,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIpJ,MAAM,CAACE,YAAa;AAC1ChG,gBAAAA,WAAW,EACT8F,MAAM,CAAC9F,WAAW,OAAAgE,MAAA,CAAOhE,WAAW,EAAA,GAAA,CAAA,CAAAgE,MAAA,CAAI2B,UAAU,GAAG,CAAC,CACvD;AACD2I,gBAAAA,OAAO,EAAE,SAATA,OAAOA,CAAAnG,KAAA,EAAA;AAAA,kBAAA,IAAKzH,MAAM,GAAAyH,KAAA,CAANzH,MAAM;AAAA,kBAAA,OAAOA,MAAM,CAAC6N,MAAM,EAAE;gBAAA,CAAC;AACzC3I,gBAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEV,KAAK,EAAA;kBAAA,OACXQ,eAAe,CAACR,KAAK,EAAE;AACrBvB,oBAAAA,EAAE,EAAFA,EAAE;AACFgC,oBAAAA,UAAU,EAAVA,UAAU;AACVhF,oBAAAA,QAAQ,EAARA,SAAQ;AACRiF,oBAAAA,MAAM,EAANA,OAAM;AACNC,oBAAAA,KAAK,EAALA,KAAK;AACLC,oBAAAA,MAAM,EAANA;AACF,mBAAC,CAAC;gBAAA,CACH;AACDnF,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAA4I,KAAA,EAAA;AAAA,kBAAA,IAAK7I,MAAM,GAAA6I,KAAA,CAAN7I,MAAM;AAAA,kBAAA,OACjBC,SAAQ,CAAC;AAAEgD,oBAAAA,EAAE,EAAFA,EAAE;oBAAEzD,KAAK,EAAEQ,MAAM,CAACR,KAAK;AAAEyF,oBAAAA,UAAU,EAAVA;AAAW,mBAAC,CAAC;gBAAA,CAClD;AACDR,gBAAAA,SAAS,EAAE,SAAXA,SAASA,CAAED,KAAK,EAAA;AAAA,kBAAA,OACdoK,YAAY,GACRrK,mBAAmB,CAACC,KAAK,EAAEC,UAAS,CAAC,GACrCA,UAAS,aAATA,UAAS,KAAA,MAAA,GAAA,MAAA,GAATA,UAAS,CAAGD,KAAK,CAAC;AAAA,gBAAA;eACvB,CACF;AAAC,aAAA,EAnCyBS,UAoCxB,CAAC;UAEV,CAAC;SACE;AAAC,OACH,CAAC,eACNnG,GAAA,CAACoM,aAAa,EAAA;AAEVzC,QAAAA,YAAY,EAAZA,YAAY;AACZ2C,QAAAA,QAAQ,EAARA,QAAQ;AACRE,QAAAA,eAAe,EAAfA,eAAe;AACfE,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBvI,QAAAA,EAAE,EAAFA,EAAE;AACFyI,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,WAAW,EAAXA;AAAW,OAEd,CAAC;KACC;AAAC,GAAA,CACH,CAAC;AAAA,CAEV,CAAC;;AC3GD,IAAMsD,WAAW,GAAG,SAAdA,WAAWA,CAAApR,IAAA,EA0BX;AAAA,EAAA,IAzBJiF,MAAM,GAAAjF,IAAA,CAANiF,MAAM;IACNoM,QAAQ,GAAArR,IAAA,CAARqR,QAAQ;IACR1C,eAAe,GAAA3O,IAAA,CAAf2O,eAAe;IACfD,cAAc,GAAA1O,IAAA,CAAd0O,cAAc;IACdG,iBAAiB,GAAA7O,IAAA,CAAjB6O,iBAAiB;IACjByC,gBAAgB,GAAAtR,IAAA,CAAhBsR,gBAAgB;IAChBzD,gBAAgB,GAAA7N,IAAA,CAAhB6N,gBAAgB;IAChBF,eAAe,GAAA3N,IAAA,CAAf2N,eAAe;IACfc,QAAQ,GAAAzO,IAAA,CAARyO,QAAQ;IACRG,MAAM,GAAA5O,IAAA,CAAN4O,MAAM;IACN2C,SAAS,GAAAvR,IAAA,CAATuR,SAAS;IACT9D,QAAQ,GAAAzN,IAAA,CAARyN,QAAQ;IACRzE,eAAe,GAAAhJ,IAAA,CAAfgJ,eAAe;IACfwH,UAAU,GAAAxQ,IAAA,CAAVwQ,UAAU;IACV1I,YAAY,GAAA9H,IAAA,CAAZ8H,YAAY;IACZmB,WAAW,GAAAjJ,IAAA,CAAXiJ,WAAW;IACXC,WAAW,GAAAlJ,IAAA,CAAXkJ,WAAW;IACXsI,UAAU,GAAAxR,IAAA,CAAVwR,UAAU;IACV/L,SAAS,GAAAzF,IAAA,CAATyF,SAAS;IACToE,YAAY,GAAA7J,IAAA,CAAZ6J,YAAY;IACZ2C,aAAa,GAAAxM,IAAA,CAAbwM,aAAa;IACb3D,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJiF,WAAW,GAAA9N,IAAA,CAAX8N,WAAW;IACXvG,MAAM,GAAAvH,IAAA,CAANuH,MAAM;IACNuD,YAAY,GAAA9K,IAAA,CAAZ8K,YAAY;EAEZ,IAAI,CAACuG,QAAQ,EAAE;IACb,oBACElQ,GAAA,CAACqN,WAAW,EAAA;AAER1D,MAAAA,YAAY,EAAZA,YAAY;AACZ6D,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,cAAc,EAAdA,cAAc;AACdG,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBlB,MAAAA,eAAe,EAAfA,eAAe;AACfE,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBY,MAAAA,QAAQ,EAARA,QAAQ;AACRG,MAAAA,MAAM,EAANA,MAAM;AACNd,MAAAA,WAAW,EAAXA,WAAW;MAEbxI,EAAE,EAAEL,MAAM,CAACK,EAAG;AACdwJ,MAAAA,WAAW,EAAEyC,SAAS,IAAI,CAAC9D,QAAS;MACpC/L,KAAK,EAAEuD,MAAM,CAACvD,KAAM;AACpBqM,MAAAA,OAAO,EAAEuD;AAAiB,KAC3B,CAAC;AAEN,EAAA;AAEA,EAAA,IAAIxJ,YAAY,EAAE;IAChB,oBACE3G,GAAA,CAACwP,gBAAgB,EAAA;AAEb7F,MAAAA,YAAY,EAAZA,YAAY;AACZ6D,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,cAAc,EAAdA,cAAc;AACdf,MAAAA,eAAe,EAAfA,eAAe;AACfE,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBY,MAAAA,QAAQ,EAARA,QAAQ;AACRxF,MAAAA,WAAW,EAAXA,WAAW;AACXJ,MAAAA,IAAI,EAAJA,IAAI;AACJtB,MAAAA,MAAM,EAANA,MAAM;AACNtC,MAAAA,MAAM,EAANA,MAAM;AACN6I,MAAAA,WAAW,EAAXA,WAAW;AACX5E,MAAAA,WAAW,EAAXA,WAAW;AAEbuE,MAAAA,QAAQ,EAAE,CAAC+D,UAAU,IAAI/D,QAAS;MAClCnI,EAAE,EAAEL,MAAM,CAACK,EAAG;AACdwJ,MAAAA,WAAW,EAAEyC,SAAS,IAAI,CAAC9D,QAAS;AACpC9L,MAAAA,WAAW,EAAE6D,mBAAmB,CAACC,SAAS,EAAEqI,WAAW,CAAE;AACzDxL,MAAAA,QAAQ,EAAEuH,YAAa;AACvBkE,MAAAA,OAAO,EAAEuD,gBAAiB;AAC1BtD,MAAAA,QAAQ,EAAEa,iBAAkB;AAC5B/H,MAAAA,SAAS,EAAE0F;AAAc,KAC1B,CAAC;AAEN,EAAA;EAEA,oBACErL,GAAA,CAACoP,WAAW,EAAA;AAERzF,IAAAA,YAAY,EAAZA,YAAY;AACZ6D,IAAAA,eAAe,EAAfA,eAAe;AACfD,IAAAA,cAAc,EAAdA,cAAc;AACdf,IAAAA,eAAe,EAAfA,eAAe;AACfE,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBY,IAAAA,QAAQ,EAARA,QAAQ;AACRzF,IAAAA,eAAe,EAAfA,eAAe;AACfwH,IAAAA,UAAU,EAAVA,UAAU;AACV3H,IAAAA,IAAI,EAAJA,IAAI;AACJtB,IAAAA,MAAM,EAANA,MAAM;AACNuG,IAAAA,WAAW,EAAXA,WAAW;AACX5E,IAAAA,WAAW,EAAXA,WAAW;AAEbuE,IAAAA,QAAQ,EAAE,CAAC+D,UAAU,IAAI/D,QAAS;IAClCnI,EAAE,EAAEL,MAAM,CAACK,EAAG;AACdwJ,IAAAA,WAAW,EAAEyC,SAAS,IAAI,CAAC9D,QAAS;AACpC9L,IAAAA,WAAW,EAAE6D,mBAAmB,CAACC,SAAS,EAAEqI,WAAW,CAAE;AACzDxL,IAAAA,QAAQ,EAAEuH,YAAa;AACvBkE,IAAAA,OAAO,EAAEuD,gBAAiB;AAC1BtD,IAAAA,QAAQ,EAAEa,iBAAkB;AAC5B/H,IAAAA,SAAS,EAAE0F;AAAc,GAC1B,CAAC;AAEN,CAAC;;;;ACrFD,IAAMiF,YAAY,GAAG,SAAfA,YAAYA,CAAAzR,IAAA,EA0BZ;AAAA,EAAA,IAAA6Q,YAAA;AAAA,EAAA,IAzBJhI,IAAI,GAAA7I,IAAA,CAAJ6I,IAAI;IACJjF,KAAK,GAAA5D,IAAA,CAAL4D,KAAK;IACLoK,QAAQ,GAAAhO,IAAA,CAARgO,QAAQ;IACRD,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACPzL,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRiF,MAAM,GAAAvH,IAAA,CAANuH,MAAM;IAAAmK,WAAA,GAAA1R,IAAA,CACN4O,MAAM;AAANA,IAAAA,MAAM,GAAA8C,WAAA,KAAA,MAAA,GAAGC,IAAI,GAAAD,WAAA;IAAAE,gBAAA,GAAA5R,IAAA,CACb6R,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA9R,IAAA,CAChB+R,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,eAAA;IAAAE,cAAA,GAAAhS,IAAA,CACduR,SAAS;AAATA,IAAAA,SAAS,GAAAS,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAC,aAAA,GAAAjS,IAAA,CACjBqR,QAAQ;AAARA,IAAAA,QAAQ,GAAAY,aAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,aAAA;IAAAC,aAAA,GAAAlS,IAAA,CACfyN,QAAQ;AAARA,IAAAA,QAAQ,GAAAyE,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAC,qBAAA,GAAAnS,IAAA,CAChB+I,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAoJ,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAApS,IAAA,CACzBqS,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAtS,IAAA,CAC5BuS,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,oBAAA,GAAAxS,IAAA,CAC3BgJ,eAAe;AAAfA,IAAAA,eAAe,GAAAwJ,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAC,eAAA,GAAAzS,IAAA,CACvBwQ,UAAU;AAAVA,IAAAA,UAAU,GAAAiC,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAC,iBAAA,GAAA1S,IAAA,CAClB8H,YAAY;AAAZA,IAAAA,YAAY,GAAA4K,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAA9B,gBAAA,GAAA5Q,IAAA,CACpBiJ,WAAW;AAAXA,IAAAA,WAAW,GAAA2H,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAA+B,kBAAA,GAAA3S,IAAA,CAChB2I,aAAa;AAAbA,IAAAA,aAAa,GAAAgK,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;IAAAC,oBAAA,GAAA5S,IAAA,CACrBwE,eAAe;AAAfA,IAAAA,eAAe,GAAAoO,oBAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,oBAAA;IAAAC,qBAAA,GAAA7S,IAAA,CAC3B4I,4BAA4B;AAA5BA,IAAAA,4BAA4B,GAAAiK,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAA9S,IAAA,CACnC8I,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAgK,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAC,cAAA,GAAA/S,IAAA,CAC1ByF,SAAS;AAATA,IAAAA,SAAS,GAAAsN,cAAA,KAAA,MAAA,GAAGrQ,oBAAoB,GAAAqQ,cAAA;IAAAC,oBAAA,GAAAhT,IAAA,CAChCiT,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG;AAAEE,MAAAA,OAAO,EAAE,KAAK;AAAE9S,MAAAA,iBAAiB,EAAE;AAAG,KAAC,GAAA4S,oBAAA;AAE3D,EAAA,IAAA3S,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAC,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlE2S,IAAAA,qBAAqB,GAAAzS,UAAA,CAAA,CAAA,CAAA;AAAE0S,IAAAA,wBAAwB,GAAA1S,UAAA,CAAA,CAAA,CAAA;AACtD,EAAA,IAAA4I,SAAA,GAAsBC,QAAQ,CAACV,IAAI,CAAC;IAAAW,UAAA,GAAA7I,cAAA,CAAA2I,SAAA,EAAA,CAAA,CAAA;AAA7B9B,IAAAA,KAAK,GAAAgC,UAAA,CAAA,CAAA,CAAA;AAAEzB,IAAAA,IAAI,GAAAyB,UAAA,CAAA,CAAA,CAAA;EAClB,IAAM6J,UAAU,GAAGtL,IAAI,CAACuL,OAAO,GAAGvL,IAAI,CAACnE,KAAK,GAAG,IAAI;AAEnD,EAAA,IAAM2P,eAAe,GAAG1L,kBAAkB,CAACC,YAAY,EAAEC,IAAI,CAAC;AAE9D,EAAA,IAAMhE,OAAO,GAAA,CAAA8M,YAAA,GAAGrJ,KAAK,CAAC3F,KAAK,MAAA,IAAA,IAAAgP,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAI,EAAE;EAEjC,IAAA2C,gBAAA,GASI9K,eAAe,CAAC;AAClB3E,MAAAA,OAAO,EAAPA,OAAO;AACPzB,MAAAA,QAAQ,EAARA,QAAQ;AACRqG,MAAAA,aAAa,EAAbA,aAAa;AACblD,MAAAA,SAAS,EAATA,SAAS;AACTmD,MAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BpE,MAAAA,eAAe,EAAfA,eAAe;AACfqE,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,eAAe,EAAfA,eAAe;AACflB,MAAAA,YAAY,EAAZA,YAAY;AACZmB,MAAAA,WAAW,EAAXA;AACF,KAAC,CAAC;IArBAC,WAAW,GAAAsK,gBAAA,CAAXtK,WAAW;IACXwC,eAAe,GAAA8H,gBAAA,CAAf9H,eAAe;IACfI,mBAAmB,GAAA0H,gBAAA,CAAnB1H,mBAAmB;IACnBjC,YAAY,GAAA2J,gBAAA,CAAZ3J,YAAY;IACZ2C,aAAa,GAAAgH,gBAAA,CAAbhH,aAAa;IACb3B,YAAY,GAAA2I,gBAAA,CAAZ3I,YAAY;IACZI,aAAa,GAAAuI,gBAAA,CAAbvI,aAAa;IACbgB,WAAW,GAAAuH,gBAAA,CAAXvH,WAAW;;AAgBb;AACA;EACA,IAAIuF,UAAU,GAAG,IAAI;AACrB,EAAA,IAAI7I,aAAa,EAAE6I,UAAU,GAAGzN,OAAO,CAAC0P,KAAK,CAAC/O,IAAI,CAAC,IAAI,CAAC,IAAId,KAAK,CAAC;AAElE,EAAA,IAAM8P,cAAc,GAAG5P,iBAAiB,CAACC,OAAO,EAAES,eAAe,CAAC;AAClE,EAAA,IAAM8G,eAAe,GAAGoI,cAAc,CAACnN,MAAM,CAC3C,UAAAuD,KAAA,EAAA;AAAA,IAAA,IAAsB6J,OAAO,GAAA7J,KAAA,CAAzBtF,eAAe,CAAA;AAAA,IAAA,OAAiB,CAACmP,OAAO;AAAA,EAAA,CAC9C,CAAC;EAED,IAAM9F,gBAAgB,GACpBvC,eAAe,CAACrH,MAAM,IAAI8N,UAAU,IAAItE,QAAQ,IAAI,CAAC4E,qBAAqB;AAC5E,EAAA,IAAM1E,eAAe,GAAGF,QAAQ,IAAI,CAAC8E,oBAAoB;AAEzD,EAAA,IAAMqB,gBAAgB,GAAG;AACvBnG,IAAAA,QAAQ,EAARA,QAAQ;AACR8D,IAAAA,SAAS,EAATA,SAAS;AACTF,IAAAA,QAAQ,EAARA,QAAQ;AACRxH,IAAAA,YAAY,EAAZA,YAAY;AACZgF,IAAAA,iBAAiB,EAAEb,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAARA,QAAQ,GAAInD,YAAY;AAC3CyG,IAAAA,gBAAgB,EAAEvD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAPA,OAAO,GAAI9B,WAAW;AACxCO,IAAAA,aAAa,EAAbA,aAAa;AACbqB,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,IAAAA,eAAe,EAAfA,eAAe;AACf1E,IAAAA,WAAW,EAAXA,WAAW;AACXuI,IAAAA,UAAU,EAAVA,UAAU;AACV1J,IAAAA,YAAY,EAAZA,YAAY;AACZkB,IAAAA,eAAe,EAAfA,eAAe;AACfwH,IAAAA,UAAU,EAAVA,UAAU;AACV/K,IAAAA,SAAS,EAATA,SAAS;AACTmJ,IAAAA,MAAM,EAANA,MAAM;AACNrH,IAAAA,MAAM,EAANA,MAAM;AACN2B,IAAAA,WAAW,EAAXA;GACD;;AAED;AACA;EACA,IAAM2K,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,QAAQ,EAAEpK,CAAC,EAAEqK,MAAM,EAAK;AAC/C,IAAA,IAAMC,aAAa,GAAGD,MAAM,CAAC,QAAQ,CAAC,CAACvL,KAAK;AAC5C,IAAA,IAAMvD,MAAM,GAAGqG,eAAe,CAAC0I,aAAa,CAAC;IAC7C,IAAMC,WAAW,GAAG9J,aAAa,CAAClF,MAAM,CAACK,EAAE,EAAEvB,OAAO,CAAC;AAErD,IAAA,oBACE5C,GAAA,CAACiQ,WAAW,EAAA3I,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EACDmL,gBAAgB,CAAA,EAAA,EAAA,EAAA;AAAE3O,MAAAA,MAAM,EAANA;AAAM,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;MACjC0J,eAAe,EAAEmF,QAAQ,CAACnF,eAAgB;AAC1CF,MAAAA,QAAQ,EAAE,IAAK;MACf5F,IAAI,EAAA,EAAA,CAAAlD,MAAA,CAAKkD,IAAI,OAAAlD,MAAA,CAAIsO,WAAW,EAAA,QAAA,CAAS;AACrCnG,MAAAA,WAAW,EAAEkG,aAAc;AAC3BtF,MAAAA,cAAc,EAAAjG,aAAA,CAAAA,aAAA,CAAA,EAAA,EACTqL,QAAQ,CAACpF,cAAc,CAAA,EAAA,EAAA,EAAA;QAC1BpN,KAAK,EAAAmH,aAAA,CAAAA,aAAA,KAAOqL,QAAQ,CAACpF,cAAc,CAACpN,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE4S,UAAAA,MAAM,EAAE;AAAM,SAAA;AAAE,OAAA;AAC3D,KAAA,CACH,CAAC;EAEN,CAAC;AAED,EAAA,oBACElT,IAAA,CAAA,MAAA,EAAA;AAAMmT,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE5R,CAAC,EAAA;AAAA,MAAA,OAAIA,CAAC,CAAC6E,cAAc,EAAE;IAAA,CAAC;IAAAlG,QAAA,EAAA,cACtCF,IAAA,CAACoT,eAAe,EAAA;AAACC,MAAAA,SAAS,EAAEpJ,aAAc;MAAA/J,QAAA,EAAA,cACxCC,GAAA,CAACmT,SAAS,EAAA;AACRC,QAAAA,WAAW,EAAA,gCAAA,CAAA5O,MAAA,CAAmCkD,IAAI,CAAG;AACrD2L,QAAAA,cAAc,EAAE,CAACjD,SAAS,IAAI9D,QAAS;AACvCgH,QAAAA,WAAW,EAAEZ,eAAgB;QAAA3S,QAAA,EAE5B,SAAAA,QAAAA,CAAAgK,KAAA,EAAA;AAAA,UAAA,IAAAwJ,KAAA;AAAA,UAAA,IAAGjG,QAAQ,GAAAvD,KAAA,CAARuD,QAAQ;YAAEkG,cAAc,GAAAzJ,KAAA,CAAdyJ,cAAc;YAAEhT,WAAW,GAAAuJ,KAAA,CAAXvJ,WAAW;AAAA,UAAA,oBACvCX,IAAA,CAAA,KAAA,EAAAyH,aAAA,CAAAA,aAAA,CAAA;AAAKsG,YAAAA,GAAG,EAAEN;AAAS,WAAA,EAAKkG,cAAc,CAAA,EAAA,EAAA,EAAA;YAAAzT,QAAA,EAAA,cACpCC,GAAA,CAACyT,UAAU,EAAA;AAAO/L,cAAAA,IAAI,EAAJA,IAAI;AAAA3H,cAAAA,QAAA,EACnB,SAAAA,QAAAA,CAAA4J,YAAY,EAAI;gBACf,IAAM/G,OAAO,GAAGmC,kBAAkB,CAChC2C,IAAI,EACJiC,YAAY,CAAC2B,IAAI,CAACrG,MACpB,CAAC;AAED,gBAAA,OAAOrC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEwE,GAAG,CAAC,UAACtD,MAAM,EAAEuD,KAAK,EAAK;kBACrC,IAAIvD,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAGT,eAAe,CAAC,EAAE,OAAO,IAAI;kBAE1C,IAAMsJ,WAAW,GAAG3D,aAAa,CAC/BlF,MAAM,CAACK,EAAE,EACTgG,eACF,CAAC;kBAED,oBACEnK,GAAA,CAAC0T,SAAS,EAAA;AACRC,oBAAAA,OAAO,EAAE9P,iBAAiB,CAACC,MAAM,CAAE;AACnC8P,oBAAAA,WAAW,EAAE/P,iBAAiB,CAACC,MAAM,CAAE;AACvCuD,oBAAAA,KAAK,EAAEsF,WAAY;AACnBkH,oBAAAA,cAAc,EAAE,CAACzD,SAAS,IAAI9D,QAAS;oBAAAvM,QAAA,EAGtC,SAAAA,QAAAA,CAAA+T,KAAA,EAAA;AAAA,sBAAA,IAAGxG,QAAQ,GAAAwG,KAAA,CAARxG,QAAQ;wBAAEC,cAAc,GAAAuG,KAAA,CAAdvG,cAAc;wBAAEC,eAAe,GAAAsG,KAAA,CAAftG,eAAe;AAAA,sBAAA,oBAC3CxN,GAAA,CAACiQ,WAAW,EAAA3I,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAELmL,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnB9I,wBAAAA,YAAY,EAAZA,YAAY;AACZ6D,wBAAAA,eAAe,EAAfA,eAAe;AACfD,wBAAAA,cAAc,EAAdA,cAAc;AACdD,wBAAAA,QAAQ,EAARA,QAAQ;AACRxJ,wBAAAA,MAAM,EAANA,MAAM;AACN6I,wBAAAA,WAAW,EAAXA;AAAW,uBAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAEbjF,wBAAAA,IAAI,KAAAlD,MAAA,CAAKkD,IAAI,EAAA,GAAA,CAAA,CAAAlD,MAAA,CAAI6C,KAAK,EAAA,QAAA;AAAS,uBAAA,CAChC,CAAC;AAAA,oBAAA;AACH,mBAAA,EAfIxD,iBAAiB,CAACC,MAAM,CAgBpB,CAAC;AAEhB,gBAAA,CAAC,CAAC;AACJ,cAAA;AAAC,aACS,CAAC,EACZtD,WAAW,eACZR,GAAA,CAACwC,SAAS,EAAA;AAACC,cAAAA,KAAK,EAAA,CAAA8Q,KAAA,GAAE9Q,KAAK,aAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI2P,eAAe,MAAA,IAAA,IAAAmB,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAIrB;AAAW,aAAE,CAAC;AAAA,WAAA,CACzD,CAAC;AAAA,QAAA;OAEC,CAAC,eACZrS,IAAA,CAAA,KAAA,EAAA;AAAKS,QAAAA,SAAS,EAAC,wCAAwC;AAAAP,QAAAA,QAAA,GACpD6H,kBAAkB,iBACjB5H,GAAA,CAACgB,MAAM,EAAAsG,aAAA,CAAA;AACL,UAAA,SAAA,EAAQ,iBAAiB;AACzB,UAAA,aAAA,EAAY,iBAAiB;UAC7BgF,QAAQ,EAAE,CAAC+D,UAAW;AACtBtD,UAAAA,IAAI,EAAEgH,IAAK;AACXC,UAAAA,YAAY,EAAC,MAAM;AACnBzT,UAAAA,KAAK,EAAEnB,CAAC,CAAC,uCAAuC,CAAE;AAClD8M,UAAAA,IAAI,EAAC,OAAO;AACZ/L,UAAAA,KAAK,EAAC,MAAM;AACZmB,UAAAA,OAAO,EAAEiJ;AAAgB,SAAA,EACrBmG,WAAW,CAChB,CACF,EACAoB,eAAe,CAACC,OAAO,IAAI,CAAClK,eAAe,IAAI,CAAClB,YAAY,iBAC3D3G,GAAA,CAACgB,MAAM,EAAA;AACL,UAAA,SAAA,EAAQ,sBAAsB;AAC9B,UAAA,aAAA,EAAY,sBAAsB;UAClCsL,QAAQ,EAAE,CAAC+D,UAAW;AACtB9P,UAAAA,KAAK,EAAEnB,CAAC,CAAC,qCAAqC,CAAE;AAChD8M,UAAAA,IAAI,EAAC,OAAO;AACZ/L,UAAAA,KAAK,EAAC,MAAM;UACZmB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ2Q,wBAAwB,CAAC,IAAI,CAAC;AAAA,UAAA;AAAC,SAC/C,CACF;AAAA,OACE,CAAC;AAAA,KACS,CAAC,eAClBjS,GAAA,CAACpB,eAAe,EAAA;MACdK,iBAAiB,EAAE6S,eAAe,CAAC7S,iBAAkB;AACrDD,MAAAA,aAAa,EAAE2L,mBAAoB;AACnC7L,MAAAA,MAAM,EAAEkT,qBAAsB;MAC9BjT,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQkT,wBAAwB,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KAChD,CAAC;AAAA,GACE,CAAC;AAEX;;;;"}
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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"}
@@ -699,6 +699,7 @@ var ProfileMenu = function ProfileMenu(_ref) {
699
699
  }
700
700
  }),
701
701
  href: NEETO_AUTH_BILLING_INFO_URL,
702
+ "data-cy": "subscription-plan",
702
703
  "data-testid": "subscription-plan"
703
704
  }]
704
705
  }), showProductSwitcher && /*#__PURE__*/jsxRuntime.jsx(ProductSwitcher, {