@bigbinary/neetoui 6.5.10 → 6.5.11-beta.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 (371) hide show
  1. package/dist/Accordion.js +152 -0
  2. package/dist/Accordion.js.map +1 -0
  3. package/dist/ActionDropdown.js +75 -0
  4. package/dist/ActionDropdown.js.map +1 -0
  5. package/dist/Alert.js +112 -0
  6. package/dist/Alert.js.map +1 -0
  7. package/dist/Avatar.js +97 -0
  8. package/dist/Avatar.js.map +1 -0
  9. package/dist/Button.js +219 -0
  10. package/dist/Button.js.map +1 -0
  11. package/dist/Callout.js +39 -0
  12. package/dist/Callout.js.map +1 -0
  13. package/dist/Checkbox.js +65 -0
  14. package/dist/Checkbox.js.map +1 -0
  15. package/dist/ColorPicker.js +1408 -0
  16. package/dist/ColorPicker.js.map +1 -0
  17. package/dist/DatePicker.js +290 -0
  18. package/dist/DatePicker.js.map +1 -0
  19. package/dist/DateTimePicker.js +163 -0
  20. package/dist/DateTimePicker.js.map +1 -0
  21. package/dist/Dropdown.js +303 -0
  22. package/dist/Dropdown.js.map +1 -0
  23. package/dist/Input.js +158 -0
  24. package/dist/Input.js.map +1 -0
  25. package/dist/Kbd.js +24 -0
  26. package/dist/Kbd.js.map +1 -0
  27. package/dist/Label.js +46 -0
  28. package/dist/Label.js.map +1 -0
  29. package/dist/Modal.js +166 -0
  30. package/dist/Modal.js.map +1 -0
  31. package/dist/MultiEmailInput.js +307 -0
  32. package/dist/MultiEmailInput.js.map +1 -0
  33. package/dist/NoData.js +81 -0
  34. package/dist/NoData.js.map +1 -0
  35. package/dist/Pagination.js +178 -0
  36. package/dist/Pagination.js.map +1 -0
  37. package/dist/Pane.js +160 -0
  38. package/dist/Pane.js.map +1 -0
  39. package/dist/Popover.js +44 -0
  40. package/dist/Popover.js.map +1 -0
  41. package/dist/Radio.js +100 -0
  42. package/dist/Radio.js.map +1 -0
  43. package/dist/Select.js +281 -0
  44. package/dist/Select.js.map +1 -0
  45. package/dist/Sidebar.js +378 -0
  46. package/dist/Sidebar.js.map +1 -0
  47. package/dist/Slider.js +110 -0
  48. package/dist/Slider.js.map +1 -0
  49. package/dist/Spinner.js +36 -0
  50. package/dist/Spinner.js.map +1 -0
  51. package/dist/Stepper.js +35 -0
  52. package/dist/Stepper.js.map +1 -0
  53. package/dist/Switch.js +84 -0
  54. package/dist/Switch.js.map +1 -0
  55. package/dist/Tab.js +74 -0
  56. package/dist/Tab.js.map +1 -0
  57. package/dist/Table.js +887 -0
  58. package/dist/Table.js.map +1 -0
  59. package/dist/Tag.js +89 -0
  60. package/dist/Tag.js.map +1 -0
  61. package/dist/Textarea.js +143 -0
  62. package/dist/Textarea.js.map +1 -0
  63. package/dist/TimePicker.js +174 -0
  64. package/dist/TimePicker.js.map +1 -0
  65. package/dist/TimePickerInput.js +25 -0
  66. package/dist/TimePickerInput.js.map +1 -0
  67. package/dist/Toastr.js +393 -0
  68. package/dist/Toastr.js.map +1 -0
  69. package/dist/Tooltip.js +8 -0
  70. package/dist/Tooltip.js.map +1 -0
  71. package/dist/Tree.js +48 -0
  72. package/dist/Tree.js.map +1 -0
  73. package/dist/TreeSelect.js +108 -0
  74. package/dist/TreeSelect.js.map +1 -0
  75. package/dist/Typography.js +142 -0
  76. package/dist/Typography.js.map +1 -0
  77. package/dist/cjs/Accordion.js +158 -0
  78. package/dist/cjs/Accordion.js.map +1 -0
  79. package/dist/cjs/ActionDropdown.js +81 -0
  80. package/dist/cjs/ActionDropdown.js.map +1 -0
  81. package/dist/cjs/Alert.js +118 -0
  82. package/dist/cjs/Alert.js.map +1 -0
  83. package/dist/cjs/Avatar.js +104 -0
  84. package/dist/cjs/Avatar.js.map +1 -0
  85. package/dist/cjs/Button.js +225 -0
  86. package/dist/cjs/Button.js.map +1 -0
  87. package/dist/cjs/Callout.js +45 -0
  88. package/dist/cjs/Callout.js.map +1 -0
  89. package/dist/cjs/Checkbox.js +71 -0
  90. package/dist/cjs/Checkbox.js.map +1 -0
  91. package/dist/cjs/ColorPicker.js +1414 -0
  92. package/dist/cjs/ColorPicker.js.map +1 -0
  93. package/dist/cjs/DatePicker.js +298 -0
  94. package/dist/cjs/DatePicker.js.map +1 -0
  95. package/dist/cjs/DateTimePicker.js +169 -0
  96. package/dist/cjs/DateTimePicker.js.map +1 -0
  97. package/dist/cjs/Dropdown.js +309 -0
  98. package/dist/cjs/Dropdown.js.map +1 -0
  99. package/dist/cjs/Input.js +164 -0
  100. package/dist/cjs/Input.js.map +1 -0
  101. package/dist/cjs/Kbd.js +30 -0
  102. package/dist/cjs/Kbd.js.map +1 -0
  103. package/dist/cjs/Label.js +52 -0
  104. package/dist/cjs/Label.js.map +1 -0
  105. package/dist/cjs/Modal.js +172 -0
  106. package/dist/cjs/Modal.js.map +1 -0
  107. package/dist/cjs/MultiEmailInput.js +314 -0
  108. package/dist/cjs/MultiEmailInput.js.map +1 -0
  109. package/dist/cjs/NoData.js +87 -0
  110. package/dist/cjs/NoData.js.map +1 -0
  111. package/dist/cjs/Pagination.js +184 -0
  112. package/dist/cjs/Pagination.js.map +1 -0
  113. package/dist/cjs/Pane.js +166 -0
  114. package/dist/cjs/Pane.js.map +1 -0
  115. package/dist/cjs/Popover.js +50 -0
  116. package/dist/cjs/Popover.js.map +1 -0
  117. package/dist/cjs/Radio.js +106 -0
  118. package/dist/cjs/Radio.js.map +1 -0
  119. package/dist/cjs/Select.js +291 -0
  120. package/dist/cjs/Select.js.map +1 -0
  121. package/dist/cjs/Sidebar.js +384 -0
  122. package/dist/cjs/Sidebar.js.map +1 -0
  123. package/dist/cjs/Slider.js +118 -0
  124. package/dist/cjs/Slider.js.map +1 -0
  125. package/dist/cjs/Spinner.js +42 -0
  126. package/dist/cjs/Spinner.js.map +1 -0
  127. package/dist/cjs/Stepper.js +41 -0
  128. package/dist/cjs/Stepper.js.map +1 -0
  129. package/dist/cjs/Switch.js +90 -0
  130. package/dist/cjs/Switch.js.map +1 -0
  131. package/dist/cjs/Tab.js +80 -0
  132. package/dist/cjs/Tab.js.map +1 -0
  133. package/dist/cjs/Table.js +896 -0
  134. package/dist/cjs/Table.js.map +1 -0
  135. package/dist/cjs/Tag.js +95 -0
  136. package/dist/cjs/Tag.js.map +1 -0
  137. package/dist/cjs/Textarea.js +149 -0
  138. package/dist/cjs/Textarea.js.map +1 -0
  139. package/dist/cjs/TimePicker.js +182 -0
  140. package/dist/cjs/TimePicker.js.map +1 -0
  141. package/dist/cjs/TimePickerInput.js +31 -0
  142. package/dist/cjs/TimePickerInput.js.map +1 -0
  143. package/dist/cjs/Toastr.js +417 -0
  144. package/dist/cjs/Toastr.js.map +1 -0
  145. package/dist/cjs/Tooltip.js +14 -0
  146. package/dist/cjs/Tooltip.js.map +1 -0
  147. package/dist/cjs/Tree.js +56 -0
  148. package/dist/cjs/Tree.js.map +1 -0
  149. package/dist/cjs/TreeSelect.js +116 -0
  150. package/dist/cjs/TreeSelect.js.map +1 -0
  151. package/dist/cjs/Typography.js +148 -0
  152. package/dist/cjs/Typography.js.map +1 -0
  153. package/dist/cjs/createClass-80e17c6a.js +31 -0
  154. package/dist/cjs/createClass-80e17c6a.js.map +1 -0
  155. package/dist/cjs/defineProperty-ee86604b.js +21 -0
  156. package/dist/cjs/defineProperty-ee86604b.js.map +1 -0
  157. package/dist/cjs/extends-1b35a664.js +19 -0
  158. package/dist/cjs/extends-1b35a664.js.map +1 -0
  159. package/dist/cjs/formik/ActionBlock.js +58 -0
  160. package/dist/cjs/formik/ActionBlock.js.map +1 -0
  161. package/dist/cjs/formik/BlockNavigation.js +127 -0
  162. package/dist/cjs/formik/BlockNavigation.js.map +1 -0
  163. package/dist/cjs/formik/Button.js +44 -0
  164. package/dist/cjs/formik/Button.js.map +1 -0
  165. package/dist/cjs/formik/Checkbox.js +61 -0
  166. package/dist/cjs/formik/Checkbox.js.map +1 -0
  167. package/dist/cjs/formik/Form.js +197 -0
  168. package/dist/cjs/formik/Form.js.map +1 -0
  169. package/dist/cjs/formik/Input.js +59 -0
  170. package/dist/cjs/formik/Input.js.map +1 -0
  171. package/dist/cjs/formik/MultiEmailInput.js +58 -0
  172. package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
  173. package/dist/cjs/formik/Radio.js +61 -0
  174. package/dist/cjs/formik/Radio.js.map +1 -0
  175. package/dist/cjs/formik/Select.js +106 -0
  176. package/dist/cjs/formik/Select.js.map +1 -0
  177. package/dist/cjs/formik/Slider.js +64 -0
  178. package/dist/cjs/formik/Slider.js.map +1 -0
  179. package/dist/cjs/formik/Switch.js +52 -0
  180. package/dist/cjs/formik/Switch.js.map +1 -0
  181. package/dist/cjs/formik/Textarea.js +60 -0
  182. package/dist/cjs/formik/Textarea.js.map +1 -0
  183. package/dist/cjs/formik/TreeSelect.js +56 -0
  184. package/dist/cjs/formik/TreeSelect.js.map +1 -0
  185. package/dist/cjs/formik/index.js +84 -0
  186. package/dist/cjs/formik/index.js.map +1 -0
  187. package/dist/cjs/index-302c3d37.js +58 -0
  188. package/dist/cjs/index-302c3d37.js.map +1 -0
  189. package/dist/cjs/index-5d74cfeb.js +375 -0
  190. package/dist/cjs/index-5d74cfeb.js.map +1 -0
  191. package/dist/cjs/index-63580e68.js +92 -0
  192. package/dist/cjs/index-63580e68.js.map +1 -0
  193. package/dist/cjs/index-6e09c7bc.js +2211 -0
  194. package/dist/cjs/index-6e09c7bc.js.map +1 -0
  195. package/dist/cjs/index-773961dd.js +453 -0
  196. package/dist/cjs/index-773961dd.js.map +1 -0
  197. package/dist/cjs/index-a8cc581e.js +2383 -0
  198. package/dist/cjs/index-a8cc581e.js.map +1 -0
  199. package/dist/cjs/index-b1ac86d6.js +258 -0
  200. package/dist/cjs/index-b1ac86d6.js.map +1 -0
  201. package/dist/cjs/index.js +99 -13808
  202. package/dist/cjs/index.js.map +1 -1
  203. package/dist/cjs/layouts.js +19 -363
  204. package/dist/cjs/layouts.js.map +1 -1
  205. package/dist/cjs/managers.js +3 -2
  206. package/dist/cjs/managers.js.map +1 -1
  207. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
  208. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
  209. package/dist/cjs/{overlayManager-a0827ae7.js → overlayManager.js} +5 -2
  210. package/dist/cjs/overlayManager.js.map +1 -0
  211. package/dist/cjs/slicedToArray-732a2048.js +63 -0
  212. package/dist/cjs/slicedToArray-732a2048.js.map +1 -0
  213. package/dist/cjs/toConsumableArray-418424fc.js +23 -0
  214. package/dist/cjs/toConsumableArray-418424fc.js.map +1 -0
  215. package/dist/cjs/{createClass-ca103cfb.js → toPropertyKey-bfa2e465.js} +1 -27
  216. package/dist/cjs/toPropertyKey-bfa2e465.js.map +1 -0
  217. package/dist/cjs/useId-4e3deb5c.js +11 -0
  218. package/dist/cjs/useId-4e3deb5c.js.map +1 -0
  219. package/dist/cjs/useOverlayManager-359ed795.js +1602 -0
  220. package/dist/cjs/useOverlayManager-359ed795.js.map +1 -0
  221. package/dist/cjs/useQueryParams-14f054b3.js +18 -0
  222. package/dist/cjs/useQueryParams-14f054b3.js.map +1 -0
  223. package/dist/cjs/useSyncedRef-9c3dcd03.js +19 -0
  224. package/dist/cjs/useSyncedRef-9c3dcd03.js.map +1 -0
  225. package/dist/createClass-601a36b2.js +28 -0
  226. package/dist/createClass-601a36b2.js.map +1 -0
  227. package/dist/defineProperty-e5245270.js +19 -0
  228. package/dist/defineProperty-e5245270.js.map +1 -0
  229. package/dist/extends-093996c9.js +17 -0
  230. package/dist/extends-093996c9.js.map +1 -0
  231. package/dist/formik/ActionBlock.js +52 -0
  232. package/dist/formik/ActionBlock.js.map +1 -0
  233. package/dist/formik/BlockNavigation.js +121 -0
  234. package/dist/formik/BlockNavigation.js.map +1 -0
  235. package/dist/formik/Button.js +38 -0
  236. package/dist/formik/Button.js.map +1 -0
  237. package/dist/formik/Checkbox.js +55 -0
  238. package/dist/formik/Checkbox.js.map +1 -0
  239. package/dist/formik/Form.js +191 -0
  240. package/dist/formik/Form.js.map +1 -0
  241. package/dist/formik/Input.js +53 -0
  242. package/dist/formik/Input.js.map +1 -0
  243. package/dist/formik/MultiEmailInput.js +52 -0
  244. package/dist/formik/MultiEmailInput.js.map +1 -0
  245. package/dist/formik/Radio.js +55 -0
  246. package/dist/formik/Radio.js.map +1 -0
  247. package/dist/formik/Select.js +100 -0
  248. package/dist/formik/Select.js.map +1 -0
  249. package/dist/formik/Slider.js +58 -0
  250. package/dist/formik/Slider.js.map +1 -0
  251. package/dist/formik/Switch.js +46 -0
  252. package/dist/formik/Switch.js.map +1 -0
  253. package/dist/formik/Textarea.js +54 -0
  254. package/dist/formik/Textarea.js.map +1 -0
  255. package/dist/formik/TreeSelect.js +50 -0
  256. package/dist/formik/TreeSelect.js.map +1 -0
  257. package/dist/formik/index.js +64 -0
  258. package/dist/formik/index.js.map +1 -0
  259. package/dist/index-283bc6a6.js +90 -0
  260. package/dist/index-283bc6a6.js.map +1 -0
  261. package/dist/index-34956d66.js +372 -0
  262. package/dist/index-34956d66.js.map +1 -0
  263. package/dist/index-3659771d.js +56 -0
  264. package/dist/index-3659771d.js.map +1 -0
  265. package/dist/index-7fae3611.js +2381 -0
  266. package/dist/index-7fae3611.js.map +1 -0
  267. package/dist/index-b3a8dd29.js +249 -0
  268. package/dist/index-b3a8dd29.js.map +1 -0
  269. package/dist/index-c442518b.js +445 -0
  270. package/dist/index-c442518b.js.map +1 -0
  271. package/dist/index-c8d9113c.js +2193 -0
  272. package/dist/index-c8d9113c.js.map +1 -0
  273. package/dist/index.js +79 -13767
  274. package/dist/index.js.map +1 -1
  275. package/dist/layouts.js +19 -363
  276. package/dist/layouts.js.map +1 -1
  277. package/dist/managers.js +3 -2
  278. package/dist/managers.js.map +1 -1
  279. package/dist/objectWithoutProperties-a0edb288.js +31 -0
  280. package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
  281. package/dist/{overlayManager-4d5be56b.js → overlayManager.js} +4 -3
  282. package/dist/overlayManager.js.map +1 -0
  283. package/dist/slicedToArray-45fa766e.js +57 -0
  284. package/dist/slicedToArray-45fa766e.js.map +1 -0
  285. package/dist/toConsumableArray-1186e144.js +20 -0
  286. package/dist/toConsumableArray-1186e144.js.map +1 -0
  287. package/dist/toPropertyKey-bdc24cb9.js +28 -0
  288. package/dist/toPropertyKey-bdc24cb9.js.map +1 -0
  289. package/dist/useId-c1d20bba.js +9 -0
  290. package/dist/useId-c1d20bba.js.map +1 -0
  291. package/dist/useOverlayManager-95a474d5.js +1591 -0
  292. package/dist/useOverlayManager-95a474d5.js.map +1 -0
  293. package/dist/useQueryParams-4e7ddcf8.js +16 -0
  294. package/dist/useQueryParams-4e7ddcf8.js.map +1 -0
  295. package/dist/useSyncedRef-226a3dbc.js +17 -0
  296. package/dist/useSyncedRef-226a3dbc.js.map +1 -0
  297. package/formik.d.ts +26 -51
  298. package/index.d.ts +75 -834
  299. package/package.json +26 -4
  300. package/types/Accordion.d.ts +26 -0
  301. package/types/ActionDropdown.d.ts +21 -0
  302. package/types/Alert.d.ts +23 -0
  303. package/types/Avatar.d.ts +17 -0
  304. package/types/Button.d.ts +32 -0
  305. package/types/Callout.d.ts +13 -0
  306. package/types/Checkbox.d.ts +18 -0
  307. package/types/ColorPicker.d.ts +21 -0
  308. package/types/DatePicker.d.ts +30 -0
  309. package/types/DateTimePicker.d.ts +26 -0
  310. package/types/Dropdown.d.ts +77 -0
  311. package/types/Input.d.ts +27 -0
  312. package/types/Kbd.d.ts +11 -0
  313. package/types/Label.d.ts +19 -0
  314. package/types/Modal.d.ts +10 -0
  315. package/types/MultiEmailInput.d.ts +25 -0
  316. package/types/NoData.d.ts +14 -0
  317. package/types/Pagination.d.ts +11 -0
  318. package/types/Pane.d.ts +11 -0
  319. package/types/Popover.d.ts +32 -0
  320. package/types/Popup.d.ts +17 -0
  321. package/types/Radio.d.ts +24 -0
  322. package/types/Select.d.ts +27 -0
  323. package/types/Slider.d.ts +12 -0
  324. package/types/Spinner.d.ts +9 -0
  325. package/types/Stepper.d.ts +10 -0
  326. package/types/Switch.d.ts +20 -0
  327. package/types/Tab.d.ts +24 -0
  328. package/types/Table.d.ts +41 -0
  329. package/types/Tag.d.ts +27 -0
  330. package/types/Textarea.d.ts +22 -0
  331. package/types/TimePicker.d.ts +28 -0
  332. package/types/TimePickerInput.d.ts +22 -0
  333. package/types/Toastr.d.ts +20 -0
  334. package/types/Tooltip.d.ts +31 -0
  335. package/types/Tree.d.ts +62 -0
  336. package/types/TreeSelect.d.ts +40 -0
  337. package/types/Typography.d.ts +64 -0
  338. package/types/formik/ActionBlock.d.ts +11 -0
  339. package/types/formik/BlockNavigation.d.ts +9 -0
  340. package/types/formik/Button.d.ts +1 -0
  341. package/types/formik/Checkbox.d.ts +1 -0
  342. package/types/formik/Form.d.ts +13 -0
  343. package/types/formik/Input.d.ts +1 -0
  344. package/types/formik/MultiEmailInput.d.ts +1 -0
  345. package/types/formik/Radio.d.ts +1 -0
  346. package/types/formik/Select.d.ts +1 -0
  347. package/types/formik/Slider.d.ts +1 -0
  348. package/types/formik/Switch.d.ts +1 -0
  349. package/types/formik/Textarea.d.ts +1 -0
  350. package/types/formik/TreeSelect.d.ts +1 -0
  351. package/dist/TreeSelect-54c59138.js +0 -22106
  352. package/dist/TreeSelect-54c59138.js.map +0 -1
  353. package/dist/Typography-6b2170d4.js +0 -6439
  354. package/dist/Typography-6b2170d4.js.map +0 -1
  355. package/dist/cjs/TreeSelect-40898804.js +0 -22161
  356. package/dist/cjs/TreeSelect-40898804.js.map +0 -1
  357. package/dist/cjs/Typography-3f90f925.js +0 -6472
  358. package/dist/cjs/Typography-3f90f925.js.map +0 -1
  359. package/dist/cjs/createClass-ca103cfb.js.map +0 -1
  360. package/dist/cjs/formik.js +0 -624
  361. package/dist/cjs/formik.js.map +0 -1
  362. package/dist/cjs/index-099304bb.js +0 -104
  363. package/dist/cjs/index-099304bb.js.map +0 -1
  364. package/dist/cjs/overlayManager-a0827ae7.js.map +0 -1
  365. package/dist/createClass-27bd48bc.js +0 -52
  366. package/dist/createClass-27bd48bc.js.map +0 -1
  367. package/dist/formik.js +0 -604
  368. package/dist/formik.js.map +0 -1
  369. package/dist/index-ed90c85d.js +0 -98
  370. package/dist/index-ed90c85d.js.map +0 -1
  371. package/dist/overlayManager-4d5be56b.js.map +0 -1
@@ -0,0 +1,307 @@
1
+ import { _ as _defineProperty } from './defineProperty-e5245270.js';
2
+ import { _ as _extends } from './extends-093996c9.js';
3
+ import { _ as _iterableToArray, a as _toConsumableArray } from './toConsumableArray-1186e144.js';
4
+ import { a as _arrayWithHoles, b as _unsupportedIterableToArray, c as _nonIterableRest, _ as _slicedToArray } from './slicedToArray-45fa766e.js';
5
+ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
6
+ import React__default, { forwardRef, useState } from 'react';
7
+ import { c as classnames } from './index-3659771d.js';
8
+ import { assoc, pluck, mergeLeft, isEmpty } from 'ramda';
9
+ import CreatableSelect from 'react-select/creatable';
10
+ import { h as hyphenize, n as noop } from './index-c8d9113c.js';
11
+ import { Close } from '@bigbinary/neeto-icons';
12
+ import { components } from 'react-select';
13
+ import Tag from './Tag.js';
14
+ import Label from './Label.js';
15
+ import './toPropertyKey-bdc24cb9.js';
16
+ import './createClass-601a36b2.js';
17
+ import '@bigbinary/neeto-cist';
18
+ import 'util';
19
+ import './index-c442518b.js';
20
+ import 'tippy.js';
21
+ import 'react-dom';
22
+
23
+ function _toArray(arr) {
24
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
25
+ }
26
+
27
+ var _excluded$1 = ["children"],
28
+ _excluded2 = ["children"];
29
+ 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; }
30
+ 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; }
31
+ var STYLES = {
32
+ border: {
33
+ "default": "1px solid rgb(var(--neeto-ui-gray-400))",
34
+ error: "1px solid rgb(var(--neeto-ui-error-800)) !important"
35
+ },
36
+ color: {
37
+ "default": "rgb(var(--neeto-ui-gray-800))",
38
+ error: "rgb(var(--neeto-ui-error-800)) !important"
39
+ }
40
+ };
41
+ var CustomControl = function CustomControl(_ref) {
42
+ var children = _ref.children,
43
+ props = _objectWithoutProperties(_ref, _excluded$1);
44
+ var prefix = props.selectProps.prefix;
45
+ return /*#__PURE__*/React__default.createElement(components.Control, props, prefix && /*#__PURE__*/React__default.createElement("div", {
46
+ className: "neeto-ui-email-input__prefix"
47
+ }, prefix), children);
48
+ };
49
+ var CustomDropdownIndicator = function CustomDropdownIndicator(props) {
50
+ var suffix = props.selectProps.suffix;
51
+ return suffix ? /*#__PURE__*/React__default.createElement(components.DropdownIndicator, props, /*#__PURE__*/React__default.createElement("div", {
52
+ className: "neeto-ui-email-input__suffix"
53
+ }, suffix)) : null;
54
+ };
55
+ var MultiValueRemove = function MultiValueRemove(props) {
56
+ return /*#__PURE__*/React__default.createElement(components.MultiValueRemove, _extends({}, props, {
57
+ innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon")))
58
+ }), /*#__PURE__*/React__default.createElement(Close, {
59
+ size: 16
60
+ }));
61
+ };
62
+ var CustomValueContainer = function CustomValueContainer(_ref2) {
63
+ var children = _ref2.children,
64
+ props = _objectWithoutProperties(_ref2, _excluded2);
65
+ var getValue = props.getValue,
66
+ _props$selectProps = props.selectProps,
67
+ isFocused = _props$selectProps.isFocused,
68
+ visibleEmailsCount = _props$selectProps.visibleEmailsCount;
69
+ var value = getValue();
70
+ var _children = _toArray(children),
71
+ firstChild = _children[0],
72
+ rest = _children.slice(1);
73
+ var shouldCollapse = !isFocused && value.length > visibleEmailsCount;
74
+ return /*#__PURE__*/React__default.createElement(components.ValueContainer, _extends({}, props, {
75
+ innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-input-container"))
76
+ }), shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/React__default.createElement(Tag, {
77
+ label: "".concat(value.length - visibleEmailsCount, " more"),
78
+ style: "secondary"
79
+ }), rest);
80
+ };
81
+ var CustomClearIndicator = function CustomClearIndicator(props) {
82
+ return /*#__PURE__*/React__default.createElement(components.ClearIndicator, _extends({}, props, {
83
+ innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button"))
84
+ }), /*#__PURE__*/React__default.createElement(Close, {
85
+ className: "cursor-pointer",
86
+ size: 16
87
+ }));
88
+ };
89
+ var SelectContainer = function SelectContainer(props) {
90
+ return /*#__PURE__*/React__default.createElement(components.SelectContainer, _extends({}, props, {
91
+ innerProps: _objectSpread$1(_objectSpread$1({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-select-container"))
92
+ }));
93
+ };
94
+ var Input = function Input(props) {
95
+ return /*#__PURE__*/React__default.createElement(components.Input, _extends({}, props, {
96
+ "data-cy": "email-select-input-field"
97
+ }));
98
+ };
99
+ var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
100
+ var UNSTRICT_EMAIL_REGEX = /(([^<>()[\]\\.,;:\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;
101
+ var EMAIL_SEPARATION_REGEX = /[^\s,]+/g;
102
+ var CUSTOM_STYLES = {
103
+ input: assoc("overflow", "hidden"),
104
+ multiValue: function multiValue(styles, _ref3) {
105
+ var valid = _ref3.data.valid;
106
+ return _objectSpread$1(_objectSpread$1({}, styles), {}, {
107
+ border: valid ? STYLES.border["default"] : STYLES.border.error,
108
+ color: valid ? STYLES.color["default"] : STYLES.color.error
109
+ });
110
+ }
111
+ };
112
+ var CUSTOM_COMPONENTS = {
113
+ DropdownIndicator: CustomDropdownIndicator,
114
+ Control: CustomControl,
115
+ MultiValueRemove: MultiValueRemove,
116
+ ValueContainer: CustomValueContainer,
117
+ ClearIndicator: CustomClearIndicator,
118
+ SelectContainer: SelectContainer,
119
+ Input: Input
120
+ };
121
+
122
+ var formatEmailInputOptions = function formatEmailInputOptions(label) {
123
+ return {
124
+ label: label,
125
+ value: label,
126
+ valid: EMAIL_REGEX.test(label)
127
+ };
128
+ };
129
+ var pruneDuplicates = function pruneDuplicates(inputValues) {
130
+ var values = pluck("value", inputValues);
131
+ var uniqueValues = _toConsumableArray(new Set(values));
132
+ return uniqueValues.map(function (email) {
133
+ return formatEmailInputOptions(email);
134
+ });
135
+ };
136
+ var renderValidEmails = function renderValidEmails(values) {
137
+ return values.filter(function (email) {
138
+ return email.valid && email;
139
+ });
140
+ };
141
+ var getValidEmailsCount = function getValidEmailsCount(values) {
142
+ return renderValidEmails(values).length;
143
+ };
144
+ var renderDefaultText = function renderDefaultText(count) {
145
+ return count === 1 ? "email" : "emails";
146
+ };
147
+
148
+ var _excluded = ["label", "placeholder", "helpText", "value", "onChange", "error", "onBlur", "filterInvalidEmails", "counter", "disabled", "maxHeight", "required", "labelProps", "visibleEmailsCount", "isCreateable"];
149
+ 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; }
150
+ 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; }
151
+ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
152
+ var _ref$label = _ref.label,
153
+ label = _ref$label === void 0 ? "Email(s)" : _ref$label,
154
+ _ref$placeholder = _ref.placeholder,
155
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
156
+ _ref$helpText = _ref.helpText,
157
+ helpText = _ref$helpText === void 0 ? "" : _ref$helpText,
158
+ _ref$value = _ref.value,
159
+ value = _ref$value === void 0 ? [] : _ref$value,
160
+ _ref$onChange = _ref.onChange,
161
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
162
+ _ref$error = _ref.error,
163
+ error = _ref$error === void 0 ? "" : _ref$error,
164
+ _ref$onBlur = _ref.onBlur,
165
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
166
+ filterInvalidEmails = _ref.filterInvalidEmails,
167
+ counter = _ref.counter,
168
+ _ref$disabled = _ref.disabled,
169
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
170
+ _ref$maxHeight = _ref.maxHeight,
171
+ maxHeight = _ref$maxHeight === void 0 ? 200 : _ref$maxHeight,
172
+ _ref$required = _ref.required,
173
+ required = _ref$required === void 0 ? false : _ref$required,
174
+ labelProps = _ref.labelProps,
175
+ _ref$visibleEmailsCou = _ref.visibleEmailsCount,
176
+ visibleEmailsCount = _ref$visibleEmailsCou === void 0 ? 3 : _ref$visibleEmailsCou,
177
+ _ref$isCreateable = _ref.isCreateable,
178
+ isCreateable = _ref$isCreateable === void 0 ? true : _ref$isCreateable,
179
+ otherProps = _objectWithoutProperties(_ref, _excluded);
180
+ var _useState = useState(""),
181
+ _useState2 = _slicedToArray(_useState, 2),
182
+ inputValue = _useState2[0],
183
+ setInputValue = _useState2[1];
184
+ var _useState3 = useState(false),
185
+ _useState4 = _slicedToArray(_useState3, 2),
186
+ isFocused = _useState4[0],
187
+ setIsFocused = _useState4[1];
188
+ var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
189
+ var isOptionsPresent = !!otherProps.options;
190
+ var handleFilterEmails = function handleFilterEmails() {
191
+ return onChange(renderValidEmails(value));
192
+ };
193
+ var handleEmailChange = function handleEmailChange() {
194
+ var inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);
195
+ var emailMatches = inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];
196
+ var emails = emailMatches.map(function (email) {
197
+ return formatEmailInputOptions(email);
198
+ });
199
+ onChange(pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails))));
200
+ setInputValue("");
201
+ };
202
+ var handleKeyDown = function handleKeyDown(event) {
203
+ if (!inputValue) return;
204
+ switch (event.key) {
205
+ case "Enter":
206
+ {
207
+ handleEmailChange();
208
+ !isOptionsPresent && event.preventDefault();
209
+ event.stopPropagation();
210
+ return;
211
+ }
212
+ case "Tab":
213
+ case ",":
214
+ case " ":
215
+ {
216
+ handleEmailChange();
217
+ event.preventDefault();
218
+ event.stopPropagation();
219
+ }
220
+ }
221
+ };
222
+ var onCreateOption = function onCreateOption(input) {
223
+ var _otherProps$onCreateO;
224
+ var email = formatEmailInputOptions(input);
225
+ onChange(pruneDuplicates([].concat(_toConsumableArray(value), [email])));
226
+ otherProps === null || otherProps === void 0 || (_otherProps$onCreateO = otherProps.onCreateOption) === null || _otherProps$onCreateO === void 0 || _otherProps$onCreateO.call(otherProps, input);
227
+ };
228
+ var handleBlur = function handleBlur(event) {
229
+ inputValue ? handleEmailChange() : onBlur(event);
230
+ setIsFocused(false);
231
+ };
232
+ var overrideProps = {};
233
+ if (isOptionsPresent) {
234
+ var isValidNewOption = function isValidNewOption(inputValue, _, selectOptions) {
235
+ if (!isCreateable) return false;
236
+ var isInputEmpty = isEmpty(inputValue.trim());
237
+ var doesInputContainSeparator = inputValue.includes(",") || inputValue.includes(" ");
238
+ var isInputPresentInOptions = selectOptions.find(function (option) {
239
+ return option.value === inputValue.toLowerCase();
240
+ });
241
+ return !(isInputEmpty || doesInputContainSeparator || isInputPresentInOptions);
242
+ };
243
+ overrideProps = {
244
+ onCreateOption: onCreateOption,
245
+ isValidNewOption: isValidNewOption
246
+ };
247
+ }
248
+ var isFilterEmailsLinkVisible = !!filterInvalidEmails && value.length > getValidEmailsCount(value);
249
+ return /*#__PURE__*/React__default.createElement("div", {
250
+ className: "neeto-ui-input__wrapper neeto-ui-email-input__wrapper"
251
+ }, /*#__PURE__*/React__default.createElement("div", {
252
+ className: "neeto-ui-email-input__label-wrapper"
253
+ }, label && /*#__PURE__*/React__default.createElement(Label, _extends({
254
+ required: required,
255
+ className: "neeto-ui-email-input__label",
256
+ "data-cy": "".concat(hyphenize(label), "-input-label")
257
+ }, labelProps), label), isCounterVisible && /*#__PURE__*/React__default.createElement("p", {
258
+ className: "neeto-ui-email-input__counter",
259
+ "data-cy": "".concat(hyphenize(label), "-email-counter")
260
+ }, getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value)))), /*#__PURE__*/React__default.createElement(CreatableSelect, _extends({
261
+ isMulti: true,
262
+ required: true,
263
+ classNamePrefix: "neeto-ui-react-select",
264
+ components: CUSTOM_COMPONENTS,
265
+ isDisabled: disabled,
266
+ className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
267
+ "neeto-ui-react-select__container--error": !!error
268
+ }),
269
+ styles: _objectSpread(_objectSpread({}, CUSTOM_STYLES), {}, {
270
+ control: mergeLeft({
271
+ maxHeight: "".concat(maxHeight, "px"),
272
+ overflowY: "auto"
273
+ })
274
+ }),
275
+ onBlur: handleBlur,
276
+ onFocus: function onFocus() {
277
+ return setIsFocused(true);
278
+ },
279
+ onInputChange: function onInputChange(inputValue) {
280
+ return setInputValue(inputValue);
281
+ },
282
+ onKeyDown: handleKeyDown
283
+ }, _objectSpread(_objectSpread(_objectSpread({
284
+ inputValue: inputValue,
285
+ isFocused: isFocused,
286
+ onChange: onChange,
287
+ placeholder: placeholder,
288
+ ref: ref,
289
+ value: value,
290
+ visibleEmailsCount: visibleEmailsCount
291
+ }, !isOptionsPresent && {
292
+ menuIsOpen: false
293
+ }), otherProps), overrideProps))), !!error && /*#__PURE__*/React__default.createElement("p", {
294
+ className: "neeto-ui-input__error",
295
+ "data-cy": "".concat(hyphenize(label), "-input-error")
296
+ }, error, isFilterEmailsLinkVisible && /*#__PURE__*/React__default.createElement("span", {
297
+ className: "neeto-ui-font-semibold cursor-pointer",
298
+ onClick: handleFilterEmails
299
+ }, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React__default.createElement("p", {
300
+ className: "neeto-ui-input__help-text",
301
+ "data-cy": "".concat(hyphenize(label), "-input-help")
302
+ }, helpText));
303
+ });
304
+ MultiEmailInput.displayName = "MultiEmailInput";
305
+
306
+ export { MultiEmailInput as default };
307
+ //# sourceMappingURL=MultiEmailInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiEmailInput.js","sources":["../node_modules/@babel/runtime/helpers/esm/toArray.js","../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import React 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 { prefix } = props.selectProps;\n\n return (\n <components.Control {...props}>\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 },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !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={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\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 {...props} data-cy=\"email-select-input-field\" />\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 uniqueValues = [...new Set(values)];\n\n return uniqueValues.map(email => formatEmailInputOptions(email));\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 ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = 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 = () => {\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 onChange(pruneDuplicates([...value, ...emails]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange();\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const email = formatEmailInputOptions(input);\n onChange(pruneDuplicates([...value, email]));\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange() : onBlur(event);\n setIsFocused(false);\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 inputValue,\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 </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\nexport default MultiEmailInput;\n"],"names":["arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","prefix","selectProps","React","createElement","components","Control","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_extends","innerProps","_objectSpread","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","getValue","_props$selectProps","isFocused","visibleEmailsCount","value","_children","_toArray","firstChild","rest","slice","shouldCollapse","length","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","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","uniqueValues","_toConsumableArray","Set","map","email","renderValidEmails","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","ref","_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","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","handleEmailChange","match","emailMatches","emails","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","toLowerCase","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","displayName"],"mappings":"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"}
package/dist/NoData.js ADDED
@@ -0,0 +1,81 @@
1
+ import { _ as _extends } from './extends-093996c9.js';
2
+ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
3
+ import React__default from 'react';
4
+ import { c as classnames } from './index-3659771d.js';
5
+ import { isEmpty } from 'ramda';
6
+ import Button from './Button.js';
7
+ import Typography from './Typography.js';
8
+ import './defineProperty-e5245270.js';
9
+ import './toPropertyKey-bdc24cb9.js';
10
+ import 'framer-motion';
11
+ import 'react-router-dom';
12
+ import './index-c442518b.js';
13
+ import './slicedToArray-45fa766e.js';
14
+ import 'tippy.js';
15
+ import 'react-dom';
16
+
17
+ var renderImage = function renderImage(image) {
18
+ return typeof image === "string" ? /*#__PURE__*/React__default.createElement("img", {
19
+ "data-cy": "no-data-image",
20
+ src: image
21
+ }) : image;
22
+ };
23
+
24
+ var _excluded = ["image", "title", "description", "helpText", "className", "primaryButtonProps", "secondaryButtonProps", "buttonSeparatorText"];
25
+ var NoData = function NoData(_ref) {
26
+ var _ref$image = _ref.image,
27
+ image = _ref$image === void 0 ? null : _ref$image,
28
+ _ref$title = _ref.title,
29
+ title = _ref$title === void 0 ? "" : _ref$title,
30
+ _ref$description = _ref.description,
31
+ description = _ref$description === void 0 ? "" : _ref$description,
32
+ _ref$helpText = _ref.helpText,
33
+ helpText = _ref$helpText === void 0 ? null : _ref$helpText,
34
+ _ref$className = _ref.className,
35
+ className = _ref$className === void 0 ? "" : _ref$className,
36
+ _ref$primaryButtonPro = _ref.primaryButtonProps,
37
+ primaryButtonProps = _ref$primaryButtonPro === void 0 ? {} : _ref$primaryButtonPro,
38
+ _ref$secondaryButtonP = _ref.secondaryButtonProps,
39
+ secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
40
+ _ref$buttonSeparatorT = _ref.buttonSeparatorText,
41
+ buttonSeparatorText = _ref$buttonSeparatorT === void 0 ? "" : _ref$buttonSeparatorT,
42
+ otherProps = _objectWithoutProperties(_ref, _excluded);
43
+ var hasPrimaryButtonProps = !isEmpty(primaryButtonProps);
44
+ var hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);
45
+ var hasButtonSeparatorText = !isEmpty(buttonSeparatorText);
46
+ var showButtonSeparator = hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;
47
+ return /*#__PURE__*/React__default.createElement("div", _extends({
48
+ className: classnames("neeto-ui-no-data", [className]),
49
+ "data-cy": "no-data-container"
50
+ }, otherProps), image ? /*#__PURE__*/React__default.createElement("div", {
51
+ className: "neeto-ui-no-data__image"
52
+ }, renderImage(image)) : null, title && /*#__PURE__*/React__default.createElement(Typography, {
53
+ className: "neeto-ui-text-center",
54
+ "data-cy": "no-data-title",
55
+ lineHeight: "none",
56
+ style: "h3"
57
+ }, title), description && /*#__PURE__*/React__default.createElement(Typography, {
58
+ className: "neeto-ui-text-center neeto-ui-no-data__description",
59
+ "data-cy": "no-data-description",
60
+ lineHeight: "normal",
61
+ style: "body2"
62
+ }, description), helpText && /*#__PURE__*/React__default.createElement(Typography, {
63
+ className: "neeto-ui-text-center neeto-ui-no-data__help-text",
64
+ "data-cy": "no-data-help-text",
65
+ lineHeight: "normal",
66
+ style: "body2"
67
+ }, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/React__default.createElement("div", {
68
+ className: "neeto-ui-no-data__action-block"
69
+ }, hasPrimaryButtonProps && /*#__PURE__*/React__default.createElement(Button, _extends({
70
+ "data-cy": "no-data-primary-button"
71
+ }, primaryButtonProps)), showButtonSeparator && /*#__PURE__*/React__default.createElement(Typography, {
72
+ lineHeight: "normal",
73
+ style: "body2"
74
+ }, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/React__default.createElement(Button, _extends({
75
+ "data-cy": "no-data-secondary-button",
76
+ style: "secondary"
77
+ }, secondaryButtonProps))));
78
+ };
79
+
80
+ export { NoData as default };
81
+ //# sourceMappingURL=NoData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoData.js","sources":["../src/components/NoData/utils.jsx","../src/components/NoData/index.jsx"],"sourcesContent":["import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Button data-cy=\"no-data-primary-button\" {...primaryButtonProps} />\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Button\n data-cy=\"no-data-secondary-button\"\n style=\"secondary\"\n {...secondaryButtonProps}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n"],"names":["renderImage","image","React","createElement","src","NoData","_ref","_ref$image","_ref$title","title","_ref$description","description","_ref$helpText","helpText","_ref$className","className","_ref$primaryButtonPro","primaryButtonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$buttonSeparatorT","buttonSeparatorText","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Button"],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import React__default, { useMemo } from 'react';
2
+ import { c as classnames } from './index-3659771d.js';
3
+ import { Left, Right } from '@bigbinary/neeto-icons';
4
+ import { mergeLeft } from 'ramda';
5
+ import { useHistory } from 'react-router-dom';
6
+ import './index-7fae3611.js';
7
+ import './overlayManager.js';
8
+ import { b as buildUrl } from './index-c8d9113c.js';
9
+ import { u as useQueryParams } from './useQueryParams-4e7ddcf8.js';
10
+ import { a as _toConsumableArray } from './toConsumableArray-1186e144.js';
11
+ import './createClass-601a36b2.js';
12
+ import './toPropertyKey-bdc24cb9.js';
13
+ import './slicedToArray-45fa766e.js';
14
+ import '@bigbinary/neeto-cist';
15
+ import 'util';
16
+ import './defineProperty-e5245270.js';
17
+
18
+ var DOTS = "...";
19
+
20
+ var usePaginationQueryParams = function usePaginationQueryParams() {
21
+ var queryParams = useQueryParams();
22
+ var history = useHistory();
23
+ var updatePageInQueryParam = function updatePageInQueryParam(page) {
24
+ var params = {
25
+ page: page
26
+ };
27
+ var pathname = window.location.pathname;
28
+ history.push(buildUrl(pathname, mergeLeft(params, queryParams)));
29
+ };
30
+ return {
31
+ updatePageInQueryParam: updatePageInQueryParam
32
+ };
33
+ };
34
+
35
+ var range = function range(start, end) {
36
+ var length = end - start + 1;
37
+ return Array.from({
38
+ length: length
39
+ }, function (_, index) {
40
+ return index + start;
41
+ });
42
+ };
43
+ var usePagination = function usePagination(_ref) {
44
+ var count = _ref.count,
45
+ pageSize = _ref.pageSize,
46
+ _ref$siblingCount = _ref.siblingCount,
47
+ siblingCount = _ref$siblingCount === void 0 ? 1 : _ref$siblingCount,
48
+ pageNo = _ref.pageNo;
49
+ var paginationRange = useMemo(function () {
50
+ var totalPageCount = Math.ceil(count / pageSize);
51
+
52
+ // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS
53
+ var totalPageNumbers = siblingCount + 5;
54
+
55
+ // If the number of pages is less than the page numbers we want to show in our
56
+ // paginationComponent, we return the range [1..totalPageCount]
57
+ if (totalPageNumbers >= totalPageCount) {
58
+ return range(1, totalPageCount);
59
+ }
60
+
61
+ // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount
62
+ var leftSiblingIndex = Math.max(pageNo - siblingCount, 1);
63
+ var rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);
64
+
65
+ // We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2
66
+ var shouldShowLeftDots = leftSiblingIndex > 2;
67
+ var shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;
68
+ var firstPageIndex = 1;
69
+ var lastPageIndex = totalPageCount;
70
+
71
+ // Case 2: No left dots to show, but rights dots to be shown
72
+ if (!shouldShowLeftDots && shouldShowRightDots) {
73
+ var leftItemCount = 3 + 2 * siblingCount;
74
+ var leftRange = range(1, leftItemCount);
75
+ return [].concat(_toConsumableArray(leftRange), [DOTS, totalPageCount]);
76
+ }
77
+
78
+ // Case 3: No right dots to show, but left dots to be shown
79
+ if (shouldShowLeftDots && !shouldShowRightDots) {
80
+ var rightItemCount = 3 + 2 * siblingCount;
81
+ var rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);
82
+ return [firstPageIndex, DOTS].concat(_toConsumableArray(rightRange));
83
+ }
84
+
85
+ // Case 4: Both left and right dots to be shown
86
+ if (shouldShowLeftDots && shouldShowRightDots) {
87
+ var middleRange = range(leftSiblingIndex, rightSiblingIndex);
88
+ return [firstPageIndex, DOTS].concat(_toConsumableArray(middleRange), [DOTS, lastPageIndex]);
89
+ }
90
+ return undefined;
91
+ }, [count, pageSize, siblingCount, pageNo]);
92
+ return paginationRange;
93
+ };
94
+
95
+ var Pagination = function Pagination(_ref) {
96
+ var _ref$count = _ref.count,
97
+ count = _ref$count === void 0 ? 0 : _ref$count,
98
+ pageNo = _ref.pageNo,
99
+ navigate = _ref.navigate,
100
+ pageSize = _ref.pageSize,
101
+ _ref$siblingCount = _ref.siblingCount,
102
+ siblingCount = _ref$siblingCount === void 0 ? 1 : _ref$siblingCount,
103
+ _ref$className = _ref.className,
104
+ className = _ref$className === void 0 ? "" : _ref$className;
105
+ var paginationRange = usePagination({
106
+ pageNo: pageNo,
107
+ count: count,
108
+ siblingCount: siblingCount,
109
+ pageSize: pageSize
110
+ });
111
+ var _usePaginationQueryPa = usePaginationQueryParams(),
112
+ updatePageInQueryParam = _usePaginationQueryPa.updatePageInQueryParam;
113
+ if (!navigate) navigate = updatePageInQueryParam;
114
+ if (pageNo === 0 || paginationRange.length < 2) {
115
+ return null;
116
+ }
117
+ var onNext = function onNext() {
118
+ if (!isLastPage) navigate(pageNo + 1);
119
+ };
120
+ var onPrevious = function onPrevious() {
121
+ if (!isFirstPage) navigate(pageNo - 1);
122
+ };
123
+ var lastPage = paginationRange[paginationRange.length - 1];
124
+ var isFirstPage = pageNo === 1;
125
+ var isLastPage = pageNo === lastPage;
126
+ return /*#__PURE__*/React__default.createElement("nav", {
127
+ "aria-label": "Pagination Navigation",
128
+ role: "navigation"
129
+ }, /*#__PURE__*/React__default.createElement("ul", {
130
+ className: classnames(["neeto-ui-pagination__wrapper", className])
131
+ }, /*#__PURE__*/React__default.createElement("li", {
132
+ "data-testid": "left-navigate-button",
133
+ tabIndex: 0,
134
+ className: classnames({
135
+ "neeto-ui-pagination__item": true,
136
+ "neeto-ui-pagination__item--navigate": true,
137
+ disabled: isFirstPage
138
+ }),
139
+ onClick: onPrevious
140
+ }, /*#__PURE__*/React__default.createElement("a", null, /*#__PURE__*/React__default.createElement(Left, {
141
+ size: 20
142
+ }))), paginationRange.map(function (pageNumber, index) {
143
+ var isActive = pageNumber === pageNo;
144
+ if (pageNumber === DOTS) {
145
+ return /*#__PURE__*/React__default.createElement("li", {
146
+ className: "neeto-ui-pagination__item neeto-ui-pagination__item--dots",
147
+ "data-testid": "dots",
148
+ key: index
149
+ }, "\u2026");
150
+ }
151
+ return /*#__PURE__*/React__default.createElement("li", {
152
+ "aria-current": isActive && true,
153
+ key: index,
154
+ tabIndex: 0,
155
+ "aria-label": isActive ? "Current Page, Page ".concat(pageNumber) : "Goto Page ".concat(pageNumber),
156
+ className: classnames("neeto-ui-pagination__item", {
157
+ active: isActive
158
+ }),
159
+ onClick: function onClick() {
160
+ return navigate(pageNumber);
161
+ }
162
+ }, /*#__PURE__*/React__default.createElement("a", null, pageNumber));
163
+ }), /*#__PURE__*/React__default.createElement("li", {
164
+ "data-testid": "right-navigate-button",
165
+ tabIndex: 0,
166
+ className: classnames({
167
+ "neeto-ui-pagination__item": true,
168
+ "neeto-ui-pagination__item--navigate": true,
169
+ disabled: isLastPage
170
+ }),
171
+ onClick: onNext
172
+ }, /*#__PURE__*/React__default.createElement("a", null, /*#__PURE__*/React__default.createElement(Right, {
173
+ size: 20
174
+ })))));
175
+ };
176
+
177
+ export { Pagination as default };
178
+ //# sourceMappingURL=Pagination.js.map