@mantine/core 3.3.5 → 3.4.3

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 (544) hide show
  1. package/cjs/components/ActionIcon/ActionIcon.js +4 -9
  2. package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
  3. package/cjs/components/Affix/Affix.js +3 -3
  4. package/cjs/components/Affix/Affix.js.map +1 -1
  5. package/cjs/components/Alert/Alert.js +5 -11
  6. package/cjs/components/Alert/Alert.js.map +1 -1
  7. package/cjs/components/Anchor/Anchor.js +2 -2
  8. package/cjs/components/Anchor/Anchor.js.map +1 -1
  9. package/cjs/components/AppShell/AppShell.js +5 -6
  10. package/cjs/components/AppShell/AppShell.js.map +1 -1
  11. package/cjs/components/AppShell/Header/Header.js +1 -3
  12. package/cjs/components/AppShell/Header/Header.js.map +1 -1
  13. package/cjs/components/AppShell/Navbar/Navbar.js +1 -3
  14. package/cjs/components/AppShell/Navbar/Navbar.js.map +1 -1
  15. package/cjs/components/AppShell/Navbar/NavbarSection/NavbarSection.js +6 -9
  16. package/cjs/components/AppShell/Navbar/NavbarSection/NavbarSection.js.map +1 -1
  17. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  18. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/Avatar/Avatar.js +7 -16
  20. package/cjs/components/Avatar/Avatar.js.map +1 -1
  21. package/cjs/components/Avatar/AvatarsGroup/AvatarsGroup.js +3 -5
  22. package/cjs/components/Avatar/AvatarsGroup/AvatarsGroup.js.map +1 -1
  23. package/cjs/components/Badge/Badge.js +7 -16
  24. package/cjs/components/Badge/Badge.js.map +1 -1
  25. package/cjs/components/Blockquote/Blockquote.js +7 -12
  26. package/cjs/components/Blockquote/Blockquote.js.map +1 -1
  27. package/cjs/components/Box/Box.js +13 -3
  28. package/cjs/components/Box/Box.js.map +1 -1
  29. package/cjs/components/Breadcrumbs/Breadcrumbs.js +6 -24
  30. package/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  31. package/cjs/components/Burger/Burger.js +7 -25
  32. package/cjs/components/Burger/Burger.js.map +1 -1
  33. package/cjs/components/Button/Button.js +8 -16
  34. package/cjs/components/Button/Button.js.map +1 -1
  35. package/cjs/components/Button/UnstyledButton/UnstyledButton.js +5 -3
  36. package/cjs/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
  37. package/cjs/components/Card/Card.js +8 -5
  38. package/cjs/components/Card/Card.js.map +1 -1
  39. package/cjs/components/Card/CardSection/CardSection.js +9 -9
  40. package/cjs/components/Card/CardSection/CardSection.js.map +1 -1
  41. package/cjs/components/Card/CardSection/CardSection.styles.js +4 -7
  42. package/cjs/components/Card/CardSection/CardSection.styles.js.map +1 -1
  43. package/cjs/components/Center/Center.js +12 -15
  44. package/cjs/components/Center/Center.js.map +1 -1
  45. package/cjs/components/Checkbox/Checkbox.js +11 -9
  46. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  47. package/cjs/components/Chips/Chip/Chip.js +9 -7
  48. package/cjs/components/Chips/Chip/Chip.js.map +1 -1
  49. package/cjs/components/Code/Code.js +9 -27
  50. package/cjs/components/Code/Code.js.map +1 -1
  51. package/cjs/components/Collapse/Collapse.js +3 -14
  52. package/cjs/components/Collapse/Collapse.js.map +1 -1
  53. package/cjs/components/ColorInput/ColorInput.js +8 -8
  54. package/cjs/components/ColorInput/ColorInput.js.map +1 -1
  55. package/cjs/components/ColorPicker/ColorPicker.js +2 -5
  56. package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
  57. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js +8 -11
  58. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
  59. package/cjs/components/ColorSwatch/ColorSwatch.js +6 -12
  60. package/cjs/components/ColorSwatch/ColorSwatch.js.map +1 -1
  61. package/cjs/components/Container/Container.js +5 -25
  62. package/cjs/components/Container/Container.js.map +1 -1
  63. package/cjs/components/Dialog/Dialog.js +3 -5
  64. package/cjs/components/Dialog/Dialog.js.map +1 -1
  65. package/cjs/components/Divider/Divider.js +8 -13
  66. package/cjs/components/Divider/Divider.js.map +1 -1
  67. package/cjs/components/Drawer/Drawer.js +12 -18
  68. package/cjs/components/Drawer/Drawer.js.map +1 -1
  69. package/cjs/components/Drawer/Drawer.styles.js +0 -7
  70. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  71. package/cjs/components/Grid/Col/Col.js +5 -6
  72. package/cjs/components/Grid/Col/Col.js.map +1 -1
  73. package/cjs/components/Grid/Grid.js +7 -13
  74. package/cjs/components/Grid/Grid.js.map +1 -1
  75. package/cjs/components/Group/Group.js +6 -12
  76. package/cjs/components/Group/Group.js.map +1 -1
  77. package/cjs/components/Highlight/Highlight.js +16 -4
  78. package/cjs/components/Highlight/Highlight.js.map +1 -1
  79. package/cjs/components/Image/Image.js +12 -22
  80. package/cjs/components/Image/Image.js.map +1 -1
  81. package/cjs/components/Input/Input.js +6 -6
  82. package/cjs/components/Input/Input.js.map +1 -1
  83. package/cjs/components/InputWrapper/InputWrapper.js +6 -12
  84. package/cjs/components/InputWrapper/InputWrapper.js.map +1 -1
  85. package/cjs/components/Kbd/Kbd.js +6 -7
  86. package/cjs/components/Kbd/Kbd.js.map +1 -1
  87. package/cjs/components/List/List.js +12 -17
  88. package/cjs/components/List/List.js.map +1 -1
  89. package/cjs/components/List/ListItem/ListItem.js +9 -15
  90. package/cjs/components/List/ListItem/ListItem.js.map +1 -1
  91. package/cjs/components/Loader/Loader.js +8 -24
  92. package/cjs/components/Loader/Loader.js.map +1 -1
  93. package/cjs/components/LoadingOverlay/LoadingOverlay.js +11 -11
  94. package/cjs/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
  95. package/cjs/components/Mark/Mark.js +6 -7
  96. package/cjs/components/Mark/Mark.js.map +1 -1
  97. package/cjs/components/MediaQuery/MediaQuery.js.map +1 -1
  98. package/cjs/components/MediaQuery/MediaQuery.styles.js +11 -5
  99. package/cjs/components/MediaQuery/MediaQuery.styles.js.map +1 -1
  100. package/cjs/components/Menu/Menu.js +12 -14
  101. package/cjs/components/Menu/Menu.js.map +1 -1
  102. package/cjs/components/Menu/MenuItem/MenuItem.js +8 -11
  103. package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
  104. package/cjs/components/Modal/Modal.js +19 -15
  105. package/cjs/components/Modal/Modal.js.map +1 -1
  106. package/cjs/components/Modal/Modal.styles.js +3 -7
  107. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  108. package/cjs/components/MultiSelect/MultiSelect.js +13 -7
  109. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  110. package/cjs/components/NativeSelect/NativeSelect.js +4 -4
  111. package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  112. package/cjs/components/Notification/Notification.js +8 -14
  113. package/cjs/components/Notification/Notification.js.map +1 -1
  114. package/cjs/components/NumberInput/NumberInput.js +1 -1
  115. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  116. package/cjs/components/Overlay/Overlay.js +17 -16
  117. package/cjs/components/Overlay/Overlay.js.map +1 -1
  118. package/cjs/components/Paper/Paper.js +8 -14
  119. package/cjs/components/Paper/Paper.js.map +1 -1
  120. package/cjs/components/PasswordInput/PasswordInput.js +5 -5
  121. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  122. package/cjs/components/Popover/Popover.js +9 -6
  123. package/cjs/components/Popover/Popover.js.map +1 -1
  124. package/cjs/components/Popover/PopoverBody/PopoverBody.js +5 -3
  125. package/cjs/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
  126. package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js +3 -2
  127. package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
  128. package/cjs/components/Progress/Progress.js +7 -13
  129. package/cjs/components/Progress/Progress.js.map +1 -1
  130. package/cjs/components/RadioGroup/Radio/Radio.js +15 -7
  131. package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
  132. package/cjs/components/RadioGroup/RadioGroup.js +4 -6
  133. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  134. package/cjs/components/RingProgress/RingProgress.js +7 -10
  135. package/cjs/components/RingProgress/RingProgress.js.map +1 -1
  136. package/cjs/components/ScrollArea/ScrollArea.js +10 -14
  137. package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
  138. package/cjs/components/SegmentedControl/SegmentedControl.js +8 -14
  139. package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  140. package/cjs/components/Select/Select.js +13 -7
  141. package/cjs/components/Select/Select.js.map +1 -1
  142. package/cjs/components/Select/SelectDropdown/SelectDropdown.js +11 -5
  143. package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  144. package/cjs/components/Select/SelectDropdown/SelectDropdown.styles.js +3 -2
  145. package/cjs/components/Select/SelectDropdown/SelectDropdown.styles.js.map +1 -1
  146. package/cjs/components/SimpleGrid/SimpleGrid.js +5 -14
  147. package/cjs/components/SimpleGrid/SimpleGrid.js.map +1 -1
  148. package/cjs/components/SimpleGrid/SimpleGrid.styles.js +2 -1
  149. package/cjs/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  150. package/cjs/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -1
  151. package/cjs/components/Skeleton/Skeleton.js +5 -11
  152. package/cjs/components/Skeleton/Skeleton.js.map +1 -1
  153. package/cjs/components/Slider/Slider/Slider.js +2 -2
  154. package/cjs/components/Slider/Slider/Slider.js.map +1 -1
  155. package/cjs/components/Slider/SliderRoot/SliderRoot.js +5 -7
  156. package/cjs/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
  157. package/cjs/components/Space/Space.js +12 -10
  158. package/cjs/components/Space/Space.js.map +1 -1
  159. package/cjs/components/Spoiler/Spoiler.js +6 -12
  160. package/cjs/components/Spoiler/Spoiler.js.map +1 -1
  161. package/cjs/components/Stepper/Step/Step.js +4 -8
  162. package/cjs/components/Stepper/Step/Step.js.map +1 -1
  163. package/cjs/components/Stepper/Stepper.js +7 -13
  164. package/cjs/components/Stepper/Stepper.js.map +1 -1
  165. package/cjs/components/Switch/Switch.js +7 -5
  166. package/cjs/components/Switch/Switch.js.map +1 -1
  167. package/cjs/components/Table/Table.js +6 -11
  168. package/cjs/components/Table/Table.js.map +1 -1
  169. package/cjs/components/Tabs/TabControl/TabControl.js +6 -8
  170. package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
  171. package/cjs/components/Tabs/Tabs.js +9 -15
  172. package/cjs/components/Tabs/Tabs.js.map +1 -1
  173. package/cjs/components/Text/Text.js +10 -11
  174. package/cjs/components/Text/Text.js.map +1 -1
  175. package/cjs/components/TextInput/TextInput.js +4 -4
  176. package/cjs/components/TextInput/TextInput.js.map +1 -1
  177. package/cjs/components/Textarea/Textarea.js +4 -4
  178. package/cjs/components/Textarea/Textarea.js.map +1 -1
  179. package/cjs/components/ThemeIcon/ThemeIcon.js +6 -12
  180. package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
  181. package/cjs/components/Timeline/Timeline.js +10 -16
  182. package/cjs/components/Timeline/Timeline.js.map +1 -1
  183. package/cjs/components/Timeline/TimelineItem/TimelineItem.js +8 -11
  184. package/cjs/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
  185. package/cjs/components/Title/Title.js +10 -11
  186. package/cjs/components/Title/Title.js.map +1 -1
  187. package/cjs/components/Tooltip/Tooltip.js +6 -7
  188. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  189. package/cjs/components/TransferList/DefaultItem/DefaultItem.js +2 -5
  190. package/cjs/components/TransferList/DefaultItem/DefaultItem.js.map +1 -1
  191. package/cjs/components/TransferList/RenderList/RenderList.js +2 -1
  192. package/cjs/components/TransferList/RenderList/RenderList.js.map +1 -1
  193. package/cjs/components/TransferList/RenderList/RenderList.styles.js +2 -2
  194. package/cjs/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
  195. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -7
  196. package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
  197. package/cjs/index.js +2 -0
  198. package/cjs/index.js.map +1 -1
  199. package/esm/components/ActionIcon/ActionIcon.js +5 -10
  200. package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
  201. package/esm/components/Affix/Affix.js +4 -4
  202. package/esm/components/Affix/Affix.js.map +1 -1
  203. package/esm/components/Alert/Alert.js +4 -10
  204. package/esm/components/Alert/Alert.js.map +1 -1
  205. package/esm/components/Anchor/Anchor.js +2 -2
  206. package/esm/components/Anchor/Anchor.js.map +1 -1
  207. package/esm/components/AppShell/AppShell.js +5 -6
  208. package/esm/components/AppShell/AppShell.js.map +1 -1
  209. package/esm/components/AppShell/Header/Header.js +1 -3
  210. package/esm/components/AppShell/Header/Header.js.map +1 -1
  211. package/esm/components/AppShell/Navbar/Navbar.js +1 -3
  212. package/esm/components/AppShell/Navbar/Navbar.js.map +1 -1
  213. package/esm/components/AppShell/Navbar/NavbarSection/NavbarSection.js +6 -9
  214. package/esm/components/AppShell/Navbar/NavbarSection/NavbarSection.js.map +1 -1
  215. package/esm/components/Autocomplete/Autocomplete.js +11 -5
  216. package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  217. package/esm/components/Avatar/Avatar.js +7 -16
  218. package/esm/components/Avatar/Avatar.js.map +1 -1
  219. package/esm/components/Avatar/AvatarsGroup/AvatarsGroup.js +3 -5
  220. package/esm/components/Avatar/AvatarsGroup/AvatarsGroup.js.map +1 -1
  221. package/esm/components/Badge/Badge.js +7 -16
  222. package/esm/components/Badge/Badge.js.map +1 -1
  223. package/esm/components/Blockquote/Blockquote.js +7 -12
  224. package/esm/components/Blockquote/Blockquote.js.map +1 -1
  225. package/esm/components/Box/Box.js +14 -4
  226. package/esm/components/Box/Box.js.map +1 -1
  227. package/esm/components/Breadcrumbs/Breadcrumbs.js +6 -24
  228. package/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  229. package/esm/components/Burger/Burger.js +8 -26
  230. package/esm/components/Burger/Burger.js.map +1 -1
  231. package/esm/components/Button/Button.js +9 -17
  232. package/esm/components/Button/Button.js.map +1 -1
  233. package/esm/components/Button/UnstyledButton/UnstyledButton.js +5 -3
  234. package/esm/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
  235. package/esm/components/Card/Card.js +8 -5
  236. package/esm/components/Card/Card.js.map +1 -1
  237. package/esm/components/Card/CardSection/CardSection.js +10 -10
  238. package/esm/components/Card/CardSection/CardSection.js.map +1 -1
  239. package/esm/components/Card/CardSection/CardSection.styles.js +4 -7
  240. package/esm/components/Card/CardSection/CardSection.styles.js.map +1 -1
  241. package/esm/components/Center/Center.js +12 -15
  242. package/esm/components/Center/Center.js.map +1 -1
  243. package/esm/components/Checkbox/Checkbox.js +12 -10
  244. package/esm/components/Checkbox/Checkbox.js.map +1 -1
  245. package/esm/components/Chips/Chip/Chip.js +10 -8
  246. package/esm/components/Chips/Chip/Chip.js.map +1 -1
  247. package/esm/components/Code/Code.js +10 -28
  248. package/esm/components/Code/Code.js.map +1 -1
  249. package/esm/components/Collapse/Collapse.js +4 -15
  250. package/esm/components/Collapse/Collapse.js.map +1 -1
  251. package/esm/components/ColorInput/ColorInput.js +9 -9
  252. package/esm/components/ColorInput/ColorInput.js.map +1 -1
  253. package/esm/components/ColorPicker/ColorPicker.js +2 -5
  254. package/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  255. package/esm/components/ColorPicker/ColorSlider/ColorSlider.js +5 -8
  256. package/esm/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
  257. package/esm/components/ColorSwatch/ColorSwatch.js +5 -11
  258. package/esm/components/ColorSwatch/ColorSwatch.js.map +1 -1
  259. package/esm/components/Container/Container.js +5 -25
  260. package/esm/components/Container/Container.js.map +1 -1
  261. package/esm/components/Dialog/Dialog.js +3 -5
  262. package/esm/components/Dialog/Dialog.js.map +1 -1
  263. package/esm/components/Divider/Divider.js +9 -14
  264. package/esm/components/Divider/Divider.js.map +1 -1
  265. package/esm/components/Drawer/Drawer.js +12 -18
  266. package/esm/components/Drawer/Drawer.js.map +1 -1
  267. package/esm/components/Drawer/Drawer.styles.js +0 -7
  268. package/esm/components/Drawer/Drawer.styles.js.map +1 -1
  269. package/esm/components/Grid/Col/Col.js +5 -6
  270. package/esm/components/Grid/Col/Col.js.map +1 -1
  271. package/esm/components/Grid/Grid.js +6 -12
  272. package/esm/components/Grid/Grid.js.map +1 -1
  273. package/esm/components/Group/Group.js +6 -12
  274. package/esm/components/Group/Group.js.map +1 -1
  275. package/esm/components/Highlight/Highlight.js +16 -4
  276. package/esm/components/Highlight/Highlight.js.map +1 -1
  277. package/esm/components/Image/Image.js +12 -22
  278. package/esm/components/Image/Image.js.map +1 -1
  279. package/esm/components/Input/Input.js +7 -7
  280. package/esm/components/Input/Input.js.map +1 -1
  281. package/esm/components/InputWrapper/InputWrapper.js +5 -11
  282. package/esm/components/InputWrapper/InputWrapper.js.map +1 -1
  283. package/esm/components/Kbd/Kbd.js +6 -7
  284. package/esm/components/Kbd/Kbd.js.map +1 -1
  285. package/esm/components/List/List.js +11 -16
  286. package/esm/components/List/List.js.map +1 -1
  287. package/esm/components/List/ListItem/ListItem.js +7 -13
  288. package/esm/components/List/ListItem/ListItem.js.map +1 -1
  289. package/esm/components/Loader/Loader.js +9 -25
  290. package/esm/components/Loader/Loader.js.map +1 -1
  291. package/esm/components/LoadingOverlay/LoadingOverlay.js +12 -12
  292. package/esm/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
  293. package/esm/components/Mark/Mark.js +6 -7
  294. package/esm/components/Mark/Mark.js.map +1 -1
  295. package/esm/components/MediaQuery/MediaQuery.js.map +1 -1
  296. package/esm/components/MediaQuery/MediaQuery.styles.js +11 -5
  297. package/esm/components/MediaQuery/MediaQuery.styles.js.map +1 -1
  298. package/esm/components/Menu/Menu.js +13 -15
  299. package/esm/components/Menu/Menu.js.map +1 -1
  300. package/esm/components/Menu/MenuItem/MenuItem.js +6 -9
  301. package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
  302. package/esm/components/Modal/Modal.js +19 -15
  303. package/esm/components/Modal/Modal.js.map +1 -1
  304. package/esm/components/Modal/Modal.styles.js +3 -7
  305. package/esm/components/Modal/Modal.styles.js.map +1 -1
  306. package/esm/components/MultiSelect/MultiSelect.js +14 -8
  307. package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  308. package/esm/components/NativeSelect/NativeSelect.js +5 -5
  309. package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
  310. package/esm/components/Notification/Notification.js +8 -14
  311. package/esm/components/Notification/Notification.js.map +1 -1
  312. package/esm/components/NumberInput/NumberInput.js +1 -1
  313. package/esm/components/NumberInput/NumberInput.js.map +1 -1
  314. package/esm/components/Overlay/Overlay.js +18 -17
  315. package/esm/components/Overlay/Overlay.js.map +1 -1
  316. package/esm/components/Paper/Paper.js +8 -14
  317. package/esm/components/Paper/Paper.js.map +1 -1
  318. package/esm/components/PasswordInput/PasswordInput.js +6 -6
  319. package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
  320. package/esm/components/Popover/Popover.js +9 -6
  321. package/esm/components/Popover/Popover.js.map +1 -1
  322. package/esm/components/Popover/PopoverBody/PopoverBody.js +5 -3
  323. package/esm/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
  324. package/esm/components/Popover/PopoverBody/PopoverBody.styles.js +3 -2
  325. package/esm/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
  326. package/esm/components/Progress/Progress.js +6 -12
  327. package/esm/components/Progress/Progress.js.map +1 -1
  328. package/esm/components/RadioGroup/Radio/Radio.js +15 -7
  329. package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
  330. package/esm/components/RadioGroup/RadioGroup.js +4 -6
  331. package/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  332. package/esm/components/RingProgress/RingProgress.js +7 -10
  333. package/esm/components/RingProgress/RingProgress.js.map +1 -1
  334. package/esm/components/ScrollArea/ScrollArea.js +9 -13
  335. package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
  336. package/esm/components/SegmentedControl/SegmentedControl.js +7 -13
  337. package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  338. package/esm/components/Select/Select.js +14 -8
  339. package/esm/components/Select/Select.js.map +1 -1
  340. package/esm/components/Select/SelectDropdown/SelectDropdown.js +11 -5
  341. package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  342. package/esm/components/Select/SelectDropdown/SelectDropdown.styles.js +3 -2
  343. package/esm/components/Select/SelectDropdown/SelectDropdown.styles.js.map +1 -1
  344. package/esm/components/SimpleGrid/SimpleGrid.js +4 -13
  345. package/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  346. package/esm/components/SimpleGrid/SimpleGrid.styles.js +2 -1
  347. package/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  348. package/esm/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -1
  349. package/esm/components/Skeleton/Skeleton.js +4 -10
  350. package/esm/components/Skeleton/Skeleton.js.map +1 -1
  351. package/esm/components/Slider/Slider/Slider.js +2 -2
  352. package/esm/components/Slider/Slider/Slider.js.map +1 -1
  353. package/esm/components/Slider/SliderRoot/SliderRoot.js +5 -7
  354. package/esm/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
  355. package/esm/components/Space/Space.js +12 -10
  356. package/esm/components/Space/Space.js.map +1 -1
  357. package/esm/components/Spoiler/Spoiler.js +6 -12
  358. package/esm/components/Spoiler/Spoiler.js.map +1 -1
  359. package/esm/components/Stepper/Step/Step.js +3 -7
  360. package/esm/components/Stepper/Step/Step.js.map +1 -1
  361. package/esm/components/Stepper/Stepper.js +6 -12
  362. package/esm/components/Stepper/Stepper.js.map +1 -1
  363. package/esm/components/Switch/Switch.js +8 -6
  364. package/esm/components/Switch/Switch.js.map +1 -1
  365. package/esm/components/Table/Table.js +6 -11
  366. package/esm/components/Table/Table.js.map +1 -1
  367. package/esm/components/Tabs/TabControl/TabControl.js +4 -6
  368. package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
  369. package/esm/components/Tabs/Tabs.js +7 -13
  370. package/esm/components/Tabs/Tabs.js.map +1 -1
  371. package/esm/components/Text/Text.js +10 -11
  372. package/esm/components/Text/Text.js.map +1 -1
  373. package/esm/components/TextInput/TextInput.js +5 -5
  374. package/esm/components/TextInput/TextInput.js.map +1 -1
  375. package/esm/components/Textarea/Textarea.js +5 -5
  376. package/esm/components/Textarea/Textarea.js.map +1 -1
  377. package/esm/components/ThemeIcon/ThemeIcon.js +6 -12
  378. package/esm/components/ThemeIcon/ThemeIcon.js.map +1 -1
  379. package/esm/components/Timeline/Timeline.js +10 -16
  380. package/esm/components/Timeline/Timeline.js.map +1 -1
  381. package/esm/components/Timeline/TimelineItem/TimelineItem.js +6 -9
  382. package/esm/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
  383. package/esm/components/Title/Title.js +8 -9
  384. package/esm/components/Title/Title.js.map +1 -1
  385. package/esm/components/Tooltip/Tooltip.js +6 -7
  386. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  387. package/esm/components/TransferList/DefaultItem/DefaultItem.js +2 -5
  388. package/esm/components/TransferList/DefaultItem/DefaultItem.js.map +1 -1
  389. package/esm/components/TransferList/RenderList/RenderList.js +2 -1
  390. package/esm/components/TransferList/RenderList/RenderList.js.map +1 -1
  391. package/esm/components/TransferList/RenderList/RenderList.styles.js +2 -2
  392. package/esm/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
  393. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -7
  394. package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
  395. package/esm/index.js +1 -0
  396. package/esm/index.js.map +1 -1
  397. package/lib/components/ActionIcon/ActionIcon.d.ts.map +1 -1
  398. package/lib/components/ActionIcon/ActionIcon.styles.d.ts +2 -2
  399. package/lib/components/Affix/Affix.d.ts.map +1 -1
  400. package/lib/components/Alert/Alert.d.ts.map +1 -1
  401. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  402. package/lib/components/AppShell/Header/Header.d.ts.map +1 -1
  403. package/lib/components/AppShell/Navbar/Navbar.d.ts.map +1 -1
  404. package/lib/components/AppShell/Navbar/NavbarSection/NavbarSection.d.ts.map +1 -1
  405. package/lib/components/Autocomplete/Autocomplete.d.ts +5 -41
  406. package/lib/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  407. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  408. package/lib/components/Avatar/AvatarsGroup/AvatarsGroup.d.ts.map +1 -1
  409. package/lib/components/Badge/Badge.d.ts.map +1 -1
  410. package/lib/components/Blockquote/Blockquote.d.ts.map +1 -1
  411. package/lib/components/Box/Box.d.ts +5 -2
  412. package/lib/components/Box/Box.d.ts.map +1 -1
  413. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  414. package/lib/components/Burger/Burger.d.ts.map +1 -1
  415. package/lib/components/Button/Button.d.ts.map +1 -1
  416. package/lib/components/Button/Button.styles.d.ts +2 -2
  417. package/lib/components/Button/UnstyledButton/UnstyledButton.d.ts.map +1 -1
  418. package/lib/components/Card/Card.d.ts +2 -2
  419. package/lib/components/Card/Card.d.ts.map +1 -1
  420. package/lib/components/Card/CardSection/CardSection.d.ts +10 -6
  421. package/lib/components/Card/CardSection/CardSection.d.ts.map +1 -1
  422. package/lib/components/Card/CardSection/CardSection.styles.d.ts +2 -0
  423. package/lib/components/Card/CardSection/CardSection.styles.d.ts.map +1 -1
  424. package/lib/components/Center/Center.d.ts.map +1 -1
  425. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  426. package/lib/components/Chips/Chip/Chip.d.ts.map +1 -1
  427. package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
  428. package/lib/components/Code/Code.d.ts.map +1 -1
  429. package/lib/components/Collapse/Collapse.d.ts +1 -1
  430. package/lib/components/Collapse/Collapse.d.ts.map +1 -1
  431. package/lib/components/ColorInput/ColorInput.d.ts +2 -2
  432. package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
  433. package/lib/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  434. package/lib/components/ColorPicker/ColorSlider/ColorSlider.d.ts.map +1 -1
  435. package/lib/components/ColorSwatch/ColorSwatch.d.ts.map +1 -1
  436. package/lib/components/ColorSwatch/ColorSwatch.styles.d.ts +2 -2
  437. package/lib/components/Container/Container.d.ts.map +1 -1
  438. package/lib/components/Dialog/Dialog.d.ts +1 -1
  439. package/lib/components/Dialog/Dialog.d.ts.map +1 -1
  440. package/lib/components/Divider/Divider.d.ts.map +1 -1
  441. package/lib/components/Drawer/Drawer.d.ts +2 -2
  442. package/lib/components/Drawer/Drawer.d.ts.map +1 -1
  443. package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
  444. package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
  445. package/lib/components/Grid/Col/Col.d.ts +3 -3
  446. package/lib/components/Grid/Col/Col.d.ts.map +1 -1
  447. package/lib/components/Grid/Grid.d.ts.map +1 -1
  448. package/lib/components/Group/Group.d.ts.map +1 -1
  449. package/lib/components/Highlight/Highlight.d.ts +3 -1
  450. package/lib/components/Highlight/Highlight.d.ts.map +1 -1
  451. package/lib/components/Image/Image.d.ts.map +1 -1
  452. package/lib/components/Input/Input.d.ts.map +1 -1
  453. package/lib/components/Input/Input.styles.d.ts +2 -2
  454. package/lib/components/InputWrapper/InputWrapper.d.ts.map +1 -1
  455. package/lib/components/Kbd/Kbd.d.ts.map +1 -1
  456. package/lib/components/List/List.d.ts +6 -5
  457. package/lib/components/List/List.d.ts.map +1 -1
  458. package/lib/components/List/ListItem/ListItem.d.ts +1 -1
  459. package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
  460. package/lib/components/Loader/Loader.d.ts +1 -1
  461. package/lib/components/Loader/Loader.d.ts.map +1 -1
  462. package/lib/components/LoadingOverlay/LoadingOverlay.d.ts +2 -5
  463. package/lib/components/LoadingOverlay/LoadingOverlay.d.ts.map +1 -1
  464. package/lib/components/Mark/Mark.d.ts.map +1 -1
  465. package/lib/components/MediaQuery/MediaQuery.d.ts +2 -2
  466. package/lib/components/MediaQuery/MediaQuery.d.ts.map +1 -1
  467. package/lib/components/MediaQuery/MediaQuery.styles.d.ts.map +1 -1
  468. package/lib/components/Menu/Menu.d.ts +1 -1
  469. package/lib/components/Menu/Menu.d.ts.map +1 -1
  470. package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
  471. package/lib/components/Modal/Modal.d.ts +4 -2
  472. package/lib/components/Modal/Modal.d.ts.map +1 -1
  473. package/lib/components/Modal/Modal.styles.d.ts +2 -2
  474. package/lib/components/Modal/Modal.styles.d.ts.map +1 -1
  475. package/lib/components/MultiSelect/MultiSelect.d.ts +4 -44
  476. package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  477. package/lib/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  478. package/lib/components/Notification/Notification.d.ts.map +1 -1
  479. package/lib/components/Overlay/Overlay.d.ts.map +1 -1
  480. package/lib/components/Paper/Paper.d.ts.map +1 -1
  481. package/lib/components/PasswordInput/PasswordInput.d.ts +2 -2
  482. package/lib/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  483. package/lib/components/Popover/Popover.d.ts +6 -4
  484. package/lib/components/Popover/Popover.d.ts.map +1 -1
  485. package/lib/components/Popover/PopoverBody/PopoverBody.d.ts +3 -1
  486. package/lib/components/Popover/PopoverBody/PopoverBody.d.ts.map +1 -1
  487. package/lib/components/Popover/PopoverBody/PopoverBody.styles.d.ts +1 -0
  488. package/lib/components/Popover/PopoverBody/PopoverBody.styles.d.ts.map +1 -1
  489. package/lib/components/Popover/stories/_wrapper.d.ts.map +1 -1
  490. package/lib/components/Popper/Popper.styles.d.ts +2 -2
  491. package/lib/components/Progress/Progress.d.ts.map +1 -1
  492. package/lib/components/RadioGroup/Radio/Radio.d.ts +2 -0
  493. package/lib/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
  494. package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  495. package/lib/components/RingProgress/RingProgress.d.ts.map +1 -1
  496. package/lib/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  497. package/lib/components/ScrollArea/ScrollArea.styles.d.ts +2 -2
  498. package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  499. package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  500. package/lib/components/Select/Select.d.ts +32 -26
  501. package/lib/components/Select/Select.d.ts.map +1 -1
  502. package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts +2 -0
  503. package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
  504. package/lib/components/Select/SelectDropdown/SelectDropdown.styles.d.ts +4 -1
  505. package/lib/components/Select/SelectDropdown/SelectDropdown.styles.d.ts.map +1 -1
  506. package/lib/components/Select/index.d.ts +1 -0
  507. package/lib/components/Select/index.d.ts.map +1 -1
  508. package/lib/components/Select/types.d.ts +1 -2
  509. package/lib/components/Select/types.d.ts.map +1 -1
  510. package/lib/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  511. package/lib/components/SimpleGrid/SimpleGrid.styles.d.ts.map +1 -1
  512. package/lib/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.d.ts +1 -1
  513. package/lib/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +1 -1
  514. package/lib/components/Skeleton/Skeleton.d.ts.map +1 -1
  515. package/lib/components/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
  516. package/lib/components/Space/Space.d.ts.map +1 -1
  517. package/lib/components/Spoiler/Spoiler.d.ts.map +1 -1
  518. package/lib/components/Stepper/Step/Step.d.ts.map +1 -1
  519. package/lib/components/Stepper/Stepper.d.ts.map +1 -1
  520. package/lib/components/Stepper/Stepper.styles.d.ts +2 -2
  521. package/lib/components/Switch/Switch.d.ts.map +1 -1
  522. package/lib/components/Table/Table.d.ts.map +1 -1
  523. package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
  524. package/lib/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
  525. package/lib/components/Tabs/TabControl/TabControl.styles.d.ts +2 -2
  526. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  527. package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
  528. package/lib/components/Text/Text.d.ts.map +1 -1
  529. package/lib/components/TextInput/TextInput.d.ts.map +1 -1
  530. package/lib/components/Textarea/Textarea.d.ts.map +1 -1
  531. package/lib/components/ThemeIcon/ThemeIcon.d.ts.map +1 -1
  532. package/lib/components/Timeline/Timeline.d.ts +6 -5
  533. package/lib/components/Timeline/Timeline.d.ts.map +1 -1
  534. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +1 -1
  535. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts.map +1 -1
  536. package/lib/components/Title/Title.d.ts.map +1 -1
  537. package/lib/components/Tooltip/Tooltip.d.ts +4 -4
  538. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  539. package/lib/components/TransferList/DefaultItem/DefaultItem.d.ts.map +1 -1
  540. package/lib/components/TransferList/RenderList/RenderList.d.ts.map +1 -1
  541. package/lib/components/TransferList/RenderList/RenderList.styles.d.ts +1 -0
  542. package/lib/components/TransferList/RenderList/RenderList.styles.d.ts.map +1 -1
  543. package/lib/components/TypographyStylesProvider/TypographyStylesProvider.d.ts.map +1 -1
  544. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"RingProgress.js","sources":["../../../src/components/RingProgress/RingProgress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineColor, ClassNames, useExtractedMargins } from '@mantine/styles';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport useStyles from './RingProgress.styles';\n\nexport type RingProgressStylesNames = ClassNames<typeof useStyles>;\n\nexport interface RingProgressProps\n extends DefaultProps<RingProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness */\n thickness?: number;\n\n /** Width and height of the progress ring in px */\n size?: number;\n\n /** Ring sections */\n sections: { value: number; color: MantineColor }[];\n}\n\nexport const RingProgress = forwardRef<HTMLDivElement, RingProgressProps>(\n (\n {\n className,\n style,\n label,\n sections,\n size = 120,\n thickness = size / 10,\n classNames,\n styles,\n sx,\n ...others\n }: RingProgressProps,\n ref\n ) => {\n const { classes, cx } = useStyles(null, { sx, classNames, styles, name: 'RingProgress' });\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n\n const curves = getCurves({ size, thickness, sections }).map((curve, index) => (\n <Curve\n key={index}\n value={curve.data?.value}\n size={size}\n thickness={thickness}\n sum={curve.sum}\n offset={curve.offset}\n color={curve.data?.color}\n root={curve.root}\n />\n ));\n\n return (\n <div\n style={{ width: size, height: size, ...mergedStyles }}\n className={cx(classes.root, className)}\n ref={ref}\n {...rest}\n >\n <svg width={size} height={size} style={{ transform: 'rotate(-90deg)' }}>\n {curves}\n </svg>\n\n {label && (\n <div className={classes.label} style={{ right: thickness * 2, left: thickness * 2 }}>\n {label}\n </div>\n )}\n </div>\n );\n }\n);\n\nRingProgress.displayName = '@mantine/core/RingProgress';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RingProgress.js","sources":["../../../src/components/RingProgress/RingProgress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineColor, ClassNames } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport useStyles from './RingProgress.styles';\n\nexport type RingProgressStylesNames = ClassNames<typeof useStyles>;\n\nexport interface RingProgressProps\n extends DefaultProps<RingProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness */\n thickness?: number;\n\n /** Width and height of the progress ring in px */\n size?: number;\n\n /** Ring sections */\n sections: { value: number; color: MantineColor }[];\n}\n\nexport const RingProgress = forwardRef<HTMLDivElement, RingProgressProps>(\n (\n {\n className,\n style,\n label,\n sections,\n size = 120,\n thickness = size / 10,\n classNames,\n styles,\n ...others\n }: RingProgressProps,\n ref\n ) => {\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'RingProgress' });\n\n const curves = getCurves({ size, thickness, sections }).map((curve, index) => (\n <Curve\n key={index}\n value={curve.data?.value}\n size={size}\n thickness={thickness}\n sum={curve.sum}\n offset={curve.offset}\n color={curve.data?.color}\n root={curve.root}\n />\n ));\n\n return (\n <Box\n style={{ width: size, height: size, ...style }}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n <svg width={size} height={size} style={{ transform: 'rotate(-90deg)' }}>\n {curves}\n </svg>\n\n {label && (\n <div className={classes.label} style={{ right: thickness * 2, left: thickness * 2 }}>\n {label}\n </div>\n )}\n </Box>\n );\n }\n);\n\nRingProgress.displayName = '@mantine/core/RingProgress';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React, { forwardRef, useState } from 'react';
2
2
  import * as RadixScrollArea from '@radix-ui/react-scroll-area';
3
- import { useExtractedMargins } from '@mantine/styles';
4
3
  import useStyles from './ScrollArea.styles.js';
4
+ import { Box } from '../Box/Box.js';
5
5
 
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -34,11 +34,9 @@ var __objRest = (source, exclude) => {
34
34
  const ScrollArea = forwardRef((_a, ref) => {
35
35
  var _b = _a, {
36
36
  children,
37
- style,
38
37
  className,
39
38
  classNames,
40
39
  styles,
41
- sx,
42
40
  scrollbarSize = 12,
43
41
  scrollHideDelay = 1e3,
44
42
  type = "hover",
@@ -47,11 +45,9 @@ const ScrollArea = forwardRef((_a, ref) => {
47
45
  viewportRef
48
46
  } = _b, others = __objRest(_b, [
49
47
  "children",
50
- "style",
51
48
  "className",
52
49
  "classNames",
53
50
  "styles",
54
- "sx",
55
51
  "scrollbarSize",
56
52
  "scrollHideDelay",
57
53
  "type",
@@ -60,16 +56,16 @@ const ScrollArea = forwardRef((_a, ref) => {
60
56
  "viewportRef"
61
57
  ]);
62
58
  const [scrollbarHovered, setScrollbarHovered] = useState(false);
63
- const { mergedStyles, rest } = useExtractedMargins({ style, others });
64
- const { classes, cx } = useStyles({ scrollbarSize, offsetScrollbars, dir, scrollbarHovered }, { name: "ScrollArea", classNames, styles, sx });
65
- return /* @__PURE__ */ React.createElement(RadixScrollArea.Root, __spreadValues({
59
+ const { classes, cx } = useStyles({ scrollbarSize, offsetScrollbars, dir, scrollbarHovered }, { name: "ScrollArea", classNames, styles });
60
+ return /* @__PURE__ */ React.createElement(RadixScrollArea.Root, {
66
61
  type,
67
62
  scrollHideDelay,
68
63
  dir,
69
- className: cx(classes.root, className),
70
- style: mergedStyles,
71
- ref
72
- }, rest), /* @__PURE__ */ React.createElement(RadixScrollArea.Viewport, {
64
+ ref,
65
+ asChild: true
66
+ }, /* @__PURE__ */ React.createElement(Box, __spreadValues({
67
+ className: cx(classes.root, className)
68
+ }, others), /* @__PURE__ */ React.createElement(RadixScrollArea.Viewport, {
73
69
  className: classes.viewport,
74
70
  ref: viewportRef
75
71
  }, children), /* @__PURE__ */ React.createElement(RadixScrollArea.Scrollbar, {
@@ -90,7 +86,7 @@ const ScrollArea = forwardRef((_a, ref) => {
90
86
  className: classes.thumb
91
87
  })), /* @__PURE__ */ React.createElement(RadixScrollArea.Corner, {
92
88
  className: classes.corner
93
- }));
89
+ })));
94
90
  });
95
91
  ScrollArea.displayName = "@mantine/core/ScrollArea";
96
92
 
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { DefaultProps, useExtractedMargins, ClassNames } from '@mantine/styles';\nimport useStyles from './ScrollArea.styles';\n\nexport type ScrollAreaStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ScrollAreaProps\n extends DefaultProps<ScrollAreaStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Scrollbar size in px */\n scrollbarSize?: number;\n\n /** Scrollbars type */\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n\n /** Scroll hide delay in ms, for scroll and hover types only */\n scrollHideDelay?: number;\n\n /** Reading direction of the scroll area */\n dir?: 'ltr' | 'rtl';\n\n /** Should scrollbars be offset with padding */\n offsetScrollbars?: boolean;\n\n /** Get viewport ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n}\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(\n (\n {\n children,\n style,\n className,\n classNames,\n styles,\n sx,\n scrollbarSize = 12,\n scrollHideDelay = 1000,\n type = 'hover',\n dir = 'ltr',\n offsetScrollbars = false,\n viewportRef,\n ...others\n }: ScrollAreaProps,\n ref\n ) => {\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const { mergedStyles, rest } = useExtractedMargins({ style, others });\n const { classes, cx } = useStyles(\n { scrollbarSize, offsetScrollbars, dir, scrollbarHovered },\n { name: 'ScrollArea', classNames, styles, sx }\n );\n\n return (\n <RadixScrollArea.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n dir={dir}\n className={cx(classes.root, className)}\n style={mergedStyles}\n ref={ref}\n {...rest}\n >\n <RadixScrollArea.Viewport className={classes.viewport} ref={viewportRef}>\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n orientation=\"horizontal\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n orientation=\"vertical\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={classes.corner} />\n </RadixScrollArea.Root>\n );\n }\n);\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './ScrollArea.styles';\n\nexport type ScrollAreaStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ScrollAreaProps\n extends DefaultProps<ScrollAreaStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Scrollbar size in px */\n scrollbarSize?: number;\n\n /** Scrollbars type */\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n\n /** Scroll hide delay in ms, for scroll and hover types only */\n scrollHideDelay?: number;\n\n /** Reading direction of the scroll area */\n dir?: 'ltr' | 'rtl';\n\n /** Should scrollbars be offset with padding */\n offsetScrollbars?: boolean;\n\n /** Get viewport ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n}\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(\n (\n {\n children,\n className,\n classNames,\n styles,\n scrollbarSize = 12,\n scrollHideDelay = 1000,\n type = 'hover',\n dir = 'ltr',\n offsetScrollbars = false,\n viewportRef,\n ...others\n }: ScrollAreaProps,\n ref\n ) => {\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const { classes, cx } = useStyles(\n { scrollbarSize, offsetScrollbars, dir, scrollbarHovered },\n { name: 'ScrollArea', classNames, styles }\n );\n\n return (\n <RadixScrollArea.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n dir={dir}\n ref={ref}\n asChild\n >\n <Box className={cx(classes.root, className)} {...others}>\n <RadixScrollArea.Viewport className={classes.viewport} ref={viewportRef}>\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n orientation=\"horizontal\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n orientation=\"vertical\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={classes.corner} />\n </Box>\n </RadixScrollArea.Root>\n );\n }\n);\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAKU,MAAC,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAClD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,eAAe,GAAG,GAAG;AACzB,IAAI,IAAI,GAAG,OAAO;AAClB,IAAI,GAAG,GAAG,KAAK;AACf,IAAI,gBAAgB,GAAG,KAAK;AAC5B,IAAI,WAAW;AACf,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,kBAAkB;AACtB,IAAI,aAAa;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5I,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE;AACnE,IAAI,IAAI;AACR,IAAI,eAAe;AACnB,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AAC7D,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE;AAC5E,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,IAAI,GAAG,EAAE,WAAW;AACpB,GAAG,EAAE,QAAQ,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE;AAC/E,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC,IAAI,CAAC;AACjD,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC,KAAK,CAAC;AAClD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE;AAChE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE;AACtE,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC,IAAI,CAAC;AACjD,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC,KAAK,CAAC;AAClD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE;AAChE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE;AACnE,IAAI,SAAS,EAAE,OAAO,CAAC,MAAM;AAC7B,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React, { useState, useRef, useEffect } from 'react';
2
2
  import { useReducedMotion, useUncontrolled, useUuid } from '@mantine/hooks';
3
- import { useExtractedMargins } from '@mantine/styles';
4
3
  import useStyles, { WRAPPER_PADDING } from './SegmentedControl.styles.js';
4
+ import { Box } from '../Box/Box.js';
5
5
 
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -34,7 +34,6 @@ var __objRest = (source, exclude) => {
34
34
  function SegmentedControl(_a) {
35
35
  var _b = _a, {
36
36
  className,
37
- style,
38
37
  data: _data,
39
38
  name,
40
39
  value,
@@ -47,11 +46,9 @@ function SegmentedControl(_a) {
47
46
  transitionTimingFunction,
48
47
  classNames,
49
48
  styles,
50
- defaultValue,
51
- sx
49
+ defaultValue
52
50
  } = _b, others = __objRest(_b, [
53
51
  "className",
54
- "style",
55
52
  "data",
56
53
  "name",
57
54
  "value",
@@ -64,8 +61,7 @@ function SegmentedControl(_a) {
64
61
  "transitionTimingFunction",
65
62
  "classNames",
66
63
  "styles",
67
- "defaultValue",
68
- "sx"
64
+ "defaultValue"
69
65
  ]);
70
66
  const reduceMotion = useReducedMotion();
71
67
  const data = _data.map((item) => typeof item === "string" ? { label: item, value: item } : item);
@@ -85,8 +81,7 @@ function SegmentedControl(_a) {
85
81
  shouldAnimate: reduceMotion || !shouldAnimate,
86
82
  transitionDuration,
87
83
  transitionTimingFunction
88
- }, { sx, classNames, styles, name: "SegmentedControl" });
89
- const { mergedStyles, rest } = useExtractedMargins({ others, style });
84
+ }, { classNames, styles, name: "SegmentedControl" });
90
85
  const [activePosition, setActivePosition] = useState({ width: 0, translate: 0 });
91
86
  const uuid = useUuid(name);
92
87
  const refs = useRef({});
@@ -128,11 +123,10 @@ function SegmentedControl(_a) {
128
123
  refs.current[item.value] = node;
129
124
  }
130
125
  }, item.label)));
131
- return /* @__PURE__ */ React.createElement("div", __spreadValues({
126
+ return /* @__PURE__ */ React.createElement(Box, __spreadValues({
132
127
  className: cx(classes.root, className),
133
- ref: wrapperRef,
134
- style: mergedStyles
135
- }, rest), !!_value && /* @__PURE__ */ React.createElement("span", {
128
+ ref: wrapperRef
129
+ }, others), !!_value && /* @__PURE__ */ React.createElement("span", {
136
130
  className: classes.active,
137
131
  style: {
138
132
  width: activePosition.width,
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useReducedMotion, useUncontrolled, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n ClassNames,\n useExtractedMargins,\n} from '@mantine/styles';\nimport useStyles, { WRAPPER_PADDING } from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem<T extends string> {\n value: T;\n label: React.ReactNode;\n}\n\nexport type SegmentedControlStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SegmentedControlProps<T extends string>\n extends DefaultProps<SegmentedControlStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Data based on which controls are rendered */\n data: T[] | SegmentedControlItem<T>[];\n\n /** Current selected value */\n value?: T;\n\n /** Called when value changes */\n onChange?(value: T): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n}\n\nexport function SegmentedControl<T extends string = string>({\n className,\n style,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius = 'sm',\n size = 'sm',\n transitionDuration = 200,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n sx,\n ...others\n}: SegmentedControlProps<T>) {\n const reduceMotion = useReducedMotion();\n const data = _data.map((item: any) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data) ? data[0].value : null,\n onChange,\n rule: (val) => !!val,\n });\n\n const { classes, cx } = useStyles(\n {\n size,\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n },\n { sx, classNames, styles, name: 'SegmentedControl' }\n );\n\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const [activePosition, setActivePosition] = useState({ width: 0, translate: 0 });\n const uuid = useUuid(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n if (_value in refs.current && wrapperRef.current) {\n const element = refs.current[_value];\n const rect = element.getBoundingClientRect();\n setActivePosition({\n width: rect.width,\n translate: rect.x - wrapperRef.current.getBoundingClientRect().x - WRAPPER_PADDING,\n });\n\n if (!shouldAnimate) {\n setTimeout(() => {\n setShouldAnimate(true);\n }, 4);\n }\n }\n });\n observer.observe(wrapperRef.current);\n return () => observer.disconnect();\n }, [_value]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => handleValueChange(item.value)}\n />\n\n <label\n className={cx(classes.label, { [classes.labelActive]: _value === item.value })}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n return (\n <div className={cx(classes.root, className)} ref={wrapperRef} style={mergedStyles} {...rest}>\n {!!_value && (\n <span\n className={classes.active}\n style={{\n width: activePosition.width,\n transform: `translateX(${activePosition.translate}px)`,\n }}\n />\n )}\n\n {controls}\n </div>\n );\n}\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useReducedMotion, useUncontrolled, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n ClassNames,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { WRAPPER_PADDING } from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem<T extends string> {\n value: T;\n label: React.ReactNode;\n}\n\nexport type SegmentedControlStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SegmentedControlProps<T extends string>\n extends DefaultProps<SegmentedControlStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Data based on which controls are rendered */\n data: T[] | SegmentedControlItem<T>[];\n\n /** Current selected value */\n value?: T;\n\n /** Called when value changes */\n onChange?(value: T): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n}\n\nexport function SegmentedControl<T extends string = string>({\n className,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius = 'sm',\n size = 'sm',\n transitionDuration = 200,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n ...others\n}: SegmentedControlProps<T>) {\n const reduceMotion = useReducedMotion();\n const data = _data.map((item: any) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data) ? data[0].value : null,\n onChange,\n rule: (val) => !!val,\n });\n\n const { classes, cx } = useStyles(\n {\n size,\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n },\n { classNames, styles, name: 'SegmentedControl' }\n );\n\n const [activePosition, setActivePosition] = useState({ width: 0, translate: 0 });\n const uuid = useUuid(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n if (_value in refs.current && wrapperRef.current) {\n const element = refs.current[_value];\n const rect = element.getBoundingClientRect();\n setActivePosition({\n width: rect.width,\n translate: rect.x - wrapperRef.current.getBoundingClientRect().x - WRAPPER_PADDING,\n });\n\n if (!shouldAnimate) {\n setTimeout(() => {\n setShouldAnimate(true);\n }, 4);\n }\n }\n });\n observer.observe(wrapperRef.current);\n return () => observer.disconnect();\n }, [_value]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => handleValueChange(item.value)}\n />\n\n <label\n className={cx(classes.label, { [classes.labelActive]: _value === item.value })}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n return (\n <Box className={cx(classes.root, className)} ref={wrapperRef} {...others}>\n {!!_value && (\n <span\n className={classes.active}\n style={{\n width: activePosition.width,\n transform: `translateX(${activePosition.translate}px)`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n}\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef, useState, useRef, useEffect } from 'react';
2
2
  import { useUuid, useScrollIntoView, useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';
3
- import { getDefaultZIndex, useExtractedMargins } from '@mantine/styles';
3
+ import { getDefaultZIndex, extractMargins } from '@mantine/styles';
4
4
  import { SelectScrollArea } from './SelectScrollArea/SelectScrollArea.js';
5
5
  import { DefaultItem } from './DefaultItem/DefaultItem.js';
6
6
  import { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props.js';
@@ -95,8 +95,10 @@ const Select = forwardRef((_a, ref) => {
95
95
  onDropdownClose,
96
96
  onDropdownOpen,
97
97
  withinPortal,
98
+ switchDirectionOnFlip = false,
98
99
  zIndex = getDefaultZIndex("popover"),
99
- name
100
+ name,
101
+ dropdownPosition
100
102
  } = _b, others = __objRest(_b, [
101
103
  "className",
102
104
  "style",
@@ -142,11 +144,13 @@ const Select = forwardRef((_a, ref) => {
142
144
  "onDropdownClose",
143
145
  "onDropdownOpen",
144
146
  "withinPortal",
147
+ "switchDirectionOnFlip",
145
148
  "zIndex",
146
- "name"
149
+ "name",
150
+ "dropdownPosition"
147
151
  ]);
148
152
  const { classes, cx, theme } = useStyles();
149
- const { mergedStyles, rest } = useExtractedMargins({ others, style });
153
+ const { margins, rest } = extractMargins(others);
150
154
  const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);
151
155
  const [hovered, setHovered] = useState(-1);
152
156
  const inputRef = useRef();
@@ -349,7 +353,7 @@ const Select = forwardRef((_a, ref) => {
349
353
  }
350
354
  };
351
355
  const shouldShowDropdown = dropdownOpened && (searchable && !creatable ? filteredData.length > 0 || !!nothingFound : dropdownOpened);
352
- return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues({
356
+ return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues(__spreadValues({
353
357
  required,
354
358
  id: uuid,
355
359
  label,
@@ -357,12 +361,12 @@ const Select = forwardRef((_a, ref) => {
357
361
  description,
358
362
  size,
359
363
  className,
360
- style: mergedStyles,
364
+ style,
361
365
  classNames,
362
366
  styles,
363
367
  __staticSelector: "Select",
364
368
  sx
365
- }, wrapperProps), /* @__PURE__ */ React.createElement("div", {
369
+ }, margins), wrapperProps), /* @__PURE__ */ React.createElement("div", {
366
370
  role: "combobox",
367
371
  "aria-haspopup": "listbox",
368
372
  "aria-owns": `${uuid}-items`,
@@ -420,8 +424,10 @@ const Select = forwardRef((_a, ref) => {
420
424
  dropdownComponent: dropdownComponent || SelectScrollArea,
421
425
  direction,
422
426
  onDirectionChange: setDirection,
427
+ switchDirectionOnFlip,
423
428
  withinPortal,
424
- zIndex
429
+ zIndex,
430
+ dropdownPosition
425
431
  }, /* @__PURE__ */ React.createElement(SelectItems, {
426
432
  data: filteredData,
427
433
  hovered,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport {\n useUncontrolled,\n useMergedRef,\n useDidUpdate,\n useScrollIntoView,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineShadow,\n useExtractedMargins,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectDropdown } from './SelectDropdown/SelectDropdown';\nimport { SelectDataItem, SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport { groupSortData } from './group-sort-data/group-sort-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectProps extends DefaultProps<BaseSelectStylesNames>, BaseSelectProps {\n /** Input size */\n size?: MantineSize;\n\n /** Select data used to renderer items in dropdown */\n data: SelectDataItem[];\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Controlled input value */\n value?: string | null;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: string | null;\n\n /** Controlled input onChange handler */\n onChange?(value: string | null): void;\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 /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: SelectItem): boolean;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\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 /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Dropdown z-index */\n zIndex?: number;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\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 Select = forwardRef<HTMLInputElement, SelectProps>(\n (\n {\n className,\n style,\n required = false,\n label,\n id,\n error,\n description,\n size = 'sm',\n shadow = 'sm',\n data,\n value,\n defaultValue,\n onChange,\n itemComponent = DefaultItem,\n onKeyDown,\n onBlur,\n onFocus,\n transition = 'fade',\n transitionDuration = 0,\n initiallyOpened = false,\n transitionTimingFunction,\n wrapperProps,\n classNames,\n styles,\n filter = defaultFilter,\n maxDropdownHeight = 220,\n searchable = false,\n clearable = false,\n nothingFound,\n clearButtonLabel,\n limit = Infinity,\n disabled = false,\n onSearchChange,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n sx,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n zIndex = getDefaultZIndex('popover'),\n name,\n ...others\n }: SelectProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles();\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const dropdownRef = useRef<HTMLDivElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const uuid = useUuid(id);\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\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, handleChange, inputMode] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => typeof val === 'string' || val === null,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n const [inputValue, setInputValue] = useState(selectedValue?.label || '');\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n handleChange(null);\n if (inputMode === 'uncontrolled') {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n const handleItemSelect = (item: SelectItem) => {\n handleChange(item.value);\n\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n\n if (inputMode === 'uncontrolled') {\n handleSearchChange(item.label);\n }\n setHovered(-1);\n setTimeout(() => setDropdownOpened(false));\n inputRef.current.focus();\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\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 }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case 'Space': {\n if (!searchable) {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(!dropdownOpened);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(0);\n setDropdownOpened(true);\n };\n\n const handleInputClick = () => {\n if (!searchable) {\n setDropdownOpened(!dropdownOpened);\n } else {\n setDropdownOpened(true);\n }\n\n if (_value && !dropdownOpened) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n };\n\n const shouldShowDropdown =\n dropdownOpened &&\n (searchable && !creatable ? filteredData.length > 0 || !!nothingFound : dropdownOpened);\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=\"Select\"\n sx={sx}\n {...wrapperProps}\n >\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'input'>\n {...rest}\n type=\"text\"\n required={required}\n ref={useMergedRef(ref, inputRef)}\n id={uuid}\n invalid={!!error}\n size={size}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${uuid}-items` : null}\n aria-activedescendant={hovered !== -1 ? `${uuid}-${hovered}` : null}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n autoComplete=\"off\"\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, classNames?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n />\n\n <SelectDropdown\n referenceElement={inputRef.current}\n mounted={shouldShowDropdown}\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={useMergedRef(dropdownRef, scrollableRef)}\n __staticSelector=\"Select\"\n dropdownComponent={dropdownComponent || SelectScrollArea}\n direction={direction}\n onDirectionChange={setDirection}\n withinPortal={withinPortal}\n zIndex={zIndex}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={uuid}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n\n {name && <input type=\"hidden\" name={name} value={_value || ''} />}\n </InputWrapper>\n );\n }\n);\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport {\n useUncontrolled,\n useMergedRef,\n useDidUpdate,\n useScrollIntoView,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineShadow,\n extractMargins,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectDropdown } from './SelectDropdown/SelectDropdown';\nimport { SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport { groupSortData } from './group-sort-data/group-sort-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectSharedProps<Item, Value> {\n /** Select data used to renderer items in dropdown */\n data: (string | Item)[];\n\n /** Controlled input value */\n value?: Value;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: Value;\n\n /** Controlled input onChange handler */\n onChange?(value: Value): void;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: Item): boolean;\n\n /** Input size */\n size?: MantineSize;\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 /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Dropdown z-index */\n zIndex?: number;\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n\n /** Whether to switch item order and keyboard navigation on dropdown position flip */\n switchDirectionOnFlip?: boolean;\n}\n\nexport interface SelectProps\n extends DefaultProps<BaseSelectStylesNames>,\n BaseSelectProps,\n SelectSharedProps<SelectItem, string | null> {\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\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 /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\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 Select = forwardRef<HTMLInputElement, SelectProps>(\n (\n {\n className,\n style,\n required = false,\n label,\n id,\n error,\n description,\n size = 'sm',\n shadow = 'sm',\n data,\n value,\n defaultValue,\n onChange,\n itemComponent = DefaultItem,\n onKeyDown,\n onBlur,\n onFocus,\n transition = 'fade',\n transitionDuration = 0,\n initiallyOpened = false,\n transitionTimingFunction,\n wrapperProps,\n classNames,\n styles,\n filter = defaultFilter,\n maxDropdownHeight = 220,\n searchable = false,\n clearable = false,\n nothingFound,\n clearButtonLabel,\n limit = Infinity,\n disabled = false,\n onSearchChange,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n sx,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip = false,\n zIndex = getDefaultZIndex('popover'),\n name,\n dropdownPosition,\n ...others\n }: SelectProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles();\n const { margins, rest } = extractMargins(others);\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const dropdownRef = useRef<HTMLDivElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const uuid = useUuid(id);\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\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, handleChange, inputMode] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => typeof val === 'string' || val === null,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n const [inputValue, setInputValue] = useState(selectedValue?.label || '');\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n handleChange(null);\n if (inputMode === 'uncontrolled') {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n const handleItemSelect = (item: SelectItem) => {\n handleChange(item.value);\n\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n\n if (inputMode === 'uncontrolled') {\n handleSearchChange(item.label);\n }\n setHovered(-1);\n setTimeout(() => setDropdownOpened(false));\n inputRef.current.focus();\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\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 }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case 'Space': {\n if (!searchable) {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(!dropdownOpened);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(0);\n setDropdownOpened(true);\n };\n\n const handleInputClick = () => {\n if (!searchable) {\n setDropdownOpened(!dropdownOpened);\n } else {\n setDropdownOpened(true);\n }\n\n if (_value && !dropdownOpened) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n };\n\n const shouldShowDropdown =\n dropdownOpened &&\n (searchable && !creatable ? filteredData.length > 0 || !!nothingFound : dropdownOpened);\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={style}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"Select\"\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'input'>\n {...rest}\n type=\"text\"\n required={required}\n ref={useMergedRef(ref, inputRef)}\n id={uuid}\n invalid={!!error}\n size={size}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${uuid}-items` : null}\n aria-activedescendant={hovered !== -1 ? `${uuid}-${hovered}` : null}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n autoComplete=\"off\"\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, classNames?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n />\n\n <SelectDropdown\n referenceElement={inputRef.current}\n mounted={shouldShowDropdown}\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={useMergedRef(dropdownRef, scrollableRef)}\n __staticSelector=\"Select\"\n dropdownComponent={dropdownComponent || SelectScrollArea}\n direction={direction}\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n withinPortal={withinPortal}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={uuid}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n\n {name && <input type=\"hidden\" name={name} value={_value || ''} />}\n </InputWrapper>\n );\n }\n);\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAuBK,SAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AACM,SAAS,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE;AACjD,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AACW,MAAC,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAC9C,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,KAAK;AACT,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,aAAa,GAAG,WAAW;AAC/B,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,UAAU,GAAG,MAAM;AACvB,IAAI,kBAAkB,GAAG,CAAC;AAC1B,IAAI,eAAe,GAAG,KAAK;AAC3B,IAAI,wBAAwB;AAC5B,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM,GAAG,aAAa;AAC1B,IAAI,iBAAiB,GAAG,GAAG;AAC3B,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,KAAK,GAAG,QAAQ;AACpB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,cAAc;AAClB,IAAI,YAAY,GAAG,mBAAmB;AACtC,IAAI,QAAQ;AACZ,IAAI,EAAE;AACN,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,qBAAqB,GAAG,KAAK;AACjC,IAAI,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;AACxC,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,0BAA0B;AAC9B,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,mBAAmB;AACvB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,uBAAuB;AAC3B,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;AAC7C,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;AAC1C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;AACzE,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/B,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,eAAe,CAAC;AAC9D,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;AAC/C,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AACxE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC;AACzB,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5D,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAC5D,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;AAC1D,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAC7G,EAAE,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,UAAU,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AAC5D,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;AAC1B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AACvB,IAAI,IAAI,SAAS,KAAK,cAAc,EAAE;AACtC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC7B,KAAK;AACL,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjD,KAAK,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;AACxC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACrC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,IAAI,SAAS,KAAK,cAAc,EAAE;AACtC,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,UAAU,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,UAAU,CAAC;AAClC,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,IAAI,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;AAC7D,IAAI,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAK;AACvD,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;AAClB,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;AACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ;AACnC,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACnG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7F,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1F,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChH,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,0BAA0B,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM;AACnE,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAChH,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9D,GAAG,EAAE,CAAC,CAAC,CAAC;AACR,EAAE,MAAM,kBAAkB,GAAG,CAAC,KAAK,KAAK;AACxC,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,IAAI,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI;AAClC,MAAM,KAAK,SAAS,EAAE;AACtB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,OAAO,EAAE;AACpB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACvD,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;AACnC,YAAY,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,WAAW,MAAM;AACjB,YAAY,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;AAC/C,YAAY,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC1C,YAAY,0BAA0B,EAAE,CAAC;AACzC,WAAW;AACX,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,OAAO,EAAE;AACpB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACrD,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,SAAS,MAAM;AACf,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACtE,IAAI,kBAAkB,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAC3E,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;AACvD,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAClB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,MAAM,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;AACzC,KAAK,MAAM;AACX,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE;AACnC,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACpC,MAAM,0BAA0B,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,cAAc,KAAK,UAAU,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC;AACvI,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC;AACzF,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzE,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,eAAe,EAAE,SAAS;AAC9B,IAAI,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;AAChC,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACvG,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ;AACZ,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,mBAAmB,EAAE,MAAM;AAC/B,IAAI,eAAe,EAAE,kBAAkB,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;AAChE,IAAI,uBAAuB,EAAE,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;AACzE,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,QAAQ,EAAE,CAAC,UAAU;AACzB,IAAI,QAAQ;AACZ,IAAI,+BAA+B,EAAE,kBAAkB;AACvD,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;AAC9D,MAAM,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AACjG,KAAK,CAAC;AACN,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACjC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC,aAAa;AAC7C,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK;AACT,GAAG,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AAC5D,IAAI,gBAAgB,EAAE,QAAQ,CAAC,OAAO;AACtC,IAAI,OAAO,EAAE,kBAAkB;AAC/B,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,GAAG,EAAE,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC;AACjD,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,iBAAiB,EAAE,iBAAiB,IAAI,gBAAgB;AAC5D,IAAI,SAAS;AACb,IAAI,iBAAiB,EAAE,YAAY;AACnC,IAAI,qBAAqB;AACzB,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACtD,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,MAAM;AAC3C,IAAI,IAAI;AACR,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,WAAW;AAC3C,IAAI,WAAW;AACf,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAC7D,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM,IAAI,EAAE;AACvB,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
@@ -1,5 +1,6 @@
1
1
  import React, { forwardRef, useRef } from 'react';
2
2
  import { getDefaultZIndex } from '@mantine/styles';
3
+ import { SelectScrollArea } from '../SelectScrollArea/SelectScrollArea.js';
3
4
  import useStyles from './SelectDropdown.styles.js';
4
5
  import { Popper } from '../../Popper/Popper.js';
5
6
  import { Paper } from '../../Paper/Paper.js';
@@ -20,10 +21,12 @@ const SelectDropdown = forwardRef(({
20
21
  referenceElement,
21
22
  direction = "column",
22
23
  onDirectionChange,
24
+ switchDirectionOnFlip = false,
23
25
  zIndex = getDefaultZIndex("popover"),
26
+ dropdownPosition = "flip",
24
27
  __staticSelector
25
28
  }, ref) => {
26
- const { classes } = useStyles(null, { classNames, styles, name: __staticSelector });
29
+ const { classes } = useStyles({ native: dropdownComponent !== SelectScrollArea }, { classNames, styles, name: __staticSelector });
27
30
  const previousPlacement = useRef("bottom");
28
31
  return /* @__PURE__ */ React.createElement(Popper, {
29
32
  referenceElement,
@@ -31,15 +34,18 @@ const SelectDropdown = forwardRef(({
31
34
  transition,
32
35
  transitionDuration,
33
36
  transitionTimingFunction,
34
- position: "bottom",
37
+ position: dropdownPosition === "flip" ? "bottom" : dropdownPosition,
35
38
  withinPortal,
36
- placementFallbacks: ["top"],
37
39
  zIndex,
38
40
  modifiers: [
39
41
  {
40
42
  name: "preventOverflow",
41
43
  enabled: false
42
44
  },
45
+ {
46
+ name: "flip",
47
+ enabled: dropdownPosition === "flip"
48
+ },
43
49
  {
44
50
  name: "sameWidth",
45
51
  enabled: true,
@@ -60,7 +66,7 @@ const SelectDropdown = forwardRef(({
60
66
  if (previousPlacement.current !== state.placement) {
61
67
  previousPlacement.current = state.placement;
62
68
  const nextDirection = state.placement === "top" ? "column-reverse" : "column";
63
- if (direction !== nextDirection) {
69
+ if (direction !== nextDirection && switchDirectionOnFlip) {
64
70
  onDirectionChange && onDirectionChange(nextDirection);
65
71
  }
66
72
  }
@@ -79,7 +85,7 @@ const SelectDropdown = forwardRef(({
79
85
  ref,
80
86
  onMouseDown: (event) => event.preventDefault()
81
87
  }, /* @__PURE__ */ React.createElement("div", {
82
- style: { display: "flex", flexDirection: direction }
88
+ style: { display: "flex", flexDirection: direction, width: "100%" }
83
89
  }, children))));
84
90
  });
85
91
  SelectDropdown.displayName = "@mantine/core/SelectDropdown";
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDropdown.js","sources":["../../../../src/components/Select/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, MantineShadow, ClassNames, getDefaultZIndex } from '@mantine/styles';\nimport type { Placement } from '@popperjs/core';\nimport { MantineTransition } from '../../Transition';\nimport { Paper } from '../../Paper';\nimport useStyles from './SelectDropdown.styles';\nimport { Popper } from '../../Popper';\n\nexport type SelectDropdownStylesNames = ClassNames<typeof useStyles>;\n\ninterface SelectDropdownProps extends DefaultProps<SelectDropdownStylesNames> {\n mounted: boolean;\n transition: MantineTransition;\n transitionDuration: number;\n transitionTimingFunction: string;\n uuid: string;\n shadow: MantineShadow;\n maxDropdownHeight?: number | string;\n withinPortal?: boolean;\n children: React.ReactNode;\n __staticSelector: string;\n dropdownComponent?: React.FC<any>;\n referenceElement?: HTMLElement;\n direction?: React.CSSProperties['flexDirection'];\n onDirectionChange?: (direction: React.CSSProperties['flexDirection']) => void;\n zIndex?: number;\n}\n\nexport const SelectDropdown = forwardRef<HTMLDivElement, SelectDropdownProps>(\n (\n {\n mounted,\n transition,\n transitionDuration,\n transitionTimingFunction,\n uuid,\n shadow,\n maxDropdownHeight,\n withinPortal = true,\n children,\n classNames,\n styles,\n dropdownComponent,\n referenceElement,\n direction = 'column',\n onDirectionChange,\n zIndex = getDefaultZIndex('popover'),\n __staticSelector,\n }: SelectDropdownProps,\n ref\n ) => {\n const { classes } = useStyles(null, { classNames, styles, name: __staticSelector });\n\n const previousPlacement = useRef<Placement>('bottom');\n\n return (\n <Popper\n referenceElement={referenceElement}\n mounted={mounted}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n position=\"bottom\"\n withinPortal={withinPortal}\n placementFallbacks={['top']}\n zIndex={zIndex}\n modifiers={[\n {\n name: 'preventOverflow',\n enabled: false,\n },\n {\n // @ts-ignore\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n },\n },\n {\n // @ts-ignore\n name: 'directionControl',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n if (previousPlacement.current !== state.placement) {\n previousPlacement.current = state.placement;\n\n const nextDirection = state.placement === 'top' ? 'column-reverse' : 'column';\n\n if (direction !== nextDirection) {\n onDirectionChange && onDirectionChange(nextDirection);\n }\n }\n },\n },\n ]}\n >\n <div style={{ maxHeight: maxDropdownHeight, display: 'flex' }}>\n <Paper<'div'>\n component={(dropdownComponent || 'div') as any}\n id={`${uuid}-items`}\n aria-labelledby={`${uuid}-label`}\n role=\"listbox\"\n className={classes.dropdown}\n shadow={shadow}\n ref={ref}\n onMouseDown={(event) => event.preventDefault()}\n >\n <div style={{ display: 'flex', flexDirection: direction }}>{children}</div>\n </Paper>\n </div>\n </Popper>\n );\n }\n);\n\nSelectDropdown.displayName = '@mantine/core/SelectDropdown';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectDropdown.js","sources":["../../../../src/components/Select/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, MantineShadow, ClassNames, getDefaultZIndex } from '@mantine/styles';\nimport type { Placement } from '@popperjs/core';\nimport { SelectScrollArea } from '../SelectScrollArea/SelectScrollArea';\nimport { MantineTransition } from '../../Transition';\nimport { Paper } from '../../Paper';\nimport useStyles from './SelectDropdown.styles';\nimport { Popper } from '../../Popper';\n\nexport type SelectDropdownStylesNames = ClassNames<typeof useStyles>;\n\ninterface SelectDropdownProps extends DefaultProps<SelectDropdownStylesNames> {\n mounted: boolean;\n transition: MantineTransition;\n transitionDuration: number;\n transitionTimingFunction: string;\n uuid: string;\n shadow: MantineShadow;\n maxDropdownHeight?: number | string;\n withinPortal?: boolean;\n children: React.ReactNode;\n __staticSelector: string;\n dropdownComponent?: React.FC<any>;\n referenceElement?: HTMLElement;\n direction?: React.CSSProperties['flexDirection'];\n onDirectionChange?: (direction: React.CSSProperties['flexDirection']) => void;\n switchDirectionOnFlip?: boolean;\n zIndex?: number;\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n}\n\nexport const SelectDropdown = forwardRef<HTMLDivElement, SelectDropdownProps>(\n (\n {\n mounted,\n transition,\n transitionDuration,\n transitionTimingFunction,\n uuid,\n shadow,\n maxDropdownHeight,\n withinPortal = true,\n children,\n classNames,\n styles,\n dropdownComponent,\n referenceElement,\n direction = 'column',\n onDirectionChange,\n switchDirectionOnFlip = false,\n zIndex = getDefaultZIndex('popover'),\n dropdownPosition = 'flip',\n __staticSelector,\n }: SelectDropdownProps,\n ref\n ) => {\n const { classes } = useStyles(\n { native: dropdownComponent !== SelectScrollArea },\n { classNames, styles, name: __staticSelector }\n );\n\n const previousPlacement = useRef<Placement>('bottom');\n\n return (\n <Popper\n referenceElement={referenceElement}\n mounted={mounted}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n position={dropdownPosition === 'flip' ? 'bottom' : dropdownPosition}\n withinPortal={withinPortal}\n zIndex={zIndex}\n modifiers={[\n {\n name: 'preventOverflow',\n enabled: false,\n },\n {\n name: 'flip',\n enabled: dropdownPosition === 'flip',\n },\n {\n // @ts-ignore\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n },\n },\n {\n // @ts-ignore\n name: 'directionControl',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n if (previousPlacement.current !== state.placement) {\n previousPlacement.current = state.placement;\n\n const nextDirection = state.placement === 'top' ? 'column-reverse' : 'column';\n\n if (direction !== nextDirection && switchDirectionOnFlip) {\n onDirectionChange && onDirectionChange(nextDirection);\n }\n }\n },\n },\n ]}\n >\n <div style={{ maxHeight: maxDropdownHeight, display: 'flex' }}>\n <Paper<'div'>\n component={(dropdownComponent || 'div') as any}\n id={`${uuid}-items`}\n aria-labelledby={`${uuid}-label`}\n role=\"listbox\"\n className={classes.dropdown}\n shadow={shadow}\n ref={ref}\n onMouseDown={(event) => event.preventDefault()}\n >\n <div style={{ display: 'flex', flexDirection: direction, width: '100%' }}>\n {children}\n </div>\n </Paper>\n </div>\n </Popper>\n );\n }\n);\n\nSelectDropdown.displayName = '@mantine/core/SelectDropdown';\n"],"names":[],"mappings":"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"}
@@ -19,14 +19,15 @@ var __spreadValues = (a, b) => {
19
19
  return a;
20
20
  };
21
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
- var useStyles = createStyles((theme) => ({
22
+ var useStyles = createStyles((theme, { native }) => ({
23
23
  dropdown: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
24
24
  boxSizing: "border-box",
25
25
  pointerEvents: "auto",
26
26
  backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.white,
27
27
  border: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.colors.gray[2]}`,
28
28
  padding: 4,
29
- overflowY: "auto",
29
+ overflowY: native ? "auto" : "hidden",
30
+ overscrollBehaviorY: "contain",
30
31
  width: "100%"
31
32
  })
32
33
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDropdown.styles.js","sources":["../../../../src/components/Select/SelectDropdown/SelectDropdown.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles((theme) => ({\n dropdown: {\n ...theme.fn.fontStyles(),\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n padding: 4,\n overflowY: 'auto',\n width: '100%',\n },\n}));\n"],"names":[],"mappings":";;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,gBAAe,YAAY,CAAC,CAAC,KAAK,MAAM;AACxC,EAAE,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE;AACrE,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"SelectDropdown.styles.js","sources":["../../../../src/components/Select/SelectDropdown/SelectDropdown.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\ninterface SelectDropdownProps {\n native: boolean;\n}\n\nexport default createStyles((theme, { native }: SelectDropdownProps) => ({\n dropdown: {\n ...theme.fn.fontStyles(),\n boxSizing: 'border-box',\n pointerEvents: 'auto',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n padding: 4,\n overflowY: native ? 'auto' : 'hidden',\n overscrollBehaviorY: 'contain',\n width: '100%',\n },\n}));\n"],"names":[],"mappings":";;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM;AACpD,EAAE,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE;AACrE,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;AACzC,IAAI,mBAAmB,EAAE,SAAS;AAClC,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;;;;"}