@dartcom/ui-kit 2.3.2 → 2.5.0

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 (606) hide show
  1. package/dist/cjs/_virtual/index.js +1 -1
  2. package/dist/cjs/_virtual/index3.js +3 -5
  3. package/dist/cjs/_virtual/index3.js.map +1 -1
  4. package/dist/cjs/_virtual/index4.js +2 -2
  5. package/dist/cjs/_virtual/index5.js +6 -2
  6. package/dist/cjs/_virtual/index5.js.map +1 -1
  7. package/dist/cjs/_virtual/index6.js +2 -2
  8. package/dist/cjs/_virtual/index7.js +8 -0
  9. package/dist/cjs/_virtual/index7.js.map +1 -0
  10. package/dist/cjs/_virtual/index8.js +8 -0
  11. package/dist/cjs/_virtual/index8.js.map +1 -0
  12. package/dist/cjs/_virtual/react-is.development4.js +8 -0
  13. package/dist/cjs/_virtual/react-is.development4.js.map +1 -0
  14. package/dist/cjs/_virtual/react-is.production2.js +8 -0
  15. package/dist/cjs/_virtual/react-is.production2.js.map +1 -0
  16. package/dist/cjs/components/select/select.js +50 -0
  17. package/dist/cjs/components/select/select.js.map +1 -0
  18. package/dist/cjs/index.js +2 -0
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/node_modules/@emotion/react/dist/emotion-react.browser.esm.js +71 -0
  21. package/dist/cjs/node_modules/@emotion/react/dist/emotion-react.browser.esm.js.map +1 -1
  22. package/dist/cjs/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js +2 -0
  23. package/dist/cjs/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js.map +1 -1
  24. package/dist/cjs/node_modules/@mui/material/esm/Autocomplete/Autocomplete.js +1230 -0
  25. package/dist/cjs/node_modules/@mui/material/esm/Autocomplete/Autocomplete.js.map +1 -0
  26. package/dist/cjs/node_modules/@mui/material/esm/Autocomplete/autocompleteClasses.js +16 -0
  27. package/dist/cjs/node_modules/@mui/material/esm/Autocomplete/autocompleteClasses.js.map +1 -0
  28. package/dist/cjs/node_modules/@mui/material/esm/Backdrop/Backdrop.js +1 -1
  29. package/dist/cjs/node_modules/@mui/material/esm/Box/Box.js +1 -1
  30. package/dist/cjs/node_modules/@mui/material/esm/Button/Button.js +1 -1
  31. package/dist/cjs/node_modules/@mui/material/esm/ButtonBase/ButtonBase.js +1 -1
  32. package/dist/cjs/node_modules/@mui/material/esm/ButtonBase/Ripple.js +1 -1
  33. package/dist/cjs/node_modules/@mui/material/esm/ButtonBase/TouchRipple.js +1 -1
  34. package/dist/cjs/node_modules/@mui/material/esm/Checkbox/Checkbox.js +1 -1
  35. package/dist/cjs/node_modules/@mui/material/esm/Chip/Chip.js +654 -0
  36. package/dist/cjs/node_modules/@mui/material/esm/Chip/Chip.js.map +1 -0
  37. package/dist/cjs/node_modules/@mui/material/esm/Chip/chipClasses.js +16 -0
  38. package/dist/cjs/node_modules/@mui/material/esm/Chip/chipClasses.js.map +1 -0
  39. package/dist/cjs/node_modules/@mui/material/esm/CircularProgress/CircularProgress.js +1 -1
  40. package/dist/cjs/node_modules/@mui/material/esm/DefaultPropsProvider/DefaultPropsProvider.js +1 -1
  41. package/dist/cjs/node_modules/@mui/material/esm/Dialog/Dialog.js +1 -1
  42. package/dist/cjs/node_modules/@mui/material/esm/DialogActions/DialogActions.js +1 -1
  43. package/dist/cjs/node_modules/@mui/material/esm/DialogContent/DialogContent.js +1 -1
  44. package/dist/cjs/node_modules/@mui/material/esm/DialogContentText/DialogContentText.js +1 -1
  45. package/dist/cjs/node_modules/@mui/material/esm/DialogTitle/DialogTitle.js +1 -1
  46. package/dist/cjs/node_modules/@mui/material/esm/Fade/Fade.js +1 -1
  47. package/dist/cjs/node_modules/@mui/material/esm/FilledInput/FilledInput.js +542 -0
  48. package/dist/cjs/node_modules/@mui/material/esm/FilledInput/FilledInput.js.map +1 -0
  49. package/dist/cjs/node_modules/@mui/material/esm/FilledInput/filledInputClasses.js +20 -0
  50. package/dist/cjs/node_modules/@mui/material/esm/FilledInput/filledInputClasses.js.map +1 -0
  51. package/dist/cjs/node_modules/@mui/material/esm/FormControl/FormControl.js +332 -0
  52. package/dist/cjs/node_modules/@mui/material/esm/FormControl/FormControl.js.map +1 -0
  53. package/dist/cjs/node_modules/@mui/material/esm/FormControl/formControlClasses.js +14 -0
  54. package/dist/cjs/node_modules/@mui/material/esm/FormControl/formControlClasses.js.map +1 -0
  55. package/dist/cjs/node_modules/@mui/material/esm/FormControlLabel/FormControlLabel.js +1 -1
  56. package/dist/cjs/node_modules/@mui/material/esm/FormHelperText/FormHelperText.js +213 -0
  57. package/dist/cjs/node_modules/@mui/material/esm/FormHelperText/FormHelperText.js.map +1 -0
  58. package/dist/cjs/node_modules/@mui/material/esm/FormHelperText/formHelperTextClasses.js +16 -0
  59. package/dist/cjs/node_modules/@mui/material/esm/FormHelperText/formHelperTextClasses.js.map +1 -0
  60. package/dist/cjs/node_modules/@mui/material/esm/FormLabel/FormLabel.js +209 -0
  61. package/dist/cjs/node_modules/@mui/material/esm/FormLabel/FormLabel.js.map +1 -0
  62. package/dist/cjs/node_modules/@mui/material/esm/FormLabel/formLabelClasses.js +16 -0
  63. package/dist/cjs/node_modules/@mui/material/esm/FormLabel/formLabelClasses.js.map +1 -0
  64. package/dist/cjs/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js +32 -0
  65. package/dist/cjs/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  66. package/dist/cjs/node_modules/@mui/material/esm/Grow/Grow.js +289 -0
  67. package/dist/cjs/node_modules/@mui/material/esm/Grow/Grow.js.map +1 -0
  68. package/dist/cjs/node_modules/@mui/material/esm/IconButton/IconButton.js +1 -1
  69. package/dist/cjs/node_modules/@mui/material/esm/Input/Input.js +387 -0
  70. package/dist/cjs/node_modules/@mui/material/esm/Input/Input.js.map +1 -0
  71. package/dist/cjs/node_modules/@mui/material/esm/Input/inputClasses.js +20 -0
  72. package/dist/cjs/node_modules/@mui/material/esm/Input/inputClasses.js.map +1 -0
  73. package/dist/cjs/node_modules/@mui/material/esm/InputBase/InputBase.js +781 -0
  74. package/dist/cjs/node_modules/@mui/material/esm/InputBase/InputBase.js.map +1 -0
  75. package/dist/cjs/node_modules/@mui/material/esm/InputBase/inputBaseClasses.js +16 -0
  76. package/dist/cjs/node_modules/@mui/material/esm/InputBase/inputBaseClasses.js.map +1 -0
  77. package/dist/cjs/node_modules/@mui/material/esm/InputBase/utils.js +39 -0
  78. package/dist/cjs/node_modules/@mui/material/esm/InputBase/utils.js.map +1 -0
  79. package/dist/cjs/node_modules/@mui/material/esm/InputLabel/InputLabel.js +311 -0
  80. package/dist/cjs/node_modules/@mui/material/esm/InputLabel/InputLabel.js.map +1 -0
  81. package/dist/cjs/node_modules/@mui/material/esm/InputLabel/inputLabelClasses.js +14 -0
  82. package/dist/cjs/node_modules/@mui/material/esm/InputLabel/inputLabelClasses.js.map +1 -0
  83. package/dist/cjs/node_modules/@mui/material/esm/List/List.js +1 -1
  84. package/dist/cjs/node_modules/@mui/material/esm/ListItem/ListItem.js +1 -1
  85. package/dist/cjs/node_modules/@mui/material/esm/ListItemSecondaryAction/ListItemSecondaryAction.js +1 -1
  86. package/dist/cjs/node_modules/@mui/material/esm/ListSubheader/ListSubheader.js +194 -0
  87. package/dist/cjs/node_modules/@mui/material/esm/ListSubheader/ListSubheader.js.map +1 -0
  88. package/dist/cjs/node_modules/@mui/material/esm/ListSubheader/listSubheaderClasses.js +14 -0
  89. package/dist/cjs/node_modules/@mui/material/esm/ListSubheader/listSubheaderClasses.js.map +1 -0
  90. package/dist/cjs/node_modules/@mui/material/esm/Menu/Menu.js +366 -0
  91. package/dist/cjs/node_modules/@mui/material/esm/Menu/Menu.js.map +1 -0
  92. package/dist/cjs/node_modules/@mui/material/esm/Menu/menuClasses.js +14 -0
  93. package/dist/cjs/node_modules/@mui/material/esm/Menu/menuClasses.js.map +1 -0
  94. package/dist/cjs/node_modules/@mui/material/esm/MenuList/MenuList.js +317 -0
  95. package/dist/cjs/node_modules/@mui/material/esm/MenuList/MenuList.js.map +1 -0
  96. package/dist/cjs/node_modules/@mui/material/esm/Modal/Modal.js +1 -1
  97. package/dist/cjs/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js +273 -0
  98. package/dist/cjs/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js.map +1 -0
  99. package/dist/cjs/node_modules/@mui/material/esm/NativeSelect/nativeSelectClasses.js +16 -0
  100. package/dist/cjs/node_modules/@mui/material/esm/NativeSelect/nativeSelectClasses.js.map +1 -0
  101. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/NotchedOutline.js +163 -0
  102. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/NotchedOutline.js.map +1 -0
  103. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/OutlinedInput.js +456 -0
  104. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/OutlinedInput.js.map +1 -0
  105. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/outlinedInputClasses.js +20 -0
  106. package/dist/cjs/node_modules/@mui/material/esm/OutlinedInput/outlinedInputClasses.js.map +1 -0
  107. package/dist/cjs/node_modules/@mui/material/esm/Paper/Paper.js +1 -1
  108. package/dist/cjs/node_modules/@mui/material/esm/Popover/Popover.js +612 -0
  109. package/dist/cjs/node_modules/@mui/material/esm/Popover/Popover.js.map +1 -0
  110. package/dist/cjs/node_modules/@mui/material/esm/Popover/popoverClasses.js +14 -0
  111. package/dist/cjs/node_modules/@mui/material/esm/Popover/popoverClasses.js.map +1 -0
  112. package/dist/cjs/node_modules/@mui/material/esm/Popper/BasePopper.js +402 -0
  113. package/dist/cjs/node_modules/@mui/material/esm/Popper/BasePopper.js.map +1 -0
  114. package/dist/cjs/node_modules/@mui/material/esm/Popper/Popper.js +236 -0
  115. package/dist/cjs/node_modules/@mui/material/esm/Popper/Popper.js.map +1 -0
  116. package/dist/cjs/node_modules/@mui/material/esm/Popper/popperClasses.js +14 -0
  117. package/dist/cjs/node_modules/@mui/material/esm/Popper/popperClasses.js.map +1 -0
  118. package/dist/cjs/node_modules/@mui/material/esm/Portal/Portal.js +1 -1
  119. package/dist/cjs/node_modules/@mui/material/esm/Select/Select.js +326 -0
  120. package/dist/cjs/node_modules/@mui/material/esm/Select/Select.js.map +1 -0
  121. package/dist/cjs/node_modules/@mui/material/esm/Select/SelectInput.js +703 -0
  122. package/dist/cjs/node_modules/@mui/material/esm/Select/SelectInput.js.map +1 -0
  123. package/dist/cjs/node_modules/@mui/material/esm/Select/selectClasses.js +15 -0
  124. package/dist/cjs/node_modules/@mui/material/esm/Select/selectClasses.js.map +1 -0
  125. package/dist/cjs/node_modules/@mui/material/esm/Slide/Slide.js +1 -1
  126. package/dist/cjs/node_modules/@mui/material/esm/SvgIcon/SvgIcon.js +1 -1
  127. package/dist/cjs/node_modules/@mui/material/esm/TextField/TextField.js +483 -0
  128. package/dist/cjs/node_modules/@mui/material/esm/TextField/TextField.js.map +1 -0
  129. package/dist/cjs/node_modules/@mui/material/esm/TextField/textFieldClasses.js +14 -0
  130. package/dist/cjs/node_modules/@mui/material/esm/TextField/textFieldClasses.js.map +1 -0
  131. package/dist/cjs/node_modules/@mui/material/esm/TextareaAutosize/TextareaAutosize.js +283 -0
  132. package/dist/cjs/node_modules/@mui/material/esm/TextareaAutosize/TextareaAutosize.js.map +1 -0
  133. package/dist/cjs/node_modules/@mui/material/esm/Typography/Typography.js +1 -1
  134. package/dist/cjs/node_modules/@mui/material/esm/Unstable_TrapFocus/FocusTrap.js +1 -1
  135. package/dist/cjs/node_modules/@mui/material/esm/internal/SwitchBase.js +1 -1
  136. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/ArrowDropDown.js +15 -0
  137. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/ArrowDropDown.js.map +1 -0
  138. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/Cancel.js +15 -0
  139. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/Cancel.js.map +1 -0
  140. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/Close.js +15 -0
  141. package/dist/cjs/node_modules/@mui/material/esm/internal/svg-icons/Close.js.map +1 -0
  142. package/dist/cjs/node_modules/@mui/material/esm/useAutocomplete/useAutocomplete.js +1066 -0
  143. package/dist/cjs/node_modules/@mui/material/esm/useAutocomplete/useAutocomplete.js.map +1 -0
  144. package/dist/cjs/node_modules/@mui/material/esm/utils/getScrollbarSize.js +10 -0
  145. package/dist/cjs/node_modules/@mui/material/esm/utils/getScrollbarSize.js.map +1 -0
  146. package/dist/cjs/node_modules/@mui/material/esm/utils/ownerDocument.js +10 -0
  147. package/dist/cjs/node_modules/@mui/material/esm/utils/ownerDocument.js.map +1 -0
  148. package/dist/cjs/node_modules/@mui/material/esm/utils/unsupportedProp.js +10 -0
  149. package/dist/cjs/node_modules/@mui/material/esm/utils/unsupportedProp.js.map +1 -0
  150. package/dist/cjs/node_modules/@mui/material/esm/utils/useEnhancedEffect.js +11 -0
  151. package/dist/cjs/node_modules/@mui/material/esm/utils/useEnhancedEffect.js.map +1 -0
  152. package/dist/cjs/node_modules/@mui/material/esm/zero-styled/index.js +18 -1
  153. package/dist/cjs/node_modules/@mui/material/esm/zero-styled/index.js.map +1 -1
  154. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/cjs/react-is.development.js +147 -0
  155. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  156. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/cjs/react-is.production.js +144 -0
  157. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/cjs/react-is.production.js.map +1 -0
  158. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/index.js +24 -0
  159. package/dist/cjs/node_modules/@mui/material/node_modules/react-is/index.js.map +1 -0
  160. package/dist/cjs/node_modules/@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js +30 -0
  161. package/dist/cjs/node_modules/@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  162. package/dist/cjs/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js +1 -1
  163. package/dist/cjs/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js +68 -0
  164. package/dist/cjs/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  165. package/dist/cjs/node_modules/@mui/system/esm/RtlProvider/index.js +41 -0
  166. package/dist/cjs/node_modules/@mui/system/esm/RtlProvider/index.js.map +1 -0
  167. package/dist/cjs/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js +1 -1
  168. package/dist/cjs/node_modules/@mui/utils/esm/deepmerge/deepmerge.js +1 -1
  169. package/dist/cjs/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js +1 -1
  170. package/dist/cjs/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js +1 -1
  171. package/dist/cjs/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +1 -1
  172. package/dist/cjs/node_modules/@mui/utils/esm/refType/refType.js +1 -1
  173. package/dist/cjs/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js +17 -0
  174. package/dist/cjs/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js.map +1 -0
  175. package/dist/cjs/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js +38 -0
  176. package/dist/cjs/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js.map +1 -0
  177. package/dist/cjs/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js +44 -0
  178. package/dist/cjs/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js.map +1 -0
  179. package/dist/cjs/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.development.js +1 -1
  180. package/dist/cjs/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.js +1 -1
  181. package/dist/cjs/node_modules/@mui/utils/node_modules/react-is/index.js +1 -1
  182. package/dist/cjs/node_modules/@popperjs/core/lib/createPopper.js +203 -0
  183. package/dist/cjs/node_modules/@popperjs/core/lib/createPopper.js.map +1 -0
  184. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/contains.js +31 -0
  185. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/contains.js.map +1 -0
  186. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +49 -0
  187. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.map +1 -0
  188. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +77 -0
  189. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -0
  190. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +65 -0
  191. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js.map +1 -0
  192. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +12 -0
  193. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.map +1 -0
  194. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +14 -0
  195. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.map +1 -0
  196. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +37 -0
  197. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.map +1 -0
  198. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +13 -0
  199. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.map +1 -0
  200. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +33 -0
  201. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.map +1 -0
  202. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +10 -0
  203. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.map +1 -0
  204. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +19 -0
  205. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.map +1 -0
  206. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +76 -0
  207. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js.map +1 -0
  208. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +27 -0
  209. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.map +1 -0
  210. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +24 -0
  211. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.map +1 -0
  212. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +39 -0
  213. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.map +1 -0
  214. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindow.js +19 -0
  215. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.map +1 -0
  216. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +18 -0
  217. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.map +1 -0
  218. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +21 -0
  219. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.map +1 -0
  220. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +30 -0
  221. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.map +1 -0
  222. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js +12 -0
  223. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.map +1 -0
  224. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +18 -0
  225. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.map +1 -0
  226. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +12 -0
  227. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.map +1 -0
  228. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +34 -0
  229. package/dist/cjs/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.map +1 -0
  230. package/dist/cjs/node_modules/@popperjs/core/lib/enums.js +61 -0
  231. package/dist/cjs/node_modules/@popperjs/core/lib/enums.js.map +1 -0
  232. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +92 -0
  233. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -0
  234. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/arrow.js +97 -0
  235. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/arrow.js.map +1 -0
  236. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +177 -0
  237. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.map +1 -0
  238. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +56 -0
  239. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -0
  240. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/flip.js +154 -0
  241. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -0
  242. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/hide.js +68 -0
  243. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -0
  244. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/offset.js +62 -0
  245. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -0
  246. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +32 -0
  247. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.map +1 -0
  248. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +149 -0
  249. package/dist/cjs/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.map +1 -0
  250. package/dist/cjs/node_modules/@popperjs/core/lib/popper.js +33 -0
  251. package/dist/cjs/node_modules/@popperjs/core/lib/popper.js.map +1 -0
  252. package/dist/cjs/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +51 -0
  253. package/dist/cjs/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -0
  254. package/dist/cjs/node_modules/@popperjs/core/lib/utils/computeOffsets.js +76 -0
  255. package/dist/cjs/node_modules/@popperjs/core/lib/utils/computeOffsets.js.map +1 -0
  256. package/dist/cjs/node_modules/@popperjs/core/lib/utils/debounce.js +22 -0
  257. package/dist/cjs/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -0
  258. package/dist/cjs/node_modules/@popperjs/core/lib/utils/detectOverflow.js +72 -0
  259. package/dist/cjs/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -0
  260. package/dist/cjs/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +13 -0
  261. package/dist/cjs/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -0
  262. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getAltAxis.js +10 -0
  263. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getAltAxis.js.map +1 -0
  264. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getBasePlacement.js +10 -0
  265. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.map +1 -0
  266. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +15 -0
  267. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.map +1 -0
  268. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +10 -0
  269. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.map +1 -0
  270. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +18 -0
  271. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -0
  272. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +16 -0
  273. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -0
  274. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getVariation.js +10 -0
  275. package/dist/cjs/node_modules/@popperjs/core/lib/utils/getVariation.js.map +1 -0
  276. package/dist/cjs/node_modules/@popperjs/core/lib/utils/math.js +12 -0
  277. package/dist/cjs/node_modules/@popperjs/core/lib/utils/math.js.map +1 -0
  278. package/dist/cjs/node_modules/@popperjs/core/lib/utils/mergeByName.js +21 -0
  279. package/dist/cjs/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -0
  280. package/dist/cjs/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +12 -0
  281. package/dist/cjs/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.map +1 -0
  282. package/dist/cjs/node_modules/@popperjs/core/lib/utils/orderModifiers.js +51 -0
  283. package/dist/cjs/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -0
  284. package/dist/cjs/node_modules/@popperjs/core/lib/utils/rectToClientRect.js +15 -0
  285. package/dist/cjs/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.map +1 -0
  286. package/dist/cjs/node_modules/@popperjs/core/lib/utils/userAgent.js +18 -0
  287. package/dist/cjs/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -0
  288. package/dist/cjs/node_modules/@popperjs/core/lib/utils/within.js +17 -0
  289. package/dist/cjs/node_modules/@popperjs/core/lib/utils/within.js.map +1 -0
  290. package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +1 -1
  291. package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  292. package/dist/cjs/node_modules/prop-types/index.js +1 -1
  293. package/dist/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  294. package/dist/cjs/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  295. package/dist/cjs/node_modules/react-transition-group/esm/Transition.js +1 -1
  296. package/dist/cjs/node_modules/react-transition-group/esm/TransitionGroup.js +1 -1
  297. package/dist/cjs/node_modules/react-transition-group/esm/utils/PropTypes.js +1 -1
  298. package/dist/esm/_virtual/index.js +1 -1
  299. package/dist/esm/_virtual/index3.js +1 -1
  300. package/dist/esm/_virtual/index5.js +1 -1
  301. package/dist/esm/_virtual/index7.js +2 -0
  302. package/dist/esm/_virtual/index7.js.map +1 -0
  303. package/dist/esm/_virtual/index8.js +2 -0
  304. package/dist/esm/_virtual/index8.js.map +1 -0
  305. package/dist/esm/_virtual/react-is.development4.js +2 -0
  306. package/dist/esm/_virtual/react-is.development4.js.map +1 -0
  307. package/dist/esm/_virtual/react-is.production2.js +2 -0
  308. package/dist/esm/_virtual/react-is.production2.js.map +1 -0
  309. package/dist/esm/components/select/select.js +2 -0
  310. package/dist/esm/components/select/select.js.map +1 -0
  311. package/dist/esm/index.js +1 -1
  312. package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.js +1 -1
  313. package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.js.map +1 -1
  314. package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js +1 -1
  315. package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js.map +1 -1
  316. package/dist/esm/node_modules/@mui/material/esm/Autocomplete/Autocomplete.js +3 -0
  317. package/dist/esm/node_modules/@mui/material/esm/Autocomplete/Autocomplete.js.map +1 -0
  318. package/dist/esm/node_modules/@mui/material/esm/Autocomplete/autocompleteClasses.js +2 -0
  319. package/dist/esm/node_modules/@mui/material/esm/Autocomplete/autocompleteClasses.js.map +1 -0
  320. package/dist/esm/node_modules/@mui/material/esm/Backdrop/Backdrop.js +1 -1
  321. package/dist/esm/node_modules/@mui/material/esm/Box/Box.js +1 -1
  322. package/dist/esm/node_modules/@mui/material/esm/Button/Button.js +1 -1
  323. package/dist/esm/node_modules/@mui/material/esm/ButtonBase/ButtonBase.js +1 -1
  324. package/dist/esm/node_modules/@mui/material/esm/ButtonBase/Ripple.js +1 -1
  325. package/dist/esm/node_modules/@mui/material/esm/ButtonBase/TouchRipple.js +1 -1
  326. package/dist/esm/node_modules/@mui/material/esm/Checkbox/Checkbox.js +1 -1
  327. package/dist/esm/node_modules/@mui/material/esm/Chip/Chip.js +3 -0
  328. package/dist/esm/node_modules/@mui/material/esm/Chip/Chip.js.map +1 -0
  329. package/dist/esm/node_modules/@mui/material/esm/Chip/chipClasses.js +2 -0
  330. package/dist/esm/node_modules/@mui/material/esm/Chip/chipClasses.js.map +1 -0
  331. package/dist/esm/node_modules/@mui/material/esm/CircularProgress/CircularProgress.js +1 -1
  332. package/dist/esm/node_modules/@mui/material/esm/DefaultPropsProvider/DefaultPropsProvider.js +1 -1
  333. package/dist/esm/node_modules/@mui/material/esm/Dialog/Dialog.js +1 -1
  334. package/dist/esm/node_modules/@mui/material/esm/DialogActions/DialogActions.js +1 -1
  335. package/dist/esm/node_modules/@mui/material/esm/DialogContent/DialogContent.js +1 -1
  336. package/dist/esm/node_modules/@mui/material/esm/DialogContentText/DialogContentText.js +1 -1
  337. package/dist/esm/node_modules/@mui/material/esm/DialogTitle/DialogTitle.js +1 -1
  338. package/dist/esm/node_modules/@mui/material/esm/Fade/Fade.js +1 -1
  339. package/dist/esm/node_modules/@mui/material/esm/FilledInput/FilledInput.js +3 -0
  340. package/dist/esm/node_modules/@mui/material/esm/FilledInput/FilledInput.js.map +1 -0
  341. package/dist/esm/node_modules/@mui/material/esm/FilledInput/filledInputClasses.js +2 -0
  342. package/dist/esm/node_modules/@mui/material/esm/FilledInput/filledInputClasses.js.map +1 -0
  343. package/dist/esm/node_modules/@mui/material/esm/FormControl/FormControl.js +3 -0
  344. package/dist/esm/node_modules/@mui/material/esm/FormControl/FormControl.js.map +1 -0
  345. package/dist/esm/node_modules/@mui/material/esm/FormControl/formControlClasses.js +2 -0
  346. package/dist/esm/node_modules/@mui/material/esm/FormControl/formControlClasses.js.map +1 -0
  347. package/dist/esm/node_modules/@mui/material/esm/FormControlLabel/FormControlLabel.js +1 -1
  348. package/dist/esm/node_modules/@mui/material/esm/FormHelperText/FormHelperText.js +3 -0
  349. package/dist/esm/node_modules/@mui/material/esm/FormHelperText/FormHelperText.js.map +1 -0
  350. package/dist/esm/node_modules/@mui/material/esm/FormHelperText/formHelperTextClasses.js +2 -0
  351. package/dist/esm/node_modules/@mui/material/esm/FormHelperText/formHelperTextClasses.js.map +1 -0
  352. package/dist/esm/node_modules/@mui/material/esm/FormLabel/FormLabel.js +3 -0
  353. package/dist/esm/node_modules/@mui/material/esm/FormLabel/FormLabel.js.map +1 -0
  354. package/dist/esm/node_modules/@mui/material/esm/FormLabel/formLabelClasses.js +2 -0
  355. package/dist/esm/node_modules/@mui/material/esm/FormLabel/formLabelClasses.js.map +1 -0
  356. package/dist/esm/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js +3 -0
  357. package/dist/esm/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  358. package/dist/esm/node_modules/@mui/material/esm/Grow/Grow.js +3 -0
  359. package/dist/esm/node_modules/@mui/material/esm/Grow/Grow.js.map +1 -0
  360. package/dist/esm/node_modules/@mui/material/esm/IconButton/IconButton.js +1 -1
  361. package/dist/esm/node_modules/@mui/material/esm/Input/Input.js +3 -0
  362. package/dist/esm/node_modules/@mui/material/esm/Input/Input.js.map +1 -0
  363. package/dist/esm/node_modules/@mui/material/esm/Input/inputClasses.js +2 -0
  364. package/dist/esm/node_modules/@mui/material/esm/Input/inputClasses.js.map +1 -0
  365. package/dist/esm/node_modules/@mui/material/esm/InputBase/InputBase.js +3 -0
  366. package/dist/esm/node_modules/@mui/material/esm/InputBase/InputBase.js.map +1 -0
  367. package/dist/esm/node_modules/@mui/material/esm/InputBase/inputBaseClasses.js +2 -0
  368. package/dist/esm/node_modules/@mui/material/esm/InputBase/inputBaseClasses.js.map +1 -0
  369. package/dist/esm/node_modules/@mui/material/esm/InputBase/utils.js +2 -0
  370. package/dist/esm/node_modules/@mui/material/esm/InputBase/utils.js.map +1 -0
  371. package/dist/esm/node_modules/@mui/material/esm/InputLabel/InputLabel.js +3 -0
  372. package/dist/esm/node_modules/@mui/material/esm/InputLabel/InputLabel.js.map +1 -0
  373. package/dist/esm/node_modules/@mui/material/esm/InputLabel/inputLabelClasses.js +2 -0
  374. package/dist/esm/node_modules/@mui/material/esm/InputLabel/inputLabelClasses.js.map +1 -0
  375. package/dist/esm/node_modules/@mui/material/esm/List/List.js +1 -1
  376. package/dist/esm/node_modules/@mui/material/esm/ListItem/ListItem.js +1 -1
  377. package/dist/esm/node_modules/@mui/material/esm/ListItemSecondaryAction/ListItemSecondaryAction.js +1 -1
  378. package/dist/esm/node_modules/@mui/material/esm/ListSubheader/ListSubheader.js +3 -0
  379. package/dist/esm/node_modules/@mui/material/esm/ListSubheader/ListSubheader.js.map +1 -0
  380. package/dist/esm/node_modules/@mui/material/esm/ListSubheader/listSubheaderClasses.js +2 -0
  381. package/dist/esm/node_modules/@mui/material/esm/ListSubheader/listSubheaderClasses.js.map +1 -0
  382. package/dist/esm/node_modules/@mui/material/esm/Menu/Menu.js +3 -0
  383. package/dist/esm/node_modules/@mui/material/esm/Menu/Menu.js.map +1 -0
  384. package/dist/esm/node_modules/@mui/material/esm/Menu/menuClasses.js +2 -0
  385. package/dist/esm/node_modules/@mui/material/esm/Menu/menuClasses.js.map +1 -0
  386. package/dist/esm/node_modules/@mui/material/esm/MenuList/MenuList.js +3 -0
  387. package/dist/esm/node_modules/@mui/material/esm/MenuList/MenuList.js.map +1 -0
  388. package/dist/esm/node_modules/@mui/material/esm/Modal/Modal.js +1 -1
  389. package/dist/esm/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js +3 -0
  390. package/dist/esm/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js.map +1 -0
  391. package/dist/esm/node_modules/@mui/material/esm/NativeSelect/nativeSelectClasses.js +2 -0
  392. package/dist/esm/node_modules/@mui/material/esm/NativeSelect/nativeSelectClasses.js.map +1 -0
  393. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/NotchedOutline.js +3 -0
  394. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/NotchedOutline.js.map +1 -0
  395. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/OutlinedInput.js +3 -0
  396. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/OutlinedInput.js.map +1 -0
  397. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/outlinedInputClasses.js +2 -0
  398. package/dist/esm/node_modules/@mui/material/esm/OutlinedInput/outlinedInputClasses.js.map +1 -0
  399. package/dist/esm/node_modules/@mui/material/esm/Paper/Paper.js +1 -1
  400. package/dist/esm/node_modules/@mui/material/esm/Popover/Popover.js +3 -0
  401. package/dist/esm/node_modules/@mui/material/esm/Popover/Popover.js.map +1 -0
  402. package/dist/esm/node_modules/@mui/material/esm/Popover/popoverClasses.js +2 -0
  403. package/dist/esm/node_modules/@mui/material/esm/Popover/popoverClasses.js.map +1 -0
  404. package/dist/esm/node_modules/@mui/material/esm/Popper/BasePopper.js +3 -0
  405. package/dist/esm/node_modules/@mui/material/esm/Popper/BasePopper.js.map +1 -0
  406. package/dist/esm/node_modules/@mui/material/esm/Popper/Popper.js +3 -0
  407. package/dist/esm/node_modules/@mui/material/esm/Popper/Popper.js.map +1 -0
  408. package/dist/esm/node_modules/@mui/material/esm/Popper/popperClasses.js +2 -0
  409. package/dist/esm/node_modules/@mui/material/esm/Popper/popperClasses.js.map +1 -0
  410. package/dist/esm/node_modules/@mui/material/esm/Portal/Portal.js +1 -1
  411. package/dist/esm/node_modules/@mui/material/esm/Select/Select.js +3 -0
  412. package/dist/esm/node_modules/@mui/material/esm/Select/Select.js.map +1 -0
  413. package/dist/esm/node_modules/@mui/material/esm/Select/SelectInput.js +3 -0
  414. package/dist/esm/node_modules/@mui/material/esm/Select/SelectInput.js.map +1 -0
  415. package/dist/esm/node_modules/@mui/material/esm/Select/selectClasses.js +2 -0
  416. package/dist/esm/node_modules/@mui/material/esm/Select/selectClasses.js.map +1 -0
  417. package/dist/esm/node_modules/@mui/material/esm/Slide/Slide.js +1 -1
  418. package/dist/esm/node_modules/@mui/material/esm/SvgIcon/SvgIcon.js +1 -1
  419. package/dist/esm/node_modules/@mui/material/esm/TextField/TextField.js +3 -0
  420. package/dist/esm/node_modules/@mui/material/esm/TextField/TextField.js.map +1 -0
  421. package/dist/esm/node_modules/@mui/material/esm/TextField/textFieldClasses.js +2 -0
  422. package/dist/esm/node_modules/@mui/material/esm/TextField/textFieldClasses.js.map +1 -0
  423. package/dist/esm/node_modules/@mui/material/esm/TextareaAutosize/TextareaAutosize.js +3 -0
  424. package/dist/esm/node_modules/@mui/material/esm/TextareaAutosize/TextareaAutosize.js.map +1 -0
  425. package/dist/esm/node_modules/@mui/material/esm/Typography/Typography.js +1 -1
  426. package/dist/esm/node_modules/@mui/material/esm/Unstable_TrapFocus/FocusTrap.js +1 -1
  427. package/dist/esm/node_modules/@mui/material/esm/internal/SwitchBase.js +1 -1
  428. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/ArrowDropDown.js +3 -0
  429. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/ArrowDropDown.js.map +1 -0
  430. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/Cancel.js +3 -0
  431. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/Cancel.js.map +1 -0
  432. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/Close.js +3 -0
  433. package/dist/esm/node_modules/@mui/material/esm/internal/svg-icons/Close.js.map +1 -0
  434. package/dist/esm/node_modules/@mui/material/esm/useAutocomplete/useAutocomplete.js +3 -0
  435. package/dist/esm/node_modules/@mui/material/esm/useAutocomplete/useAutocomplete.js.map +1 -0
  436. package/dist/esm/node_modules/@mui/material/esm/utils/getScrollbarSize.js +2 -0
  437. package/dist/esm/node_modules/@mui/material/esm/utils/getScrollbarSize.js.map +1 -0
  438. package/dist/esm/node_modules/@mui/material/esm/utils/ownerDocument.js +2 -0
  439. package/dist/esm/node_modules/@mui/material/esm/utils/ownerDocument.js.map +1 -0
  440. package/dist/esm/node_modules/@mui/material/esm/utils/unsupportedProp.js +2 -0
  441. package/dist/esm/node_modules/@mui/material/esm/utils/unsupportedProp.js.map +1 -0
  442. package/dist/esm/node_modules/@mui/material/esm/utils/useEnhancedEffect.js +3 -0
  443. package/dist/esm/node_modules/@mui/material/esm/utils/useEnhancedEffect.js.map +1 -0
  444. package/dist/esm/node_modules/@mui/material/esm/zero-styled/index.js +1 -1
  445. package/dist/esm/node_modules/@mui/material/esm/zero-styled/index.js.map +1 -1
  446. package/dist/esm/node_modules/@mui/material/node_modules/react-is/cjs/react-is.development.js +11 -0
  447. package/dist/esm/node_modules/@mui/material/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  448. package/dist/esm/node_modules/@mui/material/node_modules/react-is/cjs/react-is.production.js +11 -0
  449. package/dist/esm/node_modules/@mui/material/node_modules/react-is/cjs/react-is.production.js.map +1 -0
  450. package/dist/esm/node_modules/@mui/material/node_modules/react-is/index.js +2 -0
  451. package/dist/esm/node_modules/@mui/material/node_modules/react-is/index.js.map +1 -0
  452. package/dist/esm/node_modules/@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js +3 -0
  453. package/dist/esm/node_modules/@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  454. package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js +1 -1
  455. package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js +3 -0
  456. package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  457. package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.js +3 -0
  458. package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.js.map +1 -0
  459. package/dist/esm/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js +1 -1
  460. package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.js +1 -1
  461. package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.js.map +1 -1
  462. package/dist/esm/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js +1 -1
  463. package/dist/esm/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js +1 -1
  464. package/dist/esm/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +1 -1
  465. package/dist/esm/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js.map +1 -1
  466. package/dist/esm/node_modules/@mui/utils/esm/refType/refType.js +1 -1
  467. package/dist/esm/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js +2 -0
  468. package/dist/esm/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js.map +1 -0
  469. package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js +3 -0
  470. package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js.map +1 -0
  471. package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js +3 -0
  472. package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js.map +1 -0
  473. package/dist/esm/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.development.js +1 -1
  474. package/dist/esm/node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.js +1 -1
  475. package/dist/esm/node_modules/@mui/utils/node_modules/react-is/index.js +1 -1
  476. package/dist/esm/node_modules/@popperjs/core/lib/createPopper.js +2 -0
  477. package/dist/esm/node_modules/@popperjs/core/lib/createPopper.js.map +1 -0
  478. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.js +2 -0
  479. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.js.map +1 -0
  480. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +2 -0
  481. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.map +1 -0
  482. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +2 -0
  483. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -0
  484. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +2 -0
  485. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js.map +1 -0
  486. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +2 -0
  487. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.map +1 -0
  488. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +2 -0
  489. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.map +1 -0
  490. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +2 -0
  491. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.map +1 -0
  492. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +2 -0
  493. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.map +1 -0
  494. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +2 -0
  495. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.map +1 -0
  496. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +2 -0
  497. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.map +1 -0
  498. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +2 -0
  499. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.map +1 -0
  500. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +2 -0
  501. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js.map +1 -0
  502. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +2 -0
  503. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.map +1 -0
  504. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +2 -0
  505. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.map +1 -0
  506. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +2 -0
  507. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.map +1 -0
  508. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.js +2 -0
  509. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.map +1 -0
  510. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +2 -0
  511. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.map +1 -0
  512. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +2 -0
  513. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.map +1 -0
  514. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +2 -0
  515. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.map +1 -0
  516. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js +2 -0
  517. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.map +1 -0
  518. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +2 -0
  519. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.map +1 -0
  520. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +2 -0
  521. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.map +1 -0
  522. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +2 -0
  523. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.map +1 -0
  524. package/dist/esm/node_modules/@popperjs/core/lib/enums.js +2 -0
  525. package/dist/esm/node_modules/@popperjs/core/lib/enums.js.map +1 -0
  526. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +2 -0
  527. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -0
  528. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.js +2 -0
  529. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.js.map +1 -0
  530. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +2 -0
  531. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.map +1 -0
  532. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +2 -0
  533. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -0
  534. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.js +2 -0
  535. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -0
  536. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.js +2 -0
  537. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -0
  538. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.js +2 -0
  539. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -0
  540. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +2 -0
  541. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.map +1 -0
  542. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +2 -0
  543. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.map +1 -0
  544. package/dist/esm/node_modules/@popperjs/core/lib/popper.js +2 -0
  545. package/dist/esm/node_modules/@popperjs/core/lib/popper.js.map +1 -0
  546. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +2 -0
  547. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -0
  548. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.js +2 -0
  549. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.js.map +1 -0
  550. package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.js +2 -0
  551. package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -0
  552. package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.js +2 -0
  553. package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -0
  554. package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +2 -0
  555. package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -0
  556. package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.js +2 -0
  557. package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.js.map +1 -0
  558. package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.js +2 -0
  559. package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.map +1 -0
  560. package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +2 -0
  561. package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.map +1 -0
  562. package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +2 -0
  563. package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.map +1 -0
  564. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +2 -0
  565. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -0
  566. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +2 -0
  567. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -0
  568. package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.js +2 -0
  569. package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.js.map +1 -0
  570. package/dist/esm/node_modules/@popperjs/core/lib/utils/math.js +2 -0
  571. package/dist/esm/node_modules/@popperjs/core/lib/utils/math.js.map +1 -0
  572. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.js +2 -0
  573. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -0
  574. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +2 -0
  575. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.map +1 -0
  576. package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.js +2 -0
  577. package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -0
  578. package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.js +2 -0
  579. package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.map +1 -0
  580. package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.js +2 -0
  581. package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -0
  582. package/dist/esm/node_modules/@popperjs/core/lib/utils/within.js +2 -0
  583. package/dist/esm/node_modules/@popperjs/core/lib/utils/within.js.map +1 -0
  584. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +1 -1
  585. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  586. package/dist/esm/node_modules/prop-types/index.js +1 -1
  587. package/dist/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  588. package/dist/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  589. package/dist/esm/node_modules/react-transition-group/esm/Transition.js +1 -1
  590. package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.js +1 -1
  591. package/dist/esm/node_modules/react-transition-group/esm/utils/PropTypes.js +1 -1
  592. package/dist/esm/types/components/index.d.ts +1 -0
  593. package/dist/esm/types/components/index.d.ts.map +1 -1
  594. package/dist/esm/types/components/input/index.d.ts +2 -0
  595. package/dist/esm/types/components/input/index.d.ts.map +1 -0
  596. package/dist/esm/types/components/input/input.d.ts +4 -0
  597. package/dist/esm/types/components/input/input.d.ts.map +1 -0
  598. package/dist/esm/types/components/input/types.d.ts +6 -0
  599. package/dist/esm/types/components/input/types.d.ts.map +1 -0
  600. package/dist/esm/types/components/select/index.d.ts +2 -0
  601. package/dist/esm/types/components/select/index.d.ts.map +1 -0
  602. package/dist/esm/types/components/select/select.d.ts +13 -0
  603. package/dist/esm/types/components/select/select.d.ts.map +1 -0
  604. package/dist/esm/types/components/select/select.stories.d.ts +7 -0
  605. package/dist/esm/types/components/select/select.stories.d.ts.map +1 -0
  606. package/package.json +1 -1
@@ -0,0 +1,1066 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+ var useId = require('../../../utils/esm/useId/useId.js');
8
+ var useControlled = require('../../../utils/esm/useControlled/useControlled.js');
9
+ var usePreviousProps = require('../../../utils/esm/usePreviousProps/usePreviousProps.js');
10
+ var useEventCallback = require('../../../utils/esm/useEventCallback/useEventCallback.js');
11
+ var setRef = require('../../../utils/esm/setRef/setRef.js');
12
+
13
+ function _interopNamespace(e) {
14
+ if (e && e.__esModule) return e;
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n["default"] = e;
28
+ return Object.freeze(n);
29
+ }
30
+
31
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
+
33
+ function areArraysSame({
34
+ array1,
35
+ array2,
36
+ parser = value => value
37
+ }) {
38
+ return array1 && array2 && array1.length === array2.length && array1.every((prevOption, index) => parser(prevOption) === parser(array2[index]));
39
+ }
40
+
41
+ // https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript
42
+ function stripDiacritics(string) {
43
+ return string.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
44
+ }
45
+ function createFilterOptions(config = {}) {
46
+ const {
47
+ ignoreAccents = true,
48
+ ignoreCase = true,
49
+ limit,
50
+ matchFrom = 'any',
51
+ stringify,
52
+ trim = false
53
+ } = config;
54
+ return (options, {
55
+ inputValue,
56
+ getOptionLabel
57
+ }) => {
58
+ let input = trim ? inputValue.trim() : inputValue;
59
+ if (ignoreCase) {
60
+ input = input.toLowerCase();
61
+ }
62
+ if (ignoreAccents) {
63
+ input = stripDiacritics(input);
64
+ }
65
+ const filteredOptions = !input ? options : options.filter(option => {
66
+ let candidate = (stringify || getOptionLabel)(option);
67
+ if (ignoreCase) {
68
+ candidate = candidate.toLowerCase();
69
+ }
70
+ if (ignoreAccents) {
71
+ candidate = stripDiacritics(candidate);
72
+ }
73
+ return matchFrom === 'start' ? candidate.startsWith(input) : candidate.includes(input);
74
+ });
75
+ return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;
76
+ };
77
+ }
78
+ const defaultFilterOptions = createFilterOptions();
79
+
80
+ // Number of options to jump in list box when `Page Up` and `Page Down` keys are used.
81
+ const pageSize = 5;
82
+ const defaultIsActiveElementInListbox = listboxRef => listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement);
83
+ const MULTIPLE_DEFAULT_VALUE = [];
84
+ function getInputValue(value, multiple, getOptionLabel, renderValue) {
85
+ if (multiple || value == null || renderValue) {
86
+ return '';
87
+ }
88
+ const optionLabel = getOptionLabel(value);
89
+ return typeof optionLabel === 'string' ? optionLabel : '';
90
+ }
91
+ function useAutocomplete(props) {
92
+ const {
93
+ // eslint-disable-next-line @typescript-eslint/naming-convention
94
+ unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,
95
+ // eslint-disable-next-line @typescript-eslint/naming-convention
96
+ unstable_classNamePrefix = 'Mui',
97
+ autoComplete = false,
98
+ autoHighlight = false,
99
+ autoSelect = false,
100
+ blurOnSelect = false,
101
+ clearOnBlur = !props.freeSolo,
102
+ clearOnEscape = false,
103
+ componentName = 'useAutocomplete',
104
+ defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null,
105
+ disableClearable = false,
106
+ disableCloseOnSelect = false,
107
+ disabled: disabledProp,
108
+ disabledItemsFocusable = false,
109
+ disableListWrap = false,
110
+ filterOptions = defaultFilterOptions,
111
+ filterSelectedOptions = false,
112
+ freeSolo = false,
113
+ getOptionDisabled,
114
+ getOptionKey,
115
+ getOptionLabel: getOptionLabelProp = option => option.label ?? option,
116
+ groupBy,
117
+ handleHomeEndKeys = !props.freeSolo,
118
+ id: idProp,
119
+ includeInputInList = false,
120
+ inputValue: inputValueProp,
121
+ isOptionEqualToValue = (option, value) => option === value,
122
+ multiple = false,
123
+ onChange,
124
+ onClose,
125
+ onHighlightChange,
126
+ onInputChange,
127
+ onOpen,
128
+ open: openProp,
129
+ openOnFocus = false,
130
+ options,
131
+ readOnly = false,
132
+ renderValue,
133
+ selectOnFocus = !props.freeSolo,
134
+ value: valueProp
135
+ } = props;
136
+ const id = useId["default"](idProp);
137
+ let getOptionLabel = getOptionLabelProp;
138
+ getOptionLabel = option => {
139
+ const optionLabel = getOptionLabelProp(option);
140
+ if (typeof optionLabel !== 'string') {
141
+ if (process.env.NODE_ENV !== 'production') {
142
+ const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;
143
+ console.error(`MUI: The \`getOptionLabel\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);
144
+ }
145
+ return String(optionLabel);
146
+ }
147
+ return optionLabel;
148
+ };
149
+ const ignoreFocus = React__namespace.useRef(false);
150
+ const firstFocus = React__namespace.useRef(true);
151
+ const inputRef = React__namespace.useRef(null);
152
+ const listboxRef = React__namespace.useRef(null);
153
+ const [anchorEl, setAnchorEl] = React__namespace.useState(null);
154
+ const [focusedItem, setFocusedItem] = React__namespace.useState(-1);
155
+ const defaultHighlighted = autoHighlight ? 0 : -1;
156
+ const highlightedIndexRef = React__namespace.useRef(defaultHighlighted);
157
+
158
+ // Calculate the initial inputValue on mount only.
159
+ // useRef ensures it doesn't update dynamically with defaultValue or value props.
160
+ const initialInputValue = React__namespace.useRef(getInputValue(defaultValue ?? valueProp, multiple, getOptionLabel)).current;
161
+ const [value, setValueState] = useControlled["default"]({
162
+ controlled: valueProp,
163
+ default: defaultValue,
164
+ name: componentName
165
+ });
166
+ const [inputValue, setInputValueState] = useControlled["default"]({
167
+ controlled: inputValueProp,
168
+ default: initialInputValue,
169
+ name: componentName,
170
+ state: 'inputValue'
171
+ });
172
+ const [focused, setFocused] = React__namespace.useState(false);
173
+ const resetInputValue = React__namespace.useCallback((event, newValue, reason) => {
174
+ // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false
175
+ // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item
176
+ const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;
177
+ if (!isOptionSelected && !clearOnBlur) {
178
+ return;
179
+ }
180
+ const newInputValue = getInputValue(newValue, multiple, getOptionLabel, renderValue);
181
+ if (inputValue === newInputValue) {
182
+ return;
183
+ }
184
+ setInputValueState(newInputValue);
185
+ if (onInputChange) {
186
+ onInputChange(event, newInputValue, reason);
187
+ }
188
+ }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value, renderValue]);
189
+ const [open, setOpenState] = useControlled["default"]({
190
+ controlled: openProp,
191
+ default: false,
192
+ name: componentName,
193
+ state: 'open'
194
+ });
195
+ const [inputPristine, setInputPristine] = React__namespace.useState(true);
196
+ const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);
197
+ const popupOpen = open && !readOnly;
198
+ const filteredOptions = popupOpen ? filterOptions(options.filter(option => {
199
+ if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {
200
+ return false;
201
+ }
202
+ return true;
203
+ }),
204
+ // we use the empty string to manipulate `filterOptions` to not filter any options
205
+ // i.e. the filter predicate always returns true
206
+ {
207
+ inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,
208
+ getOptionLabel
209
+ }) : [];
210
+ const previousProps = usePreviousProps["default"]({
211
+ filteredOptions,
212
+ value,
213
+ inputValue
214
+ });
215
+ React__namespace.useEffect(() => {
216
+ const valueChange = value !== previousProps.value;
217
+ if (focused && !valueChange) {
218
+ return;
219
+ }
220
+
221
+ // Only reset the input's value when freeSolo if the component's value changes.
222
+ if (freeSolo && !valueChange) {
223
+ return;
224
+ }
225
+ resetInputValue(null, value, 'reset');
226
+ }, [value, resetInputValue, focused, previousProps.value, freeSolo]);
227
+ const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;
228
+ const focusItem = useEventCallback["default"](itemToFocus => {
229
+ if (itemToFocus === -1) {
230
+ inputRef.current.focus();
231
+ } else {
232
+ // Using `data-tag-index` for deprecated `renderTags`. Remove when `renderTags` is gone.
233
+ const indexType = renderValue ? 'data-item-index' : 'data-tag-index';
234
+ anchorEl.querySelector(`[${indexType}="${itemToFocus}"]`).focus();
235
+ }
236
+ });
237
+
238
+ // Ensure the focusedItem is never inconsistent
239
+ React__namespace.useEffect(() => {
240
+ if (multiple && focusedItem > value.length - 1) {
241
+ setFocusedItem(-1);
242
+ focusItem(-1);
243
+ }
244
+ }, [value, multiple, focusedItem, focusItem]);
245
+ function validOptionIndex(index, direction) {
246
+ if (!listboxRef.current || index < 0 || index >= filteredOptions.length) {
247
+ return -1;
248
+ }
249
+ let nextFocus = index;
250
+ while (true) {
251
+ const option = listboxRef.current.querySelector(`[data-option-index="${nextFocus}"]`);
252
+
253
+ // Same logic as MenuList.js
254
+ const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';
255
+ if (option && option.hasAttribute('tabindex') && !nextFocusDisabled) {
256
+ // The next option is available
257
+ return nextFocus;
258
+ }
259
+
260
+ // The next option is disabled, move to the next element.
261
+ // with looped index
262
+ if (direction === 'next') {
263
+ nextFocus = (nextFocus + 1) % filteredOptions.length;
264
+ } else {
265
+ nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;
266
+ }
267
+
268
+ // We end up with initial index, that means we don't have available options.
269
+ // All of them are disabled
270
+ if (nextFocus === index) {
271
+ return -1;
272
+ }
273
+ }
274
+ }
275
+ const setHighlightedIndex = useEventCallback["default"](({
276
+ event,
277
+ index,
278
+ reason
279
+ }) => {
280
+ highlightedIndexRef.current = index;
281
+
282
+ // does the index exist?
283
+ if (index === -1) {
284
+ inputRef.current.removeAttribute('aria-activedescendant');
285
+ } else {
286
+ inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);
287
+ }
288
+ if (onHighlightChange && ['mouse', 'keyboard', 'touch'].includes(reason)) {
289
+ onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);
290
+ }
291
+ if (!listboxRef.current) {
292
+ return;
293
+ }
294
+ const prev = listboxRef.current.querySelector(`[role="option"].${unstable_classNamePrefix}-focused`);
295
+ if (prev) {
296
+ prev.classList.remove(`${unstable_classNamePrefix}-focused`);
297
+ prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);
298
+ }
299
+ let listboxNode = listboxRef.current;
300
+ if (listboxRef.current.getAttribute('role') !== 'listbox') {
301
+ listboxNode = listboxRef.current.parentElement.querySelector('[role="listbox"]');
302
+ }
303
+
304
+ // "No results"
305
+ if (!listboxNode) {
306
+ return;
307
+ }
308
+ if (index === -1) {
309
+ listboxNode.scrollTop = 0;
310
+ return;
311
+ }
312
+ const option = listboxRef.current.querySelector(`[data-option-index="${index}"]`);
313
+ if (!option) {
314
+ return;
315
+ }
316
+ option.classList.add(`${unstable_classNamePrefix}-focused`);
317
+ if (reason === 'keyboard') {
318
+ option.classList.add(`${unstable_classNamePrefix}-focusVisible`);
319
+ }
320
+
321
+ // Scroll active descendant into view.
322
+ // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js
323
+ // In case of mouse clicks and touch (in mobile devices) we avoid scrolling the element and keep both behaviors same.
324
+ // Consider this API instead once it has a better browser support:
325
+ // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });
326
+ if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse' && reason !== 'touch') {
327
+ const element = option;
328
+ const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;
329
+ const elementBottom = element.offsetTop + element.offsetHeight;
330
+ if (elementBottom > scrollBottom) {
331
+ listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;
332
+ } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {
333
+ listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);
334
+ }
335
+ }
336
+ });
337
+ const changeHighlightedIndex = useEventCallback["default"](({
338
+ event,
339
+ diff,
340
+ direction = 'next',
341
+ reason
342
+ }) => {
343
+ if (!popupOpen) {
344
+ return;
345
+ }
346
+ const getNextIndex = () => {
347
+ const maxIndex = filteredOptions.length - 1;
348
+ if (diff === 'reset') {
349
+ return defaultHighlighted;
350
+ }
351
+ if (diff === 'start') {
352
+ return 0;
353
+ }
354
+ if (diff === 'end') {
355
+ return maxIndex;
356
+ }
357
+ const newIndex = highlightedIndexRef.current + diff;
358
+ if (newIndex < 0) {
359
+ if (newIndex === -1 && includeInputInList) {
360
+ return -1;
361
+ }
362
+ if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {
363
+ return 0;
364
+ }
365
+ return maxIndex;
366
+ }
367
+ if (newIndex > maxIndex) {
368
+ if (newIndex === maxIndex + 1 && includeInputInList) {
369
+ return -1;
370
+ }
371
+ if (disableListWrap || Math.abs(diff) > 1) {
372
+ return maxIndex;
373
+ }
374
+ return 0;
375
+ }
376
+ return newIndex;
377
+ };
378
+ const nextIndex = validOptionIndex(getNextIndex(), direction);
379
+ setHighlightedIndex({
380
+ index: nextIndex,
381
+ reason,
382
+ event
383
+ });
384
+
385
+ // Sync the content of the input with the highlighted option.
386
+ if (autoComplete && diff !== 'reset') {
387
+ if (nextIndex === -1) {
388
+ inputRef.current.value = inputValue;
389
+ } else {
390
+ const option = getOptionLabel(filteredOptions[nextIndex]);
391
+ inputRef.current.value = option;
392
+
393
+ // The portion of the selected suggestion that has not been typed by the user,
394
+ // a completion string, appears inline after the input cursor in the textbox.
395
+ const index = option.toLowerCase().indexOf(inputValue.toLowerCase());
396
+ if (index === 0 && inputValue.length > 0) {
397
+ inputRef.current.setSelectionRange(inputValue.length, option.length);
398
+ }
399
+ }
400
+ }
401
+ });
402
+ const filteredOptionsChanged = !areArraysSame({
403
+ array1: previousProps.filteredOptions,
404
+ array2: filteredOptions,
405
+ parser: getOptionLabel
406
+ });
407
+ const getPreviousHighlightedOptionIndex = () => {
408
+ const isSameValue = (value1, value2) => {
409
+ const label1 = value1 ? getOptionLabel(value1) : '';
410
+ const label2 = value2 ? getOptionLabel(value2) : '';
411
+ return label1 === label2;
412
+ };
413
+ if (highlightedIndexRef.current !== -1 && !areArraysSame({
414
+ array1: previousProps.filteredOptions,
415
+ array2: filteredOptions,
416
+ parser: getOptionLabel
417
+ }) && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {
418
+ const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];
419
+ if (previousHighlightedOption) {
420
+ return filteredOptions.findIndex(option => {
421
+ return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);
422
+ });
423
+ }
424
+ }
425
+ return -1;
426
+ };
427
+ const syncHighlightedIndex = React__namespace.useCallback(() => {
428
+ if (!popupOpen) {
429
+ return;
430
+ }
431
+
432
+ // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed
433
+ // If it exists and the value and the inputValue haven't changed, just update its index, otherwise continue execution
434
+ const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();
435
+ if (previousHighlightedOptionIndex !== -1) {
436
+ highlightedIndexRef.current = previousHighlightedOptionIndex;
437
+ return;
438
+ }
439
+ const valueItem = multiple ? value[0] : value;
440
+
441
+ // The popup is empty, reset
442
+ if (filteredOptions.length === 0 || valueItem == null) {
443
+ changeHighlightedIndex({
444
+ diff: 'reset'
445
+ });
446
+ return;
447
+ }
448
+ if (!listboxRef.current) {
449
+ return;
450
+ }
451
+
452
+ // Synchronize the value with the highlighted index
453
+ if (valueItem != null) {
454
+ const currentOption = filteredOptions[highlightedIndexRef.current];
455
+
456
+ // Keep the current highlighted index if possible
457
+ if (multiple && currentOption && value.findIndex(val => isOptionEqualToValue(currentOption, val)) !== -1) {
458
+ return;
459
+ }
460
+ const itemIndex = filteredOptions.findIndex(optionItem => isOptionEqualToValue(optionItem, valueItem));
461
+ if (itemIndex === -1) {
462
+ changeHighlightedIndex({
463
+ diff: 'reset'
464
+ });
465
+ } else {
466
+ setHighlightedIndex({
467
+ index: itemIndex
468
+ });
469
+ }
470
+ return;
471
+ }
472
+
473
+ // Prevent the highlighted index to leak outside the boundaries.
474
+ if (highlightedIndexRef.current >= filteredOptions.length - 1) {
475
+ setHighlightedIndex({
476
+ index: filteredOptions.length - 1
477
+ });
478
+ return;
479
+ }
480
+
481
+ // Restore the focus to the previous index.
482
+ setHighlightedIndex({
483
+ index: highlightedIndexRef.current
484
+ });
485
+ // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position
486
+ // eslint-disable-next-line react-hooks/exhaustive-deps
487
+ }, [
488
+ // Only sync the highlighted index when the option switch between empty and not
489
+ filteredOptions.length,
490
+ // Don't sync the highlighted index with the value when multiple
491
+ // eslint-disable-next-line react-hooks/exhaustive-deps
492
+ multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);
493
+ const handleListboxRef = useEventCallback["default"](node => {
494
+ setRef["default"](listboxRef, node);
495
+ if (!node) {
496
+ return;
497
+ }
498
+ syncHighlightedIndex();
499
+ });
500
+ if (process.env.NODE_ENV !== 'production') {
501
+ // eslint-disable-next-line react-hooks/rules-of-hooks
502
+ React__namespace.useEffect(() => {
503
+ if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {
504
+ if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {
505
+ console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\n'));
506
+ } else {
507
+ console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\n'));
508
+ }
509
+ }
510
+ }, [componentName]);
511
+ }
512
+ React__namespace.useEffect(() => {
513
+ if (filteredOptionsChanged) {
514
+ syncHighlightedIndex();
515
+ }
516
+ }, [syncHighlightedIndex, filteredOptionsChanged]);
517
+ const handleOpen = event => {
518
+ if (open) {
519
+ return;
520
+ }
521
+ setOpenState(true);
522
+ setInputPristine(true);
523
+ if (onOpen) {
524
+ onOpen(event);
525
+ }
526
+ };
527
+ const handleClose = (event, reason) => {
528
+ if (!open) {
529
+ return;
530
+ }
531
+ setOpenState(false);
532
+ if (onClose) {
533
+ onClose(event, reason);
534
+ }
535
+ };
536
+ const handleValue = (event, newValue, reason, details) => {
537
+ if (multiple) {
538
+ if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {
539
+ return;
540
+ }
541
+ } else if (value === newValue) {
542
+ return;
543
+ }
544
+ if (onChange) {
545
+ onChange(event, newValue, reason, details);
546
+ }
547
+ setValueState(newValue);
548
+ };
549
+ const isTouch = React__namespace.useRef(false);
550
+ const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {
551
+ let reason = reasonProp;
552
+ let newValue = option;
553
+ if (multiple) {
554
+ newValue = Array.isArray(value) ? value.slice() : [];
555
+ if (process.env.NODE_ENV !== 'production') {
556
+ const matches = newValue.filter(val => isOptionEqualToValue(option, val));
557
+ if (matches.length > 1) {
558
+ console.error([`MUI: The \`isOptionEqualToValue\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\n'));
559
+ }
560
+ }
561
+ const itemIndex = newValue.findIndex(valueItem => isOptionEqualToValue(option, valueItem));
562
+ if (itemIndex === -1) {
563
+ newValue.push(option);
564
+ } else if (origin !== 'freeSolo') {
565
+ newValue.splice(itemIndex, 1);
566
+ reason = 'removeOption';
567
+ }
568
+ }
569
+ resetInputValue(event, newValue, reason);
570
+ handleValue(event, newValue, reason, {
571
+ option
572
+ });
573
+ if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {
574
+ handleClose(event, reason);
575
+ }
576
+ if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {
577
+ inputRef.current.blur();
578
+ }
579
+ };
580
+ function validItemIndex(index, direction) {
581
+ if (index === -1) {
582
+ return -1;
583
+ }
584
+ let nextFocus = index;
585
+ while (true) {
586
+ // Out of range
587
+ if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {
588
+ return -1;
589
+ }
590
+
591
+ // Using `data-tag-index` for deprecated `renderTags`. Remove when `renderTags` is removed.
592
+ const indexType = renderValue ? 'data-item-index' : 'data-tag-index';
593
+ const option = anchorEl.querySelector(`[${indexType}="${nextFocus}"]`);
594
+
595
+ // Same logic as MenuList.js
596
+ if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {
597
+ nextFocus += direction === 'next' ? 1 : -1;
598
+ } else {
599
+ return nextFocus;
600
+ }
601
+ }
602
+ }
603
+ const handleFocusItem = (event, direction) => {
604
+ if (!multiple) {
605
+ return;
606
+ }
607
+ if (inputValue === '') {
608
+ handleClose(event, 'toggleInput');
609
+ }
610
+ let nextItem = focusedItem;
611
+ if (focusedItem === -1) {
612
+ if (inputValue === '' && direction === 'previous') {
613
+ nextItem = value.length - 1;
614
+ }
615
+ } else {
616
+ nextItem += direction === 'next' ? 1 : -1;
617
+ if (nextItem < 0) {
618
+ nextItem = 0;
619
+ }
620
+ if (nextItem === value.length) {
621
+ nextItem = -1;
622
+ }
623
+ }
624
+ nextItem = validItemIndex(nextItem, direction);
625
+ setFocusedItem(nextItem);
626
+ focusItem(nextItem);
627
+ };
628
+ const handleClear = event => {
629
+ ignoreFocus.current = true;
630
+ setInputValueState('');
631
+ if (onInputChange) {
632
+ onInputChange(event, '', 'clear');
633
+ }
634
+ handleValue(event, multiple ? [] : null, 'clear');
635
+ };
636
+ const handleKeyDown = other => event => {
637
+ if (other.onKeyDown) {
638
+ other.onKeyDown(event);
639
+ }
640
+ if (event.defaultMuiPrevented) {
641
+ return;
642
+ }
643
+ if (focusedItem !== -1 && !['ArrowLeft', 'ArrowRight'].includes(event.key)) {
644
+ setFocusedItem(-1);
645
+ focusItem(-1);
646
+ }
647
+
648
+ // Wait until IME is settled.
649
+ if (event.which !== 229) {
650
+ switch (event.key) {
651
+ case 'Home':
652
+ if (popupOpen && handleHomeEndKeys) {
653
+ // Prevent scroll of the page
654
+ event.preventDefault();
655
+ changeHighlightedIndex({
656
+ diff: 'start',
657
+ direction: 'next',
658
+ reason: 'keyboard',
659
+ event
660
+ });
661
+ }
662
+ break;
663
+ case 'End':
664
+ if (popupOpen && handleHomeEndKeys) {
665
+ // Prevent scroll of the page
666
+ event.preventDefault();
667
+ changeHighlightedIndex({
668
+ diff: 'end',
669
+ direction: 'previous',
670
+ reason: 'keyboard',
671
+ event
672
+ });
673
+ }
674
+ break;
675
+ case 'PageUp':
676
+ // Prevent scroll of the page
677
+ event.preventDefault();
678
+ changeHighlightedIndex({
679
+ diff: -pageSize,
680
+ direction: 'previous',
681
+ reason: 'keyboard',
682
+ event
683
+ });
684
+ handleOpen(event);
685
+ break;
686
+ case 'PageDown':
687
+ // Prevent scroll of the page
688
+ event.preventDefault();
689
+ changeHighlightedIndex({
690
+ diff: pageSize,
691
+ direction: 'next',
692
+ reason: 'keyboard',
693
+ event
694
+ });
695
+ handleOpen(event);
696
+ break;
697
+ case 'ArrowDown':
698
+ // Prevent cursor move
699
+ event.preventDefault();
700
+ changeHighlightedIndex({
701
+ diff: 1,
702
+ direction: 'next',
703
+ reason: 'keyboard',
704
+ event
705
+ });
706
+ handleOpen(event);
707
+ break;
708
+ case 'ArrowUp':
709
+ // Prevent cursor move
710
+ event.preventDefault();
711
+ changeHighlightedIndex({
712
+ diff: -1,
713
+ direction: 'previous',
714
+ reason: 'keyboard',
715
+ event
716
+ });
717
+ handleOpen(event);
718
+ break;
719
+ case 'ArrowLeft':
720
+ if (!multiple && renderValue) {
721
+ focusItem(0);
722
+ } else {
723
+ handleFocusItem(event, 'previous');
724
+ }
725
+ break;
726
+ case 'ArrowRight':
727
+ if (!multiple && renderValue) {
728
+ focusItem(-1);
729
+ } else {
730
+ handleFocusItem(event, 'next');
731
+ }
732
+ break;
733
+ case 'Enter':
734
+ if (highlightedIndexRef.current !== -1 && popupOpen) {
735
+ const option = filteredOptions[highlightedIndexRef.current];
736
+ const disabled = getOptionDisabled ? getOptionDisabled(option) : false;
737
+
738
+ // Avoid early form validation, let the end-users continue filling the form.
739
+ event.preventDefault();
740
+ if (disabled) {
741
+ return;
742
+ }
743
+ selectNewValue(event, option, 'selectOption');
744
+
745
+ // Move the selection to the end.
746
+ if (autoComplete) {
747
+ inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);
748
+ }
749
+ } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {
750
+ if (multiple) {
751
+ // Allow people to add new values before they submit the form.
752
+ event.preventDefault();
753
+ }
754
+ selectNewValue(event, inputValue, 'createOption', 'freeSolo');
755
+ }
756
+ break;
757
+ case 'Escape':
758
+ if (popupOpen) {
759
+ // Avoid Opera to exit fullscreen mode.
760
+ event.preventDefault();
761
+ // Avoid the Modal to handle the event.
762
+ event.stopPropagation();
763
+ handleClose(event, 'escape');
764
+ } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0 || renderValue)) {
765
+ // Avoid Opera to exit fullscreen mode.
766
+ event.preventDefault();
767
+ // Avoid the Modal to handle the event.
768
+ event.stopPropagation();
769
+ handleClear(event);
770
+ }
771
+ break;
772
+ case 'Backspace':
773
+ // Remove the value on the left of the "cursor"
774
+ if (multiple && !readOnly && inputValue === '' && value.length > 0) {
775
+ const index = focusedItem === -1 ? value.length - 1 : focusedItem;
776
+ const newValue = value.slice();
777
+ newValue.splice(index, 1);
778
+ handleValue(event, newValue, 'removeOption', {
779
+ option: value[index]
780
+ });
781
+ }
782
+ if (!multiple && renderValue && !readOnly) {
783
+ setValueState(null);
784
+ focusItem(-1);
785
+ }
786
+ break;
787
+ case 'Delete':
788
+ // Remove the value on the right of the "cursor"
789
+ if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedItem !== -1) {
790
+ const index = focusedItem;
791
+ const newValue = value.slice();
792
+ newValue.splice(index, 1);
793
+ handleValue(event, newValue, 'removeOption', {
794
+ option: value[index]
795
+ });
796
+ }
797
+ if (!multiple && renderValue && !readOnly) {
798
+ setValueState(null);
799
+ focusItem(-1);
800
+ }
801
+ break;
802
+ }
803
+ }
804
+ };
805
+ const handleFocus = event => {
806
+ setFocused(true);
807
+ if (openOnFocus && !ignoreFocus.current) {
808
+ handleOpen(event);
809
+ }
810
+ };
811
+ const handleBlur = event => {
812
+ // Ignore the event when using the scrollbar with IE11
813
+ if (unstable_isActiveElementInListbox(listboxRef)) {
814
+ inputRef.current.focus();
815
+ return;
816
+ }
817
+ setFocused(false);
818
+ firstFocus.current = true;
819
+ ignoreFocus.current = false;
820
+ if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {
821
+ selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');
822
+ } else if (autoSelect && freeSolo && inputValue !== '') {
823
+ selectNewValue(event, inputValue, 'blur', 'freeSolo');
824
+ } else if (clearOnBlur) {
825
+ resetInputValue(event, value, 'blur');
826
+ }
827
+ handleClose(event, 'blur');
828
+ };
829
+ const handleInputChange = event => {
830
+ const newValue = event.target.value;
831
+ if (inputValue !== newValue) {
832
+ setInputValueState(newValue);
833
+ setInputPristine(false);
834
+ if (onInputChange) {
835
+ onInputChange(event, newValue, 'input');
836
+ }
837
+ }
838
+ if (newValue === '') {
839
+ if (!disableClearable && !multiple) {
840
+ handleValue(event, null, 'clear');
841
+ }
842
+ } else {
843
+ handleOpen(event);
844
+ }
845
+ };
846
+ const handleOptionMouseMove = event => {
847
+ const index = Number(event.currentTarget.getAttribute('data-option-index'));
848
+ if (highlightedIndexRef.current !== index) {
849
+ setHighlightedIndex({
850
+ event,
851
+ index,
852
+ reason: 'mouse'
853
+ });
854
+ }
855
+ };
856
+ const handleOptionTouchStart = event => {
857
+ setHighlightedIndex({
858
+ event,
859
+ index: Number(event.currentTarget.getAttribute('data-option-index')),
860
+ reason: 'touch'
861
+ });
862
+ isTouch.current = true;
863
+ };
864
+ const handleOptionClick = event => {
865
+ const index = Number(event.currentTarget.getAttribute('data-option-index'));
866
+ selectNewValue(event, filteredOptions[index], 'selectOption');
867
+ isTouch.current = false;
868
+ };
869
+ const handleItemDelete = index => event => {
870
+ const newValue = value.slice();
871
+ newValue.splice(index, 1);
872
+ handleValue(event, newValue, 'removeOption', {
873
+ option: value[index]
874
+ });
875
+ };
876
+ const handleSingleItemDelete = event => {
877
+ handleValue(event, null, 'removeOption', {
878
+ option: value
879
+ });
880
+ };
881
+ const handlePopupIndicator = event => {
882
+ if (open) {
883
+ handleClose(event, 'toggleInput');
884
+ } else {
885
+ handleOpen(event);
886
+ }
887
+ };
888
+
889
+ // Prevent input blur when interacting with the combobox
890
+ const handleMouseDown = event => {
891
+ // Prevent focusing the input if click is anywhere outside the Autocomplete
892
+ if (!event.currentTarget.contains(event.target)) {
893
+ return;
894
+ }
895
+ if (event.target.getAttribute('id') !== id) {
896
+ event.preventDefault();
897
+ }
898
+ };
899
+
900
+ // Focus the input when interacting with the combobox
901
+ const handleClick = event => {
902
+ // Prevent focusing the input if click is anywhere outside the Autocomplete
903
+ if (!event.currentTarget.contains(event.target)) {
904
+ return;
905
+ }
906
+ inputRef.current.focus();
907
+ if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {
908
+ inputRef.current.select();
909
+ }
910
+ firstFocus.current = false;
911
+ };
912
+ const handleInputMouseDown = event => {
913
+ if (!disabledProp && (inputValue === '' || !open)) {
914
+ handlePopupIndicator(event);
915
+ }
916
+ };
917
+ let dirty = freeSolo && inputValue.length > 0;
918
+ dirty = dirty || (multiple ? value.length > 0 : value !== null);
919
+ let groupedOptions = filteredOptions;
920
+ if (groupBy) {
921
+ // used to keep track of key and indexes in the result array
922
+ const indexBy = new Map();
923
+ let warn = false;
924
+ groupedOptions = filteredOptions.reduce((acc, option, index) => {
925
+ const group = groupBy(option);
926
+ if (acc.length > 0 && acc[acc.length - 1].group === group) {
927
+ acc[acc.length - 1].options.push(option);
928
+ } else {
929
+ if (process.env.NODE_ENV !== 'production') {
930
+ if (indexBy.get(group) && !warn) {
931
+ console.warn(`MUI: The options provided combined with the \`groupBy\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');
932
+ warn = true;
933
+ }
934
+ indexBy.set(group, true);
935
+ }
936
+ acc.push({
937
+ key: index,
938
+ index,
939
+ group,
940
+ options: [option]
941
+ });
942
+ }
943
+ return acc;
944
+ }, []);
945
+ }
946
+ if (disabledProp && focused) {
947
+ handleBlur();
948
+ }
949
+ return {
950
+ getRootProps: (other = {}) => ({
951
+ ...other,
952
+ onKeyDown: handleKeyDown(other),
953
+ onMouseDown: handleMouseDown,
954
+ onClick: handleClick
955
+ }),
956
+ getInputLabelProps: () => ({
957
+ id: `${id}-label`,
958
+ htmlFor: id
959
+ }),
960
+ getInputProps: () => ({
961
+ id,
962
+ value: inputValue,
963
+ onBlur: handleBlur,
964
+ onFocus: handleFocus,
965
+ onChange: handleInputChange,
966
+ onMouseDown: handleInputMouseDown,
967
+ // if open then this is handled imperatively so don't let react override
968
+ // only have an opinion about this when closed
969
+ 'aria-activedescendant': popupOpen ? '' : null,
970
+ 'aria-autocomplete': autoComplete ? 'both' : 'list',
971
+ 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,
972
+ 'aria-expanded': listboxAvailable,
973
+ // Disable browser's suggestion that might overlap with the popup.
974
+ // Handle autocomplete but not autofill.
975
+ autoComplete: 'off',
976
+ ref: inputRef,
977
+ autoCapitalize: 'none',
978
+ spellCheck: 'false',
979
+ role: 'combobox',
980
+ disabled: disabledProp
981
+ }),
982
+ getClearProps: () => ({
983
+ tabIndex: -1,
984
+ type: 'button',
985
+ onClick: handleClear
986
+ }),
987
+ getItemProps: ({
988
+ index = 0
989
+ } = {}) => ({
990
+ ...(multiple && {
991
+ key: index
992
+ }),
993
+ ...(renderValue ? {
994
+ 'data-item-index': index
995
+ } : {
996
+ 'data-tag-index': index
997
+ }),
998
+ tabIndex: -1,
999
+ ...(!readOnly && {
1000
+ onDelete: multiple ? handleItemDelete(index) : handleSingleItemDelete
1001
+ })
1002
+ }),
1003
+ getPopupIndicatorProps: () => ({
1004
+ tabIndex: -1,
1005
+ type: 'button',
1006
+ onClick: handlePopupIndicator
1007
+ }),
1008
+ // deprecated
1009
+ getTagProps: ({
1010
+ index
1011
+ }) => ({
1012
+ key: index,
1013
+ 'data-tag-index': index,
1014
+ tabIndex: -1,
1015
+ ...(!readOnly && {
1016
+ onDelete: handleItemDelete(index)
1017
+ })
1018
+ }),
1019
+ getListboxProps: () => ({
1020
+ role: 'listbox',
1021
+ id: `${id}-listbox`,
1022
+ 'aria-labelledby': `${id}-label`,
1023
+ ref: handleListboxRef,
1024
+ onMouseDown: event => {
1025
+ // Prevent blur
1026
+ event.preventDefault();
1027
+ }
1028
+ }),
1029
+ getOptionProps: ({
1030
+ index,
1031
+ option
1032
+ }) => {
1033
+ const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));
1034
+ const disabled = getOptionDisabled ? getOptionDisabled(option) : false;
1035
+ return {
1036
+ key: getOptionKey?.(option) ?? getOptionLabel(option),
1037
+ tabIndex: -1,
1038
+ role: 'option',
1039
+ id: `${id}-option-${index}`,
1040
+ onMouseMove: handleOptionMouseMove,
1041
+ onClick: handleOptionClick,
1042
+ onTouchStart: handleOptionTouchStart,
1043
+ 'data-option-index': index,
1044
+ 'aria-disabled': disabled,
1045
+ 'aria-selected': selected
1046
+ };
1047
+ },
1048
+ id,
1049
+ inputValue,
1050
+ value,
1051
+ dirty,
1052
+ expanded: popupOpen && anchorEl,
1053
+ popupOpen,
1054
+ focused: focused || focusedItem !== -1,
1055
+ anchorEl,
1056
+ setAnchorEl,
1057
+ focusedItem,
1058
+ // deprecated
1059
+ focusedTag: focusedItem,
1060
+ groupedOptions
1061
+ };
1062
+ }
1063
+
1064
+ exports.createFilterOptions = createFilterOptions;
1065
+ exports["default"] = useAutocomplete;
1066
+ //# sourceMappingURL=useAutocomplete.js.map