@bigbinary/neeto-molecules 2.0.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/Builder.js +7 -1
  2. package/dist/Builder.js.map +1 -1
  3. package/dist/CalendarView.js +8 -2
  4. package/dist/CalendarView.js.map +1 -1
  5. package/dist/{Chevron-5b713e55.js → Chevron-32c7251d.js} +2 -2
  6. package/dist/{Chevron-5b713e55.js.map → Chevron-32c7251d.js.map} +1 -1
  7. package/dist/Codeblock.js +2 -1
  8. package/dist/Codeblock.js.map +1 -1
  9. package/dist/Columns.js +2 -2
  10. package/dist/ConfigurePageSidebar.js +2 -2
  11. package/dist/CopyToClipboardButton.js +2 -1
  12. package/dist/CopyToClipboardButton.js.map +1 -1
  13. package/dist/CustomDomain.js +9 -5
  14. package/dist/CustomDomain.js.map +1 -1
  15. package/dist/CustomDomainDashboard.js +12 -5
  16. package/dist/CustomDomainDashboard.js.map +1 -1
  17. package/dist/DocumentEditor.js +1 -1
  18. package/dist/DynamicVariables.js +1 -1
  19. package/dist/EmailForm.js +6 -2
  20. package/dist/EmailForm.js.map +1 -1
  21. package/dist/EmailPreview.js +1 -1
  22. package/dist/EmojiPicker.js +6 -3
  23. package/dist/EmojiPicker.js.map +1 -1
  24. package/dist/FloatingActionMenu.js +7 -2
  25. package/dist/FloatingActionMenu.js.map +1 -1
  26. package/dist/Header.js +3 -1
  27. package/dist/Header.js.map +1 -1
  28. package/dist/HelpPopover.js +1 -1
  29. package/dist/IconPicker.js +1 -1
  30. package/dist/InlineInput.js +2 -1
  31. package/dist/InlineInput.js.map +1 -1
  32. package/dist/Insights.js +2 -1
  33. package/dist/Insights.js.map +1 -1
  34. package/dist/IntegrationCard.js +4 -1
  35. package/dist/IntegrationCard.js.map +1 -1
  36. package/dist/IpRestriction.js +24 -11
  37. package/dist/IpRestriction.js.map +1 -1
  38. package/dist/KeyboardShortcuts.js +1 -1
  39. package/dist/MenuBar.js +3 -1
  40. package/dist/MenuBar.js.map +1 -1
  41. package/dist/Metadata.js +3 -1
  42. package/dist/Metadata.js.map +1 -1
  43. package/dist/MoreDropdown.js +2 -1
  44. package/dist/MoreDropdown.js.map +1 -1
  45. package/dist/NavigationHeader.js +7 -1
  46. package/dist/NavigationHeader.js.map +1 -1
  47. package/dist/NeetoWidget.js +29 -24
  48. package/dist/NeetoWidget.js.map +1 -1
  49. package/dist/Onboarding.js +1 -1
  50. package/dist/OptionFields.js +5 -1
  51. package/dist/OptionFields.js.map +1 -1
  52. package/dist/PhoneNumber.js +13 -10
  53. package/dist/PhoneNumber.js.map +1 -1
  54. package/dist/ProductEmbed.js +7 -1
  55. package/dist/ProductEmbed.js.map +1 -1
  56. package/dist/PublishBlock.js +2 -1
  57. package/dist/PublishBlock.js.map +1 -1
  58. package/dist/Rename.js +4 -1
  59. package/dist/Rename.js.map +1 -1
  60. package/dist/ResponsiveDevicePicker.js +3 -1
  61. package/dist/ResponsiveDevicePicker.js.map +1 -1
  62. package/dist/Schedule.js +5 -1
  63. package/dist/Schedule.js.map +1 -1
  64. package/dist/Search.js +1 -1
  65. package/dist/SendToFields.js +2 -1
  66. package/dist/SendToFields.js.map +1 -1
  67. package/dist/Settings.js +4 -1
  68. package/dist/Settings.js.map +1 -1
  69. package/dist/ShareRecordingPane.js +2 -1
  70. package/dist/ShareRecordingPane.js.map +1 -1
  71. package/dist/ShareViaEmail.js +6 -2
  72. package/dist/ShareViaEmail.js.map +1 -1
  73. package/dist/ShareViaLink.js +8 -1
  74. package/dist/ShareViaLink.js.map +1 -1
  75. package/dist/Sidebar.js +4 -3
  76. package/dist/Sidebar.js.map +1 -1
  77. package/dist/StickyRibbonsContainer.js +6 -3
  78. package/dist/StickyRibbonsContainer.js.map +1 -1
  79. package/dist/SubHeader.js +5 -2
  80. package/dist/SubHeader.js.map +1 -1
  81. package/dist/SuffixedInput.js +3 -1
  82. package/dist/SuffixedInput.js.map +1 -1
  83. package/dist/Taxonomy.js +17 -6
  84. package/dist/Taxonomy.js.map +1 -1
  85. package/dist/TimezoneMismatchModal.js +6 -5
  86. package/dist/TimezoneMismatchModal.js.map +1 -1
  87. package/dist/ToggleFeatureCard.js +2 -1
  88. package/dist/ToggleFeatureCard.js.map +1 -1
  89. package/dist/cjs/Builder.js +17 -6
  90. package/dist/cjs/Builder.js.map +1 -1
  91. package/dist/cjs/CalendarView.js +14 -5
  92. package/dist/cjs/CalendarView.js.map +1 -1
  93. package/dist/cjs/{Chevron-840304ff.js → Chevron-46844b59.js} +4 -3
  94. package/dist/cjs/{Chevron-840304ff.js.map → Chevron-46844b59.js.map} +1 -1
  95. package/dist/cjs/Codeblock.js +2 -1
  96. package/dist/cjs/Codeblock.js.map +1 -1
  97. package/dist/cjs/Columns.js +2 -2
  98. package/dist/cjs/ConfigurePageSidebar.js +2 -2
  99. package/dist/cjs/CopyToClipboardButton.js +6 -3
  100. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  101. package/dist/cjs/CustomDomain.js +10 -5
  102. package/dist/cjs/CustomDomain.js.map +1 -1
  103. package/dist/cjs/CustomDomainDashboard.js +12 -5
  104. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  105. package/dist/cjs/DocumentEditor.js +3 -2
  106. package/dist/cjs/DocumentEditor.js.map +1 -1
  107. package/dist/cjs/DynamicVariables.js +3 -2
  108. package/dist/cjs/DynamicVariables.js.map +1 -1
  109. package/dist/cjs/EmailForm.js +9 -4
  110. package/dist/cjs/EmailForm.js.map +1 -1
  111. package/dist/cjs/EmailPreview.js +3 -2
  112. package/dist/cjs/EmailPreview.js.map +1 -1
  113. package/dist/cjs/EmojiPicker.js +8 -4
  114. package/dist/cjs/EmojiPicker.js.map +1 -1
  115. package/dist/cjs/FloatingActionMenu.js +21 -9
  116. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  117. package/dist/cjs/Header.js +3 -1
  118. package/dist/cjs/Header.js.map +1 -1
  119. package/dist/cjs/HelpPopover.js +3 -2
  120. package/dist/cjs/HelpPopover.js.map +1 -1
  121. package/dist/cjs/IconPicker.js +4 -3
  122. package/dist/cjs/IconPicker.js.map +1 -1
  123. package/dist/cjs/InlineInput.js +6 -3
  124. package/dist/cjs/InlineInput.js.map +1 -1
  125. package/dist/cjs/Insights.js +4 -2
  126. package/dist/cjs/Insights.js.map +1 -1
  127. package/dist/cjs/IntegrationCard.js +8 -3
  128. package/dist/cjs/IntegrationCard.js.map +1 -1
  129. package/dist/cjs/IpRestriction.js +29 -13
  130. package/dist/cjs/IpRestriction.js.map +1 -1
  131. package/dist/cjs/KeyboardShortcuts.js +3 -2
  132. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  133. package/dist/cjs/MenuBar.js +9 -4
  134. package/dist/cjs/MenuBar.js.map +1 -1
  135. package/dist/cjs/Metadata.js +8 -3
  136. package/dist/cjs/Metadata.js.map +1 -1
  137. package/dist/cjs/MoreDropdown.js +5 -2
  138. package/dist/cjs/MoreDropdown.js.map +1 -1
  139. package/dist/cjs/NavigationHeader.js +9 -2
  140. package/dist/cjs/NavigationHeader.js.map +1 -1
  141. package/dist/cjs/NeetoWidget.js +32 -25
  142. package/dist/cjs/NeetoWidget.js.map +1 -1
  143. package/dist/cjs/Onboarding.js +4 -3
  144. package/dist/cjs/Onboarding.js.map +1 -1
  145. package/dist/cjs/OptionFields.js +16 -7
  146. package/dist/cjs/OptionFields.js.map +1 -1
  147. package/dist/cjs/PhoneNumber.js +13 -10
  148. package/dist/cjs/PhoneNumber.js.map +1 -1
  149. package/dist/cjs/ProductEmbed.js +17 -6
  150. package/dist/cjs/ProductEmbed.js.map +1 -1
  151. package/dist/cjs/PublishBlock.js +7 -4
  152. package/dist/cjs/PublishBlock.js.map +1 -1
  153. package/dist/cjs/Rename.js +8 -3
  154. package/dist/cjs/Rename.js.map +1 -1
  155. package/dist/cjs/ResponsiveDevicePicker.js +9 -4
  156. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  157. package/dist/cjs/Schedule.js +11 -4
  158. package/dist/cjs/Schedule.js.map +1 -1
  159. package/dist/cjs/Search.js +3 -2
  160. package/dist/cjs/Search.js.map +1 -1
  161. package/dist/cjs/SendToFields.js +7 -4
  162. package/dist/cjs/SendToFields.js.map +1 -1
  163. package/dist/cjs/Settings.js +6 -2
  164. package/dist/cjs/Settings.js.map +1 -1
  165. package/dist/cjs/ShareRecordingPane.js +2 -1
  166. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  167. package/dist/cjs/ShareViaEmail.js +11 -5
  168. package/dist/cjs/ShareViaEmail.js.map +1 -1
  169. package/dist/cjs/ShareViaLink.js +16 -5
  170. package/dist/cjs/ShareViaLink.js.map +1 -1
  171. package/dist/cjs/Sidebar.js +8 -4
  172. package/dist/cjs/Sidebar.js.map +1 -1
  173. package/dist/cjs/StickyRibbonsContainer.js +8 -4
  174. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  175. package/dist/cjs/SubHeader.js +11 -5
  176. package/dist/cjs/SubHeader.js.map +1 -1
  177. package/dist/cjs/SuffixedInput.js +5 -2
  178. package/dist/cjs/SuffixedInput.js.map +1 -1
  179. package/dist/cjs/Taxonomy.js +18 -6
  180. package/dist/cjs/Taxonomy.js.map +1 -1
  181. package/dist/cjs/TimezoneMismatchModal.js +6 -5
  182. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  183. package/dist/cjs/ToggleFeatureCard.js +6 -3
  184. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  185. package/dist/cjs/{index-a0ea156b.js → index-290bd1dd.js} +19 -15
  186. package/dist/cjs/index-290bd1dd.js.map +1 -0
  187. package/dist/cjs/{useColumns-5660bfea.js → useColumns-5ce3cf1e.js} +4 -3
  188. package/dist/cjs/{useColumns-5660bfea.js.map → useColumns-5ce3cf1e.js.map} +1 -1
  189. package/dist/{index-92e5af99.js → index-49458a38.js} +17 -14
  190. package/dist/index-49458a38.js.map +1 -0
  191. package/dist/{useColumns-cec6e827.js → useColumns-e0b5dfb7.js} +2 -2
  192. package/dist/{useColumns-cec6e827.js.map → useColumns-e0b5dfb7.js.map} +1 -1
  193. package/package.json +12 -10
  194. package/types/ShareViaLink.d.ts +3 -3
  195. package/dist/cjs/index-a0ea156b.js.map +0 -1
  196. package/dist/index-92e5af99.js.map +0 -1
@@ -5,18 +5,22 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
6
  var dnd = require('@hello-pangea/dnd');
7
7
  var neetoCist = require('@bigbinary/neeto-cist');
8
- var neetoIcons = require('@bigbinary/neeto-icons');
8
+ var Plus = require('@bigbinary/neeto-icons/Plus');
9
9
  var Button = require('@bigbinary/neetoui/Button');
10
10
  var Typography = require('@bigbinary/neetoui/Typography');
11
11
  var ramda = require('ramda');
12
12
  var reactI18next = require('react-i18next');
13
13
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
14
+ var Delete = require('@bigbinary/neeto-icons/Delete');
15
+ var Edit = require('@bigbinary/neeto-icons/Edit');
16
+ var Reorder = require('@bigbinary/neeto-icons/Reorder');
14
17
  var Modal = require('@bigbinary/neetoui/Modal');
15
18
  var Textarea = require('@bigbinary/neetoui/Textarea');
16
19
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
17
20
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
18
21
  var formik = require('formik');
19
22
  var i18next = require('i18next');
23
+ var ImageUpload = require('@bigbinary/neeto-icons/ImageUpload');
20
24
  var Input = require('@bigbinary/neetoui/Input');
21
25
 
22
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -24,13 +28,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
24
28
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
25
29
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
26
30
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+ var Plus__default = /*#__PURE__*/_interopDefaultLegacy(Plus);
27
32
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
28
33
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
34
+ var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
35
+ var Edit__default = /*#__PURE__*/_interopDefaultLegacy(Edit);
36
+ var Reorder__default = /*#__PURE__*/_interopDefaultLegacy(Reorder);
29
37
  var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
30
38
  var Textarea__default = /*#__PURE__*/_interopDefaultLegacy(Textarea);
31
39
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
32
40
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
33
41
  var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
42
+ var ImageUpload__default = /*#__PURE__*/_interopDefaultLegacy(ImageUpload);
34
43
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
35
44
 
36
45
  var DragHandle = function DragHandle(props) {
@@ -38,7 +47,7 @@ var DragHandle = function DragHandle(props) {
38
47
  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",
39
48
  "data-cy": "drag-handle",
40
49
  "data-testid": "drag-handle"
41
- }, props), /*#__PURE__*/React__default["default"].createElement(neetoIcons.Reorder, {
50
+ }, props), /*#__PURE__*/React__default["default"].createElement(Reorder__default["default"], {
42
51
  size: 24,
43
52
  strokeWidth: 2
44
53
  }));
@@ -71,7 +80,7 @@ var BlockOption = reactUtils.withT(function (_ref) {
71
80
  className: "neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1",
72
81
  "data-cy": "address-field-edit-button",
73
82
  "data-testid": "address-field-edit-button",
74
- icon: neetoIcons.Edit,
83
+ icon: Edit__default["default"],
75
84
  size: "small",
76
85
  style: "text",
77
86
  tooltipProps: {
@@ -85,7 +94,7 @@ var BlockOption = reactUtils.withT(function (_ref) {
85
94
  className: "neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1",
86
95
  "data-cy": "address-field-delete-button",
87
96
  "data-testid": "address-field-delete-button",
88
- icon: neetoIcons.Delete,
97
+ icon: Delete__default["default"],
89
98
  size: "small",
90
99
  style: "text",
91
100
  tooltipProps: {
@@ -323,7 +332,7 @@ var InputOption = function InputOption(_ref) {
323
332
  src: "https://i.pravatar.cc/300"
324
333
  }) : /*#__PURE__*/React__default["default"].createElement("div", {
325
334
  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"
326
- }, /*#__PURE__*/React__default["default"].createElement(neetoIcons.ImageUpload, {
335
+ }, /*#__PURE__*/React__default["default"].createElement(ImageUpload__default["default"], {
327
336
  size: 16
328
337
  }))), /*#__PURE__*/React__default["default"].createElement(Component, {
329
338
  disabled: disabled,
@@ -337,7 +346,7 @@ var InputOption = function InputOption(_ref) {
337
346
  className: "p-0.5",
338
347
  "data-cy": "delete-option-button-".concat(index),
339
348
  "data-testid": "delete-option-button",
340
- icon: neetoIcons.Delete,
349
+ icon: Delete__default["default"],
341
350
  size: "small",
342
351
  style: "text",
343
352
  tooltipProps: {
@@ -497,7 +506,7 @@ var OptionFields = function OptionFields(_ref) {
497
506
  "data-cy": "add-option-link",
498
507
  "data-testid": "add-option-link",
499
508
  disabled: !isEditable,
500
- icon: neetoIcons.Plus,
509
+ icon: Plus__default["default"],
501
510
  iconPosition: "left",
502
511
  label: t("neetoMolecules.optionFields.addOption"),
503
512
  size: "small",
@@ -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 React from \"react\";\n\nimport { 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 React from \"react\";\n\nimport { 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 React, { 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 React from \"react\";\n\nimport { 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 React, { 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","React","createElement","_extends","className","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","ref","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","_objectSpread","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","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 React from \"react\";\n\nimport { 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 React from \"react\";\n\nimport { 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 React, { 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 React from \"react\";\n\nimport { 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 React, { 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","React","createElement","_extends","className","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","ref","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","_objectSpread","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","Draggable","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
@@ -18,7 +18,7 @@ var countriesList = require('countries-list');
18
18
  var ramda = require('ramda');
19
19
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
20
20
  var Typography = require('@bigbinary/neetoui/Typography');
21
- var reactQuery = require('react-query');
21
+ var reactQuery = require('@tanstack/react-query');
22
22
  var axios = require('axios');
23
23
  var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
24
24
  var zustand = require('zustand');
@@ -243,19 +243,22 @@ var useSetInitialCountry = function useSetInitialCountry(initialCountryCode, ini
243
243
  var _getPhoneData = getPhoneData(initialValue),
244
244
  countryCodeFromInitialValue = _getPhoneData.countryCode;
245
245
  var isFetchLocationEnabled = !initialCountryCode && !countryCodeFromInitialValue;
246
- reactQuery.useQuery("IP_LOOKUP_LOCATION", function () {
247
- return neetoIpLookupApi.fetchLocationDetails();
248
- }, {
249
- enabled: isFetchLocationEnabled,
250
- onSuccess: function onSuccess(_ref) {
251
- var countryCode = _ref.countryCode;
252
- return setCountryCode(countryCode);
253
- }
254
- });
246
+ var _useQuery = reactQuery.useQuery({
247
+ queryKey: ["IP_LOOKUP_LOCATION"],
248
+ queryFn: function queryFn() {
249
+ return neetoIpLookupApi.fetchLocationDetails();
250
+ },
251
+ enabled: isFetchLocationEnabled
252
+ }),
253
+ data = _useQuery.data;
255
254
  React.useEffect(function () {
256
255
  if (isFetchLocationEnabled) return;
257
256
  setCountryCode(countryCodeFromInitialValue || initialCountryCode);
258
257
  }, []);
258
+ React.useEffect(function () {
259
+ if (!data) return;
260
+ setCountryCode(data.countryCode);
261
+ }, [data]);
259
262
  };
260
263
 
261
264
  var _excluded$2 = ["value", "onChange", "className", "error", "selectProps", "initialCountryCode"];
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","sources":["../../src/components/PhoneNumber/CountryPicker/constants.js","../../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../../src/components/PhoneNumber/CountryPicker/index.jsx","../../src/components/PhoneNumber/constants.js","../../src/components/PhoneNumber/apis/neeto_ip_lookup.js","../../src/components/PhoneNumber/stores/useCountryCodeStore.js","../../src/components/PhoneNumber/utils.js","../../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../../src/components/PhoneNumber/PhoneNumberInput.jsx","../../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { prop } from \"ramda\";\nimport { useQuery } from \"react-query\";\n\nimport neetoIpLookupApi from \"components/PhoneNumber/apis/neeto_ip_lookup\";\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n useQuery(\n \"IP_LOOKUP_LOCATION\",\n () => neetoIpLookupApi.fetchLocationDetails(),\n {\n enabled: isFetchLocationEnabled,\n onSuccess: ({ countryCode }) => setCountryCode(countryCode),\n }\n );\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(countryCodeFromInitialValue || initialCountryCode);\n }, []);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","IP_LOOKUP_ACCESS_TOKEN","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","useQuery","enabled","onSuccess","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":"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"}
1
+ {"version":3,"file":"PhoneNumber.js","sources":["../../src/components/PhoneNumber/CountryPicker/constants.js","../../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../../src/components/PhoneNumber/CountryPicker/index.jsx","../../src/components/PhoneNumber/constants.js","../../src/components/PhoneNumber/apis/neeto_ip_lookup.js","../../src/components/PhoneNumber/stores/useCountryCodeStore.js","../../src/components/PhoneNumber/utils.js","../../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../../src/components/PhoneNumber/PhoneNumberInput.jsx","../../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport neetoIpLookupApi from \"components/PhoneNumber/apis/neeto_ip_lookup\";\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n const { data } = useQuery({\n queryKey: [\"IP_LOOKUP_LOCATION\"],\n queryFn: () => neetoIpLookupApi.fetchLocationDetails(),\n enabled: isFetchLocationEnabled,\n });\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(countryCodeFromInitialValue || initialCountryCode);\n }, []);\n\n useEffect(() => {\n if (!data) return;\n\n setCountryCode(data.countryCode);\n }, [data]);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","IP_LOOKUP_ACCESS_TOKEN","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","_useQuery","useQuery","queryKey","queryFn","enabled","data","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":"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"}
@@ -4,16 +4,20 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
- var neetoIcons = require('@bigbinary/neeto-icons');
7
+ var LeftArrow = require('@bigbinary/neeto-icons/LeftArrow');
8
8
  var Button = require('@bigbinary/neetoui/Button');
9
9
  var Typography = require('@bigbinary/neetoui/Typography');
10
10
  var ramda = require('ramda');
11
11
  var reactI18next = require('react-i18next');
12
12
  var Codeblock = require('./Codeblock.js');
13
13
  var i18next = require('i18next');
14
+ var Code$1 = require('@bigbinary/neeto-icons/Code');
15
+ var Eye = require('@bigbinary/neeto-icons/Eye');
14
16
  var Input = require('@bigbinary/neetoui/Input');
15
17
  var Callout = require('@bigbinary/neetoui/Callout');
16
18
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
19
+ var Delete = require('@bigbinary/neeto-icons/Delete');
20
+ var Plus = require('@bigbinary/neeto-icons/Plus');
17
21
  var Label = require('@bigbinary/neetoui/Label');
18
22
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
19
23
  var Select = require('@bigbinary/neetoui/Select');
@@ -28,6 +32,8 @@ require('react-syntax-highlighter/dist/esm/styles/prism');
28
32
  require('./CopyToClipboardButton.js');
29
33
  require('@babel/runtime/helpers/objectWithoutProperties');
30
34
  require('@bigbinary/neeto-commons-frontend/utils/general');
35
+ require('@bigbinary/neeto-icons/Copy');
36
+ require('@bigbinary/neeto-icons/Check');
31
37
 
32
38
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
39
 
@@ -35,11 +41,16 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
35
41
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
36
42
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
43
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
44
+ var LeftArrow__default = /*#__PURE__*/_interopDefaultLegacy(LeftArrow);
38
45
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
39
46
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
47
+ var Code__default = /*#__PURE__*/_interopDefaultLegacy(Code$1);
48
+ var Eye__default = /*#__PURE__*/_interopDefaultLegacy(Eye);
40
49
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
41
50
  var Callout__default = /*#__PURE__*/_interopDefaultLegacy(Callout);
42
51
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
52
+ var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
53
+ var Plus__default = /*#__PURE__*/_interopDefaultLegacy(Plus);
43
54
  var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
44
55
  var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
45
56
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
@@ -66,11 +77,11 @@ var TAB_KEYS = {
66
77
  var TABS = [{
67
78
  key: TAB_KEYS.HTML,
68
79
  label: i18next.t("neetoMolecules.productEmbed.tab.html"),
69
- icon: neetoIcons.Code
80
+ icon: Code__default["default"]
70
81
  }, {
71
82
  key: TAB_KEYS.PREVIEW,
72
83
  label: i18next.t("neetoMolecules.productEmbed.tab.preview"),
73
- icon: neetoIcons.Eye
84
+ icon: Eye__default["default"]
74
85
  }];
75
86
  var EMBED_OPTIONS = {
76
87
  INLINE: "inline",
@@ -267,7 +278,7 @@ var DynamicQueryParams = function DynamicQueryParams(_ref) {
267
278
  }
268
279
  }), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
269
280
  "data-cy": "dynamic-query-delete-button",
270
- icon: neetoIcons.Delete,
281
+ icon: Delete__default["default"],
271
282
  style: "text",
272
283
  onClick: function onClick() {
273
284
  return handleRemoveQueryParam(index);
@@ -276,7 +287,7 @@ var DynamicQueryParams = function DynamicQueryParams(_ref) {
276
287
  }), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
277
288
  className: "my-2",
278
289
  "data-cy": "dynamic-query-add-new-button",
279
- icon: neetoIcons.Plus,
290
+ icon: Plus__default["default"],
280
291
  iconPosition: "left",
281
292
  style: "link",
282
293
  label: t("neetoMolecules.productEmbed.customization.queryParam.addQueryParam"),
@@ -752,7 +763,7 @@ var ProductEmbed = function ProductEmbed(_ref) {
752
763
  className: "mb-4 px-0",
753
764
  "data-cy": "back-button",
754
765
  "data-testid": "back-button",
755
- icon: neetoIcons.LeftArrow,
766
+ icon: LeftArrow__default["default"],
756
767
  iconPosition: "left",
757
768
  label: t("neetoMolecules.productEmbed.backToShare"),
758
769
  size: "small",