@bigbinary/neeto-molecules 3.3.15 → 3.3.17

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.
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { useState, createElement } from 'react';
4
4
  import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
5
- import { isNotEmpty, noop, slugify } from '@bigbinary/neeto-cist';
5
+ import { findIndexById, isNotEmpty, noop, slugify } from '@bigbinary/neeto-cist';
6
6
  import Plus from '@bigbinary/neeto-icons/Plus';
7
7
  import Button from '@bigbinary/neetoui/Button';
8
8
  import Typography from '@bigbinary/neetoui/Typography';
@@ -48,7 +48,8 @@ var BlockOption = withT(function (_ref) {
48
48
  label = _ref.label,
49
49
  index = _ref.index,
50
50
  onEdit = _ref.onEdit,
51
- handleDeleteClick = _ref.handleDeleteClick;
51
+ handleDeleteClick = _ref.handleDeleteClick,
52
+ id = _ref.id;
52
53
  return /*#__PURE__*/jsx("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({
53
54
  ref: innerRef
54
55
  }, draggableProps), dragHandleProps), {}, {
@@ -90,7 +91,8 @@ var BlockOption = withT(function (_ref) {
90
91
  },
91
92
  onClick: function onClick() {
92
93
  return handleDeleteClick({
93
- index: index
94
+ index: index,
95
+ id: id
94
96
  });
95
97
  }
96
98
  })]
@@ -188,7 +190,7 @@ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t
188
190
  var attachPosition = function attachPosition(options) {
189
191
  return options.map(function (option, index) {
190
192
  return _objectSpread$2(_objectSpread$2({}, option), {}, {
191
- position: index + 1
193
+ position: index
192
194
  });
193
195
  });
194
196
  };
@@ -210,12 +212,14 @@ var useOptionFields = function useOptionFields(_ref) {
210
212
  });
211
213
  var _useFormikContext = useFormikContext(),
212
214
  initialValues = _useFormikContext.initialValues;
213
- var handleChange = function handleChange(index, value) {
215
+ var handleChange = function handleChange(id, value) {
214
216
  var isOnBlur = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
217
+ var filteredOptions = filterDeletedRecords(options);
218
+ var index = findIndexById(id, filteredOptions);
215
219
  var draftAttributes = currentRecord === null || currentRecord === void 0 ? void 0 : currentRecord.draftAttributes;
216
220
  var getNextOptions = function getNextOptions() {
217
221
  var _path$index, _path$index2;
218
- return assocPath([index, "label"], isOnBlur ? ((_path$index = path(name.split("."), initialValues)[index]) === null || _path$index === void 0 ? void 0 : _path$index.label) || ((_path$index2 = path(name.split("."), draftAttributes)[index]) === null || _path$index2 === void 0 ? void 0 : _path$index2.label) : value, filterDeletedRecords(options));
222
+ return assocPath([index, "label"], isOnBlur ? ((_path$index = path(name.split("."), initialValues)[index]) === null || _path$index === void 0 ? void 0 : _path$index.label) || ((_path$index2 = path(name.split("."), draftAttributes)[index]) === null || _path$index2 === void 0 ? void 0 : _path$index2.label) : value, filteredOptions);
219
223
  };
220
224
  if (isOnBlur && !isEmpty(value)) return;
221
225
  onChange([].concat(_toConsumableArray(deletedOptions), _toConsumableArray(getNextOptions())));
@@ -226,12 +230,15 @@ var useOptionFields = function useOptionFields(_ref) {
226
230
  var isDuplicateLabel = pluck("label", opts).includes(tempLabel);
227
231
  return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;
228
232
  };
229
- var handleDelete = function handleDelete(index) {
233
+ var handleDelete = function handleDelete(_, id) {
230
234
  var nextOptions;
231
235
  if (shouldDestroy) {
232
- nextOptions = assocPath([index, "deleted"], true, filterDeletedRecords(options));
236
+ var filteredOptions = filterDeletedRecords(options);
237
+ var indexToDelete = findIndexById(id, filteredOptions);
238
+ nextOptions = assocPath([indexToDelete, "deleted"], true, filteredOptions);
233
239
  } else {
234
- nextOptions = remove(index, 1, options);
240
+ var _indexToDelete = findIndexById(id, options);
241
+ nextOptions = remove(_indexToDelete, 1, options);
235
242
  nextOptions = attachPosition(nextOptions);
236
243
  }
237
244
  onChange([].concat(_toConsumableArray(deletedOptions), _toConsumableArray(nextOptions)));
@@ -248,7 +255,7 @@ var useOptionFields = function useOptionFields(_ref) {
248
255
  };
249
256
  var handleAddOption = function handleAddOption() {
250
257
  setShouldFocus(true);
251
- var position = filterDeletedRecords(options).length;
258
+ var position = options.length;
252
259
  var id = randomId();
253
260
  var newOption = {
254
261
  id: "draft-".concat(id),
@@ -315,13 +322,14 @@ var InputOption = function InputOption(_ref) {
315
322
  label = _ref.label,
316
323
  index = _ref.index,
317
324
  disabled = _ref.disabled,
318
- isTextArea = _ref.isTextArea;
325
+ isTextArea = _ref.isTextArea,
326
+ id = _ref.id;
319
327
  var _useTranslation = useTranslation(),
320
328
  t = _useTranslation.t;
321
329
  var Component = isTextArea ? Textarea : Input;
322
- return /*#__PURE__*/jsx("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({
330
+ return /*#__PURE__*/jsx("div", _objectSpread$1(_objectSpread$1({
323
331
  ref: innerRef
324
- }, draggableProps), dragHandleProps), {}, {
332
+ }, _objectSpread$1(_objectSpread$1({}, draggableProps), dragHandleProps)), {}, {
325
333
  "data-cy": "form-block-options",
326
334
  children: /*#__PURE__*/jsxs("div", {
327
335
  className: "nf-input-options group relative mb-2 flex items-center gap-2",
@@ -357,17 +365,18 @@ var InputOption = function InputOption(_ref) {
357
365
  },
358
366
  onClick: function onClick() {
359
367
  return onDelete({
360
- index: index
368
+ index: index,
369
+ id: id
361
370
  });
362
371
  }
363
372
  }),
364
373
  onBlur: function onBlur(_ref2) {
365
374
  var target = _ref2.target;
366
- return _onChange(index, target.value, true);
375
+ return _onChange(id, target.value, true);
367
376
  },
368
377
  onChange: function onChange(_ref3) {
369
378
  var target = _ref3.target;
370
- return _onChange(index, target.value);
379
+ return _onChange(id, target.value);
371
380
  },
372
381
  onFocus: function onFocus(_ref4) {
373
382
  var target = _ref4.target;
@@ -440,9 +449,10 @@ var OptionFields = function OptionFields(_ref) {
440
449
  isEditable = options.every(prop("id") || error) && !options.some(prop("_destroy"));
441
450
  }
442
451
  var handleDeleteClick = function handleDeleteClick(_ref2) {
443
- var index = _ref2.index;
452
+ var index = _ref2.index,
453
+ id = _ref2.id;
444
454
  var deleteFunction = onDelete !== null && onDelete !== void 0 ? onDelete : handleDelete;
445
- deleteFunction(index);
455
+ deleteFunction(index, id);
446
456
  };
447
457
  var visibleOptions = getVisibleOptions(options);
448
458
  var hideDeleteOption = visibleOptions.length <= minOptions;
@@ -469,6 +479,7 @@ var OptionFields = function OptionFields(_ref) {
469
479
  children: [visibleOptions.map(function (option, index) {
470
480
  return /*#__PURE__*/createElement(Draggable, {
471
481
  index: index,
482
+ dataKey: getUniqueOptionId(option),
472
483
  draggableId: getUniqueOptionId(option),
473
484
  isDragDisabled: !draggable,
474
485
  key: getUniqueOptionId(option)
@@ -487,6 +498,7 @@ var OptionFields = function OptionFields(_ref) {
487
498
  name: name,
488
499
  shouldFocus: shouldFocus,
489
500
  disabled: !isEditable,
501
+ id: option.id,
490
502
  label: option.label,
491
503
  onChange: handleChange,
492
504
  onDelete: handleDeleteClick,
@@ -499,6 +511,7 @@ var OptionFields = function OptionFields(_ref) {
499
511
  index: index,
500
512
  innerRef: innerRef,
501
513
  onEdit: onEdit,
514
+ id: option.id,
502
515
  label: option.label
503
516
  });
504
517
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OptionFields.js","sources":["../src/components/OptionFields/DragHandle.jsx","../src/components/OptionFields/BlockOption.jsx","../src/components/OptionFields/BulkOptionModal.jsx","../src/components/OptionFields/constants.js","../src/components/OptionFields/utils.js","../src/components/OptionFields/hooks/useOptionFields.js","../src/components/OptionFields/InputOption.jsx","../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\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 <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow 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 }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n }}\n onClick={() => handleDeleteClick({ index })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","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=\"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","import { prop, reject } from \"ramda\";\n\nexport const getVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { pluck, append, assocPath, move, path, remove, isEmpty } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index + 1 }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n name = \"\",\n currentRecord,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n\n const deletedOptions = options.filter(option => !!option?.deleted);\n\n const { initialValues } = useFormikContext();\n\n const handleChange = (index, value, isOnBlur = false) => {\n const draftAttributes = currentRecord?.draftAttributes;\n\n const getNextOptions = () =>\n assocPath(\n [index, \"label\"],\n isOnBlur\n ? path(name.split(\".\"), initialValues)[index]?.label ||\n path(name.split(\".\"), draftAttributes)[index]?.label\n : value,\n filterDeletedRecords(options)\n );\n if (isOnBlur && !isEmpty(value)) return;\n onChange([...deletedOptions, ...getNextOptions()]);\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = index => {\n let nextOptions;\n\n if (shouldDestroy) {\n nextOptions = assocPath(\n [index, \"deleted\"],\n true,\n filterDeletedRecords(options)\n );\n } else {\n nextOptions = remove(index, 1, options);\n nextOptions = attachPosition(nextOptions);\n }\n onChange([...deletedOptions, ...nextOptions]);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position,\n };\n const nextOptions = append(newOption, options);\n onChange(nextOptions);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(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 onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\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 handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n }}\n onClick={() => onDelete({ index })}\n />\n )\n }\n onBlur={({ target }) => onChange(index, target.value, true)}\n onChange={({ target }) => onChange(index, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { noop, slugify } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n currentRecord = {},\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n name,\n currentRecord,\n itemLabel,\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) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index);\n };\n const visibleOptions = getVisibleOptions(options);\n const hideDeleteOption = visibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\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}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {visibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\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 {bulkActionProps.enabled && (\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 * Current record object\n */\n currentRecord: PropTypes.object,\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: 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};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$name","name","currentRecord","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","deletedOptions","_useFormikContext","useFormikContext","initialValues","handleChange","isOnBlur","draftAttributes","getNextOptions","_path$index","_path$index2","assocPath","path","split","isEmpty","concat","_toConsumableArray","generateLabel","opts","count","labelCount","tempLabel","isDuplicateLabel","pluck","includes","handleDelete","nextOptions","remove","handleDragEnd","_ref2","source","destination","filteredOptions","move","finalOptions","handleAddOption","id","newOption","altId","append","handleBulkAddOption","newOptions","trim","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$currentRecord","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","visibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
1
+ {"version":3,"file":"OptionFields.js","sources":["../src/components/OptionFields/DragHandle.jsx","../src/components/OptionFields/BlockOption.jsx","../src/components/OptionFields/BulkOptionModal.jsx","../src/components/OptionFields/constants.js","../src/components/OptionFields/utils.js","../src/components/OptionFields/hooks/useOptionFields.js","../src/components/OptionFields/InputOption.jsx","../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\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 <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow 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 }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","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=\"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","import { prop, reject } from \"ramda\";\n\nexport const getVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, path, remove, isEmpty } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, 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 name = \"\",\n currentRecord,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n\n const deletedOptions = options.filter(option => !!option?.deleted);\n\n const { initialValues } = useFormikContext();\n\n const handleChange = (id, value, isOnBlur = false) => {\n const filteredOptions = filterDeletedRecords(options);\n const index = findIndexById(id, filteredOptions);\n const draftAttributes = currentRecord?.draftAttributes;\n\n const getNextOptions = () =>\n assocPath(\n [index, \"label\"],\n isOnBlur\n ? path(name.split(\".\"), initialValues)[index]?.label ||\n path(name.split(\".\"), draftAttributes)[index]?.label\n : value,\n filteredOptions\n );\n if (isOnBlur && !isEmpty(value)) return;\n onChange([...deletedOptions, ...getNextOptions()]);\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n if (shouldDestroy) {\n const filteredOptions = filterDeletedRecords(options);\n const indexToDelete = findIndexById(id, filteredOptions);\n nextOptions = assocPath(\n [indexToDelete, \"deleted\"],\n true,\n filteredOptions\n );\n } else {\n const indexToDelete = findIndexById(id, options);\n nextOptions = remove(indexToDelete, 1, options);\n nextOptions = attachPosition(nextOptions);\n }\n onChange([...deletedOptions, ...nextOptions]);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n setShouldFocus(true);\n const position = options.length;\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position,\n };\n const nextOptions = append(newOption, options);\n onChange(nextOptions);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(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 onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\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 handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\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-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n currentRecord = {},\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n name,\n currentRecord,\n itemLabel,\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) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const visibleOptions = getVisibleOptions(options);\n const hideDeleteOption = visibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\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}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {visibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\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 {bulkActionProps.enabled && (\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 * Current record object\n */\n currentRecord: PropTypes.object,\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: 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};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$name","name","currentRecord","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","deletedOptions","_useFormikContext","useFormikContext","initialValues","handleChange","isOnBlur","filteredOptions","findIndexById","draftAttributes","getNextOptions","_path$index","_path$index2","assocPath","path","split","isEmpty","concat","_toConsumableArray","generateLabel","opts","count","labelCount","tempLabel","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","move","finalOptions","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$currentRecord","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","visibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
@@ -541,7 +541,7 @@ var Options = function Options(_ref) {
541
541
  setSelectedOption = _ref.setSelectedOption;
542
542
  return /*#__PURE__*/jsx(Radio, {
543
543
  stacked: true,
544
- containerClassName: "w-full flex flex-col gap-y-6",
544
+ containerClassName: "w-full flex flex-col gap-y-4",
545
545
  name: "options",
546
546
  children: Object.entries(options).map(function (_ref2) {
547
547
  var _ref3 = _slicedToArray(_ref2, 2),
@@ -704,7 +704,7 @@ var Preview = function Preview(_ref) {
704
704
  });
705
705
  };
706
706
 
707
- var css = ".neeto-molecules-product-embed-size-input.neeto-ui-input__wrapper .neeto-ui-input__prefix{align-self:stretch;background-color:rgb(var(--neeto-ui-gray-200));margin-left:0!important;padding-left:12px;padding-right:12px}.neeto-molecules-product-embed-tab{gap:.5rem}.neeto-molecules-product-embed-tab .neeto-ui-tab{border-radius:var(--neeto-ui-btn-border-radius);color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-product-embed-tab .neeto-ui-tab:not(.active):hover{background-color:rgb(var(--neeto-ui-gray-100))}.neeto-molecules-product-embed-tab .neeto-ui-tab.active{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-embed-left-sidebar{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;max-width:28rem;overflow-y:auto;padding:1.5rem;width:100%}";
707
+ var css = ".neeto-molecules-product-embed-size-input.neeto-ui-input__wrapper .neeto-ui-input__prefix{align-self:stretch;background-color:rgb(var(--neeto-ui-gray-200));margin-left:0!important;padding-left:12px;padding-right:12px}.neeto-molecules-product-embed-tab{gap:.5rem}.neeto-molecules-product-embed-tab .neeto-ui-tab{border-radius:var(--neeto-ui-btn-border-radius);color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-product-embed-tab .neeto-ui-tab:not(.active):hover{background-color:rgb(var(--neeto-ui-gray-100))}.neeto-molecules-product-embed-tab .neeto-ui-tab.active{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-embed__left-sidebar{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:1.5rem;width:100%}@media (min-width:768px){.neeto-molecules-embed__left-sidebar{border-right:1px solid rgb(var(--neeto-ui-gray-200));max-width:400px}}@media (min-width:1024px){.neeto-molecules-embed__left-sidebar{max-width:440px}}";
708
708
  n(css,{});
709
709
 
710
710
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -772,10 +772,10 @@ var ProductEmbed = function ProductEmbed(_ref) {
772
772
  if (isScriptLoaded) setIsScriptLoading(false);else loadScript();
773
773
  }, []);
774
774
  return /*#__PURE__*/jsxs("div", {
775
- className: classnames("flex w-full flex-grow", className),
776
775
  "data-testid": "embed-product",
776
+ className: classnames("neeto-molecules-embed flex w-full flex-grow flex-col md:flex-row", className),
777
777
  children: [/*#__PURE__*/jsxs("div", {
778
- className: "neeto-molecules-embed-left-sidebar border-r",
778
+ className: "neeto-molecules-embed__left-sidebar",
779
779
  children: [goBackLink && /*#__PURE__*/jsx(Button, {
780
780
  className: "mb-4 px-0",
781
781
  "data-cy": "back-button",
@@ -796,7 +796,7 @@ var ProductEmbed = function ProductEmbed(_ref) {
796
796
  style: "body3",
797
797
  children: t("neetoMolecules.productEmbed.embedOptions.description")
798
798
  }), /*#__PURE__*/jsxs("div", {
799
- className: "mt-6 flex w-full flex-col gap-y-6 pb-10",
799
+ className: "mt-6 flex w-full flex-col gap-y-6 md:pb-10",
800
800
  children: [/*#__PURE__*/jsx(Options, {
801
801
  options: options,
802
802
  selectedOption: selectedOption,
@@ -810,7 +810,7 @@ var ProductEmbed = function ProductEmbed(_ref) {
810
810
  })]
811
811
  })]
812
812
  }), /*#__PURE__*/jsxs("div", {
813
- className: "neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6",
813
+ className: "neeto-molecules-embed__preview neeto-ui-bg-white flex min-h-screen w-full min-w-0 flex-col gap-4 p-6 md:min-h-0 md:flex-grow",
814
814
  children: [/*#__PURE__*/jsx(Header, {
815
815
  setTab: setTab,
816
816
  tab: tab