@bigbinary/neetoui 8.2.23 → 8.2.25

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 (225) hide show
  1. package/README.md +1 -0
  2. package/dist/ActionDropdown.js +2 -2
  3. package/dist/Alert.js +3 -4
  4. package/dist/Alert.js.map +1 -1
  5. package/dist/Avatar.js +1 -0
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/Checkbox.js +3 -3
  8. package/dist/ColorPicker.js +3 -3
  9. package/dist/ColorPicker.js.map +1 -1
  10. package/dist/DatePicker.js +15 -16
  11. package/dist/DatePicker.js.map +1 -1
  12. package/dist/Dropdown.js +2 -2
  13. package/dist/Input.js +3 -3
  14. package/dist/Kbd.js +1 -0
  15. package/dist/Kbd.js.map +1 -1
  16. package/dist/Label.js +72 -55
  17. package/dist/Label.js.map +1 -1
  18. package/dist/Modal.js +3 -4
  19. package/dist/Modal.js.map +1 -1
  20. package/dist/MultiEmailInput.js +15 -15
  21. package/dist/Pagination.js +3 -3
  22. package/dist/Pane.js +3 -4
  23. package/dist/Pane.js.map +1 -1
  24. package/dist/Radio.js +3 -3
  25. package/dist/Select.js +4 -4
  26. package/dist/Select.js.map +1 -1
  27. package/dist/Sidebar.js +3 -2
  28. package/dist/Sidebar.js.map +1 -1
  29. package/dist/Slider.js +3 -3
  30. package/dist/Switch.js +3 -3
  31. package/dist/Table.js +4 -7
  32. package/dist/Table.js.map +1 -1
  33. package/dist/{Textarea-afac4a3e.js → Textarea-BcglKMaG.js} +3 -3
  34. package/dist/{Textarea-afac4a3e.js.map → Textarea-BcglKMaG.js.map} +1 -1
  35. package/dist/Textarea.js +4 -4
  36. package/dist/TimePicker.js +15 -16
  37. package/dist/TimePicker.js.map +1 -1
  38. package/dist/Toastr.js +2 -2
  39. package/dist/Tooltip.js +15 -10
  40. package/dist/Tooltip.js.map +1 -1
  41. package/dist/TranslationProvider.js +3 -1
  42. package/dist/TranslationProvider.js.map +1 -1
  43. package/dist/Tree.js +2 -2
  44. package/dist/TreeSelect.js +15 -4
  45. package/dist/TreeSelect.js.map +1 -1
  46. package/dist/cjs/Accordion.js +18 -27
  47. package/dist/cjs/Accordion.js.map +1 -1
  48. package/dist/cjs/ActionDropdown.js +8 -16
  49. package/dist/cjs/ActionDropdown.js.map +1 -1
  50. package/dist/cjs/Alert.js +9 -15
  51. package/dist/cjs/Alert.js.map +1 -1
  52. package/dist/cjs/Avatar.js +11 -19
  53. package/dist/cjs/Avatar.js.map +1 -1
  54. package/dist/cjs/Button.js +13 -21
  55. package/dist/cjs/Button.js.map +1 -1
  56. package/dist/cjs/Callout.js +5 -13
  57. package/dist/cjs/Callout.js.map +1 -1
  58. package/dist/cjs/Checkbox.js +10 -17
  59. package/dist/cjs/Checkbox.js.map +1 -1
  60. package/dist/cjs/ColorPicker.js +30 -40
  61. package/dist/cjs/ColorPicker.js.map +1 -1
  62. package/dist/cjs/DatePicker.js +15 -16
  63. package/dist/cjs/DatePicker.js.map +1 -1
  64. package/dist/cjs/Dropdown.js +30 -40
  65. package/dist/cjs/Dropdown.js.map +1 -1
  66. package/dist/cjs/Input.js +20 -29
  67. package/dist/cjs/Input.js.map +1 -1
  68. package/dist/cjs/Kbd.js +5 -11
  69. package/dist/cjs/Kbd.js.map +1 -1
  70. package/dist/cjs/Label.js +71 -62
  71. package/dist/cjs/Label.js.map +1 -1
  72. package/dist/cjs/Modal.js +22 -32
  73. package/dist/cjs/Modal.js.map +1 -1
  74. package/dist/cjs/MultiEmailInput.js +51 -62
  75. package/dist/cjs/MultiEmailInput.js.map +1 -1
  76. package/dist/cjs/NoData.js +14 -21
  77. package/dist/cjs/NoData.js.map +1 -1
  78. package/dist/cjs/Pagination.js +19 -25
  79. package/dist/cjs/Pagination.js.map +1 -1
  80. package/dist/cjs/Pane.js +19 -29
  81. package/dist/cjs/Pane.js.map +1 -1
  82. package/dist/cjs/Popover.js +5 -12
  83. package/dist/cjs/Popover.js.map +1 -1
  84. package/dist/cjs/ProgressBar.js +3 -8
  85. package/dist/cjs/ProgressBar.js.map +1 -1
  86. package/dist/cjs/Radio.js +17 -26
  87. package/dist/cjs/Radio.js.map +1 -1
  88. package/dist/cjs/Select.js +49 -62
  89. package/dist/cjs/Select.js.map +1 -1
  90. package/dist/cjs/Sidebar.js +69 -77
  91. package/dist/cjs/Sidebar.js.map +1 -1
  92. package/dist/cjs/Slider.js +12 -21
  93. package/dist/cjs/Slider.js.map +1 -1
  94. package/dist/cjs/Spinner.js +2 -7
  95. package/dist/cjs/Spinner.js.map +1 -1
  96. package/dist/cjs/Stepper.js +6 -11
  97. package/dist/cjs/Stepper.js.map +1 -1
  98. package/dist/cjs/Switch.js +16 -23
  99. package/dist/cjs/Switch.js.map +1 -1
  100. package/dist/cjs/Tab.js +10 -18
  101. package/dist/cjs/Tab.js.map +1 -1
  102. package/dist/cjs/Table.js +54 -70
  103. package/dist/cjs/Table.js.map +1 -1
  104. package/dist/cjs/Tag.js +9 -16
  105. package/dist/cjs/Tag.js.map +1 -1
  106. package/dist/cjs/{Textarea-c6496fa2.js → Textarea-XjB9bG3I.js} +19 -28
  107. package/dist/cjs/{Textarea-c6496fa2.js.map → Textarea-XjB9bG3I.js.map} +1 -1
  108. package/dist/cjs/Textarea.js +4 -4
  109. package/dist/cjs/TimePicker.js +15 -16
  110. package/dist/cjs/TimePicker.js.map +1 -1
  111. package/dist/cjs/Toastr.js +24 -34
  112. package/dist/cjs/Toastr.js.map +1 -1
  113. package/dist/cjs/Tooltip.js +18 -21
  114. package/dist/cjs/Tooltip.js.map +1 -1
  115. package/dist/cjs/TranslationProvider.js +6 -9
  116. package/dist/cjs/TranslationProvider.js.map +1 -1
  117. package/dist/cjs/Tree.js +8 -17
  118. package/dist/cjs/Tree.js.map +1 -1
  119. package/dist/cjs/TreeSelect.js +26 -25
  120. package/dist/cjs/TreeSelect.js.map +1 -1
  121. package/dist/cjs/Typography.js +4 -12
  122. package/dist/cjs/Typography.js.map +1 -1
  123. package/dist/cjs/constants.js +7 -19
  124. package/dist/cjs/constants.js.map +1 -1
  125. package/dist/cjs/{en-c69be2fb.js → en-1dfvTYgC.js} +1 -1
  126. package/dist/cjs/en-1dfvTYgC.js.map +1 -0
  127. package/dist/cjs/formik/ActionBlock.js +7 -13
  128. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  129. package/dist/cjs/formik/BlockNavigation.js +12 -20
  130. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  131. package/dist/cjs/formik/Button.js +2 -8
  132. package/dist/cjs/formik/Button.js.map +1 -1
  133. package/dist/cjs/formik/Checkbox.js +7 -14
  134. package/dist/cjs/formik/Checkbox.js.map +1 -1
  135. package/dist/cjs/formik/Form.js +13 -24
  136. package/dist/cjs/formik/Form.js.map +1 -1
  137. package/dist/cjs/formik/Input.js +7 -14
  138. package/dist/cjs/formik/Input.js.map +1 -1
  139. package/dist/cjs/formik/MultiEmailInput.js +6 -13
  140. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  141. package/dist/cjs/formik/Radio.js +7 -15
  142. package/dist/cjs/formik/Radio.js.map +1 -1
  143. package/dist/cjs/formik/Select.js +8 -16
  144. package/dist/cjs/formik/Select.js.map +1 -1
  145. package/dist/cjs/formik/Slider.js +7 -15
  146. package/dist/cjs/formik/Slider.js.map +1 -1
  147. package/dist/cjs/formik/Switch.js +7 -14
  148. package/dist/cjs/formik/Switch.js.map +1 -1
  149. package/dist/cjs/formik/Textarea.js +8 -15
  150. package/dist/cjs/formik/Textarea.js.map +1 -1
  151. package/dist/cjs/formik/TreeSelect.js +5 -12
  152. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  153. package/dist/cjs/formik/index.js +6 -9
  154. package/dist/cjs/formik/index.js.map +1 -1
  155. package/dist/cjs/{index-3c44e0c7.js → index-CvMjRZDt.js} +19 -33
  156. package/dist/cjs/{index-3c44e0c7.js.map → index-CvMjRZDt.js.map} +1 -1
  157. package/dist/cjs/{index-87f2e2dc.js → index-E2IEf9Av.js} +53 -70
  158. package/dist/cjs/{index-87f2e2dc.js.map → index-E2IEf9Av.js.map} +1 -1
  159. package/dist/cjs/index.css +1 -1
  160. package/dist/cjs/index.js +22 -25
  161. package/dist/cjs/index.js.map +1 -1
  162. package/dist/cjs/layouts.js +2 -4
  163. package/dist/cjs/layouts.js.map +1 -1
  164. package/dist/cjs/managers.js +0 -2
  165. package/dist/cjs/managers.js.map +1 -1
  166. package/dist/cjs/overlayManager.js +2 -9
  167. package/dist/cjs/overlayManager.js.map +1 -1
  168. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
  169. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
  170. package/dist/cjs/tinycolor-C4a31PPv.js +1214 -0
  171. package/dist/cjs/tinycolor-C4a31PPv.js.map +1 -0
  172. package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
  173. package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
  174. package/dist/cjs/{useOverlayManager-b8134604.js → useOverlayManager-CXLC179x.js} +19 -741
  175. package/dist/cjs/useOverlayManager-CXLC179x.js.map +1 -0
  176. package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
  177. package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
  178. package/dist/cjs/{useRestoreScrollPosition-26e8d203.js → useRestoreScrollPosition-Dmq0tlvp.js} +18 -22
  179. package/dist/cjs/{useRestoreScrollPosition-26e8d203.js.map → useRestoreScrollPosition-Dmq0tlvp.js.map} +1 -1
  180. package/dist/{en-2d3f9fc1.js → en-CJac0MnO.js} +1 -1
  181. package/dist/en-CJac0MnO.js.map +1 -0
  182. package/dist/formik/ActionBlock.js +2 -2
  183. package/dist/formik/BlockNavigation.js +3 -4
  184. package/dist/formik/BlockNavigation.js.map +1 -1
  185. package/dist/formik/Checkbox.js +3 -3
  186. package/dist/formik/Input.js +3 -3
  187. package/dist/formik/MultiEmailInput.js +3 -3
  188. package/dist/formik/Radio.js +3 -3
  189. package/dist/formik/Select.js +4 -4
  190. package/dist/formik/Slider.js +3 -3
  191. package/dist/formik/Switch.js +3 -3
  192. package/dist/formik/Textarea.js +4 -4
  193. package/dist/formik/TreeSelect.js +2 -2
  194. package/dist/formik/index.js +6 -7
  195. package/dist/formik/index.js.map +1 -1
  196. package/dist/{index-6e82a862.js → index-BojMT3ps.js} +3 -3
  197. package/dist/{index-6e82a862.js.map → index-BojMT3ps.js.map} +1 -1
  198. package/dist/{index-b037e9fc.js → index-DugGi20r.js} +6 -12
  199. package/dist/{index-b037e9fc.js.map → index-DugGi20r.js.map} +1 -1
  200. package/dist/index.css +1 -1
  201. package/dist/index.js +22 -23
  202. package/dist/index.js.map +1 -1
  203. package/dist/layouts.js +2 -2
  204. package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
  205. package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
  206. package/dist/tinycolor-DX-kZ4bq.js +1212 -0
  207. package/dist/tinycolor-DX-kZ4bq.js.map +1 -0
  208. package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
  209. package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
  210. package/dist/{useOverlayManager-65f6d80a.js → useOverlayManager-Dyv5Y8Ug.js} +3 -713
  211. package/dist/useOverlayManager-Dyv5Y8Ug.js.map +1 -0
  212. package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
  213. package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
  214. package/dist/{useRestoreScrollPosition-631cf3e5.js → useRestoreScrollPosition-DnEaioaR.js} +2 -2
  215. package/dist/{useRestoreScrollPosition-631cf3e5.js.map → useRestoreScrollPosition-DnEaioaR.js.map} +1 -1
  216. package/package.json +11 -10
  217. package/dist/cjs/en-c69be2fb.js.map +0 -1
  218. package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
  219. package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
  220. package/dist/cjs/useOverlayManager-b8134604.js.map +0 -1
  221. package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
  222. package/dist/en-2d3f9fc1.js.map +0 -1
  223. package/dist/tinycolor-282c618c.js +0 -1200
  224. package/dist/tinycolor-282c618c.js.map +0 -1
  225. package/dist/useOverlayManager-65f6d80a.js.map +0 -1
@@ -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":"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"}
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":"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"}
@@ -15,15 +15,8 @@ require('@babel/runtime/helpers/slicedToArray');
15
15
  require('@tippyjs/react');
16
16
  require('tippy.js');
17
17
 
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
22
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
24
-
25
18
  var renderImage = function renderImage(image) {
26
- return typeof image === "string" ? /*#__PURE__*/React__default["default"].createElement("img", {
19
+ return typeof image === "string" ? /*#__PURE__*/React.createElement("img", {
27
20
  "data-cy": "no-data-image",
28
21
  src: image
29
22
  }) : image;
@@ -49,44 +42,44 @@ var NoData = function NoData(_ref) {
49
42
  buttonSeparatorText = _ref$buttonSeparatorT === void 0 ? "" : _ref$buttonSeparatorT,
50
43
  _ref$showTooltipWhenB = _ref.showTooltipWhenButtonDisabled,
51
44
  showTooltipWhenButtonDisabled = _ref$showTooltipWhenB === void 0 ? false : _ref$showTooltipWhenB,
52
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
45
+ otherProps = _objectWithoutProperties(_ref, _excluded);
53
46
  var hasPrimaryButtonProps = !ramda.isEmpty(primaryButtonProps);
54
47
  var hasSecondaryButtonProps = !ramda.isEmpty(secondaryButtonProps);
55
48
  var hasButtonSeparatorText = !ramda.isEmpty(buttonSeparatorText);
56
49
  var showButtonSeparator = hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;
57
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
58
- className: classnames__default["default"]("neeto-ui-no-data", [className]),
50
+ return /*#__PURE__*/React.createElement("div", _extends({
51
+ className: classnames("neeto-ui-no-data", [className]),
59
52
  "data-cy": "no-data-container"
60
- }, otherProps), image ? /*#__PURE__*/React__default["default"].createElement("div", {
53
+ }, otherProps), image ? /*#__PURE__*/React.createElement("div", {
61
54
  className: "neeto-ui-no-data__image"
62
- }, renderImage(image)) : null, title && /*#__PURE__*/React__default["default"].createElement(Typography, {
55
+ }, renderImage(image)) : null, title && /*#__PURE__*/React.createElement(Typography, {
63
56
  className: "neeto-ui-text-center",
64
57
  "data-cy": "no-data-title",
65
58
  lineHeight: "none",
66
59
  style: "h3"
67
- }, title), description && /*#__PURE__*/React__default["default"].createElement(Typography, {
60
+ }, title), description && /*#__PURE__*/React.createElement(Typography, {
68
61
  className: "neeto-ui-text-center neeto-ui-no-data__description",
69
62
  "data-cy": "no-data-description",
70
63
  lineHeight: "normal",
71
64
  style: "body2"
72
- }, description), helpText && /*#__PURE__*/React__default["default"].createElement(Typography, {
65
+ }, description), helpText && /*#__PURE__*/React.createElement(Typography, {
73
66
  className: "neeto-ui-text-center neeto-ui-no-data__help-text",
74
67
  "data-cy": "no-data-help-text",
75
68
  lineHeight: "normal",
76
69
  style: "body2"
77
- }, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/React__default["default"].createElement("div", {
70
+ }, helpText), (hasPrimaryButtonProps || hasSecondaryButtonProps) && /*#__PURE__*/React.createElement("div", {
78
71
  className: "neeto-ui-no-data__action-block"
79
- }, hasPrimaryButtonProps && /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends__default["default"]({}, primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps, {
72
+ }, hasPrimaryButtonProps && /*#__PURE__*/React.createElement(Tooltip, _extends({}, primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps, {
80
73
  disabled: ramda.isNil(primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (primaryButtonProps === null || primaryButtonProps === void 0 ? void 0 : primaryButtonProps.disabled)
81
- }), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
74
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, _extends({
82
75
  "data-cy": "no-data-primary-button",
83
76
  "data-testid": "no-data-primary-button"
84
- }, ramda.omit(["tooltipProps"], primaryButtonProps))))), showButtonSeparator && /*#__PURE__*/React__default["default"].createElement(Typography, {
77
+ }, ramda.omit(["tooltipProps"], primaryButtonProps))))), showButtonSeparator && /*#__PURE__*/React.createElement(Typography, {
85
78
  lineHeight: "normal",
86
79
  style: "body2"
87
- }, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends__default["default"]({}, secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps, {
80
+ }, buttonSeparatorText), hasSecondaryButtonProps && /*#__PURE__*/React.createElement(Tooltip, _extends({}, secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps, {
88
81
  disabled: ramda.isNil(secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.tooltipProps) || !showTooltipWhenButtonDisabled && (secondaryButtonProps === null || secondaryButtonProps === void 0 ? void 0 : secondaryButtonProps.disabled)
89
- }), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
82
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, _extends({
90
83
  "data-cy": "no-data-secondary-button",
91
84
  "data-testid": "no-data-secondary-button",
92
85
  style: "secondary"
@@ -1 +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, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\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 showTooltipWhenButtonDisabled = false,\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 <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\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 if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\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","_ref$showTooltipWhenB","showTooltipWhenButtonDisabled","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAC9B,OAAOA,KAAK,KAAK,QAAQ,gBACvBC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAA,EAAQ,eAAe;AAACC,IAAAA,GAAG,EAAEH,KAAAA;AAAM,GAAA,CAAG,GAE3CA,KACD,CAAA;AAAA,CAAA;;;ACKH,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAWN;AAAA,EAAA,IAAAC,UAAA,GAAAD,IAAA,CAVJL,KAAK;AAALA,IAAAA,KAAK,GAAAM,UAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,UAAA;IAAAC,UAAA,GAAAF,IAAA,CACZG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,gBAAA,GAAAJ,IAAA,CACVK,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,aAAA,GAAAN,IAAA,CAChBO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IAAAE,cAAA,GAAAR,IAAA,CACfS,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAAAV,IAAA,CACdW,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAZ,IAAA,CACvBa,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAd,IAAA,CACzBe,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhB,IAAA,CACxBiB,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AAClCE,IAAAA,UAAU,GAAAC,4CAAA,CAAAnB,IAAA,EAAAoB,SAAA,CAAA,CAAA;AAEb,EAAA,IAAMC,qBAAqB,GAAG,CAACC,aAAO,CAACX,kBAAkB,CAAC,CAAA;AAC1D,EAAA,IAAMY,uBAAuB,GAAG,CAACD,aAAO,CAACT,oBAAoB,CAAC,CAAA;AAC9D,EAAA,IAAMW,sBAAsB,GAAG,CAACF,aAAO,CAACP,mBAAmB,CAAC,CAAA;AAE5D,EAAA,IAAMU,mBAAmB,GACvBD,sBAAsB,IAAIH,qBAAqB,IAAIE,uBAAuB,CAAA;AAE5E,EAAA,oBACE3B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA6B,4BAAA,CAAA;IACEjB,SAAS,EAAEkB,8BAAU,CAAC,kBAAkB,EAAE,CAAClB,SAAS,CAAC,CAAE;IACvD,SAAQ,EAAA,mBAAA;AAAmB,GAAA,EACvBS,UAAU,CAEbvB,EAAAA,KAAK,gBACJC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAAEf,WAAW,CAACC,KAAK,CAAC,CAAO,GACjE,IAAI,EACPQ,KAAK,iBACJP,yBAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,sBAAsB;AAChC,IAAA,SAAA,EAAQ,eAAe;AACvBoB,IAAAA,UAAU,EAAC,MAAM;AACjBC,IAAAA,KAAK,EAAC,IAAA;GAEL3B,EAAAA,KAAK,CAET,EACAE,WAAW,iBACVT,yBAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,oDAAoD;AAC9D,IAAA,SAAA,EAAQ,qBAAqB;AAC7BoB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;GAELzB,EAAAA,WAAW,CAEf,EACAE,QAAQ,iBACPX,yBAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,kDAAkD;AAC5D,IAAA,SAAA,EAAQ,mBAAmB;AAC3BoB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;GAELvB,EAAAA,QAAQ,CAEZ,EACA,CAACc,qBAAqB,IAAIE,uBAAuB,kBAChD3B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC5CY,qBAAqB,iBACpBzB,yBAAA,CAAAC,aAAA,CAACkC,OAAO,EAAAL,4BAAA,CAAA,EAAA,EACFf,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAEqB,YAAY,EAAA;IACpCC,QAAQ,EACNC,WAAK,CAACvB,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEqB,YAAY,CAAC,IACtC,CAACf,6BAA6B,KAAIN,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEsB,QAAQ,CAAA;GAGjErC,CAAAA,eAAAA,yBAAA,CAAAC,aAAA,CACED,KAAAA,EAAAA,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACsC,MAAM,EAAAT,4BAAA,CAAA;AACL,IAAA,SAAA,EAAQ,wBAAwB;IAChC,aAAY,EAAA,wBAAA;AAAwB,GAAA,EAChCU,UAAI,CAAC,CAAC,cAAc,CAAC,EAAEzB,kBAAkB,CAAC,CAAA,CAC9C,CACE,CAET,EACAc,mBAAmB,iBAClB7B,yBAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AAACC,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAC1Cf,mBAAmB,CAEvB,EACAQ,uBAAuB,iBACtB3B,yBAAA,CAAAC,aAAA,CAACkC,OAAO,EAAAL,4BAAA,KACFb,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAEmB,YAAY,EAAA;IACtCC,QAAQ,EACNC,WAAK,CAACrB,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAEmB,YAAY,CAAC,IACxC,CAACf,6BAA6B,KAC7BJ,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAEoB,QAAQ,CAAA;GAGlCrC,CAAAA,eAAAA,yBAAA,CAAAC,aAAA,CACED,KAAAA,EAAAA,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACsC,MAAM,EAAAT,4BAAA,CAAA;AACL,IAAA,SAAA,EAAQ,0BAA0B;AAClC,IAAA,aAAA,EAAY,0BAA0B;AACtCI,IAAAA,KAAK,EAAC,WAAA;AAAW,GAAA,EACbM,UAAI,CAAC,CAAC,cAAc,CAAC,EAAEvB,oBAAoB,CAAC,CAChD,CAAA,CACE,CAET,CAEJ,CACG,CAAA;AAEV;;;;"}
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, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\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 showTooltipWhenButtonDisabled = false,\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 <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\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 if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\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","_ref$showTooltipWhenB","showTooltipWhenButtonDisabled","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":";;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAC9B,OAAOA,KAAK,KAAK,QAAQ,gBACvBC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAA,EAAQ,eAAe;AAACC,IAAAA,GAAG,EAAEH,KAAAA;AAAM,GAAA,CAAG,GAE3CA,KACD,CAAA;AAAA,CAAA;;;ACKH,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAWN;AAAA,EAAA,IAAAC,UAAA,GAAAD,IAAA,CAVJL,KAAK;AAALA,IAAAA,KAAK,GAAAM,UAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,UAAA;IAAAC,UAAA,GAAAF,IAAA,CACZG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,gBAAA,GAAAJ,IAAA,CACVK,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,aAAA,GAAAN,IAAA,CAChBO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IAAAE,cAAA,GAAAR,IAAA,CACfS,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAAAV,IAAA,CACdW,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAZ,IAAA,CACvBa,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAd,IAAA,CACzBe,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhB,IAAA,CACxBiB,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AAClCE,IAAAA,UAAU,GAAAC,wBAAA,CAAAnB,IAAA,EAAAoB,SAAA,CAAA,CAAA;AAEb,EAAA,IAAMC,qBAAqB,GAAG,CAACC,aAAO,CAACX,kBAAkB,CAAC,CAAA;AAC1D,EAAA,IAAMY,uBAAuB,GAAG,CAACD,aAAO,CAACT,oBAAoB,CAAC,CAAA;AAC9D,EAAA,IAAMW,sBAAsB,GAAG,CAACF,aAAO,CAACP,mBAAmB,CAAC,CAAA;AAE5D,EAAA,IAAMU,mBAAmB,GACvBD,sBAAsB,IAAIH,qBAAqB,IAAIE,uBAAuB,CAAA;AAE5E,EAAA,oBACE3B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA6B,QAAA,CAAA;IACEjB,SAAS,EAAEkB,UAAU,CAAC,kBAAkB,EAAE,CAAClB,SAAS,CAAC,CAAE;IACvD,SAAQ,EAAA,mBAAA;AAAmB,GAAA,EACvBS,UAAU,CAEbvB,EAAAA,KAAK,gBACJC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAAEf,WAAW,CAACC,KAAK,CAAC,CAAO,GACjE,IAAI,EACPQ,KAAK,iBACJP,KAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,sBAAsB;AAChC,IAAA,SAAA,EAAQ,eAAe;AACvBoB,IAAAA,UAAU,EAAC,MAAM;AACjBC,IAAAA,KAAK,EAAC,IAAA;GAEL3B,EAAAA,KAAK,CAET,EACAE,WAAW,iBACVT,KAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,oDAAoD;AAC9D,IAAA,SAAA,EAAQ,qBAAqB;AAC7BoB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;GAELzB,EAAAA,WAAW,CAEf,EACAE,QAAQ,iBACPX,KAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AACTnB,IAAAA,SAAS,EAAC,kDAAkD;AAC5D,IAAA,SAAA,EAAQ,mBAAmB;AAC3BoB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,OAAA;GAELvB,EAAAA,QAAQ,CAEZ,EACA,CAACc,qBAAqB,IAAIE,uBAAuB,kBAChD3B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC5CY,qBAAqB,iBACpBzB,KAAA,CAAAC,aAAA,CAACkC,OAAO,EAAAL,QAAA,CAAA,EAAA,EACFf,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAEqB,YAAY,EAAA;IACpCC,QAAQ,EACNC,WAAK,CAACvB,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEqB,YAAY,CAAC,IACtC,CAACf,6BAA6B,KAAIN,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEsB,QAAQ,CAAA;GAGjErC,CAAAA,eAAAA,KAAA,CAAAC,aAAA,CACED,KAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACsC,MAAM,EAAAT,QAAA,CAAA;AACL,IAAA,SAAA,EAAQ,wBAAwB;IAChC,aAAY,EAAA,wBAAA;AAAwB,GAAA,EAChCU,UAAI,CAAC,CAAC,cAAc,CAAC,EAAEzB,kBAAkB,CAAC,CAAA,CAC9C,CACE,CAET,EACAc,mBAAmB,iBAClB7B,KAAA,CAAAC,aAAA,CAAC+B,UAAU,EAAA;AAACC,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAC1Cf,mBAAmB,CAEvB,EACAQ,uBAAuB,iBACtB3B,KAAA,CAAAC,aAAA,CAACkC,OAAO,EAAAL,QAAA,KACFb,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAEmB,YAAY,EAAA;IACtCC,QAAQ,EACNC,WAAK,CAACrB,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAEmB,YAAY,CAAC,IACxC,CAACf,6BAA6B,KAC7BJ,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAEoB,QAAQ,CAAA;GAGlCrC,CAAAA,eAAAA,KAAA,CAAAC,aAAA,CACED,KAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACsC,MAAM,EAAAT,QAAA,CAAA;AACL,IAAA,SAAA,EAAQ,0BAA0B;AAClC,IAAA,aAAA,EAAY,0BAA0B;AACtCI,IAAAA,KAAK,EAAC,WAAA;AAAW,GAAA,EACbM,UAAI,CAAC,CAAC,cAAc,CAAC,EAAEvB,oBAAoB,CAAC,CAChD,CAAA,CACE,CAET,CAEJ,CACG,CAAA;AAEV;;;;"}
@@ -8,8 +8,8 @@ var reactRouterDom = require('react-router-dom');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@bigbinary/neeto-hotkeys');
10
10
  require('./overlayManager.js');
11
- var index = require('./index-3c44e0c7.js');
12
- var useQueryParams = require('./useQueryParams-a8ee2f76.js');
11
+ var index = require('./index-CvMjRZDt.js');
12
+ var useQueryParams = require('./useQueryParams-l5fJJYCR.js');
13
13
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
14
14
  require('@babel/runtime/helpers/classCallCheck');
15
15
  require('@babel/runtime/helpers/createClass');
@@ -22,13 +22,7 @@ require('dayjs/plugin/weekday');
22
22
  require('dayjs/plugin/weekOfYear');
23
23
  require('@bigbinary/neeto-cist');
24
24
  require('qs');
25
- require('./en-c69be2fb.js');
26
-
27
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
-
29
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
31
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
25
+ require('./en-1dfvTYgC.js');
32
26
 
33
27
  var DOTS = "...";
34
28
 
@@ -87,20 +81,20 @@ var usePagination = function usePagination(_ref) {
87
81
  if (!shouldShowLeftDots && shouldShowRightDots) {
88
82
  var leftItemCount = 3 + 2 * siblingCount;
89
83
  var leftRange = range(1, leftItemCount);
90
- return [].concat(_toConsumableArray__default["default"](leftRange), [DOTS, totalPageCount]);
84
+ return [].concat(_toConsumableArray(leftRange), [DOTS, totalPageCount]);
91
85
  }
92
86
 
93
87
  // Case 3: No right dots to show, but left dots to be shown
94
88
  if (shouldShowLeftDots && !shouldShowRightDots) {
95
89
  var rightItemCount = 3 + 2 * siblingCount;
96
90
  var rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);
97
- return [firstPageIndex, DOTS].concat(_toConsumableArray__default["default"](rightRange));
91
+ return [firstPageIndex, DOTS].concat(_toConsumableArray(rightRange));
98
92
  }
99
93
 
100
94
  // Case 4: Both left and right dots to be shown
101
95
  if (shouldShowLeftDots && shouldShowRightDots) {
102
96
  var middleRange = range(leftSiblingIndex, rightSiblingIndex);
103
- return [firstPageIndex, DOTS].concat(_toConsumableArray__default["default"](middleRange), [DOTS, lastPageIndex]);
97
+ return [firstPageIndex, DOTS].concat(_toConsumableArray(middleRange), [DOTS, lastPageIndex]);
104
98
  }
105
99
  return undefined;
106
100
  }, [count, pageSize, siblingCount, pageNo]);
@@ -138,53 +132,53 @@ var Pagination = function Pagination(_ref) {
138
132
  var lastPage = paginationRange[paginationRange.length - 1];
139
133
  var isFirstPage = pageNo === 1;
140
134
  var isLastPage = pageNo === lastPage;
141
- return /*#__PURE__*/React__default["default"].createElement("nav", {
135
+ return /*#__PURE__*/React.createElement("nav", {
142
136
  "aria-label": "Pagination Navigation",
143
137
  role: "navigation"
144
- }, /*#__PURE__*/React__default["default"].createElement("ul", {
145
- className: classnames__default["default"](["neeto-ui-pagination__wrapper", className])
146
- }, /*#__PURE__*/React__default["default"].createElement("li", {
138
+ }, /*#__PURE__*/React.createElement("ul", {
139
+ className: classnames(["neeto-ui-pagination__wrapper", className])
140
+ }, /*#__PURE__*/React.createElement("li", {
147
141
  "data-testid": "left-navigate-button",
148
142
  tabIndex: 0,
149
- className: classnames__default["default"]({
143
+ className: classnames({
150
144
  "neeto-ui-pagination__item": true,
151
145
  "neeto-ui-pagination__item--navigate": true,
152
146
  disabled: isFirstPage
153
147
  }),
154
148
  onClick: onPrevious
155
- }, /*#__PURE__*/React__default["default"].createElement("a", null, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Left, {
149
+ }, /*#__PURE__*/React.createElement("a", null, /*#__PURE__*/React.createElement(neetoIcons.Left, {
156
150
  size: 20
157
151
  }))), paginationRange.map(function (pageNumber, index) {
158
152
  var isActive = pageNumber === pageNo;
159
153
  if (pageNumber === DOTS) {
160
- return /*#__PURE__*/React__default["default"].createElement("li", {
154
+ return /*#__PURE__*/React.createElement("li", {
161
155
  className: "neeto-ui-pagination__item neeto-ui-pagination__item--dots",
162
156
  "data-testid": "dots",
163
157
  key: index
164
158
  }, "\u2026");
165
159
  }
166
- return /*#__PURE__*/React__default["default"].createElement("li", {
160
+ return /*#__PURE__*/React.createElement("li", {
167
161
  "aria-current": isActive && true,
168
162
  key: index,
169
163
  tabIndex: 0,
170
164
  "aria-label": isActive ? "Current Page, Page ".concat(pageNumber) : "Goto Page ".concat(pageNumber),
171
- className: classnames__default["default"]("neeto-ui-pagination__item", {
165
+ className: classnames("neeto-ui-pagination__item", {
172
166
  active: isActive
173
167
  }),
174
168
  onClick: function onClick() {
175
169
  return navigate(pageNumber);
176
170
  }
177
- }, /*#__PURE__*/React__default["default"].createElement("a", null, pageNumber));
178
- }), /*#__PURE__*/React__default["default"].createElement("li", {
171
+ }, /*#__PURE__*/React.createElement("a", null, pageNumber));
172
+ }), /*#__PURE__*/React.createElement("li", {
179
173
  "data-testid": "right-navigate-button",
180
174
  tabIndex: 0,
181
- className: classnames__default["default"]({
175
+ className: classnames({
182
176
  "neeto-ui-pagination__item": true,
183
177
  "neeto-ui-pagination__item--navigate": true,
184
178
  disabled: isLastPage
185
179
  }),
186
180
  onClick: onNext
187
- }, /*#__PURE__*/React__default["default"].createElement("a", null, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
181
+ }, /*#__PURE__*/React.createElement("a", null, /*#__PURE__*/React.createElement(neetoIcons.Right, {
188
182
  size: 20
189
183
  })))));
190
184
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../src/components/Pagination/constants.js","../../src/components/Pagination/hooks/usePaginationQueryParams.js","../../src/components/Pagination/utils.js","../../src/components/Pagination/index.jsx"],"sourcesContent":["export const DOTS = \"...\";\n","import { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nconst usePaginationQueryParams = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const updatePageInQueryParam = page => {\n const params = { page };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { updatePageInQueryParam };\n};\n\nexport default usePaginationQueryParams;\n","import { useMemo } from \"react\";\n\nimport { DOTS } from \"./constants\";\n\nconst range = (start, end) => {\n const length = end - start + 1;\n\n return Array.from({ length }, (_, index) => index + start);\n};\n\nexport const usePagination = ({\n count,\n pageSize,\n siblingCount = 1,\n pageNo,\n}) => {\n const paginationRange = useMemo(() => {\n const totalPageCount = Math.ceil(count / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n // If the number of pages is less than the page numbers we want to show in our\n // paginationComponent, we return the range [1..totalPageCount]\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n const leftSiblingIndex = Math.max(pageNo - siblingCount, 1);\n const rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);\n\n // 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\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n // Case 2: No left dots to show, but rights dots to be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n // Case 3: No right dots to show, but left dots to be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(\n totalPageCount - rightItemCount + 1,\n totalPageCount\n );\n\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n // Case 4: Both left and right dots to be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return undefined;\n }, [count, pageSize, siblingCount, pageNo]);\n\n return paginationRange;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Left, Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { DOTS } from \"./constants\";\nimport usePaginationQueryParams from \"./hooks/usePaginationQueryParams\";\nimport { usePagination } from \"./utils\";\n\nconst Pagination = ({\n count = 0,\n pageNo,\n navigate,\n pageSize,\n siblingCount = 1,\n className = \"\",\n}) => {\n const paginationRange = usePagination({\n pageNo,\n count,\n siblingCount,\n pageSize,\n });\n const { updatePageInQueryParam } = usePaginationQueryParams();\n\n if (!navigate) navigate = updatePageInQueryParam;\n\n if (pageNo === 0 || paginationRange.length < 2) {\n return null;\n }\n\n const onNext = () => {\n if (!isLastPage) navigate(pageNo + 1);\n };\n\n const onPrevious = () => {\n if (!isFirstPage) navigate(pageNo - 1);\n };\n\n const lastPage = paginationRange[paginationRange.length - 1];\n const isFirstPage = pageNo === 1;\n const isLastPage = pageNo === lastPage;\n\n return (\n <nav aria-label=\"Pagination Navigation\" role=\"navigation\">\n <ul className={classnames([\"neeto-ui-pagination__wrapper\", className])}>\n <li\n data-testid=\"left-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isFirstPage,\n })}\n onClick={onPrevious}\n >\n <a>\n <Left size={20} />\n </a>\n </li>\n {paginationRange.map((pageNumber, index) => {\n const isActive = pageNumber === pageNo;\n\n if (pageNumber === DOTS) {\n return (\n <li\n className=\"neeto-ui-pagination__item neeto-ui-pagination__item--dots\"\n data-testid=\"dots\"\n key={index}\n >\n &#8230;\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive && true}\n key={index}\n tabIndex={0}\n aria-label={\n isActive\n ? `Current Page, Page ${pageNumber}`\n : `Goto Page ${pageNumber}`\n }\n className={classnames(\"neeto-ui-pagination__item\", {\n active: isActive,\n })}\n onClick={() => navigate(pageNumber)}\n >\n <a>{pageNumber}</a>\n </li>\n );\n })}\n <li\n data-testid=\"right-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isLastPage,\n })}\n onClick={onNext}\n >\n <a>\n <Right size={20} />\n </a>\n </li>\n </ul>\n </nav>\n );\n};\n\nPagination.propTypes = {\n /**\n * To specify the total number of items.\n */\n count: PropTypes.number.isRequired,\n /**\n * To specify the current page number.\n */\n pageNo: PropTypes.number,\n /**\n * To specify the callback which will be invoked when the navigate buttons are clicked. If not provided, the component will update pagination information in the URL query parameters.\n */\n navigate: PropTypes.func,\n /**\n * To specify the size of a single page.\n */\n pageSize: PropTypes.number.isRequired,\n /**\n * To specify the number of siblings to be shown before and after the current page number.\n */\n siblingCount: PropTypes.number,\n /**\n * To provide external className to the Pagination component.\n */\n className: PropTypes.string,\n};\n\nexport default Pagination;\n"],"names":["DOTS","usePaginationQueryParams","queryParams","useQueryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","location","push","buildUrl","mergeLeft","range","start","end","length","Array","from","_","index","usePagination","_ref","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","concat","_toConsumableArray","rightItemCount","rightRange","middleRange","undefined","Pagination","_ref$count","navigate","_ref$className","className","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","React","createElement","role","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","key","active","Right"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/components/Pagination/constants.js","../../src/components/Pagination/hooks/usePaginationQueryParams.js","../../src/components/Pagination/utils.js","../../src/components/Pagination/index.jsx"],"sourcesContent":["export const DOTS = \"...\";\n","import { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nconst usePaginationQueryParams = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const updatePageInQueryParam = page => {\n const params = { page };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { updatePageInQueryParam };\n};\n\nexport default usePaginationQueryParams;\n","import { useMemo } from \"react\";\n\nimport { DOTS } from \"./constants\";\n\nconst range = (start, end) => {\n const length = end - start + 1;\n\n return Array.from({ length }, (_, index) => index + start);\n};\n\nexport const usePagination = ({\n count,\n pageSize,\n siblingCount = 1,\n pageNo,\n}) => {\n const paginationRange = useMemo(() => {\n const totalPageCount = Math.ceil(count / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n // If the number of pages is less than the page numbers we want to show in our\n // paginationComponent, we return the range [1..totalPageCount]\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n const leftSiblingIndex = Math.max(pageNo - siblingCount, 1);\n const rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);\n\n // 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\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n // Case 2: No left dots to show, but rights dots to be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n // Case 3: No right dots to show, but left dots to be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(\n totalPageCount - rightItemCount + 1,\n totalPageCount\n );\n\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n // Case 4: Both left and right dots to be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return undefined;\n }, [count, pageSize, siblingCount, pageNo]);\n\n return paginationRange;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Left, Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { DOTS } from \"./constants\";\nimport usePaginationQueryParams from \"./hooks/usePaginationQueryParams\";\nimport { usePagination } from \"./utils\";\n\nconst Pagination = ({\n count = 0,\n pageNo,\n navigate,\n pageSize,\n siblingCount = 1,\n className = \"\",\n}) => {\n const paginationRange = usePagination({\n pageNo,\n count,\n siblingCount,\n pageSize,\n });\n const { updatePageInQueryParam } = usePaginationQueryParams();\n\n if (!navigate) navigate = updatePageInQueryParam;\n\n if (pageNo === 0 || paginationRange.length < 2) {\n return null;\n }\n\n const onNext = () => {\n if (!isLastPage) navigate(pageNo + 1);\n };\n\n const onPrevious = () => {\n if (!isFirstPage) navigate(pageNo - 1);\n };\n\n const lastPage = paginationRange[paginationRange.length - 1];\n const isFirstPage = pageNo === 1;\n const isLastPage = pageNo === lastPage;\n\n return (\n <nav aria-label=\"Pagination Navigation\" role=\"navigation\">\n <ul className={classnames([\"neeto-ui-pagination__wrapper\", className])}>\n <li\n data-testid=\"left-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isFirstPage,\n })}\n onClick={onPrevious}\n >\n <a>\n <Left size={20} />\n </a>\n </li>\n {paginationRange.map((pageNumber, index) => {\n const isActive = pageNumber === pageNo;\n\n if (pageNumber === DOTS) {\n return (\n <li\n className=\"neeto-ui-pagination__item neeto-ui-pagination__item--dots\"\n data-testid=\"dots\"\n key={index}\n >\n &#8230;\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive && true}\n key={index}\n tabIndex={0}\n aria-label={\n isActive\n ? `Current Page, Page ${pageNumber}`\n : `Goto Page ${pageNumber}`\n }\n className={classnames(\"neeto-ui-pagination__item\", {\n active: isActive,\n })}\n onClick={() => navigate(pageNumber)}\n >\n <a>{pageNumber}</a>\n </li>\n );\n })}\n <li\n data-testid=\"right-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isLastPage,\n })}\n onClick={onNext}\n >\n <a>\n <Right size={20} />\n </a>\n </li>\n </ul>\n </nav>\n );\n};\n\nPagination.propTypes = {\n /**\n * To specify the total number of items.\n */\n count: PropTypes.number.isRequired,\n /**\n * To specify the current page number.\n */\n pageNo: PropTypes.number,\n /**\n * To specify the callback which will be invoked when the navigate buttons are clicked. If not provided, the component will update pagination information in the URL query parameters.\n */\n navigate: PropTypes.func,\n /**\n * To specify the size of a single page.\n */\n pageSize: PropTypes.number.isRequired,\n /**\n * To specify the number of siblings to be shown before and after the current page number.\n */\n siblingCount: PropTypes.number,\n /**\n * To provide external className to the Pagination component.\n */\n className: PropTypes.string,\n};\n\nexport default Pagination;\n"],"names":["DOTS","usePaginationQueryParams","queryParams","useQueryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","location","push","buildUrl","mergeLeft","range","start","end","length","Array","from","_","index","usePagination","_ref","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","concat","_toConsumableArray","rightItemCount","rightRange","middleRange","undefined","Pagination","_ref$count","navigate","_ref$className","className","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","React","createElement","role","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","key","active","Right"],"mappings":"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"}