@mantine/core 2.6.0-alpha.3 → 3.0.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 (618) hide show
  1. package/cjs/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  2. package/cjs/components/Accordion/AccordionItem/ChevronIcon.js.map +1 -1
  3. package/cjs/components/ActionIcon/ActionIcon.js +3 -5
  4. package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
  5. package/cjs/components/ActionIcon/CloseButton/CloseButton.js +4 -3
  6. package/cjs/components/ActionIcon/CloseButton/CloseButton.js.map +1 -1
  7. package/cjs/components/ActionIcon/CloseButton/CloseIcon.js.map +1 -1
  8. package/cjs/components/Affix/Affix.js +5 -14
  9. package/cjs/components/Affix/Affix.js.map +1 -1
  10. package/cjs/components/Alert/Alert.js +4 -3
  11. package/cjs/components/Alert/Alert.js.map +1 -1
  12. package/cjs/components/Alert/Alert.styles.js +1 -0
  13. package/cjs/components/Alert/Alert.styles.js.map +1 -1
  14. package/cjs/components/Anchor/Anchor.js +4 -3
  15. package/cjs/components/Anchor/Anchor.js.map +1 -1
  16. package/cjs/components/Autocomplete/Autocomplete.js +3 -7
  17. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/Avatar/Avatar.js +5 -7
  19. package/cjs/components/Avatar/Avatar.js.map +1 -1
  20. package/cjs/components/Avatar/AvatarPlaceholderIcon.js.map +1 -1
  21. package/cjs/components/Badge/Badge.js +3 -5
  22. package/cjs/components/Badge/Badge.js.map +1 -1
  23. package/cjs/components/Blockquote/Blockquote.js +4 -3
  24. package/cjs/components/Blockquote/Blockquote.js.map +1 -1
  25. package/cjs/components/Blockquote/QuoteIcon.js.map +1 -1
  26. package/cjs/components/Breadcrumbs/Breadcrumbs.js +4 -3
  27. package/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  28. package/cjs/components/Burger/Burger.js +4 -22
  29. package/cjs/components/Burger/Burger.js.map +1 -1
  30. package/cjs/components/Button/Button.js +3 -5
  31. package/cjs/components/Button/Button.js.map +1 -1
  32. package/cjs/components/Button/UnstyledButton/UnstyledButton.js +4 -4
  33. package/cjs/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
  34. package/cjs/components/Card/Card.js +5 -16
  35. package/cjs/components/Card/Card.js.map +1 -1
  36. package/cjs/components/Center/Center.js +3 -2
  37. package/cjs/components/Center/Center.js.map +1 -1
  38. package/cjs/components/Checkbox/Checkbox.js +3 -5
  39. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  40. package/cjs/components/Chips/Chip/Chip.js +3 -5
  41. package/cjs/components/Chips/Chip/Chip.js.map +1 -1
  42. package/cjs/components/Chips/Chip/Chip.styles.js +3 -1
  43. package/cjs/components/Chips/Chip/Chip.styles.js.map +1 -1
  44. package/cjs/components/Code/Code.js +6 -4
  45. package/cjs/components/Code/Code.js.map +1 -1
  46. package/cjs/components/Collapse/Collapse.js +3 -3
  47. package/cjs/components/Collapse/Collapse.js.map +1 -1
  48. package/cjs/components/ColorInput/ColorInput.js +3 -2
  49. package/cjs/components/ColorInput/ColorInput.js.map +1 -1
  50. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.js +3 -2
  51. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.js.map +1 -1
  52. package/cjs/components/ColorPicker/ColorPicker.js +4 -3
  53. package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
  54. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js +4 -6
  55. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
  56. package/cjs/components/ColorPicker/HueSlider/HueSlider.js +3 -2
  57. package/cjs/components/ColorPicker/HueSlider/HueSlider.js.map +1 -1
  58. package/cjs/components/ColorSwatch/ColorSwatch.js +4 -3
  59. package/cjs/components/ColorSwatch/ColorSwatch.js.map +1 -1
  60. package/cjs/components/Container/Container.js +5 -16
  61. package/cjs/components/Container/Container.js.map +1 -1
  62. package/cjs/components/Container/Container.styles.js +5 -5
  63. package/cjs/components/Container/Container.styles.js.map +1 -1
  64. package/cjs/components/Dialog/Dialog.js +4 -3
  65. package/cjs/components/Dialog/Dialog.js.map +1 -1
  66. package/cjs/components/Divider/Divider.js +3 -2
  67. package/cjs/components/Divider/Divider.js.map +1 -1
  68. package/cjs/components/Drawer/Drawer.js +1 -1
  69. package/cjs/components/Drawer/Drawer.js.map +1 -1
  70. package/cjs/components/Grid/Col/Col.js.map +1 -1
  71. package/cjs/components/Grid/Grid.js +4 -3
  72. package/cjs/components/Grid/Grid.js.map +1 -1
  73. package/cjs/components/Group/Group.js +4 -3
  74. package/cjs/components/Group/Group.js.map +1 -1
  75. package/cjs/components/Highlight/Highlight.js +22 -17
  76. package/cjs/components/Highlight/Highlight.js.map +1 -1
  77. package/cjs/components/Highlight/highlighter/highlighter.js +17 -0
  78. package/cjs/components/Highlight/highlighter/highlighter.js.map +1 -0
  79. package/cjs/components/Image/Image.js +3 -5
  80. package/cjs/components/Image/Image.js.map +1 -1
  81. package/cjs/components/Image/Image.styles.js +3 -3
  82. package/cjs/components/Image/Image.styles.js.map +1 -1
  83. package/cjs/components/Image/ImageIcon.js.map +1 -1
  84. package/cjs/components/Input/Input.js +5 -7
  85. package/cjs/components/Input/Input.js.map +1 -1
  86. package/cjs/components/InputWrapper/InputWrapper.js +4 -3
  87. package/cjs/components/InputWrapper/InputWrapper.js.map +1 -1
  88. package/cjs/components/JsonInput/JsonInput.js.map +1 -1
  89. package/cjs/components/Kbd/Kbd.js +4 -3
  90. package/cjs/components/Kbd/Kbd.js.map +1 -1
  91. package/cjs/components/LoadingOverlay/LoadingOverlay.js +5 -2
  92. package/cjs/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
  93. package/cjs/components/Mark/Mark.js +3 -2
  94. package/cjs/components/Mark/Mark.js.map +1 -1
  95. package/cjs/components/Menu/Menu.js +5 -7
  96. package/cjs/components/Menu/Menu.js.map +1 -1
  97. package/cjs/components/Menu/MenuBody/MenuBody.js +6 -8
  98. package/cjs/components/Menu/MenuBody/MenuBody.js.map +1 -1
  99. package/cjs/components/Menu/MenuButton/MenuButton.js +3 -5
  100. package/cjs/components/Menu/MenuButton/MenuButton.js.map +1 -1
  101. package/cjs/components/Menu/MenuIcon.js.map +1 -1
  102. package/cjs/components/Menu/MenuItem/MenuItem.js +1 -3
  103. package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
  104. package/cjs/components/Modal/Modal.js.map +1 -1
  105. package/cjs/components/MultiSelect/DefaultValue/DefaultValue.styles.js +3 -3
  106. package/cjs/components/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
  107. package/cjs/components/MultiSelect/MultiSelect.js +61 -17
  108. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  109. package/cjs/components/MultiSelect/filter-data/filter-data.js +2 -2
  110. package/cjs/components/MultiSelect/filter-data/filter-data.js.map +1 -1
  111. package/cjs/components/NativeSelect/NativeSelect.js +3 -5
  112. package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  113. package/cjs/components/Notification/Notification.js +4 -3
  114. package/cjs/components/Notification/Notification.js.map +1 -1
  115. package/cjs/components/NumberInput/NumberInput.js +3 -5
  116. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  117. package/cjs/components/Overlay/Overlay.js +8 -5
  118. package/cjs/components/Overlay/Overlay.js.map +1 -1
  119. package/cjs/components/Pagination/Pagination.js +10 -7
  120. package/cjs/components/Pagination/Pagination.js.map +1 -1
  121. package/cjs/components/Paper/Paper.js +3 -5
  122. package/cjs/components/Paper/Paper.js.map +1 -1
  123. package/cjs/components/PasswordInput/PasswordInput.js +9 -23
  124. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  125. package/cjs/components/Popover/Popover.js +1 -1
  126. package/cjs/components/Popover/Popover.js.map +1 -1
  127. package/cjs/components/Popover/PopoverBody/PopoverBody.js +3 -5
  128. package/cjs/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
  129. package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js +17 -1
  130. package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
  131. package/cjs/components/Popper/Popper.js +2 -11
  132. package/cjs/components/Popper/Popper.js.map +1 -1
  133. package/cjs/components/Popper/parse-popper-position/parse-popper-position.js +17 -0
  134. package/cjs/components/Popper/parse-popper-position/parse-popper-position.js.map +1 -0
  135. package/cjs/components/Portal/Portal.js +5 -5
  136. package/cjs/components/Portal/Portal.js.map +1 -1
  137. package/cjs/components/Progress/Progress.js +4 -3
  138. package/cjs/components/Progress/Progress.js.map +1 -1
  139. package/cjs/components/RadioGroup/Radio/Radio.js +3 -5
  140. package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
  141. package/cjs/components/RadioGroup/RadioGroup.js +4 -3
  142. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  143. package/cjs/components/RingProgress/RingProgress.js +4 -3
  144. package/cjs/components/RingProgress/RingProgress.js.map +1 -1
  145. package/cjs/components/Select/DefaultItem/DefaultItem.js +4 -4
  146. package/cjs/components/Select/DefaultItem/DefaultItem.js.map +1 -1
  147. package/cjs/components/Select/Select.js +61 -22
  148. package/cjs/components/Select/Select.js.map +1 -1
  149. package/cjs/components/Select/SelectDropdown/SelectDropdown.js +4 -5
  150. package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  151. package/cjs/components/Select/SelectItems/SelectItems.js +70 -9
  152. package/cjs/components/Select/SelectItems/SelectItems.js.map +1 -1
  153. package/cjs/components/Select/SelectItems/SelectItems.styles.js +16 -0
  154. package/cjs/components/Select/SelectItems/SelectItems.styles.js.map +1 -1
  155. package/cjs/components/Select/SelectRightSection/ChevronIcon.js.map +1 -1
  156. package/cjs/components/Select/filter-data/filter-data.js +9 -2
  157. package/cjs/components/Select/filter-data/filter-data.js.map +1 -1
  158. package/cjs/components/Select/group-sort-data/group-sort-data.js +27 -0
  159. package/cjs/components/Select/group-sort-data/group-sort-data.js.map +1 -0
  160. package/cjs/components/SimpleGrid/SimpleGrid.js +5 -8
  161. package/cjs/components/SimpleGrid/SimpleGrid.js.map +1 -1
  162. package/cjs/components/SimpleGrid/SimpleGrid.styles.js +12 -26
  163. package/cjs/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  164. package/cjs/components/Slider/RangeSlider/RangeSlider.js +3 -3
  165. package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
  166. package/cjs/components/Slider/Slider/Slider.js +2 -2
  167. package/cjs/components/Slider/Slider/Slider.js.map +1 -1
  168. package/cjs/components/Slider/SliderRoot/SliderRoot.js +4 -18
  169. package/cjs/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
  170. package/cjs/components/Slider/Thumb/Thumb.js +4 -5
  171. package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
  172. package/cjs/components/Slider/Thumb/Thumb.styles.js +1 -1
  173. package/cjs/components/Slider/Thumb/Thumb.styles.js.map +1 -1
  174. package/cjs/components/Space/Space.js +62 -0
  175. package/cjs/components/Space/Space.js.map +1 -0
  176. package/cjs/components/Spoiler/Spoiler.js +5 -4
  177. package/cjs/components/Spoiler/Spoiler.js.map +1 -1
  178. package/cjs/components/Switch/Switch.js +3 -5
  179. package/cjs/components/Switch/Switch.js.map +1 -1
  180. package/cjs/components/Table/Table.js +3 -2
  181. package/cjs/components/Table/Table.js.map +1 -1
  182. package/cjs/components/Tabs/Tab/Tab.js +3 -3
  183. package/cjs/components/Tabs/Tab/Tab.js.map +1 -1
  184. package/cjs/components/Tabs/TabControl/TabControl.js +4 -5
  185. package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
  186. package/cjs/components/Tabs/Tabs.js +5 -4
  187. package/cjs/components/Tabs/Tabs.js.map +1 -1
  188. package/cjs/components/Text/Text.js +4 -6
  189. package/cjs/components/Text/Text.js.map +1 -1
  190. package/cjs/components/TextInput/TextInput.js +3 -5
  191. package/cjs/components/TextInput/TextInput.js.map +1 -1
  192. package/cjs/components/Textarea/Textarea.js +4 -6
  193. package/cjs/components/Textarea/Textarea.js.map +1 -1
  194. package/cjs/components/ThemeIcon/ThemeIcon.js +4 -3
  195. package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
  196. package/cjs/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
  197. package/cjs/components/Title/Title.js +5 -16
  198. package/cjs/components/Title/Title.js.map +1 -1
  199. package/cjs/components/Tooltip/Tooltip.js +0 -3
  200. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  201. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -10
  202. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
  203. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.styles.js +6 -6
  204. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
  205. package/cjs/index.js +2 -1
  206. package/cjs/index.js.map +1 -1
  207. package/esm/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  208. package/esm/components/Accordion/AccordionItem/ChevronIcon.js.map +1 -1
  209. package/esm/components/ActionIcon/ActionIcon.js +4 -6
  210. package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
  211. package/esm/components/ActionIcon/CloseButton/CloseButton.js +5 -4
  212. package/esm/components/ActionIcon/CloseButton/CloseButton.js.map +1 -1
  213. package/esm/components/ActionIcon/CloseButton/CloseIcon.js.map +1 -1
  214. package/esm/components/Affix/Affix.js +6 -15
  215. package/esm/components/Affix/Affix.js.map +1 -1
  216. package/esm/components/Alert/Alert.js +5 -4
  217. package/esm/components/Alert/Alert.js.map +1 -1
  218. package/esm/components/Alert/Alert.styles.js +1 -0
  219. package/esm/components/Alert/Alert.styles.js.map +1 -1
  220. package/esm/components/Anchor/Anchor.js +5 -4
  221. package/esm/components/Anchor/Anchor.js.map +1 -1
  222. package/esm/components/Autocomplete/Autocomplete.js +5 -9
  223. package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  224. package/esm/components/Avatar/Avatar.js +6 -8
  225. package/esm/components/Avatar/Avatar.js.map +1 -1
  226. package/esm/components/Avatar/AvatarPlaceholderIcon.js.map +1 -1
  227. package/esm/components/Badge/Badge.js +4 -6
  228. package/esm/components/Badge/Badge.js.map +1 -1
  229. package/esm/components/Blockquote/Blockquote.js +5 -4
  230. package/esm/components/Blockquote/Blockquote.js.map +1 -1
  231. package/esm/components/Blockquote/QuoteIcon.js.map +1 -1
  232. package/esm/components/Breadcrumbs/Breadcrumbs.js +5 -4
  233. package/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  234. package/esm/components/Burger/Burger.js +5 -23
  235. package/esm/components/Burger/Burger.js.map +1 -1
  236. package/esm/components/Button/Button.js +4 -6
  237. package/esm/components/Button/Button.js.map +1 -1
  238. package/esm/components/Button/UnstyledButton/UnstyledButton.js +5 -5
  239. package/esm/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
  240. package/esm/components/Card/Card.js +6 -17
  241. package/esm/components/Card/Card.js.map +1 -1
  242. package/esm/components/Center/Center.js +4 -3
  243. package/esm/components/Center/Center.js.map +1 -1
  244. package/esm/components/Checkbox/Checkbox.js +4 -6
  245. package/esm/components/Checkbox/Checkbox.js.map +1 -1
  246. package/esm/components/Chips/Chip/Chip.js +4 -6
  247. package/esm/components/Chips/Chip/Chip.js.map +1 -1
  248. package/esm/components/Chips/Chip/Chip.styles.js +3 -1
  249. package/esm/components/Chips/Chip/Chip.styles.js.map +1 -1
  250. package/esm/components/Code/Code.js +7 -5
  251. package/esm/components/Code/Code.js.map +1 -1
  252. package/esm/components/Collapse/Collapse.js +5 -5
  253. package/esm/components/Collapse/Collapse.js.map +1 -1
  254. package/esm/components/ColorInput/ColorInput.js +4 -3
  255. package/esm/components/ColorInput/ColorInput.js.map +1 -1
  256. package/esm/components/ColorPicker/AlphaSlider/AlphaSlider.js +4 -3
  257. package/esm/components/ColorPicker/AlphaSlider/AlphaSlider.js.map +1 -1
  258. package/esm/components/ColorPicker/ColorPicker.js +5 -4
  259. package/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  260. package/esm/components/ColorPicker/ColorSlider/ColorSlider.js +5 -7
  261. package/esm/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
  262. package/esm/components/ColorPicker/HueSlider/HueSlider.js +4 -3
  263. package/esm/components/ColorPicker/HueSlider/HueSlider.js.map +1 -1
  264. package/esm/components/ColorSwatch/ColorSwatch.js +5 -4
  265. package/esm/components/ColorSwatch/ColorSwatch.js.map +1 -1
  266. package/esm/components/Container/Container.js +6 -17
  267. package/esm/components/Container/Container.js.map +1 -1
  268. package/esm/components/Container/Container.styles.js +5 -5
  269. package/esm/components/Container/Container.styles.js.map +1 -1
  270. package/esm/components/Dialog/Dialog.js +5 -4
  271. package/esm/components/Dialog/Dialog.js.map +1 -1
  272. package/esm/components/Divider/Divider.js +4 -3
  273. package/esm/components/Divider/Divider.js.map +1 -1
  274. package/esm/components/Drawer/Drawer.js +1 -1
  275. package/esm/components/Drawer/Drawer.js.map +1 -1
  276. package/esm/components/Grid/Col/Col.js.map +1 -1
  277. package/esm/components/Grid/Grid.js +5 -4
  278. package/esm/components/Grid/Grid.js.map +1 -1
  279. package/esm/components/Group/Group.js +5 -4
  280. package/esm/components/Group/Group.js.map +1 -1
  281. package/esm/components/Highlight/Highlight.js +23 -17
  282. package/esm/components/Highlight/Highlight.js.map +1 -1
  283. package/esm/components/Highlight/highlighter/highlighter.js +13 -0
  284. package/esm/components/Highlight/highlighter/highlighter.js.map +1 -0
  285. package/esm/components/Image/Image.js +4 -6
  286. package/esm/components/Image/Image.js.map +1 -1
  287. package/esm/components/Image/Image.styles.js +3 -3
  288. package/esm/components/Image/Image.styles.js.map +1 -1
  289. package/esm/components/Image/ImageIcon.js.map +1 -1
  290. package/esm/components/Input/Input.js +6 -8
  291. package/esm/components/Input/Input.js.map +1 -1
  292. package/esm/components/InputWrapper/InputWrapper.js +5 -4
  293. package/esm/components/InputWrapper/InputWrapper.js.map +1 -1
  294. package/esm/components/JsonInput/JsonInput.js.map +1 -1
  295. package/esm/components/Kbd/Kbd.js +5 -4
  296. package/esm/components/Kbd/Kbd.js.map +1 -1
  297. package/esm/components/LoadingOverlay/LoadingOverlay.js +5 -2
  298. package/esm/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
  299. package/esm/components/Mark/Mark.js +4 -3
  300. package/esm/components/Mark/Mark.js.map +1 -1
  301. package/esm/components/Menu/Menu.js +6 -8
  302. package/esm/components/Menu/Menu.js.map +1 -1
  303. package/esm/components/Menu/MenuBody/MenuBody.js +7 -9
  304. package/esm/components/Menu/MenuBody/MenuBody.js.map +1 -1
  305. package/esm/components/Menu/MenuButton/MenuButton.js +4 -6
  306. package/esm/components/Menu/MenuButton/MenuButton.js.map +1 -1
  307. package/esm/components/Menu/MenuIcon.js.map +1 -1
  308. package/esm/components/Menu/MenuItem/MenuItem.js +1 -3
  309. package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
  310. package/esm/components/Modal/Modal.js.map +1 -1
  311. package/esm/components/MultiSelect/DefaultValue/DefaultValue.styles.js +3 -3
  312. package/esm/components/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
  313. package/esm/components/MultiSelect/MultiSelect.js +63 -20
  314. package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  315. package/esm/components/MultiSelect/filter-data/filter-data.js +2 -2
  316. package/esm/components/MultiSelect/filter-data/filter-data.js.map +1 -1
  317. package/esm/components/NativeSelect/NativeSelect.js +4 -6
  318. package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
  319. package/esm/components/Notification/Notification.js +5 -4
  320. package/esm/components/Notification/Notification.js.map +1 -1
  321. package/esm/components/NumberInput/NumberInput.js +4 -6
  322. package/esm/components/NumberInput/NumberInput.js.map +1 -1
  323. package/esm/components/Overlay/Overlay.js +9 -6
  324. package/esm/components/Overlay/Overlay.js.map +1 -1
  325. package/esm/components/Pagination/Pagination.js +11 -8
  326. package/esm/components/Pagination/Pagination.js.map +1 -1
  327. package/esm/components/Paper/Paper.js +4 -6
  328. package/esm/components/Paper/Paper.js.map +1 -1
  329. package/esm/components/PasswordInput/PasswordInput.js +10 -24
  330. package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
  331. package/esm/components/Popover/Popover.js +1 -1
  332. package/esm/components/Popover/Popover.js.map +1 -1
  333. package/esm/components/Popover/PopoverBody/PopoverBody.js +4 -6
  334. package/esm/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
  335. package/esm/components/Popover/PopoverBody/PopoverBody.styles.js +18 -2
  336. package/esm/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
  337. package/esm/components/Popper/Popper.js +1 -10
  338. package/esm/components/Popper/Popper.js.map +1 -1
  339. package/esm/components/Popper/parse-popper-position/parse-popper-position.js +13 -0
  340. package/esm/components/Popper/parse-popper-position/parse-popper-position.js.map +1 -0
  341. package/esm/components/Portal/Portal.js +5 -5
  342. package/esm/components/Portal/Portal.js.map +1 -1
  343. package/esm/components/Progress/Progress.js +5 -4
  344. package/esm/components/Progress/Progress.js.map +1 -1
  345. package/esm/components/RadioGroup/Radio/Radio.js +4 -6
  346. package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
  347. package/esm/components/RadioGroup/RadioGroup.js +5 -4
  348. package/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  349. package/esm/components/RingProgress/RingProgress.js +5 -4
  350. package/esm/components/RingProgress/RingProgress.js.map +1 -1
  351. package/esm/components/Select/DefaultItem/DefaultItem.js +5 -5
  352. package/esm/components/Select/DefaultItem/DefaultItem.js.map +1 -1
  353. package/esm/components/Select/Select.js +63 -25
  354. package/esm/components/Select/Select.js.map +1 -1
  355. package/esm/components/Select/SelectDropdown/SelectDropdown.js +5 -6
  356. package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  357. package/esm/components/Select/SelectItems/SelectItems.js +70 -9
  358. package/esm/components/Select/SelectItems/SelectItems.js.map +1 -1
  359. package/esm/components/Select/SelectItems/SelectItems.styles.js +16 -0
  360. package/esm/components/Select/SelectItems/SelectItems.styles.js.map +1 -1
  361. package/esm/components/Select/SelectRightSection/ChevronIcon.js.map +1 -1
  362. package/esm/components/Select/filter-data/filter-data.js +9 -2
  363. package/esm/components/Select/filter-data/filter-data.js.map +1 -1
  364. package/esm/components/Select/group-sort-data/group-sort-data.js +23 -0
  365. package/esm/components/Select/group-sort-data/group-sort-data.js.map +1 -0
  366. package/esm/components/SimpleGrid/SimpleGrid.js +6 -9
  367. package/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  368. package/esm/components/SimpleGrid/SimpleGrid.styles.js +12 -26
  369. package/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  370. package/esm/components/Slider/RangeSlider/RangeSlider.js +3 -3
  371. package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
  372. package/esm/components/Slider/Slider/Slider.js +2 -2
  373. package/esm/components/Slider/Slider/Slider.js.map +1 -1
  374. package/esm/components/Slider/SliderRoot/SliderRoot.js +5 -19
  375. package/esm/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
  376. package/esm/components/Slider/Thumb/Thumb.js +5 -6
  377. package/esm/components/Slider/Thumb/Thumb.js.map +1 -1
  378. package/esm/components/Slider/Thumb/Thumb.styles.js +2 -2
  379. package/esm/components/Slider/Thumb/Thumb.styles.js.map +1 -1
  380. package/esm/components/Space/Space.js +54 -0
  381. package/esm/components/Space/Space.js.map +1 -0
  382. package/esm/components/Spoiler/Spoiler.js +6 -5
  383. package/esm/components/Spoiler/Spoiler.js.map +1 -1
  384. package/esm/components/Switch/Switch.js +4 -6
  385. package/esm/components/Switch/Switch.js.map +1 -1
  386. package/esm/components/Table/Table.js +4 -3
  387. package/esm/components/Table/Table.js.map +1 -1
  388. package/esm/components/Tabs/Tab/Tab.js +3 -3
  389. package/esm/components/Tabs/Tab/Tab.js.map +1 -1
  390. package/esm/components/Tabs/TabControl/TabControl.js +4 -5
  391. package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
  392. package/esm/components/Tabs/Tabs.js +7 -6
  393. package/esm/components/Tabs/Tabs.js.map +1 -1
  394. package/esm/components/Text/Text.js +5 -7
  395. package/esm/components/Text/Text.js.map +1 -1
  396. package/esm/components/TextInput/TextInput.js +4 -6
  397. package/esm/components/TextInput/TextInput.js.map +1 -1
  398. package/esm/components/Textarea/Textarea.js +5 -7
  399. package/esm/components/Textarea/Textarea.js.map +1 -1
  400. package/esm/components/ThemeIcon/ThemeIcon.js +5 -4
  401. package/esm/components/ThemeIcon/ThemeIcon.js.map +1 -1
  402. package/esm/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
  403. package/esm/components/Title/Title.js +6 -17
  404. package/esm/components/Title/Title.js.map +1 -1
  405. package/esm/components/Tooltip/Tooltip.js +0 -3
  406. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  407. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js +6 -11
  408. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
  409. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.styles.js +6 -6
  410. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
  411. package/esm/index.js +2 -1
  412. package/esm/index.js.map +1 -1
  413. package/lib/src/components/Accordion/AccordionItem/AccordionItem.d.ts +0 -1
  414. package/lib/src/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
  415. package/lib/src/components/Accordion/AccordionItem/ChevronIcon.d.ts +1 -1
  416. package/lib/src/components/Accordion/AccordionItem/ChevronIcon.d.ts.map +1 -1
  417. package/lib/src/components/Accordion/index.d.ts +1 -1
  418. package/lib/src/components/Accordion/index.d.ts.map +1 -1
  419. package/lib/src/components/ActionIcon/ActionIcon.d.ts +7 -11
  420. package/lib/src/components/ActionIcon/ActionIcon.d.ts.map +1 -1
  421. package/lib/src/components/ActionIcon/CloseButton/CloseButton.d.ts +3 -6
  422. package/lib/src/components/ActionIcon/CloseButton/CloseButton.d.ts.map +1 -1
  423. package/lib/src/components/ActionIcon/CloseButton/CloseIcon.d.ts +1 -1
  424. package/lib/src/components/ActionIcon/CloseButton/CloseIcon.d.ts.map +1 -1
  425. package/lib/src/components/Affix/Affix.d.ts +1 -4
  426. package/lib/src/components/Affix/Affix.d.ts.map +1 -1
  427. package/lib/src/components/Alert/Alert.d.ts +1 -4
  428. package/lib/src/components/Alert/Alert.d.ts.map +1 -1
  429. package/lib/src/components/Alert/Alert.styles.d.ts.map +1 -1
  430. package/lib/src/components/Anchor/Anchor.d.ts +6 -11
  431. package/lib/src/components/Anchor/Anchor.d.ts.map +1 -1
  432. package/lib/src/components/Autocomplete/Autocomplete.d.ts +1 -6
  433. package/lib/src/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  434. package/lib/src/components/Avatar/Avatar.d.ts +7 -11
  435. package/lib/src/components/Avatar/Avatar.d.ts.map +1 -1
  436. package/lib/src/components/Avatar/AvatarPlaceholderIcon.d.ts +1 -1
  437. package/lib/src/components/Avatar/AvatarPlaceholderIcon.d.ts.map +1 -1
  438. package/lib/src/components/Badge/Badge.d.ts +7 -11
  439. package/lib/src/components/Badge/Badge.d.ts.map +1 -1
  440. package/lib/src/components/Blockquote/Blockquote.d.ts +1 -4
  441. package/lib/src/components/Blockquote/Blockquote.d.ts.map +1 -1
  442. package/lib/src/components/Blockquote/QuoteIcon.d.ts +1 -1
  443. package/lib/src/components/Blockquote/QuoteIcon.d.ts.map +1 -1
  444. package/lib/src/components/Breadcrumbs/Breadcrumbs.d.ts +1 -4
  445. package/lib/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  446. package/lib/src/components/Burger/Burger.d.ts +1 -6
  447. package/lib/src/components/Burger/Burger.d.ts.map +1 -1
  448. package/lib/src/components/Button/Button.d.ts +7 -11
  449. package/lib/src/components/Button/Button.d.ts.map +1 -1
  450. package/lib/src/components/Button/UnstyledButton/UnstyledButton.d.ts +1 -6
  451. package/lib/src/components/Button/UnstyledButton/UnstyledButton.d.ts.map +1 -1
  452. package/lib/src/components/Button/index.d.ts +2 -1
  453. package/lib/src/components/Button/index.d.ts.map +1 -1
  454. package/lib/src/components/Card/Card.d.ts +9 -12
  455. package/lib/src/components/Card/Card.d.ts.map +1 -1
  456. package/lib/src/components/Center/Center.d.ts +1 -4
  457. package/lib/src/components/Center/Center.d.ts.map +1 -1
  458. package/lib/src/components/Checkbox/Checkbox.d.ts +1 -6
  459. package/lib/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  460. package/lib/src/components/Chips/Chip/Chip.d.ts +1 -6
  461. package/lib/src/components/Chips/Chip/Chip.d.ts.map +1 -1
  462. package/lib/src/components/Chips/Chip/Chip.styles.d.ts.map +1 -1
  463. package/lib/src/components/Code/Code.d.ts +1 -4
  464. package/lib/src/components/Code/Code.d.ts.map +1 -1
  465. package/lib/src/components/Collapse/Collapse.d.ts +2 -5
  466. package/lib/src/components/Collapse/Collapse.d.ts.map +1 -1
  467. package/lib/src/components/ColorInput/ColorInput.d.ts +1 -4
  468. package/lib/src/components/ColorInput/ColorInput.d.ts.map +1 -1
  469. package/lib/src/components/ColorPicker/AlphaSlider/AlphaSlider.d.ts +2 -5
  470. package/lib/src/components/ColorPicker/AlphaSlider/AlphaSlider.d.ts.map +1 -1
  471. package/lib/src/components/ColorPicker/ColorPicker.d.ts +1 -4
  472. package/lib/src/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  473. package/lib/src/components/ColorPicker/ColorSlider/ColorSlider.d.ts +1 -5
  474. package/lib/src/components/ColorPicker/ColorSlider/ColorSlider.d.ts.map +1 -1
  475. package/lib/src/components/ColorPicker/HueSlider/HueSlider.d.ts +2 -5
  476. package/lib/src/components/ColorPicker/HueSlider/HueSlider.d.ts.map +1 -1
  477. package/lib/src/components/ColorSwatch/ColorSwatch.d.ts +7 -11
  478. package/lib/src/components/ColorSwatch/ColorSwatch.d.ts.map +1 -1
  479. package/lib/src/components/Container/Container.d.ts +1 -4
  480. package/lib/src/components/Container/Container.d.ts.map +1 -1
  481. package/lib/src/components/Dialog/Dialog.d.ts +2 -5
  482. package/lib/src/components/Dialog/Dialog.d.ts.map +1 -1
  483. package/lib/src/components/Divider/Divider.d.ts +1 -4
  484. package/lib/src/components/Divider/Divider.d.ts.map +1 -1
  485. package/lib/src/components/Grid/Col/Col.d.ts +10 -0
  486. package/lib/src/components/Grid/Col/Col.d.ts.map +1 -1
  487. package/lib/src/components/Grid/Grid.d.ts +1 -4
  488. package/lib/src/components/Grid/Grid.d.ts.map +1 -1
  489. package/lib/src/components/Group/Group.d.ts +1 -4
  490. package/lib/src/components/Group/Group.d.ts.map +1 -1
  491. package/lib/src/components/Highlight/Highlight.d.ts +7 -15
  492. package/lib/src/components/Highlight/Highlight.d.ts.map +1 -1
  493. package/lib/src/components/Highlight/highlighter/highlighter.d.ts +5 -0
  494. package/lib/src/components/Highlight/highlighter/highlighter.d.ts.map +1 -0
  495. package/lib/src/components/Image/Image.d.ts +1 -6
  496. package/lib/src/components/Image/Image.d.ts.map +1 -1
  497. package/lib/src/components/Image/ImageIcon.d.ts +1 -1
  498. package/lib/src/components/Image/ImageIcon.d.ts.map +1 -1
  499. package/lib/src/components/Input/Input.d.ts +10 -13
  500. package/lib/src/components/Input/Input.d.ts.map +1 -1
  501. package/lib/src/components/InputWrapper/InputWrapper.d.ts +1 -4
  502. package/lib/src/components/InputWrapper/InputWrapper.d.ts.map +1 -1
  503. package/lib/src/components/JsonInput/JsonInput.d.ts +3 -2
  504. package/lib/src/components/JsonInput/JsonInput.d.ts.map +1 -1
  505. package/lib/src/components/Kbd/Kbd.d.ts +1 -4
  506. package/lib/src/components/Kbd/Kbd.d.ts.map +1 -1
  507. package/lib/src/components/LoadingOverlay/LoadingOverlay.d.ts +4 -2
  508. package/lib/src/components/LoadingOverlay/LoadingOverlay.d.ts.map +1 -1
  509. package/lib/src/components/Mark/Mark.d.ts +1 -4
  510. package/lib/src/components/Mark/Mark.d.ts.map +1 -1
  511. package/lib/src/components/Menu/Menu.d.ts +9 -10
  512. package/lib/src/components/Menu/Menu.d.ts.map +1 -1
  513. package/lib/src/components/Menu/MenuBody/MenuBody.d.ts +1 -6
  514. package/lib/src/components/Menu/MenuBody/MenuBody.d.ts.map +1 -1
  515. package/lib/src/components/Menu/MenuButton/MenuButton.d.ts +7 -11
  516. package/lib/src/components/Menu/MenuButton/MenuButton.d.ts.map +1 -1
  517. package/lib/src/components/Menu/MenuIcon.d.ts +1 -1
  518. package/lib/src/components/Menu/MenuIcon.d.ts.map +1 -1
  519. package/lib/src/components/Menu/MenuItem/MenuItem.d.ts +7 -14
  520. package/lib/src/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
  521. package/lib/src/components/MultiSelect/DefaultValue/DefaultValue.styles.d.ts.map +1 -1
  522. package/lib/src/components/MultiSelect/MultiSelect.d.ts +10 -4
  523. package/lib/src/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  524. package/lib/src/components/NativeSelect/NativeSelect.d.ts +1 -6
  525. package/lib/src/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  526. package/lib/src/components/Notification/Notification.d.ts +1 -4
  527. package/lib/src/components/Notification/Notification.d.ts.map +1 -1
  528. package/lib/src/components/NumberInput/NumberInput.d.ts +1 -4
  529. package/lib/src/components/NumberInput/NumberInput.d.ts.map +1 -1
  530. package/lib/src/components/Overlay/Overlay.d.ts +9 -10
  531. package/lib/src/components/Overlay/Overlay.d.ts.map +1 -1
  532. package/lib/src/components/Pagination/Pagination.d.ts +4 -5
  533. package/lib/src/components/Pagination/Pagination.d.ts.map +1 -1
  534. package/lib/src/components/Paper/Paper.d.ts +6 -12
  535. package/lib/src/components/Paper/Paper.d.ts.map +1 -1
  536. package/lib/src/components/PasswordInput/PasswordInput.d.ts +1 -11
  537. package/lib/src/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  538. package/lib/src/components/PasswordInput/index.d.ts +1 -1
  539. package/lib/src/components/PasswordInput/index.d.ts.map +1 -1
  540. package/lib/src/components/Popover/PopoverBody/PopoverBody.d.ts +1 -5
  541. package/lib/src/components/Popover/PopoverBody/PopoverBody.d.ts.map +1 -1
  542. package/lib/src/components/Popover/PopoverBody/PopoverBody.styles.d.ts.map +1 -1
  543. package/lib/src/components/Popper/Popper.d.ts.map +1 -1
  544. package/lib/src/components/Popper/parse-popper-position/parse-popper-position.d.ts +5 -0
  545. package/lib/src/components/Popper/parse-popper-position/parse-popper-position.d.ts.map +1 -0
  546. package/lib/src/components/Portal/Portal.d.ts.map +1 -1
  547. package/lib/src/components/Progress/Progress.d.ts +1 -4
  548. package/lib/src/components/Progress/Progress.d.ts.map +1 -1
  549. package/lib/src/components/RadioGroup/Radio/Radio.d.ts +1 -6
  550. package/lib/src/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
  551. package/lib/src/components/RadioGroup/RadioGroup.d.ts +1 -4
  552. package/lib/src/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  553. package/lib/src/components/RingProgress/RingProgress.d.ts +1 -4
  554. package/lib/src/components/RingProgress/RingProgress.d.ts.map +1 -1
  555. package/lib/src/components/Select/DefaultItem/DefaultItem.d.ts +1 -5
  556. package/lib/src/components/Select/DefaultItem/DefaultItem.d.ts.map +1 -1
  557. package/lib/src/components/Select/Select.d.ts +10 -6
  558. package/lib/src/components/Select/Select.d.ts.map +1 -1
  559. package/lib/src/components/Select/SelectDropdown/SelectDropdown.d.ts +1 -5
  560. package/lib/src/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
  561. package/lib/src/components/Select/SelectItems/SelectItems.d.ts +3 -1
  562. package/lib/src/components/Select/SelectItems/SelectItems.d.ts.map +1 -1
  563. package/lib/src/components/Select/SelectItems/SelectItems.styles.d.ts +2 -2
  564. package/lib/src/components/Select/SelectItems/SelectItems.styles.d.ts.map +1 -1
  565. package/lib/src/components/Select/SelectRightSection/ChevronIcon.d.ts +1 -1
  566. package/lib/src/components/Select/SelectRightSection/ChevronIcon.d.ts.map +1 -1
  567. package/lib/src/components/Select/filter-data/filter-data.d.ts +2 -1
  568. package/lib/src/components/Select/filter-data/filter-data.d.ts.map +1 -1
  569. package/lib/src/components/Select/group-sort-data/group-sort-data.d.ts +7 -0
  570. package/lib/src/components/Select/group-sort-data/group-sort-data.d.ts.map +1 -0
  571. package/lib/src/components/Select/types.d.ts +2 -0
  572. package/lib/src/components/Select/types.d.ts.map +1 -1
  573. package/lib/src/components/SimpleGrid/SimpleGrid.d.ts +1 -4
  574. package/lib/src/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  575. package/lib/src/components/SimpleGrid/SimpleGrid.styles.d.ts +2 -2
  576. package/lib/src/components/SimpleGrid/SimpleGrid.styles.d.ts.map +1 -1
  577. package/lib/src/components/Slider/SliderRoot/SliderRoot.d.ts +1 -5
  578. package/lib/src/components/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
  579. package/lib/src/components/Slider/Thumb/Thumb.d.ts +1 -5
  580. package/lib/src/components/Slider/Thumb/Thumb.d.ts.map +1 -1
  581. package/lib/src/components/Space/Space.d.ts +10 -0
  582. package/lib/src/components/Space/Space.d.ts.map +1 -0
  583. package/lib/src/components/Space/index.d.ts +3 -0
  584. package/lib/src/components/Space/index.d.ts.map +1 -0
  585. package/lib/src/components/Spoiler/Spoiler.d.ts +1 -4
  586. package/lib/src/components/Spoiler/Spoiler.d.ts.map +1 -1
  587. package/lib/src/components/Switch/Switch.d.ts +1 -6
  588. package/lib/src/components/Switch/Switch.d.ts.map +1 -1
  589. package/lib/src/components/Table/Table.d.ts +1 -4
  590. package/lib/src/components/Table/Table.d.ts.map +1 -1
  591. package/lib/src/components/Tabs/Tab/Tab.d.ts +4 -6
  592. package/lib/src/components/Tabs/Tab/Tab.d.ts.map +1 -1
  593. package/lib/src/components/Tabs/TabControl/TabControl.d.ts +2 -2
  594. package/lib/src/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
  595. package/lib/src/components/Tabs/Tabs.d.ts +1 -4
  596. package/lib/src/components/Tabs/Tabs.d.ts.map +1 -1
  597. package/lib/src/components/Text/Text.d.ts +6 -12
  598. package/lib/src/components/Text/Text.d.ts.map +1 -1
  599. package/lib/src/components/TextInput/TextInput.d.ts +1 -6
  600. package/lib/src/components/TextInput/TextInput.d.ts.map +1 -1
  601. package/lib/src/components/Textarea/Textarea.d.ts +5 -10
  602. package/lib/src/components/Textarea/Textarea.d.ts.map +1 -1
  603. package/lib/src/components/Textarea/index.d.ts +1 -1
  604. package/lib/src/components/Textarea/index.d.ts.map +1 -1
  605. package/lib/src/components/ThemeIcon/ThemeIcon.d.ts +2 -5
  606. package/lib/src/components/ThemeIcon/ThemeIcon.d.ts.map +1 -1
  607. package/lib/src/components/Timeline/TimelineItem/TimelineItem.d.ts +5 -5
  608. package/lib/src/components/Timeline/TimelineItem/TimelineItem.d.ts.map +1 -1
  609. package/lib/src/components/Title/Title.d.ts +1 -4
  610. package/lib/src/components/Title/Title.d.ts.map +1 -1
  611. package/lib/src/components/Tooltip/Tooltip.d.ts +1 -3
  612. package/lib/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  613. package/lib/src/components/TypographyStylesProvider/TypographyStylesProvider.d.ts +1 -4
  614. package/lib/src/components/TypographyStylesProvider/TypographyStylesProvider.d.ts.map +1 -1
  615. package/lib/src/demos.d.ts.map +1 -1
  616. package/lib/src/index.d.ts +1 -0
  617. package/lib/src/index.d.ts.map +1 -1
  618. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
- import React, { useRef, useState } from 'react';
2
- import { useUncontrolled, useMergedRef } from '@mantine/hooks';
1
+ import React, { forwardRef, useRef, useState } from 'react';
2
+ import { useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';
3
3
  import { mergeStyles, useExtractedMargins, useUuid } from '@mantine/styles';
4
4
  import { DefaultValue } from './DefaultValue/DefaultValue.js';
5
5
  import { DefaultItem } from '../Select/DefaultItem/DefaultItem.js';
@@ -7,6 +7,7 @@ import { filterData } from './filter-data/filter-data.js';
7
7
  import { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props.js';
8
8
  import { SelectItems } from '../Select/SelectItems/SelectItems.js';
9
9
  import { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown.js';
10
+ import { groupSortData } from '../Select/group-sort-data/group-sort-data.js';
10
11
  import useStyles from './MultiSelect.styles.js';
11
12
  import { InputWrapper } from '../InputWrapper/InputWrapper.js';
12
13
  import { Input } from '../Input/Input.js';
@@ -49,7 +50,10 @@ function defaultFilter(value, selected, item) {
49
50
  }
50
51
  return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());
51
52
  }
52
- function MultiSelect(_a) {
53
+ function defaultShouldCreate(query, data) {
54
+ return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());
55
+ }
56
+ const MultiSelect = forwardRef((_a, ref) => {
53
57
  var _b = _a, {
54
58
  className,
55
59
  style,
@@ -89,10 +93,13 @@ function MultiSelect(_a) {
89
93
  disabled = false,
90
94
  initiallyOpened = false,
91
95
  radius = "sm",
92
- elementRef,
93
96
  icon,
94
97
  rightSection,
95
- rightSectionWidth
98
+ rightSectionWidth,
99
+ creatable = false,
100
+ getCreateLabel,
101
+ shouldCreate = defaultShouldCreate,
102
+ onCreate
96
103
  } = _b, others = __objRest(_b, [
97
104
  "className",
98
105
  "style",
@@ -132,10 +139,13 @@ function MultiSelect(_a) {
132
139
  "disabled",
133
140
  "initiallyOpened",
134
141
  "radius",
135
- "elementRef",
136
142
  "icon",
137
143
  "rightSection",
138
- "rightSectionWidth"
144
+ "rightSectionWidth",
145
+ "creatable",
146
+ "getCreateLabel",
147
+ "shouldCreate",
148
+ "onCreate"
139
149
  ]);
140
150
  const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, "multi-select");
141
151
  const _styles = mergeStyles(classes, styles);
@@ -147,10 +157,14 @@ function MultiSelect(_a) {
147
157
  const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);
148
158
  const [hovered, setHovered] = useState(-1);
149
159
  const [searchValue, setSearchValue] = useState("");
160
+ const isCreatable = creatable && typeof getCreateLabel === "function";
161
+ let createLabel = null;
150
162
  const handleSearchChange = (val) => {
151
163
  typeof onSearchChange === "function" && onSearchChange(val);
152
164
  setSearchValue(val);
153
165
  };
166
+ const formattedData = data.map((item) => typeof item === "string" ? { label: item, value: item } : item);
167
+ const sortedData = groupSortData({ data: formattedData });
154
168
  const [_value, setValue] = useUncontrolled({
155
169
  value,
156
170
  defaultValue,
@@ -158,10 +172,8 @@ function MultiSelect(_a) {
158
172
  rule: (val) => Array.isArray(val),
159
173
  onChange
160
174
  });
161
- const formattedData = data.map((item) => typeof item === "string" ? { label: item, value: item } : item);
162
175
  const handleValueRemove = (_val) => setValue(_value.filter((val) => val !== _val));
163
176
  const handleInputChange = (event) => {
164
- setHovered(0);
165
177
  handleSearchChange(event.currentTarget.value);
166
178
  setDropdownOpened(true);
167
179
  };
@@ -174,13 +186,25 @@ function MultiSelect(_a) {
174
186
  setDropdownOpened(false);
175
187
  };
176
188
  const filteredData = filterData({
177
- data: formattedData,
189
+ data: sortedData,
178
190
  searchable,
179
191
  searchValue,
180
192
  limit,
181
193
  filter,
182
194
  value: _value
183
195
  });
196
+ const getNextIndex = (index, nextItem, compareFn) => {
197
+ let i = index;
198
+ while (compareFn(i)) {
199
+ i = nextItem(i);
200
+ if (!filteredData[i].disabled)
201
+ return i;
202
+ }
203
+ return index;
204
+ };
205
+ useDidUpdate(() => {
206
+ setHovered(getNextIndex(-1, (index) => index + 1, (index) => index < filteredData.length - 1));
207
+ }, [searchValue]);
184
208
  const handleItemSelect = (item) => {
185
209
  setTimeout(() => {
186
210
  clearSearchOnChange && handleSearchChange("");
@@ -192,6 +216,9 @@ function MultiSelect(_a) {
192
216
  setHovered(filteredData.length - 2);
193
217
  }
194
218
  }
219
+ if (item.creatable) {
220
+ typeof onCreate === "function" && onCreate(item.value);
221
+ }
195
222
  });
196
223
  };
197
224
  const handleInputKeydown = (event) => {
@@ -201,7 +228,7 @@ function MultiSelect(_a) {
201
228
  setDropdownOpened(true);
202
229
  setHovered((current) => {
203
230
  var _a2;
204
- const nextIndex = current > 0 ? current - 1 : current;
231
+ const nextIndex = getNextIndex(current, (index) => index - 1, (index) => index > 0);
205
232
  scrollIntoView(dropdownRef.current, itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value]);
206
233
  return nextIndex;
207
234
  });
@@ -212,7 +239,7 @@ function MultiSelect(_a) {
212
239
  setDropdownOpened(true);
213
240
  setHovered((current) => {
214
241
  var _a2;
215
- const nextIndex = current < filteredData.length - 1 ? current + 1 : current;
242
+ const nextIndex = getNextIndex(current, (index) => index + 1, (index) => index < filteredData.length - 1);
216
243
  scrollIntoView(dropdownRef.current, itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value]);
217
244
  return nextIndex;
218
245
  });
@@ -237,7 +264,16 @@ function MultiSelect(_a) {
237
264
  }
238
265
  }
239
266
  };
240
- const selectedItems = _value.map((val) => formattedData.find((item) => item.value === val)).filter((val) => !!val).map((item) => /* @__PURE__ */ React.createElement(Value, __spreadProps(__spreadValues({}, item), {
267
+ const selectedItems = _value.map((val) => {
268
+ let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);
269
+ if (!selectedItem && isCreatable) {
270
+ selectedItem = {
271
+ value: val,
272
+ label: val
273
+ };
274
+ }
275
+ return selectedItem;
276
+ }).filter((val) => !!val).map((item) => /* @__PURE__ */ React.createElement(Value, __spreadProps(__spreadValues({}, item), {
241
277
  disabled,
242
278
  className: classes.value,
243
279
  style: _styles.value,
@@ -254,7 +290,11 @@ function MultiSelect(_a) {
254
290
  setValue([]);
255
291
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
256
292
  };
257
- const shouldRenderDropdown = filteredData.length > 0 || searchValue.length > 0 && !!nothingFound && filteredData.length === 0;
293
+ if (isCreatable && shouldCreate(searchValue, filteredData)) {
294
+ createLabel = getCreateLabel(searchValue);
295
+ filteredData.push({ label: searchValue, value: searchValue, creatable: true });
296
+ }
297
+ const shouldRenderDropdown = filteredData.length > 0 || isCreatable || searchValue.length > 0 && !!nothingFound && filteredData.length === 0;
258
298
  return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues({
259
299
  required,
260
300
  id: uuid,
@@ -313,7 +353,7 @@ function MultiSelect(_a) {
313
353
  className: classes.values,
314
354
  style: _styles.values
315
355
  }, selectedItems, /* @__PURE__ */ React.createElement("input", __spreadValues({
316
- ref: useMergedRef(elementRef, inputRef),
356
+ ref: useMergedRef(ref, inputRef),
317
357
  type: "text",
318
358
  id: uuid,
319
359
  style: _styles.searchInput,
@@ -330,7 +370,8 @@ function MultiSelect(_a) {
330
370
  readOnly: !searchable,
331
371
  placeholder: _value.length === 0 ? placeholder : void 0,
332
372
  disabled,
333
- "data-mantine-stop-propagation": dropdownOpened
373
+ "data-mantine-stop-propagation": dropdownOpened,
374
+ autoComplete: "off"
334
375
  }, rest)))), /* @__PURE__ */ React.createElement(SelectDropdown, {
335
376
  mounted: dropdownOpened && shouldRenderDropdown,
336
377
  transition,
@@ -341,7 +382,7 @@ function MultiSelect(_a) {
341
382
  maxDropdownHeight,
342
383
  classNames,
343
384
  styles,
344
- elementRef: dropdownRef,
385
+ ref: dropdownRef,
345
386
  __staticSelector: "multi-select"
346
387
  }, /* @__PURE__ */ React.createElement(SelectItems, {
347
388
  data: filteredData,
@@ -355,10 +396,12 @@ function MultiSelect(_a) {
355
396
  itemsRefs,
356
397
  itemComponent,
357
398
  size,
358
- nothingFound
399
+ nothingFound,
400
+ creatable: creatable && !!createLabel,
401
+ createLabel
359
402
  }))));
360
- }
403
+ });
361
404
  MultiSelect.displayName = "@mantine/core/MultiSelect";
362
405
 
363
- export { MultiSelect, defaultFilter };
406
+ export { MultiSelect, defaultFilter, defaultShouldCreate };
364
407
  //# sourceMappingURL=MultiSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useUncontrolled, useMergedRef } from '@mantine/hooks';\nimport {\n mergeStyles,\n DefaultProps,\n MantineSize,\n MantineShadow,\n ClassNames,\n useUuid,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { scrollIntoView } from '../../utils';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport {\n SelectItem,\n SelectDataItem,\n BaseSelectProps,\n BaseSelectStylesNames,\n} from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport useStyles from './MultiSelect.styles';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps extends DefaultProps<MultiSelectStylesNames>, BaseSelectProps {\n /** Input size */\n size?: MantineSize;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Data for select options */\n data: SelectDataItem[];\n\n /** Value for controlled component */\n value?: string[];\n\n /** Default value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called each time value changes */\n onChange?(value: string[]): void;\n\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Component used to render item */\n itemComponent?: React.FC<any>;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Get input ref */\n elementRef?: React.ForwardedRef<HTMLInputElement>;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function MultiSelect({\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n elementRef,\n icon,\n rightSection,\n rightSectionWidth,\n ...others\n}: MultiSelectProps) {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, 'multi-select');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const handleValueRemove = (_val: string) => setValue(_value.filter((val) => val !== _val));\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setHovered(0);\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const filteredData = filterData({\n data: formattedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const handleItemSelect = (item: SelectItem) => {\n setTimeout(() => {\n clearSearchOnChange && handleSearchChange('');\n\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n });\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered]) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0 && searchable) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => formattedData.find((item) => item.value === val))\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n style={_styles.value}\n onRemove={() => handleValueRemove(item.value)}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={mergedStyles}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"multi-select\"\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n style={_styles.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'div'>\n __staticSelector=\"multi-select\"\n style={{ overflow: 'hidden' }}\n classNames={classNames}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && setDropdownOpened((o) => !o);\n inputRef.current?.focus();\n }}\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles: {\n ...styles,\n input: {\n ...styles?.input,\n cursor: !searchable ? (disabled ? 'not-allowed' : 'pointer') : undefined,\n },\n },\n size,\n shouldClear: clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values} style={_styles.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(elementRef, inputRef)}\n type=\"text\"\n id={uuid}\n style={_styles.searchInput}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n elementRef={dropdownRef}\n __staticSelector=\"multi-select\"\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={uuid}\n __staticSelector=\"multi-select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n />\n </SelectDropdown>\n </div>\n </InputWrapper>\n );\n}\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate } from '@mantine/hooks';\nimport {\n mergeStyles,\n DefaultProps,\n MantineSize,\n MantineShadow,\n ClassNames,\n useUuid,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { scrollIntoView } from '../../utils';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport {\n SelectItem,\n SelectDataItem,\n BaseSelectProps,\n BaseSelectStylesNames,\n} from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport { groupSortData } from '../Select/group-sort-data/group-sort-data';\nimport useStyles from './MultiSelect.styles';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps extends DefaultProps<MultiSelectStylesNames>, BaseSelectProps {\n /** Input size */\n size?: MantineSize;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Data for select options */\n data: SelectDataItem[];\n\n /** Value for controlled component */\n value?: string[];\n\n /** Default value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called each time value changes */\n onChange?(value: string[]): void;\n\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Component used to render item */\n itemComponent?: React.FC<any>;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Get input ref */\n elementRef?: React.ForwardedRef<HTMLInputElement>;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?: (query: string) => React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?: (query: string, data: SelectItem[]) => boolean;\n\n /** Called when create option is selected */\n onCreate?: (query: string) => void;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());\n}\n\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n (\n {\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n icon,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n ...others\n }: MultiSelectProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, 'multi-select');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupSortData({ data: formattedData });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const handleValueRemove = (_val: string) => setValue(_value.filter((val) => val !== _val));\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(\n getNextIndex(\n -1,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n )\n );\n }, [searchValue]);\n\n const handleItemSelect = (item: SelectItem) => {\n setTimeout(() => {\n clearSearchOnChange && handleSearchChange('');\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n });\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered]) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0 && searchable) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => {\n let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);\n if (!selectedItem && isCreatable) {\n selectedItem = {\n value: val,\n label: val,\n };\n }\n return selectedItem;\n })\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n style={_styles.value}\n onRemove={() => handleValueRemove(item.value)}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n if (isCreatable && shouldCreate(searchValue, filteredData)) {\n createLabel = getCreateLabel(searchValue);\n filteredData.push({ label: searchValue, value: searchValue, creatable: true });\n }\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n isCreatable ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={mergedStyles}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"multi-select\"\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n style={_styles.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'div'>\n __staticSelector=\"multi-select\"\n style={{ overflow: 'hidden' }}\n classNames={classNames}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && setDropdownOpened((o) => !o);\n inputRef.current?.focus();\n }}\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles: {\n ...styles,\n input: {\n ...styles?.input,\n cursor: !searchable ? (disabled ? 'not-allowed' : 'pointer') : undefined,\n },\n },\n size,\n shouldClear: clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values} style={_styles.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(ref, inputRef)}\n type=\"text\"\n id={uuid}\n style={_styles.searchInput}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n autoComplete=\"off\"\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n ref={dropdownRef}\n __staticSelector=\"multi-select\"\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={uuid}\n __staticSelector=\"multi-select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={creatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n </InputWrapper>\n );\n }\n);\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ function filterData({ data, searchable, limit, searchValue, filter, value }) {
5
5
  if (!searchable) {
6
6
  const result2 = [];
7
7
  for (let i = 0; i < data.length; i += 1) {
8
- if (!value.some((val) => val === data[i].value)) {
8
+ if (!value.some((val) => val === data[i].value && !data[i].disabled)) {
9
9
  result2.push(data[i]);
10
10
  }
11
11
  }
@@ -13,7 +13,7 @@ function filterData({ data, searchable, limit, searchValue, filter, value }) {
13
13
  }
14
14
  const result = [];
15
15
  for (let i = 0; i < data.length; i += 1) {
16
- if (filter(searchValue, value.some((val) => val === data[i].value), data[i])) {
16
+ if (filter(searchValue, value.some((val) => val === data[i].value && !data[i].disabled), data[i])) {
17
17
  result.push(data[i]);
18
18
  }
19
19
  if (result.length >= limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-data.js","sources":["../../../../src/components/MultiSelect/filter-data/filter-data.ts"],"sourcesContent":["import type { SelectItem } from '../../Select/types';\n\ninterface FilterData {\n data: SelectItem[];\n limit: number;\n searchable: boolean;\n searchValue: string;\n filter(value: string, selected: boolean, item: SelectItem): boolean;\n value: string[];\n}\n\nexport function filterData({ data, searchable, limit, searchValue, filter, value }: FilterData) {\n if (!searchable && value.length === 0) {\n return data;\n }\n\n if (!searchable) {\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!value.some((val) => val === data[i].value)) {\n result.push(data[i]);\n }\n }\n\n return result;\n }\n\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (\n filter(\n searchValue,\n value.some((val) => val === data[i].value),\n data[i]\n )\n ) {\n result.push(data[i]);\n }\n\n if (result.length >= limit) {\n break;\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"AAAO,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;AACpF,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACvD,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAClF,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE;AAChC,MAAM,MAAM;AACZ,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"filter-data.js","sources":["../../../../src/components/MultiSelect/filter-data/filter-data.ts"],"sourcesContent":["import type { SelectItem } from '../../Select/types';\n\ninterface FilterData {\n data: SelectItem[];\n limit: number;\n searchable: boolean;\n searchValue: string;\n filter(value: string, selected: boolean, item: SelectItem): boolean;\n value: string[];\n}\n\nexport function filterData({ data, searchable, limit, searchValue, filter, value }: FilterData) {\n if (!searchable && value.length === 0) {\n return data;\n }\n\n if (!searchable) {\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!value.some((val) => val === data[i].value && !data[i].disabled)) {\n result.push(data[i]);\n }\n }\n\n return result;\n }\n\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (\n filter(\n searchValue,\n value.some((val) => val === data[i].value && !data[i].disabled),\n data[i]\n )\n ) {\n result.push(data[i]);\n }\n\n if (result.length >= limit) {\n break;\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"AAAO,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;AACpF,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC5E,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AACvG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE;AAChC,MAAM,MAAM;AACZ,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { forwardRef } from 'react';
2
2
  import { useUuid, useExtractedMargins } from '@mantine/styles';
3
3
  import { InputWrapper } from '../InputWrapper/InputWrapper.js';
4
4
  import { Input } from '../Input/Input.js';
@@ -35,7 +35,7 @@ var __objRest = (source, exclude) => {
35
35
  }
36
36
  return target;
37
37
  };
38
- function NativeSelect(_a) {
38
+ const NativeSelect = forwardRef((_a, ref) => {
39
39
  var _b = _a, {
40
40
  id,
41
41
  className,
@@ -48,7 +48,6 @@ function NativeSelect(_a) {
48
48
  wrapperProps,
49
49
  inputStyle,
50
50
  description,
51
- elementRef,
52
51
  defaultValue,
53
52
  onChange,
54
53
  value,
@@ -69,7 +68,6 @@ function NativeSelect(_a) {
69
68
  "wrapperProps",
70
69
  "inputStyle",
71
70
  "description",
72
- "elementRef",
73
71
  "defaultValue",
74
72
  "onChange",
75
73
  "value",
@@ -113,7 +111,7 @@ function NativeSelect(_a) {
113
111
  invalid: !!error,
114
112
  style: inputStyle,
115
113
  "aria-required": required,
116
- elementRef,
114
+ ref,
117
115
  id: uuid,
118
116
  required,
119
117
  value: value === null ? "" : value,
@@ -128,7 +126,7 @@ function NativeSelect(_a) {
128
126
  size,
129
127
  error
130
128
  })), options));
131
- }
129
+ });
132
130
  NativeSelect.displayName = "@mantine/core/NativeSelect";
133
131
 
134
132
  export { NativeSelect };
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSelect.js","sources":["../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, useUuid, useExtractedMargins } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapper,\n InputWrapperStylesNames,\n} from '../InputWrapper/InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input/Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputBaseProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Style properties added to select element */\n inputStyle?: React.CSSProperties;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Get element ref */\n elementRef?: React.ForwardedRef<HTMLSelectElement>;\n\n /** Input size */\n size?: MantineSize;\n}\n\nexport function NativeSelect({\n id,\n className,\n required,\n label,\n error,\n style,\n data,\n placeholder,\n wrapperProps,\n inputStyle,\n description,\n elementRef,\n defaultValue,\n onChange,\n value,\n classNames,\n styles,\n size = 'sm',\n rightSection,\n rightSectionWidth,\n ...others\n}: NativeSelectProps) {\n const uuid = useUuid(id);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <InputWrapper\n {...wrapperProps}\n required={required}\n id={uuid}\n label={label}\n error={error}\n className={className}\n style={mergedStyles}\n description={description}\n size={size}\n styles={styles}\n classNames={classNames}\n __staticSelector=\"select\"\n >\n <Input<'select', HTMLSelectElement>\n {...rest}\n onChange={onChange}\n component=\"select\"\n invalid={!!error}\n style={inputStyle}\n aria-required={required}\n elementRef={elementRef}\n id={uuid}\n required={required}\n value={value === null ? '' : value}\n size={size}\n classNames={classNames}\n __staticSelector=\"select\"\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size,\n error,\n })}\n >\n {options}\n </Input>\n </InputWrapper>\n );\n}\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeSelect.js","sources":["../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useUuid, useExtractedMargins } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapper,\n InputWrapperStylesNames,\n} from '../InputWrapper/InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input/Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputBaseProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Style properties added to select element */\n inputStyle?: React.CSSProperties;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Input size */\n size?: MantineSize;\n}\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n (\n {\n id,\n className,\n required,\n label,\n error,\n style,\n data,\n placeholder,\n wrapperProps,\n inputStyle,\n description,\n defaultValue,\n onChange,\n value,\n classNames,\n styles,\n size = 'sm',\n rightSection,\n rightSectionWidth,\n ...others\n }: NativeSelectProps,\n ref\n ) => {\n const uuid = useUuid(id);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <InputWrapper\n {...wrapperProps}\n required={required}\n id={uuid}\n label={label}\n error={error}\n className={className}\n style={mergedStyles}\n description={description}\n size={size}\n styles={styles}\n classNames={classNames}\n __staticSelector=\"select\"\n >\n <Input<'select'>\n {...rest}\n onChange={onChange}\n component=\"select\"\n invalid={!!error}\n style={inputStyle}\n aria-required={required}\n ref={ref}\n id={uuid}\n required={required}\n value={value === null ? '' : value}\n size={size}\n classNames={classNames}\n __staticSelector=\"select\"\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size,\n error,\n })}\n >\n {options}\n </Input>\n </InputWrapper>\n );\n }\n);\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { forwardRef } from 'react';
2
2
  import { mergeStyles, useExtractedMargins } from '@mantine/styles';
3
3
  import { Text } from '../Text/Text.js';
4
4
  import { Loader } from '../Loader/Loader.js';
@@ -36,7 +36,7 @@ var __objRest = (source, exclude) => {
36
36
  }
37
37
  return target;
38
38
  };
39
- function Notification(_a) {
39
+ const Notification = forwardRef((_a, ref) => {
40
40
  var _b = _a, {
41
41
  className,
42
42
  style,
@@ -71,7 +71,8 @@ function Notification(_a) {
71
71
  return /* @__PURE__ */ React.createElement("div", __spreadValues({
72
72
  className: cx(classes.root, { [classes.withIcon]: withIcon }, className),
73
73
  role: "alert",
74
- style: __spreadValues(__spreadValues({}, mergedStyles), withIcon ? _styles.withIcon : null)
74
+ style: __spreadValues(__spreadValues({}, mergedStyles), withIcon ? _styles.withIcon : null),
75
+ ref
75
76
  }, rest), icon && !loading && /* @__PURE__ */ React.createElement("div", {
76
77
  className: classes.icon,
77
78
  style: _styles.icon
@@ -99,7 +100,7 @@ function Notification(_a) {
99
100
  onClick: onClose,
100
101
  variant: "hover"
101
102
  })));
102
- }
103
+ });
103
104
  Notification.displayName = "@mantine/core/Notification";
104
105
 
105
106
  export { Notification };
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.js","sources":["../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import React from 'react';\nimport {\n mergeStyles,\n DefaultProps,\n MantineColor,\n ClassNames,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { Text } from '../Text/Text';\nimport { Loader } from '../Loader/Loader';\nimport { CloseButton } from '../ActionIcon/CloseButton/CloseButton';\nimport useStyles from './Notification.styles';\n\nexport type NotificationStylesNames = Exclude<ClassNames<typeof useStyles>, 'withIcon'>;\n\nexport interface NotificationProps\n extends DefaultProps<NotificationStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Called when close button is clicked */\n onClose(): void;\n\n /** Notification line or icon color */\n color?: MantineColor;\n\n /** Notification icon, replaces color line */\n icon?: React.ReactNode;\n\n /** Notification title, displayed before body */\n title?: React.ReactNode;\n\n /** Notification body, place main text here */\n children?: React.ReactNode;\n\n /** Replaces colored line or icon with Loader component */\n loading?: boolean;\n\n /** Removes close button */\n disallowClose?: boolean;\n\n /** Props spread to close button */\n closeButtonProps?: React.ComponentPropsWithoutRef<'button'> & { [key: string]: any };\n}\n\nexport function Notification({\n className,\n style,\n color = 'blue',\n loading = false,\n disallowClose = false,\n title,\n icon,\n children,\n onClose,\n closeButtonProps,\n classNames,\n styles,\n ...others\n}: NotificationProps) {\n const { classes, cx } = useStyles({ color, disallowClose }, classNames, 'notification');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style, rootStyle: _styles.root });\n const withIcon = icon || loading;\n\n return (\n <div\n className={cx(classes.root, { [classes.withIcon]: withIcon }, className)}\n role=\"alert\"\n style={{ ...mergedStyles, ...(withIcon ? _styles.withIcon : null) }}\n {...rest}\n >\n {icon && !loading && (\n <div className={classes.icon} style={_styles.icon}>\n {icon}\n </div>\n )}\n\n {loading && (\n <Loader size={28} color={color} className={classes.loader} style={_styles.loader} />\n )}\n\n <div className={classes.body} style={_styles.body}>\n {title && (\n <Text className={classes.title} size=\"sm\" weight={500} style={_styles.title}>\n {title}\n </Text>\n )}\n\n <Text color=\"dimmed\" className={classes.description} size=\"sm\" style={_styles.description}>\n {children}\n </Text>\n </div>\n\n {!disallowClose && (\n <CloseButton\n {...closeButtonProps}\n iconSize={16}\n color=\"gray\"\n onClick={onClose}\n variant=\"hover\"\n />\n )}\n </div>\n );\n}\n\nNotification.displayName = '@mantine/core/Notification';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Notification.js","sources":["../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n mergeStyles,\n DefaultProps,\n MantineColor,\n ClassNames,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { Text } from '../Text/Text';\nimport { Loader } from '../Loader/Loader';\nimport { CloseButton } from '../ActionIcon/CloseButton/CloseButton';\nimport useStyles from './Notification.styles';\n\nexport type NotificationStylesNames = Exclude<ClassNames<typeof useStyles>, 'withIcon'>;\n\nexport interface NotificationProps\n extends DefaultProps<NotificationStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Called when close button is clicked */\n onClose(): void;\n\n /** Notification line or icon color */\n color?: MantineColor;\n\n /** Notification icon, replaces color line */\n icon?: React.ReactNode;\n\n /** Notification title, displayed before body */\n title?: React.ReactNode;\n\n /** Notification body, place main text here */\n children?: React.ReactNode;\n\n /** Replaces colored line or icon with Loader component */\n loading?: boolean;\n\n /** Removes close button */\n disallowClose?: boolean;\n\n /** Props spread to close button */\n closeButtonProps?: React.ComponentPropsWithoutRef<'button'> & { [key: string]: any };\n}\n\nexport const Notification = forwardRef<HTMLDivElement, NotificationProps>(\n (\n {\n className,\n style,\n color = 'blue',\n loading = false,\n disallowClose = false,\n title,\n icon,\n children,\n onClose,\n closeButtonProps,\n classNames,\n styles,\n ...others\n }: NotificationProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ color, disallowClose }, classNames, 'notification');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style, rootStyle: _styles.root });\n const withIcon = icon || loading;\n\n return (\n <div\n className={cx(classes.root, { [classes.withIcon]: withIcon }, className)}\n role=\"alert\"\n style={{ ...mergedStyles, ...(withIcon ? _styles.withIcon : null) }}\n ref={ref}\n {...rest}\n >\n {icon && !loading && (\n <div className={classes.icon} style={_styles.icon}>\n {icon}\n </div>\n )}\n\n {loading && (\n <Loader size={28} color={color} className={classes.loader} style={_styles.loader} />\n )}\n\n <div className={classes.body} style={_styles.body}>\n {title && (\n <Text className={classes.title} size=\"sm\" weight={500} style={_styles.title}>\n {title}\n </Text>\n )}\n\n <Text\n color=\"dimmed\"\n className={classes.description}\n size=\"sm\"\n style={_styles.description}\n >\n {children}\n </Text>\n </div>\n\n {!disallowClose && (\n <CloseButton\n {...closeButtonProps}\n iconSize={16}\n color=\"gray\"\n onClick={onClose}\n variant=\"hover\"\n />\n )}\n </div>\n );\n }\n);\n\nNotification.displayName = '@mantine/core/Notification';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { useState, useRef, useEffect } from 'react';
1
+ import React, { forwardRef, useState, useRef, useEffect } from 'react';
2
2
  import { assignRef, useMergedRef, clamp } from '@mantine/hooks';
3
3
  import { mergeStyles, getSizeValue } from '@mantine/styles';
4
4
  import { TextInput } from '../TextInput/TextInput.js';
@@ -35,10 +35,9 @@ var __objRest = (source, exclude) => {
35
35
  }
36
36
  return target;
37
37
  };
38
- function NumberInput(_a) {
38
+ const NumberInput = forwardRef((_a, ref) => {
39
39
  var _b = _a, {
40
40
  disabled,
41
- elementRef,
42
41
  value,
43
42
  onChange,
44
43
  min,
@@ -58,7 +57,6 @@ function NumberInput(_a) {
58
57
  size
59
58
  } = _b, others = __objRest(_b, [
60
59
  "disabled",
61
- "elementRef",
62
60
  "value",
63
61
  "onChange",
64
62
  "min",
@@ -163,7 +161,7 @@ function NumberInput(_a) {
163
161
  variant,
164
162
  value: tempValue,
165
163
  disabled,
166
- elementRef: useMergedRef(inputRef, elementRef),
164
+ ref: useMergedRef(inputRef, ref),
167
165
  type: "number",
168
166
  onChange: handleChange,
169
167
  onBlur: handleBlur,
@@ -179,7 +177,7 @@ function NumberInput(_a) {
179
177
  classNames,
180
178
  __staticSelector: "number-input"
181
179
  }));
182
- }
180
+ });
183
181
  NumberInput.displayName = "@mantine/core/NumberInput";
184
182
 
185
183
  export { NumberInput };