@mantine/core 3.5.5 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +0 -1
  2. package/cjs/components/Accordion/Accordion.js +4 -1
  3. package/cjs/components/Accordion/Accordion.js.map +1 -1
  4. package/cjs/components/Accordion/AccordionItem/AccordionItem.js +5 -1
  5. package/cjs/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  6. package/cjs/components/ActionIcon/ActionIcon.js +2 -5
  7. package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
  8. package/cjs/components/Autocomplete/Autocomplete.js +1 -1
  9. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.js +1 -0
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/UnstyledButton/UnstyledButton.styles.js +2 -1
  13. package/cjs/components/Button/UnstyledButton/UnstyledButton.styles.js.map +1 -1
  14. package/cjs/components/Code/Code.js +3 -1
  15. package/cjs/components/Code/Code.js.map +1 -1
  16. package/cjs/components/ColorInput/ColorInput.js +0 -2
  17. package/cjs/components/ColorInput/ColorInput.js.map +1 -1
  18. package/cjs/components/ColorInput/ColorInput.styles.js +0 -4
  19. package/cjs/components/ColorInput/ColorInput.styles.js.map +1 -1
  20. package/cjs/components/Drawer/Drawer.js +7 -1
  21. package/cjs/components/Drawer/Drawer.js.map +1 -1
  22. package/cjs/components/Grid/Col/Col.js.map +1 -1
  23. package/cjs/components/Grid/Grid.js +7 -1
  24. package/cjs/components/Grid/Grid.js.map +1 -1
  25. package/cjs/components/Group/Group.js +1 -1
  26. package/cjs/components/Group/Group.js.map +1 -1
  27. package/cjs/components/Input/Input.js +3 -0
  28. package/cjs/components/Input/Input.js.map +1 -1
  29. package/cjs/components/Input/Input.styles.js +11 -2
  30. package/cjs/components/Input/Input.styles.js.map +1 -1
  31. package/cjs/components/Menu/Menu.js.map +1 -1
  32. package/cjs/components/Menu/Menu.styles.js +1 -0
  33. package/cjs/components/Menu/Menu.styles.js.map +1 -1
  34. package/cjs/components/MultiSelect/MultiSelect.js +26 -23
  35. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  36. package/cjs/components/Pagination/DefaultItem/DefaultItem.js +10 -1
  37. package/cjs/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
  38. package/cjs/components/Popover/Popover.js +8 -3
  39. package/cjs/components/Popover/Popover.js.map +1 -1
  40. package/cjs/components/Popper/Popper.js +30 -2
  41. package/cjs/components/Popper/Popper.js.map +1 -1
  42. package/cjs/components/Popper/Popper.styles.js +20 -12
  43. package/cjs/components/Popper/Popper.styles.js.map +1 -1
  44. package/cjs/components/Portal/Portal.js +3 -0
  45. package/cjs/components/Portal/Portal.js.map +1 -1
  46. package/cjs/components/Progress/Progress.js +3 -3
  47. package/cjs/components/Progress/Progress.js.map +1 -1
  48. package/cjs/components/Progress/Progress.styles.js +1 -1
  49. package/cjs/components/Progress/Progress.styles.js.map +1 -1
  50. package/cjs/components/RadioGroup/Radio/Radio.js +1 -1
  51. package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
  52. package/cjs/components/ScrollArea/ScrollArea.js +15 -7
  53. package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
  54. package/cjs/components/ScrollArea/ScrollArea.styles.js +2 -3
  55. package/cjs/components/ScrollArea/ScrollArea.styles.js.map +1 -1
  56. package/cjs/components/SegmentedControl/SegmentedControl.js +17 -15
  57. package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  58. package/cjs/components/SegmentedControl/SegmentedControl.styles.js +37 -36
  59. package/cjs/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
  60. package/cjs/components/Select/Select.js +14 -8
  61. package/cjs/components/Select/Select.js.map +1 -1
  62. package/cjs/components/Select/SelectDropdown/SelectDropdown.js +1 -0
  63. package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  64. package/cjs/components/Slider/Marks/Marks.js +3 -2
  65. package/cjs/components/Slider/Marks/Marks.js.map +1 -1
  66. package/cjs/components/Slider/Marks/Marks.styles.js +2 -2
  67. package/cjs/components/Slider/Marks/Marks.styles.js.map +1 -1
  68. package/cjs/components/Slider/RangeSlider/RangeSlider.js +14 -6
  69. package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
  70. package/cjs/components/Slider/Slider/Slider.js +11 -9
  71. package/cjs/components/Slider/Slider/Slider.js.map +1 -1
  72. package/cjs/components/Slider/Thumb/Thumb.js +3 -2
  73. package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
  74. package/cjs/components/Slider/Thumb/Thumb.styles.js +1 -1
  75. package/cjs/components/Slider/Thumb/Thumb.styles.js.map +1 -1
  76. package/cjs/components/Slider/Track/Track.js +7 -2
  77. package/cjs/components/Slider/Track/Track.js.map +1 -1
  78. package/cjs/components/Slider/Track/Track.styles.js +14 -3
  79. package/cjs/components/Slider/Track/Track.styles.js.map +1 -1
  80. package/cjs/components/Space/Space.js +1 -1
  81. package/cjs/components/Space/Space.js.map +1 -1
  82. package/cjs/components/Stepper/Step/Step.js +2 -0
  83. package/cjs/components/Stepper/Step/Step.js.map +1 -1
  84. package/cjs/components/Stepper/Stepper.js +3 -2
  85. package/cjs/components/Stepper/Stepper.js.map +1 -1
  86. package/cjs/components/Switch/Switch.js.map +1 -1
  87. package/cjs/components/Table/Table.js +7 -3
  88. package/cjs/components/Table/Table.js.map +1 -1
  89. package/cjs/components/Table/Table.styles.js +9 -3
  90. package/cjs/components/Table/Table.styles.js.map +1 -1
  91. package/cjs/components/Tabs/TabControl/TabControl.js +2 -0
  92. package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
  93. package/cjs/components/Tabs/Tabs.js +8 -4
  94. package/cjs/components/Tabs/Tabs.js.map +1 -1
  95. package/cjs/components/Text/Text.styles.js +1 -1
  96. package/cjs/components/Text/Text.styles.js.map +1 -1
  97. package/cjs/components/Textarea/Textarea.js +16 -23
  98. package/cjs/components/Textarea/Textarea.js.map +1 -1
  99. package/cjs/components/Timeline/Timeline.js +12 -10
  100. package/cjs/components/Timeline/Timeline.js.map +1 -1
  101. package/cjs/components/Tooltip/Tooltip.js +24 -14
  102. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  103. package/cjs/components/TransferList/RenderList/RenderList.js +54 -37
  104. package/cjs/components/TransferList/RenderList/RenderList.js.map +1 -1
  105. package/cjs/components/TransferList/RenderList/RenderList.styles.js +3 -1
  106. package/cjs/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
  107. package/cjs/components/TransferList/TransferList.js +23 -24
  108. package/cjs/components/TransferList/TransferList.js.map +1 -1
  109. package/cjs/components/Transition/GroupedTransition.js +2 -0
  110. package/cjs/components/Transition/GroupedTransition.js.map +1 -1
  111. package/cjs/components/Transition/Transition.js +2 -0
  112. package/cjs/components/Transition/Transition.js.map +1 -1
  113. package/cjs/components/Transition/use-transition.js +6 -3
  114. package/cjs/components/Transition/use-transition.js.map +1 -1
  115. package/cjs/utils/{group-sort-data/group-sort-data.js → group-options/group-options.js} +6 -6
  116. package/cjs/utils/group-options/group-options.js.map +1 -0
  117. package/esm/components/Accordion/Accordion.js +4 -1
  118. package/esm/components/Accordion/Accordion.js.map +1 -1
  119. package/esm/components/Accordion/AccordionItem/AccordionItem.js +5 -1
  120. package/esm/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
  121. package/esm/components/ActionIcon/ActionIcon.js +2 -5
  122. package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
  123. package/esm/components/Autocomplete/Autocomplete.js +1 -1
  124. package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  125. package/esm/components/Button/Button.styles.js +1 -0
  126. package/esm/components/Button/Button.styles.js.map +1 -1
  127. package/esm/components/Button/UnstyledButton/UnstyledButton.styles.js +2 -1
  128. package/esm/components/Button/UnstyledButton/UnstyledButton.styles.js.map +1 -1
  129. package/esm/components/Code/Code.js +3 -1
  130. package/esm/components/Code/Code.js.map +1 -1
  131. package/esm/components/ColorInput/ColorInput.js +0 -2
  132. package/esm/components/ColorInput/ColorInput.js.map +1 -1
  133. package/esm/components/ColorInput/ColorInput.styles.js +0 -4
  134. package/esm/components/ColorInput/ColorInput.styles.js.map +1 -1
  135. package/esm/components/Drawer/Drawer.js +7 -1
  136. package/esm/components/Drawer/Drawer.js.map +1 -1
  137. package/esm/components/Grid/Col/Col.js.map +1 -1
  138. package/esm/components/Grid/Grid.js +7 -1
  139. package/esm/components/Grid/Grid.js.map +1 -1
  140. package/esm/components/Group/Group.js +1 -1
  141. package/esm/components/Group/Group.js.map +1 -1
  142. package/esm/components/Input/Input.js +3 -0
  143. package/esm/components/Input/Input.js.map +1 -1
  144. package/esm/components/Input/Input.styles.js +11 -2
  145. package/esm/components/Input/Input.styles.js.map +1 -1
  146. package/esm/components/Menu/Menu.js.map +1 -1
  147. package/esm/components/Menu/Menu.styles.js +1 -0
  148. package/esm/components/Menu/Menu.styles.js.map +1 -1
  149. package/esm/components/MultiSelect/MultiSelect.js +26 -23
  150. package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  151. package/esm/components/Pagination/DefaultItem/DefaultItem.js +10 -1
  152. package/esm/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
  153. package/esm/components/Popover/Popover.js +8 -3
  154. package/esm/components/Popover/Popover.js.map +1 -1
  155. package/esm/components/Popper/Popper.js +30 -2
  156. package/esm/components/Popper/Popper.js.map +1 -1
  157. package/esm/components/Popper/Popper.styles.js +20 -12
  158. package/esm/components/Popper/Popper.styles.js.map +1 -1
  159. package/esm/components/Portal/Portal.js +3 -0
  160. package/esm/components/Portal/Portal.js.map +1 -1
  161. package/esm/components/Progress/Progress.js +3 -3
  162. package/esm/components/Progress/Progress.js.map +1 -1
  163. package/esm/components/Progress/Progress.styles.js +1 -1
  164. package/esm/components/Progress/Progress.styles.js.map +1 -1
  165. package/esm/components/RadioGroup/Radio/Radio.js +1 -1
  166. package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
  167. package/esm/components/ScrollArea/ScrollArea.js +14 -6
  168. package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
  169. package/esm/components/ScrollArea/ScrollArea.styles.js +2 -3
  170. package/esm/components/ScrollArea/ScrollArea.styles.js.map +1 -1
  171. package/esm/components/SegmentedControl/SegmentedControl.js +19 -17
  172. package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  173. package/esm/components/SegmentedControl/SegmentedControl.styles.js +37 -36
  174. package/esm/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
  175. package/esm/components/Select/Select.js +14 -8
  176. package/esm/components/Select/Select.js.map +1 -1
  177. package/esm/components/Select/SelectDropdown/SelectDropdown.js +1 -0
  178. package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
  179. package/esm/components/Slider/Marks/Marks.js +3 -2
  180. package/esm/components/Slider/Marks/Marks.js.map +1 -1
  181. package/esm/components/Slider/Marks/Marks.styles.js +2 -2
  182. package/esm/components/Slider/Marks/Marks.styles.js.map +1 -1
  183. package/esm/components/Slider/RangeSlider/RangeSlider.js +11 -3
  184. package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
  185. package/esm/components/Slider/Slider/Slider.js +8 -6
  186. package/esm/components/Slider/Slider/Slider.js.map +1 -1
  187. package/esm/components/Slider/Thumb/Thumb.js +3 -2
  188. package/esm/components/Slider/Thumb/Thumb.js.map +1 -1
  189. package/esm/components/Slider/Thumb/Thumb.styles.js +1 -1
  190. package/esm/components/Slider/Thumb/Thumb.styles.js.map +1 -1
  191. package/esm/components/Slider/Track/Track.js +7 -2
  192. package/esm/components/Slider/Track/Track.js.map +1 -1
  193. package/esm/components/Slider/Track/Track.styles.js +14 -3
  194. package/esm/components/Slider/Track/Track.styles.js.map +1 -1
  195. package/esm/components/Space/Space.js +1 -1
  196. package/esm/components/Space/Space.js.map +1 -1
  197. package/esm/components/Stepper/Step/Step.js +2 -0
  198. package/esm/components/Stepper/Step/Step.js.map +1 -1
  199. package/esm/components/Stepper/Stepper.js +3 -2
  200. package/esm/components/Stepper/Stepper.js.map +1 -1
  201. package/esm/components/Switch/Switch.js.map +1 -1
  202. package/esm/components/Table/Table.js +7 -3
  203. package/esm/components/Table/Table.js.map +1 -1
  204. package/esm/components/Table/Table.styles.js +9 -3
  205. package/esm/components/Table/Table.styles.js.map +1 -1
  206. package/esm/components/Tabs/TabControl/TabControl.js +2 -0
  207. package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
  208. package/esm/components/Tabs/Tabs.js +8 -4
  209. package/esm/components/Tabs/Tabs.js.map +1 -1
  210. package/esm/components/Text/Text.styles.js +1 -1
  211. package/esm/components/Text/Text.styles.js.map +1 -1
  212. package/esm/components/Textarea/Textarea.js +16 -23
  213. package/esm/components/Textarea/Textarea.js.map +1 -1
  214. package/esm/components/Timeline/Timeline.js +12 -10
  215. package/esm/components/Timeline/Timeline.js.map +1 -1
  216. package/esm/components/Tooltip/Tooltip.js +25 -15
  217. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  218. package/esm/components/TransferList/RenderList/RenderList.js +54 -37
  219. package/esm/components/TransferList/RenderList/RenderList.js.map +1 -1
  220. package/esm/components/TransferList/RenderList/RenderList.styles.js +3 -1
  221. package/esm/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
  222. package/esm/components/TransferList/TransferList.js +23 -24
  223. package/esm/components/TransferList/TransferList.js.map +1 -1
  224. package/esm/components/Transition/GroupedTransition.js +2 -0
  225. package/esm/components/Transition/GroupedTransition.js.map +1 -1
  226. package/esm/components/Transition/Transition.js +2 -0
  227. package/esm/components/Transition/Transition.js.map +1 -1
  228. package/esm/components/Transition/use-transition.js +6 -3
  229. package/esm/components/Transition/use-transition.js.map +1 -1
  230. package/esm/utils/{group-sort-data/group-sort-data.js → group-options/group-options.js} +6 -6
  231. package/esm/utils/group-options/group-options.js.map +1 -0
  232. package/lib/components/Accordion/Accordion.d.ts +2 -0
  233. package/lib/components/Accordion/Accordion.d.ts.map +1 -1
  234. package/lib/components/Accordion/AccordionItem/AccordionItem.d.ts +2 -1
  235. package/lib/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
  236. package/lib/components/Button/Button.styles.d.ts +3 -3
  237. package/lib/components/Button/Button.styles.d.ts.map +1 -1
  238. package/lib/components/Button/UnstyledButton/UnstyledButton.styles.d.ts.map +1 -1
  239. package/lib/components/Code/Code.d.ts.map +1 -1
  240. package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
  241. package/lib/components/ColorInput/ColorInput.styles.d.ts +2 -2
  242. package/lib/components/ColorInput/ColorInput.styles.d.ts.map +1 -1
  243. package/lib/components/Drawer/Drawer.d.ts.map +1 -1
  244. package/lib/components/Grid/Col/Col.d.ts +1 -1
  245. package/lib/components/Grid/Col/Col.d.ts.map +1 -1
  246. package/lib/components/Grid/Grid.d.ts.map +1 -1
  247. package/lib/components/Input/Input.d.ts +2 -0
  248. package/lib/components/Input/Input.d.ts.map +1 -1
  249. package/lib/components/Input/Input.styles.d.ts +1 -0
  250. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  251. package/lib/components/Menu/Menu.d.ts +1 -1
  252. package/lib/components/Menu/Menu.d.ts.map +1 -1
  253. package/lib/components/Menu/Menu.styles.d.ts +1 -1
  254. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  255. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -0
  256. package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  257. package/lib/components/Pagination/DefaultItem/DefaultItem.d.ts.map +1 -1
  258. package/lib/components/Popover/Popover.d.ts +3 -1
  259. package/lib/components/Popover/Popover.d.ts.map +1 -1
  260. package/lib/components/Popper/Popper.d.ts +4 -2
  261. package/lib/components/Popper/Popper.d.ts.map +1 -1
  262. package/lib/components/Popper/Popper.styles.d.ts +2 -1
  263. package/lib/components/Popper/Popper.styles.d.ts.map +1 -1
  264. package/lib/components/Portal/Portal.d.ts.map +1 -1
  265. package/lib/components/RadioGroup/Radio/Radio.d.ts +1 -1
  266. package/lib/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
  267. package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
  268. package/lib/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  269. package/lib/components/ScrollArea/ScrollArea.styles.d.ts +0 -1
  270. package/lib/components/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
  271. package/lib/components/SegmentedControl/SegmentedControl.d.ts +7 -10
  272. package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  273. package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts.map +1 -1
  274. package/lib/components/Select/Select.d.ts +2 -0
  275. package/lib/components/Select/Select.d.ts.map +1 -1
  276. package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
  277. package/lib/components/Slider/Marks/Marks.d.ts.map +1 -1
  278. package/lib/components/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
  279. package/lib/components/Slider/Slider/Slider.d.ts.map +1 -1
  280. package/lib/components/Slider/Thumb/Thumb.d.ts.map +1 -1
  281. package/lib/components/Slider/Track/Track.d.ts.map +1 -1
  282. package/lib/components/Slider/Track/Track.styles.d.ts.map +1 -1
  283. package/lib/components/Stepper/Step/Step.d.ts +2 -0
  284. package/lib/components/Stepper/Step/Step.d.ts.map +1 -1
  285. package/lib/components/Stepper/Stepper.d.ts.map +1 -1
  286. package/lib/components/Switch/Switch.d.ts +3 -3
  287. package/lib/components/Switch/Switch.d.ts.map +1 -1
  288. package/lib/components/Table/Table.d.ts +5 -1
  289. package/lib/components/Table/Table.d.ts.map +1 -1
  290. package/lib/components/Table/Table.styles.d.ts +3 -0
  291. package/lib/components/Table/Table.styles.d.ts.map +1 -1
  292. package/lib/components/Tabs/TabControl/TabControl.d.ts +2 -1
  293. package/lib/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
  294. package/lib/components/Tabs/Tabs.d.ts +1 -1
  295. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  296. package/lib/components/Textarea/Textarea.d.ts.map +1 -1
  297. package/lib/components/Timeline/Timeline.d.ts +2 -0
  298. package/lib/components/Timeline/Timeline.d.ts.map +1 -1
  299. package/lib/components/Tooltip/Tooltip.d.ts +1 -4
  300. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  301. package/lib/components/TransferList/RenderList/RenderList.d.ts +3 -3
  302. package/lib/components/TransferList/RenderList/RenderList.d.ts.map +1 -1
  303. package/lib/components/TransferList/RenderList/RenderList.styles.d.ts.map +1 -1
  304. package/lib/components/TransferList/TransferList.d.ts +2 -0
  305. package/lib/components/TransferList/TransferList.d.ts.map +1 -1
  306. package/lib/components/Transition/GroupedTransition.d.ts +4 -2
  307. package/lib/components/Transition/GroupedTransition.d.ts.map +1 -1
  308. package/lib/components/Transition/Transition.d.ts +3 -1
  309. package/lib/components/Transition/Transition.d.ts.map +1 -1
  310. package/lib/components/Transition/use-transition.d.ts +2 -1
  311. package/lib/components/Transition/use-transition.d.ts.map +1 -1
  312. package/lib/utils/group-options/group-options.d.ts +8 -0
  313. package/lib/utils/group-options/group-options.d.ts.map +1 -0
  314. package/lib/utils/index.d.ts +2 -0
  315. package/lib/utils/index.d.ts.map +1 -1
  316. package/package.json +3 -3
  317. package/cjs/utils/group-sort-data/group-sort-data.js.map +0 -1
  318. package/esm/utils/group-sort-data/group-sort-data.js.map +0 -1
  319. package/lib/utils/group-sort-data/group-sort-data.d.ts +0 -9
  320. package/lib/utils/group-sort-data/group-sort-data.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport {\n useUncontrolled,\n useMergedRef,\n useDidUpdate,\n useScrollIntoView,\n useUuid,\n} from '@mantine/hooks';\nimport { DefaultProps, ClassNames, extractMargins, getDefaultZIndex } from '@mantine/styles';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { SelectItem, BaseSelectProps, BaseSelectStylesNames } from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport { groupSortData } from '../../utils/group-sort-data/group-sort-data';\nimport useStyles from './MultiSelect.styles';\nimport { SelectSharedProps } from '../Select/Select';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps\n extends DefaultProps<MultiSelectStylesNames>,\n BaseSelectProps,\n Omit<SelectSharedProps<SelectItem, string[]>, 'filter'> {\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** 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 custom scrollbars */\n dropdownComponent?: any;\n\n /** Limit amount of items selected */\n maxSelectedValues?: number;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());\n}\n\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n (\n {\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n icon,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n sx,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n maxSelectedValues,\n withinPortal,\n switchDirectionOnFlip = false,\n zIndex = getDefaultZIndex('popover'),\n name,\n dropdownPosition,\n ...others\n }: MultiSelectProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: 'MultiSelect' }\n );\n const { margins, rest } = extractMargins(others);\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const wrapperRef = useRef<HTMLDivElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const [searchValue, setSearchValue] = useState('');\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupSortData({ data: formattedData });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const valuesOverflow = useRef(!!maxSelectedValues && maxSelectedValues < _value.length);\n\n const handleValueRemove = (_val: string) => {\n const newValue = _value.filter((val) => val !== _val);\n setValue(newValue);\n\n if (!!maxSelectedValues && newValue.length < maxSelectedValues) {\n valuesOverflow.current = false;\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(\n getNextIndex(\n -1,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n )\n );\n }, [searchValue]);\n\n useDidUpdate(() => {\n //using greater than equal to take into account creatable type.\n if (!disabled && _value.length >= data.length) setDropdownOpened(false);\n }, [_value]);\n\n const handleItemSelect = (item: SelectItem) => {\n setTimeout(() => {\n clearSearchOnChange && handleSearchChange('');\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (_value.length === maxSelectedValues - 1) {\n valuesOverflow.current = true;\n setDropdownOpened(false);\n }\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n });\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const isColumn = direction === 'column';\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 if (dropdownOpened) {\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: isColumn ? 'end' : 'start',\n });\n }\n\n return nextIndex;\n });\n };\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n if (dropdownOpened) {\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: isColumn ? 'start' : 'end',\n });\n }\n\n return nextIndex;\n });\n };\n\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n\n isColumn ? handlePrevious() : handleNext();\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n\n isColumn ? handleNext() : handlePrevious();\n\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Space': {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => {\n let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);\n if (!selectedItem && isCreatable) {\n selectedItem = {\n value: val,\n label: val,\n };\n }\n return selectedItem;\n })\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n onRemove={(event: React.MouseEvent<HTMLButtonElement>) => {\n if (dropdownOpened) {\n event.preventDefault();\n event.stopPropagation();\n }\n handleValueRemove(item.value);\n setDropdownOpened(true);\n }}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n if (isCreatable && shouldCreate(searchValue, sortedData)) {\n createLabel = getCreateLabel(searchValue);\n filteredData.push({ label: searchValue, value: searchValue, creatable: true });\n }\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n isCreatable ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"MultiSelect\"\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n ref={wrapperRef}\n >\n <Input<'div'>\n __staticSelector=\"MultiSelect\"\n style={{ overflow: 'hidden' }}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && !valuesOverflow.current && setDropdownOpened(!dropdownOpened);\n inputRef.current?.focus();\n }}\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: !disabled && clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(ref, inputRef)}\n type=\"text\"\n id={uuid}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable || valuesOverflow.current}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n autoComplete=\"off\"\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n ref={useMergedRef(dropdownRef, scrollableRef)}\n __staticSelector=\"MultiSelect\"\n dropdownComponent={dropdownComponent || SelectScrollArea}\n referenceElement={wrapperRef.current}\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 uuid={uuid}\n __staticSelector=\"MultiSelect\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={creatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n\n {name && <input type=\"hidden\" name={name} value={_value.join(',')} />}\n </InputWrapper>\n );\n }\n);\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport {\n useUncontrolled,\n useMergedRef,\n useDidUpdate,\n useScrollIntoView,\n useUuid,\n} from '@mantine/hooks';\nimport { DefaultProps, ClassNames, extractMargins, getDefaultZIndex } from '@mantine/styles';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { SelectItem, BaseSelectProps, BaseSelectStylesNames } from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport { groupOptions } from '../../utils';\nimport useStyles from './MultiSelect.styles';\nimport { SelectSharedProps } from '../Select/Select';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps\n extends DefaultProps<MultiSelectStylesNames>,\n BaseSelectProps,\n Omit<SelectSharedProps<SelectItem, string[]>, 'filter'> {\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** 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 custom scrollbars */\n dropdownComponent?: any;\n\n /** Limit amount of items selected */\n maxSelectedValues?: number;\n\n /** Select highlighted item on blur */\n selectOnBlur?: boolean;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());\n}\n\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n (\n {\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n icon,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n sx,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n maxSelectedValues,\n withinPortal,\n switchDirectionOnFlip = false,\n zIndex = getDefaultZIndex('popover'),\n selectOnBlur = false,\n name,\n dropdownPosition,\n ...others\n }: MultiSelectProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: 'MultiSelect' }\n );\n const { margins, rest } = extractMargins(others);\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const wrapperRef = useRef<HTMLDivElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const [searchValue, setSearchValue] = useState('');\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupOptions({ data: formattedData });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const valuesOverflow = useRef(!!maxSelectedValues && maxSelectedValues < _value.length);\n\n const handleValueRemove = (_val: string) => {\n const newValue = _value.filter((val) => val !== _val);\n setValue(newValue);\n\n if (!!maxSelectedValues && newValue.length < maxSelectedValues) {\n valuesOverflow.current = false;\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(\n getNextIndex(\n -1,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n )\n );\n }, [searchValue]);\n\n useDidUpdate(() => {\n //using greater than equal to take into account creatable type.\n if (!disabled && _value.length >= data.length) setDropdownOpened(false);\n }, [_value]);\n\n const handleItemSelect = (item: SelectItem) => {\n clearSearchOnChange && handleSearchChange('');\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (_value.length === maxSelectedValues - 1) {\n valuesOverflow.current = true;\n setDropdownOpened(false);\n }\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const isColumn = direction === 'column';\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 if (dropdownOpened) {\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: isColumn ? 'end' : 'start',\n });\n }\n\n return nextIndex;\n });\n };\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n if (dropdownOpened) {\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: isColumn ? 'start' : 'end',\n });\n }\n\n return nextIndex;\n });\n };\n\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n\n isColumn ? handlePrevious() : handleNext();\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n\n isColumn ? handleNext() : handlePrevious();\n\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Space': {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n }\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => {\n let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);\n if (!selectedItem && isCreatable) {\n selectedItem = {\n value: val,\n label: val,\n };\n }\n return selectedItem;\n })\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n onRemove={(event: React.MouseEvent<HTMLButtonElement>) => {\n if (dropdownOpened) {\n event.preventDefault();\n event.stopPropagation();\n }\n handleValueRemove(item.value);\n setDropdownOpened(true);\n }}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n if (isCreatable && shouldCreate(searchValue, sortedData)) {\n createLabel = getCreateLabel(searchValue);\n filteredData.push({ label: searchValue, value: searchValue, creatable: true });\n }\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n isCreatable ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"MultiSelect\"\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n ref={wrapperRef}\n >\n <Input<'div'>\n __staticSelector=\"MultiSelect\"\n style={{ overflow: 'hidden' }}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && !valuesOverflow.current && setDropdownOpened(!dropdownOpened);\n inputRef.current?.focus();\n }}\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: !disabled && clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(ref, inputRef)}\n type=\"text\"\n id={uuid}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable || valuesOverflow.current}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n autoComplete=\"off\"\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n ref={useMergedRef(dropdownRef, scrollableRef)}\n __staticSelector=\"MultiSelect\"\n dropdownComponent={dropdownComponent || SelectScrollArea}\n referenceElement={wrapperRef.current}\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 uuid={uuid}\n __staticSelector=\"MultiSelect\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={creatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n\n {name && <input type=\"hidden\" name={name} value={_value.join(',')} />}\n </InputWrapper>\n );\n }\n);\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\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;AAqBK,SAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;AACrD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,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,WAAW,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACnD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,cAAc,EAAE,KAAK,GAAG,YAAY;AACxC,IAAI,aAAa,GAAG,WAAW;AAC/B,IAAI,EAAE;AACN,IAAI,UAAU,GAAG,cAAc;AAC/B,IAAI,kBAAkB,GAAG,CAAC;AAC1B,IAAI,wBAAwB;AAC5B,IAAI,iBAAiB,GAAG,GAAG;AAC3B,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,WAAW;AACf,IAAI,MAAM,GAAG,aAAa;AAC1B,IAAI,KAAK,GAAG,QAAQ;AACpB,IAAI,mBAAmB,GAAG,IAAI;AAC9B,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,iBAAiB,GAAG,KAAK;AAC7B,IAAI,gBAAgB;AACpB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,eAAe,GAAG,KAAK;AAC3B,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,IAAI;AACR,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,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,qBAAqB,GAAG,KAAK;AACjC,IAAI,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;AACxC,IAAI,YAAY,GAAG,KAAK;AACxB,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,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,qBAAqB;AACzB,IAAI,WAAW;AACf,IAAI,mBAAmB;AACvB,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,iBAAiB;AACrB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,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,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,uBAAuB;AAC3B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AACpH,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AAC/B,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAC9B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,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,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrD,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,WAAW,GAAG,SAAS,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AACxE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC;AACzB,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,kBAAkB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,OAAO,cAAc,KAAK,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AAChE,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AACxB,GAAG,CAAC;AACJ,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,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAC3D,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,EAAE;AAClB,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1F,EAAE,MAAM,iBAAiB,GAAG,CAAC,IAAI,KAAK;AACtC,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;AAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE;AACpE,MAAM,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,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,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,UAAU,CAAC;AAClC,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC,CAAC;AACL,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,WAAW,CAAC,CAAC,CAAC;AACpB,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;AACjD,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/B,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACrC,IAAI,mBAAmB,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAClD,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACrC,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,GAAG,CAAC,EAAE;AACnD,QAAQ,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;AACtC,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO;AACP,MAAM,IAAI,OAAO,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,QAAQ,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,OAAO;AACP,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,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,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACjE,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,iBAAiB,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAChD,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,KAAK,KAAK;AACxC,IAAI,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;AAC5C,IAAI,MAAM,UAAU,GAAG,MAAM;AAC7B,MAAM,UAAU,CAAC,CAAC,OAAO,KAAK;AAC9B,QAAQ,IAAI,GAAG,CAAC;AAChB,QAAQ,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;AAClH,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,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;AAC9G,UAAU,cAAc,CAAC;AACzB,YAAY,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO;AACjD,WAAW,CAAC,CAAC;AACb,SAAS;AACT,QAAQ,OAAO,SAAS,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,MAAM;AACjC,MAAM,UAAU,CAAC,CAAC,OAAO,KAAK;AAC9B,QAAQ,IAAI,GAAG,CAAC;AAChB,QAAQ,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AAC5F,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,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;AAC9G,UAAU,cAAc,CAAC;AACzB,YAAY,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK;AACjD,WAAW,CAAC,CAAC;AACb,SAAS;AACT,QAAQ,OAAO,SAAS,CAAC;AACzB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI;AAClC,MAAM,KAAK,SAAS,EAAE;AACtB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAChC,QAAQ,QAAQ,GAAG,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;AACnD,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAChC,QAAQ,QAAQ,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;AACnD,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,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,SAAS,MAAM;AACf,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,OAAO,EAAE;AACpB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACvD,YAAY,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,WAAW,MAAM;AACjB,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,WAAW;AACX,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3D,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;AAC5C,IAAI,IAAI,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvF,IAAI,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE;AACtC,MAAM,YAAY,GAAG;AACrB,QAAQ,KAAK,EAAE,GAAG;AAClB,QAAQ,KAAK,EAAE,GAAG;AAClB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AAC7H,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK;AACzB,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,KAAK,CAAC,eAAe,EAAE,CAAC;AAChC,OAAO;AACP,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK;AACnB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC3B,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,IAAI,WAAW,IAAI,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;AAC5D,IAAI,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACnF,GAAG;AACH,EAAE,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/I,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,aAAa;AACnC,IAAI,EAAE;AACN,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzE,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,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,cAAc;AACnC,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,IAAI,GAAG,EAAE,UAAU;AACnB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,gBAAgB,EAAE,aAAa;AACnC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACjC,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;AACjF,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC9D,KAAK;AACL,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,EAAE,0BAA0B,CAAC;AAChC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,WAAW,EAAE,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;AAC5D,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK;AACT,GAAG,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClD,IAAI,SAAS,EAAE,OAAO,CAAC,MAAM;AAC7B,GAAG,EAAE,aAAa,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;AAChF,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;AACvC,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,UAAU;AAC/C,MAAM,CAAC,OAAO,CAAC,sBAAsB,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;AAChH,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;AACrD,KAAK,CAAC;AACN,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,QAAQ,EAAE,CAAC,UAAU,IAAI,cAAc,CAAC,OAAO;AACnD,IAAI,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC;AAC3D,IAAI,QAAQ;AACZ,IAAI,+BAA+B,EAAE,cAAc;AACnD,IAAI,YAAY,EAAE,KAAK;AACvB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AACnE,IAAI,OAAO,EAAE,cAAc,IAAI,oBAAoB;AACnD,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,aAAa;AACnC,IAAI,iBAAiB,EAAE,iBAAiB,IAAI,gBAAgB;AAC5D,IAAI,gBAAgB,EAAE,UAAU,CAAC,OAAO;AACxC,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,IAAI;AACR,IAAI,gBAAgB,EAAE,aAAa;AACnC,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,SAAS,IAAI,CAAC,CAAC,WAAW;AACzC,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,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,WAAW,CAAC,WAAW,GAAG,2BAA2B;;;;"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { useMantineTheme } from '@mantine/styles';
2
3
  import { DotsIcon } from '../icons/DotsIcon.js';
3
4
  import { NextIcon } from '../icons/NextIcon.js';
4
5
  import { PrevIcon } from '../icons/PrevIcon.js';
@@ -40,9 +41,17 @@ const icons = {
40
41
  first: FirstIcon,
41
42
  last: LastIcon
42
43
  };
44
+ const rtlIcons = {
45
+ dots: DotsIcon,
46
+ prev: NextIcon,
47
+ next: PrevIcon,
48
+ last: FirstIcon,
49
+ first: LastIcon
50
+ };
43
51
  function DefaultItem(_a) {
44
52
  var _b = _a, { page, active, onClick } = _b, others = __objRest(_b, ["page", "active", "onClick"]);
45
- const Item = icons[page];
53
+ const theme = useMantineTheme();
54
+ const Item = (theme.dir === "rtl" ? rtlIcons : icons)[page];
46
55
  const children = Item ? /* @__PURE__ */ React.createElement(Item, null) : page;
47
56
  return /* @__PURE__ */ React.createElement("button", __spreadValues({
48
57
  type: "button",
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultItem.js","sources":["../../../../src/components/Pagination/DefaultItem/DefaultItem.tsx"],"sourcesContent":["import React from 'react';\nimport * as _icons from '../icons';\n\nexport interface PaginationItemProps extends React.ComponentPropsWithoutRef<'button'> {\n page: number | 'dots' | 'prev' | 'next' | 'first' | 'last';\n active?: boolean;\n onClick?: () => void;\n}\n\nconst icons = {\n dots: _icons.DotsIcon,\n next: _icons.NextIcon,\n prev: _icons.PrevIcon,\n first: _icons.FirstIcon,\n last: _icons.LastIcon,\n};\n\nexport function DefaultItem({ page, active, onClick, ...others }: PaginationItemProps) {\n const Item = icons[page];\n const children = Item ? <Item /> : page;\n\n return (\n <button type=\"button\" onClick={onClick} {...others}>\n {children}\n </button>\n );\n}\n\nDefaultItem.displayName = '@mantine/core/Pagination/DefaultItem';\n"],"names":["_icons.DotsIcon","_icons.NextIcon","_icons.PrevIcon","_icons.FirstIcon","_icons.LastIcon"],"mappings":"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"}
1
+ {"version":3,"file":"DefaultItem.js","sources":["../../../../src/components/Pagination/DefaultItem/DefaultItem.tsx"],"sourcesContent":["import React from 'react';\nimport { useMantineTheme } from '@mantine/styles';\nimport * as _icons from '../icons';\n\nexport interface PaginationItemProps extends React.ComponentPropsWithoutRef<'button'> {\n page: number | 'dots' | 'prev' | 'next' | 'first' | 'last';\n active?: boolean;\n onClick?: () => void;\n}\n\nconst icons = {\n dots: _icons.DotsIcon,\n next: _icons.NextIcon,\n prev: _icons.PrevIcon,\n first: _icons.FirstIcon,\n last: _icons.LastIcon,\n};\n\nconst rtlIcons = {\n dots: _icons.DotsIcon,\n prev: _icons.NextIcon,\n next: _icons.PrevIcon,\n last: _icons.FirstIcon,\n first: _icons.LastIcon,\n};\n\nexport function DefaultItem({ page, active, onClick, ...others }: PaginationItemProps) {\n const theme = useMantineTheme();\n const Item = (theme.dir === 'rtl' ? rtlIcons : icons)[page];\n const children = Item ? <Item /> : page;\n\n return (\n <button type=\"button\" onClick={onClick} {...others}>\n {children}\n </button>\n );\n}\n\nDefaultItem.displayName = '@mantine/core/Pagination/DefaultItem';\n"],"names":["_icons.DotsIcon","_icons.NextIcon","_icons.PrevIcon","_icons.FirstIcon","_icons.LastIcon"],"mappings":"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"}
@@ -65,7 +65,8 @@ function Popover(_a) {
65
65
  id,
66
66
  classNames,
67
67
  styles,
68
- width
68
+ width,
69
+ clickOutsideEvents = ["click", "touchstart"]
69
70
  } = _b, others = __objRest(_b, [
70
71
  "className",
71
72
  "children",
@@ -96,7 +97,8 @@ function Popover(_a) {
96
97
  "id",
97
98
  "classNames",
98
99
  "styles",
99
- "width"
100
+ "width",
101
+ "clickOutsideEvents"
100
102
  ]);
101
103
  const { classes, cx } = useStyles(null, { classNames, styles, name: "Popover" });
102
104
  const handleClose = () => typeof onClose === "function" && onClose();
@@ -104,7 +106,10 @@ function Popover(_a) {
104
106
  const [rootElement, setRootElement] = useState(null);
105
107
  const [dropdownElement, setDropdownElement] = useState(null);
106
108
  const focusTrapRef = useFocusTrap(!noFocusTrap && opened);
107
- useClickOutside(() => !noClickOutside && handleClose(), null, [rootElement, dropdownElement]);
109
+ useClickOutside(() => !noClickOutside && handleClose(), clickOutsideEvents, [
110
+ rootElement,
111
+ dropdownElement
112
+ ]);
108
113
  const returnFocus = useFocusReturn({
109
114
  opened: opened || noFocusTrap,
110
115
  transitionDuration,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Disable closing by click outside */\n noClickOutside?: boolean;\n\n /** Disable focus trap (may impact close on escape feature) */\n noFocusTrap?: boolean;\n\n /** Disables close on escape */\n noEscape?: boolean;\n\n /** Adds close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Optional popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n}\n\nexport function Popover({\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex = getDefaultZIndex('popover'),\n arrowSize = 4,\n withArrow = false,\n transition = 'fade',\n transitionDuration = 200,\n transitionTimingFunction,\n gutter = 10,\n position = 'left',\n placement = 'center',\n disabled = false,\n noClickOutside = false,\n noFocusTrap = false,\n noEscape = false,\n withCloseButton = false,\n radius = 'sm',\n spacing = 'md',\n shadow = 'sm',\n closeButtonLabel,\n positionDependencies = [],\n withinPortal = true,\n id,\n classNames,\n styles,\n width,\n ...others\n}: PopoverProps) {\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(!noFocusTrap && opened);\n\n useClickOutside(() => !noClickOutside && handleClose(), null, [rootElement, dropdownElement]);\n\n const returnFocus = useFocusReturn({\n opened: opened || noFocusTrap,\n transitionDuration,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!noEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Disable closing by click outside */\n noClickOutside?: boolean;\n\n /** Disable focus trap (may impact close on escape feature) */\n noFocusTrap?: boolean;\n\n /** Disables close on escape */\n noEscape?: boolean;\n\n /** Adds close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Optional popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nexport function Popover({\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex = getDefaultZIndex('popover'),\n arrowSize = 4,\n withArrow = false,\n transition = 'fade',\n transitionDuration = 200,\n transitionTimingFunction,\n gutter = 10,\n position = 'left',\n placement = 'center',\n disabled = false,\n noClickOutside = false,\n noFocusTrap = false,\n noEscape = false,\n withCloseButton = false,\n radius = 'sm',\n spacing = 'md',\n shadow = 'sm',\n closeButtonLabel,\n positionDependencies = [],\n withinPortal = true,\n id,\n classNames,\n styles,\n width,\n clickOutsideEvents = ['click', 'touchstart'],\n ...others\n}: PopoverProps) {\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(!noFocusTrap && opened);\n\n useClickOutside(() => !noClickOutside && handleClose(), clickOutsideEvents, [\n rootElement,\n dropdownElement,\n ]);\n\n const returnFocus = useFocusReturn({\n opened: opened || noFocusTrap,\n transitionDuration,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!noEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":[],"mappings":"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"}
@@ -26,6 +26,30 @@ var __spreadValues = (a, b) => {
26
26
  return a;
27
27
  };
28
28
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
+ function flipPlacement(placement, dir) {
30
+ if (placement === "center") {
31
+ return placement;
32
+ }
33
+ if (dir === "rtl") {
34
+ if (placement === "end") {
35
+ return "start";
36
+ }
37
+ return "end";
38
+ }
39
+ return placement;
40
+ }
41
+ function flipPosition(position, dir) {
42
+ if (position === "top" || position === "bottom") {
43
+ return position;
44
+ }
45
+ if (dir === "rtl") {
46
+ if (position === "left") {
47
+ return "right";
48
+ }
49
+ return "left";
50
+ }
51
+ return position;
52
+ }
29
53
  function Popper({
30
54
  position = "top",
31
55
  placement = "center",
@@ -38,6 +62,7 @@ function Popper({
38
62
  mounted,
39
63
  transition = "pop-top-left",
40
64
  transitionDuration,
65
+ exitTransitionDuration = transitionDuration,
41
66
  transitionTimingFunction,
42
67
  arrowClassName,
43
68
  arrowStyle,
@@ -49,9 +74,11 @@ function Popper({
49
74
  }) {
50
75
  var _a;
51
76
  const padding = withArrow ? gutter + arrowSize : gutter;
52
- const { classes, cx } = useStyles({ arrowSize, arrowDistance }, { name: "Popper" });
77
+ const { classes, cx, theme } = useStyles({ arrowSize, arrowDistance }, { name: "Popper" });
53
78
  const [popperElement, setPopperElement] = useState(null);
54
- const initialPlacement = placement === "center" ? position : `${position}-${placement}`;
79
+ const _placement = flipPlacement(placement, theme.dir);
80
+ const _position = flipPosition(position, theme.dir);
81
+ const initialPlacement = _placement === "center" ? _position : `${_position}-${_placement}`;
55
82
  const { styles, attributes, forceUpdate } = usePopper(referenceElement, popperElement, {
56
83
  placement: initialPlacement,
57
84
  modifiers: [
@@ -71,6 +98,7 @@ function Popper({
71
98
  return /* @__PURE__ */ React.createElement(Transition, {
72
99
  mounted: mounted && !!referenceElement,
73
100
  duration: transitionDuration,
101
+ exitDuration: exitTransitionDuration,
74
102
  transition,
75
103
  timingFunction: transitionTimingFunction,
76
104
  onExited: onTransitionEnd
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","sources":["../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { usePopper, StrictModifier } from 'react-popper';\nimport { getDefaultZIndex } from '@mantine/styles';\nimport type { Placement } from '@popperjs/core';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { Transition, MantineTransition } from '../Transition';\nimport { parsePopperPosition } from './parse-popper-position/parse-popper-position';\nimport { PopperContainer } from './PopperContainer/PopperContainer';\nimport useStyles from './Popper.styles';\n\nexport interface SharedPopperProps {\n /** Position relative to reference element */\n position?: 'top' | 'left' | 'bottom' | 'right';\n\n /** Placement relative to reference element */\n placement?: 'start' | 'center' | 'end';\n\n /** Spacing between element and popper in px */\n gutter?: number;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow distance to the left/right * arrowSize */\n arrowDistance?: number;\n\n /** Renders arrow if true */\n withArrow?: boolean;\n\n /** Popper z-index */\n zIndex?: number;\n\n /** Customize mount/unmount transition */\n transition?: MantineTransition;\n\n /** Mount/unmount transition duration in ms */\n transitionDuration?: number;\n\n /** Mount/unmount transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n}\n\nexport interface PopperProps<T extends HTMLElement> extends SharedPopperProps {\n /** Element at which popper should be attached */\n referenceElement: T;\n\n /** Popper content */\n children: React.ReactNode;\n\n /** True to show popper, false to hide */\n mounted: boolean;\n\n /** Arrow class name */\n arrowClassName?: string;\n\n /** Arrow inline styles */\n arrowStyle?: React.CSSProperties;\n\n /** useEffect dependencies to force update popper position */\n forceUpdateDependencies?: any[];\n\n /** Called when transition ends */\n onTransitionEnd?(): void;\n\n /** Popperjs modifiers array */\n modifiers?: StrictModifier[];\n\n /** Whether to render the target element in a Portal */\n withinPortal?: boolean;\n}\n\nexport function Popper<T extends HTMLElement = HTMLDivElement>({\n position = 'top',\n placement = 'center',\n gutter = 5,\n arrowSize = 2,\n arrowDistance = 2,\n withArrow = false,\n referenceElement,\n children,\n mounted,\n transition = 'pop-top-left',\n transitionDuration,\n transitionTimingFunction,\n arrowClassName,\n arrowStyle,\n zIndex = getDefaultZIndex('popover'),\n forceUpdateDependencies = [],\n modifiers = [],\n onTransitionEnd,\n withinPortal = true,\n}: PopperProps<T>) {\n const padding = withArrow ? gutter + arrowSize : gutter;\n const { classes, cx } = useStyles({ arrowSize, arrowDistance }, { name: 'Popper' });\n const [popperElement, setPopperElement] = useState(null);\n\n const initialPlacement: Placement =\n placement === 'center' ? position : `${position}-${placement}`;\n\n const { styles, attributes, forceUpdate } = usePopper(referenceElement, popperElement, {\n placement: initialPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, padding],\n },\n },\n ...modifiers,\n ],\n });\n\n const parsedAttributes = parsePopperPosition(attributes.popper?.['data-popper-placement']);\n\n useDidUpdate(() => {\n typeof forceUpdate === 'function' && forceUpdate();\n }, forceUpdateDependencies);\n\n return (\n <Transition\n mounted={mounted && !!referenceElement}\n duration={transitionDuration}\n transition={transition}\n timingFunction={transitionTimingFunction}\n onExited={onTransitionEnd}\n >\n {(transitionStyles) => (\n <div>\n <PopperContainer withinPortal={withinPortal} zIndex={zIndex}>\n <div\n ref={setPopperElement}\n style={{ ...styles.popper, pointerEvents: 'none' }}\n {...attributes.popper}\n >\n <div style={transitionStyles}>\n {children}\n {withArrow && (\n <div\n style={arrowStyle}\n className={cx(\n classes.arrow,\n classes[parsedAttributes.placement],\n classes[parsedAttributes.position],\n arrowClassName\n )}\n />\n )}\n </div>\n </div>\n </PopperContainer>\n </div>\n )}\n </Transition>\n );\n}\n\nPopper.displayName = '@mantine/core/Popper';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popper.js","sources":["../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { usePopper, StrictModifier } from 'react-popper';\nimport { getDefaultZIndex } from '@mantine/styles';\nimport type { Placement } from '@popperjs/core';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { Transition, MantineTransition } from '../Transition';\nimport { parsePopperPosition } from './parse-popper-position/parse-popper-position';\nimport { PopperContainer } from './PopperContainer/PopperContainer';\nimport useStyles from './Popper.styles';\n\nexport interface SharedPopperProps {\n /** Position relative to reference element */\n position?: 'top' | 'left' | 'bottom' | 'right';\n\n /** Placement relative to reference element */\n placement?: 'start' | 'center' | 'end';\n\n /** Spacing between element and popper in px */\n gutter?: number;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow distance to the left/right * arrowSize */\n arrowDistance?: number;\n\n /** Renders arrow if true */\n withArrow?: boolean;\n\n /** Popper z-index */\n zIndex?: number;\n\n /** Customize mount/unmount transition */\n transition?: MantineTransition;\n\n /** Mount transition duration in ms */\n transitionDuration?: number;\n\n /** Unmount transition duration in ms */\n exitTransitionDuration?: number;\n\n /** Mount/unmount transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n}\n\nexport interface PopperProps<T extends HTMLElement> extends SharedPopperProps {\n /** Element at which popper should be attached */\n referenceElement: T;\n\n /** Popper content */\n children: React.ReactNode;\n\n /** True to show popper, false to hide */\n mounted: boolean;\n\n /** Arrow class name */\n arrowClassName?: string;\n\n /** Arrow inline styles */\n arrowStyle?: React.CSSProperties;\n\n /** useEffect dependencies to force update popper position */\n forceUpdateDependencies?: any[];\n\n /** Called when transition ends */\n onTransitionEnd?(): void;\n\n /** Popperjs modifiers array */\n modifiers?: StrictModifier[];\n\n /** Whether to render the target element in a Portal */\n withinPortal?: boolean;\n}\n\nfunction flipPlacement(placement: 'start' | 'center' | 'end', dir: 'ltr' | 'rtl') {\n if (placement === 'center') {\n return placement;\n }\n\n if (dir === 'rtl') {\n if (placement === 'end') {\n return 'start';\n }\n\n return 'end';\n }\n\n return placement;\n}\n\nfunction flipPosition(position: 'top' | 'left' | 'bottom' | 'right', dir: 'ltr' | 'rtl') {\n if (position === 'top' || position === 'bottom') {\n return position;\n }\n\n if (dir === 'rtl') {\n if (position === 'left') {\n return 'right';\n }\n\n return 'left';\n }\n\n return position;\n}\n\nexport function Popper<T extends HTMLElement = HTMLDivElement>({\n position = 'top',\n placement = 'center',\n gutter = 5,\n arrowSize = 2,\n arrowDistance = 2,\n withArrow = false,\n referenceElement,\n children,\n mounted,\n transition = 'pop-top-left',\n transitionDuration,\n exitTransitionDuration = transitionDuration,\n transitionTimingFunction,\n arrowClassName,\n arrowStyle,\n zIndex = getDefaultZIndex('popover'),\n forceUpdateDependencies = [],\n modifiers = [],\n onTransitionEnd,\n withinPortal = true,\n}: PopperProps<T>) {\n const padding = withArrow ? gutter + arrowSize : gutter;\n const { classes, cx, theme } = useStyles({ arrowSize, arrowDistance }, { name: 'Popper' });\n const [popperElement, setPopperElement] = useState(null);\n const _placement = flipPlacement(placement, theme.dir);\n const _position = flipPosition(position, theme.dir);\n\n const initialPlacement: Placement =\n _placement === 'center' ? _position : `${_position}-${_placement}`;\n\n const { styles, attributes, forceUpdate } = usePopper(referenceElement, popperElement, {\n placement: initialPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, padding],\n },\n },\n ...modifiers,\n ],\n });\n\n const parsedAttributes = parsePopperPosition(attributes.popper?.['data-popper-placement']);\n\n useDidUpdate(() => {\n typeof forceUpdate === 'function' && forceUpdate();\n }, forceUpdateDependencies);\n\n return (\n <Transition\n mounted={mounted && !!referenceElement}\n duration={transitionDuration}\n exitDuration={exitTransitionDuration}\n transition={transition}\n timingFunction={transitionTimingFunction}\n onExited={onTransitionEnd}\n >\n {(transitionStyles) => (\n <div>\n <PopperContainer withinPortal={withinPortal} zIndex={zIndex}>\n <div\n ref={setPopperElement}\n style={{ ...styles.popper, pointerEvents: 'none' }}\n {...attributes.popper}\n >\n <div style={transitionStyles}>\n {children}\n {withArrow && (\n <div\n style={arrowStyle}\n className={cx(\n classes.arrow,\n classes[parsedAttributes.placement],\n classes[parsedAttributes.position],\n arrowClassName\n )}\n />\n )}\n </div>\n </div>\n </PopperContainer>\n </div>\n )}\n </Transition>\n );\n}\n\nPopper.displayName = '@mantine/core/Popper';\n"],"names":[],"mappings":"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"}
@@ -30,18 +30,20 @@ const horizontalPlacement = (arrowSize, distance, classes) => ({
30
30
  top: arrowSize * distance
31
31
  }
32
32
  });
33
- const verticalPlacement = (arrowSize, distance, classes) => ({
33
+ const verticalPlacement = (arrowSize, distance, classes, theme) => ({
34
34
  [`&.${classes.center}`]: {
35
35
  left: `calc(50% - ${arrowSize}px)`
36
36
  },
37
37
  [`&.${classes.end}`]: {
38
- right: arrowSize * distance
38
+ right: theme.dir === "ltr" ? arrowSize * distance : void 0,
39
+ left: theme.dir === "rtl" ? arrowSize * distance : void 0
39
40
  },
40
41
  [`&.${classes.start}`]: {
41
- left: arrowSize * distance
42
+ left: theme.dir === "ltr" ? arrowSize * distance : void 0,
43
+ right: theme.dir === "rtl" ? arrowSize * distance : void 0
42
44
  }
43
45
  });
44
- var useStyles = createStyles((_theme, { arrowSize, arrowDistance }, getRef) => {
46
+ var useStyles = createStyles((theme, { arrowSize, arrowDistance }, getRef) => {
45
47
  const center = { ref: getRef("center") };
46
48
  const start = { ref: getRef("start") };
47
49
  const end = { ref: getRef("end") };
@@ -63,23 +65,29 @@ var useStyles = createStyles((_theme, { arrowSize, arrowDistance }, getRef) => {
63
65
  zIndex: 1
64
66
  },
65
67
  left: __spreadProps(__spreadValues({}, horizontalPlacement(arrowSize, arrowDistance, placementClasses)), {
66
- right: -arrowSize,
67
- borderLeft: 0,
68
+ right: theme.dir === "ltr" ? -arrowSize : "unset",
69
+ left: theme.dir === "rtl" ? -arrowSize : "unset",
70
+ borderLeft: theme.dir === "ltr" ? 0 : void 0,
71
+ borderRight: theme.dir === "rtl" ? 0 : void 0,
68
72
  borderBottom: 0
69
73
  }),
70
74
  right: __spreadProps(__spreadValues({}, horizontalPlacement(arrowSize, arrowDistance, placementClasses)), {
71
- left: -arrowSize,
72
- borderRight: 0,
75
+ left: theme.dir === "ltr" ? -arrowSize : "unset",
76
+ right: theme.dir === "rtl" ? -arrowSize : "unset",
77
+ borderRight: theme.dir === "ltr" ? 0 : void 0,
78
+ borderLeft: theme.dir === "rtl" ? 0 : void 0,
73
79
  borderTop: 0
74
80
  }),
75
- top: __spreadProps(__spreadValues({}, verticalPlacement(arrowSize, arrowDistance, placementClasses)), {
81
+ top: __spreadProps(__spreadValues({}, verticalPlacement(arrowSize, arrowDistance, placementClasses, theme)), {
76
82
  bottom: -arrowSize,
77
- borderLeft: 0,
83
+ borderLeft: theme.dir === "ltr" ? 0 : void 0,
84
+ borderRight: theme.dir === "rtl" ? 0 : void 0,
78
85
  borderTop: 0
79
86
  }),
80
- bottom: __spreadProps(__spreadValues({}, verticalPlacement(arrowSize, arrowDistance, placementClasses)), {
87
+ bottom: __spreadProps(__spreadValues({}, verticalPlacement(arrowSize, arrowDistance, placementClasses, theme)), {
81
88
  top: -arrowSize,
82
- borderRight: 0,
89
+ borderRight: theme.dir === "ltr" ? 0 : void 0,
90
+ borderLeft: theme.dir === "rtl" ? 0 : void 0,
83
91
  borderBottom: 0
84
92
  })
85
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.styles.js","sources":["../../../src/components/Popper/Popper.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\ninterface PopperStyles {\n arrowSize: number;\n arrowDistance: number;\n}\n\ninterface PlacementClasses {\n center: string;\n end: string;\n start: string;\n}\n\nconst horizontalPlacement = (arrowSize: number, distance: number, classes: PlacementClasses) => ({\n [`&.${classes.center}`]: {\n top: `calc(50% - ${arrowSize}px)`,\n },\n\n [`&.${classes.end}`]: {\n bottom: arrowSize * distance,\n },\n\n [`&.${classes.start}`]: {\n top: arrowSize * distance,\n },\n});\n\nconst verticalPlacement = (arrowSize: number, distance: number, classes: PlacementClasses) => ({\n [`&.${classes.center}`]: {\n left: `calc(50% - ${arrowSize}px)`,\n },\n\n [`&.${classes.end}`]: {\n right: arrowSize * distance,\n },\n\n [`&.${classes.start}`]: {\n left: arrowSize * distance,\n },\n});\n\nexport default createStyles((_theme, { arrowSize, arrowDistance }: PopperStyles, getRef) => {\n const center = { ref: getRef('center') } as const;\n const start = { ref: getRef('start') } as const;\n const end = { ref: getRef('end') } as const;\n\n const placementClasses = {\n center: center.ref,\n start: start.ref,\n end: end.ref,\n };\n\n return {\n center,\n start,\n end,\n\n arrow: {\n width: arrowSize * 2,\n height: arrowSize * 2,\n position: 'absolute',\n transform: 'rotate(45deg)',\n border: '1px solid transparent',\n zIndex: 1,\n },\n\n left: {\n ...horizontalPlacement(arrowSize, arrowDistance, placementClasses),\n right: -arrowSize,\n borderLeft: 0,\n borderBottom: 0,\n },\n\n right: {\n ...horizontalPlacement(arrowSize, arrowDistance, placementClasses),\n left: -arrowSize,\n borderRight: 0,\n borderTop: 0,\n },\n\n top: {\n ...verticalPlacement(arrowSize, arrowDistance, placementClasses),\n bottom: -arrowSize,\n borderLeft: 0,\n borderTop: 0,\n },\n\n bottom: {\n ...verticalPlacement(arrowSize, arrowDistance, placementClasses),\n top: -arrowSize,\n borderRight: 0,\n borderBottom: 0,\n },\n };\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popper.styles.js","sources":["../../../src/components/Popper/Popper.styles.ts"],"sourcesContent":["import { createStyles, MantineTheme } from '@mantine/styles';\n\ninterface PopperStyles {\n arrowSize: number;\n arrowDistance: number;\n}\n\ninterface PlacementClasses {\n center: string;\n end: string;\n start: string;\n}\n\nconst horizontalPlacement = (arrowSize: number, distance: number, classes: PlacementClasses) => ({\n [`&.${classes.center}`]: {\n top: `calc(50% - ${arrowSize}px)`,\n },\n\n [`&.${classes.end}`]: {\n bottom: arrowSize * distance,\n },\n\n [`&.${classes.start}`]: {\n top: arrowSize * distance,\n },\n});\n\nconst verticalPlacement = (\n arrowSize: number,\n distance: number,\n classes: PlacementClasses,\n theme: MantineTheme\n) => ({\n [`&.${classes.center}`]: {\n left: `calc(50% - ${arrowSize}px)`,\n },\n\n [`&.${classes.end}`]: {\n right: theme.dir === 'ltr' ? arrowSize * distance : undefined,\n left: theme.dir === 'rtl' ? arrowSize * distance : undefined,\n },\n\n [`&.${classes.start}`]: {\n left: theme.dir === 'ltr' ? arrowSize * distance : undefined,\n right: theme.dir === 'rtl' ? arrowSize * distance : undefined,\n },\n});\n\nexport default createStyles((theme, { arrowSize, arrowDistance }: PopperStyles, getRef) => {\n const center = { ref: getRef('center') } as const;\n const start = { ref: getRef('start') } as const;\n const end = { ref: getRef('end') } as const;\n\n const placementClasses = {\n center: center.ref,\n start: start.ref,\n end: end.ref,\n };\n\n return {\n center,\n start,\n end,\n\n arrow: {\n width: arrowSize * 2,\n height: arrowSize * 2,\n position: 'absolute',\n transform: 'rotate(45deg)',\n border: '1px solid transparent',\n zIndex: 1,\n },\n\n left: {\n ...horizontalPlacement(arrowSize, arrowDistance, placementClasses),\n right: theme.dir === 'ltr' ? -arrowSize : 'unset',\n left: theme.dir === 'rtl' ? -arrowSize : 'unset',\n borderLeft: theme.dir === 'ltr' ? 0 : undefined,\n borderRight: theme.dir === 'rtl' ? 0 : undefined,\n borderBottom: 0,\n },\n\n right: {\n ...horizontalPlacement(arrowSize, arrowDistance, placementClasses),\n left: theme.dir === 'ltr' ? -arrowSize : 'unset',\n right: theme.dir === 'rtl' ? -arrowSize : 'unset',\n borderRight: theme.dir === 'ltr' ? 0 : undefined,\n borderLeft: theme.dir === 'rtl' ? 0 : undefined,\n borderTop: 0,\n },\n\n top: {\n ...verticalPlacement(arrowSize, arrowDistance, placementClasses, theme),\n bottom: -arrowSize,\n borderLeft: theme.dir === 'ltr' ? 0 : undefined,\n borderRight: theme.dir === 'rtl' ? 0 : undefined,\n borderTop: 0,\n },\n\n bottom: {\n ...verticalPlacement(arrowSize, arrowDistance, placementClasses, theme),\n top: -arrowSize,\n borderRight: theme.dir === 'ltr' ? 0 : undefined,\n borderLeft: theme.dir === 'rtl' ? 0 : undefined,\n borderBottom: 0,\n },\n };\n});\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import React, { useState, useRef } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useIsomorphicEffect } from '@mantine/hooks';
4
+ import { useMantineTheme } from '@mantine/styles';
4
5
 
5
6
  function Portal({ children, zIndex = 1, target, className }) {
7
+ const theme = useMantineTheme();
6
8
  const [mounted, setMounted] = useState(false);
7
9
  const ref = useRef();
8
10
  useIsomorphicEffect(() => {
@@ -20,6 +22,7 @@ function Portal({ children, zIndex = 1, target, className }) {
20
22
  }
21
23
  return createPortal(/* @__PURE__ */ React.createElement("div", {
22
24
  className,
25
+ dir: theme.dir,
23
26
  style: { position: "relative", zIndex }
24
27
  }, children), ref.current);
25
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","sources":["../../../src/components/Portal/Portal.tsx"],"sourcesContent":["import React, { ReactPortal, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIsomorphicEffect } from '@mantine/hooks';\n\nexport interface PortalProps {\n /** Portal children, for example, modal or popover */\n children: React.ReactNode;\n\n /** Root element z-index property */\n zIndex?: number;\n\n /** Element where portal should be rendered, by default new div element is created and appended to document.body */\n target?: HTMLElement | string;\n\n /** Root element className */\n className?: string;\n}\n\nexport function Portal({ children, zIndex = 1, target, className }: PortalProps): ReactPortal {\n const [mounted, setMounted] = useState(false);\n const ref = useRef<HTMLElement>();\n\n useIsomorphicEffect(() => {\n setMounted(true);\n ref.current = !target\n ? document.createElement('div')\n : typeof target === 'string'\n ? document.querySelector(target)\n : target;\n\n if (!target) {\n document.body.appendChild(ref.current);\n }\n\n return () => {\n !target && document.body.removeChild(ref.current);\n };\n }, [target]);\n\n if (!mounted) {\n return null;\n }\n\n return createPortal(\n <div className={className} style={{ position: 'relative', zIndex }}>\n {children}\n </div>,\n ref.current\n );\n}\n\nPortal.displayName = '@mantine/core/Portal';\n"],"names":[],"mappings":";;;;AAGO,SAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;AACpE,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AACvB,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AACjI,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,OAAO,MAAM;AACjB,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxD,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,YAAY,iBAAiB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjE,IAAI,SAAS;AACb,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;AAC3C,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AACD,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"Portal.js","sources":["../../../src/components/Portal/Portal.tsx"],"sourcesContent":["import React, { ReactPortal, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIsomorphicEffect } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/styles';\n\nexport interface PortalProps {\n /** Portal children, for example, modal or popover */\n children: React.ReactNode;\n\n /** Root element z-index property */\n zIndex?: number;\n\n /** Element where portal should be rendered, by default new div element is created and appended to document.body */\n target?: HTMLElement | string;\n\n /** Root element className */\n className?: string;\n}\n\nexport function Portal({ children, zIndex = 1, target, className }: PortalProps): ReactPortal {\n const theme = useMantineTheme();\n const [mounted, setMounted] = useState(false);\n const ref = useRef<HTMLElement>();\n\n useIsomorphicEffect(() => {\n setMounted(true);\n ref.current = !target\n ? document.createElement('div')\n : typeof target === 'string'\n ? document.querySelector(target)\n : target;\n\n if (!target) {\n document.body.appendChild(ref.current);\n }\n\n return () => {\n !target && document.body.removeChild(ref.current);\n };\n }, [target]);\n\n if (!mounted) {\n return null;\n }\n\n return createPortal(\n <div className={className} dir={theme.dir} style={{ position: 'relative', zIndex }}>\n {children}\n </div>,\n ref.current\n );\n}\n\nPortal.displayName = '@mantine/core/Portal';\n"],"names":[],"mappings":";;;;;AAIO,SAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;AACpE,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AACvB,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AACjI,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,OAAO,MAAM;AACjB,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxD,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,YAAY,iBAAiB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjE,IAAI,SAAS;AACb,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;AAC3C,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AACD,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import useStyles from './Progress.styles.js';
3
- import { Text } from '../Text/Text.js';
4
3
  import { Box } from '../Box/Box.js';
4
+ import { Text } from '../Text/Text.js';
5
5
 
6
6
  var __defProp = Object.defineProperty;
7
7
  var __defProps = Object.defineProperties;
@@ -70,10 +70,10 @@ const Progress = forwardRef((_a, ref) => {
70
70
  "sections"
71
71
  ]);
72
72
  const { classes, cx, theme } = useStyles({ color, size, radius, striped: striped || animate, animate }, { classNames, styles, name: "Progress" });
73
- const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((section, index) => /* @__PURE__ */ React.createElement("div", {
73
+ const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((section, index) => /* @__PURE__ */ React.createElement(Box, {
74
74
  key: index,
75
75
  className: classes.bar,
76
- style: {
76
+ sx: {
77
77
  width: `${section.value}%`,
78
78
  left: `${section.accumulated}%`,
79
79
  backgroundColor: theme.fn.themeColor(section.color, 6, false)
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sources":["../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, MantineColor, ClassNames } from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Progress.styles';\nimport { Text } from '../Text';\n\nexport type ProgressStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: { value: number; color: MantineColor; label?: string }[];\n}\n\nfunction getCumulativeSections(\n sections: { value: number; color: MantineColor; label?: string }[]\n): { value: number; color: MantineColor; accumulated: number; label?: string }[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(\n (\n {\n className,\n value,\n color,\n size = 'md',\n radius = 'sm',\n striped = false,\n animate = false,\n label = '',\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n ...others\n }: ProgressProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map((section, index) => (\n <div\n key={index}\n className={classes.bar}\n style={{\n width: `${section.value}%`,\n left: `${section.accumulated}%`,\n backgroundColor: theme.fn.themeColor(section.color, 6, false),\n }}\n >\n {section.label && <Text className={classes.label}>{section.label}</Text>}\n </div>\n ))\n : null;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {segments || (\n <div\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={value}\n aria-label={ariaLabel}\n className={classes.bar}\n style={{ width: `${value}%` }}\n >\n {label ? <Text className={classes.label}>{label}</Text> : ''}\n </div>\n )}\n </Box>\n );\n }\n);\n\nProgress.displayName = '@mantine/core/Progress';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Progress.js","sources":["../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, MantineColor, ClassNames } from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles from './Progress.styles';\nimport { Text } from '../Text';\n\nexport type ProgressStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: { value: number; color: MantineColor; label?: string }[];\n}\n\nfunction getCumulativeSections(\n sections: { value: number; color: MantineColor; label?: string }[]\n): { value: number; color: MantineColor; accumulated: number; label?: string }[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(\n (\n {\n className,\n value,\n color,\n size = 'md',\n radius = 'sm',\n striped = false,\n animate = false,\n label = '',\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n ...others\n }: ProgressProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map((section, index) => (\n <Box\n key={index}\n className={classes.bar}\n sx={{\n width: `${section.value}%`,\n left: `${section.accumulated}%`,\n backgroundColor: theme.fn.themeColor(section.color, 6, false),\n }}\n >\n {section.label && <Text className={classes.label}>{section.label}</Text>}\n </Box>\n ))\n : null;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {segments || (\n <div\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={value}\n aria-label={ariaLabel}\n className={classes.bar}\n style={{ width: `${value}%` }}\n >\n {label ? <Text className={classes.label}>{label}</Text> : ''}\n </div>\n )}\n </Box>\n );\n }\n);\n\nProgress.displayName = '@mantine/core/Progress';\n"],"names":[],"mappings":"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"}