@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
@@ -8,12 +8,13 @@ var React = require('react');
8
8
  var classnames = require('classnames');
9
9
  var formik = require('formik');
10
10
  var neetoCist = require('@bigbinary/neeto-cist');
11
- var neetoEditor = require('@bigbinary/neeto-editor');
11
+ var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
12
12
  var Typography = require('@bigbinary/neetoui/Typography');
13
13
  var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
14
14
  var Radio = require('@bigbinary/neetoui/formik/Radio');
15
15
  var reactI18next = require('react-i18next');
16
16
  var i18next = require('i18next');
17
+ var utils = require('@bigbinary/neeto-editor/utils');
17
18
  var ramda = require('ramda');
18
19
  var yup = require('yup');
19
20
  var Select = require('@bigbinary/neetoui/formik/Select');
@@ -25,6 +26,7 @@ var general = require('@bigbinary/neeto-commons-frontend/utils/general');
25
26
  var Input$1 = require('@bigbinary/neetoui/Input');
26
27
  var DynamicVariables = require('./DynamicVariables.js');
27
28
  var Form = require('@bigbinary/neetoui/formik/Form');
29
+ require('@bigbinary/neeto-editor/EditorContent');
28
30
  require('@bigbinary/neetoui/Button');
29
31
  require('./index-248c4f4c.js');
30
32
  require('./MadeWith.js');
@@ -32,13 +34,15 @@ require('@babel/runtime/helpers/extends');
32
34
  require('@babel/runtime/helpers/objectWithoutProperties');
33
35
  require('./inject-css-80a5faa3.js');
34
36
  require('@babel/runtime/helpers/toConsumableArray');
35
- require('@bigbinary/neeto-icons');
37
+ require('@bigbinary/neeto-icons/Upload');
36
38
  require('@bigbinary/neetoui/Toastr');
37
39
  require('@bigbinary/neetoui/formik/MultiEmailInput');
38
40
  require('@bigbinary/neetoui/Pane');
39
41
  require('react-dropzone');
42
+ require('@bigbinary/neeto-icons/Download');
40
43
  require('@bigbinary/neetoui/Callout');
41
44
  require('papaparse');
45
+ require('@bigbinary/neeto-icons/Braces');
42
46
  require('@bigbinary/neetoui/Dropdown');
43
47
 
44
48
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -64,6 +68,7 @@ function _interopNamespace(e) {
64
68
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
65
69
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
66
70
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
71
+ var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
67
72
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
68
73
  var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
69
74
  var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
@@ -88,7 +93,7 @@ var INITIAL_FORM_VALUES = {
88
93
  var EMAIL_FORM_VALIDATION_SCHEMA = yup__namespace.object({
89
94
  subject: yup__namespace.string().required(i18next.t("neetoMolecules.emailForm.errors.subjectRequired")),
90
95
  message: yup__namespace.string().test("message", i18next.t("neetoMolecules.emailForm.errors.messageRequired"), function (value) {
91
- return !neetoEditor.isEditorEmpty(value);
96
+ return !utils.isEditorEmpty(value);
92
97
  })
93
98
  });
94
99
  var sendToFieldValidation = function sendToFieldValidation(maxEmails) {
@@ -319,7 +324,7 @@ var EmailForm = function EmailForm(_ref) {
319
324
  replyToOptions: replyToOptions
320
325
  }), /*#__PURE__*/React__default["default"].createElement("div", {
321
326
  className: "w-full"
322
- }, /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
327
+ }, /*#__PURE__*/React__default["default"].createElement(FormikEditor__default["default"], {
323
328
  isMenuCollapsible: true,
324
329
  required: true,
325
330
  addons: EDITOR_ADDONS,
@@ -1 +1 @@
1
- {"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport React from \"react\";\n\nconst EmailFormContext = React.createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReplyToField = ({ replyToOptions }) => {\n const { t } = useTranslation();\n\n const isDropdownField = isNotEmpty(replyToOptions);\n\n const { setFieldValue } = useFormikContext();\n\n if (isDropdownField) {\n return (\n <Select\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n options={replyToOptions}\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n />\n );\n};\n\nexport default ReplyToField;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import React, { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import React, { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToOptions = [],\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && <ReplyToField {...{ replyToOptions }} />}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"mt-6 w-full justify-start\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n};\n\nexport default EmailForm;\n","import {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","React","createContext","showSendToField","showSendToAsRadio","showReplyToField","ReplyToField","_ref","replyToOptions","_useTranslation","useTranslation","isDropdownField","isNotEmpty","_useFormikContext","useFormikContext","setFieldValue","createElement","Select","isClearable","className","label","name","options","labelProps","helpIconProps","_defineProperty","content","onChange","data","_data$value","Input","autoFocus","placeholder","size","SendToField","withT","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","_ref2","slug","key","textAreaElement","document","querySelector","concat","splitIndex","selectionEnd","updatedSubject","slice","join","Fragment","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","_ref$replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","getValidationSchema","customValidations","schema","clone","shape","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","children","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$maxEmails","Provider","Form","_objectSpread","enableReinitialize","globalProps","user"],"mappings":"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"}
1
+ {"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport React from \"react\";\n\nconst EmailFormContext = React.createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReplyToField = ({ replyToOptions }) => {\n const { t } = useTranslation();\n\n const isDropdownField = isNotEmpty(replyToOptions);\n\n const { setFieldValue } = useFormikContext();\n\n if (isDropdownField) {\n return (\n <Select\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n options={replyToOptions}\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n />\n );\n};\n\nexport default ReplyToField;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import React, { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import React, { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToOptions = [],\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && <ReplyToField {...{ replyToOptions }} />}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"mt-6 w-full justify-start\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n};\n\nexport default EmailForm;\n","import {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","React","createContext","showSendToField","showSendToAsRadio","showReplyToField","ReplyToField","_ref","replyToOptions","_useTranslation","useTranslation","isDropdownField","isNotEmpty","_useFormikContext","useFormikContext","setFieldValue","createElement","Select","isClearable","className","label","name","options","labelProps","helpIconProps","_defineProperty","content","onChange","data","_data$value","Input","autoFocus","placeholder","size","SendToField","withT","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","_ref2","slug","key","textAreaElement","document","querySelector","concat","splitIndex","selectionEnd","updatedSubject","slice","join","Fragment","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","_ref$replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","getValidationSchema","customValidations","schema","clone","shape","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","children","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$maxEmails","Provider","Form","_objectSpread","enableReinitialize","globalProps","user"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,cAAc,EAAE,KAAK;AACrBC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,OAAO,EAAE,EAAA;AACX,CAAC,CAAA;AAEM,IAAMC,4BAA4B,GAAGC,cAAG,CAACC,MAAM,CAAC;AACrDJ,EAAAA,OAAO,EAAEG,cAAG,CACTE,MAAM,EAAE,CACRC,QAAQ,CAACC,SAAC,CAAC,iDAAiD,CAAC,CAAC;AACjEN,EAAAA,OAAO,EAAEE,cAAG,CACTE,MAAM,EAAE,CACRG,IAAI,CACH,SAAS,EACTD,SAAC,CAAC,iDAAiD,CAAC,EACpD,UAAAE,KAAK,EAAA;AAAA,IAAA,OAAI,CAACC,mBAAa,CAACD,KAAK,CAAC,CAAA;GAChC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,SAAS,EAAI;AAChD,EAAA,IAAMC,UAAU,GAAGV,cAAG,CACnBW,KAAK,EAAE,CACPN,IAAI,CACH,kBAAkB,EAClBD,SAAC,CAAC,qDAAqD,CAAC,EACxD,UAAAQ,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEC,KAAK,CAACC,UAAI,CAAC,OAAO,CAAC,CAAC,CAAA;GACxC,CAAC,CACAT,IAAI,CACH,iBAAiB,EACjBD,SAAC,CAAC,2CAA2C,EAAE;AAAEW,IAAAA,KAAK,EAAEN,SAAAA;GAAW,CAAC,EACpE,UAAAG,MAAM,EAAA;IAAA,OAAI,CAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEI,MAAM,KAAIP,SAAS,CAAA;AAAA,GACvC,CAAC,CAAA;EAEH,OAAOT,cAAG,CAACC,MAAM,CAAC;IAChBV,MAAM,EAAEmB,UAAU,CACfO,GAAG,CACF,CAAC,EACDb,SAAC,CAAC,0CAA0C,EAAE;MAC5Cc,MAAM,EAAEd,SAAC,CAAC,oDAAoD,CAAA;AAChE,KAAC,CACH,CAAC,CACAe,QAAQ,EAAE;AACb1B,IAAAA,QAAQ,EAAEiB,UAAU;AACpBhB,IAAAA,SAAS,EAAEgB,UAAAA;AACb,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEM,IAAMU,2BAA2B,GAAGpB,cAAG,CAACC,MAAM,CAAC;AACpDT,EAAAA,QAAQ,EAAEQ,cAAG,CAACE,MAAM,EAAE,CAACC,QAAQ,CAC7BC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,wCAAwC,CAAA;AACpD,GAAC,CACH,CAAA;AACF,CAAC,CAAC,CAAA;AAEK,IAAMiB,yBAAyB,GAAGrB,cAAG,CAACC,MAAM,CAAC;EAClDN,OAAO,EAAEK,cAAG,CACTE,MAAM,EAAE,CACRiB,QAAQ,EAAE,CACVG,KAAK,CAAClB,SAAC,CAAC,qDAAqD,CAAC,CAAC,CAC/DD,QAAQ,CACPC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,qDAAqD,CAAA;AACjE,GAAC,CACH,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAMmB,aAAa,GAAG,CAC3B,WAAW,EACX,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,CACd;;ACrFD;AAGA,IAAMC,gBAAgB,gBAAGC,yBAAK,CAACC,aAAa,CAAC;AAC3CC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,gBAAgB,EAAE,KAAA;AACpB,CAAC,CAAC;;ACAF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAA2B;AAAA,EAAA,IAArBC,cAAc,GAAAD,IAAA,CAAdC,cAAc,CAAA;AACpC,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAM+B,eAAe,GAAGC,oBAAU,CAACJ,cAAc,CAAC,CAAA;AAElD,EAAA,IAAAK,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa,CAAA;AAErB,EAAA,IAAIJ,eAAe,EAAE;AACnB,IAAA,oBACEV,yBAAA,CAAAe,aAAA,CAACC,0BAAM,EAAA;MACLC,WAAW,EAAA,IAAA;AACXC,MAAAA,SAAS,EAAC,QAAQ;AAClB,MAAA,aAAA,EAAY,gBAAgB;AAC5BC,MAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,MAAAA,IAAI,EAAC,SAAS;AACdC,MAAAA,OAAO,EAAEd,cAAe;AACxBe,MAAAA,UAAU,EAAE;QACVC,aAAa,EAAAC,mCAAA,CAAAA,mCAAA,KACV,aAAa,EAAG,kBAAkB,CACrB,EAAA,cAAA,EAAA;UACZC,OAAO,EAAE9C,CAAC,CAAC,2CAA2C,CAAA;SACvD,CAAA;OAEH;MACF+C,QAAQ,EAAE,SAAAA,QAAAA,CAAAC,IAAI,EAAA;AAAA,QAAA,IAAAC,WAAA,CAAA;AAAA,QAAA,OAAId,aAAa,CAAC,SAAS,GAAAc,WAAA,GAAED,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAE9C,KAAK,MAAA+C,IAAAA,IAAAA,WAAA,cAAAA,WAAA,GAAI,EAAE,CAAC,CAAA;AAAA,OAAA;AAAC,KAC/D,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBACE5B,yBAAA,CAAAe,aAAA,CAACc,yBAAK,EAAA;IACJC,SAAS,EAAA,IAAA;IACTpD,QAAQ,EAAA,IAAA;AACRwC,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,aAAA,EAAY,cAAc;AAC1BC,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,IAAAA,IAAI,EAAC,SAAS;AACdW,IAAAA,WAAW,EAAEpD,CAAC,CAAC,wDAAwD,CAAE;AACzEqD,IAAAA,IAAI,EAAC,OAAO;AACZV,IAAAA,UAAU,EAAE;MACVC,aAAa,EAAAC,mCAAA,CAAAA,mCAAA,KACV,aAAa,EAAG,kBAAkB,CACrB,EAAA,cAAA,EAAA;QACZC,OAAO,EAAE9C,CAAC,CAAC,2CAA2C,CAAA;OACvD,CAAA;AAEL,KAAA;AAAE,GACH,CAAC,CAAA;AAEN,CAAC;;AClDD,IAAMsD,WAAW,GAAGC,yBAAK,CAAC,UAAA5B,IAAA,EAAA;AAAA,EAAA,IAAG3B,CAAC,GAAA2B,IAAA,CAAD3B,CAAC,CAAA;AAAA,EAAA,oBAC5BqB,yBAAA,CAAAe,aAAA,CAACoB,YAAY,EAAA;IACXC,eAAe,EAAA,IAAA;AACfC,IAAAA,aAAa,EAAE;AACblB,MAAAA,KAAK,EAAExC,CAAC,CAAC,qCAAqC,CAAC;AAC/CyC,MAAAA,IAAI,EAAE,WAAW;MACjBW,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAA;KACA;AACF2D,IAAAA,YAAY,EAAE;AACZnB,MAAAA,KAAK,EAAExC,CAAC,CAAC,oCAAoC,CAAC;AAC9CyC,MAAAA,IAAI,EAAE,UAAU;MAChBW,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAA;KACA;AACF4D,IAAAA,eAAe,EAAE;AACfC,MAAAA,EAAE,EAAE,QAAQ;AACZpB,MAAAA,IAAI,EAAE,QAAQ;AACdD,MAAAA,KAAK,EAAExC,CAAC,CAAC,wCAAwC,CAAC;AAClDoD,MAAAA,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAC;AACDD,MAAAA,QAAQ,EAAE,IAAA;AACZ,KAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH,CAAC;;ACzBF,IAAM+D,YAAY,GAAG,SAAfA,YAAYA,CAAAnC,IAAA,EAOZ;AAAA,EAAA,IANJc,IAAI,GAAAd,IAAA,CAAJc,IAAI;IACJsB,IAAI,GAAApC,IAAA,CAAJoC,IAAI;IACJC,UAAU,GAAArC,IAAA,CAAVqC,UAAU;IAAAC,qBAAA,GAAAtC,IAAA,CACVuC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrBE,KAAK,GAAAxC,IAAA,CAALwC,KAAK;IAAAC,aAAA,GAAAzC,IAAA,CACL5B,QAAQ;AAARA,IAAAA,QAAQ,GAAAqE,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;AAEhB,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAA1C,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAM2E,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAsB;AAAA,IAAA,IAAXC,IAAI,GAAAD,KAAA,CAATE,GAAG,CAAA;IAC5B,IAAMC,eAAe,GAAGC,QAAQ,CAACC,aAAa,kBAAAC,MAAA,CAAkBzC,IAAI,EAAA,GAAA,CAAG,CAAC,CAAA;AACxE,IAAA,IAAM0C,UAAU,GACdV,kBAAkB,IAAIM,eAAe,GACjCA,eAAe,CAACK,YAAY,GAC5BrB,IAAI,CAACnD,MAAM,CAAA;IAEjB,IAAMyE,cAAc,GAAG,CACrBtB,IAAI,CAACuB,KAAK,CAAC,CAAC,EAAEH,UAAU,CAAC,EAAAD,KAAAA,CAAAA,MAAA,CACnBL,IAAI,EACVd,IAAAA,CAAAA,EAAAA,IAAI,CAACuB,KAAK,CAACH,UAAU,CAAC,CACvB,CAACI,IAAI,CAAC,EAAE,CAAC,CAAA;IACVvB,UAAU,CAACqB,cAAc,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,oBACEhE,yBAAA,CAAAe,aAAA,CAAAf,yBAAA,CAAAmE,QAAA,EAAA,IAAA,eACEnE,yBAAA,CAAAe,aAAA,CAACc,2BAAK,EAAA;AACEiB,IAAAA,KAAK,EAALA,KAAK;AAAE1B,IAAAA,IAAI,EAAJA,IAAI;AAAE1C,IAAAA,QAAQ,EAARA,QAAQ;AAC3ByC,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDqD,IAAAA,IAAI,EAAC,OAAO;AACZnD,IAAAA,KAAK,EAAE6D,IAAK;AACZ0B,IAAAA,MAAM,eACJpE,yBAAA,CAAAe,aAAA,CAACsD,gBAAgB,EAAA;AACfC,MAAAA,SAAS,EAAEzB,gBAAiB;AAC5B0B,MAAAA,aAAa,EAAE;AACbrD,QAAAA,SAAS,EAAE,0CAA0C;AACrDsD,QAAAA,UAAU,EAAE,OAAA;OACZ;AACFC,MAAAA,eAAe,EAAEnB,eAAAA;AAAgB,KAClC,CACF;AACD5B,IAAAA,QAAQ,EAAEgD,4BAAoB,CAAC/B,UAAU,CAAE;IAC3CgC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMtB,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AAAC,GAC5C,CAAC,eACFrD,yBAAA,CAAAe,aAAA,CAAC6D,8BAAU,EAAA;AACT1D,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,SAAA,EAAQ,8BAA8B;AACtC2D,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,eAEb7E,yBAAA,CAAAe,aAAA,CAAC+D,kBAAK,EAAA;AACJC,IAAAA,UAAU,EAAE;MAAEC,IAAI,eAAEhF,yBAAA,CAAAe,aAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,eAAA;OAAiB,CAAA;KAAI;AACzD+D,IAAAA,OAAO,EAAC,mCAAmC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,SAAA;AAAU,KAAA;GAC3B,CACS,CACZ,CAAC,CAAA;AAEP,CAAC;;ACnDD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA9E,IAAA,EAUT;AAAA,EAAA,IAAA+E,qBAAA,GAAA/E,IAAA,CATJgF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAzC,qBAAA,GAAAtC,IAAA,CACrBuC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrB2C,YAAY,GAAAjF,IAAA,CAAZiF,YAAY;IACZC,SAAS,GAAAlF,IAAA,CAATkF,SAAS;IAAAC,mBAAA,GAAAnF,IAAA,CACTC,cAAc;AAAdA,IAAAA,cAAc,GAAAkF,mBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,mBAAA;IAAAC,kBAAA,GAAApF,IAAA,CACnBqF,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAAAE,eAAA,GAAAtF,IAAA,CAClBuF,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,eAAA,GAAAxF,IAAA,CAClByF,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,cAAA,GAAA1F,IAAA,CACjBY,SAAS;AAATA,IAAAA,SAAS,GAAA8E,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;AAEd,EAAA,IAAAxF,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAAsH,WAAA,GACEC,gBAAU,CAACnG,gBAAgB,CAAC;IADtBG,eAAe,GAAA+F,WAAA,CAAf/F,eAAe;IAAEC,iBAAiB,GAAA8F,WAAA,CAAjB9F,iBAAiB;IAAEC,gBAAgB,GAAA6F,WAAA,CAAhB7F,gBAAgB,CAAA;AAG5D,EAAA,IAAAQ,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa,CAAA;EACrB,IAAMqF,oBAAoB,GACxBjG,eAAe,IAAIC,iBAAiB,IAAIQ,oBAAU,CAACgF,aAAa,CAAC,CAAA;AAEnE,EAAA,IAAMS,mBAAmB,GAAGlG,eAAe,IAAI,CAACiG,oBAAoB,CAAA;EAEpE,oBACEnG,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,YAAY;IACxBG,SAAS,EAAEmF,8BAAU,CAAC,wCAAwC,EAAA7E,mCAAA,CAC3DN,EAAAA,EAAAA,SAAS,EAAGA,SAAS,CACvB,CAAA;AAAE,GAAA,EAEF6E,UAAU,iBACT/F,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,sDAAA;AAAsD,GAAA,eACnElB,yBAAA,CAAAe,aAAA,CAACuF,YAAK,EAAA;AAAClF,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAA,EAClB,UAAAmC,KAAA,EAAA;AAAA,IAAA,IAAY1E,KAAK,GAAA0E,KAAA,CAAdgD,KAAK,CAAI1H,KAAK;AAAYiE,MAAAA,KAAK,GAAAS,KAAA,CAAbiD,IAAI,CAAI1D,KAAK,CAAA;IAAA,oBACjC9C,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,QAAA;AAAQ,KAAA,eACrBlB,yBAAA,CAAAe,aAAA,CAAC0B,YAAY,EAAA;AACLI,MAAAA,gBAAgB,EAAhBA,gBAAgB;MACtBnE,QAAQ,EAAA,IAAA;AACRoE,MAAAA,KAAK,EAAEnE,CAAC,CAACmE,KAAK,CAAE;AAChB1B,MAAAA,IAAI,EAAC,SAAS;AACdsB,MAAAA,IAAI,EAAE7D,KAAM;MACZ8D,UAAU,EAAE,SAAAA,UAAAA,CAAAD,IAAI,EAAA;AAAA,QAAA,OAAI5B,aAAa,CAAC,SAAS,EAAE4B,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KACpD,CACE,CAAC,CAAA;GAEH,CAAC,EACPyD,oBAAoB,iBACnBnG,yBAAA,CAAAe,aAAA,CAAC0F,yBAAK,EAAA;AACJ,IAAA,aAAA,EAAY,YAAY;AACxBtF,IAAAA,KAAK,EAAExC,CAAC,CAAC,wCAAwC,CAAE;AACnD2C,IAAAA,UAAU,EAAE;AAAE5C,MAAAA,QAAQ,EAAE,IAAA;KAAO;AAC/B0C,IAAAA,IAAI,EAAC,UAAA;AAAU,GAAA,EAEduE,aAAa,CAACe,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGxF,KAAK,GAAAwF,KAAA,CAALxF,KAAK;MAAEtC,KAAK,GAAA8H,KAAA,CAAL9H,KAAK,CAAA;AAAA,IAAA,oBAChCmB,yBAAA,CAAAe,aAAA,CAAC0F,yBAAK,CAACG,IAAI,EAAA;AAAOzF,MAAAA,KAAK,EAALA,KAAK;AAAEtC,MAAAA,KAAK,EAALA,KAAK;AAAI4E,MAAAA,GAAG,EAAE5E,KAAAA;AAAM,KAAE,CAAC,CAAA;AAAA,GACjD,CACI,CACR,EACAuH,mBAAmB,iBAAIpG,yBAAA,CAAAe,aAAA,CAACkB,WAAW,EAAE,IAAA,CAAC,EACtC7B,gBAAgB,iBAAIJ,yBAAA,CAAAe,aAAA,CAACV,YAAY,EAAA;AAAOE,IAAAA,cAAc,EAAdA,cAAAA;AAAc,GAAK,CAAC,eAC7DP,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,QAAA;AAAQ,GAAA,eACrBlB,yBAAA,CAAAe,aAAA,CAAC8F,gCAAY,EAAA;IACXC,iBAAiB,EAAA,IAAA;IACjBpI,QAAQ,EAAA,IAAA;AACRqI,IAAAA,MAAM,EAAEjH,aAAc;AACtB,IAAA,SAAA,EAAQ,qBAAqB;AAC7B0C,IAAAA,EAAE,EAAC,cAAc;AACjBrB,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,IAAAA,IAAI,EAAC,SAAS;AACdkD,IAAAA,SAAS,EAAEgB,gBAAAA;AAAiB,GAC7B,CAAC,eACFtF,yBAAA,CAAAe,aAAA,CAAC6D,8BAAU,EAAA;AACT1D,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,SAAA,EAAQ,8BAA8B;AACtC2D,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,eAEb7E,yBAAA,CAAAe,aAAA,CAAC+D,kBAAK,EAAA;AACJG,IAAAA,OAAO,EAAC,mCAAmC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,SAAA;KAAY;AAC5BJ,IAAAA,UAAU,EAAE;MACVC,IAAI,eAAEhF,yBAAA,CAAAe,aAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,eAAA;OAAiB,CAAA;AACzC,KAAA;GACD,CACS,CACT,CACF,CACN,eACDlB,yBAAA,CAAAe,aAAA,CAACiG,+BAAW,EAAA;AACVC,IAAAA,iBAAiB,EAAE;AAAEC,MAAAA,OAAO,EAAE3B,YAAAA;KAAe;AAC7CrE,IAAAA,SAAS,EAAC,2BAA2B;IACrCiG,YAAY,EAAE3B,SAAS,IAAIK,UAAAA;AAAW,GACvC,CACE,CAAC,CAAA;AAEV;;ACvGO,IAAMuB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA9G,IAAA,EAM1B;AAAA,EAAA,IALJJ,eAAe,GAAAI,IAAA,CAAfJ,eAAe;IACfE,gBAAgB,GAAAE,IAAA,CAAhBF,gBAAgB;IAChBD,iBAAiB,GAAAG,IAAA,CAAjBH,iBAAiB;IACjBkH,iBAAiB,GAAA/G,IAAA,CAAjB+G,iBAAiB;IACjBrI,SAAS,GAAAsB,IAAA,CAATtB,SAAS,CAAA;AAET,EAAA,IAAIsI,MAAM,GAAGhJ,4BAA4B,CAACiJ,KAAK,EAAE,CAAA;AAEjD,EAAA,IAAIrH,eAAe,EAAE;AACnBoH,IAAAA,MAAM,GAAGA,MAAM,CAACzD,MAAM,CACpB1D,iBAAiB,GACbR,2BAA2B,GAC3BZ,qBAAqB,CAACC,SAAS,CACrC,CAAC,CAAA;AACH,GAAA;EAEA,IAAIoB,gBAAgB,EAAEkH,MAAM,GAAGA,MAAM,CAACzD,MAAM,CAACjE,yBAAyB,CAAC,CAAA;AAEvE,EAAA,OAAO0H,MAAM,CAACE,KAAK,CAACH,iBAAiB,CAAC,CAAA;AACxC,CAAC;;;;ACjBD,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAnH,IAAA,EAAA;AAAA,EAAA,IAAAoH,aAAA,GAAApH,IAAA,CACrBqH,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,aAAA;IAAAG,kBAAA,GAAAvH,IAAA,CACfwH,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAGhK,KAAAA,CAAAA,GAAAA,mBAAmB,GAAAgK,kBAAA;IACnCE,QAAQ,GAAAzH,IAAA,CAARyH,QAAQ;IACRC,WAAW,GAAA1H,IAAA,CAAX0H,WAAW;IAAAC,qBAAA,GAAA3H,IAAA,CACX4H,gBAAgB;AAAEb,IAAAA,iBAAiB,GAAAY,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,oBAAA,GAAA7H,IAAA,CACxCJ,eAAe;AAAfA,IAAAA,eAAe,GAAAiI,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAA9H,IAAA,CACvBF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAgI,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAA/H,IAAA,CACxBH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAkI,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,cAAA,GAAAhI,IAAA,CACzBtB,SAAS;AAATA,IAAAA,SAAS,GAAAsJ,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;EAAA,oBAEdtI,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;IAAK,aAAY,EAAA,qBAAA;AAAqB,GAAA,eACpCf,yBAAA,CAAAe,aAAA,CAAChB,gBAAgB,CAACwI,QAAQ,EAAA;AACxB1J,IAAAA,KAAK,EAAE;AAAEqB,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AAAEC,MAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,KAAA;AAAE,GAAA,eAEhEJ,yBAAA,CAAAe,aAAA,CAACyH,wBAAI,EAAA;AACHR,IAAAA,WAAW,EAAAS,aAAA,CAAA;AACTC,MAAAA,kBAAkB,EAAE,IAAI;MACxBR,gBAAgB,EAAEd,mBAAmB,CAAC;AACpClH,QAAAA,eAAe,EAAfA,eAAe;AACfE,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBkH,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBrI,QAAAA,SAAS,EAATA,SAAAA;AACF,OAAC,CAAC;AACF8I,MAAAA,aAAa,EAAAW,aAAA,CAAAA,aAAA,KACRX,aAAa,CAAA,EAAA,EAAA,EAAA;QAChB5J,OAAO,EAAE4J,aAAa,CAAC5J,OAAO,IAAIyK,WAAW,CAACC,IAAI,CAAC/I,KAAAA;OACpD,CAAA;AACD8H,MAAAA,QAAQ,EAARA,QAAAA;AAAQ,KAAA,EACLK,WAAW,CAAA;GAGfD,EAAAA,QACG,CACmB,CACxB,CAAC,CAAA;AAAA;;;;;;"}
@@ -4,7 +4,7 @@ var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
6
  var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
7
- var neetoEditor = require('@bigbinary/neeto-editor');
7
+ var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
8
8
  var Typography = require('@bigbinary/neetoui/Typography');
9
9
  var Button = require('@bigbinary/neetoui/Button');
10
10
  var index = require('./index-248c4f4c.js');
@@ -19,10 +19,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
20
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
21
21
  var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
22
+ var EditorContent__default = /*#__PURE__*/_interopDefaultLegacy(EditorContent);
22
23
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
23
24
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
24
25
 
25
- var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(neetoEditor.EditorContent);
26
+ var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(EditorContent__default["default"]);
26
27
  var EmailPreview = withT__default["default"](function (_ref) {
27
28
  var t = _ref.t,
28
29
  _ref$to = _ref.to,
@@ -1 +1 @@
1
- {"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport MadeWith from \"./MadeWith\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n productName,\n actionButtonText,\n logo,\n className = \"\",\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n {productName && (\n <div\n className=\"neeto-ui-bg-gray-100 flex justify-center p-2\"\n data-testid=\"product-name-block\"\n >\n <MadeWith {...{ productName }} />\n </div>\n )}\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The name of the neeto product to be previewed.\n */\n productName: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","productName","actionButtonText","logo","_ref$className","className","createElement","classnames","Typography","lineHeight","style","isPresent","join","content","Button","label","alt","src","MadeWith","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
1
+ {"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport MadeWith from \"./MadeWith\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n productName,\n actionButtonText,\n logo,\n className = \"\",\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n {productName && (\n <div\n className=\"neeto-ui-bg-gray-100 flex justify-center p-2\"\n data-testid=\"product-name-block\"\n >\n <MadeWith {...{ productName }} />\n </div>\n )}\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The name of the neeto product to be previewed.\n */\n productName: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","productName","actionButtonText","logo","_ref$className","className","createElement","classnames","Typography","lineHeight","style","isPresent","join","content","Button","label","alt","src","MadeWith","propTypes","PropTypes","arrayOf","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAMA,qBAAqB,gBAAGC,yBAAK,CAACC,IAAI,CAACC,iCAAa,CAAC,CAAA;AAEvD,IAAMC,YAAY,GAAGC,yBAAK,CACxB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAAC,OAAA,GAAAF,IAAA,CACDG,EAAE;AAAFA,IAAAA,EAAE,GAAAD,OAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,OAAA;IACPE,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IACJC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACPC,IAAI,GAAAN,IAAA,CAAJM,IAAI;IACJC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IACXC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAChBC,IAAI,GAAAT,IAAA,CAAJS,IAAI;IAAAC,cAAA,GAAAV,IAAA,CACJW,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;EAAA,oBAEdf,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAA,EAAQ,oBAAoB;AAC5B,IAAA,aAAA,EAAY,eAAe;AAC3BD,IAAAA,SAAS,EAAEE,8BAAU,CACnB,0FAA0F,EAC1FF,SACF,CAAA;GAEAhB,eAAAA,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,0EAAA;GACbhB,eAAAA,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AACED,IAAAA,SAAS,EAAC,YAAY;AACtB,IAAA,SAAA,EAAQ,uBAAuB;IAC/B,aAAY,EAAA,gBAAA;AAAgB,GAAA,eAE5BhB,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,wBAAwB;AAClCI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZf,CAAC,CAAC,gCAAgC,CAAC,EAAC,GAC3B,CAAC,EACZgB,mBAAS,CAACd,EAAE,CAAC,gBACZR,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,sDAAsD;AAChEI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;GAELb,EAAAA,EAAE,CAACe,IAAI,CAAC,IAAI,CACH,CAAC,gBAEbvB,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,0DAAA;AAA0D,GAAE,CAE1E,CAAC,EACLP,IAAI,iBACHT,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,eAC3ChB,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,wBAAwB;AAClCI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZf,CAAC,CAAC,kCAAkC,CAAC,EAAC,GAC7B,CAAC,eACbN,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,sDAAsD;AAChE,IAAA,SAAA,EAAQ,yBAAyB;AACjCI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZZ,IACS,CACT,CACN,eACDT,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,eAC3ChB,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,wBAAwB;AAClCI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZf,CAAC,CAAC,qCAAqC,CAAC,EAAC,GAChC,CAAC,eACbN,yBAAA,CAAAiB,aAAA,CAACE,8BAAU,EAAA;AACTH,IAAAA,SAAS,EAAC,sDAAsD;AAChE,IAAA,SAAA,EAAQ,uBAAuB;AAC/BI,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZX,OAAO,iBACNV,yBAAA,CAAAiB,aAAA,CAAA,MAAA,EAAA;AAAMD,IAAAA,SAAS,EAAC,qDAAA;AAAqD,GAAE,CAE/D,CACT,CACF,CAAC,eACNhB,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AACED,IAAAA,SAAS,EAAC,2GAA2G;IACrH,SAAQ,EAAA,8BAAA;AAA8B,GAAA,EAErCL,IAAI,gBACHX,yBAAA,CAAAiB,aAAA,CAAClB,qBAAqB,EAAA;AAACyB,IAAAA,OAAO,EAAEb,IAAAA;AAAK,GAAE,CAAC,gBAExCX,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,WAAA;GACbhB,eAAAA,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,wEAAA;AAAwE,GAAE,CAAC,eAC1FhB,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,wEAAA;AAAwE,GAAE,CAAC,eAC1FhB,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,wEAAA;AAAwE,GAAE,CACtF,CACN,EACAH,gBAAgB,iBACfb,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AAAKD,IAAAA,SAAS,EAAC,8CAAA;AAA8C,GAAA,eAC3DhB,yBAAA,CAAAiB,aAAA,CAACQ,0BAAM,EAAA;AAACT,IAAAA,SAAS,EAAC,qBAAqB;AAACU,IAAAA,KAAK,EAAEb,gBAAAA;AAAiB,GAAE,CAC/D,CACN,EACAC,IAAI,iBACHd,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AACEU,IAAAA,GAAG,EAAErB,CAAC,CAAC,yCAAyC,CAAE;AAClDU,IAAAA,SAAS,EAAC,wBAAwB;AAClC,IAAA,SAAA,EAAQ,sBAAsB;AAC9BY,IAAAA,GAAG,EAAEd,IAAAA;AAAK,GACX,CAEA,CAAC,EACLF,WAAW,iBACVZ,yBAAA,CAAAiB,aAAA,CAAA,KAAA,EAAA;AACED,IAAAA,SAAS,EAAC,8CAA8C;IACxD,aAAY,EAAA,oBAAA;AAAoB,GAAA,eAEhChB,yBAAA,CAAAiB,aAAA,CAACY,QAAQ,EAAA;AAAOjB,IAAAA,WAAW,EAAXA,WAAAA;GAAgB,CAC7B,CAEJ,CAAC,CAAA;AAAA,CAEV,EAAC;AAEDT,YAAY,CAAC2B,SAAS,GAAG;AACvB;AACF;AACA;EACEtB,EAAE,EAAEuB,uBAAS,CAACC,OAAO,CAACD,uBAAS,CAACE,MAAM,CAAC;AACvC;AACF;AACA;EACExB,IAAI,EAAEsB,uBAAS,CAACE,MAAM;AACtB;AACF;AACA;EACEvB,OAAO,EAAEqB,uBAAS,CAACE,MAAM;AACzB;AACF;AACA;EACEtB,IAAI,EAAEoB,uBAAS,CAACE,MAAM;AACtB;AACF;AACA;EACErB,WAAW,EAAEmB,uBAAS,CAACE,MAAM;AAC7B;AACF;AACA;EACEpB,gBAAgB,EAAEkB,uBAAS,CAACE,MAAM;AAClC;AACF;AACA;EACEnB,IAAI,EAAEiB,uBAAS,CAACE,MAAAA;AAClB,CAAC;;;;"}
@@ -3,11 +3,11 @@
3
3
  var _extends = require('@babel/runtime/helpers/extends');
4
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
- var neetoIcons = require('@bigbinary/neeto-icons');
6
+ var SmileFaceGrey = require('@bigbinary/neeto-icons/SmileFaceGrey');
7
7
  var Dropdown = require('@bigbinary/neetoui/Dropdown');
8
8
  var reactI18next = require('react-i18next');
9
9
  var emojiMart = require('emoji-mart');
10
- var reactQuery = require('react-query');
10
+ var reactQuery = require('@tanstack/react-query');
11
11
  var axios = require('axios');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -15,6 +15,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
15
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
16
16
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+ var SmileFaceGrey__default = /*#__PURE__*/_interopDefaultLegacy(SmileFaceGrey);
18
19
  var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
19
20
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
20
21
 
@@ -30,7 +31,10 @@ var QUERY_KEYS = {
30
31
  };
31
32
 
32
33
  var useEmojiData = function useEmojiData() {
33
- return reactQuery.useQuery([QUERY_KEYS.EMOJI_DATA], emojiPickerApi.fetch);
34
+ return reactQuery.useQuery({
35
+ queryKey: [QUERY_KEYS.EMOJI_DATA],
36
+ queryFn: emojiPickerApi.fetch
37
+ });
34
38
  };
35
39
 
36
40
  var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
@@ -88,7 +92,7 @@ var EmojiPicker = function EmojiPicker(_ref) {
88
92
  strategy: "fixed",
89
93
  buttonProps: {
90
94
  "data-cy": "emoji-picker-dropdown-icon",
91
- icon: neetoIcons.SmileFaceGrey,
95
+ icon: SmileFaceGrey__default["default"],
92
96
  tooltipProps: {
93
97
  content: t("neetoMolecules.common.emojiPicker"),
94
98
  position: "top"
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery([QUERY_KEYS.EMOJI_DATA], emojiPickerApi.fetch);\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div ref={createPicker} style={{ minWidth: \"350px\" }} />;\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import React, { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-cy\": \"emoji-picker-dropdown-icon\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","React","createElement","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_extends","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","onClick","onClickOutside","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div ref={createPicker} style={{ minWidth: \"350px\" }} />;\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import React, { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-cy\": \"emoji-picker-dropdown-icon\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","React","createElement","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_extends","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","onClick","onClickOutside","onClose"],"mappings":"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"}
@@ -16,22 +16,28 @@ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
16
16
  var Modal$1 = require('@bigbinary/neetoui/Modal');
17
17
  var Typography = require('@bigbinary/neetoui/Typography');
18
18
  var classnames = require('classnames');
19
- var neetoIcons = require('@bigbinary/neeto-icons');
19
+ var Search = require('@bigbinary/neeto-icons/Search');
20
20
  var Input = require('@bigbinary/neetoui/Input');
21
21
  var reactI18next = require('react-i18next');
22
22
  var injectCss = require('./inject-css-80a5faa3.js');
23
+ var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
23
24
  var AppIcons = require('@bigbinary/neeto-icons/typeface-logos');
24
25
  var ramda = require('ramda');
25
26
  var i18next = require('i18next');
27
+ var Book = require('@bigbinary/neeto-icons/Book');
28
+ var Help = require('@bigbinary/neeto-icons/Help');
26
29
  var useBreakpoints = require('@bigbinary/neeto-commons-frontend/react-utils/useBreakpoints');
30
+ var Right = require('@bigbinary/neeto-icons/Right');
27
31
  var Spinner = require('@bigbinary/neetoui/Spinner');
28
32
  var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
33
+ var Check = require('@bigbinary/neeto-icons/Check');
29
34
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
30
35
  var axios = require('@bigbinary/neeto-commons-frontend/utils/axios');
31
36
  var general = require('@bigbinary/neeto-commons-frontend/utils/general');
32
37
  require('zustand/shallow');
33
38
  require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
34
39
  require('zustand');
40
+ require('@bigbinary/neeto-icons/Close');
35
41
  require('@bigbinary/neetoui/Button');
36
42
  require('@bigbinary/neetoui/managers');
37
43
  require('@bigbinary/neeto-hotkeys');
@@ -70,11 +76,17 @@ var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown$1);
70
76
  var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal$1);
71
77
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
72
78
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
79
+ var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
73
80
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
81
+ var Neeto__default = /*#__PURE__*/_interopDefaultLegacy(Neeto);
74
82
  var AppIcons__namespace = /*#__PURE__*/_interopNamespace(AppIcons);
83
+ var Book__default = /*#__PURE__*/_interopDefaultLegacy(Book);
84
+ var Help__default = /*#__PURE__*/_interopDefaultLegacy(Help);
75
85
  var useBreakpoints__default = /*#__PURE__*/_interopDefaultLegacy(useBreakpoints);
86
+ var Right__default = /*#__PURE__*/_interopDefaultLegacy(Right);
76
87
  var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
77
88
  var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorage);
89
+ var Check__default = /*#__PURE__*/_interopDefaultLegacy(Check);
78
90
 
79
91
  var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:24px;position:relative;transition:all .3s;width:100%}@media screen and (max-width:768px){.neeto-molecules-product-switcher__wrapper{padding:16px}}.neeto-molecules-product-switcher__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-product-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-product-switcher__header{align-items:flex-start;flex-direction:column;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__header h1{font-size:24px}}@media only screen and (max-width:768px){.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__header-mobile{align-items:flex-start;margin-bottom:24px}}.neeto-molecules-product-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-product-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-product-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-product-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-product-switcher-link{align-items:center;background-color:rgb(var(--neeto-ui-gray-100));border-color:rgb(var(--neeto-ui-gray-100));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:2px;cursor:pointer;display:flex;gap:12px;max-width:100%;padding:10px 8px;text-decoration:none;transition:all .3s ease-in-out;width:100%}.neeto-molecules-product-switcher-link:focus,.neeto-molecules-product-switcher-link:focus-visible{outline:none}.neeto-molecules-product-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:focus-visible .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover{background-color:rgb(var(--neeto-ui-gray-200));border-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link--active{border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link--active .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link__icon-holder{flex-grow:1;flex-shrink:0}.neeto-molecules-product-switcher-link__icon-holder svg{height:26px;width:auto}.neeto-molecules-product-switcher-link__icon-holder .neeto-molecules-product-switcher-link__icon-default{height:16px}.neeto-molecules-product-switcher-link__content{flex-shrink:0;width:50%}.neeto-molecules-product-switcher-link__content span{display:block}.neeto-molecules-product-switcher-link__divider{align-self:center;flex-shrink:0;height:42px;transition:all .3s ease-in-out;width:1px}.neeto-molecules-product-switcher_modal{z-index:100000}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen{display:flex;flex-direction:column;height:100dvh!important;width:100vw!important}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__header{flex-shrink:0}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__body{flex-grow:1;min-height:0;overflow-y:auto}";
80
92
  injectCss.n(css$1,{});
@@ -96,7 +108,7 @@ var ProductLink = function ProductLink(_ref) {
96
108
  })
97
109
  }, /*#__PURE__*/React__default["default"].createElement("div", {
98
110
  className: "neeto-molecules-product-switcher-link__icon-holder"
99
- }, AppIcon ? /*#__PURE__*/React__default["default"].createElement(AppIcon, null) : /*#__PURE__*/React__default["default"].createElement(AppIcons.Neeto, {
111
+ }, AppIcon ? /*#__PURE__*/React__default["default"].createElement(AppIcon, null) : /*#__PURE__*/React__default["default"].createElement(Neeto__default["default"], {
100
112
  className: "neeto-molecules-product-switcher-link__icon-default"
101
113
  })), /*#__PURE__*/React__default["default"].createElement("div", {
102
114
  className: "neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200"
@@ -149,7 +161,7 @@ var Menu$1 = function Menu(_ref) {
149
161
  autoFocus: true,
150
162
  "data-cy": "product-switcher-search-input",
151
163
  placeholder: t("neetoMolecules.productSwitcher.searchProducts"),
152
- prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
164
+ prefix: /*#__PURE__*/React__default["default"].createElement(Search__default["default"], null),
153
165
  type: "search",
154
166
  value: searchTerm,
155
167
  onChange: handleSearch
@@ -198,7 +210,7 @@ var MENU_ITEMS_WITH_ICONS = ["Chat with support", "Help articles"];
198
210
  var DEFAULT_HELP_LINK_PROPS = {
199
211
  helpCenterProps: {
200
212
  label: i18next.t("neetoMolecules.sidebar.helpLinks.helpArticles"),
201
- icon: neetoIcons.Book,
213
+ icon: Book__default["default"],
202
214
  "data-cy": "help-link-help-center-button",
203
215
  "data-btn-weight": "bold",
204
216
  href: "https://help.".concat(ramda.toLower(globalProps.appName), ".com/"),
@@ -206,7 +218,7 @@ var DEFAULT_HELP_LINK_PROPS = {
206
218
  },
207
219
  liveChatProps: {
208
220
  label: i18next.t("neetoMolecules.sidebar.helpLinks.liveChat"),
209
- icon: neetoIcons.Help,
221
+ icon: Help__default["default"],
210
222
  "data-cy": "help-link-live-chat-button",
211
223
  "data-btn-weight": "bold",
212
224
  onClick: function onClick() {
@@ -278,7 +290,7 @@ var MenuButton$1 = function MenuButton(_ref) {
278
290
  "data-testid": "product-switcher-button",
279
291
  label: t("neetoMolecules.sidebar.productSwitcher"),
280
292
  style: "text",
281
- suffix: isLoading ? /*#__PURE__*/React__default["default"].createElement(Spinner__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
293
+ suffix: isLoading ? /*#__PURE__*/React__default["default"].createElement(Spinner__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(Right__default["default"], {
282
294
  size: 18
283
295
  })
284
296
  }, otherProps), t("neetoMolecules.sidebar.productSwitcher"));
@@ -424,7 +436,7 @@ var MenuButton = reactUtils.withT(function (_ref) {
424
436
  "data-cy": "theme-switcher-button",
425
437
  "data-testid": "theme-switcher-button",
426
438
  style: "text",
427
- suffix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
439
+ suffix: /*#__PURE__*/React__default["default"].createElement(Right__default["default"], {
428
440
  size: 18
429
441
  })
430
442
  }, t("neetoMolecules.sidebar.themeSwitcher.label", {
@@ -462,7 +474,7 @@ var ThemeSwitcher = function ThemeSwitcher() {
462
474
  trigger: "all",
463
475
  zIndex: 99999
464
476
  }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
465
- suffix: !isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Check, {
477
+ suffix: !isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(Check__default["default"], {
466
478
  size: 18
467
479
  }),
468
480
  className: classnames__default["default"]({
@@ -472,7 +484,7 @@ var ThemeSwitcher = function ThemeSwitcher() {
472
484
  return switchTheme(THEMES.LIGHT);
473
485
  }
474
486
  }, t("neetoMolecules.sidebar.themeSwitcher.light")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
475
- suffix: isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Check, {
487
+ suffix: isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(Check__default["default"], {
476
488
  size: 18
477
489
  }),
478
490
  className: classnames__default["default"]({