@mantine/core 7.1.3 → 7.1.6

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 (339) hide show
  1. package/cjs/components/Accordion/Accordion.context.js.map +1 -1
  2. package/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/cjs/components/ActionIcon/ActionIcon.js +1 -1
  4. package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
  5. package/cjs/components/Alert/Alert.js +1 -1
  6. package/cjs/components/Alert/Alert.js.map +1 -1
  7. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  8. package/cjs/components/Badge/Badge.js +1 -1
  9. package/cjs/components/Badge/Badge.js.map +1 -1
  10. package/cjs/components/Button/Button.js +1 -1
  11. package/cjs/components/Button/Button.js.map +1 -1
  12. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
  13. package/cjs/components/Checkbox/CheckboxGroup.context.js.map +1 -1
  14. package/cjs/components/Chip/Chip.js +1 -1
  15. package/cjs/components/Chip/Chip.js.map +1 -1
  16. package/cjs/components/Chip/ChipGroup/ChipGroup.js.map +1 -1
  17. package/cjs/components/Chip/ChipGroup.context.js.map +1 -1
  18. package/cjs/components/Collapse/Collapse.js.map +1 -1
  19. package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
  20. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
  21. package/cjs/components/ColorPicker/Saturation/Saturation.js.map +1 -1
  22. package/cjs/components/ColorPicker/Swatches/Swatches.js.map +1 -1
  23. package/cjs/components/Combobox/Combobox.context.js.map +1 -1
  24. package/cjs/components/Combobox/Combobox.js.map +1 -1
  25. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.js.map +1 -1
  26. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -1
  27. package/cjs/components/Combobox/use-combobox/use-combobox.js.map +1 -1
  28. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.js.map +1 -1
  29. package/cjs/components/CopyButton/CopyButton.js.map +1 -1
  30. package/cjs/components/Dialog/Dialog.js.map +1 -1
  31. package/cjs/components/FileButton/FileButton.js.map +1 -1
  32. package/cjs/components/FileInput/FileInput.js.map +1 -1
  33. package/cjs/components/Floating/use-delayed-hover.js.map +1 -1
  34. package/cjs/components/Floating/use-floating-auto-update.js.map +1 -1
  35. package/cjs/components/Highlight/highlighter/highlighter.js +1 -1
  36. package/cjs/components/Highlight/highlighter/highlighter.js.map +1 -1
  37. package/cjs/components/HoverCard/HoverCard.context.js.map +1 -1
  38. package/cjs/components/HoverCard/HoverCard.js.map +1 -1
  39. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.js +10 -2
  40. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
  41. package/cjs/components/Image/Image.js.map +1 -1
  42. package/cjs/components/Input/InputWrapper/InputWrapper.js.map +1 -1
  43. package/cjs/components/JsonInput/JsonInput.js.map +1 -1
  44. package/cjs/components/Menu/Menu.context.js.map +1 -1
  45. package/cjs/components/Menu/Menu.js.map +1 -1
  46. package/cjs/components/ModalBase/ModalBase.context.js.map +1 -1
  47. package/cjs/components/ModalBase/ModalBase.js.map +1 -1
  48. package/cjs/components/ModalBase/use-modal.js.map +1 -1
  49. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  50. package/cjs/components/NavLink/NavLink.js +1 -1
  51. package/cjs/components/NavLink/NavLink.js.map +1 -1
  52. package/cjs/components/Notification/Notification.js.map +1 -1
  53. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  54. package/cjs/components/Pagination/Pagination.context.js.map +1 -1
  55. package/cjs/components/Pagination/Pagination.js.map +1 -1
  56. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.js.map +1 -1
  57. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  58. package/cjs/components/Pill/Pill.js.map +1 -1
  59. package/cjs/components/PinInput/PinInput.js.map +1 -1
  60. package/cjs/components/Popover/Popover.context.js.map +1 -1
  61. package/cjs/components/Popover/Popover.js.map +1 -1
  62. package/cjs/components/Popover/use-popover.js.map +1 -1
  63. package/cjs/components/Radio/Radio.js +2 -1
  64. package/cjs/components/Radio/Radio.js.map +1 -1
  65. package/cjs/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
  66. package/cjs/components/Radio/RadioGroup.context.js.map +1 -1
  67. package/cjs/components/Radio/RadioIcon.js +1 -1
  68. package/cjs/components/Radio/RadioIcon.js.map +1 -1
  69. package/cjs/components/Rating/Rating.js.map +1 -1
  70. package/cjs/components/Rating/RatingItem/RatingItem.js.map +1 -1
  71. package/cjs/components/ScrollArea/ScrollArea.context.js.map +1 -1
  72. package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
  73. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.js.map +1 -1
  74. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.js.map +1 -1
  75. package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  76. package/cjs/components/Select/Select.js +2 -1
  77. package/cjs/components/Select/Select.js.map +1 -1
  78. package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
  79. package/cjs/components/Slider/Slider/Slider.js.map +1 -1
  80. package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
  81. package/cjs/components/Spoiler/Spoiler.js +1 -1
  82. package/cjs/components/Spoiler/Spoiler.js.map +1 -1
  83. package/cjs/components/Stepper/Stepper.js.map +1 -1
  84. package/cjs/components/Switch/SwitchGroup/SwitchGroup.js.map +1 -1
  85. package/cjs/components/Switch/SwitchGroup.context.js.map +1 -1
  86. package/cjs/components/Tabs/Tabs.context.js.map +1 -1
  87. package/cjs/components/Tabs/Tabs.js.map +1 -1
  88. package/cjs/components/TagsInput/TagsInput.js +4 -0
  89. package/cjs/components/TagsInput/TagsInput.js.map +1 -1
  90. package/cjs/components/ThemeIcon/ThemeIcon.js +1 -1
  91. package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
  92. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  93. package/cjs/components/Tooltip/use-tooltip.js.map +1 -1
  94. package/cjs/components/Transition/Transition.js.map +1 -1
  95. package/cjs/components/Transition/transitions.js +8 -8
  96. package/cjs/components/Transition/transitions.js.map +1 -1
  97. package/cjs/components/Transition/use-transition.js.map +1 -1
  98. package/cjs/core/DirectionProvider/DirectionProvider.js.map +1 -1
  99. package/cjs/core/MantineProvider/Mantine.context.js.map +1 -1
  100. package/cjs/core/MantineProvider/MantineCssVariables/get-merged-variables.js.map +1 -1
  101. package/cjs/core/MantineProvider/MantineProvider.js.map +1 -1
  102. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.js +1 -1
  103. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.js.map +1 -1
  104. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js +5 -3
  105. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js.map +1 -1
  106. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.js.map +1 -1
  107. package/cjs/core/factory/create-polymorphic-component.js.map +1 -1
  108. package/cjs/core/utils/close-on-escape/close-on-escape.js.map +1 -1
  109. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.js.map +1 -1
  110. package/cjs/index.css +1 -1
  111. package/esm/components/Accordion/Accordion.context.mjs.map +1 -1
  112. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  113. package/esm/components/ActionIcon/ActionIcon.mjs +1 -1
  114. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  115. package/esm/components/Alert/Alert.mjs +1 -1
  116. package/esm/components/Alert/Alert.mjs.map +1 -1
  117. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  118. package/esm/components/Badge/Badge.mjs +1 -1
  119. package/esm/components/Badge/Badge.mjs.map +1 -1
  120. package/esm/components/Button/Button.mjs +1 -1
  121. package/esm/components/Button/Button.mjs.map +1 -1
  122. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  123. package/esm/components/Checkbox/CheckboxGroup.context.mjs.map +1 -1
  124. package/esm/components/Chip/Chip.mjs +1 -1
  125. package/esm/components/Chip/Chip.mjs.map +1 -1
  126. package/esm/components/Chip/ChipGroup/ChipGroup.mjs.map +1 -1
  127. package/esm/components/Chip/ChipGroup.context.mjs.map +1 -1
  128. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  129. package/esm/components/ColorPicker/ColorPicker.mjs.map +1 -1
  130. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  131. package/esm/components/ColorPicker/Saturation/Saturation.mjs.map +1 -1
  132. package/esm/components/ColorPicker/Swatches/Swatches.mjs.map +1 -1
  133. package/esm/components/Combobox/Combobox.context.mjs.map +1 -1
  134. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  135. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
  136. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  137. package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
  138. package/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs.map +1 -1
  139. package/esm/components/CopyButton/CopyButton.mjs.map +1 -1
  140. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  141. package/esm/components/FileButton/FileButton.mjs.map +1 -1
  142. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  143. package/esm/components/Floating/use-delayed-hover.mjs.map +1 -1
  144. package/esm/components/Floating/use-floating-auto-update.mjs.map +1 -1
  145. package/esm/components/Highlight/highlighter/highlighter.mjs +1 -1
  146. package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
  147. package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
  148. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  149. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +10 -2
  150. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  151. package/esm/components/Image/Image.mjs.map +1 -1
  152. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  153. package/esm/components/JsonInput/JsonInput.mjs.map +1 -1
  154. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  155. package/esm/components/Menu/Menu.mjs.map +1 -1
  156. package/esm/components/ModalBase/ModalBase.context.mjs.map +1 -1
  157. package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
  158. package/esm/components/ModalBase/use-modal.mjs.map +1 -1
  159. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  160. package/esm/components/NavLink/NavLink.mjs +1 -1
  161. package/esm/components/NavLink/NavLink.mjs.map +1 -1
  162. package/esm/components/Notification/Notification.mjs.map +1 -1
  163. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  164. package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
  165. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  166. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  167. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  168. package/esm/components/Pill/Pill.mjs.map +1 -1
  169. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  170. package/esm/components/Popover/Popover.context.mjs.map +1 -1
  171. package/esm/components/Popover/Popover.mjs.map +1 -1
  172. package/esm/components/Popover/use-popover.mjs.map +1 -1
  173. package/esm/components/Radio/Radio.mjs +2 -1
  174. package/esm/components/Radio/Radio.mjs.map +1 -1
  175. package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
  176. package/esm/components/Radio/RadioGroup.context.mjs.map +1 -1
  177. package/esm/components/Radio/RadioIcon.mjs +1 -1
  178. package/esm/components/Radio/RadioIcon.mjs.map +1 -1
  179. package/esm/components/Rating/Rating.mjs.map +1 -1
  180. package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
  181. package/esm/components/ScrollArea/ScrollArea.context.mjs.map +1 -1
  182. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  183. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.mjs.map +1 -1
  184. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
  185. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  186. package/esm/components/Select/Select.mjs +2 -1
  187. package/esm/components/Select/Select.mjs.map +1 -1
  188. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  189. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  190. package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
  191. package/esm/components/Spoiler/Spoiler.mjs +1 -1
  192. package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
  193. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  194. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
  195. package/esm/components/Switch/SwitchGroup.context.mjs.map +1 -1
  196. package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
  197. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  198. package/esm/components/TagsInput/TagsInput.mjs +4 -0
  199. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  200. package/esm/components/ThemeIcon/ThemeIcon.mjs +1 -1
  201. package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
  202. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  203. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  204. package/esm/components/Transition/Transition.mjs.map +1 -1
  205. package/esm/components/Transition/transitions.mjs +8 -8
  206. package/esm/components/Transition/transitions.mjs.map +1 -1
  207. package/esm/components/Transition/use-transition.mjs.map +1 -1
  208. package/esm/core/DirectionProvider/DirectionProvider.mjs.map +1 -1
  209. package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
  210. package/esm/core/MantineProvider/MantineCssVariables/get-merged-variables.mjs.map +1 -1
  211. package/esm/core/MantineProvider/MantineProvider.mjs.map +1 -1
  212. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +1 -1
  213. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
  214. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs +5 -3
  215. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
  216. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
  217. package/esm/core/factory/create-polymorphic-component.mjs.map +1 -1
  218. package/esm/core/utils/close-on-escape/close-on-escape.mjs.map +1 -1
  219. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
  220. package/esm/index.css +1 -1
  221. package/esm/index.layer.css +1 -1
  222. package/esm/styles/Button.css +1 -1
  223. package/esm/styles/Button.layer.css +1 -1
  224. package/esm/styles/Combobox.css +1 -1
  225. package/esm/styles/Combobox.layer.css +1 -1
  226. package/esm/styles/Radio.css +1 -1
  227. package/esm/styles/Radio.layer.css +1 -1
  228. package/esm/styles/Rating.css +1 -1
  229. package/esm/styles/Rating.layer.css +1 -1
  230. package/esm/styles/Table.css +1 -1
  231. package/esm/styles/Table.layer.css +1 -1
  232. package/lib/components/Accordion/Accordion.context.d.ts +4 -4
  233. package/lib/components/Accordion/Accordion.d.ts +1 -1
  234. package/lib/components/ActionIcon/ActionIcon.d.ts +2 -2
  235. package/lib/components/Alert/Alert.d.ts +1 -1
  236. package/lib/components/Anchor/Anchor.d.ts +2 -2
  237. package/lib/components/AppShell/AppShellSection/AppShellSection.d.ts +2 -2
  238. package/lib/components/Autocomplete/Autocomplete.d.ts +1 -1
  239. package/lib/components/Avatar/Avatar.d.ts +2 -2
  240. package/lib/components/BackgroundImage/BackgroundImage.d.ts +2 -2
  241. package/lib/components/Badge/Badge.d.ts +3 -3
  242. package/lib/components/Button/Button.d.ts +2 -2
  243. package/lib/components/Card/Card.d.ts +2 -2
  244. package/lib/components/Card/CardSection/CardSection.d.ts +2 -2
  245. package/lib/components/Center/Center.d.ts +2 -2
  246. package/lib/components/Checkbox/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  247. package/lib/components/Checkbox/CheckboxGroup.context.d.ts +1 -1
  248. package/lib/components/Chip/Chip.d.ts +1 -1
  249. package/lib/components/Chip/ChipGroup/ChipGroup.d.ts +1 -1
  250. package/lib/components/Chip/ChipGroup.context.d.ts +2 -2
  251. package/lib/components/CloseButton/CloseButton.d.ts +2 -2
  252. package/lib/components/Collapse/Collapse.d.ts +1 -1
  253. package/lib/components/ColorPicker/ColorPicker.d.ts +3 -3
  254. package/lib/components/ColorPicker/ColorSlider/ColorSlider.d.ts +4 -4
  255. package/lib/components/ColorPicker/Saturation/Saturation.d.ts +4 -4
  256. package/lib/components/ColorPicker/Swatches/Swatches.d.ts +1 -1
  257. package/lib/components/ColorSwatch/ColorSwatch.d.ts +2 -2
  258. package/lib/components/Combobox/Combobox.context.d.ts +1 -1
  259. package/lib/components/Combobox/Combobox.d.ts +1 -1
  260. package/lib/components/Combobox/Combobox.types.d.ts +3 -3
  261. package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +1 -1
  262. package/lib/components/Combobox/use-combobox/use-combobox.d.ts +17 -17
  263. package/lib/components/Combobox/use-combobox/use-virtualized-combobox.d.ts +7 -7
  264. package/lib/components/CopyButton/CopyButton.d.ts +3 -3
  265. package/lib/components/Dialog/Dialog.d.ts +1 -1
  266. package/lib/components/FileButton/FileButton.d.ts +4 -4
  267. package/lib/components/FileInput/FileInput.d.ts +1 -1
  268. package/lib/components/Floating/use-delayed-hover.d.ts +2 -2
  269. package/lib/components/Floating/use-floating-auto-update.d.ts +1 -1
  270. package/lib/components/Highlight/Highlight.d.ts +2 -2
  271. package/lib/components/HoverCard/HoverCard.context.d.ts +2 -2
  272. package/lib/components/HoverCard/HoverCard.d.ts +2 -2
  273. package/lib/components/HoverCard/HoverCardTarget/HoverCardTarget.d.ts +2 -0
  274. package/lib/components/Image/Image.d.ts +4 -3
  275. package/lib/components/Input/Input.d.ts +2 -2
  276. package/lib/components/Input/InputWrapper/InputWrapper.d.ts +1 -1
  277. package/lib/components/InputBase/InputBase.d.ts +2 -2
  278. package/lib/components/JsonInput/JsonInput.d.ts +1 -1
  279. package/lib/components/Menu/Menu.context.d.ts +6 -6
  280. package/lib/components/Menu/Menu.d.ts +5 -5
  281. package/lib/components/Menu/MenuItem/MenuItem.d.ts +2 -2
  282. package/lib/components/ModalBase/ModalBase.context.d.ts +5 -5
  283. package/lib/components/ModalBase/ModalBase.d.ts +1 -1
  284. package/lib/components/ModalBase/use-modal.d.ts +1 -1
  285. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -2
  286. package/lib/components/NavLink/NavLink.d.ts +4 -4
  287. package/lib/components/Notification/Notification.d.ts +1 -1
  288. package/lib/components/NumberInput/NumberInput.d.ts +4 -4
  289. package/lib/components/Overlay/Overlay.d.ts +2 -2
  290. package/lib/components/Pagination/Pagination.context.d.ts +6 -6
  291. package/lib/components/Pagination/Pagination.d.ts +1 -1
  292. package/lib/components/Pagination/PaginationEdges/PaginationEdges.d.ts +10 -10
  293. package/lib/components/Pagination/PaginationRoot/PaginationRoot.d.ts +6 -6
  294. package/lib/components/Paper/Paper.d.ts +2 -2
  295. package/lib/components/PasswordInput/PasswordInput.d.ts +1 -1
  296. package/lib/components/Pill/Pill.d.ts +1 -1
  297. package/lib/components/PinInput/PinInput.d.ts +2 -2
  298. package/lib/components/Popover/Popover.context.d.ts +6 -6
  299. package/lib/components/Popover/Popover.d.ts +4 -4
  300. package/lib/components/Popover/use-popover.d.ts +4 -4
  301. package/lib/components/Radio/RadioGroup/RadioGroup.d.ts +1 -1
  302. package/lib/components/Radio/RadioGroup.context.d.ts +1 -1
  303. package/lib/components/Rating/Rating.d.ts +2 -2
  304. package/lib/components/Rating/RatingItem/RatingItem.d.ts +2 -2
  305. package/lib/components/ScrollArea/ScrollArea.context.d.ts +8 -8
  306. package/lib/components/ScrollArea/ScrollArea.d.ts +2 -2
  307. package/lib/components/ScrollArea/ScrollArea.types.d.ts +7 -7
  308. package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.d.ts +5 -5
  309. package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.d.ts +4 -4
  310. package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  311. package/lib/components/Select/Select.d.ts +2 -2
  312. package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +3 -3
  313. package/lib/components/Slider/Slider/Slider.d.ts +3 -3
  314. package/lib/components/Slider/Thumb/Thumb.d.ts +4 -4
  315. package/lib/components/Stepper/Stepper.d.ts +1 -1
  316. package/lib/components/Switch/SwitchGroup/SwitchGroup.d.ts +1 -1
  317. package/lib/components/Switch/SwitchGroup.context.d.ts +1 -1
  318. package/lib/components/Tabs/Tabs.context.d.ts +3 -3
  319. package/lib/components/Tabs/Tabs.d.ts +1 -1
  320. package/lib/components/TagsInput/TagsInput.d.ts +3 -3
  321. package/lib/components/Text/Text.d.ts +2 -2
  322. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  323. package/lib/components/Tooltip/use-tooltip.d.ts +1 -1
  324. package/lib/components/Transition/Transition.d.ts +1 -1
  325. package/lib/components/Transition/use-transition.d.ts +4 -4
  326. package/lib/components/UnstyledButton/UnstyledButton.d.ts +2 -2
  327. package/lib/core/Box/Box.d.ts +2 -2
  328. package/lib/core/DirectionProvider/DirectionProvider.d.ts +2 -2
  329. package/lib/core/MantineProvider/Mantine.context.d.ts +5 -5
  330. package/lib/core/MantineProvider/MantineCssVariables/get-merged-variables.d.ts +1 -1
  331. package/lib/core/MantineProvider/MantineProvider.d.ts +2 -2
  332. package/lib/core/MantineProvider/color-scheme-managers/types.d.ts +5 -5
  333. package/lib/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.d.ts +3 -1
  334. package/lib/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.d.ts +1 -1
  335. package/lib/core/factory/create-polymorphic-component.d.ts +4 -4
  336. package/lib/core/factory/polymorphic-factory.d.ts +2 -2
  337. package/lib/core/utils/close-on-escape/close-on-escape.d.ts +2 -2
  338. package/lib/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.d.ts +1 -1
  339. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineSize,\n getSize,\n getSpacing,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { AlphaSlider } from './AlphaSlider/AlphaSlider';\nimport { HueSlider } from './HueSlider/HueSlider';\nimport { Saturation } from './Saturation/Saturation';\nimport { Swatches } from './Swatches/Swatches';\nimport { ColorFormat, HsvaColor } from './ColorPicker.types';\nimport { convertHsvaTo, isColorValid, parseColor } from './converters';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorPickerProvider } from './ColorPicker.context';\nimport classes from './ColorPicker.module.css';\n\nexport type ColorPickerStylesNames =\n | 'wrapper'\n | 'preview'\n | 'body'\n | 'sliders'\n | 'slider'\n | 'sliderOverlay'\n | 'thumb'\n | 'saturation'\n | 'thumb'\n | 'saturationOverlay'\n | 'thumb'\n | 'swatches'\n | 'swatch';\n\nexport type ColorPickerCssVariables = {\n wrapper:\n | '--cp-preview-size'\n | '--cp-width'\n | '--cp-body-spacing'\n | '--cp-swatch-size'\n | '--cp-thumb-size'\n | '--cp-saturation-height';\n};\n\nexport interface __ColorPickerProps {\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when color changes */\n onChange?(value: string): void;\n\n /** Called when user stops dragging or changes value with arrow keys */\n onChangeEnd?(value: string): void;\n\n /** Color format, `'hex'` by default */\n format?: ColorFormat;\n\n /** Determines whether color picker should be displayed, `true` by default */\n withPicker?: boolean;\n\n /** Color swatches */\n swatches?: string[];\n\n /** Number of swatches displayed in one row, `7` by default */\n swatchesPerRow?: number;\n\n /** Controls size of hue, alpha and saturation sliders, `'md'` by default */\n size?: MantineSize | (string & {});\n}\n\nexport interface ColorPickerProps\n extends BoxProps,\n __ColorPickerProps,\n StylesApiProps<ColorPickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n __staticSelector?: string;\n\n /** Determines whether component should take 100% width of its container, `false` by default */\n fullWidth?: boolean;\n\n /** Determines whether interactive elements should be focusable, `true` by default */\n focusable?: boolean;\n\n /** Saturation slider `aria-label` */\n saturationLabel?: string;\n\n /** Hue slider `aria-label` */\n hueLabel?: string;\n\n /** Alpha slider `aria-label` */\n alphaLabel?: string;\n\n /** Called when one of the color swatches is clicked */\n onColorSwatchClick?(color: string): void;\n}\n\nexport type ColorPickerFactory = Factory<{\n props: ColorPickerProps;\n ref: HTMLDivElement;\n stylesNames: ColorPickerStylesNames;\n vars: ColorPickerCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorPickerProps> = {\n swatchesPerRow: 7,\n withPicker: true,\n focusable: true,\n __staticSelector: 'ColorPicker',\n};\n\nconst varsResolver = createVarsResolver<ColorPickerFactory>((_, { size, swatchesPerRow }) => ({\n wrapper: {\n '--cp-preview-size': getSize(size, 'cp-preview-size'),\n '--cp-width': getSize(size, 'cp-width'),\n '--cp-body-spacing': getSpacing(size),\n '--cp-swatch-size': `${100 / swatchesPerRow!}%`,\n '--cp-thumb-size': getSize(size, 'cp-thumb-size'),\n '--cp-saturation-height': getSize(size, 'cp-saturation-height'),\n },\n}));\n\nexport const ColorPicker = factory<ColorPickerFactory>((_props, ref) => {\n const props = useProps('ColorPicker', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n format,\n value,\n defaultValue,\n onChange,\n onChangeEnd,\n withPicker,\n size,\n saturationLabel,\n hueLabel,\n alphaLabel,\n focusable,\n swatches,\n swatchesPerRow,\n fullWidth,\n onColorSwatchClick,\n __staticSelector,\n ...others\n } = props;\n\n const getStyles = useStyles<ColorPickerFactory>({\n name: __staticSelector!,\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const formatRef = useRef(format);\n const valueRef = useRef<string>();\n const scrubTimeoutRef = useRef<number>(-1);\n const isScrubbingRef = useRef(false);\n const withAlpha = format === 'hexa' || format === 'rgba' || format === 'hsla';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '#FFFFFF',\n onChange,\n });\n\n const [parsed, setParsed] = useState<HsvaColor>(parseColor(_value));\n\n const startScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n isScrubbingRef.current = true;\n };\n\n const stopScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n scrubTimeoutRef.current = window.setTimeout(() => {\n isScrubbingRef.current = false;\n }, 200);\n };\n\n const handleChange = (color: Partial<HsvaColor>) => {\n setParsed((current) => {\n const next = { ...current, ...color };\n valueRef.current = convertHsvaTo(formatRef.current!, next);\n return next;\n });\n\n setValue(valueRef.current!);\n };\n\n useDidUpdate(() => {\n if (isColorValid(value!) && !isScrubbingRef.current) {\n setParsed(parseColor(value!));\n }\n }, [value]);\n\n useDidUpdate(() => {\n formatRef.current = format;\n setValue(convertHsvaTo(format!, parsed));\n }, [format]);\n\n return (\n <ColorPickerProvider value={{ getStyles, unstyled }}>\n <Box\n ref={ref}\n {...getStyles('wrapper')}\n size={size}\n mod={{ 'full-width': fullWidth }}\n {...others}\n >\n {withPicker && (\n <>\n <Saturation\n value={parsed}\n onChange={handleChange}\n onChangeEnd={({ s, v }) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, s: s!, v: v! }))\n }\n color={_value}\n size={size!}\n focusable={focusable}\n saturationLabel={saturationLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n <div {...getStyles('body')}>\n <div {...getStyles('sliders')}>\n <HueSlider\n value={parsed.h}\n onChange={(h) => handleChange({ h })}\n onChangeEnd={(h) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, h }))\n }\n size={size}\n focusable={focusable}\n aria-label={hueLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n {withAlpha && (\n <AlphaSlider\n value={parsed.a}\n onChange={(a) => handleChange({ a })}\n onChangeEnd={(a) => {\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, a }));\n }}\n size={size}\n color={convertHsvaTo('hex', parsed)}\n focusable={focusable}\n aria-label={alphaLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n )}\n </div>\n\n {withAlpha && <ColorSwatch color={_value} radius=\"sm\" {...getStyles('preview')} />}\n </div>\n </>\n )}\n\n {Array.isArray(swatches) && (\n <Swatches\n data={swatches}\n swatchesPerRow={swatchesPerRow}\n focusable={focusable}\n setValue={setValue}\n onChangeEnd={(color) => {\n const convertedColor = convertHsvaTo(format!, parseColor(color));\n onColorSwatchClick?.(convertedColor);\n onChangeEnd?.(convertedColor);\n if (!controlled) {\n setParsed(parseColor(color));\n }\n }}\n />\n )}\n </Box>\n </ColorPickerProvider>\n );\n});\n\nColorPicker.classes = classes;\nColorPicker.displayName = '@mantine/core/ColorPicker';\n"],"names":["createVarsResolver","getSize","getSpacing","factory","useProps","useStyles","classes","useRef","useUncontrolled","useState","parseColor","convertHsvaTo","useDidUpdate","isColorValid","React","ColorPickerProvider","Box","Saturation","HueSlider","AlphaSlider","ColorSwatch","Swatches"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineSize,\n getSize,\n getSpacing,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { AlphaSlider } from './AlphaSlider/AlphaSlider';\nimport { HueSlider } from './HueSlider/HueSlider';\nimport { Saturation } from './Saturation/Saturation';\nimport { Swatches } from './Swatches/Swatches';\nimport { ColorFormat, HsvaColor } from './ColorPicker.types';\nimport { convertHsvaTo, isColorValid, parseColor } from './converters';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorPickerProvider } from './ColorPicker.context';\nimport classes from './ColorPicker.module.css';\n\nexport type ColorPickerStylesNames =\n | 'wrapper'\n | 'preview'\n | 'body'\n | 'sliders'\n | 'slider'\n | 'sliderOverlay'\n | 'thumb'\n | 'saturation'\n | 'thumb'\n | 'saturationOverlay'\n | 'thumb'\n | 'swatches'\n | 'swatch';\n\nexport type ColorPickerCssVariables = {\n wrapper:\n | '--cp-preview-size'\n | '--cp-width'\n | '--cp-body-spacing'\n | '--cp-swatch-size'\n | '--cp-thumb-size'\n | '--cp-saturation-height';\n};\n\nexport interface __ColorPickerProps {\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when color changes */\n onChange?: (value: string) => void;\n\n /** Called when user stops dragging or changes value with arrow keys */\n onChangeEnd?: (value: string) => void;\n\n /** Color format, `'hex'` by default */\n format?: ColorFormat;\n\n /** Determines whether color picker should be displayed, `true` by default */\n withPicker?: boolean;\n\n /** Color swatches */\n swatches?: string[];\n\n /** Number of swatches displayed in one row, `7` by default */\n swatchesPerRow?: number;\n\n /** Controls size of hue, alpha and saturation sliders, `'md'` by default */\n size?: MantineSize | (string & {});\n}\n\nexport interface ColorPickerProps\n extends BoxProps,\n __ColorPickerProps,\n StylesApiProps<ColorPickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n __staticSelector?: string;\n\n /** Determines whether component should take 100% width of its container, `false` by default */\n fullWidth?: boolean;\n\n /** Determines whether interactive elements should be focusable, `true` by default */\n focusable?: boolean;\n\n /** Saturation slider `aria-label` */\n saturationLabel?: string;\n\n /** Hue slider `aria-label` */\n hueLabel?: string;\n\n /** Alpha slider `aria-label` */\n alphaLabel?: string;\n\n /** Called when one of the color swatches is clicked */\n onColorSwatchClick?: (color: string) => void;\n}\n\nexport type ColorPickerFactory = Factory<{\n props: ColorPickerProps;\n ref: HTMLDivElement;\n stylesNames: ColorPickerStylesNames;\n vars: ColorPickerCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorPickerProps> = {\n swatchesPerRow: 7,\n withPicker: true,\n focusable: true,\n __staticSelector: 'ColorPicker',\n};\n\nconst varsResolver = createVarsResolver<ColorPickerFactory>((_, { size, swatchesPerRow }) => ({\n wrapper: {\n '--cp-preview-size': getSize(size, 'cp-preview-size'),\n '--cp-width': getSize(size, 'cp-width'),\n '--cp-body-spacing': getSpacing(size),\n '--cp-swatch-size': `${100 / swatchesPerRow!}%`,\n '--cp-thumb-size': getSize(size, 'cp-thumb-size'),\n '--cp-saturation-height': getSize(size, 'cp-saturation-height'),\n },\n}));\n\nexport const ColorPicker = factory<ColorPickerFactory>((_props, ref) => {\n const props = useProps('ColorPicker', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n format,\n value,\n defaultValue,\n onChange,\n onChangeEnd,\n withPicker,\n size,\n saturationLabel,\n hueLabel,\n alphaLabel,\n focusable,\n swatches,\n swatchesPerRow,\n fullWidth,\n onColorSwatchClick,\n __staticSelector,\n ...others\n } = props;\n\n const getStyles = useStyles<ColorPickerFactory>({\n name: __staticSelector!,\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const formatRef = useRef(format);\n const valueRef = useRef<string>();\n const scrubTimeoutRef = useRef<number>(-1);\n const isScrubbingRef = useRef(false);\n const withAlpha = format === 'hexa' || format === 'rgba' || format === 'hsla';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '#FFFFFF',\n onChange,\n });\n\n const [parsed, setParsed] = useState<HsvaColor>(parseColor(_value));\n\n const startScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n isScrubbingRef.current = true;\n };\n\n const stopScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n scrubTimeoutRef.current = window.setTimeout(() => {\n isScrubbingRef.current = false;\n }, 200);\n };\n\n const handleChange = (color: Partial<HsvaColor>) => {\n setParsed((current) => {\n const next = { ...current, ...color };\n valueRef.current = convertHsvaTo(formatRef.current!, next);\n return next;\n });\n\n setValue(valueRef.current!);\n };\n\n useDidUpdate(() => {\n if (isColorValid(value!) && !isScrubbingRef.current) {\n setParsed(parseColor(value!));\n }\n }, [value]);\n\n useDidUpdate(() => {\n formatRef.current = format;\n setValue(convertHsvaTo(format!, parsed));\n }, [format]);\n\n return (\n <ColorPickerProvider value={{ getStyles, unstyled }}>\n <Box\n ref={ref}\n {...getStyles('wrapper')}\n size={size}\n mod={{ 'full-width': fullWidth }}\n {...others}\n >\n {withPicker && (\n <>\n <Saturation\n value={parsed}\n onChange={handleChange}\n onChangeEnd={({ s, v }) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, s: s!, v: v! }))\n }\n color={_value}\n size={size!}\n focusable={focusable}\n saturationLabel={saturationLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n <div {...getStyles('body')}>\n <div {...getStyles('sliders')}>\n <HueSlider\n value={parsed.h}\n onChange={(h) => handleChange({ h })}\n onChangeEnd={(h) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, h }))\n }\n size={size}\n focusable={focusable}\n aria-label={hueLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n {withAlpha && (\n <AlphaSlider\n value={parsed.a}\n onChange={(a) => handleChange({ a })}\n onChangeEnd={(a) => {\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, a }));\n }}\n size={size}\n color={convertHsvaTo('hex', parsed)}\n focusable={focusable}\n aria-label={alphaLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n )}\n </div>\n\n {withAlpha && <ColorSwatch color={_value} radius=\"sm\" {...getStyles('preview')} />}\n </div>\n </>\n )}\n\n {Array.isArray(swatches) && (\n <Swatches\n data={swatches}\n swatchesPerRow={swatchesPerRow}\n focusable={focusable}\n setValue={setValue}\n onChangeEnd={(color) => {\n const convertedColor = convertHsvaTo(format!, parseColor(color));\n onColorSwatchClick?.(convertedColor);\n onChangeEnd?.(convertedColor);\n if (!controlled) {\n setParsed(parseColor(color));\n }\n }}\n />\n )}\n </Box>\n </ColorPickerProvider>\n );\n});\n\nColorPicker.classes = classes;\nColorPicker.displayName = '@mantine/core/ColorPicker';\n"],"names":["createVarsResolver","getSize","getSpacing","factory","useProps","useStyles","classes","useRef","useUncontrolled","useState","parseColor","convertHsvaTo","useDidUpdate","isColorValid","React","ColorPickerProvider","Box","Saturation","HueSlider","AlphaSlider","ColorSwatch","Swatches"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSlider.js","sources":["../../../../src/components/ColorPicker/ColorSlider/ColorSlider.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n UseMovePosition,\n clampUseMovePosition,\n useDidUpdate,\n useMergedRef,\n useMove,\n} from '@mantine/hooks';\nimport { Box, ElementProps, MantineSize, useMantineTheme, rem } from '../../../core';\nimport { Thumb } from '../Thumb/Thumb';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface __ColorSliderProps extends ElementProps<'div', 'onChange'> {\n value: number;\n onChange?(value: number): void;\n onChangeEnd?(value: number): void;\n onScrubStart?(): void;\n onScrubEnd?(): void;\n size?: MantineSize | (string & {});\n focusable?: boolean;\n}\n\nexport interface ColorSliderProps extends __ColorSliderProps {\n maxValue: number;\n overlays: React.CSSProperties[];\n round: boolean;\n thumbColor?: string;\n}\n\nexport const ColorSlider = forwardRef<HTMLDivElement, ColorSliderProps>((props, ref) => {\n const {\n className,\n onChange,\n onChangeEnd,\n maxValue,\n round,\n size = 'md',\n focusable = true,\n value,\n overlays,\n thumbColor = 'transparent',\n onScrubStart,\n onScrubEnd,\n ...others\n } = props;\n\n const { getStyles } = useColorPickerContext();\n\n const theme = useMantineTheme();\n const [position, setPosition] = useState({ y: 0, x: value / maxValue });\n const positionRef = useRef(position);\n const getChangeValue = (val: number) => (round ? Math.round(val * maxValue) : val * maxValue);\n const { ref: sliderRef } = useMove(\n ({ x, y }) => {\n positionRef.current = { x, y };\n onChange?.(getChangeValue(x));\n },\n {\n onScrubEnd: () => {\n const { x } = positionRef.current;\n onChangeEnd?.(getChangeValue(x));\n onScrubEnd?.();\n },\n onScrubStart,\n }\n );\n\n useDidUpdate(() => {\n setPosition({ y: 0, x: value / maxValue });\n }, [value]);\n\n const handleArrow = (event: React.KeyboardEvent<HTMLDivElement>, pos: UseMovePosition) => {\n event.preventDefault();\n const _position = clampUseMovePosition(pos);\n onChange?.(getChangeValue(_position.x));\n onChangeEnd?.(getChangeValue(_position.x));\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowRight': {\n handleArrow(event, { x: position.x + 0.05, y: position.y });\n break;\n }\n\n case 'ArrowLeft': {\n handleArrow(event, { x: position.x - 0.05, y: position.y });\n break;\n }\n }\n };\n\n const layers = overlays.map((overlay, index) => (\n <div {...getStyles('sliderOverlay')} style={overlay} key={index} />\n ));\n\n return (\n <Box\n {...others}\n ref={useMergedRef(sliderRef, ref)}\n {...getStyles('slider')}\n role=\"slider\"\n aria-valuenow={value}\n aria-valuemax={maxValue}\n aria-valuemin={0}\n tabIndex={focusable ? 0 : -1}\n onKeyDown={handleKeyDown}\n data-focus-ring={theme.focusRing}\n >\n {layers}\n\n <Thumb\n position={position}\n size={size!}\n {...getStyles('thumb', { style: { top: rem(1), background: thumbColor } })}\n />\n </Box>\n );\n});\n\nColorSlider.displayName = '@mantine/core/ColorSlider';\n"],"names":["forwardRef","useColorPickerContext","useMantineTheme","useState","useRef","useMove","useDidUpdate","clampUseMovePosition","React","Box","useMergedRef","Thumb","rem"],"mappings":"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"}
1
+ {"version":3,"file":"ColorSlider.js","sources":["../../../../src/components/ColorPicker/ColorSlider/ColorSlider.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n UseMovePosition,\n clampUseMovePosition,\n useDidUpdate,\n useMergedRef,\n useMove,\n} from '@mantine/hooks';\nimport { Box, ElementProps, MantineSize, useMantineTheme, rem } from '../../../core';\nimport { Thumb } from '../Thumb/Thumb';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface __ColorSliderProps extends ElementProps<'div', 'onChange'> {\n value: number;\n onChange?: (value: number) => void;\n onChangeEnd?: (value: number) => void;\n onScrubStart?: () => void;\n onScrubEnd?: () => void;\n size?: MantineSize | (string & {});\n focusable?: boolean;\n}\n\nexport interface ColorSliderProps extends __ColorSliderProps {\n maxValue: number;\n overlays: React.CSSProperties[];\n round: boolean;\n thumbColor?: string;\n}\n\nexport const ColorSlider = forwardRef<HTMLDivElement, ColorSliderProps>((props, ref) => {\n const {\n className,\n onChange,\n onChangeEnd,\n maxValue,\n round,\n size = 'md',\n focusable = true,\n value,\n overlays,\n thumbColor = 'transparent',\n onScrubStart,\n onScrubEnd,\n ...others\n } = props;\n\n const { getStyles } = useColorPickerContext();\n\n const theme = useMantineTheme();\n const [position, setPosition] = useState({ y: 0, x: value / maxValue });\n const positionRef = useRef(position);\n const getChangeValue = (val: number) => (round ? Math.round(val * maxValue) : val * maxValue);\n const { ref: sliderRef } = useMove(\n ({ x, y }) => {\n positionRef.current = { x, y };\n onChange?.(getChangeValue(x));\n },\n {\n onScrubEnd: () => {\n const { x } = positionRef.current;\n onChangeEnd?.(getChangeValue(x));\n onScrubEnd?.();\n },\n onScrubStart,\n }\n );\n\n useDidUpdate(() => {\n setPosition({ y: 0, x: value / maxValue });\n }, [value]);\n\n const handleArrow = (event: React.KeyboardEvent<HTMLDivElement>, pos: UseMovePosition) => {\n event.preventDefault();\n const _position = clampUseMovePosition(pos);\n onChange?.(getChangeValue(_position.x));\n onChangeEnd?.(getChangeValue(_position.x));\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowRight': {\n handleArrow(event, { x: position.x + 0.05, y: position.y });\n break;\n }\n\n case 'ArrowLeft': {\n handleArrow(event, { x: position.x - 0.05, y: position.y });\n break;\n }\n }\n };\n\n const layers = overlays.map((overlay, index) => (\n <div {...getStyles('sliderOverlay')} style={overlay} key={index} />\n ));\n\n return (\n <Box\n {...others}\n ref={useMergedRef(sliderRef, ref)}\n {...getStyles('slider')}\n role=\"slider\"\n aria-valuenow={value}\n aria-valuemax={maxValue}\n aria-valuemin={0}\n tabIndex={focusable ? 0 : -1}\n onKeyDown={handleKeyDown}\n data-focus-ring={theme.focusRing}\n >\n {layers}\n\n <Thumb\n position={position}\n size={size!}\n {...getStyles('thumb', { style: { top: rem(1), background: thumbColor } })}\n />\n </Box>\n );\n});\n\nColorSlider.displayName = '@mantine/core/ColorSlider';\n"],"names":["forwardRef","useColorPickerContext","useMantineTheme","useState","useRef","useMove","useDidUpdate","clampUseMovePosition","React","Box","useMergedRef","Thumb","rem"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Saturation.js","sources":["../../../../src/components/ColorPicker/Saturation/Saturation.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { UseMovePosition, clampUseMovePosition, useMove } from '@mantine/hooks';\nimport { Box, ElementProps, MantineSize } from '../../../core';\nimport { HsvaColor } from '../ColorPicker.types';\nimport { convertHsvaTo } from '../converters';\nimport { Thumb } from '../Thumb/Thumb';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface SaturationProps extends ElementProps<'div', 'onChange'> {\n value: HsvaColor;\n onChange(color: Partial<HsvaColor>): void;\n onChangeEnd(color: Partial<HsvaColor>): void;\n onScrubStart?(): void;\n onScrubEnd?(): void;\n saturationLabel?: string;\n size: MantineSize | (string & {});\n color: string;\n focusable?: boolean;\n}\n\nexport function Saturation({\n className,\n onChange,\n onChangeEnd,\n value,\n saturationLabel,\n focusable = true,\n size,\n color,\n onScrubStart,\n onScrubEnd,\n ...others\n}: SaturationProps) {\n const { getStyles } = useColorPickerContext();\n\n const [position, setPosition] = useState({ x: value.s / 100, y: 1 - value.v / 100 });\n const positionRef = useRef(position);\n\n const { ref } = useMove(\n ({ x, y }) => {\n positionRef.current = { x, y };\n onChange({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });\n },\n {\n onScrubEnd: () => {\n const { x, y } = positionRef.current;\n onChangeEnd({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });\n onScrubEnd?.();\n },\n onScrubStart,\n }\n );\n\n useEffect(() => {\n setPosition({ x: value.s / 100, y: 1 - value.v / 100 });\n }, [value.s, value.v]);\n\n const handleArrow = (event: React.KeyboardEvent<HTMLDivElement>, pos: UseMovePosition) => {\n event.preventDefault();\n const _position = clampUseMovePosition(pos);\n onChange({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });\n onChangeEnd({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowUp': {\n handleArrow(event, { y: position.y - 0.05, x: position.x });\n break;\n }\n\n case 'ArrowDown': {\n handleArrow(event, { y: position.y + 0.05, x: position.x });\n break;\n }\n\n case 'ArrowRight': {\n handleArrow(event, { x: position.x + 0.05, y: position.y });\n break;\n }\n\n case 'ArrowLeft': {\n handleArrow(event, { x: position.x - 0.05, y: position.y });\n break;\n }\n }\n };\n\n return (\n <Box\n {...getStyles('saturation')}\n ref={ref as any}\n {...others}\n role=\"slider\"\n aria-label={saturationLabel}\n aria-valuenow={position.x}\n aria-valuetext={convertHsvaTo('rgba', value)}\n tabIndex={focusable ? 0 : -1}\n onKeyDown={handleKeyDown}\n >\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundColor: `hsl(${value.h}, 100%, 50%)` },\n })}\n />\n\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundImage: 'linear-gradient(90deg, #fff, transparent)' },\n })}\n />\n\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundImage: 'linear-gradient(0deg, #000, transparent)' },\n })}\n />\n\n <Thumb\n position={position}\n size={size}\n {...getStyles('thumb', { style: { backgroundColor: color } })}\n />\n </Box>\n );\n}\n\nSaturation.displayName = '@mantine/core/Saturation';\n"],"names":["useColorPickerContext","useState","useRef","useMove","useEffect","clampUseMovePosition","React","Box","convertHsvaTo","Thumb"],"mappings":"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"}
1
+ {"version":3,"file":"Saturation.js","sources":["../../../../src/components/ColorPicker/Saturation/Saturation.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { UseMovePosition, clampUseMovePosition, useMove } from '@mantine/hooks';\nimport { Box, ElementProps, MantineSize } from '../../../core';\nimport { HsvaColor } from '../ColorPicker.types';\nimport { convertHsvaTo } from '../converters';\nimport { Thumb } from '../Thumb/Thumb';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface SaturationProps extends ElementProps<'div', 'onChange'> {\n value: HsvaColor;\n onChange: (color: Partial<HsvaColor>) => void;\n onChangeEnd: (color: Partial<HsvaColor>) => void;\n onScrubStart?: () => void;\n onScrubEnd?: () => void;\n saturationLabel?: string;\n size: MantineSize | (string & {});\n color: string;\n focusable?: boolean;\n}\n\nexport function Saturation({\n className,\n onChange,\n onChangeEnd,\n value,\n saturationLabel,\n focusable = true,\n size,\n color,\n onScrubStart,\n onScrubEnd,\n ...others\n}: SaturationProps) {\n const { getStyles } = useColorPickerContext();\n\n const [position, setPosition] = useState({ x: value.s / 100, y: 1 - value.v / 100 });\n const positionRef = useRef(position);\n\n const { ref } = useMove(\n ({ x, y }) => {\n positionRef.current = { x, y };\n onChange({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });\n },\n {\n onScrubEnd: () => {\n const { x, y } = positionRef.current;\n onChangeEnd({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });\n onScrubEnd?.();\n },\n onScrubStart,\n }\n );\n\n useEffect(() => {\n setPosition({ x: value.s / 100, y: 1 - value.v / 100 });\n }, [value.s, value.v]);\n\n const handleArrow = (event: React.KeyboardEvent<HTMLDivElement>, pos: UseMovePosition) => {\n event.preventDefault();\n const _position = clampUseMovePosition(pos);\n onChange({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });\n onChangeEnd({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowUp': {\n handleArrow(event, { y: position.y - 0.05, x: position.x });\n break;\n }\n\n case 'ArrowDown': {\n handleArrow(event, { y: position.y + 0.05, x: position.x });\n break;\n }\n\n case 'ArrowRight': {\n handleArrow(event, { x: position.x + 0.05, y: position.y });\n break;\n }\n\n case 'ArrowLeft': {\n handleArrow(event, { x: position.x - 0.05, y: position.y });\n break;\n }\n }\n };\n\n return (\n <Box\n {...getStyles('saturation')}\n ref={ref as any}\n {...others}\n role=\"slider\"\n aria-label={saturationLabel}\n aria-valuenow={position.x}\n aria-valuetext={convertHsvaTo('rgba', value)}\n tabIndex={focusable ? 0 : -1}\n onKeyDown={handleKeyDown}\n >\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundColor: `hsl(${value.h}, 100%, 50%)` },\n })}\n />\n\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundImage: 'linear-gradient(90deg, #fff, transparent)' },\n })}\n />\n\n <div\n {...getStyles('saturationOverlay', {\n style: { backgroundImage: 'linear-gradient(0deg, #000, transparent)' },\n })}\n />\n\n <Thumb\n position={position}\n size={size}\n {...getStyles('thumb', { style: { backgroundColor: color } })}\n />\n </Box>\n );\n}\n\nSaturation.displayName = '@mantine/core/Saturation';\n"],"names":["useColorPickerContext","useState","useRef","useMove","useEffect","clampUseMovePosition","React","Box","convertHsvaTo","Thumb"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Swatches.js","sources":["../../../../src/components/ColorPicker/Swatches/Swatches.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Box, ElementProps } from '../../../core';\nimport { ColorSwatch } from '../../ColorSwatch';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface SwatchesProps extends ElementProps<'div'> {\n size?: string | number;\n data: string[];\n swatchesPerRow?: number;\n focusable?: boolean;\n onChangeEnd?: (color: string) => void;\n setValue(value: string): void;\n}\n\nexport const Swatches = forwardRef<HTMLDivElement, SwatchesProps>(\n (\n {\n className,\n datatype,\n setValue,\n onChangeEnd,\n size,\n focusable,\n data,\n swatchesPerRow,\n ...others\n },\n ref\n ) => {\n const ctx = useColorPickerContext();\n\n const colors = data.map((color, index) => (\n <ColorSwatch\n {...ctx.getStyles('swatch')}\n unstyled={ctx.unstyled}\n component=\"button\"\n type=\"button\"\n color={color}\n key={index}\n radius=\"sm\"\n onClick={() => {\n setValue(color);\n onChangeEnd?.(color);\n }}\n aria-label={color}\n tabIndex={focusable ? 0 : -1}\n data-swatch\n />\n ));\n\n return (\n <Box {...ctx.getStyles('swatches')} ref={ref} {...others}>\n {colors}\n </Box>\n );\n }\n);\n\nSwatches.displayName = '@mantine/core/Swatches';\n"],"names":["forwardRef","useColorPickerContext","React","ColorSwatch","Box"],"mappings":"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"}
1
+ {"version":3,"file":"Swatches.js","sources":["../../../../src/components/ColorPicker/Swatches/Swatches.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Box, ElementProps } from '../../../core';\nimport { ColorSwatch } from '../../ColorSwatch';\nimport { useColorPickerContext } from '../ColorPicker.context';\n\nexport interface SwatchesProps extends ElementProps<'div'> {\n size?: string | number;\n data: string[];\n swatchesPerRow?: number;\n focusable?: boolean;\n onChangeEnd?: (color: string) => void;\n setValue: (value: string) => void;\n}\n\nexport const Swatches = forwardRef<HTMLDivElement, SwatchesProps>(\n (\n {\n className,\n datatype,\n setValue,\n onChangeEnd,\n size,\n focusable,\n data,\n swatchesPerRow,\n ...others\n },\n ref\n ) => {\n const ctx = useColorPickerContext();\n\n const colors = data.map((color, index) => (\n <ColorSwatch\n {...ctx.getStyles('swatch')}\n unstyled={ctx.unstyled}\n component=\"button\"\n type=\"button\"\n color={color}\n key={index}\n radius=\"sm\"\n onClick={() => {\n setValue(color);\n onChangeEnd?.(color);\n }}\n aria-label={color}\n tabIndex={focusable ? 0 : -1}\n data-swatch\n />\n ));\n\n return (\n <Box {...ctx.getStyles('swatches')} ref={ref} {...others}>\n {colors}\n </Box>\n );\n }\n);\n\nSwatches.displayName = '@mantine/core/Swatches';\n"],"names":["forwardRef","useColorPickerContext","React","ColorSwatch","Box"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.context.js","sources":["../../../src/components/Combobox/Combobox.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi, MantineSize } from '../../core';\nimport type { ComboboxFactory } from './Combobox';\nimport type { ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport type { ComboboxStore } from './use-combobox/use-combobox';\n\nexport interface ComboboxContextValue {\n getStyles: GetStylesApi<ComboboxFactory>;\n store: ComboboxStore;\n onOptionSubmit?(value: string, optionProps: ComboboxOptionProps): void;\n size: MantineSize | (string & {});\n resetSelectionOnOptionHover: boolean | undefined;\n readOnly: boolean | undefined;\n}\n\nexport const [ComboboxProvider, useComboboxContext] = createSafeContext<ComboboxContextValue>(\n 'Combobox component was not found in tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AACY,MAAC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAGA,mCAAiB;AACvE,EAAE,0CAA0C;AAC5C;;;"}
1
+ {"version":3,"file":"Combobox.context.js","sources":["../../../src/components/Combobox/Combobox.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi, MantineSize } from '../../core';\nimport type { ComboboxFactory } from './Combobox';\nimport type { ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport type { ComboboxStore } from './use-combobox/use-combobox';\n\nexport interface ComboboxContextValue {\n getStyles: GetStylesApi<ComboboxFactory>;\n store: ComboboxStore;\n onOptionSubmit?: (value: string, optionProps: ComboboxOptionProps) => void;\n size: MantineSize | (string & {});\n resetSelectionOnOptionHover: boolean | undefined;\n readOnly: boolean | undefined;\n}\n\nexport const [ComboboxProvider, useComboboxContext] = createSafeContext<ComboboxContextValue>(\n 'Combobox component was not found in tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AACY,MAAC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAGA,mCAAiB;AACvE,EAAE,0CAA0C;AAC5C;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StylesApiProps,\n useProps,\n useStyles,\n Factory,\n createVarsResolver,\n MantineSize,\n getFontSize,\n rem,\n getSize,\n ExtendComponent,\n MantineThemeComponent,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { useCombobox, ComboboxStore } from './use-combobox/use-combobox';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxTarget } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxDropdown } from './ComboboxDropdown/ComboboxDropdown';\nimport { ComboboxOptions } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxSearch } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxEmpty } from './ComboboxEmpty/ComboboxEmpty';\nimport { ComboboxChevron } from './ComboboxChevron/ComboboxChevron';\nimport { ComboboxFooter } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxHeader } from './ComboboxHeader/ComboboxHeader';\nimport { ComboboxEventsTarget } from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxDropdownTarget } from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxGroup } from './ComboboxGroup/ComboboxGroup';\nimport { ComboboxClearButton } from './ComboboxClearButton/ComboboxClearButton';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with `Enter` key or by clicking it */\n onOptionSubmit?(value: string, optionProps: ComboboxOptionProps): void;\n\n /** Controls items `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown, `4` by default */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered, `false` by default */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether Combobox value can be changed */\n readOnly?: boolean;\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n };\n}>;\n\nconst defaultProps: Partial<ComboboxProps> = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n};\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': dropdownPadding === undefined ? undefined : rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport function Combobox(_props: ComboboxProps) {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n ...others\n } = props;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size: size!,\n resetSelectionOnOptionHover,\n readOnly,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n {...others}\n onClose={store.closeDropdown}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n}\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\nCombobox.ClearButton = ComboboxClearButton;\n"],"names":["createVarsResolver","getFontSize","getSize","rem","useProps","useCombobox","useStyles","classes","React","ComboboxProvider","Popover","ComboboxTarget","ComboboxDropdown","ComboboxOptions","ComboboxOption","ComboboxSearch","ComboboxEmpty","ComboboxChevron","ComboboxFooter","ComboboxHeader","ComboboxEventsTarget","ComboboxDropdownTarget","ComboboxGroup","ComboboxClearButton"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StylesApiProps,\n useProps,\n useStyles,\n Factory,\n createVarsResolver,\n MantineSize,\n getFontSize,\n rem,\n getSize,\n ExtendComponent,\n MantineThemeComponent,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { useCombobox, ComboboxStore } from './use-combobox/use-combobox';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxTarget } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxDropdown } from './ComboboxDropdown/ComboboxDropdown';\nimport { ComboboxOptions } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxSearch } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxEmpty } from './ComboboxEmpty/ComboboxEmpty';\nimport { ComboboxChevron } from './ComboboxChevron/ComboboxChevron';\nimport { ComboboxFooter } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxHeader } from './ComboboxHeader/ComboboxHeader';\nimport { ComboboxEventsTarget } from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxDropdownTarget } from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxGroup } from './ComboboxGroup/ComboboxGroup';\nimport { ComboboxClearButton } from './ComboboxClearButton/ComboboxClearButton';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with `Enter` key or by clicking it */\n onOptionSubmit?: (value: string, optionProps: ComboboxOptionProps) => void;\n\n /** Controls items `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown, `4` by default */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered, `false` by default */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether Combobox value can be changed */\n readOnly?: boolean;\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n };\n}>;\n\nconst defaultProps: Partial<ComboboxProps> = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n};\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': dropdownPadding === undefined ? undefined : rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport function Combobox(_props: ComboboxProps) {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n ...others\n } = props;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size: size!,\n resetSelectionOnOptionHover,\n readOnly,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n {...others}\n onClose={store.closeDropdown}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n}\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\nCombobox.ClearButton = ComboboxClearButton;\n"],"names":["createVarsResolver","getFontSize","getSize","rem","useProps","useCombobox","useStyles","classes","React","ComboboxProvider","Popover","ComboboxTarget","ComboboxDropdown","ComboboxOptions","ComboboxOption","ComboboxSearch","ComboboxEmpty","ComboboxChevron","ComboboxFooter","ComboboxHeader","ComboboxEventsTarget","ComboboxDropdownTarget","ComboboxGroup","ComboboxClearButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxClearButton.js","sources":["../../../../src/components/Combobox/ComboboxClearButton/ComboboxClearButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { CloseButton, __CloseButtonProps } from '../../CloseButton';\nimport { ElementProps, MantineSize } from '../../../core';\n\nexport interface ComboboxClearButtonProps extends __CloseButtonProps, ElementProps<'button'> {\n size?: MantineSize | (string & {}) | number;\n onClear(): void;\n}\n\nexport const ComboboxClearButton = forwardRef<HTMLButtonElement, ComboboxClearButtonProps>(\n ({ size, onMouseDown, onClick, onClear, ...others }, ref) => (\n <CloseButton\n ref={ref}\n size={size || 'sm'}\n variant=\"transparent\"\n tabIndex={-1}\n aria-hidden\n {...others}\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n }}\n onClick={(event) => {\n onClear();\n onClick?.(event);\n }}\n />\n )\n);\n\nComboboxClearButton.displayName = '@mantine/core/ComboboxClearButton';\n"],"names":["forwardRef","React","CloseButton"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxClearButton.js","sources":["../../../../src/components/Combobox/ComboboxClearButton/ComboboxClearButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { CloseButton, __CloseButtonProps } from '../../CloseButton';\nimport { ElementProps, MantineSize } from '../../../core';\n\nexport interface ComboboxClearButtonProps extends __CloseButtonProps, ElementProps<'button'> {\n size?: MantineSize | (string & {}) | number;\n onClear: () => void;\n}\n\nexport const ComboboxClearButton = forwardRef<HTMLButtonElement, ComboboxClearButtonProps>(\n ({ size, onMouseDown, onClick, onClear, ...others }, ref) => (\n <CloseButton\n ref={ref}\n size={size || 'sm'}\n variant=\"transparent\"\n tabIndex={-1}\n aria-hidden\n {...others}\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n }}\n onClick={(event) => {\n onClear();\n onClick?.(event);\n }}\n />\n )\n);\n\nComboboxClearButton.displayName = '@mantine/core/ComboboxClearButton';\n"],"names":["forwardRef","React","CloseButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":"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"}
1
+ {"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-combobox.ts"],"sourcesContent":["import { useEffect, useRef, useCallback } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-index';\n\nexport type ComboboxDropdownEventSource = 'keyboard' | 'mouse' | 'unknown';\n\nexport interface ComboboxStore {\n /** Current dropdown opened state */\n dropdownOpened: boolean;\n\n /** Opens dropdown */\n openDropdown(eventSource?: ComboboxDropdownEventSource): void;\n\n /** Closes dropdown */\n closeDropdown(eventSource?: ComboboxDropdownEventSource): void;\n\n /** Toggles dropdown opened state */\n toggleDropdown(eventSource?: ComboboxDropdownEventSource): void;\n\n /** Selected option index */\n selectedOptionIndex: number;\n\n /** Selects `Combobox.Option` by index */\n selectOption(index: number): void;\n\n /** Selects first `Combobox.Option` with `active` prop.\n * If there are no such options, the function does nothing.\n */\n selectActiveOption(): string | null;\n\n /** Selects first `Combobox.Option` that is not disabled.\n * If there are no such options, the function does nothing.\n * */\n selectFirstOption(): string | null;\n\n /** Selects next `Combobox.Option` that is not disabled.\n * If the current option is the last one, the function selects first option, if `loop` is true.\n */\n selectNextOption(): string | null;\n\n /** Selects previous `Combobox.Option` that is not disabled.\n * If the current option is the first one, the function selects last option, if `loop` is true.\n * */\n selectPreviousOption(): string | null;\n\n /** Resets selected option index to -1, removes `data-combobox-selected` from selected option */\n resetSelectedOption(): void;\n\n /** Triggers `onClick` event of selected option.\n * If there is no selected option, the function does nothing.\n */\n clickSelectedOption(): void;\n\n /** Updates selected option index to currently selected or active option.\n * The function is required to be used with searchable components to update selected option index\n * when options list changes based on search query.\n */\n updateSelectedOptionIndex(target?: 'active' | 'selected'): void;\n\n /** List id, used for `aria-*` attributes */\n listId: string | null;\n\n /** Sets list id */\n setListId(id: string): void;\n\n /** Ref of `Combobox.Search` input */\n searchRef: React.MutableRefObject<HTMLInputElement | null>;\n\n /** Moves focus to `Combobox.Search` input */\n focusSearchInput(): void;\n\n /** Ref of the target element */\n targetRef: React.MutableRefObject<HTMLElement | null>;\n\n /** Moves focus to the target element */\n focusTarget(): void;\n}\n\nexport interface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?(opened: boolean): void;\n\n /** Called when dropdown closes with event source: keyboard, mouse or unknown */\n onDropdownClose?(eventSource: ComboboxDropdownEventSource): void;\n\n /** Called when dropdown opens with event source: keyboard, mouse or unknown */\n onDropdownOpen?(eventSource: ComboboxDropdownEventSource): void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** `behavior` passed down to `element.scrollIntoView`, `'instant'` by default */\n scrollBehavior?: ScrollBehavior;\n}\n\nexport function useCombobox({\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n scrollBehavior = 'instant',\n}: UseComboboxOptions = {}): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const selectedOptionIndex = useRef<number>(-1);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n const selectedIndexUpdateTimeout = useRef<number>(-1);\n\n const openDropdown: ComboboxStore['openDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.(eventSource);\n }\n },\n [setDropdownOpened, onDropdownOpen, dropdownOpened]\n );\n\n const closeDropdown: ComboboxStore['closeDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.(eventSource);\n }\n },\n [setDropdownOpened, onDropdownClose, dropdownOpened]\n );\n\n const toggleDropdown: ComboboxStore['toggleDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (dropdownOpened) {\n closeDropdown(eventSource);\n } else {\n openDropdown(eventSource);\n }\n },\n [closeDropdown, openDropdown, dropdownOpened]\n );\n\n const clearSelectedItem = useCallback(() => {\n const selected = document.querySelector(`#${listId.current} [data-combobox-selected]`);\n selected?.removeAttribute('data-combobox-selected');\n selected?.removeAttribute('aria-selected');\n }, []);\n\n const selectOption = useCallback(\n (index: number) => {\n const list = document.getElementById(listId.current!);\n const items = list?.querySelectorAll('[data-combobox-option]');\n\n if (!items) {\n return null;\n }\n\n const nextIndex = index >= items!.length ? 0 : index < 0 ? items!.length - 1 : index;\n selectedOptionIndex.current = nextIndex;\n\n if (items?.[nextIndex] && !items[nextIndex].hasAttribute('data-combobox-disabled')) {\n clearSelectedItem();\n items[nextIndex].setAttribute('data-combobox-selected', 'true');\n items[nextIndex].setAttribute('aria-selected', 'true');\n items[nextIndex].scrollIntoView({ block: 'nearest', behavior: scrollBehavior });\n return items[nextIndex].id;\n }\n\n return null;\n },\n [scrollBehavior, clearSelectedItem]\n );\n\n const selectActiveOption = useCallback(() => {\n const activeOption = document.querySelector<HTMLDivElement>(\n `#${listId.current} [data-combobox-active]`\n );\n\n if (activeOption) {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const index = Array.from(items).findIndex((option) => option === activeOption);\n return selectOption(index);\n }\n\n return selectOption(0);\n }, [selectOption]);\n\n const selectNextOption = useCallback(\n () =>\n selectOption(\n getNextIndex(\n selectedOptionIndex.current,\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`),\n loop\n )\n ),\n [selectOption, loop]\n );\n\n const selectPreviousOption = useCallback(\n () =>\n selectOption(\n getPreviousIndex(\n selectedOptionIndex.current,\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`),\n loop\n )\n ),\n [selectOption, loop]\n );\n\n const selectFirstOption = useCallback(\n () =>\n selectOption(\n getFirstIndex(\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`)\n )\n ),\n [selectOption]\n );\n\n const updateSelectedOptionIndex = useCallback((target: 'active' | 'selected' = 'selected') => {\n selectedIndexUpdateTimeout.current = window.setTimeout(() => {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const index = Array.from(items).findIndex((option) =>\n option.hasAttribute(`data-combobox-${target}`)\n );\n selectedOptionIndex.current = index;\n }, 0);\n }, []);\n\n const resetSelectedOption = useCallback(() => {\n selectedOptionIndex.current = -1;\n clearSelectedItem();\n }, [clearSelectedItem]);\n\n const clickSelectedOption = useCallback(() => {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const item = items?.[selectedOptionIndex.current];\n item?.click();\n }, []);\n\n const setListId = useCallback((id: string) => {\n listId.current = id;\n }, []);\n\n const focusSearchInput = useCallback(() => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n }, []);\n\n const focusTarget = useCallback(() => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n }, []);\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n window.clearTimeout(selectedIndexUpdateTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex: selectedOptionIndex.current,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex,\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":["useUncontrolled","useRef","useCallback","getNextIndex","getPreviousIndex","getFirstIndex","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-combobox.ts"],"sourcesContent":["import { useEffect, useRef, useCallback } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-index';\n\nexport type ComboboxDropdownEventSource = 'keyboard' | 'mouse' | 'unknown';\n\nexport interface ComboboxStore {\n /** Current dropdown opened state */\n dropdownOpened: boolean;\n\n /** Opens dropdown */\n openDropdown: (eventSource?: ComboboxDropdownEventSource) => void;\n\n /** Closes dropdown */\n closeDropdown: (eventSource?: ComboboxDropdownEventSource) => void;\n\n /** Toggles dropdown opened state */\n toggleDropdown: (eventSource?: ComboboxDropdownEventSource) => void;\n\n /** Selected option index */\n selectedOptionIndex: number;\n\n /** Selects `Combobox.Option` by index */\n selectOption: (index: number) => void;\n\n /** Selects first `Combobox.Option` with `active` prop.\n * If there are no such options, the function does nothing.\n */\n selectActiveOption: () => string | null;\n\n /** Selects first `Combobox.Option` that is not disabled.\n * If there are no such options, the function does nothing.\n * */\n selectFirstOption: () => string | null;\n\n /** Selects next `Combobox.Option` that is not disabled.\n * If the current option is the last one, the function selects first option, if `loop` is true.\n */\n selectNextOption: () => string | null;\n\n /** Selects previous `Combobox.Option` that is not disabled.\n * If the current option is the first one, the function selects last option, if `loop` is true.\n * */\n selectPreviousOption: () => string | null;\n\n /** Resets selected option index to -1, removes `data-combobox-selected` from selected option */\n resetSelectedOption: () => void;\n\n /** Triggers `onClick` event of selected option.\n * If there is no selected option, the function does nothing.\n */\n clickSelectedOption: () => void;\n\n /** Updates selected option index to currently selected or active option.\n * The function is required to be used with searchable components to update selected option index\n * when options list changes based on search query.\n */\n updateSelectedOptionIndex: (target?: 'active' | 'selected') => void;\n\n /** List id, used for `aria-*` attributes */\n listId: string | null;\n\n /** Sets list id */\n setListId: (id: string) => void;\n\n /** Ref of `Combobox.Search` input */\n searchRef: React.MutableRefObject<HTMLInputElement | null>;\n\n /** Moves focus to `Combobox.Search` input */\n focusSearchInput: () => void;\n\n /** Ref of the target element */\n targetRef: React.MutableRefObject<HTMLElement | null>;\n\n /** Moves focus to the target element */\n focusTarget: () => void;\n}\n\nexport interface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?: (opened: boolean) => void;\n\n /** Called when dropdown closes with event source: keyboard, mouse or unknown */\n onDropdownClose?: (eventSource: ComboboxDropdownEventSource) => void;\n\n /** Called when dropdown opens with event source: keyboard, mouse or unknown */\n onDropdownOpen?: (eventSource: ComboboxDropdownEventSource) => void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** `behavior` passed down to `element.scrollIntoView`, `'instant'` by default */\n scrollBehavior?: ScrollBehavior;\n}\n\nexport function useCombobox({\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n scrollBehavior = 'instant',\n}: UseComboboxOptions = {}): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const selectedOptionIndex = useRef<number>(-1);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n const selectedIndexUpdateTimeout = useRef<number>(-1);\n\n const openDropdown: ComboboxStore['openDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.(eventSource);\n }\n },\n [setDropdownOpened, onDropdownOpen, dropdownOpened]\n );\n\n const closeDropdown: ComboboxStore['closeDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.(eventSource);\n }\n },\n [setDropdownOpened, onDropdownClose, dropdownOpened]\n );\n\n const toggleDropdown: ComboboxStore['toggleDropdown'] = useCallback(\n (eventSource = 'unknown') => {\n if (dropdownOpened) {\n closeDropdown(eventSource);\n } else {\n openDropdown(eventSource);\n }\n },\n [closeDropdown, openDropdown, dropdownOpened]\n );\n\n const clearSelectedItem = useCallback(() => {\n const selected = document.querySelector(`#${listId.current} [data-combobox-selected]`);\n selected?.removeAttribute('data-combobox-selected');\n selected?.removeAttribute('aria-selected');\n }, []);\n\n const selectOption = useCallback(\n (index: number) => {\n const list = document.getElementById(listId.current!);\n const items = list?.querySelectorAll('[data-combobox-option]');\n\n if (!items) {\n return null;\n }\n\n const nextIndex = index >= items!.length ? 0 : index < 0 ? items!.length - 1 : index;\n selectedOptionIndex.current = nextIndex;\n\n if (items?.[nextIndex] && !items[nextIndex].hasAttribute('data-combobox-disabled')) {\n clearSelectedItem();\n items[nextIndex].setAttribute('data-combobox-selected', 'true');\n items[nextIndex].setAttribute('aria-selected', 'true');\n items[nextIndex].scrollIntoView({ block: 'nearest', behavior: scrollBehavior });\n return items[nextIndex].id;\n }\n\n return null;\n },\n [scrollBehavior, clearSelectedItem]\n );\n\n const selectActiveOption = useCallback(() => {\n const activeOption = document.querySelector<HTMLDivElement>(\n `#${listId.current} [data-combobox-active]`\n );\n\n if (activeOption) {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const index = Array.from(items).findIndex((option) => option === activeOption);\n return selectOption(index);\n }\n\n return selectOption(0);\n }, [selectOption]);\n\n const selectNextOption = useCallback(\n () =>\n selectOption(\n getNextIndex(\n selectedOptionIndex.current,\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`),\n loop\n )\n ),\n [selectOption, loop]\n );\n\n const selectPreviousOption = useCallback(\n () =>\n selectOption(\n getPreviousIndex(\n selectedOptionIndex.current,\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`),\n loop\n )\n ),\n [selectOption, loop]\n );\n\n const selectFirstOption = useCallback(\n () =>\n selectOption(\n getFirstIndex(\n document.querySelectorAll<HTMLDivElement>(`#${listId.current} [data-combobox-option]`)\n )\n ),\n [selectOption]\n );\n\n const updateSelectedOptionIndex = useCallback((target: 'active' | 'selected' = 'selected') => {\n selectedIndexUpdateTimeout.current = window.setTimeout(() => {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const index = Array.from(items).findIndex((option) =>\n option.hasAttribute(`data-combobox-${target}`)\n );\n selectedOptionIndex.current = index;\n }, 0);\n }, []);\n\n const resetSelectedOption = useCallback(() => {\n selectedOptionIndex.current = -1;\n clearSelectedItem();\n }, [clearSelectedItem]);\n\n const clickSelectedOption = useCallback(() => {\n const items = document.querySelectorAll<HTMLDivElement>(\n `#${listId.current} [data-combobox-option]`\n );\n const item = items?.[selectedOptionIndex.current];\n item?.click();\n }, []);\n\n const setListId = useCallback((id: string) => {\n listId.current = id;\n }, []);\n\n const focusSearchInput = useCallback(() => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n }, []);\n\n const focusTarget = useCallback(() => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n }, []);\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n window.clearTimeout(selectedIndexUpdateTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex: selectedOptionIndex.current,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex,\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":["useUncontrolled","useRef","useCallback","getNextIndex","getPreviousIndex","getFirstIndex","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-virtualized-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-virtualized-combobox.ts"],"sourcesContent":["// WIP, not planned to be released in 7.0, maybe in 7.x\nimport { useEffect, useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-virtualized-index';\nimport { ComboboxStore } from './use-combobox';\n\ninterface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?(opened: boolean): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** Function to determine whether the option is disabled */\n isOptionDisabled?(optionIndex: number): boolean;\n\n totalOptionsCount: number;\n\n getOptionId(index: number): string | null;\n\n selectedOptionIndex: number;\n\n setSelectedOptionIndex(index: number): void;\n\n activeOptionIndex?: number;\n\n onSelectedOptionSubmit(index: number): void;\n}\n\nexport function useVirtualizedCombobox(\n {\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n totalOptionsCount,\n isOptionDisabled = () => false,\n getOptionId,\n selectedOptionIndex,\n setSelectedOptionIndex,\n activeOptionIndex,\n onSelectedOptionSubmit,\n }: UseComboboxOptions = {\n totalOptionsCount: 0,\n getOptionId: () => null,\n selectedOptionIndex: 1,\n setSelectedOptionIndex: () => {},\n onSelectedOptionSubmit: () => {},\n }\n): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n\n const openDropdown = () => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (dropdownOpened) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n const selectOption = (index: number) => {\n const nextIndex = index >= totalOptionsCount ? 0 : index < 0 ? totalOptionsCount - 1 : index;\n setSelectedOptionIndex(nextIndex);\n return getOptionId(nextIndex);\n };\n\n const selectActiveOption = () => selectOption(activeOptionIndex ?? 0);\n\n const selectNextOption = () =>\n selectOption(\n getNextIndex({ currentIndex: selectedOptionIndex, isOptionDisabled, totalOptionsCount, loop })\n );\n\n const selectPreviousOption = () =>\n selectOption(\n getPreviousIndex({\n currentIndex: selectedOptionIndex,\n isOptionDisabled,\n totalOptionsCount,\n loop,\n })\n );\n\n const selectFirstOption = () =>\n selectOption(getFirstIndex({ isOptionDisabled, totalOptionsCount }));\n\n const resetSelectedOption = () => {\n setSelectedOptionIndex(-1);\n };\n\n const clickSelectedOption = () => {\n onSelectedOptionSubmit?.(selectedOptionIndex);\n };\n\n const setListId = (id: string) => {\n listId.current = id;\n };\n\n const focusSearchInput = () => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n };\n\n const focusTarget = () => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n };\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex: () => {},\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":["useUncontrolled","useRef","getNextIndex","getPreviousIndex","getFirstIndex","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-virtualized-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-virtualized-combobox.ts"],"sourcesContent":["// WIP, not planned to be released in 7.0, maybe in 7.x\nimport { useEffect, useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-virtualized-index';\nimport { ComboboxStore } from './use-combobox';\n\ninterface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?: (opened: boolean) => void;\n\n /** Called when dropdown closes */\n onDropdownClose?: () => void;\n\n /** Called when dropdown opens */\n onDropdownOpen?: () => void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** Function to determine whether the option is disabled */\n isOptionDisabled?: (optionIndex: number) => boolean;\n\n totalOptionsCount: number;\n\n getOptionId: (index: number) => string | null;\n\n selectedOptionIndex: number;\n\n setSelectedOptionIndex: (index: number) => void;\n\n activeOptionIndex?: number;\n\n onSelectedOptionSubmit: (index: number) => void;\n}\n\nexport function useVirtualizedCombobox(\n {\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n totalOptionsCount,\n isOptionDisabled = () => false,\n getOptionId,\n selectedOptionIndex,\n setSelectedOptionIndex,\n activeOptionIndex,\n onSelectedOptionSubmit,\n }: UseComboboxOptions = {\n totalOptionsCount: 0,\n getOptionId: () => null,\n selectedOptionIndex: 1,\n setSelectedOptionIndex: () => {},\n onSelectedOptionSubmit: () => {},\n }\n): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n\n const openDropdown = () => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (dropdownOpened) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n const selectOption = (index: number) => {\n const nextIndex = index >= totalOptionsCount ? 0 : index < 0 ? totalOptionsCount - 1 : index;\n setSelectedOptionIndex(nextIndex);\n return getOptionId(nextIndex);\n };\n\n const selectActiveOption = () => selectOption(activeOptionIndex ?? 0);\n\n const selectNextOption = () =>\n selectOption(\n getNextIndex({ currentIndex: selectedOptionIndex, isOptionDisabled, totalOptionsCount, loop })\n );\n\n const selectPreviousOption = () =>\n selectOption(\n getPreviousIndex({\n currentIndex: selectedOptionIndex,\n isOptionDisabled,\n totalOptionsCount,\n loop,\n })\n );\n\n const selectFirstOption = () =>\n selectOption(getFirstIndex({ isOptionDisabled, totalOptionsCount }));\n\n const resetSelectedOption = () => {\n setSelectedOptionIndex(-1);\n };\n\n const clickSelectedOption = () => {\n onSelectedOptionSubmit?.(selectedOptionIndex);\n };\n\n const setListId = (id: string) => {\n listId.current = id;\n };\n\n const focusSearchInput = () => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n };\n\n const focusTarget = () => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n };\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex: () => {},\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":["useUncontrolled","useRef","getNextIndex","getPreviousIndex","getFirstIndex","useEffect"],"mappings":";;;;;;;;;AAGO,SAAS,sBAAsB,CAAC;AACvC,EAAE,aAAa;AACf,EAAE,MAAM;AACR,EAAE,cAAc;AAChB,EAAE,eAAe;AACjB,EAAE,cAAc;AAChB,EAAE,IAAI,GAAG,IAAI;AACb,EAAE,iBAAiB;AACnB,EAAE,gBAAgB,GAAG,MAAM,KAAK;AAChC,EAAE,WAAW;AACb,EAAE,mBAAmB;AACrB,EAAE,sBAAsB;AACxB,EAAE,iBAAiB;AACnB,EAAE,sBAAsB;AACxB,CAAC,GAAG;AACJ,EAAE,iBAAiB,EAAE,CAAC;AACtB,EAAE,WAAW,EAAE,MAAM,IAAI;AACzB,EAAE,mBAAmB,EAAE,CAAC;AACxB,EAAE,sBAAsB,EAAE,MAAM;AAChC,GAAG;AACH,EAAE,sBAAsB,EAAE,MAAM;AAChC,GAAG;AACH,CAAC,EAAE;AACH,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,qBAAe,CAAC;AAC9D,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,YAAY,EAAE,aAAa;AAC/B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,cAAc;AAC5B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,EAAE,MAAM,SAAS,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,SAAS,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,kBAAkB,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,EAAE,MAAM,kBAAkB,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC;AACzD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/B,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAC3D,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,aAAa,EAAE,CAAC;AACtB,KAAK,MAAM;AACX,MAAM,YAAY,EAAE,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK;AAClC,IAAI,MAAM,SAAS,GAAG,KAAK,IAAI,iBAAiB,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC,GAAG,KAAK,CAAC;AACjG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AACtC,IAAI,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAClC,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,iBAAiB,IAAI,IAAI,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;AACnG,EAAE,MAAM,gBAAgB,GAAG,MAAM,YAAY;AAC7C,IAAIC,gCAAY,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;AAClG,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,MAAM,YAAY;AACjD,IAAIC,oCAAgB,CAAC;AACrB,MAAM,YAAY,EAAE,mBAAmB;AACvC,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,IAAI;AACV,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAACC,iCAAa,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACvG,EAAE,MAAM,mBAAmB,GAAG,MAAM;AACpC,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,MAAM;AACpC,IAAI,sBAAsB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AAC1F,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK;AAC5B,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;AACxB,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACvF,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACvF,GAAG,CAAC;AACJ,EAAEC,eAAS;AACX,IAAI,MAAM,MAAM;AAChB,MAAM,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB,EAAE,MAAM;AACrC,KAAK;AACL,IAAI,MAAM,EAAE,MAAM,CAAC,OAAO;AAC1B,IAAI,SAAS;AACb,IAAI,mBAAmB;AACvB,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,WAAW;AACf,GAAG,CAAC;AACJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyButton.js","sources":["../../../src/components/CopyButton/CopyButton.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React from 'react';\nimport { useClipboard } from '@mantine/hooks';\nimport { useProps } from '../../core';\n\nexport interface CopyButtonProps {\n /** Children callback, provides current status and copy function as an argument */\n children(payload: { copied: boolean; copy(): void }): React.ReactNode;\n\n /** Value that will be copied to the clipboard when the button is clicked */\n value: string;\n\n /** Copied status timeout in ms, `1000` by default */\n timeout?: number;\n}\n\nconst defaultProps: Partial<CopyButtonProps> = {\n timeout: 1000,\n};\n\nexport function CopyButton(props: CopyButtonProps) {\n const { children, timeout, value, ...others } = useProps('CopyButton', defaultProps, props);\n const clipboard = useClipboard({ timeout });\n const copy = () => clipboard.copy(value);\n return <>{children({ copy, copied: clipboard.copied, ...others })}</>;\n}\n\nCopyButton.displayName = '@mantine/core/CopyButton';\n"],"names":["useProps","useClipboard","React"],"mappings":";;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAIF,MAAM,YAAY,GAAG;AACrB,EAAE,OAAO,EAAE,GAAG;AACd,CAAC,CAAC;AACK,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,EAAE,MAAM,EAAE,GAAGA,iBAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACtJ,EAAE,MAAM,SAAS,GAAGC,kBAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9C,EAAE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACzI,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;"}
1
+ {"version":3,"file":"CopyButton.js","sources":["../../../src/components/CopyButton/CopyButton.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React from 'react';\nimport { useClipboard } from '@mantine/hooks';\nimport { useProps } from '../../core';\n\nexport interface CopyButtonProps {\n /** Children callback, provides current status and copy function as an argument */\n children: (payload: { copied: boolean; copy: () => void }) => React.ReactNode;\n\n /** Value that will be copied to the clipboard when the button is clicked */\n value: string;\n\n /** Copied status timeout in ms, `1000` by default */\n timeout?: number;\n}\n\nconst defaultProps: Partial<CopyButtonProps> = {\n timeout: 1000,\n};\n\nexport function CopyButton(props: CopyButtonProps) {\n const { children, timeout, value, ...others } = useProps('CopyButton', defaultProps, props);\n const clipboard = useClipboard({ timeout });\n const copy = () => clipboard.copy(value);\n return <>{children({ copy, copied: clipboard.copied, ...others })}</>;\n}\n\nCopyButton.displayName = '@mantine/core/CopyButton';\n"],"names":["useProps","useClipboard","React"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n getSize,\n} from '../../core';\nimport { Affix, AffixBaseProps } from '../Affix';\nimport { Paper, PaperBaseProps } from '../Paper';\nimport classes from './Dialog.module.css';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { CloseButton } from '../CloseButton';\n\nexport type DialogStylesNames = 'root' | 'closeButton';\nexport type DialogCssVariables = {\n root: '--dialog-size';\n};\n\nexport interface DialogProps\n extends BoxProps,\n AffixBaseProps,\n PaperBaseProps,\n StylesApiProps<DialogFactory>,\n ElementProps<'div'> {\n /** If set dialog will not be unmounted from the DOM when it is hidden, display: none styles will be added instead */\n keepMounted?: boolean;\n\n /** Determines whether the close button should be displayed, `true` by default */\n withCloseButton?: boolean;\n\n /** Called when the close button is clicked */\n onClose?(): void;\n\n /** Dialog content */\n children?: React.ReactNode;\n\n /** Opened state */\n opened: boolean;\n\n /** Overrides default transition, `{ transition: 'pop-top-right', duration: 200 }` by default */\n transitionProps?: TransitionOverride;\n\n /** Controls `width` of the dialog, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n}\n\nexport type DialogFactory = Factory<{\n props: DialogProps;\n ref: HTMLDivElement;\n stylesNames: DialogStylesNames;\n vars: DialogCssVariables;\n}>;\n\nconst defaultProps: Partial<DialogProps> = {\n shadow: 'md',\n p: 'md',\n withBorder: false,\n transitionProps: { transition: 'pop-top-right', duration: 200 },\n position: {\n bottom: 30,\n right: 30,\n },\n};\n\nconst varsResolver = createVarsResolver<DialogFactory>((_, { size }) => ({\n root: {\n '--dialog-size': getSize(size, 'dialog-size'),\n },\n}));\n\nexport const Dialog = factory<DialogFactory>((_props, ref) => {\n const props = useProps('Dialog', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n zIndex,\n position,\n keepMounted,\n opened,\n transitionProps,\n withCloseButton,\n withinPortal,\n children,\n onClose,\n portalProps,\n ...others\n } = props;\n\n const getStyles = useStyles<DialogFactory>({\n name: 'Dialog',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <Affix\n zIndex={zIndex}\n position={position}\n ref={ref}\n withinPortal={withinPortal}\n portalProps={portalProps}\n unstyled={unstyled}\n >\n <Transition keepMounted={keepMounted} mounted={opened} {...transitionProps}>\n {(transitionStyles) => (\n <Paper\n unstyled={unstyled}\n {...getStyles('root', { style: transitionStyles })}\n {...others}\n >\n {withCloseButton && (\n <CloseButton onClick={onClose} unstyled={unstyled} {...getStyles('closeButton')} />\n )}\n {children}\n </Paper>\n )}\n </Transition>\n </Affix>\n );\n});\n\nDialog.classes = classes;\nDialog.displayName = '@mantine/core/Dialog';\n"],"names":["createVarsResolver","getSize","factory","useProps","useStyles","classes","React","Affix","Transition","Paper","CloseButton"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n getSize,\n} from '../../core';\nimport { Affix, AffixBaseProps } from '../Affix';\nimport { Paper, PaperBaseProps } from '../Paper';\nimport classes from './Dialog.module.css';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { CloseButton } from '../CloseButton';\n\nexport type DialogStylesNames = 'root' | 'closeButton';\nexport type DialogCssVariables = {\n root: '--dialog-size';\n};\n\nexport interface DialogProps\n extends BoxProps,\n AffixBaseProps,\n PaperBaseProps,\n StylesApiProps<DialogFactory>,\n ElementProps<'div'> {\n /** If set dialog will not be unmounted from the DOM when it is hidden, display: none styles will be added instead */\n keepMounted?: boolean;\n\n /** Determines whether the close button should be displayed, `true` by default */\n withCloseButton?: boolean;\n\n /** Called when the close button is clicked */\n onClose?: () => void;\n\n /** Dialog content */\n children?: React.ReactNode;\n\n /** Opened state */\n opened: boolean;\n\n /** Overrides default transition, `{ transition: 'pop-top-right', duration: 200 }` by default */\n transitionProps?: TransitionOverride;\n\n /** Controls `width` of the dialog, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n}\n\nexport type DialogFactory = Factory<{\n props: DialogProps;\n ref: HTMLDivElement;\n stylesNames: DialogStylesNames;\n vars: DialogCssVariables;\n}>;\n\nconst defaultProps: Partial<DialogProps> = {\n shadow: 'md',\n p: 'md',\n withBorder: false,\n transitionProps: { transition: 'pop-top-right', duration: 200 },\n position: {\n bottom: 30,\n right: 30,\n },\n};\n\nconst varsResolver = createVarsResolver<DialogFactory>((_, { size }) => ({\n root: {\n '--dialog-size': getSize(size, 'dialog-size'),\n },\n}));\n\nexport const Dialog = factory<DialogFactory>((_props, ref) => {\n const props = useProps('Dialog', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n zIndex,\n position,\n keepMounted,\n opened,\n transitionProps,\n withCloseButton,\n withinPortal,\n children,\n onClose,\n portalProps,\n ...others\n } = props;\n\n const getStyles = useStyles<DialogFactory>({\n name: 'Dialog',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <Affix\n zIndex={zIndex}\n position={position}\n ref={ref}\n withinPortal={withinPortal}\n portalProps={portalProps}\n unstyled={unstyled}\n >\n <Transition keepMounted={keepMounted} mounted={opened} {...transitionProps}>\n {(transitionStyles) => (\n <Paper\n unstyled={unstyled}\n {...getStyles('root', { style: transitionStyles })}\n {...others}\n >\n {withCloseButton && (\n <CloseButton onClick={onClose} unstyled={unstyled} {...getStyles('closeButton')} />\n )}\n {children}\n </Paper>\n )}\n </Transition>\n </Affix>\n );\n});\n\nDialog.classes = classes;\nDialog.displayName = '@mantine/core/Dialog';\n"],"names":["createVarsResolver","getSize","factory","useProps","useStyles","classes","React","Affix","Transition","Paper","CloseButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileButton.js","sources":["../../../src/components/FileButton/FileButton.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, forwardRef } from 'react';\nimport { assignRef, useMergedRef } from '@mantine/hooks';\nimport { useProps } from '../../core';\n\nexport interface FileButtonProps<Multiple extends boolean = false> {\n /** Called when files are picked */\n onChange(payload: Multiple extends true ? File[] : File | null): void;\n\n /** Function that receives button props and returns react node that should be rendered */\n children(props: { onClick(): void }): React.ReactNode;\n\n /** Determines whether user can pick more than one file */\n multiple?: Multiple;\n\n /** File input accept attribute, for example, `\"image/png,image/jpeg\"` */\n accept?: string;\n\n /** Input name attribute */\n name?: string;\n\n /** Input form attribute */\n form?: string;\n\n /** Reference of the function that should be called when value changes to null or empty array */\n resetRef?: React.ForwardedRef<() => void>;\n\n /** Disables file picker */\n disabled?: boolean;\n\n /** Specifies that, optionally, a new file should be captured, and which device should be used to capture that new media of a type defined by the accept attribute. */\n capture?: boolean | 'user' | 'environment';\n\n /** Passes down props to the input element used to capture files */\n inputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nconst defaultProps: Partial<FileButtonProps> = {\n multiple: false,\n};\n\ntype FileButtonComponent = (<Multiple extends boolean = false>(\n props: FileButtonProps<Multiple>\n) => React.ReactElement) & { displayName?: string };\n\nexport const FileButton: FileButtonComponent = forwardRef<HTMLInputElement, FileButtonProps>(\n (props, ref) => {\n const {\n onChange,\n children,\n multiple,\n accept,\n name,\n form,\n resetRef,\n disabled,\n capture,\n inputProps,\n ...others\n } = useProps('FileButton', defaultProps, props);\n\n const inputRef = useRef<HTMLInputElement>();\n\n const onClick = () => {\n !disabled && inputRef.current?.click();\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (multiple) {\n onChange(Array.from(event.currentTarget!.files!) as any);\n } else {\n onChange(event.currentTarget!.files![0] || null);\n }\n };\n\n const reset = () => {\n inputRef.current!.value = '';\n };\n\n assignRef(resetRef!, reset);\n\n return (\n <>\n {children({ onClick, ...others })}\n\n <input\n style={{ display: 'none' }}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n ref={useMergedRef(ref, inputRef)}\n name={name}\n form={form}\n capture={capture}\n {...inputProps}\n />\n </>\n );\n }\n) as any;\n\nFileButton.displayName = '@mantine/core/FileButton';\n"],"names":["forwardRef","useProps","useRef","assignRef","React","useMergedRef"],"mappings":"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"}
1
+ {"version":3,"file":"FileButton.js","sources":["../../../src/components/FileButton/FileButton.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, forwardRef } from 'react';\nimport { assignRef, useMergedRef } from '@mantine/hooks';\nimport { useProps } from '../../core';\n\nexport interface FileButtonProps<Multiple extends boolean = false> {\n /** Called when files are picked */\n onChange: (payload: Multiple extends true ? File[] : File | null) => void;\n\n /** Function that receives button props and returns react node that should be rendered */\n children: (props: { onClick: () => void }) => React.ReactNode;\n\n /** Determines whether user can pick more than one file */\n multiple?: Multiple;\n\n /** File input accept attribute, for example, `\"image/png,image/jpeg\"` */\n accept?: string;\n\n /** Input name attribute */\n name?: string;\n\n /** Input form attribute */\n form?: string;\n\n /** Reference of the function that should be called when value changes to null or empty array */\n resetRef?: React.ForwardedRef<() => void>;\n\n /** Disables file picker */\n disabled?: boolean;\n\n /** Specifies that, optionally, a new file should be captured, and which device should be used to capture that new media of a type defined by the accept attribute. */\n capture?: boolean | 'user' | 'environment';\n\n /** Passes down props to the input element used to capture files */\n inputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nconst defaultProps: Partial<FileButtonProps> = {\n multiple: false,\n};\n\ntype FileButtonComponent = (<Multiple extends boolean = false>(\n props: FileButtonProps<Multiple>\n) => React.ReactElement) & { displayName?: string };\n\nexport const FileButton: FileButtonComponent = forwardRef<HTMLInputElement, FileButtonProps>(\n (props, ref) => {\n const {\n onChange,\n children,\n multiple,\n accept,\n name,\n form,\n resetRef,\n disabled,\n capture,\n inputProps,\n ...others\n } = useProps('FileButton', defaultProps, props);\n\n const inputRef = useRef<HTMLInputElement>();\n\n const onClick = () => {\n !disabled && inputRef.current?.click();\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (multiple) {\n onChange(Array.from(event.currentTarget!.files!) as any);\n } else {\n onChange(event.currentTarget!.files![0] || null);\n }\n };\n\n const reset = () => {\n inputRef.current!.value = '';\n };\n\n assignRef(resetRef!, reset);\n\n return (\n <>\n {children({ onClick, ...others })}\n\n <input\n style={{ display: 'none' }}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n ref={useMergedRef(ref, inputRef)}\n name={name}\n form={form}\n capture={capture}\n {...inputProps}\n />\n </>\n );\n }\n) as any;\n\nFileButton.displayName = '@mantine/core/FileButton';\n"],"names":["forwardRef","useProps","useRef","assignRef","React","useMergedRef"],"mappings":"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"}