@bigbinary/neetoui 8.2.20 → 8.2.21

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 (169) hide show
  1. package/dist/ActionDropdown.js +3 -1
  2. package/dist/ActionDropdown.js.map +1 -1
  3. package/dist/Alert.js +4 -2
  4. package/dist/Alert.js.map +1 -1
  5. package/dist/Checkbox.js +3 -1
  6. package/dist/Checkbox.js.map +1 -1
  7. package/dist/ColorPicker.js +3 -1
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/DatePicker.js +7 -6
  10. package/dist/DatePicker.js.map +1 -1
  11. package/dist/Dropdown.js +3 -1
  12. package/dist/Dropdown.js.map +1 -1
  13. package/dist/Input.js +3 -1
  14. package/dist/Input.js.map +1 -1
  15. package/dist/Modal.js +4 -2
  16. package/dist/Modal.js.map +1 -1
  17. package/dist/MultiEmailInput.js +2 -1
  18. package/dist/MultiEmailInput.js.map +1 -1
  19. package/dist/Pagination.js +2 -1
  20. package/dist/Pagination.js.map +1 -1
  21. package/dist/Pane.js +4 -2
  22. package/dist/Pane.js.map +1 -1
  23. package/dist/Radio.js +3 -1
  24. package/dist/Radio.js.map +1 -1
  25. package/dist/Select.js +2 -1
  26. package/dist/Select.js.map +1 -1
  27. package/dist/Sidebar.js +3 -1
  28. package/dist/Sidebar.js.map +1 -1
  29. package/dist/Slider.js +3 -1
  30. package/dist/Slider.js.map +1 -1
  31. package/dist/Switch.js +3 -1
  32. package/dist/Switch.js.map +1 -1
  33. package/dist/Table.js +3 -2
  34. package/dist/Table.js.map +1 -1
  35. package/dist/{Textarea-4adbfd84.js → Textarea-afac4a3e.js} +2 -2
  36. package/dist/{Textarea-4adbfd84.js.map → Textarea-afac4a3e.js.map} +1 -1
  37. package/dist/Textarea.js +4 -2
  38. package/dist/Textarea.js.map +1 -1
  39. package/dist/TimePicker.js +6 -5
  40. package/dist/TimePicker.js.map +1 -1
  41. package/dist/Toastr.js +3 -1
  42. package/dist/Toastr.js.map +1 -1
  43. package/dist/Tree.js +3 -1
  44. package/dist/Tree.js.map +1 -1
  45. package/dist/TreeSelect.js +3 -1
  46. package/dist/TreeSelect.js.map +1 -1
  47. package/dist/cjs/ActionDropdown.js +3 -1
  48. package/dist/cjs/ActionDropdown.js.map +1 -1
  49. package/dist/cjs/Alert.js +4 -2
  50. package/dist/cjs/Alert.js.map +1 -1
  51. package/dist/cjs/Checkbox.js +3 -1
  52. package/dist/cjs/Checkbox.js.map +1 -1
  53. package/dist/cjs/ColorPicker.js +3 -1
  54. package/dist/cjs/ColorPicker.js.map +1 -1
  55. package/dist/cjs/DatePicker.js +7 -6
  56. package/dist/cjs/DatePicker.js.map +1 -1
  57. package/dist/cjs/Dropdown.js +3 -1
  58. package/dist/cjs/Dropdown.js.map +1 -1
  59. package/dist/cjs/Input.js +3 -1
  60. package/dist/cjs/Input.js.map +1 -1
  61. package/dist/cjs/Modal.js +4 -2
  62. package/dist/cjs/Modal.js.map +1 -1
  63. package/dist/cjs/MultiEmailInput.js +2 -1
  64. package/dist/cjs/MultiEmailInput.js.map +1 -1
  65. package/dist/cjs/Pagination.js +2 -1
  66. package/dist/cjs/Pagination.js.map +1 -1
  67. package/dist/cjs/Pane.js +4 -2
  68. package/dist/cjs/Pane.js.map +1 -1
  69. package/dist/cjs/Radio.js +3 -1
  70. package/dist/cjs/Radio.js.map +1 -1
  71. package/dist/cjs/Select.js +2 -1
  72. package/dist/cjs/Select.js.map +1 -1
  73. package/dist/cjs/Sidebar.js +3 -1
  74. package/dist/cjs/Sidebar.js.map +1 -1
  75. package/dist/cjs/Slider.js +3 -1
  76. package/dist/cjs/Slider.js.map +1 -1
  77. package/dist/cjs/Switch.js +3 -1
  78. package/dist/cjs/Switch.js.map +1 -1
  79. package/dist/cjs/Table.js +3 -2
  80. package/dist/cjs/Table.js.map +1 -1
  81. package/dist/cjs/{Textarea-d7c71937.js → Textarea-c6496fa2.js} +2 -2
  82. package/dist/cjs/{Textarea-d7c71937.js.map → Textarea-c6496fa2.js.map} +1 -1
  83. package/dist/cjs/Textarea.js +4 -2
  84. package/dist/cjs/Textarea.js.map +1 -1
  85. package/dist/cjs/TimePicker.js +6 -5
  86. package/dist/cjs/TimePicker.js.map +1 -1
  87. package/dist/cjs/Toastr.js +3 -1
  88. package/dist/cjs/Toastr.js.map +1 -1
  89. package/dist/cjs/Tree.js +3 -1
  90. package/dist/cjs/Tree.js.map +1 -1
  91. package/dist/cjs/TreeSelect.js +3 -1
  92. package/dist/cjs/TreeSelect.js.map +1 -1
  93. package/dist/cjs/formik/ActionBlock.js +3 -1
  94. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  95. package/dist/cjs/formik/BlockNavigation.js +4 -2
  96. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  97. package/dist/cjs/formik/Checkbox.js +3 -1
  98. package/dist/cjs/formik/Checkbox.js.map +1 -1
  99. package/dist/cjs/formik/Input.js +3 -1
  100. package/dist/cjs/formik/Input.js.map +1 -1
  101. package/dist/cjs/formik/MultiEmailInput.js +2 -1
  102. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  103. package/dist/cjs/formik/Radio.js +3 -1
  104. package/dist/cjs/formik/Radio.js.map +1 -1
  105. package/dist/cjs/formik/Select.js +2 -1
  106. package/dist/cjs/formik/Select.js.map +1 -1
  107. package/dist/cjs/formik/Slider.js +3 -1
  108. package/dist/cjs/formik/Slider.js.map +1 -1
  109. package/dist/cjs/formik/Switch.js +3 -1
  110. package/dist/cjs/formik/Switch.js.map +1 -1
  111. package/dist/cjs/formik/Textarea.js +4 -2
  112. package/dist/cjs/formik/Textarea.js.map +1 -1
  113. package/dist/cjs/formik/TreeSelect.js +3 -1
  114. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  115. package/dist/cjs/formik/index.js +5 -4
  116. package/dist/cjs/formik/index.js.map +1 -1
  117. package/dist/cjs/{index-580cecf0.js → index-3c44e0c7.js} +55 -10
  118. package/dist/cjs/index-3c44e0c7.js.map +1 -0
  119. package/dist/cjs/{index-624122e2.js → index-b7601801.js} +7 -9
  120. package/dist/cjs/index-b7601801.js.map +1 -0
  121. package/dist/cjs/index.js +7 -6
  122. package/dist/cjs/index.js.map +1 -1
  123. package/dist/cjs/layouts.js +4 -2
  124. package/dist/cjs/layouts.js.map +1 -1
  125. package/dist/cjs/{useOverlayManager-d5a482ad.js → useOverlayManager-b8134604.js} +2 -2
  126. package/dist/cjs/{useOverlayManager-d5a482ad.js.map → useOverlayManager-b8134604.js.map} +1 -1
  127. package/dist/cjs/{useRestoreScrollPosition-d094f2d4.js → useRestoreScrollPosition-26e8d203.js} +2 -2
  128. package/dist/cjs/{useRestoreScrollPosition-d094f2d4.js.map → useRestoreScrollPosition-26e8d203.js.map} +1 -1
  129. package/dist/formik/ActionBlock.js +3 -1
  130. package/dist/formik/ActionBlock.js.map +1 -1
  131. package/dist/formik/BlockNavigation.js +4 -2
  132. package/dist/formik/BlockNavigation.js.map +1 -1
  133. package/dist/formik/Checkbox.js +3 -1
  134. package/dist/formik/Checkbox.js.map +1 -1
  135. package/dist/formik/Input.js +3 -1
  136. package/dist/formik/Input.js.map +1 -1
  137. package/dist/formik/MultiEmailInput.js +2 -1
  138. package/dist/formik/MultiEmailInput.js.map +1 -1
  139. package/dist/formik/Radio.js +3 -1
  140. package/dist/formik/Radio.js.map +1 -1
  141. package/dist/formik/Select.js +2 -1
  142. package/dist/formik/Select.js.map +1 -1
  143. package/dist/formik/Slider.js +3 -1
  144. package/dist/formik/Slider.js.map +1 -1
  145. package/dist/formik/Switch.js +3 -1
  146. package/dist/formik/Switch.js.map +1 -1
  147. package/dist/formik/Textarea.js +4 -2
  148. package/dist/formik/Textarea.js.map +1 -1
  149. package/dist/formik/TreeSelect.js +3 -1
  150. package/dist/formik/TreeSelect.js.map +1 -1
  151. package/dist/formik/index.js +5 -4
  152. package/dist/formik/index.js.map +1 -1
  153. package/dist/{index-a5885f96.js → index-40372119.js} +6 -7
  154. package/dist/index-40372119.js.map +1 -0
  155. package/dist/{index-951e004b.js → index-6e82a862.js} +48 -8
  156. package/dist/index-6e82a862.js.map +1 -0
  157. package/dist/index.js +7 -6
  158. package/dist/index.js.map +1 -1
  159. package/dist/layouts.js +4 -2
  160. package/dist/layouts.js.map +1 -1
  161. package/dist/{useOverlayManager-a6989e1a.js → useOverlayManager-65f6d80a.js} +2 -2
  162. package/dist/{useOverlayManager-a6989e1a.js.map → useOverlayManager-65f6d80a.js.map} +1 -1
  163. package/dist/{useRestoreScrollPosition-4c850d1d.js → useRestoreScrollPosition-631cf3e5.js} +2 -2
  164. package/dist/{useRestoreScrollPosition-4c850d1d.js.map → useRestoreScrollPosition-631cf3e5.js.map} +1 -1
  165. package/package.json +1 -1
  166. package/dist/cjs/index-580cecf0.js.map +0 -1
  167. package/dist/cjs/index-624122e2.js.map +0 -1
  168. package/dist/index-951e004b.js.map +0 -1
  169. package/dist/index-a5885f96.js.map +0 -1
package/dist/Input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../src/components/Input.jsx"],"sourcesContent":["import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { replace } from \"ramda\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst Input = forwardRef(\n (\n {\n size = SIZES.medium,\n type = \"text\",\n label = \"\",\n error = \"\",\n suffix = null,\n prefix = null,\n disabled = false,\n helpText = \"\",\n className = \"\",\n nakedInput = false,\n contentSize = null,\n required = false,\n maxLength,\n unlimitedChars = false,\n labelProps,\n rejectCharsRegex,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(otherProps.value);\n const id = useId(otherProps.id);\n\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChange = e => {\n if (!otherProps.onChange || !otherProps.value) {\n setValueInternal(e.target.value);\n }\n otherProps.onChange?.(e);\n };\n\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n const handleRegexChange = e => {\n const globalRegex = new RegExp(rejectCharsRegex, \"g\");\n e.target.value = replace(globalRegex, \"\", e.target.value);\n onChange(e);\n };\n\n const handleChange = rejectCharsRegex ? handleRegexChange : onChange;\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n handleChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-input-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-input`}\n className={classnames(\"neeto-ui-input\", {\n \"neeto-ui-input--naked\": !!nakedInput,\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--small\": size === \"small\",\n \"neeto-ui-input--medium\": size === \"medium\",\n \"neeto-ui-input--large\": size === \"large\",\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <input\n aria-invalid={!!error}\n data-cy={`${hyphenize(label)}-input-field`}\n size={contentSize}\n aria-describedby={classnames({\n [errorId]: !!error,\n [helpTextId]: helpText,\n })}\n {...{\n disabled,\n id,\n ref,\n required,\n type,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n value,\n }}\n onBlur={handleOnBlur}\n onChange={handleChange}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n id={helpTextId}\n >\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n\nInput.propTypes = {\n /**\n * To specify a unique ID to the Input component.\n */\n id: PropTypes.string,\n /**\n * To specify the size of Input.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the type of Input field.\n */\n type: 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 a maximum character limit to the Input. Charater limit is visible only if the Input value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the text to be displayed above the Input.\n */\n label: PropTypes.string,\n /**\n * To specify the error message to be shown in the Input field.\n */\n error: PropTypes.string,\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 whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the text that appears below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To create an Input field without any borders.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the value to be passed as size attribute to the Input field.\n */\n contentSize: PropTypes.number,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify a regex to be matched against the user input. Any character that matches it\n * cannot be input by the user. It will also prevent such characters from being pasted into the input.\n */\n rejectCharsRegex: PropTypes.instanceOf(RegExp),\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Input;\n"],"names":["SIZES","small","medium","large","Input","forwardRef","_ref","ref","_ref2","_otherProps$value","_ref$size","size","_ref$type","type","_ref$label","label","_ref$error","error","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$helpText","helpText","_ref$className","className","_ref$nakedInput","nakedInput","_ref$contentSize","contentSize","_ref$required","required","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","rejectCharsRegex","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","value","_useState2","_slicedToArray","valueInternal","setValueInternal","id","useId","errorId","concat","helpTextId","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChange","e","_otherProps$onChange","target","call","isMaxLengthPresent","handleRegexChange","globalRegex","RegExp","replace","handleChange","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","_defineProperty","_objectSpread","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../src/components/Input.jsx"],"sourcesContent":["import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { replace } from \"ramda\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst Input = forwardRef(\n (\n {\n size = SIZES.medium,\n type = \"text\",\n label = \"\",\n error = \"\",\n suffix = null,\n prefix = null,\n disabled = false,\n helpText = \"\",\n className = \"\",\n nakedInput = false,\n contentSize = null,\n required = false,\n maxLength,\n unlimitedChars = false,\n labelProps,\n rejectCharsRegex,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(otherProps.value);\n const id = useId(otherProps.id);\n\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChange = e => {\n if (!otherProps.onChange || !otherProps.value) {\n setValueInternal(e.target.value);\n }\n otherProps.onChange?.(e);\n };\n\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n const handleRegexChange = e => {\n const globalRegex = new RegExp(rejectCharsRegex, \"g\");\n e.target.value = replace(globalRegex, \"\", e.target.value);\n onChange(e);\n };\n\n const handleChange = rejectCharsRegex ? handleRegexChange : onChange;\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n handleChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-input-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-input`}\n className={classnames(\"neeto-ui-input\", {\n \"neeto-ui-input--naked\": !!nakedInput,\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--small\": size === \"small\",\n \"neeto-ui-input--medium\": size === \"medium\",\n \"neeto-ui-input--large\": size === \"large\",\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <input\n aria-invalid={!!error}\n data-cy={`${hyphenize(label)}-input-field`}\n size={contentSize}\n aria-describedby={classnames({\n [errorId]: !!error,\n [helpTextId]: helpText,\n })}\n {...{\n disabled,\n id,\n ref,\n required,\n type,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n value,\n }}\n onBlur={handleOnBlur}\n onChange={handleChange}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n id={helpTextId}\n >\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n\nInput.propTypes = {\n /**\n * To specify a unique ID to the Input component.\n */\n id: PropTypes.string,\n /**\n * To specify the size of Input.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the type of Input field.\n */\n type: 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 a maximum character limit to the Input. Charater limit is visible only if the Input value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the text to be displayed above the Input.\n */\n label: PropTypes.string,\n /**\n * To specify the error message to be shown in the Input field.\n */\n error: PropTypes.string,\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 whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the text that appears below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To create an Input field without any borders.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the value to be passed as size attribute to the Input field.\n */\n contentSize: PropTypes.number,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify a regex to be matched against the user input. Any character that matches it\n * cannot be input by the user. It will also prevent such characters from being pasted into the input.\n */\n rejectCharsRegex: PropTypes.instanceOf(RegExp),\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Input;\n"],"names":["SIZES","small","medium","large","Input","forwardRef","_ref","ref","_ref2","_otherProps$value","_ref$size","size","_ref$type","type","_ref$label","label","_ref$error","error","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$helpText","helpText","_ref$className","className","_ref$nakedInput","nakedInput","_ref$contentSize","contentSize","_ref$required","required","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","rejectCharsRegex","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","value","_useState2","_slicedToArray","valueInternal","setValueInternal","id","useId","errorId","concat","helpTextId","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChange","e","_otherProps$onChange","target","call","isMaxLengthPresent","handleRegexChange","globalRegex","RegExp","replace","handleChange","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","_defineProperty","_objectSpread","displayName"],"mappings":"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"}
package/dist/Modal.js CHANGED
@@ -5,7 +5,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
5
5
  import React__default, { useState, useRef } from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { Close } from '@bigbinary/neeto-icons';
8
- import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-a6989e1a.js';
8
+ import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-65f6d80a.js';
9
9
  import Button from './Button.js';
10
10
  import 'react-router-dom';
11
11
  import 'qs';
@@ -20,9 +20,11 @@ import '@bigbinary/neeto-hotkeys';
20
20
  import './overlayManager.js';
21
21
  import '@babel/runtime/helpers/classCallCheck';
22
22
  import '@babel/runtime/helpers/createClass';
23
- import './index-951e004b.js';
23
+ import './index-6e82a862.js';
24
+ import '@babel/runtime/helpers/toConsumableArray';
24
25
  import 'dayjs';
25
26
  import 'dayjs/plugin/localeData';
27
+ import 'dayjs/plugin/timezone';
26
28
  import 'dayjs/plugin/utc';
27
29
  import 'dayjs/plugin/weekday';
28
30
  import 'dayjs/plugin/weekOfYear';
package/dist/Modal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../src/components/Modal/Body.jsx","../src/components/Modal/Footer.jsx","../src/components/Modal/Header.jsx","../src/components/Modal/MemoizedChildren.js","../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","MemoizedChildren","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../src/components/Modal/Body.jsx","../src/components/Modal/Footer.jsx","../src/components/Modal/Header.jsx","../src/components/Modal/MemoizedChildren.js","../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","MemoizedChildren","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
@@ -7,7 +7,7 @@ import React__default, { useRef, useEffect, forwardRef, useState } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { assoc, pluck, mergeLeft, isEmpty } from 'ramda';
9
9
  import { c as components, C as CreatableSelect } from './react-select-creatable.esm-ad71b0c0.js';
10
- import { h as hyphenize, n as noop } from './index-951e004b.js';
10
+ import { h as hyphenize, n as noop } from './index-6e82a862.js';
11
11
  import _toArray from '@babel/runtime/helpers/toArray';
12
12
  import { Close } from '@bigbinary/neeto-icons';
13
13
  import '@babel/runtime/helpers/esm/objectSpread2';
@@ -34,6 +34,7 @@ import '@babel/runtime/helpers/esm/typeof';
34
34
  import '@babel/runtime/helpers/esm/defineProperty';
35
35
  import 'dayjs';
36
36
  import 'dayjs/plugin/localeData';
37
+ import 'dayjs/plugin/timezone';
37
38
  import 'dayjs/plugin/utc';
38
39
  import 'dayjs/plugin/weekday';
39
40
  import 'dayjs/plugin/weekOfYear';
@@ -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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"}
@@ -6,7 +6,7 @@ import { useHistory } from 'react-router-dom';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@bigbinary/neeto-hotkeys';
8
8
  import './overlayManager.js';
9
- import { b as buildUrl } from './index-951e004b.js';
9
+ import { b as buildUrl } from './index-6e82a862.js';
10
10
  import { u as useQueryParams } from './useQueryParams-dcb34865.js';
11
11
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
12
12
  import '@babel/runtime/helpers/classCallCheck';
@@ -14,6 +14,7 @@ import '@babel/runtime/helpers/createClass';
14
14
  import '@babel/runtime/helpers/defineProperty';
15
15
  import 'dayjs';
16
16
  import 'dayjs/plugin/localeData';
17
+ import 'dayjs/plugin/timezone';
17
18
  import 'dayjs/plugin/utc';
18
19
  import 'dayjs/plugin/weekday';
19
20
  import 'dayjs/plugin/weekOfYear';
@@ -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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"}
package/dist/Pane.js CHANGED
@@ -5,7 +5,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
5
5
  import React__default, { useState, useRef, useEffect } from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { Close } from '@bigbinary/neeto-icons';
8
- import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-a6989e1a.js';
8
+ import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-65f6d80a.js';
9
9
  import Button from './Button.js';
10
10
  import 'react-router-dom';
11
11
  import 'qs';
@@ -19,9 +19,11 @@ import '@bigbinary/neeto-hotkeys';
19
19
  import './overlayManager.js';
20
20
  import '@babel/runtime/helpers/classCallCheck';
21
21
  import '@babel/runtime/helpers/createClass';
22
- import './index-951e004b.js';
22
+ import './index-6e82a862.js';
23
+ import '@babel/runtime/helpers/toConsumableArray';
23
24
  import 'dayjs';
24
25
  import 'dayjs/plugin/localeData';
26
+ import 'dayjs/plugin/timezone';
25
27
  import 'dayjs/plugin/utc';
26
28
  import 'dayjs/plugin/weekday';
27
29
  import 'dayjs/plugin/weekOfYear';
package/dist/Pane.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Pane.js","sources":["../src/components/Pane/Body.jsx","../src/components/Pane/constants.js","../src/components/Pane/Footer.jsx","../src/components/Pane/Header.jsx","../src/components/Pane/utils.js","../src/components/Pane/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, hasFooter = true }) => (\n <div\n data-cy=\"pane-body\"\n className={classnames(\n \"neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start\",\n {\n \"neeto-ui-pane__body--has-footer\": hasFooter,\n [className]: className,\n }\n )}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify if the Pane has a footer.\n * @default true\n */\n hasFooter: PropTypes.bool,\n /**\n * To specify className to be applied to the Pane Body container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","export const DEFAULT_PANE_HEADER_HEIGHT = 78;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className }) => (\n <div\n className={classnames(\n \"neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Pane Footer container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Header = ({ children, className }) => (\n <div\n className={classnames(\"neeto-ui-pane__header\", className)}\n data-cy=\"pane-header\"\n >\n {children}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * To specify className to be applied to the Pane Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\n\nexport const getHeaderHeight = paneWrapper => {\n const header = paneWrapper.current.querySelector(\".neeto-ui-pane__header\");\n\n return header ? header.offsetHeight : DEFAULT_PANE_HEADER_HEIGHT;\n};\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlay, useOverlayManager } from \"hooks\";\n\nimport Body from \"./Body\";\nimport { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport { getHeaderHeight } from \"./utils\";\n\nconst SIZES = { small: \"small\", large: \"large\" };\n\nconst Pane = ({\n size = SIZES.small,\n isOpen = false,\n onClose = () => {},\n children,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const paneWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(paneWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n overlayWrapper: paneWrapper,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n onClose,\n isOpen,\n initialFocusRef,\n finalFocusRef,\n hasTransitionCompleted,\n });\n\n useEffect(() => {\n if (!hasTransitionCompleted) return;\n const headerHeight = getHeaderHeight(paneWrapper);\n if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {\n paneWrapper.current.style.setProperty(\n \"--neeto-ui-pane-header-height\",\n `${headerHeight}px`\n );\n }\n }, [hasTransitionCompleted]);\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-pane\"\n in={isOpen}\n timeout={230}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"pane-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end\",\n backdropClassName\n )}\n >\n <div\n data-cy=\"pane-wrapper\"\n key=\"pane-wrapper\"\n ref={paneWrapper}\n className={classnames(\"neeto-ui-pane__wrapper\", {\n \"neeto-ui-pane__wrapper--small\": size === SIZES.small,\n \"neeto-ui-pane__wrapper--large\": size === SIZES.large,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-pane__close\"\n data-cy=\"pane-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleOverlayClose}\n />\n )}\n {hasTransitionCompleted && (\n <>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </>\n )}\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nPane.propTypes = {\n /**\n * To specify the size of the Pane.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Pane component is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the close button of Pane is clicked.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Pane component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classname to the Pane component.\n */\n className: PropTypes.string,\n /**\n * To specify whether the Pane component should close on esc key press.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Pane component should render close button.\n */\n closeButton: PropTypes.bool,\n /**\n * To specify the classname to be applied to the backdrop element.\n */\n backdropClassName: PropTypes.string,\n /**\n * To specify whether the Pane component should close on outside click.\n */\n closeOnOutsideClick: PropTypes.bool,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is opened.\n * If not specified, the first focusable element inside the Pane component will be focused.\n * If there are no focusable elements, the Pane component itself will be focused.\n */\n initialFocusRef: PropTypes.object,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is closed.\n * If not specified, the element which was focused when the Pane component was opened will be focused.\n */\n finalFocusRef: PropTypes.object,\n};\n\nPane.Header = Header;\nPane.Body = Body;\nPane.Footer = Footer;\n\nexport default Pane;\n"],"names":["Body","_ref","children","className","_ref$hasFooter","hasFooter","React","createElement","classnames","_defineProperty","DEFAULT_PANE_HEADER_HEIGHT","Footer","Header","getHeaderHeight","paneWrapper","header","current","querySelector","offsetHeight","SIZES","small","large","Pane","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","initialFocusRef","finalFocusRef","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","useEffect","headerHeight","style","setProperty","concat","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","Button","icon","Close","onClick","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Pane.js","sources":["../src/components/Pane/Body.jsx","../src/components/Pane/constants.js","../src/components/Pane/Footer.jsx","../src/components/Pane/Header.jsx","../src/components/Pane/utils.js","../src/components/Pane/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, hasFooter = true }) => (\n <div\n data-cy=\"pane-body\"\n className={classnames(\n \"neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start\",\n {\n \"neeto-ui-pane__body--has-footer\": hasFooter,\n [className]: className,\n }\n )}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify if the Pane has a footer.\n * @default true\n */\n hasFooter: PropTypes.bool,\n /**\n * To specify className to be applied to the Pane Body container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","export const DEFAULT_PANE_HEADER_HEIGHT = 78;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className }) => (\n <div\n className={classnames(\n \"neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Pane Footer container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Header = ({ children, className }) => (\n <div\n className={classnames(\"neeto-ui-pane__header\", className)}\n data-cy=\"pane-header\"\n >\n {children}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * To specify className to be applied to the Pane Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\n\nexport const getHeaderHeight = paneWrapper => {\n const header = paneWrapper.current.querySelector(\".neeto-ui-pane__header\");\n\n return header ? header.offsetHeight : DEFAULT_PANE_HEADER_HEIGHT;\n};\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlay, useOverlayManager } from \"hooks\";\n\nimport Body from \"./Body\";\nimport { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport { getHeaderHeight } from \"./utils\";\n\nconst SIZES = { small: \"small\", large: \"large\" };\n\nconst Pane = ({\n size = SIZES.small,\n isOpen = false,\n onClose = () => {},\n children,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const paneWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(paneWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n overlayWrapper: paneWrapper,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n onClose,\n isOpen,\n initialFocusRef,\n finalFocusRef,\n hasTransitionCompleted,\n });\n\n useEffect(() => {\n if (!hasTransitionCompleted) return;\n const headerHeight = getHeaderHeight(paneWrapper);\n if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {\n paneWrapper.current.style.setProperty(\n \"--neeto-ui-pane-header-height\",\n `${headerHeight}px`\n );\n }\n }, [hasTransitionCompleted]);\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-pane\"\n in={isOpen}\n timeout={230}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"pane-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end\",\n backdropClassName\n )}\n >\n <div\n data-cy=\"pane-wrapper\"\n key=\"pane-wrapper\"\n ref={paneWrapper}\n className={classnames(\"neeto-ui-pane__wrapper\", {\n \"neeto-ui-pane__wrapper--small\": size === SIZES.small,\n \"neeto-ui-pane__wrapper--large\": size === SIZES.large,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-pane__close\"\n data-cy=\"pane-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleOverlayClose}\n />\n )}\n {hasTransitionCompleted && (\n <>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </>\n )}\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nPane.propTypes = {\n /**\n * To specify the size of the Pane.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Pane component is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the close button of Pane is clicked.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Pane component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classname to the Pane component.\n */\n className: PropTypes.string,\n /**\n * To specify whether the Pane component should close on esc key press.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Pane component should render close button.\n */\n closeButton: PropTypes.bool,\n /**\n * To specify the classname to be applied to the backdrop element.\n */\n backdropClassName: PropTypes.string,\n /**\n * To specify whether the Pane component should close on outside click.\n */\n closeOnOutsideClick: PropTypes.bool,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is opened.\n * If not specified, the first focusable element inside the Pane component will be focused.\n * If there are no focusable elements, the Pane component itself will be focused.\n */\n initialFocusRef: PropTypes.object,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is closed.\n * If not specified, the element which was focused when the Pane component was opened will be focused.\n */\n finalFocusRef: PropTypes.object,\n};\n\nPane.Header = Header;\nPane.Body = Body;\nPane.Footer = Footer;\n\nexport default Pane;\n"],"names":["Body","_ref","children","className","_ref$hasFooter","hasFooter","React","createElement","classnames","_defineProperty","DEFAULT_PANE_HEADER_HEIGHT","Footer","Header","getHeaderHeight","paneWrapper","header","current","querySelector","offsetHeight","SIZES","small","large","Pane","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","initialFocusRef","finalFocusRef","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","useEffect","headerHeight","style","setProperty","concat","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","Button","icon","Close","onClick","Fragment"],"mappings":"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"}
package/dist/Radio.js CHANGED
@@ -9,7 +9,7 @@ import { u as useId } from './useId-c1d20bba.js';
9
9
  import 'react-router-dom';
10
10
  import '@bigbinary/neeto-hotkeys';
11
11
  import './overlayManager.js';
12
- import { h as hyphenize } from './index-951e004b.js';
12
+ import { h as hyphenize } from './index-6e82a862.js';
13
13
  import 'qs';
14
14
  import '@bigbinary/neeto-icons';
15
15
  import './Button.js';
@@ -21,8 +21,10 @@ import './Popover.js';
21
21
  import './Typography.js';
22
22
  import '@babel/runtime/helpers/classCallCheck';
23
23
  import '@babel/runtime/helpers/createClass';
24
+ import '@babel/runtime/helpers/toConsumableArray';
24
25
  import 'dayjs';
25
26
  import 'dayjs/plugin/localeData';
27
+ import 'dayjs/plugin/timezone';
26
28
  import 'dayjs/plugin/utc';
27
29
  import 'dayjs/plugin/weekday';
28
30
  import 'dayjs/plugin/weekOfYear';