@bigbinary/neetoui 6.7.0 → 6.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/Accordion.js +290 -2
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/ActionDropdown.js +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/Button.js +1 -1
  6. package/dist/ColorPicker.js +1 -1
  7. package/dist/Dropdown.js +1 -1
  8. package/dist/Modal.js +1 -1
  9. package/dist/MultiEmailInput.js +2 -3
  10. package/dist/MultiEmailInput.js.map +1 -1
  11. package/dist/NoData.js +1 -1
  12. package/dist/Pane.js +1 -1
  13. package/dist/ProgressBar.js +1 -1
  14. package/dist/Select.js +180 -27
  15. package/dist/Select.js.map +1 -1
  16. package/dist/Table.js +1 -1
  17. package/dist/cjs/Accordion.js +309 -3
  18. package/dist/cjs/Accordion.js.map +1 -1
  19. package/dist/cjs/ActionDropdown.js +1 -1
  20. package/dist/cjs/Alert.js +1 -1
  21. package/dist/cjs/Button.js +4 -4
  22. package/dist/cjs/Button.js.map +1 -1
  23. package/dist/cjs/ColorPicker.js +1 -1
  24. package/dist/cjs/Dropdown.js +1 -1
  25. package/dist/cjs/Modal.js +1 -1
  26. package/dist/cjs/MultiEmailInput.js +10 -12
  27. package/dist/cjs/MultiEmailInput.js.map +1 -1
  28. package/dist/cjs/NoData.js +1 -1
  29. package/dist/cjs/Pane.js +1 -1
  30. package/dist/cjs/ProgressBar.js +2 -2
  31. package/dist/cjs/ProgressBar.js.map +1 -1
  32. package/dist/cjs/Select.js +190 -23
  33. package/dist/cjs/Select.js.map +1 -1
  34. package/dist/cjs/Table.js +1 -1
  35. package/dist/cjs/formik/ActionBlock.js +1 -1
  36. package/dist/cjs/formik/BlockNavigation.js +1 -1
  37. package/dist/cjs/formik/Button.js +1 -1
  38. package/dist/cjs/formik/MultiEmailInput.js +2 -3
  39. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  40. package/dist/cjs/formik/Select.js +2 -5
  41. package/dist/cjs/formik/Select.js.map +1 -1
  42. package/dist/cjs/formik/index.js +2 -5
  43. package/dist/cjs/formik/index.js.map +1 -1
  44. package/dist/cjs/index.js +2 -5
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/motion-a1906aff.js +8892 -0
  47. package/dist/cjs/motion-a1906aff.js.map +1 -0
  48. package/dist/cjs/react-select-creatable.esm-b39742a3.js +6675 -0
  49. package/dist/cjs/react-select-creatable.esm-b39742a3.js.map +1 -0
  50. package/dist/formik/ActionBlock.js +1 -1
  51. package/dist/formik/BlockNavigation.js +1 -1
  52. package/dist/formik/Button.js +1 -1
  53. package/dist/formik/MultiEmailInput.js +2 -3
  54. package/dist/formik/MultiEmailInput.js.map +1 -1
  55. package/dist/formik/Select.js +2 -5
  56. package/dist/formik/Select.js.map +1 -1
  57. package/dist/formik/index.js +2 -5
  58. package/dist/formik/index.js.map +1 -1
  59. package/dist/index.js +2 -5
  60. package/dist/index.js.map +1 -1
  61. package/dist/motion-087daf52.js +8862 -0
  62. package/dist/motion-087daf52.js.map +1 -0
  63. package/dist/react-select-creatable.esm-93affeca.js +6644 -0
  64. package/dist/react-select-creatable.esm-93affeca.js.map +1 -0
  65. package/package.json +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"MultiEmailInput.js","sources":["../node_modules/@babel/runtime/helpers/esm/toArray.js","../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import React from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { prefix } = props.selectProps;\n\n return (\n <components.Control {...props}>\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => (\n <components.Input {...props} data-cy=\"email-select-input-field\" />\n);\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const uniqueValues = [...new Set(values)];\n\n return uniqueValues.map(email => formatEmailInputOptions(email));\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n formatEmailInputOptions,\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = () => {\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n onChange(pruneDuplicates([...value, ...emails]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange();\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const email = formatEmailInputOptions(input);\n onChange(pruneDuplicates([...value, email]));\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange() : onBlur(event);\n setIsFocused(false);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","prefix","selectProps","React","createElement","components","Control","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_extends","innerProps","_objectSpread","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","getValue","_props$selectProps","isFocused","visibleEmailsCount","value","_children","_toArray","firstChild","rest","slice","shouldCollapse","length","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","uniqueValues","_toConsumableArray","Set","map","email","renderValidEmails","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","ref","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","handleEmailChange","match","emailMatches","emails","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","toLowerCase","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"MultiEmailInput.js","sources":["../node_modules/@babel/runtime/helpers/esm/toArray.js","../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import React from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { prefix } = props.selectProps;\n\n return (\n <components.Control {...props}>\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse = !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{ ...props.innerProps, [\"data-cy\"]: \"clear-all-button\" }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => (\n <components.Input {...props} data-cy=\"email-select-input-field\" />\n);\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const uniqueValues = [...new Set(values)];\n\n return uniqueValues.map(email => formatEmailInputOptions(email));\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n formatEmailInputOptions,\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = () => {\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n onChange(pruneDuplicates([...value, ...emails]));\n setInputValue(\"\");\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange();\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const email = formatEmailInputOptions(input);\n onChange(pruneDuplicates([...value, email]));\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange() : onBlur(event);\n setIsFocused(false);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\n {...{\n inputValue,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","prefix","selectProps","React","createElement","components","Control","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_extends","innerProps","_objectSpread","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","getValue","_props$selectProps","isFocused","visibleEmailsCount","value","_children","_toArray","firstChild","rest","slice","shouldCollapse","length","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","uniqueValues","_toConsumableArray","Set","map","email","renderValidEmails","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","ref","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","handleEmailChange","match","emailMatches","emails","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","toLowerCase","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","displayName"],"mappings":"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"}
package/dist/NoData.js CHANGED
@@ -8,7 +8,7 @@ import Typography from './Typography.js';
8
8
  import './defineProperty-e5245270.js';
9
9
  import './toPropertyKey-bdc24cb9.js';
10
10
  import 'react-router-dom';
11
- import 'framer-motion';
11
+ import './motion-087daf52.js';
12
12
  import './index-c442518b.js';
13
13
  import './slicedToArray-45fa766e.js';
14
14
  import 'tippy.js';
package/dist/Pane.js CHANGED
@@ -16,7 +16,7 @@ import 'ramda';
16
16
  import './index-7fae3611.js';
17
17
  import './overlayManager.js';
18
18
  import './createClass-601a36b2.js';
19
- import 'framer-motion';
19
+ import './motion-087daf52.js';
20
20
  import './index-c442518b.js';
21
21
  import 'tippy.js';
22
22
  import '@bigbinary/neeto-cist';
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { c as classnames } from './index-3659771d.js';
3
- import { motion } from 'framer-motion';
3
+ import { m as motion } from './motion-087daf52.js';
4
4
 
5
5
  var ProgressBar = function ProgressBar(_ref) {
6
6
  var progressPercentage = _ref.progressPercentage,
package/dist/Select.js CHANGED
@@ -1,15 +1,14 @@
1
- import { _ as _extends } from './extends-093996c9.js';
2
- import { _ as _defineProperty } from './defineProperty-e5245270.js';
3
- import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
4
- import React__default, { useRef, useEffect } from 'react';
1
+ import { _ as _extends$1 } from './extends-093996c9.js';
2
+ import { _ as _defineProperty$1 } from './defineProperty-e5245270.js';
3
+ import { _ as _objectWithoutProperties$1 } from './objectWithoutProperties-a0edb288.js';
4
+ import * as React from 'react';
5
+ import React__default, { forwardRef, useRef, useState, useEffect, useCallback } from 'react';
5
6
  import { c as classnames } from './index-3659771d.js';
6
7
  import { isPresent, _existsBy } from '@bigbinary/neeto-cist';
7
8
  import { Down, Close } from '@bigbinary/neeto-icons';
8
9
  import { prop, assoc, flatten, pluck } from 'ramda';
9
- import SelectInput, { components } from 'react-select';
10
- import Async from 'react-select/async';
11
- import AsyncCreatable from 'react-select/async-creatable';
12
- import CreatableSelect from 'react-select/creatable';
10
+ import { u as useStateManager, S as Select$1, _ as _extends, a as _objectWithoutProperties, b as _slicedToArray, h as handleInputChange, d as _objectSpread2, e as _defineProperty, f as useCreatable, C as CreatableSelect, c as components } from './react-select-creatable.esm-93affeca.js';
11
+ import 'react-dom';
13
12
  import { u as useId } from './useId-c1d20bba.js';
14
13
  import 'react-router-dom';
15
14
  import './index-7fae3611.js';
@@ -23,12 +22,166 @@ import './slicedToArray-45fa766e.js';
23
22
  import 'util';
24
23
  import './index-c442518b.js';
25
24
  import 'tippy.js';
26
- import 'react-dom';
25
+
26
+ var StateManagedSelect = /*#__PURE__*/forwardRef(function (props, ref) {
27
+ var baseSelectProps = useStateManager(props);
28
+ return /*#__PURE__*/React.createElement(Select$1, _extends({
29
+ ref: ref
30
+ }, baseSelectProps));
31
+ });
32
+
33
+ var _excluded$1 = ["defaultOptions", "cacheOptions", "loadOptions", "options", "isLoading", "onInputChange", "filterOption"];
34
+ function useAsync(_ref) {
35
+ var _ref$defaultOptions = _ref.defaultOptions,
36
+ propsDefaultOptions = _ref$defaultOptions === void 0 ? false : _ref$defaultOptions,
37
+ _ref$cacheOptions = _ref.cacheOptions,
38
+ cacheOptions = _ref$cacheOptions === void 0 ? false : _ref$cacheOptions,
39
+ propsLoadOptions = _ref.loadOptions;
40
+ _ref.options;
41
+ var _ref$isLoading = _ref.isLoading,
42
+ propsIsLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
43
+ propsOnInputChange = _ref.onInputChange,
44
+ _ref$filterOption = _ref.filterOption,
45
+ filterOption = _ref$filterOption === void 0 ? null : _ref$filterOption,
46
+ restSelectProps = _objectWithoutProperties(_ref, _excluded$1);
47
+ var propsInputValue = restSelectProps.inputValue;
48
+ var lastRequest = useRef(undefined);
49
+ var mounted = useRef(false);
50
+ var _useState = useState(Array.isArray(propsDefaultOptions) ? propsDefaultOptions : undefined),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ defaultOptions = _useState2[0],
53
+ setDefaultOptions = _useState2[1];
54
+ var _useState3 = useState(typeof propsInputValue !== 'undefined' ? propsInputValue : ''),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ stateInputValue = _useState4[0],
57
+ setStateInputValue = _useState4[1];
58
+ var _useState5 = useState(propsDefaultOptions === true),
59
+ _useState6 = _slicedToArray(_useState5, 2),
60
+ isLoading = _useState6[0],
61
+ setIsLoading = _useState6[1];
62
+ var _useState7 = useState(undefined),
63
+ _useState8 = _slicedToArray(_useState7, 2),
64
+ loadedInputValue = _useState8[0],
65
+ setLoadedInputValue = _useState8[1];
66
+ var _useState9 = useState([]),
67
+ _useState10 = _slicedToArray(_useState9, 2),
68
+ loadedOptions = _useState10[0],
69
+ setLoadedOptions = _useState10[1];
70
+ var _useState11 = useState(false),
71
+ _useState12 = _slicedToArray(_useState11, 2),
72
+ passEmptyOptions = _useState12[0],
73
+ setPassEmptyOptions = _useState12[1];
74
+ var _useState13 = useState({}),
75
+ _useState14 = _slicedToArray(_useState13, 2),
76
+ optionsCache = _useState14[0],
77
+ setOptionsCache = _useState14[1];
78
+ var _useState15 = useState(undefined),
79
+ _useState16 = _slicedToArray(_useState15, 2),
80
+ prevDefaultOptions = _useState16[0],
81
+ setPrevDefaultOptions = _useState16[1];
82
+ var _useState17 = useState(undefined),
83
+ _useState18 = _slicedToArray(_useState17, 2),
84
+ prevCacheOptions = _useState18[0],
85
+ setPrevCacheOptions = _useState18[1];
86
+ if (cacheOptions !== prevCacheOptions) {
87
+ setOptionsCache({});
88
+ setPrevCacheOptions(cacheOptions);
89
+ }
90
+ if (propsDefaultOptions !== prevDefaultOptions) {
91
+ setDefaultOptions(Array.isArray(propsDefaultOptions) ? propsDefaultOptions : undefined);
92
+ setPrevDefaultOptions(propsDefaultOptions);
93
+ }
94
+ useEffect(function () {
95
+ mounted.current = true;
96
+ return function () {
97
+ mounted.current = false;
98
+ };
99
+ }, []);
100
+ var loadOptions = useCallback(function (inputValue, callback) {
101
+ if (!propsLoadOptions) return callback();
102
+ var loader = propsLoadOptions(inputValue, callback);
103
+ if (loader && typeof loader.then === 'function') {
104
+ loader.then(callback, function () {
105
+ return callback();
106
+ });
107
+ }
108
+ }, [propsLoadOptions]);
109
+ useEffect(function () {
110
+ if (propsDefaultOptions === true) {
111
+ loadOptions(stateInputValue, function (options) {
112
+ if (!mounted.current) return;
113
+ setDefaultOptions(options || []);
114
+ setIsLoading(!!lastRequest.current);
115
+ });
116
+ }
117
+ // NOTE: this effect is designed to only run when the component mounts,
118
+ // so we don't want to include any hook dependencies
119
+ // eslint-disable-next-line react-hooks/exhaustive-deps
120
+ }, []);
121
+ var onInputChange = useCallback(function (newValue, actionMeta) {
122
+ var inputValue = handleInputChange(newValue, actionMeta, propsOnInputChange);
123
+ if (!inputValue) {
124
+ lastRequest.current = undefined;
125
+ setStateInputValue('');
126
+ setLoadedInputValue('');
127
+ setLoadedOptions([]);
128
+ setIsLoading(false);
129
+ setPassEmptyOptions(false);
130
+ return;
131
+ }
132
+ if (cacheOptions && optionsCache[inputValue]) {
133
+ setStateInputValue(inputValue);
134
+ setLoadedInputValue(inputValue);
135
+ setLoadedOptions(optionsCache[inputValue]);
136
+ setIsLoading(false);
137
+ setPassEmptyOptions(false);
138
+ } else {
139
+ var request = lastRequest.current = {};
140
+ setStateInputValue(inputValue);
141
+ setIsLoading(true);
142
+ setPassEmptyOptions(!loadedInputValue);
143
+ loadOptions(inputValue, function (options) {
144
+ if (!mounted) return;
145
+ if (request !== lastRequest.current) return;
146
+ lastRequest.current = undefined;
147
+ setIsLoading(false);
148
+ setLoadedInputValue(inputValue);
149
+ setLoadedOptions(options || []);
150
+ setPassEmptyOptions(false);
151
+ setOptionsCache(options ? _objectSpread2(_objectSpread2({}, optionsCache), {}, _defineProperty({}, inputValue, options)) : optionsCache);
152
+ });
153
+ }
154
+ }, [cacheOptions, loadOptions, loadedInputValue, optionsCache, propsOnInputChange]);
155
+ var options = passEmptyOptions ? [] : stateInputValue && loadedInputValue ? loadedOptions : defaultOptions || [];
156
+ return _objectSpread2(_objectSpread2({}, restSelectProps), {}, {
157
+ options: options,
158
+ isLoading: isLoading || propsIsLoading,
159
+ onInputChange: onInputChange,
160
+ filterOption: filterOption
161
+ });
162
+ }
163
+
164
+ var AsyncSelect = /*#__PURE__*/forwardRef(function (props, ref) {
165
+ var stateManagedProps = useAsync(props);
166
+ var selectProps = useStateManager(stateManagedProps);
167
+ return /*#__PURE__*/React.createElement(Select$1, _extends({
168
+ ref: ref
169
+ }, selectProps));
170
+ });
171
+
172
+ var AsyncCreatableSelect = /*#__PURE__*/forwardRef(function (props, ref) {
173
+ var stateManagerProps = useAsync(props);
174
+ var creatableProps = useStateManager(stateManagerProps);
175
+ var selectProps = useCreatable(creatableProps);
176
+ return /*#__PURE__*/React.createElement(Select$1, _extends({
177
+ ref: ref
178
+ }, selectProps));
179
+ });
27
180
 
28
181
  var _excluded = ["children"],
29
182
  _excluded2 = ["size", "label", "required", "error", "helpText", "className", "innerRef", "isCreateable", "strategy", "id", "labelProps", "value", "defaultValue", "components", "optionRemapping"];
30
183
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
184
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
185
  var SIZES = {
33
186
  small: "small",
34
187
  medium: "medium",
@@ -40,7 +193,7 @@ var STRATEGIES = {
40
193
  };
41
194
  var Control = function Control(_ref) {
42
195
  var children = _ref.children,
43
- props = _objectWithoutProperties(_ref, _excluded);
196
+ props = _objectWithoutProperties$1(_ref, _excluded);
44
197
  var selectProps = props.selectProps,
45
198
  hasValue = props.hasValue;
46
199
  return /*#__PURE__*/React__default.createElement(components.Control, props, hasValue && selectProps.isMulti && /*#__PURE__*/React__default.createElement("span", {
@@ -48,14 +201,14 @@ var Control = function Control(_ref) {
48
201
  }, selectProps.addButtonLabel || "Add"), " ", children);
49
202
  };
50
203
  var DropdownIndicator = function DropdownIndicator(props) {
51
- return /*#__PURE__*/React__default.createElement(components.DropdownIndicator, _extends({}, props, {
52
- innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, _defineProperty({}, "data-cy", "action-select-indicator"))
204
+ return /*#__PURE__*/React__default.createElement(components.DropdownIndicator, _extends$1({}, props, {
205
+ innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, _defineProperty$1({}, "data-cy", "action-select-indicator"))
53
206
  }), /*#__PURE__*/React__default.createElement(Down, {
54
207
  size: 16
55
208
  }));
56
209
  };
57
210
  var ClearIndicator = function ClearIndicator(props) {
58
- return /*#__PURE__*/React__default.createElement(components.ClearIndicator, _extends({}, props, {
211
+ return /*#__PURE__*/React__default.createElement(components.ClearIndicator, _extends$1({}, props, {
59
212
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
60
213
  "data-cy": "clear-select-indicator"
61
214
  })
@@ -70,7 +223,7 @@ var MultiValueRemove = function MultiValueRemove(props) {
70
223
  };
71
224
  var CustomInput = function CustomInput(props) {
72
225
  var selectProps = props.selectProps;
73
- return /*#__PURE__*/React__default.createElement(components.Input, _extends({}, props, {
226
+ return /*#__PURE__*/React__default.createElement(components.Input, _extends$1({}, props, {
74
227
  "data-cy": selectProps ? selectProps["data-cy"] : "select-input",
75
228
  "data-testid": selectProps && selectProps["data-testid"],
76
229
  maxLength: selectProps && selectProps.maxLength
@@ -81,7 +234,7 @@ var CustomOption = function CustomOption(props) {
81
234
  useEffect(function () {
82
235
  props.isSelected && ref.current.scrollIntoView();
83
236
  }, [props.isSelected]);
84
- return /*#__PURE__*/React__default.createElement(components.Option, _extends({}, props, {
237
+ return /*#__PURE__*/React__default.createElement(components.Option, _extends$1({}, props, {
85
238
  innerRef: ref,
86
239
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
87
240
  "data-cy": "".concat(hyphenize(props.label), "-select-option")
@@ -90,7 +243,7 @@ var CustomOption = function CustomOption(props) {
90
243
  };
91
244
  var Placeholder = function Placeholder(props) {
92
245
  var selectProps = props.selectProps;
93
- return /*#__PURE__*/React__default.createElement(components.Placeholder, _extends({}, props, {
246
+ return /*#__PURE__*/React__default.createElement(components.Placeholder, _extends$1({}, props, {
94
247
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
95
248
  "data-cy": selectProps ? "".concat(hyphenize(selectProps.label), "-select-placeholder") : "select-placeholder"
96
249
  })
@@ -98,14 +251,14 @@ var Placeholder = function Placeholder(props) {
98
251
  };
99
252
  var Menu = function Menu(props) {
100
253
  var selectProps = props.selectProps;
101
- return /*#__PURE__*/React__default.createElement(components.Menu, _extends({}, props, {
254
+ return /*#__PURE__*/React__default.createElement(components.Menu, _extends$1({}, props, {
102
255
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
103
256
  "data-cy": selectProps ? "".concat(hyphenize(selectProps.label), "-select-menu") : "select-menu"
104
257
  })
105
258
  }));
106
259
  };
107
260
  var SingleValue = function SingleValue(props) {
108
- return /*#__PURE__*/React__default.createElement(components.SingleValue, _extends({}, props, {
261
+ return /*#__PURE__*/React__default.createElement(components.SingleValue, _extends$1({}, props, {
109
262
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
110
263
  "data-cy": "select-single-value"
111
264
  })
@@ -113,7 +266,7 @@ var SingleValue = function SingleValue(props) {
113
266
  };
114
267
  var ValueContainer = function ValueContainer(props) {
115
268
  var selectProps = props.selectProps;
116
- return /*#__PURE__*/React__default.createElement(components.ValueContainer, _extends({}, props, {
269
+ return /*#__PURE__*/React__default.createElement(components.ValueContainer, _extends$1({}, props, {
117
270
  innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
118
271
  name: selectProps.name,
119
272
  "data-cy": selectProps ? "".concat(hyphenize(selectProps.label), "-select-value-container") : "select-value-container"
@@ -146,8 +299,8 @@ var MenuList = function MenuList(props) {
146
299
  (_observer = observer) === null || _observer === void 0 || _observer.unobserve(loaderRef.current);
147
300
  };
148
301
  }, [hasMore]);
149
- return /*#__PURE__*/React__default.createElement(components.MenuList, _extends({}, props, {
150
- innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, _defineProperty({}, "data-testid", "menu-list"))
302
+ return /*#__PURE__*/React__default.createElement(components.MenuList, _extends$1({}, props, {
303
+ innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, _defineProperty$1({}, "data-testid", "menu-list"))
151
304
  }), props.children, hasMore && /*#__PURE__*/React__default.createElement("div", {
152
305
  className: "flex w-full items-center justify-center py-3",
153
306
  "data-testid": "loader",
@@ -179,14 +332,14 @@ var Select = function Select(_ref2) {
179
332
  componentOverrides = _ref2.components,
180
333
  _ref2$optionRemapping = _ref2.optionRemapping,
181
334
  optionRemapping = _ref2$optionRemapping === void 0 ? {} : _ref2$optionRemapping,
182
- otherProps = _objectWithoutProperties(_ref2, _excluded2);
335
+ otherProps = _objectWithoutProperties$1(_ref2, _excluded2);
183
336
  var inputId = useId(id);
184
- var Parent = SelectInput;
337
+ var Parent = StateManagedSelect;
185
338
  if (isCreateable) {
186
339
  Parent = CreatableSelect;
187
340
  }
188
341
  if (otherProps.loadOptions) {
189
- Parent = isCreateable ? AsyncCreatable : Async;
342
+ Parent = isCreateable ? AsyncCreatableSelect : AsyncSelect;
190
343
  }
191
344
  if (optionRemapping.value) {
192
345
  otherProps.getOptionValue = prop(optionRemapping.value);
@@ -233,12 +386,12 @@ var Select = function Select(_ref2) {
233
386
  className: classnames(["neeto-ui-input__wrapper", className]),
234
387
  "data-cy": "".concat(hyphenize(label), "-select-container-wrapper"),
235
388
  "data-testid": "select"
236
- }, label && /*#__PURE__*/React__default.createElement(Label, _extends({
389
+ }, label && /*#__PURE__*/React__default.createElement(Label, _extends$1({
237
390
  required: required,
238
391
  "data-cy": "".concat(hyphenize(label), "-input-label"),
239
392
  "data-testid": "select-label",
240
393
  htmlFor: inputId
241
- }, labelProps), label), /*#__PURE__*/React__default.createElement(Parent, _extends({
394
+ }, labelProps), label), /*#__PURE__*/React__default.createElement(Parent, _extends$1({
242
395
  blurInputOnSelect: false,
243
396
  classNamePrefix: "neeto-ui-react-select",
244
397
  closeMenuOnSelect: !otherProps.isMulti,