@bigbinary/neetoui 8.3.0-beta2 → 8.3.1

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 (283) hide show
  1. package/README.md +1 -0
  2. package/dist/ActionDropdown.js +7 -6
  3. package/dist/ActionDropdown.js.map +1 -1
  4. package/dist/Alert.js +9 -9
  5. package/dist/Alert.js.map +1 -1
  6. package/dist/Avatar.js +1 -0
  7. package/dist/Avatar.js.map +1 -1
  8. package/dist/Button.js +5 -52
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Checkbox.js +6 -5
  11. package/dist/Checkbox.js.map +1 -1
  12. package/dist/ColorPicker.js +147 -51
  13. package/dist/ColorPicker.js.map +1 -1
  14. package/dist/DatePicker.js +18 -19
  15. package/dist/DatePicker.js.map +1 -1
  16. package/dist/Dropdown.js +4 -3
  17. package/dist/Dropdown.js.map +1 -1
  18. package/dist/Input.js +14 -10
  19. package/dist/Input.js.map +1 -1
  20. package/dist/Kbd.js +1 -0
  21. package/dist/Kbd.js.map +1 -1
  22. package/dist/Label.js +72 -55
  23. package/dist/Label.js.map +1 -1
  24. package/dist/Modal.js +21 -8
  25. package/dist/Modal.js.map +1 -1
  26. package/dist/MultiEmailInput.js +98 -60
  27. package/dist/MultiEmailInput.js.map +1 -1
  28. package/dist/NoData.js +1 -2
  29. package/dist/NoData.js.map +1 -1
  30. package/dist/Pagination.js +5 -5
  31. package/dist/Pane.js +58 -22
  32. package/dist/Pane.js.map +1 -1
  33. package/dist/ProgressBar.js +1 -0
  34. package/dist/ProgressBar.js.map +1 -1
  35. package/dist/Radio.js +11 -8
  36. package/dist/Radio.js.map +1 -1
  37. package/dist/Select.js +52 -22
  38. package/dist/Select.js.map +1 -1
  39. package/dist/Sidebar.js +6 -4
  40. package/dist/Sidebar.js.map +1 -1
  41. package/dist/Slider.js +6 -5
  42. package/dist/Slider.js.map +1 -1
  43. package/dist/Stepper.js +1 -0
  44. package/dist/Stepper.js.map +1 -1
  45. package/dist/Switch.js +9 -5
  46. package/dist/Switch.js.map +1 -1
  47. package/dist/Table.js +358 -194
  48. package/dist/Table.js.map +1 -1
  49. package/dist/{Textarea-67a30930.js → Textarea-TKn0l0RC.js} +5 -4
  50. package/dist/Textarea-TKn0l0RC.js.map +1 -0
  51. package/dist/Textarea.js +7 -6
  52. package/dist/Textarea.js.map +1 -1
  53. package/dist/TimePicker.js +16 -17
  54. package/dist/TimePicker.js.map +1 -1
  55. package/dist/Toastr.js +45 -23
  56. package/dist/Toastr.js.map +1 -1
  57. package/dist/Tooltip.js +17 -11
  58. package/dist/Tooltip.js.map +1 -1
  59. package/dist/TranslationProvider.js +45 -13
  60. package/dist/TranslationProvider.js.map +1 -1
  61. package/dist/Tree.js +15 -8
  62. package/dist/Tree.js.map +1 -1
  63. package/dist/TreeSelect.js +19 -7
  64. package/dist/TreeSelect.js.map +1 -1
  65. package/dist/cjs/Accordion.js +18 -27
  66. package/dist/cjs/Accordion.js.map +1 -1
  67. package/dist/cjs/ActionDropdown.js +13 -20
  68. package/dist/cjs/ActionDropdown.js.map +1 -1
  69. package/dist/cjs/Alert.js +15 -20
  70. package/dist/cjs/Alert.js.map +1 -1
  71. package/dist/cjs/Avatar.js +11 -19
  72. package/dist/cjs/Avatar.js.map +1 -1
  73. package/dist/cjs/Button.js +17 -73
  74. package/dist/cjs/Button.js.map +1 -1
  75. package/dist/cjs/Callout.js +5 -13
  76. package/dist/cjs/Callout.js.map +1 -1
  77. package/dist/cjs/Checkbox.js +13 -19
  78. package/dist/cjs/Checkbox.js.map +1 -1
  79. package/dist/cjs/ColorPicker.js +170 -84
  80. package/dist/cjs/ColorPicker.js.map +1 -1
  81. package/dist/cjs/DatePicker.js +18 -19
  82. package/dist/cjs/DatePicker.js.map +1 -1
  83. package/dist/cjs/Dropdown.js +32 -41
  84. package/dist/cjs/Dropdown.js.map +1 -1
  85. package/dist/cjs/Input.js +31 -36
  86. package/dist/cjs/Input.js.map +1 -1
  87. package/dist/cjs/Kbd.js +5 -11
  88. package/dist/cjs/Kbd.js.map +1 -1
  89. package/dist/cjs/Label.js +71 -62
  90. package/dist/cjs/Label.js.map +1 -1
  91. package/dist/cjs/Modal.js +38 -34
  92. package/dist/cjs/Modal.js.map +1 -1
  93. package/dist/cjs/MultiEmailInput.js +126 -99
  94. package/dist/cjs/MultiEmailInput.js.map +1 -1
  95. package/dist/cjs/NoData.js +15 -23
  96. package/dist/cjs/NoData.js.map +1 -1
  97. package/dist/cjs/Pagination.js +21 -27
  98. package/dist/cjs/Pagination.js.map +1 -1
  99. package/dist/cjs/Pane.js +74 -47
  100. package/dist/cjs/Pane.js.map +1 -1
  101. package/dist/cjs/Popover.js +5 -12
  102. package/dist/cjs/Popover.js.map +1 -1
  103. package/dist/cjs/ProgressBar.js +4 -8
  104. package/dist/cjs/ProgressBar.js.map +1 -1
  105. package/dist/cjs/Radio.js +25 -31
  106. package/dist/cjs/Radio.js.map +1 -1
  107. package/dist/cjs/Select.js +95 -78
  108. package/dist/cjs/Select.js.map +1 -1
  109. package/dist/cjs/Sidebar.js +72 -79
  110. package/dist/cjs/Sidebar.js.map +1 -1
  111. package/dist/cjs/Slider.js +15 -23
  112. package/dist/cjs/Slider.js.map +1 -1
  113. package/dist/cjs/Spinner.js +2 -7
  114. package/dist/cjs/Spinner.js.map +1 -1
  115. package/dist/cjs/Stepper.js +7 -11
  116. package/dist/cjs/Stepper.js.map +1 -1
  117. package/dist/cjs/Switch.js +22 -25
  118. package/dist/cjs/Switch.js.map +1 -1
  119. package/dist/cjs/Tab.js +10 -18
  120. package/dist/cjs/Tab.js.map +1 -1
  121. package/dist/cjs/Table.js +387 -236
  122. package/dist/cjs/Table.js.map +1 -1
  123. package/dist/cjs/Tag.js +9 -16
  124. package/dist/cjs/Tag.js.map +1 -1
  125. package/dist/cjs/{Textarea-60f7ed17.js → Textarea-DdURL8Dd.js} +21 -29
  126. package/dist/cjs/Textarea-DdURL8Dd.js.map +1 -0
  127. package/dist/cjs/Textarea.js +7 -6
  128. package/dist/cjs/Textarea.js.map +1 -1
  129. package/dist/cjs/TimePicker.js +16 -17
  130. package/dist/cjs/TimePicker.js.map +1 -1
  131. package/dist/cjs/Toastr.js +61 -49
  132. package/dist/cjs/Toastr.js.map +1 -1
  133. package/dist/cjs/Tooltip.js +20 -22
  134. package/dist/cjs/Tooltip.js.map +1 -1
  135. package/dist/cjs/TranslationProvider.js +48 -21
  136. package/dist/cjs/TranslationProvider.js.map +1 -1
  137. package/dist/cjs/Tree.js +21 -23
  138. package/dist/cjs/Tree.js.map +1 -1
  139. package/dist/cjs/TreeSelect.js +30 -28
  140. package/dist/cjs/TreeSelect.js.map +1 -1
  141. package/dist/cjs/Typography.js +4 -12
  142. package/dist/cjs/Typography.js.map +1 -1
  143. package/dist/cjs/constants.js +7 -19
  144. package/dist/cjs/constants.js.map +1 -1
  145. package/dist/cjs/{en-80d0fbff.js → en-DhnUUSB_.js} +13 -6
  146. package/dist/cjs/en-DhnUUSB_.js.map +1 -0
  147. package/dist/cjs/formik/ActionBlock.js +12 -18
  148. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  149. package/dist/cjs/formik/BlockNavigation.js +24 -42
  150. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  151. package/dist/cjs/formik/Button.js +3 -10
  152. package/dist/cjs/formik/Button.js.map +1 -1
  153. package/dist/cjs/formik/Checkbox.js +10 -16
  154. package/dist/cjs/formik/Checkbox.js.map +1 -1
  155. package/dist/cjs/formik/Form.js +13 -24
  156. package/dist/cjs/formik/Form.js.map +1 -1
  157. package/dist/cjs/formik/Input.js +10 -16
  158. package/dist/cjs/formik/Input.js.map +1 -1
  159. package/dist/cjs/formik/MultiEmailInput.js +8 -15
  160. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  161. package/dist/cjs/formik/Radio.js +10 -17
  162. package/dist/cjs/formik/Radio.js.map +1 -1
  163. package/dist/cjs/formik/Select.js +9 -17
  164. package/dist/cjs/formik/Select.js.map +1 -1
  165. package/dist/cjs/formik/Slider.js +10 -17
  166. package/dist/cjs/formik/Slider.js.map +1 -1
  167. package/dist/cjs/formik/Switch.js +10 -16
  168. package/dist/cjs/formik/Switch.js.map +1 -1
  169. package/dist/cjs/formik/Textarea.js +11 -17
  170. package/dist/cjs/formik/Textarea.js.map +1 -1
  171. package/dist/cjs/formik/TreeSelect.js +8 -14
  172. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  173. package/dist/cjs/formik/index.js +12 -15
  174. package/dist/cjs/formik/index.js.map +1 -1
  175. package/dist/cjs/index-BG9I04iF.js +451 -0
  176. package/dist/cjs/index-BG9I04iF.js.map +1 -0
  177. package/dist/cjs/{index-9d108a41.js → index-DOn2FmWB.js} +80 -80
  178. package/dist/cjs/index-DOn2FmWB.js.map +1 -0
  179. package/dist/cjs/index.css +2 -2
  180. package/dist/cjs/index.js +26 -29
  181. package/dist/cjs/index.js.map +1 -1
  182. package/dist/cjs/layouts.js +6 -7
  183. package/dist/cjs/layouts.js.map +1 -1
  184. package/dist/cjs/managers.js +0 -2
  185. package/dist/cjs/managers.js.map +1 -1
  186. package/dist/cjs/overlayManager.js +2 -9
  187. package/dist/cjs/overlayManager.js.map +1 -1
  188. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
  189. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
  190. package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
  191. package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
  192. package/dist/cjs/{useOverlayManager-d4108cf8.js → useOverlayManager-D5NTaYt6.js} +25 -744
  193. package/dist/cjs/useOverlayManager-D5NTaYt6.js.map +1 -0
  194. package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
  195. package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
  196. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js +1270 -0
  197. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js.map +1 -0
  198. package/dist/cjs/{HeaderCellMenu-2b1247bb.js → useRestoreScrollPosition-Ck_b0Nh4.js} +87 -88
  199. package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +1 -0
  200. package/dist/{en-41f5c641.js → en-_r5-MxJe.js} +13 -6
  201. package/dist/en-_r5-MxJe.js.map +1 -0
  202. package/dist/formik/ActionBlock.js +7 -7
  203. package/dist/formik/BlockNavigation.js +15 -26
  204. package/dist/formik/BlockNavigation.js.map +1 -1
  205. package/dist/formik/Button.js +1 -2
  206. package/dist/formik/Button.js.map +1 -1
  207. package/dist/formik/Checkbox.js +6 -5
  208. package/dist/formik/Checkbox.js.map +1 -1
  209. package/dist/formik/Form.js +2 -2
  210. package/dist/formik/Form.js.map +1 -1
  211. package/dist/formik/Input.js +6 -5
  212. package/dist/formik/Input.js.map +1 -1
  213. package/dist/formik/MultiEmailInput.js +5 -5
  214. package/dist/formik/Radio.js +6 -5
  215. package/dist/formik/Radio.js.map +1 -1
  216. package/dist/formik/Select.js +5 -5
  217. package/dist/formik/Slider.js +6 -5
  218. package/dist/formik/Slider.js.map +1 -1
  219. package/dist/formik/Switch.js +6 -5
  220. package/dist/formik/Switch.js.map +1 -1
  221. package/dist/formik/Textarea.js +7 -6
  222. package/dist/formik/Textarea.js.map +1 -1
  223. package/dist/formik/TreeSelect.js +5 -4
  224. package/dist/formik/TreeSelect.js.map +1 -1
  225. package/dist/formik/index.js +12 -13
  226. package/dist/formik/index.js.map +1 -1
  227. package/dist/index-BCP3m_SF.js +434 -0
  228. package/dist/index-BCP3m_SF.js.map +1 -0
  229. package/dist/{index-fd0e5fa5.js → index-BXAHRXsD.js} +33 -21
  230. package/dist/index-BXAHRXsD.js.map +1 -0
  231. package/dist/index.css +2 -2
  232. package/dist/index.js +26 -27
  233. package/dist/index.js.map +1 -1
  234. package/dist/layouts.js +6 -5
  235. package/dist/layouts.js.map +1 -1
  236. package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
  237. package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
  238. package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
  239. package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
  240. package/dist/{useOverlayManager-593daea1.js → useOverlayManager-U3cqV61l.js} +9 -716
  241. package/dist/useOverlayManager-U3cqV61l.js.map +1 -0
  242. package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
  243. package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
  244. package/dist/useRecentlyUsedColors-CJe4G0Xs.js +1267 -0
  245. package/dist/useRecentlyUsedColors-CJe4G0Xs.js.map +1 -0
  246. package/dist/{HeaderCellMenu-85777f9d.js → useRestoreScrollPosition-B3J6xSHt.js} +77 -75
  247. package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +1 -0
  248. package/package.json +20 -14
  249. package/src/translations/de.json +7 -2
  250. package/src/translations/en.json +12 -5
  251. package/src/translations/es.json +7 -2
  252. package/src/translations/fr.json +7 -2
  253. package/src/translations/nl.json +7 -2
  254. package/src/translations/pl.json +7 -2
  255. package/src/translations/pt.json +7 -2
  256. package/types/Button.d.ts +0 -2
  257. package/types/ColorPicker.d.ts +7 -5
  258. package/types/DatePicker.d.ts +2 -0
  259. package/types/Modal.d.ts +1 -1
  260. package/types/Pane.d.ts +1 -1
  261. package/types/Select.d.ts +4 -0
  262. package/types/Table.d.ts +9 -0
  263. package/types/Toastr.d.ts +3 -1
  264. package/types/Tree.d.ts +2 -1
  265. package/dist/HeaderCellMenu-85777f9d.js.map +0 -1
  266. package/dist/Textarea-67a30930.js.map +0 -1
  267. package/dist/cjs/HeaderCellMenu-2b1247bb.js.map +0 -1
  268. package/dist/cjs/Textarea-60f7ed17.js.map +0 -1
  269. package/dist/cjs/en-80d0fbff.js.map +0 -1
  270. package/dist/cjs/index-0f5141e0.js +0 -178
  271. package/dist/cjs/index-0f5141e0.js.map +0 -1
  272. package/dist/cjs/index-9d108a41.js.map +0 -1
  273. package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
  274. package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
  275. package/dist/cjs/useOverlayManager-d4108cf8.js.map +0 -1
  276. package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
  277. package/dist/en-41f5c641.js.map +0 -1
  278. package/dist/index-abadd6e9.js +0 -155
  279. package/dist/index-abadd6e9.js.map +0 -1
  280. package/dist/index-fd0e5fa5.js.map +0 -1
  281. package/dist/tinycolor-282c618c.js +0 -1200
  282. package/dist/tinycolor-282c618c.js.map +0 -1
  283. package/dist/useOverlayManager-593daea1.js.map +0 -1
@@ -8,40 +8,40 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
8
8
  var React = require('react');
9
9
  var classnames = require('classnames');
10
10
  var ramda = require('ramda');
11
- var reactSelectCreatable_esm = require('./react-select-creatable.esm-23eddf9f.js');
12
- var index = require('./index-0f5141e0.js');
11
+ var reactSelectCreatable_esm = require('./react-select-creatable.esm-Bdv9YAMt.js');
12
+ var index = require('./index-BG9I04iF.js');
13
13
  var _toArray = require('@babel/runtime/helpers/toArray');
14
14
  var neetoIcons = require('@bigbinary/neeto-icons');
15
- require('@babel/runtime/helpers/esm/objectSpread2');
16
- require('@babel/runtime/helpers/esm/slicedToArray');
17
- require('@babel/runtime/helpers/esm/objectWithoutProperties');
18
- require('@babel/runtime/helpers/esm/extends');
19
- require('@babel/runtime/helpers/objectSpread2');
20
- require('@babel/runtime/helpers/classCallCheck');
21
- require('@babel/runtime/helpers/createClass');
22
- require('@babel/runtime/helpers/inherits');
23
- require('@babel/runtime/helpers/createSuper');
24
- require('@babel/runtime/helpers/taggedTemplateLiteral');
25
- require('@babel/runtime/helpers/typeof');
26
- require('react-dom');
27
15
  var Tag = require('./Tag.js');
16
+ var neetoCist = require('@bigbinary/neeto-cist');
28
17
  var Label = require('./Label.js');
18
+ require('@babel/runtime/helpers/esm/extends');
19
+ require('@babel/runtime/helpers/esm/objectSpread2');
29
20
  require('@babel/runtime/helpers/esm/classCallCheck');
30
21
  require('@babel/runtime/helpers/esm/createClass');
31
22
  require('@babel/runtime/helpers/esm/inherits');
32
23
  require('@babel/runtime/helpers/esm/createSuper');
33
24
  require('@babel/runtime/helpers/esm/toConsumableArray');
34
25
  require('@babel/runtime/helpers/esm/taggedTemplateLiteral');
26
+ require('@babel/runtime/helpers/esm/objectWithoutProperties');
27
+ require('@babel/runtime/helpers/esm/slicedToArray');
35
28
  require('@babel/runtime/helpers/esm/typeof');
36
29
  require('@babel/runtime/helpers/esm/defineProperty');
30
+ require('react-dom');
31
+ require('@babel/runtime/helpers/objectSpread2');
32
+ require('@babel/runtime/helpers/classCallCheck');
33
+ require('@babel/runtime/helpers/createClass');
34
+ require('@babel/runtime/helpers/inherits');
35
+ require('@babel/runtime/helpers/createSuper');
36
+ require('@babel/runtime/helpers/taggedTemplateLiteral');
37
+ require('@babel/runtime/helpers/typeof');
38
+ require('qs');
39
+ require('./en-DhnUUSB_.js');
37
40
  require('dayjs');
38
41
  require('dayjs/plugin/localeData');
39
42
  require('dayjs/plugin/utc');
40
43
  require('dayjs/plugin/weekday');
41
44
  require('dayjs/plugin/weekOfYear');
42
- require('@bigbinary/neeto-cist');
43
- require('qs');
44
- require('./en-80d0fbff.js');
45
45
  require('./Button.js');
46
46
  require('react-router-dom');
47
47
  require('./Spinner.js');
@@ -51,21 +51,10 @@ require('tippy.js');
51
51
  require('./Popover.js');
52
52
  require('./Typography.js');
53
53
 
54
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
-
56
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
57
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
58
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
59
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
60
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
61
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
62
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
63
- var _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);
64
-
65
- var _excluded$1 = ["children"],
54
+ var _excluded$2 = ["children"],
66
55
  _excluded2 = ["children"];
67
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
68
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
56
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
57
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
69
58
  var STYLES = {
70
59
  border: {
71
60
  "default": "1px solid rgb(var(--neeto-ui-gray-400))",
@@ -78,7 +67,7 @@ var STYLES = {
78
67
  };
79
68
  var CustomControl = function CustomControl(_ref) {
80
69
  var children = _ref.children,
81
- props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
70
+ props = _objectWithoutProperties(_ref, _excluded$2);
82
71
  var getValue = props.getValue;
83
72
  var _props$selectProps = props.selectProps,
84
73
  isFocused = _props$selectProps.isFocused,
@@ -101,69 +90,73 @@ var CustomControl = function CustomControl(_ref) {
101
90
  if (isFocused && !isItemDeleted || isItemAdded) scrollToBottom();
102
91
  prevValue.current = value;
103
92
  }, [isFocused, value]);
104
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.Control, _extends__default["default"]({}, props, {
105
- innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, {
93
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.Control, _extends({}, props, {
94
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, {
106
95
  ref: controlRef
107
96
  })
108
- }), prefix && /*#__PURE__*/React__default["default"].createElement("div", {
97
+ }), prefix && /*#__PURE__*/React.createElement("div", {
109
98
  className: "neeto-ui-email-input__prefix"
110
99
  }, prefix), children);
111
100
  };
112
101
  var CustomDropdownIndicator = function CustomDropdownIndicator(props) {
113
102
  var suffix = props.selectProps.suffix;
114
- return suffix ? /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.DropdownIndicator, props, /*#__PURE__*/React__default["default"].createElement("div", {
103
+ return suffix ? /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.DropdownIndicator, props, /*#__PURE__*/React.createElement("div", {
115
104
  className: "neeto-ui-email-input__suffix"
116
105
  }, suffix)) : null;
117
106
  };
118
107
  var MultiValueRemove = function MultiValueRemove(props) {
119
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.MultiValueRemove, _extends__default["default"]({}, props, {
120
- innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty__default["default"]({}, "data-cy", "".concat(index.hyphenize(props.data.label), "-remove-icon")))
121
- }), /*#__PURE__*/React__default["default"].createElement(neetoIcons.Close, {
108
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.MultiValueRemove, _extends({}, props, {
109
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(index.hyphenize(props.data.label), "-remove-icon")))
110
+ }), /*#__PURE__*/React.createElement(neetoIcons.Close, {
122
111
  size: 16
123
112
  }));
124
113
  };
125
114
  var CustomValueContainer = function CustomValueContainer(_ref2) {
126
115
  var children = _ref2.children,
127
- props = _objectWithoutProperties__default["default"](_ref2, _excluded2);
116
+ props = _objectWithoutProperties(_ref2, _excluded2);
128
117
  var getValue = props.getValue,
129
118
  _props$selectProps2 = props.selectProps,
130
119
  isFocused = _props$selectProps2.isFocused,
131
120
  visibleEmailsCount = _props$selectProps2.visibleEmailsCount,
132
121
  isAlwaysExpanded = _props$selectProps2.isAlwaysExpanded;
133
122
  var value = getValue();
134
- var _children = _toArray__default["default"](children),
123
+ var _children = _toArray(children),
135
124
  firstChild = _children[0],
136
125
  rest = _children.slice(1);
137
126
  var shouldCollapse = !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;
138
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.ValueContainer, _extends__default["default"]({}, props, {
139
- innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty__default["default"]({}, "data-cy", "multi-email-input-container"))
140
- }), shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/React__default["default"].createElement(Tag, {
127
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.ValueContainer, _extends({}, props, {
128
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-input-container"))
129
+ }), shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/React.createElement(Tag, {
141
130
  label: "".concat(value.length - visibleEmailsCount, " more"),
142
131
  style: "secondary"
143
132
  }), rest);
144
133
  };
145
134
  var CustomClearIndicator = function CustomClearIndicator(props) {
146
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.ClearIndicator, _extends__default["default"]({}, props, {
147
- innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty__default["default"]({}, "data-cy", "clear-all-button"))
148
- }), /*#__PURE__*/React__default["default"].createElement(neetoIcons.Close, {
135
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.ClearIndicator, _extends({}, props, {
136
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button"))
137
+ }), /*#__PURE__*/React.createElement(neetoIcons.Close, {
149
138
  className: "cursor-pointer",
150
139
  size: 16
151
140
  }));
152
141
  };
153
142
  var SelectContainer = function SelectContainer(props) {
154
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.SelectContainer, _extends__default["default"]({}, props, {
155
- innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty__default["default"]({}, "data-cy", "multi-email-select-container"))
143
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.SelectContainer, _extends({}, props, {
144
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-select-container"))
156
145
  }));
157
146
  };
158
147
  var Input = function Input(props) {
159
- return /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.components.Input, _extends__default["default"]({}, props, {
148
+ var handlePaste = function handlePaste(event) {
149
+ var handleEmailChange = props.selectProps.handleEmailChange;
150
+ var text = event.clipboardData.getData("Text");
151
+ if (!EMAIL_REGEX.test(text)) return;
152
+ event === null || event === void 0 || event.preventDefault();
153
+ setTimeout(function () {
154
+ return handleEmailChange(text);
155
+ });
156
+ };
157
+ return /*#__PURE__*/React.createElement(reactSelectCreatable_esm.components.Input, _extends({}, props, {
160
158
  "data-cy": "email-select-input-field",
161
- onPaste: function onPaste(e) {
162
- var clipboardData = e.clipboardData.getData("Text");
163
- setTimeout(function () {
164
- return props.selectProps.handleEmailChange(clipboardData);
165
- });
166
- }
159
+ onPaste: handlePaste
167
160
  }));
168
161
  };
169
162
  var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
@@ -173,7 +166,7 @@ var CUSTOM_STYLES = {
173
166
  input: ramda.assoc("overflow", "hidden"),
174
167
  multiValue: function multiValue(styles, _ref3) {
175
168
  var valid = _ref3.data.valid;
176
- return _objectSpread$1(_objectSpread$1({}, styles), {}, {
169
+ return _objectSpread$2(_objectSpread$2({}, styles), {}, {
177
170
  border: valid ? STYLES.border["default"] : STYLES.border.error,
178
171
  color: valid ? STYLES.color["default"] : STYLES.color.error
179
172
  });
@@ -189,31 +182,55 @@ var CUSTOM_COMPONENTS = {
189
182
  Input: Input
190
183
  };
191
184
 
192
- var formatEmailInputOptions = function formatEmailInputOptions(label) {
193
- return {
194
- label: label,
195
- value: label,
196
- valid: EMAIL_REGEX.test(label)
185
+ var _excluded$1 = ["label", "value"];
186
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
187
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
188
+ var getEmailsMap = function getEmailsMap() {
189
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
190
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
191
+ var emails = [].concat(_toConsumableArray(inputEmails), _toConsumableArray(options));
192
+ var emailsMap = new Map();
193
+ emails.forEach(function (option) {
194
+ var _emailsMap$get;
195
+ var hasPersistedEntry = neetoCist.isPresent((_emailsMap$get = emailsMap.get(option.value)) === null || _emailsMap$get === void 0 ? void 0 : _emailsMap$get.id);
196
+ if (!hasPersistedEntry) emailsMap.set(option.value, option);
197
+ });
198
+ return emailsMap;
199
+ };
200
+ var processEmailOptions = function processEmailOptions() {
201
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
202
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
203
+ var emailsMap = getEmailsMap(inputEmails, options);
204
+ return function (email) {
205
+ var emailDetails = emailsMap.get(email) || {
206
+ value: email
207
+ };
208
+ return formatEmailInputOption(emailDetails);
197
209
  };
198
210
  };
199
- var pruneDuplicates = function pruneDuplicates(inputValues) {
200
- var values = ramda.pluck("value", inputValues);
201
- var caseInsensitiveValues = values.map(function (value) {
202
- return value.toLowerCase();
211
+ var formatEmailInputOption = function formatEmailInputOption(_ref) {
212
+ var label = _ref.label,
213
+ value = _ref.value,
214
+ otherDetails = _objectWithoutProperties(_ref, _excluded$1);
215
+ return _objectSpread$1(_objectSpread$1({
216
+ label: label !== null && label !== void 0 ? label : value,
217
+ value: value
218
+ }, otherDetails), {}, {
219
+ valid: EMAIL_REGEX.test(value)
203
220
  });
221
+ };
222
+ var pruneDuplicates = function pruneDuplicates(inputValues, options) {
223
+ var emailProcessor = processEmailOptions(inputValues, options);
224
+ var emails = ramda.pluck("value", inputValues);
204
225
  var uniqueValuesSet = new Set();
205
226
  var duplicates = [];
206
- caseInsensitiveValues.forEach(function (value, index) {
207
- if (uniqueValuesSet.has(value)) {
208
- duplicates.push(values[index]);
209
- } else {
210
- uniqueValuesSet.add(value);
211
- }
227
+ emails.forEach(function (pristineEmail) {
228
+ var email = pristineEmail.toLowerCase();
229
+ if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);
230
+ uniqueValuesSet.add(email);
212
231
  });
213
232
  var uniqueValues = Array.from(uniqueValuesSet);
214
- var uniqueEmails = uniqueValues.map(function (email) {
215
- return formatEmailInputOptions(email);
216
- });
233
+ var uniqueEmails = uniqueValues.map(emailProcessor);
217
234
  return {
218
235
  uniqueEmails: uniqueEmails,
219
236
  duplicates: duplicates
@@ -233,7 +250,7 @@ var renderDefaultText = function renderDefaultText(count) {
233
250
 
234
251
  var _excluded = ["label", "placeholder", "helpText", "value", "onChange", "error", "onBlur", "filterInvalidEmails", "counter", "disabled", "maxHeight", "required", "labelProps", "visibleEmailsCount", "isCreateable", "isAlwaysExpanded"];
235
252
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
236
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
253
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
237
254
  var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
238
255
  var _ref$label = _ref.label,
239
256
  label = _ref$label === void 0 ? "Email(s)" : _ref$label,
@@ -264,19 +281,23 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
264
281
  isCreateable = _ref$isCreateable === void 0 ? true : _ref$isCreateable,
265
282
  _ref$isAlwaysExpanded = _ref.isAlwaysExpanded,
266
283
  isAlwaysExpanded = _ref$isAlwaysExpanded === void 0 ? false : _ref$isAlwaysExpanded,
267
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
284
+ otherProps = _objectWithoutProperties(_ref, _excluded);
268
285
  var _useState = React.useState(""),
269
- _useState2 = _slicedToArray__default["default"](_useState, 2),
286
+ _useState2 = _slicedToArray(_useState, 2),
270
287
  inputValue = _useState2[0],
271
288
  setInputValue = _useState2[1];
272
289
  var _useState3 = React.useState(false),
273
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
290
+ _useState4 = _slicedToArray(_useState3, 2),
274
291
  isFocused = _useState4[0],
275
292
  setIsFocused = _useState4[1];
276
293
  var _useState5 = React.useState([]),
277
- _useState6 = _slicedToArray__default["default"](_useState5, 2),
294
+ _useState6 = _slicedToArray(_useState5, 2),
278
295
  duplicateEmails = _useState6[0],
279
296
  setDuplicateEmails = _useState6[1];
297
+ var _useState7 = React.useState(false),
298
+ _useState8 = _slicedToArray(_useState7, 2),
299
+ isMenuOpen = _useState8[0],
300
+ setIsMenuOpen = _useState8[1];
280
301
  var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
281
302
  var isOptionsPresent = !!otherProps.options;
282
303
  var handleFilterEmails = function handleFilterEmails() {
@@ -287,14 +308,17 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
287
308
  var inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);
288
309
  var emailMatches = inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];
289
310
  var emails = emailMatches.map(function (email) {
290
- return formatEmailInputOptions(email);
311
+ return {
312
+ value: email
313
+ };
291
314
  });
292
- var _pruneDuplicates = pruneDuplicates([].concat(_toConsumableArray__default["default"](value), _toConsumableArray__default["default"](emails))),
315
+ var _pruneDuplicates = pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails)), otherProps.options),
293
316
  uniqueEmails = _pruneDuplicates.uniqueEmails,
294
317
  duplicates = _pruneDuplicates.duplicates;
295
318
  onChange(uniqueEmails);
296
319
  setDuplicateEmails(duplicates);
297
320
  setInputValue("");
321
+ setIsMenuOpen(false);
298
322
  };
299
323
  var handleKeyDown = function handleKeyDown(event) {
300
324
  if (!inputValue) return;
@@ -318,8 +342,9 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
318
342
  };
319
343
  var onCreateOption = function onCreateOption(input) {
320
344
  var _otherProps$onCreateO;
321
- var email = formatEmailInputOptions(input);
322
- var _pruneDuplicates2 = pruneDuplicates([].concat(_toConsumableArray__default["default"](value), [email])),
345
+ var _pruneDuplicates2 = pruneDuplicates([].concat(_toConsumableArray(value), [{
346
+ value: input
347
+ }]), otherProps.options),
323
348
  uniqueEmails = _pruneDuplicates2.uniqueEmails,
324
349
  duplicates = _pruneDuplicates2.duplicates;
325
350
  onChange(uniqueEmails);
@@ -348,24 +373,25 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
348
373
  };
349
374
  }
350
375
  var isFilterEmailsLinkVisible = !!filterInvalidEmails && value.length > getValidEmailsCount(value);
351
- return /*#__PURE__*/React__default["default"].createElement("div", {
376
+ return /*#__PURE__*/React.createElement("div", {
352
377
  className: "neeto-ui-input__wrapper neeto-ui-email-input__wrapper"
353
- }, /*#__PURE__*/React__default["default"].createElement("div", {
378
+ }, /*#__PURE__*/React.createElement("div", {
354
379
  className: "neeto-ui-email-input__label-wrapper"
355
- }, label && /*#__PURE__*/React__default["default"].createElement(Label, _extends__default["default"]({
380
+ }, label && /*#__PURE__*/React.createElement(Label, _extends({
356
381
  required: required,
357
382
  className: "neeto-ui-email-input__label",
358
383
  "data-cy": "".concat(index.hyphenize(label), "-input-label")
359
- }, labelProps), label), isCounterVisible && /*#__PURE__*/React__default["default"].createElement("p", {
384
+ }, labelProps), label), isCounterVisible && /*#__PURE__*/React.createElement("p", {
360
385
  className: "neeto-ui-email-input__counter",
361
386
  "data-cy": "".concat(index.hyphenize(label), "-email-counter")
362
- }, getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value)))), /*#__PURE__*/React__default["default"].createElement(reactSelectCreatable_esm.CreatableSelect, _extends__default["default"]({
387
+ }, getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value)))), /*#__PURE__*/React.createElement(reactSelectCreatable_esm.CreatableSelect, _extends({
363
388
  isMulti: true,
364
389
  required: true,
365
390
  classNamePrefix: "neeto-ui-react-select",
366
391
  components: CUSTOM_COMPONENTS,
367
392
  isDisabled: disabled,
368
- className: classnames__default["default"]("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
393
+ menuIsOpen: isMenuOpen,
394
+ className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
369
395
  "neeto-ui-react-select__container--error": !!error
370
396
  }),
371
397
  styles: _objectSpread(_objectSpread({}, CUSTOM_STYLES), {}, {
@@ -378,10 +404,11 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
378
404
  onFocus: function onFocus() {
379
405
  return setIsFocused(true);
380
406
  },
407
+ onKeyDown: handleKeyDown,
381
408
  onInputChange: function onInputChange(inputValue) {
382
- return setInputValue(inputValue);
383
- },
384
- onKeyDown: handleKeyDown
409
+ setIsMenuOpen(Boolean(inputValue));
410
+ setInputValue(inputValue);
411
+ }
385
412
  }, _objectSpread(_objectSpread(_objectSpread({
386
413
  handleEmailChange: handleEmailChange,
387
414
  inputValue: inputValue,
@@ -394,19 +421,19 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
394
421
  visibleEmailsCount: visibleEmailsCount
395
422
  }, !isOptionsPresent && {
396
423
  menuIsOpen: false
397
- }), otherProps), overrideProps))), !!error && /*#__PURE__*/React__default["default"].createElement("p", {
424
+ }), otherProps), overrideProps))), !!error && /*#__PURE__*/React.createElement("p", {
398
425
  className: "neeto-ui-input__error",
399
426
  "data-cy": "".concat(index.hyphenize(label), "-input-error")
400
- }, error, isFilterEmailsLinkVisible && /*#__PURE__*/React__default["default"].createElement("span", {
427
+ }, error, isFilterEmailsLinkVisible && /*#__PURE__*/React.createElement("span", {
401
428
  className: "neeto-ui-font-semibold cursor-pointer",
402
429
  onClick: handleFilterEmails
403
- }, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React__default["default"].createElement("p", {
430
+ }, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React.createElement("p", {
404
431
  className: "neeto-ui-input__help-text",
405
432
  "data-cy": "".concat(index.hyphenize(label), "-input-help")
406
- }, helpText), !!duplicateEmails.length && /*#__PURE__*/React__default["default"].createElement("p", {
407
- className: "neeto-ui-input__warning",
433
+ }, helpText), !!duplicateEmails.length && /*#__PURE__*/React.createElement("p", {
434
+ className: "neeto-ui-input__error",
408
435
  "data-cy": "".concat(index.hyphenize(label), "-duplicate-emails-warning")
409
- }, "Duplicate emails that were removed case insensitively:", " ", duplicateEmails.join(", ")));
436
+ }, "Duplicate emails detected and removed (matched case-insensitively):", " ", duplicateEmails.join(", ")));
410
437
  });
411
438
  MultiEmailInput.displayName = "MultiEmailInput";
412
439
 
@@ -1 +1 @@
1
- {"version":3,"file":"MultiEmailInput.js","sources":["../../src/components/MultiEmailInput/constants.jsx","../../src/components/MultiEmailInput/utils.js","../../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={e => {\n const clipboardData = e.clipboardData.getData(\"Text\");\n\n setTimeout(() => props.selectProps.handleEmailChange(clipboardData));\n }}\n />\n);\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const caseInsensitiveValues = values.map(value => value.toLowerCase());\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n caseInsensitiveValues.forEach((value, index) => {\n if (uniqueValuesSet.has(value)) {\n duplicates.push(values[index]);\n } else {\n uniqueValuesSet.add(value);\n }\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(email =>\n formatEmailInputOptions(email)\n );\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n formatEmailInputOptions,\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n const { uniqueEmails, duplicates } = pruneDuplicates([\n ...value,\n ...emails,\n ]);\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const email = formatEmailInputOptions(input);\n const { uniqueEmails, duplicates } = pruneDuplicates([...value, email]);\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__warning\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails that were removed case insensitively:{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","onPaste","e","clipboardData","getData","setTimeout","handleEmailChange","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","caseInsensitiveValues","map","toLowerCase","uniqueValuesSet","Set","duplicates","forEach","index","has","push","add","uniqueValues","Array","from","uniqueEmails","email","renderValidEmails","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","match","emailMatches","emails","_pruneDuplicates","_toConsumableArray","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","join","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,MAAM,GAAG;AACbC,EAAAA,MAAM,EAAE;AACN,IAAA,SAAA,EAAS,yCAAyC;AAClDC,IAAAA,KAAK,EAAE,qDAAA;GACR;AACDC,EAAAA,KAAK,EAAE;AACL,IAAA,SAAA,EAAS,+BAA+B;AACxCD,IAAAA,KAAK,EAAE,2CAAA;AACT,GAAA;AACF,CAAC,CAAA;AAED,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAKC,IAAAA,KAAK,GAAAC,4CAAA,CAAAH,IAAA,EAAAI,WAAA,CAAA,CAAA;AACzC,EAAA,IAAQC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ,CAAA;AAChB,EAAA,IAAAC,kBAAA,GAA8BJ,KAAK,CAACK,WAAW;IAAvCC,SAAS,GAAAF,kBAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,kBAAA,CAANG,MAAM,CAAA;AAEzB,EAAA,IAAMC,SAAS,GAAGC,YAAM,CAAC,EAAE,CAAC,CAAA;AAC5B,EAAA,IAAMC,UAAU,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;EAE/B,IAAME,KAAK,GAAGR,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAMC,eAAe,GAAGH,UAAU,CAACI,OAAO,CAAA;IAC1C,IAAI,CAACD,eAAe,EAAE,OAAA;AAEtB,IAAA,IAAQE,YAAY,GAAmBF,eAAe,CAA9CE,YAAY;MAAEC,YAAY,GAAKH,eAAe,CAAhCG,YAAY,CAAA;IAElCH,eAAe,CAACI,QAAQ,CAAC;MAAEC,GAAG,EAAEH,YAAY,GAAGC,YAAAA;AAAa,KAAC,CAAC,CAAA;GAC/D,CAAA;AAEDG,EAAAA,eAAS,CAAC,YAAM;IACd,IAAMC,WAAW,GAAGT,KAAK,CAACU,MAAM,GAAGb,SAAS,CAACM,OAAO,CAACO,MAAM,CAAA;IAC3D,IAAMC,aAAa,GAAGX,KAAK,CAACU,MAAM,GAAGb,SAAS,CAACM,OAAO,CAACO,MAAM,CAAA;IAE7D,IAAKf,SAAS,IAAI,CAACgB,aAAa,IAAKF,WAAW,EAAER,cAAc,EAAE,CAAA;IAElEJ,SAAS,CAACM,OAAO,GAAGH,KAAK,CAAA;AAC3B,GAAC,EAAE,CAACL,SAAS,EAAEK,KAAK,CAAC,CAAC,CAAA;EAEtB,oBACEY,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACC,OAAO,EAAAC,4BAAA,CAAA,EAAA,EACb3B,KAAK,EAAA;AACT4B,IAAAA,UAAU,EAAAC,eAAA,CAAAA,eAAA,CAAO7B,EAAAA,EAAAA,KAAK,CAAC4B,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEE,MAAAA,GAAG,EAAEpB,UAAAA;AAAU,KAAA,CAAA;AAAG,GAAA,CAAA,EAEpDH,MAAM,iBAAIgB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKO,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,EAAExB,MAAM,CAAO,EACtER,QAAQ,CACU,CAAA;AAEzB,CAAC,CAAA;AAED,IAAMiC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGhC,KAAK,EAAI;AACvC,EAAA,IAAQiC,MAAM,GAAKjC,KAAK,CAACK,WAAW,CAA5B4B,MAAM,CAAA;AAEd,EAAA,OAAOA,MAAM,gBACXV,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACS,iBAAiB,EAAKlC,KAAK,eACrCuB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKO,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,EAAEE,MAAM,CAAO,CAC/B,GAC7B,IAAI,CAAA;AACV,CAAC,CAAA;AAED,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGnC,KAAK,EAAA;EAAA,oBAC5BuB,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACU,gBAAgB,EAAAR,4BAAA,CAAA,EAAA,EACtB3B,KAAK,EAAA;IACT4B,UAAU,EAAAC,eAAA,CAAAA,eAAA,KACL7B,KAAK,CAAC4B,UAAU,CAAA,EAAA,EAAA,EAAAQ,mCAAA,CAAA,EAAA,EAClB,SAAS,EAAAC,EAAAA,CAAAA,MAAA,CAAMC,eAAS,CAACtC,KAAK,CAACuC,IAAI,CAACC,KAAK,CAAC,EAAA,cAAA,CAAA,CAAA,CAAA;AAC3C,GAAA,CAAA,eAEFjB,yBAAA,CAAAC,aAAA,CAACiB,gBAAK,EAAA;AAACC,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAA,CAAG,CACS,CAAA;AAAA,CAC/B,CAAA;AAED,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,KAAA,EAA+B;AAAA,EAAA,IAAzB7C,QAAQ,GAAA6C,KAAA,CAAR7C,QAAQ;AAAKC,IAAAA,KAAK,GAAAC,4CAAA,CAAA2C,KAAA,EAAAC,UAAA,CAAA,CAAA;AAChD,EAAA,IACE1C,QAAQ,GAENH,KAAK,CAFPG,QAAQ;IAAA2C,mBAAA,GAEN9C,KAAK,CADPK,WAAW;IAAIC,SAAS,GAAAwC,mBAAA,CAATxC,SAAS;IAAEyC,kBAAkB,GAAAD,mBAAA,CAAlBC,kBAAkB;IAAEC,gBAAgB,GAAAF,mBAAA,CAAhBE,gBAAgB,CAAA;EAEhE,IAAMrC,KAAK,GAAGR,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAA8C,SAAA,GAAAC,4BAAA,CAA8BnD,QAAQ,CAAA;AAA/BoD,IAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;IAAKG,IAAI,GAAAH,SAAA,CAAAI,KAAA,CAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAMC,cAAc,GAClB,CAACN,gBAAgB,IAAI,CAAC1C,SAAS,IAAIK,KAAK,CAACU,MAAM,GAAG0B,kBAAkB,CAAA;EAEtE,oBACExB,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAAC8B,cAAc,EAAA5B,4BAAA,CAAA,EAAA,EACpB3B,KAAK,EAAA;AACT4B,IAAAA,UAAU,EAAAC,eAAA,CAAAA,eAAA,CACL7B,EAAAA,EAAAA,KAAK,CAAC4B,UAAU,CAAAQ,EAAAA,EAAAA,EAAAA,mCAAA,CAClB,EAAA,EAAA,SAAS,EAAG,6BAA6B,CAAA,CAAA;AAC1C,GAAA,CAAA,EAEDkB,cAAc,GAAGH,UAAU,CAACE,KAAK,CAAC,CAAC,EAAEN,kBAAkB,CAAC,GAAGI,UAAU,EACrEG,cAAc,iBACb/B,yBAAA,CAAAC,aAAA,CAACgC,GAAG,EAAA;IACFhB,KAAK,EAAA,EAAA,CAAAH,MAAA,CAAK1B,KAAK,CAACU,MAAM,GAAG0B,kBAAkB,EAAQ,OAAA,CAAA;AACnDU,IAAAA,KAAK,EAAC,WAAA;GAET,CAAA,EACAL,IAAI,CACqB,CAAA;AAEhC,CAAC,CAAA;AAED,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG1D,KAAK,EAAA;EAAA,oBAChCuB,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACkC,cAAc,EAAAhC,4BAAA,CAAA,EAAA,EACpB3B,KAAK,EAAA;AACT4B,IAAAA,UAAU,EAAAC,eAAA,CAAAA,eAAA,CACL7B,EAAAA,EAAAA,KAAK,CAAC4B,UAAU,CAAAQ,EAAAA,EAAAA,EAAAA,mCAAA,CAClB,EAAA,EAAA,SAAS,EAAG,kBAAkB,CAAA,CAAA;AAC/B,GAAA,CAAA,eAEFb,yBAAA,CAAAC,aAAA,CAACiB,gBAAK,EAAA;AAACV,IAAAA,SAAS,EAAC,gBAAgB;AAACW,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAA,CAAG,CACpB,CAAA;AAAA,CAC7B,CAAA;AAED,IAAMkB,eAAe,GAAG,SAAlBA,eAAeA,CAAG5D,KAAK,EAAA;EAAA,oBAC3BuB,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACmC,eAAe,EAAAjC,4BAAA,CAAA,EAAA,EACrB3B,KAAK,EAAA;AACT4B,IAAAA,UAAU,EAAAC,eAAA,CAAAA,eAAA,CACL7B,EAAAA,EAAAA,KAAK,CAAC4B,UAAU,CAAAQ,EAAAA,EAAAA,EAAAA,mCAAA,CAClB,EAAA,EAAA,SAAS,EAAG,8BAA8B,CAAA,CAAA;GAE7C,CAAA,CAAA,CAAA;AAAA,CACH,CAAA;AAED,IAAMyB,KAAK,GAAG,SAARA,KAAKA,CAAG7D,KAAK,EAAA;EAAA,oBACjBuB,yBAAA,CAAAC,aAAA,CAACC,mCAAU,CAACoC,KAAK,EAAAlC,4BAAA,CAAA,EAAA,EACX3B,KAAK,EAAA;AACT,IAAA,SAAA,EAAQ,0BAA0B;AAClC8D,IAAAA,OAAO,EAAE,SAAAA,OAAAC,CAAAA,CAAC,EAAI;MACZ,IAAMC,aAAa,GAAGD,CAAC,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,CAAC,CAAA;AAErDC,MAAAA,UAAU,CAAC,YAAA;AAAA,QAAA,OAAMlE,KAAK,CAACK,WAAW,CAAC8D,iBAAiB,CAACH,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;AACtE,KAAA;GACA,CAAA,CAAA,CAAA;AAAA,CACH,CAAA;AAEM,IAAMI,WAAW,GAAG,IAAIC,MAAM,CACnC,0CAA0C,EAC1C,GAAG,CACJ,CAAA;AAEM,IAAMC,oBAAoB,GAC/B,sJAAsJ,CAAA;AAEjJ,IAAMC,sBAAsB,GAAG,UAAU,CAAA;AAEzC,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,KAAK,EAAEC,WAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClCC,EAAAA,UAAU,EAAE,SAAAA,UAACC,CAAAA,MAAM,EAAAC,KAAA,EAAA;AAAA,IAAA,IAAYC,KAAK,GAAAD,KAAA,CAAbtC,IAAI,CAAIuC,KAAK,CAAA;AAAA,IAAA,OAAAjD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAC/B+C,MAAM,CAAA,EAAA,EAAA,EAAA;AACTlF,MAAAA,MAAM,EAAEoF,KAAK,GAAGrF,MAAM,CAACC,MAAM,CAAQ,SAAA,CAAA,GAAGD,MAAM,CAACC,MAAM,CAACC,KAAK;MAC3DC,KAAK,EAAEkF,KAAK,GAAGrF,MAAM,CAACG,KAAK,CAAA,SAAA,CAAQ,GAAGH,MAAM,CAACG,KAAK,CAACD,KAAAA;AAAK,KAAA,CAAA,CAAA;AAAA,GAAA;AAE5D,CAAC,CAAA;AAEM,IAAMoF,iBAAiB,GAAG;AAC/B7C,EAAAA,iBAAiB,EAAEF,uBAAuB;AAC1CN,EAAAA,OAAO,EAAE7B,aAAa;AACtBsC,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBoB,EAAAA,cAAc,EAAEZ,oBAAoB;AACpCgB,EAAAA,cAAc,EAAED,oBAAoB;AACpCE,EAAAA,eAAe,EAAfA,eAAe;AACfC,EAAAA,KAAK,EAALA,KAAAA;AACF,CAAC;;ACxKM,IAAMmB,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGxC,KAAK,EAAA;EAAA,OAAK;AAC/CA,IAAAA,KAAK,EAALA,KAAK;AACL7B,IAAAA,KAAK,EAAE6B,KAAK;AACZsC,IAAAA,KAAK,EAAEV,WAAW,CAACa,IAAI,CAACzC,KAAK,CAAA;GAC9B,CAAA;AAAA,CAAC,CAAA;AAEK,IAAM0C,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,WAAW,EAAI;AAC5C,EAAA,IAAMC,MAAM,GAAGC,WAAK,CAAC,OAAO,EAAEF,WAAW,CAAC,CAAA;AAC1C,EAAA,IAAMG,qBAAqB,GAAGF,MAAM,CAACG,GAAG,CAAC,UAAA5E,KAAK,EAAA;IAAA,OAAIA,KAAK,CAAC6E,WAAW,EAAE,CAAA;GAAC,CAAA,CAAA;AACtE,EAAA,IAAMC,eAAe,GAAG,IAAIC,GAAG,EAAE,CAAA;EACjC,IAAMC,UAAU,GAAG,EAAE,CAAA;AAErBL,EAAAA,qBAAqB,CAACM,OAAO,CAAC,UAACjF,KAAK,EAAEkF,KAAK,EAAK;AAC9C,IAAA,IAAIJ,eAAe,CAACK,GAAG,CAACnF,KAAK,CAAC,EAAE;AAC9BgF,MAAAA,UAAU,CAACI,IAAI,CAACX,MAAM,CAACS,KAAK,CAAC,CAAC,CAAA;AAChC,KAAC,MAAM;AACLJ,MAAAA,eAAe,CAACO,GAAG,CAACrF,KAAK,CAAC,CAAA;AAC5B,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMsF,YAAY,GAAGC,KAAK,CAACC,IAAI,CAACV,eAAe,CAAC,CAAA;AAChD,EAAA,IAAMW,YAAY,GAAGH,YAAY,CAACV,GAAG,CAAC,UAAAc,KAAK,EAAA;IAAA,OACzCrB,uBAAuB,CAACqB,KAAK,CAAC,CAAA;GAC/B,CAAA,CAAA;EAED,OAAO;AAAED,IAAAA,YAAY,EAAZA,YAAY;AAAET,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACrC,CAAC,CAAA;AAEM,IAAMW,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGlB,MAAM,EAAA;AAAA,EAAA,OACrCA,MAAM,CAACmB,MAAM,CAAC,UAAAF,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,CAACvB,KAAK,IAAIuB,KAAK,CAAA;GAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AAEvC,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGpB,MAAM,EAAA;AAAA,EAAA,OAAIkB,iBAAiB,CAAClB,MAAM,CAAC,CAAC/D,MAAM,CAAA;AAAA,CAAA,CAAA;AAEtE,IAAMoF,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAKA,KAAK,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAA;AAAA,CAAC;;;;;ACZtEC,IAAAA,eAAe,gBAAGC,gBAAU,CAChC,UAAA9G,IAAA,EAoBEgC,GAAG,EACA;AAAA,EAAA,IAAA+E,UAAA,GAAA/G,IAAA,CAnBD0C,KAAK;AAALA,IAAAA,KAAK,GAAAqE,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;IAAAC,gBAAA,GAAAhH,IAAA,CAClBiH,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,aAAA,GAAAlH,IAAA,CAChBmH,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAE,UAAA,GAAApH,IAAA,CACba,KAAK;AAALA,IAAAA,KAAK,GAAAuG,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,aAAA,GAAArH,IAAA,CACVsH,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,UAAI,GAAAF,aAAA;IAAAG,UAAA,GAAAxH,IAAA,CACfH,KAAK;AAALA,IAAAA,KAAK,GAAA2H,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,WAAA,GAAAzH,IAAA,CACV0H,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGF,KAAAA,CAAAA,GAAAA,UAAI,GAAAE,WAAA;IACbE,mBAAmB,GAAA3H,IAAA,CAAnB2H,mBAAmB;IACnBC,OAAO,GAAA5H,IAAA,CAAP4H,OAAO;IAAAC,aAAA,GAAA7H,IAAA,CACP8H,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,cAAA,GAAA/H,IAAA,CAChBgI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,cAAA;IAAAE,aAAA,GAAAjI,IAAA,CACfkI,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,UAAU,GAAAnI,IAAA,CAAVmI,UAAU;IAAAC,qBAAA,GAAApI,IAAA,CACViD,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAmF,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IAAAC,iBAAA,GAAArI,IAAA,CACtBsI,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAE,qBAAA,GAAAvI,IAAA,CACnBkD,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAqF,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AACrBC,IAAAA,UAAU,GAAArI,4CAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;AAIf,EAAA,IAAAqI,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAI,UAAA,GAAkCL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,kCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA1CvI,IAAAA,SAAS,GAAAwI,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAE,UAAA,GAA8CR,cAAQ,CAAC,EAAE,CAAC;IAAAS,UAAA,GAAAP,kCAAA,CAAAM,UAAA,EAAA,CAAA,CAAA;AAAnDE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAMG,gBAAgB,GACpB,CAAC,CAAC1B,OAAO,KACR,CAACA,OAAO,CAAC2B,UAAU,IAAI7C,mBAAmB,CAAC7F,KAAK,CAAC,IAAI+G,OAAO,CAAC2B,UAAU,CAAC,CAAA;AAE3E,EAAA,IAAMC,gBAAgB,GAAG,CAAC,CAAChB,UAAU,CAACiB,OAAO,CAAA;AAE7C,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,IAAA,OAASpC,QAAQ,CAACd,iBAAiB,CAAC3F,KAAK,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAEnE,EAAA,IAAMwD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGwE,UAAU,EAAI;IACtC,IAAI,CAACP,YAAY,EAAE,OAAA;AAEnB,IAAA,IAAMjD,WAAW,GAAGwD,UAAU,CAACc,KAAK,CAAClF,sBAAsB,CAAC,CAAA;IAC5D,IAAMmF,YAAY,GAChBf,UAAU,CAACc,KAAK,CAACnF,oBAAoB,CAAC,IAAIa,WAAW,IAAI,EAAE,CAAA;AAE7D,IAAA,IAAMwE,MAAM,GAAGD,YAAY,CAACnE,GAAG,CAAC,UAAAc,KAAK,EAAA;MAAA,OAAIrB,uBAAuB,CAACqB,KAAK,CAAC,CAAA;KAAC,CAAA,CAAA;AACxE,IAAA,IAAAuD,gBAAA,GAAqC1E,eAAe,CAAA,EAAA,CAAA7C,MAAA,CAAAwH,sCAAA,CAC/ClJ,KAAK,CAAA,EAAAkJ,sCAAA,CACLF,MAAM,CACT,CAAA,CAAA;MAHMvD,YAAY,GAAAwD,gBAAA,CAAZxD,YAAY;MAAET,UAAU,GAAAiE,gBAAA,CAAVjE,UAAU,CAAA;IAIhCyB,QAAQ,CAAChB,YAAY,CAAC,CAAA;IACtB+C,kBAAkB,CAACxD,UAAU,CAAC,CAAA;IAC9BiD,aAAa,CAAC,EAAE,CAAC,CAAA;GAClB,CAAA;AAED,EAAA,IAAMkB,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;IAC7B,IAAI,CAACpB,UAAU,EAAE,OAAA;IAEjB,QAAQoB,KAAK,CAACC,GAAG;AACf,MAAA,KAAK,OAAO;AAAE,QAAA;UACZ7F,iBAAiB,CAACwE,UAAU,CAAC,CAAA;AAC7B,UAAA,CAACW,gBAAgB,IAAIS,KAAK,CAACE,cAAc,EAAE,CAAA;UAC3CF,KAAK,CAACG,eAAe,EAAE,CAAA;AAEvB,UAAA,OAAA;AACF,SAAA;AACA,MAAA,KAAK,KAAK,CAAA;AACV,MAAA,KAAK,GAAG,CAAA;AACR,MAAA,KAAK,GAAG;AAAE,QAAA;UACR/F,iBAAiB,CAACwE,UAAU,CAAC,CAAA;UAC7BoB,KAAK,CAACE,cAAc,EAAE,CAAA;UACtBF,KAAK,CAACG,eAAe,EAAE,CAAA;AACzB,SAAA;AAAC,KAAA;GAEJ,CAAA;AAED,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAG1F,KAAK,EAAI;AAAA,IAAA,IAAA2F,qBAAA,CAAA;AAC9B,IAAA,IAAM/D,KAAK,GAAGrB,uBAAuB,CAACP,KAAK,CAAC,CAAA;IAC5C,IAAA4F,iBAAA,GAAqCnF,eAAe,CAAA7C,EAAAA,CAAAA,MAAA,CAAAwH,sCAAA,CAAKlJ,KAAK,CAAE0F,EAAAA,CAAAA,KAAK,CAAE,CAAA,CAAA;MAA/DD,YAAY,GAAAiE,iBAAA,CAAZjE,YAAY;MAAET,UAAU,GAAA0E,iBAAA,CAAV1E,UAAU,CAAA;IAChCyB,QAAQ,CAAChB,YAAY,CAAC,CAAA;IACtB+C,kBAAkB,CAACxD,UAAU,CAAC,CAAA;AAC9B2C,IAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,IAAA,CAAA8B,qBAAA,GAAV9B,UAAU,CAAE6B,cAAc,MAAA,IAAA,IAAAC,qBAAA,KAAA,KAAA,CAAA,IAA1BA,qBAAA,CAAAE,IAAA,CAAAhC,UAAU,EAAmB7D,KAAK,CAAC,CAAA;GACpC,CAAA;AAED,EAAA,IAAM8F,UAAU,GAAG,SAAbA,UAAUA,CAAGR,KAAK,EAAI;IAC1BpB,UAAU,GAAGxE,iBAAiB,CAACwE,UAAU,CAAC,GAAGnB,MAAM,CAACuC,KAAK,CAAC,CAAA;IAC1DhB,YAAY,CAAC,KAAK,CAAC,CAAA;IACnBI,kBAAkB,CAAC,EAAE,CAAC,CAAA;GACvB,CAAA;EAED,IAAIqB,aAAa,GAAG,EAAE,CAAA;AAEtB,EAAA,IAAIlB,gBAAgB,EAAE;IACpB,IAAMmB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI9B,UAAU,EAAE+B,CAAC,EAAEC,aAAa,EAAK;AACzD,MAAA,IAAI,CAACvC,YAAY,EAAE,OAAO,KAAK,CAAA;MAE/B,IAAMwC,YAAY,GAAGC,aAAO,CAAClC,UAAU,CAACmC,IAAI,EAAE,CAAC,CAAA;AAC/C,MAAA,IAAMC,yBAAyB,GAC7BpC,UAAU,CAACqC,QAAQ,CAAC,GAAG,CAAC,IAAIrC,UAAU,CAACqC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEtD,MAAA,IAAMC,uBAAuB,GAAGN,aAAa,CAACO,IAAI,CAChD,UAAAC,MAAM,EAAA;AAAA,QAAA,OAAIA,MAAM,CAACxK,KAAK,KAAKgI,UAAU,CAACnD,WAAW,EAAE,CAAA;OACpD,CAAA,CAAA;AAED,MAAA,OAAO,EACLoF,YAAY,IACZG,yBAAyB,IACzBE,uBAAuB,CACxB,CAAA;KACF,CAAA;AACDT,IAAAA,aAAa,GAAG;AAAEL,MAAAA,cAAc,EAAdA,cAAc;AAAEM,MAAAA,gBAAgB,EAAhBA,gBAAAA;KAAkB,CAAA;AACtD,GAAA;AAEA,EAAA,IAAMW,yBAAyB,GAC7B,CAAC,CAAC3D,mBAAmB,IAAI9G,KAAK,CAACU,MAAM,GAAGmF,mBAAmB,CAAC7F,KAAK,CAAC,CAAA;EAEpE,oBACEY,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKO,IAAAA,SAAS,EAAC,uDAAA;GACbR,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKO,IAAAA,SAAS,EAAC,qCAAA;GACZS,EAAAA,KAAK,iBACJjB,yBAAA,CAAAC,aAAA,CAAC6J,KAAK,EAAA1J,4BAAA,CAAA;AACEqG,IAAAA,QAAQ,EAARA,QAAQ;AACdjG,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,SAAA,EAAA,EAAA,CAAAM,MAAA,CAAYC,eAAS,CAACE,KAAK,CAAC,EAAA,cAAA,CAAA;GACxByF,EAAAA,UAAU,GAEbzF,KAAK,CAET,EACA4G,gBAAgB,iBACf7H,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEO,IAAAA,SAAS,EAAC,+BAA+B;AACzC,IAAA,SAAA,EAAA,EAAA,CAAAM,MAAA,CAAYC,eAAS,CAACE,KAAK,CAAC,EAAA,gBAAA,CAAA;AAAiB,GAAA,EAE5CgE,mBAAmB,CAAC7F,KAAK,CAAC,EAAE,GAAG,EAC/B+G,OAAO,CAAClF,KAAK,GACVkF,OAAO,CAAClF,KAAK,GACbiE,iBAAiB,CAACD,mBAAmB,CAAC7F,KAAK,CAAC,CAAC,CAEpD,CACG,eACNY,yBAAA,CAAAC,aAAA,CAAC8J,wCAAe,EAAA3J,4BAAA,CAAA;IACd4J,OAAO,EAAA,IAAA;IACPvD,QAAQ,EAAA,IAAA;AACRwD,IAAAA,eAAe,EAAC,uBAAuB;AACvC/J,IAAAA,UAAU,EAAEsD,iBAAkB;AAC9B0G,IAAAA,UAAU,EAAE7D,QAAS;AACrB7F,IAAAA,SAAS,EAAE2J,8BAAU,CACnB,wGAAwG,EACxG;MAAE,yCAAyC,EAAE,CAAC,CAAC/L,KAAAA;AAAM,KAAC,CACtD;AACFiF,IAAAA,MAAM,EAAA/C,aAAA,CAAAA,aAAA,KACD2C,aAAa,CAAA,EAAA,EAAA,EAAA;MAChBmH,OAAO,EAAEC,eAAS,CAAC;AACjB9D,QAAAA,SAAS,EAAAzF,EAAAA,CAAAA,MAAA,CAAKyF,SAAS,EAAI,IAAA,CAAA;AAC3B+D,QAAAA,SAAS,EAAE,MAAA;OACZ,CAAA;KACD,CAAA;AACFrE,IAAAA,MAAM,EAAE+C,UAAW;IACnBuB,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAM/C,YAAY,CAAC,IAAI,CAAC,CAAA;KAAC;IAClCgD,aAAa,EAAE,SAAAA,aAAAA,CAAApD,UAAU,EAAA;MAAA,OAAIC,aAAa,CAACD,UAAU,CAAC,CAAA;KAAC;AACvDqD,IAAAA,SAAS,EAAElC,aAAAA;AAAc,GAAA,EAAAjI,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AAEvBsC,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBwE,IAAAA,UAAU,EAAVA,UAAU;AACV3F,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB1C,IAAAA,SAAS,EAATA,SAAS;AACT8G,IAAAA,QAAQ,EAARA,QAAQ;AACRL,IAAAA,WAAW,EAAXA,WAAW;AACXjF,IAAAA,GAAG,EAAHA,GAAG;AACHnB,IAAAA,KAAK,EAALA,KAAK;AACLoC,IAAAA,kBAAkB,EAAlBA,kBAAAA;GACI,EAAA,CAACuG,gBAAgB,IAAI;AAAE2C,IAAAA,UAAU,EAAE,KAAA;AAAM,GAAC,CAC3C3D,EAAAA,UAAU,CACVkC,EAAAA,aAAa,CAElB,CAAA,CAAA,EACD,CAAC,CAAC7K,KAAK,iBACN4B,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEO,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAM,MAAA,CAAYC,eAAS,CAACE,KAAK,CAAC,EAAA,cAAA,CAAA;AAAe,GAAA,EAE1C7C,KAAK,EACLyL,yBAAyB,iBACxB7J,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEO,IAAAA,SAAS,EAAC,uCAAuC;AACjDmK,IAAAA,OAAO,EAAE1C,kBAAAA;GACV,EAAA,MAEC,EAAC/B,mBAAmB,CAACjF,KAAK,GACtBiF,mBAAmB,CAACjF,KAAK,GACzB,sCAAsC,CAE7C,CAEJ,EACA,CAAC,CAACyE,QAAQ,iBACT1F,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEO,IAAAA,SAAS,EAAC,2BAA2B;AACrC,IAAA,SAAA,EAAA,EAAA,CAAAM,MAAA,CAAYC,eAAS,CAACE,KAAK,CAAC,EAAA,aAAA,CAAA;GAE3ByE,EAAAA,QAAQ,CAEZ,EACA,CAAC,CAACiC,eAAe,CAAC7H,MAAM,iBACvBE,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEO,IAAAA,SAAS,EAAC,yBAAyB;AACnC,IAAA,SAAA,EAAA,EAAA,CAAAM,MAAA,CAAYC,eAAS,CAACE,KAAK,CAAC,EAAA,2BAAA,CAAA;GAC7B,EAAA,wDACuD,EAAC,GAAG,EACzD0G,eAAe,CAACiD,IAAI,CAAC,IAAI,CAAC,CAE9B,CACG,CAAA;AAEV,CAAC,EACF;AAEDxF,eAAe,CAACyF,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"MultiEmailInput.js","sources":["../../src/components/MultiEmailInput/constants.jsx","../../src/components/MultiEmailInput/utils.js","../../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => {\n const handlePaste = event => {\n const { handleEmailChange } = props.selectProps;\n\n const text = event.clipboardData.getData(\"Text\");\n if (!EMAIL_REGEX.test(text)) return;\n\n event?.preventDefault();\n setTimeout(() => handleEmailChange(text));\n };\n\n return (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={handlePaste}\n />\n );\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { isPresent } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nconst getEmailsMap = (inputEmails = [], options = []) => {\n const emails = [...inputEmails, ...options];\n const emailsMap = new Map();\n\n emails.forEach(option => {\n const hasPersistedEntry = isPresent(emailsMap.get(option.value)?.id);\n if (!hasPersistedEntry) emailsMap.set(option.value, option);\n });\n\n return emailsMap;\n};\n\nconst processEmailOptions = (inputEmails = [], options = []) => {\n const emailsMap = getEmailsMap(inputEmails, options);\n\n return email => {\n const emailDetails = emailsMap.get(email) || { value: email };\n\n return formatEmailInputOption(emailDetails);\n };\n};\n\nexport const formatEmailInputOption = ({ label, value, ...otherDetails }) => ({\n label: label ?? value,\n value,\n ...otherDetails,\n valid: EMAIL_REGEX.test(value),\n});\n\nexport const pruneDuplicates = (inputValues, options) => {\n const emailProcessor = processEmailOptions(inputValues, options);\n const emails = pluck(\"value\", inputValues);\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n emails.forEach(pristineEmail => {\n const email = pristineEmail.toLowerCase();\n if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);\n\n uniqueValuesSet.add(email);\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(emailProcessor);\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => ({ value: email }));\n\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, ...emails],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n setIsMenuOpen(false);\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, { value: input }],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n menuIsOpen={isMenuOpen}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onKeyDown={handleKeyDown}\n onInputChange={inputValue => {\n setIsMenuOpen(Boolean(inputValue));\n setInputValue(inputValue);\n }}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails detected and removed (matched case-insensitively):{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","handlePaste","event","handleEmailChange","text","clipboardData","getData","EMAIL_REGEX","test","preventDefault","setTimeout","onPaste","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","getEmailsMap","inputEmails","arguments","undefined","options","emails","_toConsumableArray","emailsMap","Map","forEach","option","_emailsMap$get","hasPersistedEntry","isPresent","get","id","set","processEmailOptions","email","emailDetails","formatEmailInputOption","otherDetails","pruneDuplicates","inputValues","emailProcessor","pluck","uniqueValuesSet","Set","duplicates","pristineEmail","toLowerCase","has","push","add","uniqueValues","Array","from","uniqueEmails","map","renderValidEmails","values","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","_useState7","_useState8","isMenuOpen","setIsMenuOpen","isCounterVisible","startsFrom","isOptionsPresent","handleFilterEmails","match","emailMatches","_pruneDuplicates","handleKeyDown","key","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","menuIsOpen","classnames","control","mergeLeft","overflowY","onFocus","onKeyDown","onInputChange","Boolean","onClick","join","displayName"],"mappings":"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"}