@bigbinary/neetoui 8.3.54 → 8.3.55

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 (142) hide show
  1. package/CHANGELOG.md +21 -21
  2. package/dist/ActionDropdown.js +0 -1
  3. package/dist/ActionDropdown.js.map +1 -1
  4. package/dist/Alert.js +6 -6
  5. package/dist/Alert.js.map +1 -1
  6. package/dist/Avatar.js +6 -10
  7. package/dist/Avatar.js.map +1 -1
  8. package/dist/Checkbox.js +4 -4
  9. package/dist/Checkbox.js.map +1 -1
  10. package/dist/ColorPicker.js +3 -4
  11. package/dist/ColorPicker.js.map +1 -1
  12. package/dist/DatePicker.js +3 -3
  13. package/dist/Dropdown.js +2 -2
  14. package/dist/Dropdown.js.map +1 -1
  15. package/dist/Input.js +10 -10
  16. package/dist/Input.js.map +1 -1
  17. package/dist/Label.js +1 -4
  18. package/dist/Label.js.map +1 -1
  19. package/dist/Modal.js +9 -10
  20. package/dist/Modal.js.map +1 -1
  21. package/dist/MultiEmailInput.js +11 -11
  22. package/dist/MultiEmailInput.js.map +1 -1
  23. package/dist/NoData.js +5 -7
  24. package/dist/NoData.js.map +1 -1
  25. package/dist/Pane.js +5 -6
  26. package/dist/Pane.js.map +1 -1
  27. package/dist/ProgressBar.js +1 -1
  28. package/dist/ProgressBar.js.map +1 -1
  29. package/dist/Radio.js +6 -6
  30. package/dist/Radio.js.map +1 -1
  31. package/dist/Select.js +19 -24
  32. package/dist/Select.js.map +1 -1
  33. package/dist/Sidebar.js +10 -11
  34. package/dist/Sidebar.js.map +1 -1
  35. package/dist/Slider.js +3 -3
  36. package/dist/Slider.js.map +1 -1
  37. package/dist/Spinner.js +1 -2
  38. package/dist/Spinner.js.map +1 -1
  39. package/dist/Stepper.js +1 -1
  40. package/dist/Stepper.js.map +1 -1
  41. package/dist/Switch.js +5 -7
  42. package/dist/Switch.js.map +1 -1
  43. package/dist/Tab.js +3 -4
  44. package/dist/Tab.js.map +1 -1
  45. package/dist/Table.js +4 -4
  46. package/dist/Table.js.map +1 -1
  47. package/dist/Tag.js +1 -3
  48. package/dist/Tag.js.map +1 -1
  49. package/dist/{Textarea-CEwODEM3.js → Textarea-DucQtmjX.js} +6 -6
  50. package/dist/Textarea-DucQtmjX.js.map +1 -0
  51. package/dist/Textarea.js +1 -1
  52. package/dist/TimePicker.js +3 -3
  53. package/dist/Toastr.js +3 -8
  54. package/dist/Toastr.js.map +1 -1
  55. package/dist/Tooltip.js +1 -1
  56. package/dist/Tooltip.js.map +1 -1
  57. package/dist/TreeSelect.js +1 -1
  58. package/dist/TreeSelect.js.map +1 -1
  59. package/dist/cjs/ActionDropdown.js +0 -1
  60. package/dist/cjs/ActionDropdown.js.map +1 -1
  61. package/dist/cjs/Alert.js +6 -6
  62. package/dist/cjs/Alert.js.map +1 -1
  63. package/dist/cjs/Avatar.js +5 -9
  64. package/dist/cjs/Avatar.js.map +1 -1
  65. package/dist/cjs/Checkbox.js +4 -4
  66. package/dist/cjs/Checkbox.js.map +1 -1
  67. package/dist/cjs/ColorPicker.js +3 -4
  68. package/dist/cjs/ColorPicker.js.map +1 -1
  69. package/dist/cjs/DatePicker.js +3 -3
  70. package/dist/cjs/Dropdown.js +2 -2
  71. package/dist/cjs/Dropdown.js.map +1 -1
  72. package/dist/cjs/Input.js +10 -10
  73. package/dist/cjs/Input.js.map +1 -1
  74. package/dist/cjs/Label.js +1 -4
  75. package/dist/cjs/Label.js.map +1 -1
  76. package/dist/cjs/Modal.js +9 -10
  77. package/dist/cjs/Modal.js.map +1 -1
  78. package/dist/cjs/MultiEmailInput.js +11 -11
  79. package/dist/cjs/MultiEmailInput.js.map +1 -1
  80. package/dist/cjs/NoData.js +5 -7
  81. package/dist/cjs/NoData.js.map +1 -1
  82. package/dist/cjs/Pane.js +5 -6
  83. package/dist/cjs/Pane.js.map +1 -1
  84. package/dist/cjs/ProgressBar.js +1 -1
  85. package/dist/cjs/ProgressBar.js.map +1 -1
  86. package/dist/cjs/Radio.js +6 -6
  87. package/dist/cjs/Radio.js.map +1 -1
  88. package/dist/cjs/Select.js +19 -24
  89. package/dist/cjs/Select.js.map +1 -1
  90. package/dist/cjs/Sidebar.js +10 -11
  91. package/dist/cjs/Sidebar.js.map +1 -1
  92. package/dist/cjs/Slider.js +3 -3
  93. package/dist/cjs/Slider.js.map +1 -1
  94. package/dist/cjs/Spinner.js +1 -2
  95. package/dist/cjs/Spinner.js.map +1 -1
  96. package/dist/cjs/Stepper.js +1 -1
  97. package/dist/cjs/Stepper.js.map +1 -1
  98. package/dist/cjs/Switch.js +5 -7
  99. package/dist/cjs/Switch.js.map +1 -1
  100. package/dist/cjs/Tab.js +3 -4
  101. package/dist/cjs/Tab.js.map +1 -1
  102. package/dist/cjs/Table.js +4 -4
  103. package/dist/cjs/Table.js.map +1 -1
  104. package/dist/cjs/Tag.js +1 -3
  105. package/dist/cjs/Tag.js.map +1 -1
  106. package/dist/cjs/{Textarea-CdPvAT3A.js → Textarea-BxE7T1u3.js} +6 -6
  107. package/dist/cjs/Textarea-BxE7T1u3.js.map +1 -0
  108. package/dist/cjs/Textarea.js +1 -1
  109. package/dist/cjs/TimePicker.js +3 -3
  110. package/dist/cjs/Toastr.js +3 -8
  111. package/dist/cjs/Toastr.js.map +1 -1
  112. package/dist/cjs/Tooltip.js +1 -1
  113. package/dist/cjs/Tooltip.js.map +1 -1
  114. package/dist/cjs/TreeSelect.js +1 -1
  115. package/dist/cjs/TreeSelect.js.map +1 -1
  116. package/dist/cjs/formik/ActionBlock.js +2 -4
  117. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  118. package/dist/cjs/formik/BlockNavigation.js +6 -6
  119. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  120. package/dist/cjs/formik/Textarea.js +1 -1
  121. package/dist/cjs/formik/index.js +2 -2
  122. package/dist/cjs/{index-ouVGQMJ2.js → index-BGsAR8rN.js} +14 -15
  123. package/dist/cjs/index-BGsAR8rN.js.map +1 -0
  124. package/dist/cjs/index.js +3 -3
  125. package/dist/cjs/{useOverlayManager-BWAg7Jhg.js → useOverlayManager-BMNCjew1.js} +3 -4
  126. package/dist/cjs/{useOverlayManager-BWAg7Jhg.js.map → useOverlayManager-BMNCjew1.js.map} +1 -1
  127. package/dist/formik/ActionBlock.js +2 -4
  128. package/dist/formik/ActionBlock.js.map +1 -1
  129. package/dist/formik/BlockNavigation.js +6 -6
  130. package/dist/formik/BlockNavigation.js.map +1 -1
  131. package/dist/formik/Textarea.js +1 -1
  132. package/dist/formik/index.js +2 -2
  133. package/dist/{index-Ui8-igXs.js → index-Dlo3HdFv.js} +14 -15
  134. package/dist/index-Dlo3HdFv.js.map +1 -0
  135. package/dist/index.js +3 -3
  136. package/dist/{useOverlayManager-DGTN4LZe.js → useOverlayManager-Bn2Stdmg.js} +3 -4
  137. package/dist/{useOverlayManager-DGTN4LZe.js.map → useOverlayManager-Bn2Stdmg.js.map} +1 -1
  138. package/package.json +1 -1
  139. package/dist/Textarea-CEwODEM3.js.map +0 -1
  140. package/dist/cjs/Textarea-CdPvAT3A.js.map +0 -1
  141. package/dist/cjs/index-ouVGQMJ2.js.map +0 -1
  142. package/dist/index-Ui8-igXs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../src/components/Input/utils.js","../../src/components/Input/index.jsx"],"sourcesContent":["import { replace } from \"ramda\";\n\nconst toFixed = (numStr, precision) => {\n const num = Number(numStr);\n if (Number.isNaN(num)) return numStr;\n\n return num.toFixed(precision);\n};\n\nconst isValidNumberString = numStr => {\n if (typeof numStr !== \"string\") return false;\n\n return !Number.isNaN(Number(numStr.trim()));\n};\n\nexport const formatWithPrecision = (value, precision) => {\n if (precision < 0 || !value) return value;\n\n const str = value.toString();\n\n if (isValidNumberString(str)) return toFixed(str, precision);\n\n return str;\n};\n\nexport const enforceDecimalPrecision = (value, precision) => {\n if (precision < 0 || !value) return value;\n\n const valueStr = value.toString();\n\n if (precision === 0) return valueStr.split(\".\")[0];\n\n const regex = new RegExp(`^\\\\d*\\\\.?\\\\d{0,${precision}}$`);\n if (regex.test(valueStr)) return value;\n\n const parts = valueStr.split(\".\");\n if (parts.length === 1) return parts[0];\n\n const [integerPart, decimalPart] = parts;\n\n return `${integerPart}.${decimalPart.substring(0, precision)}`;\n};\n\nexport const formatWithRejectCharsRegex = (value, rejectCharsRegex) => {\n if (!rejectCharsRegex) return value;\n\n const globalRegex = new RegExp(rejectCharsRegex, \"g\");\n\n return replace(globalRegex, \"\", value);\n};\n\nexport const getTrimmedValue = (value, disableTrimOnBlur) => {\n if (disableTrimOnBlur || typeof value !== \"string\") return value;\n\n return value.trim();\n};\n\nexport const preserveCursor = (e, updateValueFn) => {\n const input = e.target;\n const prevCursor = input.selectionStart;\n const prevValue = input.value;\n\n updateValueFn();\n\n const lengthDiff = input.value.length - prevValue.length;\n const newCursor = Math.max(0, prevCursor + lengthDiff);\n\n requestAnimationFrame(() => {\n if (document.activeElement !== input) return;\n\n if (input.type === \"number\") return;\n\n input.setSelectionRange(newCursor, newCursor);\n });\n};\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { mergeDeepLeft } from \"ramda\";\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport {\n enforceDecimalPrecision,\n formatWithPrecision,\n formatWithRejectCharsRegex,\n getTrimmedValue,\n preserveCursor,\n} 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 dataCy = \"\",\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 precision = -1,\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 =\n formatWithPrecision(otherProps.value, precision) ?? 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 handleChange = e => {\n if (type === \"file\") {\n onChange(e);\n\n return;\n }\n\n let formattedValue = formatWithRejectCharsRegex(\n e.target.value,\n rejectCharsRegex\n );\n\n formattedValue = enforceDecimalPrecision(formattedValue, precision);\n\n if (formattedValue !== e.target.value) {\n preserveCursor(e, () =>\n mergeDeepLeft({ target: { value: formattedValue } }, e)\n );\n } else {\n onChange(e);\n }\n };\n\n const handleOnBlur = e => {\n if (type === \"file\") {\n onBlur?.(e);\n\n return;\n }\n\n const trimmedValue = getTrimmedValue(value, disableTrimOnBlur);\n const formattedValue = formatWithPrecision(trimmedValue, precision);\n\n if (formattedValue !== value) {\n e.target.value = formattedValue;\n handleChange(e);\n }\n\n onBlur?.(e);\n };\n\n const handleOnWheel = e => {\n if (type === \"number\") e.target.blur();\n };\n\n const dataCyLabel =\n typeof label === \"string\" ? hyphenize(label) : hyphenize(dataCy);\n\n return (\n <div\n className={classnames([\"neeto-ui-input__wrapper\", className])}\n data-cy=\"nui-input-wrapper\"\n >\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${dataCyLabel}-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={`${dataCyLabel}-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={`${dataCyLabel}-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 onWheel={handleOnWheel}\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={`${dataCyLabel}-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={`${dataCyLabel}-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 how many decimal places to show in the input.\n *\n * For example, if precision is 2:\n * 10 will be shown as \"10.00\"\n * 10.1 will be shown as \"10.10\"\n * 9.758 will be rounded and shown as \"9.76\"\n */\n precision: PropTypes.number,\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":["toFixed","numStr","precision","num","Number","isNaN","isValidNumberString","trim","formatWithPrecision","value","str","toString","enforceDecimalPrecision","valueStr","split","regex","RegExp","concat","test","parts","length","_parts","_slicedToArray","integerPart","decimalPart","substring","formatWithRejectCharsRegex","rejectCharsRegex","globalRegex","replace","getTrimmedValue","disableTrimOnBlur","preserveCursor","e","updateValueFn","input","target","prevCursor","selectionStart","prevValue","lengthDiff","newCursor","Math","max","requestAnimationFrame","document","activeElement","type","setSelectionRange","SIZES","small","medium","Input","forwardRef","_ref","ref","_ref2","_formatWithPrecision","_ref$size","size","_ref$type","_ref$label","label","_ref$dataCy","dataCy","_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","onBlur","_ref$disableTrimOnBlu","_ref$precision","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","valueInternal","setValueInternal","id","useId","errorId","helpTextId","valueLength","isCharacterLimitVisible","maxLengthError","onChange","_otherProps$onChange","call","isMaxLengthPresent","handleChange","formattedValue","mergeDeepLeft","handleOnBlur","trimmedValue","handleOnWheel","blur","dataCyLabel","hyphenize","_jsxs","classnames","children","_jsx","Label","_objectSpread","htmlFor","_defineProperty","onWheel","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../src/components/Input/utils.js","../../src/components/Input/index.jsx"],"sourcesContent":["import { replace } from \"ramda\";\n\nconst toFixed = (numStr, precision) => {\n const num = Number(numStr);\n if (Number.isNaN(num)) return numStr;\n\n return num.toFixed(precision);\n};\n\nconst isValidNumberString = numStr => {\n if (typeof numStr !== \"string\") return false;\n\n return !Number.isNaN(Number(numStr.trim()));\n};\n\nexport const formatWithPrecision = (value, precision) => {\n if (precision < 0 || !value) return value;\n\n const str = value.toString();\n\n if (isValidNumberString(str)) return toFixed(str, precision);\n\n return str;\n};\n\nexport const enforceDecimalPrecision = (value, precision) => {\n if (precision < 0 || !value) return value;\n\n const valueStr = value.toString();\n\n if (precision === 0) return valueStr.split(\".\")[0];\n\n const regex = new RegExp(`^\\\\d*\\\\.?\\\\d{0,${precision}}$`);\n if (regex.test(valueStr)) return value;\n\n const parts = valueStr.split(\".\");\n if (parts.length === 1) return parts[0];\n\n const [integerPart, decimalPart] = parts;\n\n return `${integerPart}.${decimalPart.substring(0, precision)}`;\n};\n\nexport const formatWithRejectCharsRegex = (value, rejectCharsRegex) => {\n if (!rejectCharsRegex) return value;\n\n const globalRegex = new RegExp(rejectCharsRegex, \"g\");\n\n return replace(globalRegex, \"\", value);\n};\n\nexport const getTrimmedValue = (value, disableTrimOnBlur) => {\n if (disableTrimOnBlur || typeof value !== \"string\") return value;\n\n return value.trim();\n};\n\nexport const preserveCursor = (e, updateValueFn) => {\n const input = e.target;\n const prevCursor = input.selectionStart;\n const prevValue = input.value;\n\n updateValueFn();\n\n const lengthDiff = input.value.length - prevValue.length;\n const newCursor = Math.max(0, prevCursor + lengthDiff);\n\n requestAnimationFrame(() => {\n if (document.activeElement !== input) return;\n\n if (input.type === \"number\") return;\n\n input.setSelectionRange(newCursor, newCursor);\n });\n};\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { mergeDeepLeft } from \"ramda\";\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport {\n enforceDecimalPrecision,\n formatWithPrecision,\n formatWithRejectCharsRegex,\n getTrimmedValue,\n preserveCursor,\n} 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 dataTestid = \"\",\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 precision = -1,\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 =\n formatWithPrecision(otherProps.value, precision) ?? 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 handleChange = e => {\n if (type === \"file\") {\n onChange(e);\n\n return;\n }\n\n let formattedValue = formatWithRejectCharsRegex(\n e.target.value,\n rejectCharsRegex\n );\n\n formattedValue = enforceDecimalPrecision(formattedValue, precision);\n\n if (formattedValue !== e.target.value) {\n preserveCursor(e, () =>\n mergeDeepLeft({ target: { value: formattedValue } }, e)\n );\n } else {\n onChange(e);\n }\n };\n\n const handleOnBlur = e => {\n if (type === \"file\") {\n onBlur?.(e);\n\n return;\n }\n\n const trimmedValue = getTrimmedValue(value, disableTrimOnBlur);\n const formattedValue = formatWithPrecision(trimmedValue, precision);\n\n if (formattedValue !== value) {\n e.target.value = formattedValue;\n handleChange(e);\n }\n\n onBlur?.(e);\n };\n\n const handleOnWheel = e => {\n if (type === \"number\") e.target.blur();\n };\n\n const dataTestIdLabel =\n typeof label === \"string\" ? hyphenize(label) : hyphenize(dataTestid);\n\n return (\n <div\n className={classnames([\"neeto-ui-input__wrapper\", className])}\n data-testid=\"nui-input-wrapper\"\n >\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-testid={`${dataTestIdLabel}-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-testid={`${dataTestIdLabel}-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-testid={`${dataTestIdLabel}-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 onWheel={handleOnWheel}\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-testid={`${dataTestIdLabel}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-testid={`${dataTestIdLabel}-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 how many decimal places to show in the input.\n *\n * For example, if precision is 2:\n * 10 will be shown as \"10.00\"\n * 10.1 will be shown as \"10.10\"\n * 9.758 will be rounded and shown as \"9.76\"\n */\n precision: PropTypes.number,\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":["toFixed","numStr","precision","num","Number","isNaN","isValidNumberString","trim","formatWithPrecision","value","str","toString","enforceDecimalPrecision","valueStr","split","regex","RegExp","concat","test","parts","length","_parts","_slicedToArray","integerPart","decimalPart","substring","formatWithRejectCharsRegex","rejectCharsRegex","globalRegex","replace","getTrimmedValue","disableTrimOnBlur","preserveCursor","e","updateValueFn","input","target","prevCursor","selectionStart","prevValue","lengthDiff","newCursor","Math","max","requestAnimationFrame","document","activeElement","type","setSelectionRange","SIZES","small","medium","Input","forwardRef","_ref","ref","_ref2","_formatWithPrecision","_ref$size","size","_ref$type","_ref$label","label","_ref$dataTestid","dataTestid","_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","onBlur","_ref$disableTrimOnBlu","_ref$precision","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","valueInternal","setValueInternal","id","useId","errorId","helpTextId","valueLength","isCharacterLimitVisible","maxLengthError","onChange","_otherProps$onChange","call","isMaxLengthPresent","handleChange","formattedValue","mergeDeepLeft","handleOnBlur","trimmedValue","handleOnWheel","blur","dataTestIdLabel","hyphenize","_jsxs","classnames","children","_jsx","Label","_objectSpread","htmlFor","_defineProperty","onWheel","displayName"],"mappings":"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"}
package/dist/cjs/Label.js CHANGED
@@ -66,11 +66,9 @@ var HelpContent = function HelpContent(_ref) {
66
66
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
67
67
  className: "neeto-ui-flex neeto-ui-flex-col",
68
68
  children: [title && /*#__PURE__*/jsxRuntime.jsx(Popover.Title, {
69
- "data-cy": "help-popover-title",
70
69
  "data-testid": "help-popover-title",
71
70
  children: title
72
71
  }), typeof description === "string" ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
73
- "data-cy": "help-popover-description",
74
72
  "data-testid": "help-popover-description",
75
73
  lineHeight: "normal",
76
74
  style: "body2",
@@ -78,10 +76,9 @@ var HelpContent = function HelpContent(_ref) {
78
76
  children: description
79
77
  }) : description, helpLinkProps && /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$1(_objectSpread$1({
80
78
  className: "neeto-ui-mt-3",
81
- "data-cy": "help-popover-link-button",
79
+ "data-testid": "help-popover-link-button",
82
80
  size: "small"
83
81
  }, helpLinkProps), {}, {
84
- "data-testid": "help-popover-link-button",
85
82
  style: "link",
86
83
  target: "_blank"
87
84
  }))]
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sources":["../../src/components/Label/HelpIcon.jsx","../../src/components/Label/HelpContent.jsx","../../src/components/Label/index.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Help } from \"neetoicons\";\n\nconst HelpIcon = forwardRef(\n ({ onClick, className, icon, ...otherProps }, ref) => {\n const HelpIcon = icon || Help;\n\n return (\n <span\n {...{ onClick, ref }}\n className={classNames(\"neeto-ui-label__help-icon-wrap\", {\n [className]: className,\n })}\n >\n <HelpIcon size={16} {...otherProps} />\n </span>\n );\n }\n);\n\nHelpIcon.displayName = \"HelpIcon\";\n\nexport default HelpIcon;\n","import React, { useRef } from \"react\";\n\nimport HelpIcon from \"./HelpIcon\";\n\nimport Button from \"../Button\";\nimport Popover from \"../Popover\";\nimport Tooltip from \"../Tooltip\";\nimport Typography from \"../Typography\";\n\nconst HelpContent = ({ helpIconProps }) => {\n const popoverReferenceElement = useRef();\n\n const { tooltipProps, popoverProps, ...otherHelpIconProps } =\n helpIconProps || {};\n\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps}>\n <HelpIcon {...otherHelpIconProps} />\n </Tooltip>\n );\n }\n\n if (popoverProps) {\n const { title, description, helpLinkProps, ...otherPopoverProps } =\n popoverProps;\n\n return (\n <>\n <HelpIcon {...otherHelpIconProps} ref={popoverReferenceElement} />\n <Popover reference={popoverReferenceElement} {...otherPopoverProps}>\n <div className=\"neeto-ui-flex neeto-ui-flex-col\">\n {title && (\n <Popover.Title\n data-cy=\"help-popover-title\"\n data-testid=\"help-popover-title\"\n >\n {title}\n </Popover.Title>\n )}\n {typeof description === \"string\" ? (\n <Typography\n data-cy=\"help-popover-description\"\n data-testid=\"help-popover-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps && (\n <Button\n className=\"neeto-ui-mt-3\"\n data-cy=\"help-popover-link-button\"\n size=\"small\"\n {...helpLinkProps}\n data-testid=\"help-popover-link-button\"\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </div>\n </Popover>\n </>\n );\n }\n\n return <HelpIcon {...otherHelpIconProps} />;\n};\n\nexport default HelpContent;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport HelpContent from \"./HelpContent\";\n\nimport Button from \"../Button\";\nimport Tooltip from \"../Tooltip\";\n\nconst Label = ({\n children,\n className = \"\",\n required = false,\n helpIconProps = null,\n ...props\n}) => (\n <label\n className={classnames(\n \"neeto-ui-label neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span aria-hidden>*</span>}\n {helpIconProps && <HelpContent {...{ helpIconProps }} />}\n </label>\n);\n\nLabel.propTypes = {\n /**\n * To specify the content to be rendered inside the Label.\n */\n children: PropTypes.node,\n /**\n * Provide external classnames to Label component.\n */\n className: PropTypes.string,\n /**\n * To specify whether to show the required asterisk.\n */\n required: PropTypes.bool,\n /**\n * Props for the help icon\n */\n helpIconProps: PropTypes.shape({\n onClick: PropTypes.func,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n tooltipProps: PropTypes.shape({ ...Tooltip.propTypes }),\n popoverProps: PropTypes.shape({\n title: PropTypes.node,\n description: PropTypes.node,\n helpLinkProps: PropTypes.shape({ ...Button.propTypes }),\n }),\n className: PropTypes.string,\n }),\n};\n\nexport default Label;\n"],"names":["HelpIcon","forwardRef","_ref","ref","onClick","className","icon","otherProps","_objectWithoutProperties","_excluded","Help","_jsx","classNames","_defineProperty","children","_objectSpread","size","displayName","HelpContent","helpIconProps","popoverReferenceElement","useRef","_ref2","tooltipProps","popoverProps","otherHelpIconProps","Tooltip","title","description","helpLinkProps","otherPopoverProps","_excluded2","_jsxs","_Fragment","Popover","reference","Title","Typography","lineHeight","style","weight","Button","target","Label","_ref$className","_ref$required","required","_ref$helpIconProps","props","classnames"],"mappings":"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"}
1
+ {"version":3,"file":"Label.js","sources":["../../src/components/Label/HelpIcon.jsx","../../src/components/Label/HelpContent.jsx","../../src/components/Label/index.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Help } from \"neetoicons\";\n\nconst HelpIcon = forwardRef(\n ({ onClick, className, icon, ...otherProps }, ref) => {\n const HelpIcon = icon || Help;\n\n return (\n <span\n {...{ onClick, ref }}\n className={classNames(\"neeto-ui-label__help-icon-wrap\", {\n [className]: className,\n })}\n >\n <HelpIcon size={16} {...otherProps} />\n </span>\n );\n }\n);\n\nHelpIcon.displayName = \"HelpIcon\";\n\nexport default HelpIcon;\n","import React, { useRef } from \"react\";\n\nimport HelpIcon from \"./HelpIcon\";\n\nimport Button from \"../Button\";\nimport Popover from \"../Popover\";\nimport Tooltip from \"../Tooltip\";\nimport Typography from \"../Typography\";\n\nconst HelpContent = ({ helpIconProps }) => {\n const popoverReferenceElement = useRef();\n\n const { tooltipProps, popoverProps, ...otherHelpIconProps } =\n helpIconProps || {};\n\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps}>\n <HelpIcon {...otherHelpIconProps} />\n </Tooltip>\n );\n }\n\n if (popoverProps) {\n const { title, description, helpLinkProps, ...otherPopoverProps } =\n popoverProps;\n\n return (\n <>\n <HelpIcon {...otherHelpIconProps} ref={popoverReferenceElement} />\n <Popover reference={popoverReferenceElement} {...otherPopoverProps}>\n <div className=\"neeto-ui-flex neeto-ui-flex-col\">\n {title && (\n <Popover.Title data-testid=\"help-popover-title\">\n {title}\n </Popover.Title>\n )}\n {typeof description === \"string\" ? (\n <Typography\n data-testid=\"help-popover-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps && (\n <Button\n className=\"neeto-ui-mt-3\"\n data-testid=\"help-popover-link-button\"\n size=\"small\"\n {...helpLinkProps}\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </div>\n </Popover>\n </>\n );\n }\n\n return <HelpIcon {...otherHelpIconProps} />;\n};\n\nexport default HelpContent;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport HelpContent from \"./HelpContent\";\n\nimport Button from \"../Button\";\nimport Tooltip from \"../Tooltip\";\n\nconst Label = ({\n children,\n className = \"\",\n required = false,\n helpIconProps = null,\n ...props\n}) => (\n <label\n className={classnames(\n \"neeto-ui-label neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span aria-hidden>*</span>}\n {helpIconProps && <HelpContent {...{ helpIconProps }} />}\n </label>\n);\n\nLabel.propTypes = {\n /**\n * To specify the content to be rendered inside the Label.\n */\n children: PropTypes.node,\n /**\n * Provide external classnames to Label component.\n */\n className: PropTypes.string,\n /**\n * To specify whether to show the required asterisk.\n */\n required: PropTypes.bool,\n /**\n * Props for the help icon\n */\n helpIconProps: PropTypes.shape({\n onClick: PropTypes.func,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n tooltipProps: PropTypes.shape({ ...Tooltip.propTypes }),\n popoverProps: PropTypes.shape({\n title: PropTypes.node,\n description: PropTypes.node,\n helpLinkProps: PropTypes.shape({ ...Button.propTypes }),\n }),\n className: PropTypes.string,\n }),\n};\n\nexport default Label;\n"],"names":["HelpIcon","forwardRef","_ref","ref","onClick","className","icon","otherProps","_objectWithoutProperties","_excluded","Help","_jsx","classNames","_defineProperty","children","_objectSpread","size","displayName","HelpContent","helpIconProps","popoverReferenceElement","useRef","_ref2","tooltipProps","popoverProps","otherHelpIconProps","Tooltip","title","description","helpLinkProps","otherPopoverProps","_excluded2","_jsxs","_Fragment","Popover","reference","Title","Typography","lineHeight","style","weight","Button","target","Label","_ref$className","_ref$required","required","_ref$helpIconProps","props","classnames"],"mappings":"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"}
package/dist/cjs/Modal.js CHANGED
@@ -6,7 +6,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
6
6
  var React = require('react');
7
7
  var classnames = require('classnames');
8
8
  var Close = require('@bigbinary/neeto-icons/Close');
9
- var useOverlayManager = require('./useOverlayManager-BWAg7Jhg.js');
9
+ var useOverlayManager = require('./useOverlayManager-BMNCjew1.js');
10
10
  var Button = require('./Button.js');
11
11
  require('react-router-dom');
12
12
  require('qs');
@@ -39,10 +39,10 @@ require('tippy.js');
39
39
  var Body = function Body(_ref) {
40
40
  var children = _ref.children,
41
41
  className = _ref.className,
42
- dataCy = _ref.dataCy;
42
+ dataTestid = _ref.dataTestid;
43
43
  return /*#__PURE__*/jsxRuntime.jsx("div", {
44
44
  className: classnames("neeto-ui-modal__body", className),
45
- "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-body",
45
+ "data-testid": dataTestid !== null && dataTestid !== void 0 ? dataTestid : "modal-body",
46
46
  children: children
47
47
  });
48
48
  };
@@ -50,10 +50,10 @@ var Body = function Body(_ref) {
50
50
  var Footer = function Footer(_ref) {
51
51
  var children = _ref.children,
52
52
  className = _ref.className,
53
- dataCy = _ref.dataCy;
53
+ dataTestid = _ref.dataTestid;
54
54
  return /*#__PURE__*/jsxRuntime.jsx("div", {
55
55
  className: classnames("neeto-ui-modal__footer", className),
56
- "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-footer",
56
+ "data-testid": dataTestid !== null && dataTestid !== void 0 ? dataTestid : "modal-footer",
57
57
  children: children
58
58
  });
59
59
  };
@@ -63,13 +63,13 @@ var Header = function Header(_ref) {
63
63
  description = _ref$description === void 0 ? "" : _ref$description,
64
64
  children = _ref.children,
65
65
  className = _ref.className,
66
- dataCy = _ref.dataCy;
66
+ dataTestid = _ref.dataTestid;
67
67
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
68
68
  className: classnames("neeto-ui-modal__header", className),
69
- "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-header",
69
+ "data-testid": dataTestid !== null && dataTestid !== void 0 ? dataTestid : "modal-header",
70
70
  children: [children, description && /*#__PURE__*/jsxRuntime.jsx("div", {
71
71
  className: "neeto-ui-modal__header-desc",
72
- "data-cy": "modal-header-desc",
72
+ "data-testid": "modal-header-desc",
73
73
  children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
74
74
  lineHeight: "normal",
75
75
  style: "body2",
@@ -178,8 +178,7 @@ var Modal = function Modal(_ref) {
178
178
  children: [closeButton && /*#__PURE__*/jsxRuntime.jsx(Button, {
179
179
  "aria-label": "Close",
180
180
  className: "neeto-ui-modal__close",
181
- "data-cy": "modal-close-button",
182
- "data-testid": "close-button",
181
+ "data-testid": "modal-close-button",
183
182
  icon: Close,
184
183
  size: isFullScreenModal ? "large" : "small",
185
184
  style: isFullScreenModal ? "secondary" : "text",
@@ -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","_jsx","classnames","Footer","Header","_ref$description","description","_jsxs","Typography","lineHeight","style","MemoizedChildren","React","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","ref","_objectSpread","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, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-testid={dataTestid ?? \"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, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-testid={dataTestid ?? \"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, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-testid={dataTestid ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div\n className=\"neeto-ui-modal__header-desc\"\n data-testid=\"modal-header-desc\"\n >\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-testid=\"modal-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","dataTestid","_jsx","classnames","Footer","Header","_ref$description","description","_jsxs","Typography","lineHeight","style","MemoizedChildren","React","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","ref","_objectSpread","role","_defineProperty","Button","icon","Close","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;AAAA,EAAA,oBAC7CC,cAAA,CAAA,KAAA,EAAA;AACEF,IAAAA,SAAS,EAAEG,UAAU,CAAC,sBAAsB,EAAEH,SAAS,CAAE;AACzD,IAAA,aAAA,EAAaC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAI,YAAa;AAAAF,IAAAA,QAAA,EAEvCA;AAAQ,GACN,CAAC;AAAA,CACP;;ACPD,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAAN,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;AAAA,EAAA,oBAC/CC,cAAA,CAAA,KAAA,EAAA;AACEF,IAAAA,SAAS,EAAEG,UAAU,CAAC,wBAAwB,EAAEH,SAAS,CAAE;AAC3D,IAAA,aAAA,EAAaC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAI,cAAe;AAAAF,IAAAA,QAAA,EAEzCA;AAAQ,GACN,CAAC;AAAA,CACP;;ACLD,IAAMM,MAAM,GAAG,SAATA,MAAMA,CAAAP,IAAA,EAAA;AAAA,EAAA,IAAAQ,gBAAA,GAAAR,IAAA,CAAMS,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAEP,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;AAAA,EAAA,oBACjEO,eAAA,CAAA,KAAA,EAAA;AACER,IAAAA,SAAS,EAAEG,UAAU,CAAC,wBAAwB,EAAEH,SAAS,CAAE;AAC3D,IAAA,aAAA,EAAaC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAI,cAAe;AAAAF,IAAAA,QAAA,EAAA,CAEzCA,QAAQ,EACRQ,WAAW,iBACVL,cAAA,CAAA,KAAA,EAAA;AACEF,MAAAA,SAAS,EAAC,6BAA6B;AACvC,MAAA,aAAA,EAAY,mBAAmB;MAAAD,QAAA,eAE/BG,cAAA,CAACO,UAAU,EAAA;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,OAAO;AAAAZ,QAAAA,QAAA,EAC1CQ;OACS;AAAC,KACV,CACN;AAAA,GACE,CAAC;AAAA,CACP;;ACtBD,IAAMK,gBAAgB,gBAAGC,KAAK,CAACC,IAAI,CACjC,UAAAhB,IAAA,EAAA;AAAA,EAAA,IAAGC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAA,EAAA,OAAOA,QAAQ;AAAA,CAAA,EAC1B,UAACgB,CAAC,EAAAC,KAAA,EAAA;AAAA,EAAA,IAAIC,YAAY,GAAAD,KAAA,CAAZC,YAAY;AAAA,EAAA,OAAO,CAACA,YAAY;AAAA,CACxC,CAAC;AAEDL,gBAAgB,CAACM,WAAW,GAAG,kBAAkB;;;;;ACUjD,IAAMC,KAAK,GAAG;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,UAAU,EAAE;AACd,CAAC;AAED,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA1B,IAAA,EAeL;AAAA,EAAA,IAAA2B,SAAA,GAAA3B,IAAA,CAdJ4B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGN,KAAK,CAACE,MAAM,GAAAI,SAAA;IAAAE,WAAA,GAAA7B,IAAA,CACnB8B,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAA/B,IAAA,CACdgC,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,YAAA;IAClB9B,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRgC,aAAa,GAAAjC,IAAA,CAAbiC,aAAa;IACbC,eAAe,GAAAlC,IAAA,CAAfkC,eAAe;IAAAC,cAAA,GAAAnC,IAAA,CACfE,SAAS;AAATA,IAAAA,SAAS,GAAAiC,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAC,eAAA,GAAApC,IAAA,CACdqC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;IAAAE,gBAAA,GAAAtC,IAAA,CACjBuC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,gBAAA;IAAAE,qBAAA,GAAAxC,IAAA,CAClByC,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAA1C,IAAA,CACtB2C,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAA5C,IAAA,CACzB6C,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,gBAAA,GAAA9C,IAAA,CAC1B+C,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;AAChBE,IAAAA,UAAU,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,SAAA,CAAA;AAEb,EAAA,IAAAC,SAAA,GAA4DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApEI,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,yBAAyB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAExD,EAAA,IAAMI,YAAY,GAAGC,YAAM,CAAC,IAAI,CAAC;AACjC,EAAA,IAAMC,WAAW,GAAGD,YAAM,CAAC,IAAI,CAAC;AAEhCE,EAAAA,mCAAiB,CAACH,YAAY,EAAE3B,MAAM,CAAC;EAEvC,IAAA+B,WAAA,GAA8CC,4BAAU,CAAC;AACvDhC,MAAAA,MAAM,EAANA,MAAM;AACNI,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,aAAa,EAAbA,aAAa;AACb8B,MAAAA,cAAc,EAAEN,YAAY;AAC5BzB,MAAAA,OAAO,EAAPA,OAAO;AACP2B,MAAAA,WAAW,EAAXA,WAAW;AACXd,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBR,MAAAA,UAAU,EAAVA,UAAU;AACVM,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBY,MAAAA,sBAAsB,EAAtBA;AACF,KAAC,CAAC;IAXMS,kBAAkB,GAAAH,WAAA,CAAlBG,kBAAkB;IAAEC,aAAa,GAAAJ,WAAA,CAAbI,aAAa;AAazC,EAAA,IAAMC,iBAAiB,GAAGtC,IAAI,KAAKP,KAAK,CAACI,UAAU;EAEnD,oBACErB,cAAA,CAAC+D,wBAAM,EAAA;AAACC,IAAAA,MAAM,EAAC,iBAAiB;IAAAnE,QAAA,eAC9BG,cAAA,CAACiE,+BAAa,EAAA;MACZC,aAAa,EAAA,IAAA;AACbC,MAAAA,MAAM,EAAEzC,MAAO;AACf0C,MAAAA,UAAU,EAAC,gBAAgB;AAC3B,MAAA,IAAA,EAAI1C,MAAO;AACX2C,MAAAA,OAAO,EAAE,GAAI;MACbC,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQlB,yBAAyB,CAAC,IAAI,CAAC;MAAA,CAAC;MACjDmB,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OAAQnB,yBAAyB,CAAC,KAAK,CAAC;MAAA,CAAC;MAAAvD,QAAA,eAEjDG,cAAA,CAACwE,0BAAQ,EAAA;AACP,QAAA,aAAA,EAAY,UAAU;AAEtBC,QAAAA,GAAG,EAAElB,WAAY;AACjBzD,QAAAA,SAAS,EAAEG,UAAU,CACnB,0BAA0B,EAC1B;AACE,UAAA,sCAAsC,EAAE6D;SACzC,EACDzB,iBACF,CAAE;AAAAxC,QAAAA,QAAA,eAEFS,eAAA,CAAA,KAAA,EAAAoE,aAAA,CAAAA,aAAA,CAAA;UACE,YAAA,EAAA,IAAU;AAEVD,UAAAA,GAAG,EAAEpB,YAAa;AAClBsB,UAAAA,IAAI,EAAC,QAAQ;AACb7E,UAAAA,SAAS,EAAEG,UAAU,CAAC,yBAAyB,EAAA2E,eAAA,CAAA;AAC7C,YAAA,gCAAgC,EAAEpD,IAAI,KAAKP,KAAK,CAACC,KAAK;AACtD,YAAA,iCAAiC,EAAEM,IAAI,KAAKP,KAAK,CAACE,MAAM;AACxD,YAAA,gCAAgC,EAAEK,IAAI,KAAKP,KAAK,CAACG,KAAK;AACtD,YAAA,qCAAqC,EAAE0C;WAAiB,EACvDhE,SAAS,EAAGA,SAAS,CACvB;AAAE,SAAA,EACC8C,UAAU,CAAA,EAAA,EAAA,EAAA;AAAA/C,UAAAA,QAAA,EAAA,CAEbsC,WAAW,iBACVnC,cAAA,CAAC6E,MAAM,EAAA;AACL,YAAA,YAAA,EAAW,OAAO;AAClB/E,YAAAA,SAAS,EAAC,uBAAuB;AACjC,YAAA,aAAA,EAAY,oBAAoB;AAChCgF,YAAAA,IAAI,EAAEC,KAAM;AACZvD,YAAAA,IAAI,EAAEsC,iBAAiB,GAAG,OAAO,GAAG,OAAQ;AAC5CrD,YAAAA,KAAK,EAAEqD,iBAAiB,GAAG,WAAW,GAAG,MAAO;AAChDkB,YAAAA,OAAO,EAAEpB;AAAmB,WAC7B,CACF,eACD5D,cAAA,CAACU,gBAAgB,EAAA;YAACK,YAAY,EAAEW,MAAM,IAAIiB,WAAY;AAAA9C,YAAAA,QAAA,EACnD,OAAOA,QAAQ,KAAK,UAAU,GAC3BA,QAAQ,CAAC;AAAEgE,cAAAA,aAAa,EAAbA;AAAc,aAAC,CAAC,GAC3BhE;AAAQ,WACI,CAAC;AAAA,SAAA,CAAA,EA3Bf,eA4BD;AAAC,OAAA,EAxCF,gBAyCI;KACG;AAAC,GACV,CAAC;AAEb;AAmEAyB,KAAK,CAACnB,MAAM,GAAGA,MAAM;AACrBmB,KAAK,CAAC3B,IAAI,GAAGA,IAAI;AACjB2B,KAAK,CAACpB,MAAM,GAAGA,MAAM;;;;"}
@@ -114,7 +114,7 @@ var CustomDropdownIndicator = function CustomDropdownIndicator(props) {
114
114
  };
115
115
  var MultiValueRemove = function MultiValueRemove(props) {
116
116
  return /*#__PURE__*/jsxRuntime.jsx(reactSelectCreatable_esm.components.MultiValueRemove, _objectSpread$2(_objectSpread$2({}, props), {}, {
117
- innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(index.hyphenize(props.data.label), "-remove-icon"))),
117
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-testid", "".concat(index.hyphenize(props.data.label), "-remove-icon"))),
118
118
  children: /*#__PURE__*/jsxRuntime.jsx(Close, {
119
119
  size: 16
120
120
  })
@@ -134,7 +134,7 @@ var CustomValueContainer = function CustomValueContainer(_ref2) {
134
134
  rest = _children.slice(1);
135
135
  var shouldCollapse = !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;
136
136
  return /*#__PURE__*/jsxRuntime.jsxs(reactSelectCreatable_esm.components.ValueContainer, _objectSpread$2(_objectSpread$2({}, props), {}, {
137
- innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-input-container")),
137
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-testid", "multi-email-input-container")),
138
138
  children: [shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/jsxRuntime.jsx(Tag, {
139
139
  label: "".concat(value.length - visibleEmailsCount, " more"),
140
140
  style: "secondary"
@@ -143,7 +143,7 @@ var CustomValueContainer = function CustomValueContainer(_ref2) {
143
143
  };
144
144
  var CustomClearIndicator = function CustomClearIndicator(props) {
145
145
  return /*#__PURE__*/jsxRuntime.jsx(reactSelectCreatable_esm.components.ClearIndicator, _objectSpread$2(_objectSpread$2({}, props), {}, {
146
- innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
146
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-testid", "clear-all-button")),
147
147
  children: /*#__PURE__*/jsxRuntime.jsx(Close, {
148
148
  className: "cursor-pointer",
149
149
  size: 16
@@ -152,7 +152,7 @@ var CustomClearIndicator = function CustomClearIndicator(props) {
152
152
  };
153
153
  var SelectContainer = function SelectContainer(props) {
154
154
  return /*#__PURE__*/jsxRuntime.jsx(reactSelectCreatable_esm.components.SelectContainer, _objectSpread$2(_objectSpread$2({}, props), {}, {
155
- innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-select-container"))
155
+ innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-testid", "multi-email-select-container"))
156
156
  }));
157
157
  };
158
158
  var Input = function Input(props) {
@@ -166,7 +166,7 @@ var Input = function Input(props) {
166
166
  });
167
167
  };
168
168
  return /*#__PURE__*/jsxRuntime.jsx(reactSelectCreatable_esm.components.Input, _objectSpread$2(_objectSpread$2({}, props), {}, {
169
- "data-cy": "email-select-input-field",
169
+ "data-testid": "email-select-input-field",
170
170
  onPaste: handlePaste
171
171
  }));
172
172
  };
@@ -390,18 +390,18 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
390
390
  var isFilterEmailsLinkVisible = !!filterInvalidEmails && value.length > getValidEmailsCount(value);
391
391
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
392
392
  className: "neeto-ui-input__wrapper neeto-ui-email-input__wrapper",
393
- "data-cy": "email-input-wrapper",
393
+ "data-testid": "email-input-wrapper",
394
394
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
395
395
  className: "neeto-ui-email-input__label-wrapper",
396
396
  children: [label && /*#__PURE__*/jsxRuntime.jsx(Label, _objectSpread(_objectSpread({
397
397
  required: required,
398
398
  className: "neeto-ui-email-input__label",
399
- "data-cy": "".concat(index.hyphenize(label), "-input-label")
399
+ "data-testid": "".concat(index.hyphenize(label), "-input-label")
400
400
  }, labelProps), {}, {
401
401
  children: label
402
402
  })), isCounterVisible && /*#__PURE__*/jsxRuntime.jsxs("p", {
403
403
  className: "neeto-ui-email-input__counter",
404
- "data-cy": "".concat(index.hyphenize(label), "-email-counter"),
404
+ "data-testid": "".concat(index.hyphenize(label), "-email-counter"),
405
405
  children: [getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value))]
406
406
  })]
407
407
  }), /*#__PURE__*/jsxRuntime.jsx(reactSelectCreatable_esm.CreatableSelect, _objectSpread({
@@ -444,7 +444,7 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
444
444
  menuIsOpen: false
445
445
  }), otherProps), overrideProps))), !!error && /*#__PURE__*/jsxRuntime.jsxs("p", {
446
446
  className: "neeto-ui-input__error",
447
- "data-cy": "".concat(index.hyphenize(label), "-input-error"),
447
+ "data-testid": "".concat(index.hyphenize(label), "-input-error"),
448
448
  children: [error, isFilterEmailsLinkVisible && /*#__PURE__*/jsxRuntime.jsxs("span", {
449
449
  className: "neeto-ui-font-semibold cursor-pointer",
450
450
  onClick: handleFilterEmails,
@@ -452,11 +452,11 @@ var MultiEmailInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
452
452
  })]
453
453
  }), !!helpText && /*#__PURE__*/jsxRuntime.jsx("p", {
454
454
  className: "neeto-ui-input__help-text",
455
- "data-cy": "".concat(index.hyphenize(label), "-input-help"),
455
+ "data-testid": "".concat(index.hyphenize(label), "-input-help"),
456
456
  children: helpText
457
457
  }), !!duplicateEmails.length && /*#__PURE__*/jsxRuntime.jsx("p", {
458
458
  className: "neeto-ui-input__error",
459
- "data-cy": "".concat(index.hyphenize(label), "-duplicate-emails-warning"),
459
+ "data-testid": "".concat(index.hyphenize(label), "-duplicate-emails-warning"),
460
460
  children: renderDuplicateEmailsWarningMessage(duplicateEmails)
461
461
  })]
462
462
  });