@mantine/core 9.5.1 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (904) hide show
  1. package/cjs/_virtual/_rolldown/runtime.cjs +1 -1
  2. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/cjs/components/Accordion/AccordionChevron.cjs.map +1 -1
  4. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs.map +1 -1
  5. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs.map +1 -1
  6. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
  7. package/cjs/components/ActionBar/ActionBar.cjs +94 -0
  8. package/cjs/components/ActionBar/ActionBar.cjs.map +1 -0
  9. package/cjs/components/ActionBar/ActionBar.context.cjs +8 -0
  10. package/cjs/components/ActionBar/ActionBar.context.cjs.map +1 -0
  11. package/cjs/components/ActionBar/ActionBar.module.cjs +10 -0
  12. package/cjs/components/ActionBar/ActionBar.module.cjs.map +1 -0
  13. package/cjs/components/ActionBar/ActionBarCloseButton/ActionBarCloseButton.cjs +33 -0
  14. package/cjs/components/ActionBar/ActionBarCloseButton/ActionBarCloseButton.cjs.map +1 -0
  15. package/cjs/components/ActionBar/ActionBarDivider/ActionBarDivider.cjs +30 -0
  16. package/cjs/components/ActionBar/ActionBarDivider/ActionBarDivider.cjs.map +1 -0
  17. package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
  18. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs +16 -15
  19. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs.map +1 -1
  20. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs +15 -14
  21. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs.map +1 -1
  22. package/cjs/components/Affix/Affix.cjs.map +1 -1
  23. package/cjs/components/Alert/Alert.cjs.map +1 -1
  24. package/cjs/components/Anchor/Anchor.cjs.map +1 -1
  25. package/cjs/components/AngleSlider/AngleSlider.cjs +5 -4
  26. package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
  27. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  28. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
  29. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
  30. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
  31. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs +2 -1
  32. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs.map +1 -1
  33. package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
  34. package/cjs/components/AspectRatio/AspectRatio.cjs +14 -13
  35. package/cjs/components/AspectRatio/AspectRatio.cjs.map +1 -1
  36. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  37. package/cjs/components/Avatar/Avatar.cjs.map +1 -1
  38. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
  39. package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs.map +1 -1
  40. package/cjs/components/BackgroundImage/BackgroundImage.cjs +14 -13
  41. package/cjs/components/BackgroundImage/BackgroundImage.cjs.map +1 -1
  42. package/cjs/components/Badge/Badge.cjs.map +1 -1
  43. package/cjs/components/Blockquote/Blockquote.cjs +6 -5
  44. package/cjs/components/Blockquote/Blockquote.cjs.map +1 -1
  45. package/cjs/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  46. package/cjs/components/Burger/Burger.cjs.map +1 -1
  47. package/cjs/components/Button/Button.cjs.map +1 -1
  48. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs +16 -15
  49. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
  50. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs +15 -14
  51. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
  52. package/cjs/components/Card/Card.cjs.map +1 -1
  53. package/cjs/components/Cascader/Cascader.cjs +10 -5
  54. package/cjs/components/Cascader/Cascader.cjs.map +1 -1
  55. package/cjs/components/Cascader/CascaderColumns.cjs +2 -1
  56. package/cjs/components/Cascader/CascaderColumns.cjs.map +1 -1
  57. package/cjs/components/Cascader/get-cascader-columns.cjs.map +1 -1
  58. package/cjs/components/Cascader/use-cascader-safe-area.cjs.map +1 -1
  59. package/cjs/components/Cascader/use-cascader.cjs.map +1 -1
  60. package/cjs/components/Checkbox/CheckIcon.cjs +6 -5
  61. package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
  62. package/cjs/components/Checkbox/Checkbox.cjs +1 -1
  63. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  64. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs +2 -1
  65. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
  66. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  67. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  68. package/cjs/components/Chip/Chip.cjs.map +1 -1
  69. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
  70. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  71. package/cjs/components/CloseButton/CloseIcon.cjs.map +1 -1
  72. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  73. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  74. package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
  75. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  76. package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
  77. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs +4 -6
  78. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  79. package/cjs/components/ColorPicker/Saturation/Saturation.cjs +4 -6
  80. package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
  81. package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
  82. package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
  83. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  84. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  85. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs +2 -1
  86. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
  87. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs +10 -9
  88. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
  89. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs +2 -1
  90. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
  91. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
  92. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs +2 -1
  93. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
  94. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
  95. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
  96. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  97. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs +10 -9
  98. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
  99. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  100. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.cjs.map +1 -1
  101. package/cjs/components/Combobox/get-options-lockup/get-option-by-label.cjs +17 -0
  102. package/cjs/components/Combobox/get-options-lockup/get-option-by-label.cjs.map +1 -0
  103. package/cjs/components/Combobox/is-external-input-change/is-external-input-change.cjs +17 -0
  104. package/cjs/components/Combobox/is-external-input-change/is-external-input-change.cjs.map +1 -0
  105. package/cjs/components/Combobox/use-combobox/get-index/get-index.cjs.map +1 -1
  106. package/cjs/components/Combobox/use-combobox/get-index/get-virtualized-index.cjs.map +1 -1
  107. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  108. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  109. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  110. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -1
  111. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs.map +1 -1
  112. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs +13 -12
  113. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs.map +1 -1
  114. package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
  115. package/cjs/components/DataList/DataList.cjs.map +1 -1
  116. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  117. package/cjs/components/Divider/Divider.cjs.map +1 -1
  118. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  119. package/cjs/components/Drawer/DrawerBody.cjs +2 -1
  120. package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
  121. package/cjs/components/Drawer/DrawerCloseButton.cjs +2 -1
  122. package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
  123. package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
  124. package/cjs/components/Drawer/DrawerHeader.cjs +2 -1
  125. package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
  126. package/cjs/components/Drawer/DrawerOverlay.cjs +2 -1
  127. package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
  128. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  129. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  130. package/cjs/components/Drawer/DrawerTitle.cjs +2 -1
  131. package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
  132. package/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  133. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs +2 -1
  134. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs.map +1 -1
  135. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs +2 -1
  136. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs.map +1 -1
  137. package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
  138. package/cjs/components/FileButton/FileButton.cjs.map +1 -1
  139. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  140. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  141. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
  142. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  143. package/cjs/components/FloatingWindow/FloatingWindowResizeHandle.cjs.map +1 -1
  144. package/cjs/components/FocusTrap/FocusTrap.cjs +2 -1
  145. package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
  146. package/cjs/components/Grid/Grid.cjs.map +1 -1
  147. package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
  148. package/cjs/components/Group/Group.cjs +16 -14
  149. package/cjs/components/Group/Group.cjs.map +1 -1
  150. package/cjs/components/Highlight/Highlight.cjs.map +1 -1
  151. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  152. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  153. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
  154. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  155. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  156. package/cjs/components/Image/Image.cjs.map +1 -1
  157. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  158. package/cjs/components/Input/Input.cjs +3 -3
  159. package/cjs/components/Input/Input.cjs.map +1 -1
  160. package/cjs/components/Input/Input.context.cjs.map +1 -1
  161. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  162. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  163. package/cjs/components/Input/InputDescription/InputDescription.cjs +2 -1
  164. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  165. package/cjs/components/Input/InputError/InputError.cjs +2 -1
  166. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  167. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  168. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs +13 -12
  169. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  170. package/cjs/components/Input/InputSuccess/InputSuccess.cjs +2 -1
  171. package/cjs/components/Input/InputSuccess/InputSuccess.cjs.map +1 -1
  172. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  173. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  174. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  175. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  176. package/cjs/components/Kbd/Kbd.cjs +14 -13
  177. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  178. package/cjs/components/List/List.cjs.map +1 -1
  179. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  180. package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
  181. package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
  182. package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
  183. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  184. package/cjs/components/Mark/Mark.cjs +14 -13
  185. package/cjs/components/Mark/Mark.cjs.map +1 -1
  186. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  187. package/cjs/components/MaskInput/MaskInput.cjs +3 -2
  188. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  189. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  190. package/cjs/components/Menu/Menu.cjs.map +1 -1
  191. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs +4 -3
  192. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -1
  193. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -1
  194. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs +2 -1
  195. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -1
  196. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs +3 -2
  197. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs.map +1 -1
  198. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs +2 -1
  199. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
  200. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  201. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  202. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs +2 -1
  203. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
  204. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs.map +1 -1
  205. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs.map +1 -1
  206. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs +2 -1
  207. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs.map +1 -1
  208. package/cjs/components/Menu/MenuSearch/MenuSearch.cjs.map +1 -1
  209. package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs.map +1 -1
  210. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  211. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  212. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  213. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  214. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  215. package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -1
  216. package/cjs/components/Menubar/Menubar.cjs.map +1 -1
  217. package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs.map +1 -1
  218. package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs.map +1 -1
  219. package/cjs/components/Modal/Modal.cjs.map +1 -1
  220. package/cjs/components/Modal/ModalBody.cjs +2 -1
  221. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  222. package/cjs/components/Modal/ModalCloseButton.cjs +2 -1
  223. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  224. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  225. package/cjs/components/Modal/ModalHeader.cjs +2 -1
  226. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  227. package/cjs/components/Modal/ModalOverlay.cjs +2 -1
  228. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  229. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  230. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  231. package/cjs/components/Modal/ModalTitle.cjs +2 -1
  232. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  233. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  234. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  235. package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
  236. package/cjs/components/ModalBase/ModalBaseCloseButton.cjs.map +1 -1
  237. package/cjs/components/ModalBase/ModalBaseContent.cjs.map +1 -1
  238. package/cjs/components/ModalBase/ModalBaseHeader.cjs.map +1 -1
  239. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  240. package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
  241. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  242. package/cjs/components/ModalBase/use-modal.cjs +2 -1
  243. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  244. package/cjs/components/MultiSelect/MultiSelect.cjs +9 -0
  245. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  246. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  247. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  248. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  249. package/cjs/components/Notification/Notification.cjs +3 -3
  250. package/cjs/components/Notification/Notification.cjs.map +1 -1
  251. package/cjs/components/NumberInput/NumberInput.cjs +5 -3
  252. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  253. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  254. package/cjs/components/OverflowList/OverflowList.cjs +4 -2
  255. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  256. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  257. package/cjs/components/Overlay/Overlay.cjs +14 -13
  258. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  259. package/cjs/components/Pagination/Pagination.cjs +2 -1
  260. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  261. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  262. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs +2 -1
  263. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  264. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  265. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs +3 -2
  266. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  267. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -1
  268. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  269. package/cjs/components/Paper/Paper.cjs +1 -1
  270. package/cjs/components/Paper/Paper.cjs.map +1 -1
  271. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  272. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  273. package/cjs/components/Pill/Pill.cjs.map +1 -1
  274. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  275. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  276. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  277. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  278. package/cjs/components/PinInput/PinInput.cjs +6 -5
  279. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  280. package/cjs/components/Popover/Popover.cjs.map +1 -1
  281. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs +3 -2
  282. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -1
  283. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  284. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
  285. package/cjs/components/Popover/use-popover.cjs +16 -12
  286. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  287. package/cjs/components/Portal/Portal.cjs.map +1 -1
  288. package/cjs/components/Progress/Progress.cjs.map +1 -1
  289. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs +2 -1
  290. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  291. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  292. package/cjs/components/Radio/Radio.cjs.map +1 -1
  293. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  294. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  295. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  296. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  297. package/cjs/components/Rating/Rating.cjs +6 -3
  298. package/cjs/components/Rating/Rating.cjs.map +1 -1
  299. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  300. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  301. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs +2 -1
  302. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  303. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  304. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  305. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  306. package/cjs/components/RollingNumber/RollingNumber.cjs +19 -13
  307. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  308. package/cjs/components/RollingNumber/RollingNumber.module.cjs +1 -0
  309. package/cjs/components/RollingNumber/RollingNumber.module.cjs.map +1 -1
  310. package/cjs/components/ScrollArea/ScrollArea.cjs +8 -6
  311. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  312. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  313. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  314. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  315. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  316. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  317. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  318. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  319. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  320. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  321. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  322. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  323. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  324. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  325. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  326. package/cjs/components/Select/Select.cjs +12 -0
  327. package/cjs/components/Select/Select.cjs.map +1 -1
  328. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  329. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  330. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs +10 -8
  331. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  332. package/cjs/components/Skeleton/Skeleton.cjs +14 -13
  333. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  334. package/cjs/components/Slider/Marks/Marks.cjs +3 -2
  335. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  336. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +20 -11
  337. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  338. package/cjs/components/Slider/Slider/Slider.cjs +6 -6
  339. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  340. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  341. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  342. package/cjs/components/Splitter/GripIcon.cjs.map +1 -1
  343. package/cjs/components/Splitter/Splitter.cjs +8 -7
  344. package/cjs/components/Splitter/Splitter.cjs.map +1 -1
  345. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  346. package/cjs/components/Stack/Stack.cjs +14 -13
  347. package/cjs/components/Stack/Stack.cjs.map +1 -1
  348. package/cjs/components/Stepper/Stepper.cjs +6 -3
  349. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  350. package/cjs/components/Stepper/Stepper.context.cjs.map +1 -1
  351. package/cjs/components/Stepper/Stepper.module.cjs.map +1 -1
  352. package/cjs/components/Stepper/StepperStep/StepperStep.cjs +3 -2
  353. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  354. package/cjs/components/Switch/Switch.cjs.map +1 -1
  355. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  356. package/cjs/components/Table/Table.cjs +2 -2
  357. package/cjs/components/Table/Table.cjs.map +1 -1
  358. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  359. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  360. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  361. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  362. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  363. package/cjs/components/TagsInput/TagsInput.cjs +5 -1
  364. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  365. package/cjs/components/Text/Text.cjs +18 -17
  366. package/cjs/components/Text/Text.cjs.map +1 -1
  367. package/cjs/components/TextInput/TextInput.cjs +6 -5
  368. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  369. package/cjs/components/Textarea/Autosize.cjs.map +1 -1
  370. package/cjs/components/ThemeIcon/ThemeIcon.cjs +14 -13
  371. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  372. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  373. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  374. package/cjs/components/Title/Title.cjs +1 -1
  375. package/cjs/components/Title/Title.cjs.map +1 -1
  376. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  377. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs +2 -2
  378. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  379. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs +1 -0
  380. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  381. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  382. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  383. package/cjs/components/Transition/Transition.cjs.map +1 -1
  384. package/cjs/components/Transition/use-transition.cjs.map +1 -1
  385. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  386. package/cjs/components/Tree/Tree.cjs +2 -1
  387. package/cjs/components/Tree/Tree.cjs.map +1 -1
  388. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  389. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  390. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  391. package/cjs/components/TreeSelect/TreeSelect.cjs +14 -9
  392. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  393. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
  394. package/cjs/components/Typography/Typography.cjs +12 -11
  395. package/cjs/components/Typography/Typography.cjs.map +1 -1
  396. package/cjs/components/Typography/Typography.module.cjs.map +1 -1
  397. package/cjs/components/UnstyledButton/UnstyledButton.cjs +12 -11
  398. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  399. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs +12 -11
  400. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  401. package/cjs/core/Box/Box.cjs.map +1 -1
  402. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  403. package/cjs/core/DirectionProvider/DirectionProvider.cjs +3 -2
  404. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  405. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  406. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  407. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs +4 -2
  408. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  409. package/cjs/core/MantineProvider/MantineProvider.cjs +3 -3
  410. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  411. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  412. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -1
  413. package/cjs/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.cjs.map +1 -1
  414. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  415. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs +2 -1
  416. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  417. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  418. package/cjs/core/MantineProvider/use-matches/use-matches.cjs.map +1 -1
  419. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
  420. package/cjs/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.cjs.map +1 -1
  421. package/cjs/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.cjs.map +1 -1
  422. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  423. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs +0 -1
  424. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs.map +1 -1
  425. package/cjs/core/utils/deep-merge/deep-merge.cjs +4 -3
  426. package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -1
  427. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  428. package/cjs/index.cjs +6 -0
  429. package/cjs/utils/Floating/use-context-menu-handlers.cjs.map +1 -1
  430. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  431. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  432. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  433. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  434. package/esm/components/Accordion/AccordionChevron.mjs.map +1 -1
  435. package/esm/components/Accordion/AccordionControl/AccordionControl.mjs.map +1 -1
  436. package/esm/components/Accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  437. package/esm/components/Accordion/AccordionPanel/AccordionPanel.mjs.map +1 -1
  438. package/esm/components/ActionBar/ActionBar.context.mjs +8 -0
  439. package/esm/components/ActionBar/ActionBar.context.mjs.map +1 -0
  440. package/esm/components/ActionBar/ActionBar.mjs +94 -0
  441. package/esm/components/ActionBar/ActionBar.mjs.map +1 -0
  442. package/esm/components/ActionBar/ActionBar.module.mjs +10 -0
  443. package/esm/components/ActionBar/ActionBar.module.mjs.map +1 -0
  444. package/esm/components/ActionBar/ActionBarCloseButton/ActionBarCloseButton.mjs +33 -0
  445. package/esm/components/ActionBar/ActionBarCloseButton/ActionBarCloseButton.mjs.map +1 -0
  446. package/esm/components/ActionBar/ActionBarDivider/ActionBarDivider.mjs +30 -0
  447. package/esm/components/ActionBar/ActionBarDivider/ActionBarDivider.mjs.map +1 -0
  448. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  449. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs +16 -15
  450. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  451. package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs +15 -14
  452. package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs.map +1 -1
  453. package/esm/components/Affix/Affix.mjs.map +1 -1
  454. package/esm/components/Alert/Alert.mjs.map +1 -1
  455. package/esm/components/AngleSlider/AngleSlider.mjs +5 -4
  456. package/esm/components/AngleSlider/AngleSlider.mjs.map +1 -1
  457. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  458. package/esm/components/AppShell/AppShellMain/AppShellMain.mjs +2 -1
  459. package/esm/components/AppShell/AppShellMain/AppShellMain.mjs.map +1 -1
  460. package/esm/components/AspectRatio/AspectRatio.mjs +14 -13
  461. package/esm/components/AspectRatio/AspectRatio.mjs.map +1 -1
  462. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  463. package/esm/components/Avatar/Avatar.mjs.map +1 -1
  464. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
  465. package/esm/components/Avatar/AvatarPlaceholderIcon.mjs.map +1 -1
  466. package/esm/components/BackgroundImage/BackgroundImage.mjs +14 -13
  467. package/esm/components/BackgroundImage/BackgroundImage.mjs.map +1 -1
  468. package/esm/components/Badge/Badge.mjs.map +1 -1
  469. package/esm/components/Blockquote/Blockquote.mjs +6 -5
  470. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  471. package/esm/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
  472. package/esm/components/Burger/Burger.mjs.map +1 -1
  473. package/esm/components/Button/Button.mjs.map +1 -1
  474. package/esm/components/Button/ButtonGroup/ButtonGroup.mjs +16 -15
  475. package/esm/components/Button/ButtonGroup/ButtonGroup.mjs.map +1 -1
  476. package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs +15 -14
  477. package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs.map +1 -1
  478. package/esm/components/Card/Card.mjs.map +1 -1
  479. package/esm/components/Cascader/Cascader.mjs +10 -5
  480. package/esm/components/Cascader/Cascader.mjs.map +1 -1
  481. package/esm/components/Cascader/CascaderColumns.mjs +2 -1
  482. package/esm/components/Cascader/CascaderColumns.mjs.map +1 -1
  483. package/esm/components/Cascader/get-cascader-columns.mjs.map +1 -1
  484. package/esm/components/Checkbox/CheckIcon.mjs +6 -5
  485. package/esm/components/Checkbox/CheckIcon.mjs.map +1 -1
  486. package/esm/components/Checkbox/Checkbox.mjs +1 -1
  487. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  488. package/esm/components/Checkbox/CheckboxCard/CheckboxCard.mjs +2 -1
  489. package/esm/components/Checkbox/CheckboxCard/CheckboxCard.mjs.map +1 -1
  490. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  491. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  492. package/esm/components/Chip/Chip.mjs.map +1 -1
  493. package/esm/components/CloseButton/CloseButton.mjs.map +1 -1
  494. package/esm/components/CloseButton/CloseIcon.mjs.map +1 -1
  495. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  496. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  497. package/esm/components/ColorInput/EyeDropperIcon.mjs.map +1 -1
  498. package/esm/components/ColorPicker/ColorPicker.mjs.map +1 -1
  499. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs +4 -6
  500. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  501. package/esm/components/ColorPicker/Saturation/Saturation.mjs +4 -6
  502. package/esm/components/ColorPicker/Saturation/Saturation.mjs.map +1 -1
  503. package/esm/components/ColorPicker/Swatches/Swatches.mjs.map +1 -1
  504. package/esm/components/ColorSwatch/ColorSwatch.mjs.map +1 -1
  505. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  506. package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs.map +1 -1
  507. package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs +2 -1
  508. package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs.map +1 -1
  509. package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs +10 -9
  510. package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs.map +1 -1
  511. package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs +2 -1
  512. package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
  513. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs.map +1 -1
  514. package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs +2 -1
  515. package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
  516. package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs +10 -9
  517. package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs.map +1 -1
  518. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  519. package/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs.map +1 -1
  520. package/esm/components/Combobox/get-options-lockup/get-option-by-label.mjs +17 -0
  521. package/esm/components/Combobox/get-options-lockup/get-option-by-label.mjs.map +1 -0
  522. package/esm/components/Combobox/is-external-input-change/is-external-input-change.mjs +17 -0
  523. package/esm/components/Combobox/is-external-input-change/is-external-input-change.mjs.map +1 -0
  524. package/esm/components/Combobox/use-combobox/get-index/get-index.mjs.map +1 -1
  525. package/esm/components/Combobox/use-combobox/get-index/get-virtualized-index.mjs.map +1 -1
  526. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
  527. package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -1
  528. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs +13 -12
  529. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs.map +1 -1
  530. package/esm/components/DataList/DataList.mjs.map +1 -1
  531. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  532. package/esm/components/Divider/Divider.mjs.map +1 -1
  533. package/esm/components/Drawer/Drawer.mjs.map +1 -1
  534. package/esm/components/Drawer/DrawerBody.mjs +2 -1
  535. package/esm/components/Drawer/DrawerBody.mjs.map +1 -1
  536. package/esm/components/Drawer/DrawerCloseButton.mjs +2 -1
  537. package/esm/components/Drawer/DrawerCloseButton.mjs.map +1 -1
  538. package/esm/components/Drawer/DrawerContent.mjs.map +1 -1
  539. package/esm/components/Drawer/DrawerHeader.mjs +2 -1
  540. package/esm/components/Drawer/DrawerHeader.mjs.map +1 -1
  541. package/esm/components/Drawer/DrawerOverlay.mjs +2 -1
  542. package/esm/components/Drawer/DrawerOverlay.mjs.map +1 -1
  543. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  544. package/esm/components/Drawer/DrawerTitle.mjs +2 -1
  545. package/esm/components/Drawer/DrawerTitle.mjs.map +1 -1
  546. package/esm/components/EmptyState/EmptyState.mjs.map +1 -1
  547. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs +2 -1
  548. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs.map +1 -1
  549. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs +2 -1
  550. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs.map +1 -1
  551. package/esm/components/Fieldset/Fieldset.mjs.map +1 -1
  552. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  553. package/esm/components/FloatingWindow/FloatingWindow.mjs.map +1 -1
  554. package/esm/components/FocusTrap/FocusTrap.mjs +2 -1
  555. package/esm/components/FocusTrap/FocusTrap.mjs.map +1 -1
  556. package/esm/components/Grid/Grid.mjs.map +1 -1
  557. package/esm/components/Group/Group.mjs +16 -14
  558. package/esm/components/Group/Group.mjs.map +1 -1
  559. package/esm/components/Highlight/Highlight.mjs.map +1 -1
  560. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  561. package/esm/components/HoverCard/HoverCardGroup/HoverCardGroup.mjs.map +1 -1
  562. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  563. package/esm/components/Indicator/Indicator.mjs.map +1 -1
  564. package/esm/components/Input/Input.mjs +3 -3
  565. package/esm/components/Input/Input.mjs.map +1 -1
  566. package/esm/components/Input/InputClearSection/InputClearSection.mjs.map +1 -1
  567. package/esm/components/Input/InputDescription/InputDescription.mjs +2 -1
  568. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  569. package/esm/components/Input/InputError/InputError.mjs +2 -1
  570. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  571. package/esm/components/Input/InputLabel/InputLabel.mjs.map +1 -1
  572. package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs +13 -12
  573. package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs.map +1 -1
  574. package/esm/components/Input/InputSuccess/InputSuccess.mjs +2 -1
  575. package/esm/components/Input/InputSuccess/InputSuccess.mjs.map +1 -1
  576. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  577. package/esm/components/InputBase/InputBase.mjs.map +1 -1
  578. package/esm/components/Kbd/Kbd.mjs +14 -13
  579. package/esm/components/Kbd/Kbd.mjs.map +1 -1
  580. package/esm/components/List/List.mjs.map +1 -1
  581. package/esm/components/List/ListItem/ListItem.mjs.map +1 -1
  582. package/esm/components/Loader/loaders/Bars.mjs.map +1 -1
  583. package/esm/components/Loader/loaders/Dots.mjs.map +1 -1
  584. package/esm/components/LoadingOverlay/LoadingOverlay.mjs.map +1 -1
  585. package/esm/components/Mark/Mark.mjs +14 -13
  586. package/esm/components/Mark/Mark.mjs.map +1 -1
  587. package/esm/components/Marquee/Marquee.mjs.map +1 -1
  588. package/esm/components/MaskInput/MaskInput.mjs +3 -2
  589. package/esm/components/MaskInput/MaskInput.mjs.map +1 -1
  590. package/esm/components/Menu/Menu.mjs.map +1 -1
  591. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs +4 -3
  592. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs.map +1 -1
  593. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs +2 -1
  594. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs.map +1 -1
  595. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs +3 -2
  596. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs.map +1 -1
  597. package/esm/components/Menu/MenuDivider/MenuDivider.mjs +2 -1
  598. package/esm/components/Menu/MenuDivider/MenuDivider.mjs.map +1 -1
  599. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  600. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  601. package/esm/components/Menu/MenuLabel/MenuLabel.mjs +2 -1
  602. package/esm/components/Menu/MenuLabel/MenuLabel.mjs.map +1 -1
  603. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs +2 -1
  604. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs.map +1 -1
  605. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -1
  606. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  607. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  608. package/esm/components/Menu/MenuTarget/MenuTarget.mjs.map +1 -1
  609. package/esm/components/Menubar/Menubar.mjs.map +1 -1
  610. package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs.map +1 -1
  611. package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs.map +1 -1
  612. package/esm/components/Modal/Modal.mjs.map +1 -1
  613. package/esm/components/Modal/ModalBody.mjs +2 -1
  614. package/esm/components/Modal/ModalBody.mjs.map +1 -1
  615. package/esm/components/Modal/ModalCloseButton.mjs +2 -1
  616. package/esm/components/Modal/ModalCloseButton.mjs.map +1 -1
  617. package/esm/components/Modal/ModalContent.mjs.map +1 -1
  618. package/esm/components/Modal/ModalHeader.mjs +2 -1
  619. package/esm/components/Modal/ModalHeader.mjs.map +1 -1
  620. package/esm/components/Modal/ModalOverlay.mjs +2 -1
  621. package/esm/components/Modal/ModalOverlay.mjs.map +1 -1
  622. package/esm/components/Modal/ModalRoot.mjs.map +1 -1
  623. package/esm/components/Modal/ModalTitle.mjs +2 -1
  624. package/esm/components/Modal/ModalTitle.mjs.map +1 -1
  625. package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
  626. package/esm/components/ModalBase/ModalBaseContent.mjs.map +1 -1
  627. package/esm/components/ModalBase/ModalBaseOverlay.mjs.map +1 -1
  628. package/esm/components/ModalBase/use-modal.mjs +2 -1
  629. package/esm/components/ModalBase/use-modal.mjs.map +1 -1
  630. package/esm/components/MultiSelect/MultiSelect.mjs +9 -0
  631. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  632. package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
  633. package/esm/components/NativeSelect/NativeSelectOption.mjs.map +1 -1
  634. package/esm/components/NavLink/NavLink.mjs.map +1 -1
  635. package/esm/components/Notification/Notification.mjs +3 -3
  636. package/esm/components/Notification/Notification.mjs.map +1 -1
  637. package/esm/components/NumberInput/NumberInput.mjs +5 -3
  638. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  639. package/esm/components/NumberInput/NumberInputChevron.mjs.map +1 -1
  640. package/esm/components/OverflowList/OverflowList.mjs +4 -2
  641. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  642. package/esm/components/Overlay/Overlay.mjs +14 -13
  643. package/esm/components/Overlay/Overlay.mjs.map +1 -1
  644. package/esm/components/Pagination/Pagination.icons.mjs.map +1 -1
  645. package/esm/components/Pagination/Pagination.mjs +2 -1
  646. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  647. package/esm/components/Pagination/PaginationDots/PaginationDots.mjs +2 -1
  648. package/esm/components/Pagination/PaginationDots/PaginationDots.mjs.map +1 -1
  649. package/esm/components/Pagination/PaginationEdges/PaginationEdges.mjs.map +1 -1
  650. package/esm/components/Pagination/PaginationItems/PaginationItems.mjs +3 -2
  651. package/esm/components/Pagination/PaginationItems/PaginationItems.mjs.map +1 -1
  652. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs.map +1 -1
  653. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  654. package/esm/components/Paper/Paper.mjs +1 -1
  655. package/esm/components/Paper/Paper.mjs.map +1 -1
  656. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  657. package/esm/components/PasswordInput/PasswordToggleIcon.mjs.map +1 -1
  658. package/esm/components/Pill/Pill.mjs.map +1 -1
  659. package/esm/components/Pill/PillGroup/PillGroup.mjs.map +1 -1
  660. package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
  661. package/esm/components/PinInput/PinInput.mjs +6 -5
  662. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  663. package/esm/components/Popover/Popover.mjs.map +1 -1
  664. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs +3 -2
  665. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs.map +1 -1
  666. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
  667. package/esm/components/Popover/use-popover.mjs +16 -12
  668. package/esm/components/Popover/use-popover.mjs.map +1 -1
  669. package/esm/components/Progress/Progress.mjs.map +1 -1
  670. package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs +2 -1
  671. package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs.map +1 -1
  672. package/esm/components/Progress/ProgressRoot/ProgressRoot.mjs.map +1 -1
  673. package/esm/components/Radio/Radio.mjs.map +1 -1
  674. package/esm/components/Radio/RadioCard/RadioCard.mjs.map +1 -1
  675. package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
  676. package/esm/components/Radio/RadioIcon.mjs.map +1 -1
  677. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  678. package/esm/components/Rating/Rating.mjs +6 -3
  679. package/esm/components/Rating/Rating.mjs.map +1 -1
  680. package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
  681. package/esm/components/Rating/StarSymbol/StarIcon.mjs.map +1 -1
  682. package/esm/components/Rating/StarSymbol/StarSymbol.mjs +2 -1
  683. package/esm/components/Rating/StarSymbol/StarSymbol.mjs.map +1 -1
  684. package/esm/components/RingProgress/Curve/Curve.mjs.map +1 -1
  685. package/esm/components/RingProgress/RingProgress.mjs.map +1 -1
  686. package/esm/components/RollingNumber/DigitColumn.mjs.map +1 -1
  687. package/esm/components/RollingNumber/RollingNumber.mjs +20 -14
  688. package/esm/components/RollingNumber/RollingNumber.mjs.map +1 -1
  689. package/esm/components/RollingNumber/RollingNumber.module.mjs +1 -0
  690. package/esm/components/RollingNumber/RollingNumber.module.mjs.map +1 -1
  691. package/esm/components/ScrollArea/ScrollArea.mjs +8 -6
  692. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  693. package/esm/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.mjs.map +1 -1
  694. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
  695. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs.map +1 -1
  696. package/esm/components/Scroller/Scroller.mjs.map +1 -1
  697. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  698. package/esm/components/Select/Select.mjs +12 -0
  699. package/esm/components/Select/Select.mjs.map +1 -1
  700. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs.map +1 -1
  701. package/esm/components/SimpleGrid/SimpleGrid.mjs.map +1 -1
  702. package/esm/components/SimpleGrid/SimpleGridVariables.mjs +10 -8
  703. package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
  704. package/esm/components/Skeleton/Skeleton.mjs +14 -13
  705. package/esm/components/Skeleton/Skeleton.mjs.map +1 -1
  706. package/esm/components/Slider/Marks/Marks.mjs +3 -2
  707. package/esm/components/Slider/Marks/Marks.mjs.map +1 -1
  708. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +20 -11
  709. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  710. package/esm/components/Slider/Slider/Slider.mjs +6 -6
  711. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  712. package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
  713. package/esm/components/Slider/Track/Track.mjs.map +1 -1
  714. package/esm/components/Splitter/GripIcon.mjs.map +1 -1
  715. package/esm/components/Splitter/Splitter.mjs +8 -7
  716. package/esm/components/Splitter/Splitter.mjs.map +1 -1
  717. package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
  718. package/esm/components/Stack/Stack.mjs +14 -13
  719. package/esm/components/Stack/Stack.mjs.map +1 -1
  720. package/esm/components/Stepper/Stepper.context.mjs.map +1 -1
  721. package/esm/components/Stepper/Stepper.mjs +6 -3
  722. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  723. package/esm/components/Stepper/Stepper.module.mjs.map +1 -1
  724. package/esm/components/Stepper/StepperStep/StepperStep.mjs +3 -2
  725. package/esm/components/Stepper/StepperStep/StepperStep.mjs.map +1 -1
  726. package/esm/components/Switch/Switch.mjs.map +1 -1
  727. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
  728. package/esm/components/Table/Table.mjs +2 -2
  729. package/esm/components/Table/Table.mjs.map +1 -1
  730. package/esm/components/Table/TableScrollContainer.mjs.map +1 -1
  731. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -1
  732. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  733. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
  734. package/esm/components/Tabs/TabsTab/TabsTab.mjs.map +1 -1
  735. package/esm/components/TagsInput/TagsInput.mjs +5 -1
  736. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  737. package/esm/components/Text/Text.mjs +18 -17
  738. package/esm/components/Text/Text.mjs.map +1 -1
  739. package/esm/components/TextInput/TextInput.mjs +6 -5
  740. package/esm/components/TextInput/TextInput.mjs.map +1 -1
  741. package/esm/components/ThemeIcon/ThemeIcon.mjs +14 -13
  742. package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
  743. package/esm/components/Timeline/Timeline.mjs.map +1 -1
  744. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs.map +1 -1
  745. package/esm/components/Title/Title.mjs +1 -1
  746. package/esm/components/Title/Title.mjs.map +1 -1
  747. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  748. package/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs +2 -2
  749. package/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs.map +1 -1
  750. package/esm/components/Tooltip/TooltipFloating/use-floating-tooltip.mjs +1 -0
  751. package/esm/components/Tooltip/TooltipFloating/use-floating-tooltip.mjs.map +1 -1
  752. package/esm/components/Tooltip/TooltipGroup/TooltipGroup.mjs.map +1 -1
  753. package/esm/components/Transition/Transition.mjs.map +1 -1
  754. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  755. package/esm/components/Tree/Tree.mjs +2 -1
  756. package/esm/components/Tree/Tree.mjs.map +1 -1
  757. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  758. package/esm/components/Tree/use-tree.mjs.map +1 -1
  759. package/esm/components/TreeSelect/TreeSelect.mjs +14 -9
  760. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  761. package/esm/components/TreeSelect/TreeSelectOption.mjs.map +1 -1
  762. package/esm/components/Typography/Typography.mjs +12 -11
  763. package/esm/components/Typography/Typography.mjs.map +1 -1
  764. package/esm/components/Typography/Typography.module.mjs.map +1 -1
  765. package/esm/components/UnstyledButton/UnstyledButton.mjs +12 -11
  766. package/esm/components/UnstyledButton/UnstyledButton.mjs.map +1 -1
  767. package/esm/components/VisuallyHidden/VisuallyHidden.mjs +12 -11
  768. package/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
  769. package/esm/core/DirectionProvider/DirectionProvider.mjs +3 -2
  770. package/esm/core/DirectionProvider/DirectionProvider.mjs.map +1 -1
  771. package/esm/core/InlineStyles/InlineStyles.mjs.map +1 -1
  772. package/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs +4 -2
  773. package/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs.map +1 -1
  774. package/esm/core/MantineProvider/MantineProvider.mjs +3 -3
  775. package/esm/core/MantineProvider/MantineProvider.mjs.map +1 -1
  776. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -1
  777. package/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs.map +1 -1
  778. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs +2 -1
  779. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
  780. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs +0 -1
  781. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
  782. package/esm/core/utils/deep-merge/deep-merge.mjs +4 -3
  783. package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -1
  784. package/esm/index.mjs +4 -1
  785. package/esm/utils/InlineInput/InlineInput.mjs.map +1 -1
  786. package/lib/components/Accordion/Accordion.d.ts +1 -1
  787. package/lib/components/Accordion/AccordionChevron.d.ts +1 -1
  788. package/lib/components/ActionBar/ActionBar.context.d.ts +8 -0
  789. package/lib/components/ActionBar/ActionBar.d.ts +44 -0
  790. package/lib/components/ActionBar/ActionBarCloseButton/ActionBarCloseButton.d.ts +22 -0
  791. package/lib/components/ActionBar/ActionBarDivider/ActionBarDivider.d.ts +16 -0
  792. package/lib/components/ActionBar/index.d.ts +17 -0
  793. package/lib/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.d.ts +1 -1
  794. package/lib/components/Avatar/AvatarPlaceholderIcon.d.ts +1 -1
  795. package/lib/components/Cascader/CascaderColumns.d.ts +1 -1
  796. package/lib/components/Checkbox/CheckIcon.d.ts +2 -2
  797. package/lib/components/CloseButton/CloseIcon.d.ts +1 -1
  798. package/lib/components/ColorInput/EyeDropperIcon.d.ts +1 -1
  799. package/lib/components/ColorPicker/Saturation/Saturation.d.ts +1 -1
  800. package/lib/components/ColorPicker/Swatches/Swatches.d.ts +1 -1
  801. package/lib/components/ColorPicker/Thumb/Thumb.d.ts +1 -1
  802. package/lib/components/Combobox/Combobox.d.ts +1 -1
  803. package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +1 -1
  804. package/lib/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.d.ts +1 -1
  805. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +1 -1
  806. package/lib/components/Combobox/get-options-lockup/get-option-by-label.d.ts +8 -0
  807. package/lib/components/Combobox/is-external-input-change/is-external-input-change.d.ts +7 -0
  808. package/lib/components/ComboboxPopover/ComboboxPopover.d.ts +1 -1
  809. package/lib/components/CopyButton/CopyButton.d.ts +1 -1
  810. package/lib/components/Drawer/DrawerStack.d.ts +1 -1
  811. package/lib/components/FocusTrap/FocusTrap.d.ts +1 -1
  812. package/lib/components/Grid/GridCol/GridColVariables.d.ts +1 -1
  813. package/lib/components/Grid/GridVariables.d.ts +1 -1
  814. package/lib/components/HoverCard/HoverCard.d.ts +1 -1
  815. package/lib/components/HoverCard/HoverCardDropdown/HoverCardDropdown.d.ts +1 -1
  816. package/lib/components/HoverCard/HoverCardGroup/HoverCardGroup.d.ts +1 -1
  817. package/lib/components/HoverCard/HoverCardTarget/HoverCardTarget.d.ts +1 -1
  818. package/lib/components/Input/InputClearSection/InputClearSection.d.ts +1 -1
  819. package/lib/components/Input/index.d.ts +1 -1
  820. package/lib/components/Menu/Menu.d.ts +1 -1
  821. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.d.ts +1 -1
  822. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.d.ts +1 -1
  823. package/lib/components/Menu/MenuSelectableItem/MenuSelectableItem.d.ts +1 -1
  824. package/lib/components/Menu/MenuSub/MenuSub.d.ts +1 -1
  825. package/lib/components/Menu/MenuSubTarget/MenuSubTarget.d.ts +1 -1
  826. package/lib/components/Menu/MenuTarget/MenuTarget.d.ts +1 -1
  827. package/lib/components/Menubar/MenubarDropdown/MenubarDropdown.d.ts +1 -1
  828. package/lib/components/Menubar/MenubarMenu/MenubarMenu.d.ts +1 -1
  829. package/lib/components/Menubar/MenubarTarget/MenubarTarget.d.ts +1 -1
  830. package/lib/components/Modal/ModalStack.d.ts +1 -1
  831. package/lib/components/ModalBase/ModalBase.d.ts +1 -1
  832. package/lib/components/ModalBase/ModalBaseBody.d.ts +1 -1
  833. package/lib/components/ModalBase/ModalBaseCloseButton.d.ts +1 -1
  834. package/lib/components/ModalBase/ModalBaseContent.d.ts +1 -1
  835. package/lib/components/ModalBase/ModalBaseHeader.d.ts +1 -1
  836. package/lib/components/ModalBase/ModalBaseOverlay.d.ts +1 -1
  837. package/lib/components/ModalBase/ModalBaseTitle.d.ts +1 -1
  838. package/lib/components/ModalBase/NativeScrollArea.d.ts +1 -1
  839. package/lib/components/NativeSelect/NativeSelectOption.d.ts +1 -1
  840. package/lib/components/Notification/Notification.d.ts +2 -1
  841. package/lib/components/NumberFormatter/NumberFormatter.d.ts +1 -1
  842. package/lib/components/NumberInput/NumberInputChevron.d.ts +1 -1
  843. package/lib/components/Pagination/Pagination.icons.d.ts +5 -5
  844. package/lib/components/Pagination/PaginationItems/PaginationItems.d.ts +1 -1
  845. package/lib/components/PasswordInput/PasswordToggleIcon.d.ts +1 -1
  846. package/lib/components/Popover/Popover.d.ts +2 -2
  847. package/lib/components/Progress/Progress.d.ts +1 -1
  848. package/lib/components/Radio/RadioIcon.d.ts +1 -1
  849. package/lib/components/Rating/RatingItem/RatingItem.d.ts +1 -1
  850. package/lib/components/Rating/StarSymbol/StarIcon.d.ts +1 -1
  851. package/lib/components/Rating/StarSymbol/StarSymbol.d.ts +1 -1
  852. package/lib/components/RingProgress/Curve/Curve.d.ts +1 -1
  853. package/lib/components/RollingNumber/DigitColumn.d.ts +1 -1
  854. package/lib/components/RollingNumber/RollingNumber.d.ts +1 -1
  855. package/lib/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.d.ts +2 -2
  856. package/lib/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.d.ts +1 -1
  857. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.d.ts +1 -1
  858. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.d.ts +1 -1
  859. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.d.ts +1 -1
  860. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.d.ts +1 -1
  861. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.d.ts +1 -1
  862. package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.d.ts +1 -1
  863. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.d.ts +1 -1
  864. package/lib/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.d.ts +1 -1
  865. package/lib/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.d.ts +2 -2
  866. package/lib/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.d.ts +1 -1
  867. package/lib/components/SimpleGrid/SimpleGridVariables.d.ts +2 -2
  868. package/lib/components/Slider/Marks/Marks.d.ts +1 -1
  869. package/lib/components/Slider/SliderRoot/SliderRoot.d.ts +1 -1
  870. package/lib/components/Slider/Thumb/Thumb.d.ts +1 -1
  871. package/lib/components/Slider/Track/Track.d.ts +1 -1
  872. package/lib/components/Splitter/GripIcon.d.ts +2 -2
  873. package/lib/components/Stepper/Stepper.context.d.ts +1 -0
  874. package/lib/components/Stepper/Stepper.d.ts +3 -1
  875. package/lib/components/Table/TableDataRenderer.d.ts +1 -1
  876. package/lib/components/Textarea/Autosize.d.ts +1 -1
  877. package/lib/components/Tooltip/TooltipGroup/TooltipGroup.d.ts +1 -1
  878. package/lib/components/Transition/Transition.d.ts +1 -1
  879. package/lib/components/Tree/FlatTreeNode.d.ts +1 -1
  880. package/lib/components/Tree/Tree.d.ts +1 -1
  881. package/lib/components/Tree/TreeNode.d.ts +1 -1
  882. package/lib/components/TreeSelect/TreeSelectOption.d.ts +1 -1
  883. package/lib/components/index.d.ts +1 -0
  884. package/lib/core/DirectionProvider/DirectionProvider.d.ts +1 -1
  885. package/lib/core/InlineStyles/InlineStyles.d.ts +1 -1
  886. package/lib/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.d.ts +1 -1
  887. package/lib/core/MantineProvider/MantineClasses/MantineClasses.d.ts +1 -1
  888. package/lib/core/MantineProvider/MantineCssVariables/MantineCssVariables.d.ts +1 -1
  889. package/lib/core/MantineProvider/MantineProvider.d.ts +5 -5
  890. package/lib/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.d.ts +1 -1
  891. package/lib/utils/Floating/FloatingArrow/FloatingArrow.d.ts +1 -1
  892. package/lib/utils/InlineInput/InlineInput.d.ts +1 -1
  893. package/lib/utils/InputsGroupFieldset/InputsGroupFieldset.d.ts +1 -1
  894. package/package.json +5 -5
  895. package/styles/ActionBar.css +13 -0
  896. package/styles/ActionBar.layer.css +14 -0
  897. package/styles/RollingNumber.css +21 -0
  898. package/styles/RollingNumber.layer.css +21 -0
  899. package/styles/Stepper.css +30 -0
  900. package/styles/Stepper.layer.css +30 -0
  901. package/styles/Typography.css +59 -0
  902. package/styles/Typography.layer.css +59 -0
  903. package/styles.css +165 -41
  904. package/styles.layer.css +165 -41
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.cjs","names":["createVarsResolver","getSize","genericFactory","useProps","useStyles","useResolvedStylesApi","noop","UnstyledButton","NumberInputChevron","InputBase","NumericFormat","classes"],"sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport cx from 'clsx';\nimport { NumberFormatValues, NumericFormat, OnValueChange } from 'react-number-format';\nimport { assignRef, clamp, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n Factory,\n genericFactory,\n getSize,\n noop,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { NumberInputChevron } from './NumberInputChevron';\nimport classes from './NumberInput.module.css';\n\n// Re for negative -0, -0., -0.0, -0.00, -0.000 ... strings\n// And for positive 0., 0.0, 0.00, 0.000 ... strings\nconst leadingDecimalZeroPattern = /^(0\\.0*|-0(\\.0*)?)$/;\n\n// Re for 01, 006, 00.02, -0010, -000.293 ... and negative counterparts\nconst leadingZerosPattern = /^-?0\\d+(\\.\\d+)?\\.?$/;\n\n// Re for decimal numbers with trailing zeros like 13.0, 13.00, 5.10 ... strings\nconst trailingZerosPattern = /\\.\\d*0$/;\n\n// Re for numbers with trailing decimal separator like 10. or -3.\nconst trailingDecimalSeparatorPattern = /^-?\\d+\\.$/;\n\nexport interface NumberInputHandlers {\n increment: () => void;\n decrement: () => void;\n}\n\nexport type NumberInputMode = 'number' | 'bigint';\nexport type NumberInputNumericType = number | bigint;\nexport type NumberInputValue<T extends NumberInputNumericType = number> = T | string;\ntype NumberInputNumericValue<T extends NumberInputNumericType = number> = T;\ntype InternalNumberInputValue = string | number | bigint;\n\nfunction isNumberString(value: unknown) {\n return typeof value === 'string' && value !== '' && !Number.isNaN(Number(value));\n}\n\nfunction isBigIntValue(value: unknown): value is bigint {\n return typeof value === 'bigint';\n}\n\nfunction canStep(value: number | string) {\n if (typeof value === 'number') {\n return value < Number.MAX_SAFE_INTEGER;\n }\n\n return value === '' || (isNumberString(value) && Number(value) < Number.MAX_SAFE_INTEGER);\n}\n\nfunction isValidBigIntString(value: string, allowNegative: boolean) {\n if (value === '') {\n return false;\n }\n\n if (value === '-') {\n return false;\n }\n\n if (!allowNegative && value.startsWith('-')) {\n return false;\n }\n\n return /^-?\\d+$/.test(value);\n}\n\nfunction canStepBigInt(value: bigint | string, allowNegative: boolean) {\n if (typeof value === 'bigint') {\n return true;\n }\n\n return value === '' || isValidBigIntString(value, allowNegative);\n}\n\nfunction parseBigIntFromString(value: string): bigint | null {\n if (!/^-?\\d+$/.test(value)) {\n return null;\n }\n\n try {\n return BigInt(value);\n } catch {\n return null;\n }\n}\n\nfunction toBigIntOrUndefined(value: unknown): bigint | undefined {\n if (typeof value === 'bigint') {\n return value;\n }\n\n if (typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value)) {\n return BigInt(value);\n }\n\n return undefined;\n}\n\nfunction clampBigInt(value: bigint, min?: bigint, max?: bigint) {\n if (min !== undefined && value < min) {\n return min;\n }\n\n if (max !== undefined && value > max) {\n return max;\n }\n\n return value;\n}\n\nfunction getTotalDigits(inputValue: string | number): number {\n // All digits must be counted, parseFloat precision depends\n // on the number of digits in the input, not only on the decimal scale\n return inputValue.toString().replace('.', '').length;\n}\n\nfunction isValidNumber(floatValue: number | undefined, value: string): floatValue is number {\n return (\n (typeof floatValue === 'number'\n ? floatValue < Number.MAX_SAFE_INTEGER\n : !Number.isNaN(Number(floatValue))) &&\n !Number.isNaN(floatValue) &&\n getTotalDigits(value) < 14 &&\n value !== ''\n );\n}\n\nfunction isInRange(value: number | undefined, min: number | undefined, max: number | undefined) {\n if (value === undefined) {\n return true;\n }\n\n const minValid = min === undefined || value >= min;\n const maxValid = max === undefined || value <= max;\n\n return minValid && maxValid;\n}\n\nexport type NumberInputStylesNames = 'controls' | 'control' | __InputStylesNames;\nexport type NumberInputCssVariables = {\n controls: '--ni-chevron-size';\n};\n\nexport interface NumberInputProps<T extends NumberInputNumericType = number>\n extends\n BoxProps,\n Omit<__BaseInputProps, 'pointer'>,\n StylesApiProps<NumberInputFactory>,\n ElementProps<\n 'input',\n 'size' | 'type' | 'onChange' | 'value' | 'defaultValue' | 'min' | 'max' | 'step'\n > {\n /** Controlled component value */\n value?: NumberInputValue<T>;\n\n /** Uncontrolled component default value */\n defaultValue?: NumberInputValue<T>;\n\n /** Called when value changes */\n onChange?: (value: NumberInputValue<T>) => void;\n\n /** Called when value changes with `react-number-format` payload */\n onValueChange?: OnValueChange;\n\n /** Determines whether leading zeros are allowed during input. If `false`, leading zeros are removed as you type (e.g., typing `007` results in `7`). Works in conjunction with `trimLeadingZeroesOnBlur`. @default true */\n allowLeadingZeros?: boolean;\n\n /** Determines whether negative numbers are allowed. If `false`, the input will not accept negative values, and the decrement button will stop at `0` (when `min` is not set). @default true */\n allowNegative?: boolean;\n\n /** Characters which when pressed result in a decimal separator. These characters will be replaced by the `decimalSeparator` in the input value. @default ['.', ','] */\n allowedDecimalSeparators?: string[];\n\n /** Limits the number of digits that can be entered after the decimal point @default Infinity */\n decimalScale?: number;\n\n /** Character used as a decimal separator. Generally used with `allowedDecimalSeparators` prop. @default '.' */\n decimalSeparator?: string;\n\n /** If `true`, automatically pads the decimal part with zeros to match `decimalScale` (e.g., with `decimalScale={2}`, typing `5.1` displays as `5.10`). Requires `decimalScale` to be set. @default false */\n fixedDecimalScale?: boolean;\n\n /** Prefix added before the input value */\n prefix?: string;\n\n /** Suffix added after the input value */\n suffix?: string;\n\n /** Defines the thousand grouping style. 'thousand' (1,000), 'lakh' (1,00,000), 'wan' (1,0000), 'none'. */\n thousandsGroupStyle?: 'thousand' | 'lakh' | 'wan' | 'none';\n\n /** A function to validate the input value. If this function returns `false`, the `onChange` will not be called and the input value will not change. */\n isAllowed?: (values: NumberFormatValues) => boolean;\n\n /** Advanced: Set to `true` if you're passing numeric strings (e.g., `\"12345\"`) and using formatting props like `prefix` or `suffix`. In most cases, you don't need this prop. See [react-number-format docs](https://www.npmjs.com/package/react-number-format) for details. @default false */\n valueIsNumericString?: boolean;\n\n /** Controls input `type` attribute @default 'text' */\n type?: 'text' | 'tel' | 'password';\n\n /** A character used to separate thousands */\n thousandSeparator?: string | boolean;\n\n /** Minimum possible value */\n min?: NumberInputNumericValue<T>;\n\n /** Maximum possible value */\n max?: NumberInputNumericValue<T>;\n\n /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows @default 1 */\n step?: NumberInputNumericValue<T>;\n\n /** If set, the up/down controls are hidden @default false */\n hideControls?: boolean;\n\n /** Controls how values are clamped to the `min`/`max` range:\n * - `'blur'` (default): User can type any value, but it's clamped when the input loses focus\n * - `'strict'`: User cannot type values outside the range\n * - `'none'`: No clamping; `min`/`max` only apply to increment/decrement controls and arrow keys\n */\n clampBehavior?: 'strict' | 'blur' | 'none';\n\n /** If set, decimal values are allowed @default true */\n allowDecimal?: boolean;\n\n /** Increment/decrement handlers */\n handlersRef?: React.Ref<NumberInputHandlers | undefined>;\n\n /** Value used when incrementing/decrementing an empty input. If `min` is set and `startValue < min`, `min` is used instead. @default 0 */\n startValue?: NumberInputNumericValue<T>;\n\n /** Interval in milliseconds between value steps when increment/decrement button is held down. Can be a number or a function `(stepCount) => number` for dynamic intervals. Requires `stepHoldDelay` to be set. @default undefined */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** If set, up/down keyboard events increment/decrement value @default true */\n withKeyboardEvents?: boolean;\n\n /** If set, leading zeros are removed on blur. For example, `00100` -> `100` @default true */\n trimLeadingZeroesOnBlur?: boolean;\n\n /** If set, all text is selected when the input receives focus @default false */\n selectAllOnFocus?: boolean;\n\n /** Called when the increment button or arrow up key is pressed and the value has reached the maximum */\n onMinReached?: () => void;\n\n /** Called when the decrement button or arrow down key is pressed and the value has reached the minimum */\n onMaxReached?: () => void;\n}\n\nexport type NumberInputFactory = Factory<{\n props: NumberInputProps;\n ref: HTMLInputElement;\n stylesNames: NumberInputStylesNames;\n vars: NumberInputCssVariables;\n variant: InputVariant;\n signature: <T extends NumberInputNumericType = number>(\n props: NumberInputProps<T>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n step: 1,\n clampBehavior: 'blur',\n allowDecimal: true,\n allowNegative: true,\n withKeyboardEvents: true,\n allowLeadingZeros: true,\n trimLeadingZeroesOnBlur: true,\n startValue: 0,\n allowedDecimalSeparators: ['.', ','],\n} satisfies Partial<NumberInputProps<number | bigint>>;\n\nconst varsResolver = createVarsResolver<NumberInputFactory>((_, { size }) => ({\n controls: {\n '--ni-chevron-size': getSize(size, 'ni-chevron-size'),\n },\n}));\n\nfunction clampAndSanitizeInput(sanitizedValue: string | number, max?: number, min?: number) {\n const stringValue = sanitizedValue.toString();\n const hasTrailingDecimalSeparator = trailingDecimalSeparatorPattern.test(stringValue);\n\n const replaced = stringValue.replace(/^0+(?=\\d)/, '');\n const parsedValue = parseFloat(replaced);\n\n if (Number.isNaN(parsedValue)) {\n return replaced;\n }\n\n if (parsedValue > Number.MAX_SAFE_INTEGER) {\n return max !== undefined ? max : replaced;\n }\n\n const clamped = clamp(parsedValue, min, max);\n\n if (hasTrailingDecimalSeparator) {\n const clampedString = clamped.toString().replace(/^0+(?=\\d)/, '');\n return `${clampedString}.`;\n }\n\n return clamped;\n}\n\nfunction clampAndSanitizeBigIntInput(\n sanitizedValue: string,\n options: { min?: bigint; max?: bigint; clampBehavior: NumberInputProps['clampBehavior'] }\n) {\n if (sanitizedValue === '' || sanitizedValue === '-') {\n return sanitizedValue;\n }\n\n const parsed = parseBigIntFromString(sanitizedValue);\n\n if (parsed === null) {\n return sanitizedValue;\n }\n\n return options.clampBehavior === 'blur' ? clampBigInt(parsed, options.min, options.max) : parsed;\n}\n\nexport const NumberInput = genericFactory<NumberInputFactory>(\n <T extends NumberInputNumericType = number>(_props: NumberInputProps<T>) => {\n const props = useProps(\n ['Input', 'InputWrapper', 'NumberInput'],\n defaultProps as Partial<NumberInputProps>,\n _props as unknown as NumberInputProps\n );\n const {\n className,\n classNames,\n styles,\n unstyled,\n vars,\n onChange,\n onValueChange,\n value,\n defaultValue,\n max,\n min,\n step,\n hideControls,\n rightSection,\n isAllowed,\n clampBehavior,\n onBlur,\n allowDecimal,\n decimalScale,\n onKeyDown,\n onKeyDownCapture,\n handlersRef,\n startValue,\n disabled,\n rightSectionPointerEvents,\n allowNegative,\n readOnly,\n size,\n rightSectionWidth,\n stepHoldInterval,\n stepHoldDelay,\n allowLeadingZeros,\n withKeyboardEvents,\n trimLeadingZeroesOnBlur,\n allowedDecimalSeparators,\n selectAllOnFocus,\n onMinReached,\n onMaxReached,\n onFocus,\n attributes,\n ref,\n ...others\n } = props;\n const allowNegativeResolved = allowNegative ?? true;\n const allowLeadingZerosResolved = allowLeadingZeros ?? true;\n\n const getStyles = useStyles<NumberInputFactory>({\n name: 'NumberInput',\n classes,\n props: props as NumberInputProps,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<NumberInputFactory>({\n classNames,\n styles,\n props: props as NumberInputProps,\n });\n\n const valueModeRef = useRef<NumberInputMode>(\n isBigIntValue(value) || isBigIntValue(defaultValue) ? 'bigint' : 'number'\n );\n\n if (isBigIntValue(value)) {\n valueModeRef.current = 'bigint';\n } else if (typeof value === 'number') {\n valueModeRef.current = 'number';\n }\n\n const isBigIntMode = valueModeRef.current === 'bigint';\n\n const [_value, setValue] = useUncontrolled<InternalNumberInputValue>({\n value: value as InternalNumberInputValue | undefined,\n defaultValue: defaultValue as InternalNumberInputValue | undefined,\n finalValue: '',\n onChange: onChange as ((value: InternalNumberInputValue) => void) | undefined,\n });\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const inputRef = useRef<HTMLInputElement>(null);\n const onStepTimeoutRef = useRef<number | null>(null);\n const stepCountRef = useRef<number>(0);\n\n const minNumber = typeof min === 'number' ? min : undefined;\n const maxNumber = typeof max === 'number' ? max : undefined;\n const stepNumber = typeof step === 'number' ? step : defaultProps.step;\n const startValueNumber = typeof startValue === 'number' ? startValue : defaultProps.startValue;\n\n const minBigInt = toBigIntOrUndefined(min);\n const maxBigInt = toBigIntOrUndefined(max);\n const stepBigInt = toBigIntOrUndefined(step) ?? BigInt(1);\n const startValueBigInt = toBigIntOrUndefined(startValue) ?? BigInt(0);\n\n const parseBigIntOrString = (inputValue: string): bigint | string => {\n if (\n !isValidBigIntString(inputValue, allowNegativeResolved) ||\n (allowLeadingZerosResolved && leadingZerosPattern.test(inputValue))\n ) {\n return inputValue;\n }\n\n const parsed = parseBigIntFromString(inputValue);\n return parsed ?? inputValue;\n };\n\n const getBigIntFloatValue = (inputValue: bigint) => {\n const numericValue = Number(inputValue);\n return Number.isSafeInteger(numericValue) ? numericValue : undefined;\n };\n\n const handleValueChange: OnValueChange = (payload, event) => {\n if (event.source === 'event') {\n if (isBigIntMode) {\n setValue(parseBigIntOrString(payload.value));\n } else {\n setValue(\n isValidNumber(payload.floatValue, payload.value) &&\n !leadingDecimalZeroPattern.test(payload.value) &&\n !(allowLeadingZerosResolved ? leadingZerosPattern.test(payload.value) : false) &&\n !trailingZerosPattern.test(payload.value) &&\n !trailingDecimalSeparatorPattern.test(payload.value)\n ? payload.floatValue\n : payload.value\n );\n }\n }\n onValueChange?.(payload, event);\n };\n\n const getDecimalPlaces = (inputValue: number | string): number => {\n const match = String(inputValue).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) {\n return 0;\n }\n return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\n };\n\n const adjustCursor = (position?: number) => {\n if (inputRef.current && typeof position !== 'undefined') {\n inputRef.current.setSelectionRange(position, position);\n }\n };\n\n const incrementRef = useRef<() => void>(noop);\n incrementRef.current = () => {\n if (isBigIntMode) {\n if (!canStepBigInt(_value as bigint | string, allowNegativeResolved)) {\n return;\n }\n\n let val: bigint;\n const currentValue = _value;\n\n if (typeof currentValue === 'bigint') {\n const incrementedValue = currentValue + stepBigInt;\n if (maxBigInt !== undefined && incrementedValue > maxBigInt) {\n onMaxReached?.();\n }\n val =\n maxBigInt !== undefined && incrementedValue > maxBigInt ? maxBigInt : incrementedValue;\n } else if (typeof currentValue === 'string' && currentValue !== '') {\n const parsed = parseBigIntFromString(currentValue);\n if (parsed === null) {\n return;\n }\n\n const incrementedValue = parsed + stepBigInt;\n if (maxBigInt !== undefined && incrementedValue > maxBigInt) {\n onMaxReached?.();\n }\n val =\n maxBigInt !== undefined && incrementedValue > maxBigInt ? maxBigInt : incrementedValue;\n } else {\n val = clampBigInt(startValueBigInt, minBigInt, maxBigInt);\n }\n\n const formattedValue = val.toString();\n setValue(val);\n onValueChange?.(\n { floatValue: getBigIntFloatValue(val), formattedValue, value: formattedValue },\n { source: 'increment' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n return;\n }\n\n if (!canStep(_value as number | string)) {\n return;\n }\n\n let val: number;\n const currentValuePrecision = getDecimalPlaces(_value as number | string);\n const stepPrecision = getDecimalPlaces(stepNumber);\n const maxPrecision = Math.max(currentValuePrecision, stepPrecision);\n const factor = 10 ** maxPrecision;\n\n if (!isNumberString(_value) && (typeof _value !== 'number' || Number.isNaN(_value))) {\n val = clamp(startValueNumber, minNumber, maxNumber);\n } else if (maxNumber !== undefined) {\n const incrementedValue =\n (Math.round(Number(_value) * factor) + Math.round(stepNumber * factor)) / factor;\n if (incrementedValue > maxNumber) {\n onMaxReached?.();\n }\n val = incrementedValue <= maxNumber ? incrementedValue : maxNumber;\n } else {\n val = (Math.round(Number(_value) * factor) + Math.round(stepNumber * factor)) / factor;\n }\n\n const formattedValue = val.toFixed(maxPrecision);\n setValue(parseFloat(formattedValue));\n onValueChange?.(\n { floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },\n { source: 'increment' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n };\n\n const decrementRef = useRef<() => void>(noop);\n decrementRef.current = () => {\n if (isBigIntMode) {\n if (!canStepBigInt(_value as bigint | string, allowNegativeResolved)) {\n return;\n }\n\n let val: bigint;\n const minValue =\n minBigInt !== undefined ? minBigInt : !allowNegativeResolved ? BigInt(0) : undefined;\n const currentValue = _value;\n\n if (typeof currentValue === 'bigint') {\n const decrementedValue = currentValue - stepBigInt;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n } else if (typeof currentValue === 'string' && currentValue !== '') {\n const parsed = parseBigIntFromString(currentValue);\n if (parsed === null) {\n return;\n }\n\n const decrementedValue = parsed - stepBigInt;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n } else {\n val = clampBigInt(startValueBigInt, minValue, maxBigInt);\n }\n\n const formattedValue = val.toString();\n setValue(val);\n onValueChange?.(\n { floatValue: getBigIntFloatValue(val), formattedValue, value: formattedValue },\n { source: 'decrement' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n return;\n }\n\n if (!canStep(_value as number | string)) {\n return;\n }\n\n let val: number;\n const minValue =\n minNumber !== undefined ? minNumber : !allowNegativeResolved ? 0 : Number.MIN_SAFE_INTEGER;\n const currentValuePrecision = getDecimalPlaces(_value as number | string);\n const stepPrecision = getDecimalPlaces(stepNumber);\n const maxPrecision = Math.max(currentValuePrecision, stepPrecision);\n const factor = 10 ** maxPrecision;\n\n if ((!isNumberString(_value) && typeof _value !== 'number') || Number.isNaN(_value)) {\n val = clamp(startValueNumber, minValue, maxNumber);\n } else {\n const decrementedValue =\n (Math.round(Number(_value) * factor) - Math.round(stepNumber * factor)) / factor;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n }\n\n const formattedValue = val.toFixed(maxPrecision);\n setValue(parseFloat(formattedValue));\n onValueChange?.(\n { floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },\n { source: 'decrement' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const pastedText = event.clipboardData.getData('text');\n const _decimalSeparator = others.decimalSeparator || '.';\n const separatorsToReplace = (allowedDecimalSeparators || ['.', ',']).filter(\n (s) => s !== _decimalSeparator\n );\n\n if (separatorsToReplace.some((s) => pastedText.includes(s))) {\n event.preventDefault();\n let modifiedText = pastedText;\n separatorsToReplace.forEach((s) => {\n modifiedText = modifiedText.split(s).join(_decimalSeparator);\n });\n\n const input = inputRef.current;\n if (input) {\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? 0;\n const currentValue = input.value;\n const newValue =\n currentValue.substring(0, start) + modifiedText + currentValue.substring(end);\n\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n 'value'\n )?.set;\n nativeInputValueSetter?.call(input, newValue);\n input.dispatchEvent(new Event('change', { bubbles: true }));\n\n const cursorPos = start + modifiedText.length;\n setTimeout(() => adjustCursor(cursorPos), 0);\n }\n }\n\n others.onPaste?.(event as any);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (readOnly || !withKeyboardEvents) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n incrementRef.current?.();\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n decrementRef.current?.();\n }\n };\n\n const handleKeyDownCapture = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDownCapture?.(event);\n if (event.key === 'Backspace') {\n const input = inputRef.current;\n if (input && input.selectionStart === 0 && input.selectionStart === input.selectionEnd) {\n event.preventDefault();\n window.setTimeout(() => adjustCursor(0), 0);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (selectAllOnFocus) {\n setTimeout(() => event.currentTarget.select(), 0);\n }\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n let sanitizedValue = _value;\n\n if (isBigIntMode) {\n if (clampBehavior === 'blur' && typeof sanitizedValue === 'bigint') {\n sanitizedValue = clampBigInt(sanitizedValue, minBigInt, maxBigInt);\n }\n\n if (trimLeadingZeroesOnBlur && typeof sanitizedValue === 'string') {\n sanitizedValue = clampAndSanitizeBigIntInput(sanitizedValue, {\n min: minBigInt,\n max: maxBigInt,\n clampBehavior,\n });\n }\n } else {\n if (clampBehavior === 'blur' && typeof sanitizedValue === 'number') {\n sanitizedValue = clamp(sanitizedValue, minNumber, maxNumber);\n }\n\n if (\n trimLeadingZeroesOnBlur &&\n typeof sanitizedValue === 'string' &&\n getDecimalPlaces(sanitizedValue) < 15\n ) {\n sanitizedValue = clampAndSanitizeInput(sanitizedValue, maxNumber, minNumber);\n }\n }\n\n if (_value !== sanitizedValue) {\n setValue(sanitizedValue);\n }\n\n onBlur?.(event);\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current?.();\n } else {\n decrementRef.current?.();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current?.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const controls = (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={\n disabled ||\n (typeof _value === 'number' && maxNumber !== undefined && _value >= maxNumber) ||\n (typeof _value === 'bigint' && maxBigInt !== undefined && _value >= maxBigInt)\n }\n mod={{ direction: 'up' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <NumberInputChevron direction=\"up\" />\n </UnstyledButton>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={\n disabled ||\n (typeof _value === 'number' && minNumber !== undefined && _value <= minNumber) ||\n (typeof _value === 'bigint' && minBigInt !== undefined && _value <= minBigInt)\n }\n mod={{ direction: 'down' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <NumberInputChevron direction=\"down\" />\n </UnstyledButton>\n </div>\n );\n\n return (\n <InputBase\n component={NumericFormat}\n allowNegative={allowNegative}\n className={cx(classes.root, className)}\n size={size}\n {...others}\n inputMode={isBigIntMode ? 'numeric' : 'decimal'}\n readOnly={readOnly}\n disabled={disabled}\n value={typeof _value === 'bigint' ? _value.toString() : _value}\n getInputRef={useMergedRef(ref, inputRef)}\n onValueChange={handleValueChange}\n rightSection={\n hideControls ||\n readOnly ||\n !(isBigIntMode\n ? canStepBigInt(_value as bigint | string, allowNegativeResolved)\n : canStep(_value as number | string))\n ? rightSection\n : rightSection || controls\n }\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n __staticSelector=\"NumberInput\"\n decimalScale={isBigIntMode ? 0 : allowDecimal ? decimalScale : 0}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyDownCapture={handleKeyDownCapture}\n rightSectionPointerEvents={rightSectionPointerEvents ?? (disabled ? 'none' : undefined)}\n rightSectionWidth={rightSectionWidth ?? `var(--ni-right-section-width-${size || 'sm'})`}\n allowLeadingZeros={allowLeadingZeros}\n allowedDecimalSeparators={allowedDecimalSeparators}\n onBlur={handleBlur}\n attributes={attributes}\n isAllowed={(val) => {\n const userAllowed = isAllowed ? isAllowed(val) : true;\n if (!userAllowed) {\n return false;\n }\n\n if (clampBehavior !== 'strict') {\n return true;\n }\n\n if (!isBigIntMode) {\n return isInRange(val.floatValue, minNumber, maxNumber);\n }\n\n if (val.value === '' || val.value === '-') {\n return true;\n }\n\n const parsed = parseBigIntFromString(val.value);\n\n if (parsed === null) {\n return true;\n }\n\n return (\n (minBigInt === undefined || parsed >= minBigInt) &&\n (maxBigInt === undefined || parsed <= maxBigInt)\n );\n }}\n />\n );\n }\n);\n\nNumberInput.classes = { ...InputBase.classes, ...classes };\nNumberInput.varsResolver = varsResolver;\nNumberInput.displayName = '@mantine/core/NumberInput';\n\nexport namespace NumberInput {\n export type Props<T extends NumberInputNumericType = number> = NumberInputProps<T>;\n export type StylesNames = NumberInputStylesNames;\n export type Factory = NumberInputFactory;\n export type CssVariables = NumberInputCssVariables;\n export type Handlers = NumberInputHandlers;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.cjs","names":["createVarsResolver","getSize","clamp","genericFactory","useProps","useStyles","useResolvedStylesApi","useRef","useUncontrolled","noop","UnstyledButton","NumberInputChevron","InputBase","NumericFormat","cx","classes","useMergedRef"],"sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport cx from 'clsx';\nimport { NumberFormatValues, NumericFormat, OnValueChange } from 'react-number-format';\nimport { assignRef, clamp, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n Factory,\n genericFactory,\n getSize,\n noop,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { NumberInputChevron } from './NumberInputChevron';\nimport classes from './NumberInput.module.css';\n\n// Re for negative -0, -0., -0.0, -0.00, -0.000 ... strings\n// And for positive 0., 0.0, 0.00, 0.000 ... strings\nconst leadingDecimalZeroPattern = /^(0\\.0*|-0(\\.0*)?)$/;\n\n// Re for 01, 006, 00.02, -0010, -000.293 ... and negative counterparts\nconst leadingZerosPattern = /^-?0\\d+(\\.\\d+)?\\.?$/;\n\n// Re for decimal numbers with trailing zeros like 13.0, 13.00, 5.10 ... strings\nconst trailingZerosPattern = /\\.\\d*0$/;\n\n// Re for numbers with trailing decimal separator like 10. or -3.\nconst trailingDecimalSeparatorPattern = /^-?\\d+\\.$/;\n\nexport interface NumberInputHandlers {\n increment: () => void;\n decrement: () => void;\n}\n\nexport type NumberInputMode = 'number' | 'bigint';\nexport type NumberInputNumericType = number | bigint;\nexport type NumberInputValue<T extends NumberInputNumericType = number> = T | string;\ntype NumberInputNumericValue<T extends NumberInputNumericType = number> = T;\ntype InternalNumberInputValue = string | number | bigint;\n\nfunction isNumberString(value: unknown) {\n return typeof value === 'string' && value !== '' && !Number.isNaN(Number(value));\n}\n\nfunction isBigIntValue(value: unknown): value is bigint {\n return typeof value === 'bigint';\n}\n\nfunction canStep(value: number | string) {\n if (typeof value === 'number') {\n return value < Number.MAX_SAFE_INTEGER;\n }\n\n return value === '' || (isNumberString(value) && Number(value) < Number.MAX_SAFE_INTEGER);\n}\n\nfunction isValidBigIntString(value: string, allowNegative: boolean) {\n if (value === '') {\n return false;\n }\n\n if (value === '-') {\n return false;\n }\n\n if (!allowNegative && value.startsWith('-')) {\n return false;\n }\n\n return /^-?\\d+$/.test(value);\n}\n\nfunction canStepBigInt(value: bigint | string, allowNegative: boolean) {\n if (typeof value === 'bigint') {\n return true;\n }\n\n return value === '' || isValidBigIntString(value, allowNegative);\n}\n\nfunction parseBigIntFromString(value: string): bigint | null {\n if (!/^-?\\d+$/.test(value)) {\n return null;\n }\n\n try {\n return BigInt(value);\n } catch {\n return null;\n }\n}\n\nfunction toBigIntOrUndefined(value: unknown): bigint | undefined {\n if (typeof value === 'bigint') {\n return value;\n }\n\n if (typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value)) {\n return BigInt(value);\n }\n\n return undefined;\n}\n\nfunction clampBigInt(value: bigint, min?: bigint, max?: bigint) {\n if (min !== undefined && value < min) {\n return min;\n }\n\n if (max !== undefined && value > max) {\n return max;\n }\n\n return value;\n}\n\nfunction getTotalDigits(inputValue: string | number): number {\n // All digits must be counted, parseFloat precision depends\n // on the number of digits in the input, not only on the decimal scale\n return inputValue.toString().replace('.', '').length;\n}\n\nfunction isValidNumber(floatValue: number | undefined, value: string): floatValue is number {\n return (\n (typeof floatValue === 'number'\n ? floatValue < Number.MAX_SAFE_INTEGER\n : !Number.isNaN(Number(floatValue))) &&\n !Number.isNaN(floatValue) &&\n getTotalDigits(value) < 14 &&\n value !== ''\n );\n}\n\nfunction isInRange(value: number | undefined, min: number | undefined, max: number | undefined) {\n if (value === undefined) {\n return true;\n }\n\n const minValid = min === undefined || value >= min;\n const maxValid = max === undefined || value <= max;\n\n return minValid && maxValid;\n}\n\nexport type NumberInputStylesNames = 'controls' | 'control' | __InputStylesNames;\nexport type NumberInputCssVariables = {\n controls: '--ni-chevron-size';\n};\n\nexport interface NumberInputProps<T extends NumberInputNumericType = number>\n extends\n BoxProps,\n Omit<__BaseInputProps, 'pointer'>,\n StylesApiProps<NumberInputFactory>,\n ElementProps<\n 'input',\n 'size' | 'type' | 'onChange' | 'value' | 'defaultValue' | 'min' | 'max' | 'step'\n > {\n /** Controlled component value */\n value?: NumberInputValue<T>;\n\n /** Uncontrolled component default value */\n defaultValue?: NumberInputValue<T>;\n\n /** Called when value changes */\n onChange?: (value: NumberInputValue<T>) => void;\n\n /** Called when value changes with `react-number-format` payload */\n onValueChange?: OnValueChange;\n\n /** Determines whether leading zeros are allowed during input. If `false`, leading zeros are removed as you type (e.g., typing `007` results in `7`). Works in conjunction with `trimLeadingZeroesOnBlur`. @default true */\n allowLeadingZeros?: boolean;\n\n /** Determines whether negative numbers are allowed. If `false`, the input will not accept negative values, and the decrement button will stop at `0` (when `min` is not set). @default true */\n allowNegative?: boolean;\n\n /** Characters which when pressed result in a decimal separator. These characters will be replaced by the `decimalSeparator` in the input value. @default ['.', ','] */\n allowedDecimalSeparators?: string[];\n\n /** Limits the number of digits that can be entered after the decimal point @default Infinity */\n decimalScale?: number;\n\n /** Character used as a decimal separator. Generally used with `allowedDecimalSeparators` prop. @default '.' */\n decimalSeparator?: string;\n\n /** If `true`, automatically pads the decimal part with zeros to match `decimalScale` (e.g., with `decimalScale={2}`, typing `5.1` displays as `5.10`). Requires `decimalScale` to be set. @default false */\n fixedDecimalScale?: boolean;\n\n /** Prefix added before the input value */\n prefix?: string;\n\n /** Suffix added after the input value */\n suffix?: string;\n\n /** Defines the thousand grouping style. 'thousand' (1,000), 'lakh' (1,00,000), 'wan' (1,0000), 'none'. */\n thousandsGroupStyle?: 'thousand' | 'lakh' | 'wan' | 'none';\n\n /** A function to validate the input value. If this function returns `false`, the `onChange` will not be called and the input value will not change. */\n isAllowed?: (values: NumberFormatValues) => boolean;\n\n /** Advanced: Set to `true` if you're passing numeric strings (e.g., `\"12345\"`) and using formatting props like `prefix` or `suffix`. In most cases, you don't need this prop. See [react-number-format docs](https://www.npmjs.com/package/react-number-format) for details. @default false */\n valueIsNumericString?: boolean;\n\n /** Controls input `type` attribute @default 'text' */\n type?: 'text' | 'tel' | 'password';\n\n /** A character used to separate thousands */\n thousandSeparator?: string | boolean;\n\n /** Minimum possible value */\n min?: NumberInputNumericValue<T>;\n\n /** Maximum possible value */\n max?: NumberInputNumericValue<T>;\n\n /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows @default 1 */\n step?: NumberInputNumericValue<T>;\n\n /** If set, the up/down controls are hidden @default false */\n hideControls?: boolean;\n\n /** Controls how values are clamped to the `min`/`max` range:\n * - `'blur'` (default): User can type any value, but it's clamped when the input loses focus\n * - `'strict'`: User cannot type values outside the range\n * - `'none'`: No clamping; `min`/`max` only apply to increment/decrement controls and arrow keys\n */\n clampBehavior?: 'strict' | 'blur' | 'none';\n\n /** If set, decimal values are allowed @default true */\n allowDecimal?: boolean;\n\n /** Increment/decrement handlers */\n handlersRef?: React.Ref<NumberInputHandlers | undefined>;\n\n /** Value used when incrementing/decrementing an empty input. If `min` is set and `startValue < min`, `min` is used instead. @default 0 */\n startValue?: NumberInputNumericValue<T>;\n\n /** Interval in milliseconds between value steps when increment/decrement button is held down. Can be a number or a function `(stepCount) => number` for dynamic intervals. Requires `stepHoldDelay` to be set. @default undefined */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** If set, up/down keyboard events increment/decrement value @default true */\n withKeyboardEvents?: boolean;\n\n /** If set, leading zeros are removed on blur. For example, `00100` -> `100` @default true */\n trimLeadingZeroesOnBlur?: boolean;\n\n /** If set, all text is selected when the input receives focus @default false */\n selectAllOnFocus?: boolean;\n\n /** Called when the increment button or arrow up key is pressed and the value has reached the maximum */\n onMinReached?: () => void;\n\n /** Called when the decrement button or arrow down key is pressed and the value has reached the minimum */\n onMaxReached?: () => void;\n}\n\nexport type NumberInputFactory = Factory<{\n props: NumberInputProps;\n ref: HTMLInputElement;\n stylesNames: NumberInputStylesNames;\n vars: NumberInputCssVariables;\n variant: InputVariant;\n signature: <T extends NumberInputNumericType = number>(\n props: NumberInputProps<T>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n step: 1,\n clampBehavior: 'blur',\n allowDecimal: true,\n allowNegative: true,\n withKeyboardEvents: true,\n allowLeadingZeros: true,\n trimLeadingZeroesOnBlur: true,\n startValue: 0,\n allowedDecimalSeparators: ['.', ','],\n} satisfies Partial<NumberInputProps<number | bigint>>;\n\nconst varsResolver = createVarsResolver<NumberInputFactory>((_, { size }) => ({\n controls: {\n '--ni-chevron-size': getSize(size, 'ni-chevron-size'),\n },\n}));\n\nfunction clampAndSanitizeInput(sanitizedValue: string | number, max?: number, min?: number) {\n const stringValue = sanitizedValue.toString();\n const hasTrailingDecimalSeparator = trailingDecimalSeparatorPattern.test(stringValue);\n\n const replaced = stringValue.replace(/^0+(?=\\d)/, '');\n const parsedValue = parseFloat(replaced);\n\n if (Number.isNaN(parsedValue)) {\n return replaced;\n }\n\n if (parsedValue > Number.MAX_SAFE_INTEGER) {\n return max !== undefined ? max : replaced;\n }\n\n const clamped = clamp(parsedValue, min, max);\n\n if (hasTrailingDecimalSeparator) {\n const clampedString = clamped.toString().replace(/^0+(?=\\d)/, '');\n return `${clampedString}.`;\n }\n\n return clamped;\n}\n\nfunction clampAndSanitizeBigIntInput(\n sanitizedValue: string,\n options: { min?: bigint; max?: bigint; clampBehavior: NumberInputProps['clampBehavior'] }\n) {\n if (sanitizedValue === '' || sanitizedValue === '-') {\n return sanitizedValue;\n }\n\n const parsed = parseBigIntFromString(sanitizedValue);\n\n if (parsed === null) {\n return sanitizedValue;\n }\n\n return options.clampBehavior === 'blur' ? clampBigInt(parsed, options.min, options.max) : parsed;\n}\n\nexport const NumberInput = genericFactory<NumberInputFactory>(\n <T extends NumberInputNumericType = number>(_props: NumberInputProps<T>) => {\n const props = useProps(\n ['Input', 'InputWrapper', 'NumberInput'],\n defaultProps as Partial<NumberInputProps>,\n _props as unknown as NumberInputProps\n );\n const {\n className,\n classNames,\n styles,\n unstyled,\n vars,\n onChange,\n onValueChange,\n value,\n defaultValue,\n max,\n min,\n step,\n hideControls,\n rightSection,\n isAllowed,\n clampBehavior,\n onBlur,\n allowDecimal,\n decimalScale,\n onKeyDown,\n onKeyDownCapture,\n handlersRef,\n startValue,\n disabled,\n rightSectionPointerEvents,\n allowNegative,\n readOnly,\n size,\n rightSectionWidth,\n stepHoldInterval,\n stepHoldDelay,\n allowLeadingZeros,\n withKeyboardEvents,\n trimLeadingZeroesOnBlur,\n allowedDecimalSeparators,\n selectAllOnFocus,\n onMinReached,\n onMaxReached,\n onFocus,\n attributes,\n ref,\n ...others\n } = props;\n const allowNegativeResolved = allowNegative ?? true;\n const allowLeadingZerosResolved = allowLeadingZeros ?? true;\n\n const getStyles = useStyles<NumberInputFactory>({\n name: 'NumberInput',\n classes,\n props: props as NumberInputProps,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<NumberInputFactory>({\n classNames,\n styles,\n props: props as NumberInputProps,\n });\n\n const valueModeRef = useRef<NumberInputMode>(\n isBigIntValue(value) || isBigIntValue(defaultValue) ? 'bigint' : 'number'\n );\n\n if (isBigIntValue(value)) {\n valueModeRef.current = 'bigint';\n } else if (typeof value === 'number') {\n valueModeRef.current = 'number';\n }\n\n const isBigIntMode = valueModeRef.current === 'bigint';\n\n const [_value, setValue] = useUncontrolled<InternalNumberInputValue>({\n value: value as InternalNumberInputValue | undefined,\n defaultValue: defaultValue as InternalNumberInputValue | undefined,\n finalValue: '',\n onChange: onChange as ((value: InternalNumberInputValue) => void) | undefined,\n });\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const inputRef = useRef<HTMLInputElement>(null);\n const onStepTimeoutRef = useRef<number | null>(null);\n const stepCountRef = useRef<number>(0);\n\n const minNumber = typeof min === 'number' ? min : undefined;\n const maxNumber = typeof max === 'number' ? max : undefined;\n const stepNumber = typeof step === 'number' ? step : defaultProps.step;\n const startValueNumber = typeof startValue === 'number' ? startValue : defaultProps.startValue;\n\n const minBigInt = toBigIntOrUndefined(min);\n const maxBigInt = toBigIntOrUndefined(max);\n const stepBigInt = toBigIntOrUndefined(step) ?? BigInt(1);\n const startValueBigInt = toBigIntOrUndefined(startValue) ?? BigInt(0);\n\n const parseBigIntOrString = (inputValue: string): bigint | string => {\n if (\n !isValidBigIntString(inputValue, allowNegativeResolved) ||\n (allowLeadingZerosResolved && leadingZerosPattern.test(inputValue))\n ) {\n return inputValue;\n }\n\n const parsed = parseBigIntFromString(inputValue);\n return parsed ?? inputValue;\n };\n\n const getBigIntFloatValue = (inputValue: bigint) => {\n const numericValue = Number(inputValue);\n return Number.isSafeInteger(numericValue) ? numericValue : undefined;\n };\n\n const handleValueChange: OnValueChange = (payload, event) => {\n if (event.source === 'event') {\n if (isBigIntMode) {\n setValue(parseBigIntOrString(payload.value));\n } else {\n setValue(\n isValidNumber(payload.floatValue, payload.value) &&\n !leadingDecimalZeroPattern.test(payload.value) &&\n !(allowLeadingZerosResolved ? leadingZerosPattern.test(payload.value) : false) &&\n !trailingZerosPattern.test(payload.value) &&\n !trailingDecimalSeparatorPattern.test(payload.value)\n ? payload.floatValue\n : payload.value\n );\n }\n }\n onValueChange?.(payload, event);\n };\n\n const getDecimalPlaces = (inputValue: number | string): number => {\n const match = String(inputValue).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) {\n return 0;\n }\n return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\n };\n\n const adjustCursor = (position?: number) => {\n if (inputRef.current && typeof position !== 'undefined') {\n inputRef.current.setSelectionRange(position, position);\n }\n };\n\n const incrementRef = useRef<() => void>(noop);\n incrementRef.current = () => {\n if (isBigIntMode) {\n if (!canStepBigInt(_value as bigint | string, allowNegativeResolved)) {\n return;\n }\n\n let val: bigint;\n const currentValue = _value;\n\n if (typeof currentValue === 'bigint') {\n const incrementedValue = currentValue + stepBigInt;\n if (maxBigInt !== undefined && incrementedValue > maxBigInt) {\n onMaxReached?.();\n }\n val =\n maxBigInt !== undefined && incrementedValue > maxBigInt ? maxBigInt : incrementedValue;\n } else if (typeof currentValue === 'string' && currentValue !== '') {\n const parsed = parseBigIntFromString(currentValue);\n if (parsed === null) {\n return;\n }\n\n const incrementedValue = parsed + stepBigInt;\n if (maxBigInt !== undefined && incrementedValue > maxBigInt) {\n onMaxReached?.();\n }\n val =\n maxBigInt !== undefined && incrementedValue > maxBigInt ? maxBigInt : incrementedValue;\n } else {\n val = clampBigInt(startValueBigInt, minBigInt, maxBigInt);\n }\n\n const formattedValue = val.toString();\n setValue(val);\n onValueChange?.(\n { floatValue: getBigIntFloatValue(val), formattedValue, value: formattedValue },\n { source: 'increment' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n return;\n }\n\n if (!canStep(_value as number | string)) {\n return;\n }\n\n let val: number;\n const currentValuePrecision = getDecimalPlaces(_value as number | string);\n const stepPrecision = getDecimalPlaces(stepNumber);\n const maxPrecision = Math.max(currentValuePrecision, stepPrecision);\n const factor = 10 ** maxPrecision;\n\n if (!isNumberString(_value) && (typeof _value !== 'number' || Number.isNaN(_value))) {\n val = clamp(startValueNumber, minNumber, maxNumber);\n } else if (maxNumber !== undefined) {\n const incrementedValue =\n (Math.round(Number(_value) * factor) + Math.round(stepNumber * factor)) / factor;\n if (incrementedValue > maxNumber) {\n onMaxReached?.();\n }\n val = incrementedValue <= maxNumber ? incrementedValue : maxNumber;\n } else {\n val = (Math.round(Number(_value) * factor) + Math.round(stepNumber * factor)) / factor;\n }\n\n const formattedValue = val.toFixed(maxPrecision);\n setValue(parseFloat(formattedValue));\n onValueChange?.(\n { floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },\n { source: 'increment' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n };\n\n const decrementRef = useRef<() => void>(noop);\n decrementRef.current = () => {\n if (isBigIntMode) {\n if (!canStepBigInt(_value as bigint | string, allowNegativeResolved)) {\n return;\n }\n\n let val: bigint;\n const minValue =\n minBigInt !== undefined ? minBigInt : !allowNegativeResolved ? BigInt(0) : undefined;\n const currentValue = _value;\n\n if (typeof currentValue === 'bigint') {\n const decrementedValue = currentValue - stepBigInt;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n } else if (typeof currentValue === 'string' && currentValue !== '') {\n const parsed = parseBigIntFromString(currentValue);\n if (parsed === null) {\n return;\n }\n\n const decrementedValue = parsed - stepBigInt;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n } else {\n val = clampBigInt(startValueBigInt, minValue, maxBigInt);\n }\n\n const formattedValue = val.toString();\n setValue(val);\n onValueChange?.(\n { floatValue: getBigIntFloatValue(val), formattedValue, value: formattedValue },\n { source: 'decrement' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n return;\n }\n\n if (!canStep(_value as number | string)) {\n return;\n }\n\n let val: number;\n const minValue =\n minNumber !== undefined ? minNumber : !allowNegativeResolved ? 0 : Number.MIN_SAFE_INTEGER;\n const currentValuePrecision = getDecimalPlaces(_value as number | string);\n const stepPrecision = getDecimalPlaces(stepNumber);\n const maxPrecision = Math.max(currentValuePrecision, stepPrecision);\n const factor = 10 ** maxPrecision;\n\n if ((!isNumberString(_value) && typeof _value !== 'number') || Number.isNaN(_value)) {\n val = clamp(startValueNumber, minValue, maxNumber);\n } else {\n const decrementedValue =\n (Math.round(Number(_value) * factor) - Math.round(stepNumber * factor)) / factor;\n if (minValue !== undefined && decrementedValue < minValue) {\n onMinReached?.();\n }\n val = minValue !== undefined && decrementedValue < minValue ? minValue : decrementedValue;\n }\n\n const formattedValue = val.toFixed(maxPrecision);\n setValue(parseFloat(formattedValue));\n onValueChange?.(\n { floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },\n { source: 'decrement' as any }\n );\n setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const pastedText = event.clipboardData.getData('text');\n const _decimalSeparator = others.decimalSeparator || '.';\n const separatorsToReplace = (allowedDecimalSeparators || ['.', ',']).filter(\n (s) => s !== _decimalSeparator\n );\n\n if (separatorsToReplace.some((s) => pastedText.includes(s))) {\n event.preventDefault();\n let modifiedText = pastedText;\n separatorsToReplace.forEach((s) => {\n modifiedText = modifiedText.split(s).join(_decimalSeparator);\n });\n\n const input = inputRef.current;\n if (input) {\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? 0;\n const currentValue = input.value;\n const newValue =\n currentValue.substring(0, start) + modifiedText + currentValue.substring(end);\n\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n 'value'\n )?.set;\n nativeInputValueSetter?.call(input, newValue);\n input.dispatchEvent(new Event('change', { bubbles: true }));\n\n const cursorPos = start + modifiedText.length;\n setTimeout(() => adjustCursor(cursorPos), 0);\n }\n }\n\n others.onPaste?.(event as any);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (readOnly || !withKeyboardEvents) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n incrementRef.current?.();\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n decrementRef.current?.();\n }\n };\n\n const handleKeyDownCapture = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDownCapture?.(event);\n if (event.key === 'Backspace') {\n const input = inputRef.current;\n if (input && input.selectionStart === 0 && input.selectionStart === input.selectionEnd) {\n event.preventDefault();\n window.setTimeout(() => adjustCursor(0), 0);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (selectAllOnFocus) {\n window.setTimeout(() => inputRef.current?.select(), 0);\n }\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n let sanitizedValue = _value;\n\n if (isBigIntMode) {\n if (clampBehavior === 'blur' && typeof sanitizedValue === 'bigint') {\n sanitizedValue = clampBigInt(sanitizedValue, minBigInt, maxBigInt);\n }\n\n if (trimLeadingZeroesOnBlur && typeof sanitizedValue === 'string') {\n sanitizedValue = clampAndSanitizeBigIntInput(sanitizedValue, {\n min: minBigInt,\n max: maxBigInt,\n clampBehavior,\n });\n }\n } else {\n if (clampBehavior === 'blur' && typeof sanitizedValue === 'number') {\n sanitizedValue = clamp(sanitizedValue, minNumber, maxNumber);\n }\n\n if (\n trimLeadingZeroesOnBlur &&\n typeof sanitizedValue === 'string' &&\n getDecimalPlaces(sanitizedValue) < 15\n ) {\n sanitizedValue = clampAndSanitizeInput(sanitizedValue, maxNumber, minNumber);\n }\n }\n\n if (_value !== sanitizedValue) {\n setValue(sanitizedValue);\n }\n\n onBlur?.(event);\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current?.();\n } else {\n decrementRef.current?.();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current?.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const controls = (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={\n disabled ||\n (typeof _value === 'number' && maxNumber !== undefined && _value >= maxNumber) ||\n (typeof _value === 'bigint' && maxBigInt !== undefined && _value >= maxBigInt)\n }\n mod={{ direction: 'up' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <NumberInputChevron direction=\"up\" />\n </UnstyledButton>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={\n disabled ||\n (typeof _value === 'number' && minNumber !== undefined && _value <= minNumber) ||\n (typeof _value === 'bigint' && minBigInt !== undefined && _value <= minBigInt)\n }\n mod={{ direction: 'down' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <NumberInputChevron direction=\"down\" />\n </UnstyledButton>\n </div>\n );\n\n return (\n <InputBase\n component={NumericFormat}\n allowNegative={allowNegative}\n className={cx(classes.root, className)}\n size={size}\n {...others}\n inputMode={isBigIntMode ? 'numeric' : 'decimal'}\n readOnly={readOnly}\n disabled={disabled}\n value={typeof _value === 'bigint' ? _value.toString() : _value}\n getInputRef={useMergedRef(ref, inputRef)}\n onValueChange={handleValueChange}\n rightSection={\n hideControls ||\n readOnly ||\n !(isBigIntMode\n ? canStepBigInt(_value as bigint | string, allowNegativeResolved)\n : canStep(_value as number | string))\n ? rightSection\n : rightSection || controls\n }\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n __staticSelector=\"NumberInput\"\n decimalScale={isBigIntMode ? 0 : allowDecimal ? decimalScale : 0}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyDownCapture={handleKeyDownCapture}\n rightSectionPointerEvents={rightSectionPointerEvents ?? (disabled ? 'none' : undefined)}\n rightSectionWidth={rightSectionWidth ?? `var(--ni-right-section-width-${size || 'sm'})`}\n allowLeadingZeros={allowLeadingZeros}\n allowedDecimalSeparators={allowedDecimalSeparators}\n onBlur={handleBlur}\n attributes={attributes}\n isAllowed={(val) => {\n const userAllowed = isAllowed ? isAllowed(val) : true;\n if (!userAllowed) {\n return false;\n }\n\n if (clampBehavior !== 'strict') {\n return true;\n }\n\n if (!isBigIntMode) {\n return isInRange(val.floatValue, minNumber, maxNumber);\n }\n\n if (val.value === '' || val.value === '-') {\n return true;\n }\n\n const parsed = parseBigIntFromString(val.value);\n\n if (parsed === null) {\n return true;\n }\n\n return (\n (minBigInt === undefined || parsed >= minBigInt) &&\n (maxBigInt === undefined || parsed <= maxBigInt)\n );\n }}\n />\n );\n }\n);\n\nNumberInput.classes = { ...InputBase.classes, ...classes };\nNumberInput.varsResolver = varsResolver;\nNumberInput.displayName = '@mantine/core/NumberInput';\n\nexport namespace NumberInput {\n export type Props<T extends NumberInputNumericType = number> = NumberInputProps<T>;\n export type StylesNames = NumberInputStylesNames;\n export type Factory = NumberInputFactory;\n export type CssVariables = NumberInputCssVariables;\n export type Handlers = NumberInputHandlers;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInputChevron.cjs","names":[],"sources":["../../../src/components/NumberInput/NumberInputChevron.tsx"],"sourcesContent":["interface ChevronProps extends React.ComponentProps<'svg'> {\n direction: 'up' | 'down';\n}\n\nexport function NumberInputChevron({ direction, style, ...others }: ChevronProps) {\n return (\n <svg\n style={{\n width: 'var(--ni-chevron-size)',\n height: 'var(--ni-chevron-size)',\n transform: direction === 'up' ? 'rotate(180deg)' : undefined,\n ...style,\n }}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...others}\n >\n <path\n d=\"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,mBAAmB,EAAE,WAAW,OAAO,GAAG,UAAwB;CAChF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,OAAO;GACL,OAAO;GACP,QAAQ;GACR,WAAW,cAAc,OAAO,mBAAmB,KAAA;GACnD,GAAG;EACL;EACA,SAAQ;EACR,MAAK;EACL,OAAM;EACN,GAAI;YAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GACE,GAAE;GACF,MAAK;GACL,UAAS;GACT,UAAS;EACV,CAAA;CACE,CAAA;AAET"}
1
+ {"version":3,"file":"NumberInputChevron.cjs","names":[],"sources":["../../../src/components/NumberInput/NumberInputChevron.tsx"],"sourcesContent":["interface ChevronProps extends React.ComponentProps<'svg'> {\n direction: 'up' | 'down';\n}\n\nexport function NumberInputChevron({ direction, style, ...others }: ChevronProps) {\n return (\n <svg\n style={{\n width: 'var(--ni-chevron-size)',\n height: 'var(--ni-chevron-size)',\n transform: direction === 'up' ? 'rotate(180deg)' : undefined,\n ...style,\n }}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...others}\n >\n <path\n d=\"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,mBAAmB,EAAE,WAAW,OAAO,GAAG,UAAwB;CAChF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,OAAO;GACL,OAAO;GACP,QAAQ;GACR,WAAW,cAAc,OAAO,mBAAmB,KAAA;GACnD,GAAG;EACL;EACA,SAAQ;EACR,MAAK;EACL,OAAM;EACN,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GACE,GAAE;GACF,MAAK;GACL,UAAS;GACT,UAAS;EACV,CAAA;CACE,CAAA;AAET"}
@@ -52,12 +52,13 @@ const OverflowList = require_factory.genericFactory((_props) => {
52
52
  const _overflowRef = (0, react.useRef)(null);
53
53
  const overflowRef = (0, _mantine_hooks.useMergedRef)(_overflowRef, overflowElement?.ref);
54
54
  const dimensions = require_use_dimensions.useDimensions(containerRef);
55
+ const dataKey = (0, react.useMemo)(() => getDataSignature(data, getItemKey), [data, getItemKey]);
55
56
  (0, _mantine_hooks.useIsomorphicEffect)(() => {
56
57
  setPhase("measuring");
57
58
  setVisibleCount(data.length);
58
59
  setSubtractCount(0);
59
60
  }, [
60
- (0, react.useMemo)(() => getDataSignature(data, getItemKey), [data, getItemKey]),
61
+ dataKey,
61
62
  maxRows,
62
63
  collapseFrom
63
64
  ]);
@@ -160,7 +161,8 @@ const OverflowList = require_factory.genericFactory((_props) => {
160
161
  finalItems.map((item, index) => {
161
162
  if (!(phase === "measuring" || (isCollapseStart ? index >= finalItems.length - finalVisibleCount : index < finalVisibleCount))) return null;
162
163
  const dataIndex = indexOffset + index;
163
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: renderItem(item, dataIndex) }, dataIndex);
164
+ const itemComponent = renderItem(item, dataIndex);
165
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: itemComponent }, dataIndex);
164
166
  }),
165
167
  !isCollapseStart && clonedOverflowElement
166
168
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"OverflowList.cjs","names":["createVarsResolver","getSpacing","genericFactory","useProps","useStyles","useDimensions","getRowPositionsData","Box","Fragment","classes"],"sources":["../../../src/components/OverflowList/OverflowList.tsx"],"sourcesContent":["// Originally based on https://github.com/Eliav2/react-responsive-overflow-list (MIT License)\n// Contains the modified version adapted for Mantine\nimport { cloneElement, useMemo, useRef, useState } from 'react';\nimport { Fragment } from 'react/jsx-runtime';\nimport { useIsomorphicEffect, useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n Factory,\n genericFactory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { getRowPositionsData } from './get-row-position-data';\nimport { useDimensions } from './use-dimensions';\nimport classes from './OverflowList.module.css';\n\nexport type OverflowListStylesNames = 'root';\nexport type OverflowListCssVariables = {\n root: '--ol-gap';\n};\n\nexport interface OverflowListProps<T = any>\n extends BoxProps, StylesApiProps<OverflowListFactory>, ElementProps<'div', 'children'> {\n /** Array of items to display */\n data: T[];\n\n /** Function to render item */\n renderItem: (item: T, index: number) => React.ReactNode;\n\n /** Function to render hidden items */\n renderOverflow: (items: T[]) => React.ReactNode;\n\n /** Number of rows to display @default 1 */\n maxRows?: number;\n\n /** Maximum number of visible items @default Infinity */\n maxVisibleItems?: number;\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem @default 'xs' */\n gap?: MantineSpacing;\n\n /** Direction from which items are collapsed when they overflow, `'end'` collapses last items, `'start'` collapses first items @default 'end' */\n collapseFrom?: 'start' | 'end';\n\n /** A function to resolve a unique key for each item. Used to detect when the contents of `data`\n * change (for example when items are reordered while the length stays the same) so the\n * visible/overflow split can be recomputed. Required to detect reordering when `data` contains\n * objects; for primitive items (strings, numbers) the item value is used by default. */\n getItemKey?: (item: T, index: number) => React.Key;\n}\n\nexport type OverflowListFactory = Factory<{\n props: OverflowListProps<any>;\n ref: HTMLDivElement;\n stylesNames: OverflowListStylesNames;\n vars: OverflowListCssVariables;\n signature: <T = any>(props: OverflowListProps<T>) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n maxRows: 1,\n maxVisibleItems: Infinity,\n} satisfies Partial<OverflowListProps<any>>;\n\nconst varsResolver = createVarsResolver<OverflowListFactory>((_, { gap }) => ({\n root: {\n '--ol-gap': getSpacing(gap),\n },\n}));\n\nfunction getDataSignature<T>(\n data: T[],\n getItemKey: ((item: T, index: number) => React.Key) | undefined\n): string {\n return data\n .map((item, index) => {\n if (getItemKey) {\n return getItemKey(item, index);\n }\n return item !== null && (typeof item === 'object' || typeof item === 'function')\n ? index\n : String(item);\n })\n .join('\\u0000');\n}\n\nexport const OverflowList = genericFactory<OverflowListFactory>((_props) => {\n const props = useProps('OverflowList', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n data,\n renderOverflow,\n renderItem,\n maxRows,\n maxVisibleItems,\n collapseFrom,\n getItemKey,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<OverflowListFactory>({\n name: 'OverflowList',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const [visibleCount, setVisibleCount] = useState(data.length);\n const [subtractCount, setSubtractCount] = useState(0);\n const [phase, setPhase] = useState<'normal' | 'measuring' | 'measuring-overflow-indicator'>(\n 'normal'\n );\n\n const containerRef = useRef<HTMLElement>(null);\n const rootRef = useMergedRef(containerRef, ref);\n const finalVisibleCount = visibleCount - subtractCount;\n const overflowCount = data.length - finalVisibleCount;\n const showOverflow = overflowCount > 0 && phase !== 'measuring';\n const isCollapseStart = collapseFrom === 'start';\n const overflowItems = isCollapseStart\n ? data.slice(0, data.length - finalVisibleCount)\n : data.slice(finalVisibleCount);\n const overflowElement = showOverflow ? renderOverflow?.(overflowItems) : null;\n\n const _overflowRef = useRef<HTMLElement>(null);\n const overflowRef = useMergedRef(_overflowRef, (overflowElement as any)?.ref);\n const dimensions = useDimensions(containerRef);\n const dataKey = useMemo(() => getDataSignature(data, getItemKey), [data, getItemKey]);\n\n useIsomorphicEffect(() => {\n setPhase('measuring');\n setVisibleCount(data.length);\n setSubtractCount(0);\n }, [dataKey, maxRows, collapseFrom]);\n\n useIsomorphicEffect(() => {\n if (phase === 'measuring') {\n countVisibleItems();\n setPhase('measuring-overflow-indicator');\n }\n }, [phase]);\n\n useIsomorphicEffect(() => {\n if (phase === 'measuring-overflow-indicator') {\n const updateWasNeeded = updateOverflowIndicator();\n if (!updateWasNeeded) {\n setPhase('normal');\n }\n }\n }, [phase, subtractCount]);\n\n useIsomorphicEffect(() => {\n if (phase === 'normal') {\n setPhase('measuring');\n setSubtractCount(0);\n }\n }, [dimensions]);\n\n const fitsInRows = (\n itemWidths: number[],\n containerWidth: number,\n columnGap: number,\n startIndex = 0\n ) => {\n let rows = 1;\n let rowWidth = 0;\n\n for (let i = startIndex; i < itemWidths.length; i += 1) {\n const width = itemWidths[i];\n const needed = rowWidth > 0 ? width + columnGap : width;\n\n if (rowWidth + needed > containerWidth && rowWidth > 0) {\n rows++;\n if (rows > maxRows!) {\n return false;\n }\n rowWidth = width;\n } else {\n rowWidth += needed;\n }\n }\n\n return true;\n };\n\n const countVisibleItems = () => {\n const rowData = getRowPositionsData(containerRef, _overflowRef);\n if (!rowData) {\n return;\n }\n\n const container = containerRef.current;\n if (!container) {\n return;\n }\n\n if (isCollapseStart) {\n const containerWidth = container.getBoundingClientRect().width;\n const columnGap = parseFloat(getComputedStyle(container).columnGap) || 0;\n const children = rowData.children;\n const widths = children.map((child) => child.getBoundingClientRect().width);\n\n let count = 0;\n for (let i = widths.length - 1; i >= 0; i--) {\n if (!fitsInRows(widths, containerWidth, columnGap, i)) {\n break;\n }\n count = widths.length - i;\n }\n\n count = Math.min(count, maxVisibleItems!);\n setVisibleCount(count);\n return;\n }\n\n if (data.length === 1) {\n const itemRef = rowData.itemsSizesMap[rowData.rowPositions[0]].elements.values().next().value;\n const containerWidth = container.getBoundingClientRect().width;\n const itemWidth = itemRef?.getBoundingClientRect().width ?? 0;\n\n if (itemWidth > containerWidth) {\n setVisibleCount(0);\n } else {\n setVisibleCount(1);\n }\n\n return;\n }\n\n const visibleRowPositions = rowData.rowPositions.slice(0, maxRows);\n\n let fittingCount = visibleRowPositions.reduce((acc, position) => {\n return acc + rowData.itemsSizesMap[position].elements.size;\n }, 0);\n\n fittingCount = Math.min(fittingCount, maxVisibleItems);\n setVisibleCount(fittingCount);\n };\n\n const updateOverflowIndicator = () => {\n if (!_overflowRef.current) {\n return false;\n }\n const rowData = getRowPositionsData(containerRef, _overflowRef);\n if (!rowData) {\n return false;\n }\n\n const { rowPositions, itemsSizesMap } = rowData;\n\n if (isCollapseStart) {\n const container = containerRef.current;\n if (!container) {\n return false;\n }\n const containerWidth = container.getBoundingClientRect().width;\n const columnGap = parseFloat(getComputedStyle(container).columnGap) || 0;\n const overflowWidth = _overflowRef.current.getBoundingClientRect().width;\n const children = rowData.children;\n const itemWidths = [\n overflowWidth,\n ...children.map((child) => child.getBoundingClientRect().width),\n ];\n\n if (!fitsInRows(itemWidths, containerWidth, columnGap)) {\n setSubtractCount((c) => c + 1);\n return true;\n }\n\n return false;\n }\n\n const overflowRect = _overflowRef.current.getBoundingClientRect();\n const overflowMiddleY = overflowRect.top + overflowRect.height / 2;\n const lastRowTop = rowPositions[rowPositions.length - 1];\n const lastRow = itemsSizesMap[lastRowTop];\n\n if (overflowMiddleY > lastRow.bottom) {\n setSubtractCount((c) => c + 1);\n return true;\n }\n\n return false;\n };\n\n const clonedOverflowElement = overflowElement\n ? cloneElement(overflowElement as React.ReactElement<any>, { ref: overflowRef })\n : null;\n\n let finalItems = data;\n if (maxVisibleItems) {\n finalItems = isCollapseStart\n ? finalItems.slice(-maxVisibleItems!)\n : finalItems.slice(0, maxVisibleItems);\n }\n\n const indexOffset = isCollapseStart ? data.length - finalItems.length : 0;\n\n return (\n <Box ref={rootRef} {...getStyles('root')} {...others}>\n {isCollapseStart && clonedOverflowElement}\n\n {finalItems.map((item, index) => {\n const isVisible =\n phase === 'measuring' ||\n (isCollapseStart\n ? index >= finalItems.length - finalVisibleCount\n : index < finalVisibleCount);\n if (!isVisible) {\n return null;\n }\n const dataIndex = indexOffset + index;\n const itemComponent = renderItem(item, dataIndex);\n\n return <Fragment key={dataIndex}>{itemComponent}</Fragment>;\n })}\n\n {!isCollapseStart && clonedOverflowElement}\n </Box>\n );\n});\n\nOverflowList.displayName = '@mantine/core/OverflowList';\nOverflowList.classes = classes;\nOverflowList.varsResolver = varsResolver;\n\nexport namespace OverflowList {\n export type Props = OverflowListProps;\n export type Factory = OverflowListFactory;\n export type StylesNames = OverflowListStylesNames;\n export type CssVariables = OverflowListCssVariables;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OverflowList.cjs","names":["createVarsResolver","getSpacing","genericFactory","useProps","useStyles","useState","useRef","useMergedRef","useDimensions","useMemo","getRowPositionsData","cloneElement","Box","Fragment","classes"],"sources":["../../../src/components/OverflowList/OverflowList.tsx"],"sourcesContent":["// Originally based on https://github.com/Eliav2/react-responsive-overflow-list (MIT License)\n// Contains the modified version adapted for Mantine\nimport { cloneElement, useMemo, useRef, useState } from 'react';\nimport { Fragment } from 'react/jsx-runtime';\nimport { useIsomorphicEffect, useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n Factory,\n genericFactory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { getRowPositionsData } from './get-row-position-data';\nimport { useDimensions } from './use-dimensions';\nimport classes from './OverflowList.module.css';\n\nexport type OverflowListStylesNames = 'root';\nexport type OverflowListCssVariables = {\n root: '--ol-gap';\n};\n\nexport interface OverflowListProps<T = any>\n extends BoxProps, StylesApiProps<OverflowListFactory>, ElementProps<'div', 'children'> {\n /** Array of items to display */\n data: T[];\n\n /** Function to render item */\n renderItem: (item: T, index: number) => React.ReactNode;\n\n /** Function to render hidden items */\n renderOverflow: (items: T[]) => React.ReactNode;\n\n /** Number of rows to display @default 1 */\n maxRows?: number;\n\n /** Maximum number of visible items @default Infinity */\n maxVisibleItems?: number;\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem @default 'xs' */\n gap?: MantineSpacing;\n\n /** Direction from which items are collapsed when they overflow, `'end'` collapses last items, `'start'` collapses first items @default 'end' */\n collapseFrom?: 'start' | 'end';\n\n /** A function to resolve a unique key for each item. Used to detect when the contents of `data`\n * change (for example when items are reordered while the length stays the same) so the\n * visible/overflow split can be recomputed. Required to detect reordering when `data` contains\n * objects; for primitive items (strings, numbers) the item value is used by default. */\n getItemKey?: (item: T, index: number) => React.Key;\n}\n\nexport type OverflowListFactory = Factory<{\n props: OverflowListProps<any>;\n ref: HTMLDivElement;\n stylesNames: OverflowListStylesNames;\n vars: OverflowListCssVariables;\n signature: <T = any>(props: OverflowListProps<T>) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n maxRows: 1,\n maxVisibleItems: Infinity,\n} satisfies Partial<OverflowListProps<any>>;\n\nconst varsResolver = createVarsResolver<OverflowListFactory>((_, { gap }) => ({\n root: {\n '--ol-gap': getSpacing(gap),\n },\n}));\n\nfunction getDataSignature<T>(\n data: T[],\n getItemKey: ((item: T, index: number) => React.Key) | undefined\n): string {\n return data\n .map((item, index) => {\n if (getItemKey) {\n return getItemKey(item, index);\n }\n return item !== null && (typeof item === 'object' || typeof item === 'function')\n ? index\n : String(item);\n })\n .join('\\u0000');\n}\n\nexport const OverflowList = genericFactory<OverflowListFactory>((_props) => {\n const props = useProps('OverflowList', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n data,\n renderOverflow,\n renderItem,\n maxRows,\n maxVisibleItems,\n collapseFrom,\n getItemKey,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<OverflowListFactory>({\n name: 'OverflowList',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const [visibleCount, setVisibleCount] = useState(data.length);\n const [subtractCount, setSubtractCount] = useState(0);\n const [phase, setPhase] = useState<'normal' | 'measuring' | 'measuring-overflow-indicator'>(\n 'normal'\n );\n\n const containerRef = useRef<HTMLElement>(null);\n const rootRef = useMergedRef(containerRef, ref);\n const finalVisibleCount = visibleCount - subtractCount;\n const overflowCount = data.length - finalVisibleCount;\n const showOverflow = overflowCount > 0 && phase !== 'measuring';\n const isCollapseStart = collapseFrom === 'start';\n const overflowItems = isCollapseStart\n ? data.slice(0, data.length - finalVisibleCount)\n : data.slice(finalVisibleCount);\n const overflowElement = showOverflow ? renderOverflow?.(overflowItems) : null;\n\n const _overflowRef = useRef<HTMLElement>(null);\n const overflowRef = useMergedRef(_overflowRef, (overflowElement as any)?.ref);\n const dimensions = useDimensions(containerRef);\n const dataKey = useMemo(() => getDataSignature(data, getItemKey), [data, getItemKey]);\n\n useIsomorphicEffect(() => {\n setPhase('measuring');\n setVisibleCount(data.length);\n setSubtractCount(0);\n }, [dataKey, maxRows, collapseFrom]);\n\n useIsomorphicEffect(() => {\n if (phase === 'measuring') {\n countVisibleItems();\n setPhase('measuring-overflow-indicator');\n }\n }, [phase]);\n\n useIsomorphicEffect(() => {\n if (phase === 'measuring-overflow-indicator') {\n const updateWasNeeded = updateOverflowIndicator();\n if (!updateWasNeeded) {\n setPhase('normal');\n }\n }\n }, [phase, subtractCount]);\n\n useIsomorphicEffect(() => {\n if (phase === 'normal') {\n setPhase('measuring');\n setSubtractCount(0);\n }\n }, [dimensions]);\n\n const fitsInRows = (\n itemWidths: number[],\n containerWidth: number,\n columnGap: number,\n startIndex = 0\n ) => {\n let rows = 1;\n let rowWidth = 0;\n\n for (let i = startIndex; i < itemWidths.length; i += 1) {\n const width = itemWidths[i];\n const needed = rowWidth > 0 ? width + columnGap : width;\n\n if (rowWidth + needed > containerWidth && rowWidth > 0) {\n rows++;\n if (rows > maxRows!) {\n return false;\n }\n rowWidth = width;\n } else {\n rowWidth += needed;\n }\n }\n\n return true;\n };\n\n const countVisibleItems = () => {\n const rowData = getRowPositionsData(containerRef, _overflowRef);\n if (!rowData) {\n return;\n }\n\n const container = containerRef.current;\n if (!container) {\n return;\n }\n\n if (isCollapseStart) {\n const containerWidth = container.getBoundingClientRect().width;\n const columnGap = parseFloat(getComputedStyle(container).columnGap) || 0;\n const children = rowData.children;\n const widths = children.map((child) => child.getBoundingClientRect().width);\n\n let count = 0;\n for (let i = widths.length - 1; i >= 0; i--) {\n if (!fitsInRows(widths, containerWidth, columnGap, i)) {\n break;\n }\n count = widths.length - i;\n }\n\n count = Math.min(count, maxVisibleItems!);\n setVisibleCount(count);\n return;\n }\n\n if (data.length === 1) {\n const itemRef = rowData.itemsSizesMap[rowData.rowPositions[0]].elements.values().next().value;\n const containerWidth = container.getBoundingClientRect().width;\n const itemWidth = itemRef?.getBoundingClientRect().width ?? 0;\n\n if (itemWidth > containerWidth) {\n setVisibleCount(0);\n } else {\n setVisibleCount(1);\n }\n\n return;\n }\n\n const visibleRowPositions = rowData.rowPositions.slice(0, maxRows);\n\n let fittingCount = visibleRowPositions.reduce((acc, position) => {\n return acc + rowData.itemsSizesMap[position].elements.size;\n }, 0);\n\n fittingCount = Math.min(fittingCount, maxVisibleItems);\n setVisibleCount(fittingCount);\n };\n\n const updateOverflowIndicator = () => {\n if (!_overflowRef.current) {\n return false;\n }\n const rowData = getRowPositionsData(containerRef, _overflowRef);\n if (!rowData) {\n return false;\n }\n\n const { rowPositions, itemsSizesMap } = rowData;\n\n if (isCollapseStart) {\n const container = containerRef.current;\n if (!container) {\n return false;\n }\n const containerWidth = container.getBoundingClientRect().width;\n const columnGap = parseFloat(getComputedStyle(container).columnGap) || 0;\n const overflowWidth = _overflowRef.current.getBoundingClientRect().width;\n const children = rowData.children;\n const itemWidths = [\n overflowWidth,\n ...children.map((child) => child.getBoundingClientRect().width),\n ];\n\n if (!fitsInRows(itemWidths, containerWidth, columnGap)) {\n setSubtractCount((c) => c + 1);\n return true;\n }\n\n return false;\n }\n\n const overflowRect = _overflowRef.current.getBoundingClientRect();\n const overflowMiddleY = overflowRect.top + overflowRect.height / 2;\n const lastRowTop = rowPositions[rowPositions.length - 1];\n const lastRow = itemsSizesMap[lastRowTop];\n\n if (overflowMiddleY > lastRow.bottom) {\n setSubtractCount((c) => c + 1);\n return true;\n }\n\n return false;\n };\n\n const clonedOverflowElement = overflowElement\n ? cloneElement(overflowElement as React.ReactElement<any>, { ref: overflowRef })\n : null;\n\n let finalItems = data;\n if (maxVisibleItems) {\n finalItems = isCollapseStart\n ? finalItems.slice(-maxVisibleItems!)\n : finalItems.slice(0, maxVisibleItems);\n }\n\n const indexOffset = isCollapseStart ? data.length - finalItems.length : 0;\n\n return (\n <Box ref={rootRef} {...getStyles('root')} {...others}>\n {isCollapseStart && clonedOverflowElement}\n\n {finalItems.map((item, index) => {\n const isVisible =\n phase === 'measuring' ||\n (isCollapseStart\n ? index >= finalItems.length - finalVisibleCount\n : index < finalVisibleCount);\n if (!isVisible) {\n return null;\n }\n const dataIndex = indexOffset + index;\n const itemComponent = renderItem(item, dataIndex);\n\n return <Fragment key={dataIndex}>{itemComponent}</Fragment>;\n })}\n\n {!isCollapseStart && clonedOverflowElement}\n </Box>\n );\n});\n\nOverflowList.displayName = '@mantine/core/OverflowList';\nOverflowList.classes = classes;\nOverflowList.varsResolver = varsResolver;\n\nexport namespace OverflowList {\n export type Props = OverflowListProps;\n export type Factory = OverflowListFactory;\n export type StylesNames = OverflowListStylesNames;\n export type CssVariables = OverflowListCssVariables;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-dimensions.cjs","names":[],"sources":["../../../src/components/OverflowList/use-dimensions.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\n\ninterface ResizeObserverDimensions {\n width: number;\n height: number;\n contentWidth: number;\n contentHeight: number;\n}\nexport function useDimensions<T extends HTMLElement | null>(\n elementRef: React.RefObject<T>\n): ResizeObserverDimensions | null {\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const [dimensions, setDimensions] = useState<ResizeObserverDimensions | null>(null);\n\n useEffect(() => {\n if (!elementRef.current) {\n return;\n }\n\n resizeObserverRef.current = new ResizeObserver((entries) => {\n if (entries[0]) {\n const entry = entries[0];\n const updateDimensions = () => {\n setDimensions({\n width: entry.borderBoxSize[0]?.inlineSize ?? entry.target.clientWidth,\n height: entry.borderBoxSize[0]?.blockSize ?? entry.target.clientHeight,\n contentWidth: entry.contentRect.width,\n contentHeight: entry.contentRect.height,\n });\n };\n\n flushSync(updateDimensions);\n }\n });\n\n resizeObserverRef.current.observe(elementRef.current);\n\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n };\n }, [elementRef.current]);\n\n return dimensions;\n}\n"],"mappings":";;;;AASA,SAAgB,cACd,YACiC;CACjC,MAAM,qBAAA,GAAA,MAAA,OAAA,CAAkD,IAAI;CAC5D,MAAM,CAAC,YAAY,kBAAA,GAAA,MAAA,SAAA,CAA2D,IAAI;CAElF,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,CAAC,WAAW,SACd;EAGF,kBAAkB,UAAU,IAAI,gBAAgB,YAAY;GAC1D,IAAI,QAAQ,IAAI;IACd,MAAM,QAAQ,QAAQ;IACtB,MAAM,yBAAyB;KAC7B,cAAc;MACZ,OAAO,MAAM,cAAc,EAAE,EAAE,cAAc,MAAM,OAAO;MAC1D,QAAQ,MAAM,cAAc,EAAE,EAAE,aAAa,MAAM,OAAO;MAC1D,cAAc,MAAM,YAAY;MAChC,eAAe,MAAM,YAAY;KACnC,CAAC;IACH;IAEA,CAAA,GAAA,UAAA,UAAA,CAAU,gBAAgB;GAC5B;EACF,CAAC;EAED,kBAAkB,QAAQ,QAAQ,WAAW,OAAO;EAEpD,aAAa;GACX,IAAI,kBAAkB,SAAS;IAC7B,kBAAkB,QAAQ,WAAW;IACrC,kBAAkB,UAAU;GAC9B;EACF;CACF,GAAG,CAAC,WAAW,OAAO,CAAC;CAEvB,OAAO;AACT"}
1
+ {"version":3,"file":"use-dimensions.cjs","names":["useRef","useState"],"sources":["../../../src/components/OverflowList/use-dimensions.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\n\ninterface ResizeObserverDimensions {\n width: number;\n height: number;\n contentWidth: number;\n contentHeight: number;\n}\nexport function useDimensions<T extends HTMLElement | null>(\n elementRef: React.RefObject<T>\n): ResizeObserverDimensions | null {\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const [dimensions, setDimensions] = useState<ResizeObserverDimensions | null>(null);\n\n useEffect(() => {\n if (!elementRef.current) {\n return;\n }\n\n resizeObserverRef.current = new ResizeObserver((entries) => {\n if (entries[0]) {\n const entry = entries[0];\n const updateDimensions = () => {\n setDimensions({\n width: entry.borderBoxSize[0]?.inlineSize ?? entry.target.clientWidth,\n height: entry.borderBoxSize[0]?.blockSize ?? entry.target.clientHeight,\n contentWidth: entry.contentRect.width,\n contentHeight: entry.contentRect.height,\n });\n };\n\n flushSync(updateDimensions);\n }\n });\n\n resizeObserverRef.current.observe(elementRef.current);\n\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n };\n }, [elementRef.current]);\n\n return dimensions;\n}\n"],"mappings":";;;;AASA,SAAgB,cACd,YACiC;CACjC,MAAM,qBAAA,GAAoBA,MAAAA,OAAAA,CAA8B,IAAI;CAC5D,MAAM,CAAC,YAAY,kBAAA,GAAiBC,MAAAA,SAAAA,CAA0C,IAAI;CAElF,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,CAAC,WAAW,SACd;EAGF,kBAAkB,UAAU,IAAI,gBAAgB,YAAY;GAC1D,IAAI,QAAQ,IAAI;IACd,MAAM,QAAQ,QAAQ;IACtB,MAAM,yBAAyB;KAC7B,cAAc;MACZ,OAAO,MAAM,cAAc,EAAE,EAAE,cAAc,MAAM,OAAO;MAC1D,QAAQ,MAAM,cAAc,EAAE,EAAE,aAAa,MAAM,OAAO;MAC1D,cAAc,MAAM,YAAY;MAChC,eAAe,MAAM,YAAY;KACnC,CAAC;IACH;IAEA,CAAA,GAAA,UAAA,UAAA,CAAU,gBAAgB;GAC5B;EACF,CAAC;EAED,kBAAkB,QAAQ,QAAQ,WAAW,OAAO;EAEpD,aAAa;GACX,IAAI,kBAAkB,SAAS;IAC7B,kBAAkB,QAAQ,WAAW;IACrC,kBAAkB,UAAU;GAC9B;EACF;CACF,GAAG,CAAC,WAAW,OAAO,CAAC;CAEvB,OAAO;AACT"}
@@ -21,20 +21,21 @@ const varsResolver = require_create_vars_resolver.createVarsResolver((_, { gradi
21
21
  const Overlay = require_polymorphic_factory.polymorphicFactory((_props) => {
22
22
  const props = require_use_props.useProps("Overlay", defaultProps, _props);
23
23
  const { classNames, className, style, styles, unstyled, vars, fixed, center, children, radius, zIndex, gradient, blur, color, backgroundOpacity, mod, attributes, ...others } = props;
24
+ const getStyles = require_use_styles.useStyles({
25
+ name: "Overlay",
26
+ props,
27
+ classes: require_Overlay_module.default,
28
+ className,
29
+ style,
30
+ classNames,
31
+ styles,
32
+ unstyled,
33
+ attributes,
34
+ vars,
35
+ varsResolver
36
+ });
24
37
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
25
- ...require_use_styles.useStyles({
26
- name: "Overlay",
27
- props,
28
- classes: require_Overlay_module.default,
29
- className,
30
- style,
31
- classNames,
32
- styles,
33
- unstyled,
34
- attributes,
35
- vars,
36
- varsResolver
37
- })("root"),
38
+ ...getStyles("root"),
38
39
  mod: [{
39
40
  center,
40
41
  fixed
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.cjs","names":["getDefaultZIndex","createVarsResolver","rgba","rem","getRadius","polymorphicFactory","useProps","Box","useStyles","classes"],"sources":["../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n getDefaultZIndex,\n getRadius,\n MantineRadius,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n rgba,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Overlay.module.css';\n\nexport type OverlayStylesNames = 'root';\nexport type OverlayCssVariables = {\n root: '--overlay-bg' | '--overlay-filter' | '--overlay-radius' | '--overlay-z-index';\n};\n\nexport interface OverlayProps extends BoxProps, StylesApiProps<OverlayFactory> {\n /** Overlay `background-color` opacity 0–1, ignored when `gradient` prop is set @default 0.6 */\n backgroundOpacity?: number;\n\n /** Overlay `background-color` @default #000 */\n color?: React.CSSProperties['backgroundColor'];\n\n /** Overlay background blur in px (converted to rem). Applies `backdrop-filter: blur()`. Note: backdrop-filter is not supported in all browsers. @default 0 */\n blur?: number | string;\n\n /** Changes overlay to gradient. If set, both `color` and `backgroundOpacity` props are ignored. */\n gradient?: string;\n\n /** Overlay z-index @default 200 */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default 0 */\n radius?: MantineRadius;\n\n /** Content inside overlay */\n children?: React.ReactNode;\n\n /** Centers content inside the overlay using flexbox (sets display: flex, align-items: center, justify-content: center) @default false */\n center?: boolean;\n\n /** Changes position from `absolute` to `fixed` (viewport-relative instead of parent-relative) @default false */\n fixed?: boolean;\n}\n\nexport type OverlayFactory = PolymorphicFactory<{\n props: OverlayProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: OverlayStylesNames;\n vars: OverlayCssVariables;\n}>;\n\nconst defaultProps = {\n zIndex: getDefaultZIndex('modal'),\n} satisfies Partial<OverlayProps>;\n\nconst varsResolver = createVarsResolver<OverlayFactory>(\n (_, { gradient, color, backgroundOpacity, blur, radius, zIndex }) => ({\n root: {\n '--overlay-bg':\n gradient ||\n ((color !== undefined || backgroundOpacity !== undefined) &&\n rgba(color || '#000', backgroundOpacity ?? 0.6)) ||\n undefined,\n '--overlay-filter': blur ? `blur(${rem(blur)})` : undefined,\n '--overlay-radius': radius === undefined ? undefined : getRadius(radius),\n '--overlay-z-index': zIndex?.toString(),\n },\n })\n);\n\nexport const Overlay = polymorphicFactory<OverlayFactory>((_props) => {\n const props = useProps('Overlay', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n fixed,\n center,\n children,\n radius,\n zIndex,\n gradient,\n blur,\n color,\n backgroundOpacity,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<OverlayFactory>({\n name: 'Overlay',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box {...getStyles('root')} mod={[{ center, fixed }, mod]} {...others}>\n {children}\n </Box>\n );\n});\n\nOverlay.classes = classes;\nOverlay.varsResolver = varsResolver;\nOverlay.displayName = '@mantine/core/Overlay';\n\nexport namespace Overlay {\n export type Props = OverlayProps;\n export type StylesNames = OverlayStylesNames;\n export type Factory = OverlayFactory;\n export type CssVariables = OverlayCssVariables;\n}\n"],"mappings":";;;;;;;;;;;;;AA2DA,MAAM,eAAe,EACnB,QAAQA,4BAAAA,iBAAiB,OAAO,EAClC;AAEA,MAAM,eAAeC,6BAAAA,oBAClB,GAAG,EAAE,UAAU,OAAO,mBAAmB,MAAM,QAAQ,cAAc,EACpE,MAAM;CACJ,gBACE,aACE,UAAU,KAAA,KAAa,sBAAsB,KAAA,MAC7CC,aAAAA,KAAK,SAAS,QAAQ,qBAAqB,EAAG,KAChD,KAAA;CACF,oBAAoB,OAAO,QAAQC,YAAAA,IAAI,IAAI,EAAE,KAAK,KAAA;CAClD,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACvE,qBAAqB,QAAQ,SAAS;AACxC,EACF,EACF;AAEA,MAAa,UAAUC,4BAAAA,oBAAoC,WAAW;CACpE,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,QACA,UACA,QACA,QACA,UACA,MACA,OACA,mBACA,KACA,YACA,GAAG,WACD;CAgBJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAfWC,mBAAAA,UAA0B;GAC1C,MAAM;GACN;GACA,SAAA,uBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGmB,CAAC,CAAC,MAAM;EAAG,KAAK,CAAC;GAAE;GAAQ;EAAM,GAAG,GAAG;EAAG,GAAI;EAC5D;CACE,CAAA;AAET,CAAC;AAED,QAAQ,UAAUC,uBAAAA;AAClB,QAAQ,eAAe;AACvB,QAAQ,cAAc"}
1
+ {"version":3,"file":"Overlay.cjs","names":["getDefaultZIndex","createVarsResolver","rgba","rem","getRadius","polymorphicFactory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n getDefaultZIndex,\n getRadius,\n MantineRadius,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n rgba,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Overlay.module.css';\n\nexport type OverlayStylesNames = 'root';\nexport type OverlayCssVariables = {\n root: '--overlay-bg' | '--overlay-filter' | '--overlay-radius' | '--overlay-z-index';\n};\n\nexport interface OverlayProps extends BoxProps, StylesApiProps<OverlayFactory> {\n /** Overlay `background-color` opacity 0–1, ignored when `gradient` prop is set @default 0.6 */\n backgroundOpacity?: number;\n\n /** Overlay `background-color` @default #000 */\n color?: React.CSSProperties['backgroundColor'];\n\n /** Overlay background blur in px (converted to rem). Applies `backdrop-filter: blur()`. Note: backdrop-filter is not supported in all browsers. @default 0 */\n blur?: number | string;\n\n /** Changes overlay to gradient. If set, both `color` and `backgroundOpacity` props are ignored. */\n gradient?: string;\n\n /** Overlay z-index @default 200 */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default 0 */\n radius?: MantineRadius;\n\n /** Content inside overlay */\n children?: React.ReactNode;\n\n /** Centers content inside the overlay using flexbox (sets display: flex, align-items: center, justify-content: center) @default false */\n center?: boolean;\n\n /** Changes position from `absolute` to `fixed` (viewport-relative instead of parent-relative) @default false */\n fixed?: boolean;\n}\n\nexport type OverlayFactory = PolymorphicFactory<{\n props: OverlayProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: OverlayStylesNames;\n vars: OverlayCssVariables;\n}>;\n\nconst defaultProps = {\n zIndex: getDefaultZIndex('modal'),\n} satisfies Partial<OverlayProps>;\n\nconst varsResolver = createVarsResolver<OverlayFactory>(\n (_, { gradient, color, backgroundOpacity, blur, radius, zIndex }) => ({\n root: {\n '--overlay-bg':\n gradient ||\n ((color !== undefined || backgroundOpacity !== undefined) &&\n rgba(color || '#000', backgroundOpacity ?? 0.6)) ||\n undefined,\n '--overlay-filter': blur ? `blur(${rem(blur)})` : undefined,\n '--overlay-radius': radius === undefined ? undefined : getRadius(radius),\n '--overlay-z-index': zIndex?.toString(),\n },\n })\n);\n\nexport const Overlay = polymorphicFactory<OverlayFactory>((_props) => {\n const props = useProps('Overlay', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n fixed,\n center,\n children,\n radius,\n zIndex,\n gradient,\n blur,\n color,\n backgroundOpacity,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<OverlayFactory>({\n name: 'Overlay',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box {...getStyles('root')} mod={[{ center, fixed }, mod]} {...others}>\n {children}\n </Box>\n );\n});\n\nOverlay.classes = classes;\nOverlay.varsResolver = varsResolver;\nOverlay.displayName = '@mantine/core/Overlay';\n\nexport namespace Overlay {\n export type Props = OverlayProps;\n export type StylesNames = OverlayStylesNames;\n export type Factory = OverlayFactory;\n export type CssVariables = OverlayCssVariables;\n}\n"],"mappings":";;;;;;;;;;;;;AA2DA,MAAM,eAAe,EACnB,QAAQA,4BAAAA,iBAAiB,OAAO,EAClC;AAEA,MAAM,eAAeC,6BAAAA,oBAClB,GAAG,EAAE,UAAU,OAAO,mBAAmB,MAAM,QAAQ,cAAc,EACpE,MAAM;CACJ,gBACE,aACE,UAAU,KAAA,KAAa,sBAAsB,KAAA,MAC7CC,aAAAA,KAAK,SAAS,QAAQ,qBAAqB,EAAG,KAChD,KAAA;CACF,oBAAoB,OAAO,QAAQC,YAAAA,IAAI,IAAI,EAAE,KAAK,KAAA;CAClD,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACvE,qBAAqB,QAAQ,SAAS;AACxC,EACF,EACF;AAEA,MAAa,UAAUC,4BAAAA,oBAAoC,WAAW;CACpE,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,QACA,UACA,QACA,QACA,UACA,MACA,OACA,mBACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA0B;EAC1C,MAAM;EACN;EACA,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAG,KAAK,CAAC;GAAE;GAAQ;EAAM,GAAG,GAAG;EAAG,GAAI;EAC5D;CACE,CAAA;AAET,CAAC;AAED,QAAQ,UAAUC,uBAAAA;AAClB,QAAQ,eAAe;AACvB,QAAQ,cAAc"}
@@ -21,8 +21,9 @@ const defaultProps = {
21
21
  gap: 8
22
22
  };
23
23
  function PaginationItemsGroup({ children }) {
24
+ const ctx = require_Pagination_context.usePaginationContext();
24
25
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
25
- ...require_Pagination_context.usePaginationContext().getStyles("items"),
26
+ ...ctx.getStyles("items"),
26
27
  children
27
28
  });
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.cjs","names":["Box","usePaginationContext","factory","useProps","PaginationItems","PaginationLabel","PaginationRoot","Group","PaginationFirst","PaginationPrevious","PaginationNext","PaginationLast","classes","PaginationControl","PaginationDots"],"sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { Box, factory, Factory, MantineSpacing, useProps } from '../../core';\nimport { Group } from '../Group/Group';\nimport { usePaginationContext } from './Pagination.context';\nimport { PaginationIcon } from './Pagination.icons';\nimport {\n PaginationControl,\n type PaginationControlProps,\n} from './PaginationControl/PaginationControl';\nimport { PaginationDots, type PaginationDotsProps } from './PaginationDots/PaginationDots';\nimport {\n PaginationFirst,\n PaginationLast,\n PaginationNext,\n PaginationPrevious,\n type PaginationEdgeProps,\n} from './PaginationEdges/PaginationEdges';\nimport { PaginationItems, type PaginationItemsProps } from './PaginationItems/PaginationItems';\nimport {\n PaginationFormatLabel,\n PaginationLabel,\n type PaginationLabelProps,\n} from './PaginationLabel/PaginationLabel';\nimport {\n PaginationRoot,\n PaginationRootCssVariables,\n PaginationRootProps,\n PaginationRootStylesNames,\n} from './PaginationRoot/PaginationRoot';\nimport classes from './Pagination.module.css';\nexport type PaginationStylesNames = PaginationRootStylesNames;\nexport type PaginationCssVariables = PaginationRootCssVariables;\n\nexport interface PaginationProps extends PaginationRootProps {\n /** If set, first/last controls are displayed @default false */\n withEdges?: boolean;\n\n /** If set, next/previous controls are displayed @default true */\n withControls?: boolean;\n\n /** Props passed down to next/previous/first/last controls */\n getControlProps?: (control: 'first' | 'previous' | 'last' | 'next') => Record<string, any>;\n\n /** Next control icon component */\n nextIcon?: PaginationIcon;\n\n /** Previous control icon component */\n previousIcon?: PaginationIcon;\n\n /** Last control icon component */\n lastIcon?: PaginationIcon;\n\n /** First control icon component */\n firstIcon?: PaginationIcon;\n\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n\n /** Key of `theme.spacing`, gap between controls @default 8 */\n gap?: MantineSpacing;\n\n /** If set, the pagination is hidden when only one page is available (`total={1}`) @default false */\n hideWithOnePage?: boolean;\n\n /** If set to `false`, page number buttons are hidden, only next/previous controls remain @default `true` */\n withPages?: boolean;\n\n /** Function to format the label text displayed in responsive mode */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationFactory = Factory<{\n props: PaginationProps;\n ref: HTMLDivElement;\n stylesNames: PaginationStylesNames;\n vars: PaginationCssVariables;\n staticComponents: {\n Root: typeof PaginationRoot;\n Control: typeof PaginationControl;\n Dots: typeof PaginationDots;\n First: typeof PaginationFirst;\n Last: typeof PaginationLast;\n Next: typeof PaginationNext;\n Previous: typeof PaginationPrevious;\n Items: typeof PaginationItems;\n Label: typeof PaginationLabel;\n };\n}>;\n\nconst defaultProps = {\n withControls: true,\n withPages: true,\n siblings: 1,\n boundaries: 1,\n gap: 8,\n} satisfies Partial<PaginationProps>;\n\ninterface PaginationItemsGroupProps {\n children: React.ReactNode;\n}\n\nfunction PaginationItemsGroup({ children }: PaginationItemsGroupProps) {\n const ctx = usePaginationContext();\n return <Box {...ctx.getStyles('items')}>{children}</Box>;\n}\n\nexport const Pagination = factory<PaginationFactory>((_props) => {\n const props = useProps('Pagination', defaultProps, _props);\n const {\n withEdges,\n withControls,\n getControlProps,\n nextIcon,\n previousIcon,\n lastIcon,\n firstIcon,\n dotsIcon,\n total,\n gap,\n hideWithOnePage,\n withPages,\n layout,\n formatLabel,\n ...others\n } = props;\n\n if (total <= 0 || (hideWithOnePage && total === 1)) {\n return null;\n }\n\n const isResponsive = layout === 'responsive';\n\n const pagesContent = withPages ? (\n isResponsive ? (\n <>\n <PaginationItemsGroup>\n <PaginationItems dotsIcon={dotsIcon} />\n </PaginationItemsGroup>\n <PaginationLabel formatLabel={formatLabel} />\n </>\n ) : (\n <PaginationItems dotsIcon={dotsIcon} />\n )\n ) : null;\n\n return (\n <PaginationRoot total={total} layout={layout} {...others}>\n <Group gap={gap}>\n {withEdges && <PaginationFirst icon={firstIcon} {...getControlProps?.('first')} />}\n {withControls && (\n <PaginationPrevious icon={previousIcon} {...getControlProps?.('previous')} />\n )}\n {pagesContent}\n {withControls && <PaginationNext icon={nextIcon} {...getControlProps?.('next')} />}\n {withEdges && <PaginationLast icon={lastIcon} {...getControlProps?.('last')} />}\n </Group>\n </PaginationRoot>\n );\n});\n\nPagination.classes = classes;\nPagination.displayName = '@mantine/core/Pagination';\nPagination.Root = PaginationRoot;\nPagination.Control = PaginationControl;\nPagination.Dots = PaginationDots;\nPagination.First = PaginationFirst;\nPagination.Last = PaginationLast;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\nPagination.Items = PaginationItems;\nPagination.Label = PaginationLabel;\n\nexport namespace Pagination {\n export type Props = PaginationProps;\n export type StylesNames = PaginationStylesNames;\n export type CssVariables = PaginationCssVariables;\n export type Factory = PaginationFactory;\n\n export namespace Root {\n export type Props = PaginationRootProps;\n }\n\n export namespace Control {\n export type Props = PaginationControlProps;\n }\n\n export namespace Dots {\n export type Props = PaginationDotsProps;\n }\n\n export namespace Edge {\n export type Props = PaginationEdgeProps;\n }\n\n export namespace Items {\n export type Props = PaginationItemsProps;\n }\n\n export namespace Label {\n export type Props = PaginationLabelProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAwFA,MAAM,eAAe;CACnB,cAAc;CACd,WAAW;CACX,UAAU;CACV,YAAY;CACZ,KAAK;AACP;AAMA,SAAS,qBAAqB,EAAE,YAAuC;CAErE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,YAAAA,KAAD;EAAK,GADAC,2BAAAA,qBACM,CAAC,CAAC,UAAU,OAAO;EAAI;CAAc,CAAA;AACzD;AAEA,MAAa,aAAaC,gBAAAA,SAA4B,WAAW;CAE/D,MAAM,EACJ,WACA,cACA,iBACA,UACA,cACA,UACA,WACA,UACA,OACA,KACA,iBACA,WACA,QACA,aACA,GAAG,WAhBSC,kBAAAA,SAAS,cAAc,cAAc,MAiB3C;CAER,IAAI,SAAS,KAAM,mBAAmB,UAAU,GAC9C,OAAO;CAKT,MAAM,eAAe,YAFA,WAAW,eAI5B,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD,EAA2B,SAAW,CAAA,EAClB,CAAA,GACtB,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD,EAA8B,YAAc,CAAA,CAC5C,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,IAAA,CAACD,wBAAAA,iBAAD,EAA2B,SAAW,CAAA,IAEtC;CAEJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,uBAAAA,gBAAD;EAAuB;EAAe;EAAQ,GAAI;YAChD,iBAAA,GAAA,kBAAA,KAAA,CAACC,cAAAA,OAAD;GAAY;aAAZ;IACG,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD;KAAiB,MAAM;KAAW,GAAI,kBAAkB,OAAO;IAAI,CAAA;IAChF,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,oBAAD;KAAoB,MAAM;KAAc,GAAI,kBAAkB,UAAU;IAAI,CAAA;IAE7E;IACA,gBAAgB,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,gBAAD;KAAgB,MAAM;KAAU,GAAI,kBAAkB,MAAM;IAAI,CAAA;IAChF,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,gBAAD;KAAgB,MAAM;KAAU,GAAI,kBAAkB,MAAM;IAAI,CAAA;GACzE;;CACO,CAAA;AAEpB,CAAC;AAED,WAAW,UAAUC,0BAAAA;AACrB,WAAW,cAAc;AACzB,WAAW,OAAON,uBAAAA;AAClB,WAAW,UAAUO,0BAAAA;AACrB,WAAW,OAAOC,uBAAAA;AAClB,WAAW,QAAQN,wBAAAA;AACnB,WAAW,OAAOG,wBAAAA;AAClB,WAAW,OAAOD,wBAAAA;AAClB,WAAW,WAAWD,wBAAAA;AACtB,WAAW,QAAQL,wBAAAA;AACnB,WAAW,QAAQC,wBAAAA"}
1
+ {"version":3,"file":"Pagination.cjs","names":["usePaginationContext","Box","factory","useProps","PaginationItems","PaginationLabel","PaginationRoot","Group","PaginationFirst","PaginationPrevious","PaginationNext","PaginationLast","classes","PaginationControl","PaginationDots"],"sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { Box, factory, Factory, MantineSpacing, useProps } from '../../core';\nimport { Group } from '../Group/Group';\nimport { usePaginationContext } from './Pagination.context';\nimport { PaginationIcon } from './Pagination.icons';\nimport {\n PaginationControl,\n type PaginationControlProps,\n} from './PaginationControl/PaginationControl';\nimport { PaginationDots, type PaginationDotsProps } from './PaginationDots/PaginationDots';\nimport {\n PaginationFirst,\n PaginationLast,\n PaginationNext,\n PaginationPrevious,\n type PaginationEdgeProps,\n} from './PaginationEdges/PaginationEdges';\nimport { PaginationItems, type PaginationItemsProps } from './PaginationItems/PaginationItems';\nimport {\n PaginationFormatLabel,\n PaginationLabel,\n type PaginationLabelProps,\n} from './PaginationLabel/PaginationLabel';\nimport {\n PaginationRoot,\n PaginationRootCssVariables,\n PaginationRootProps,\n PaginationRootStylesNames,\n} from './PaginationRoot/PaginationRoot';\nimport classes from './Pagination.module.css';\nexport type PaginationStylesNames = PaginationRootStylesNames;\nexport type PaginationCssVariables = PaginationRootCssVariables;\n\nexport interface PaginationProps extends PaginationRootProps {\n /** If set, first/last controls are displayed @default false */\n withEdges?: boolean;\n\n /** If set, next/previous controls are displayed @default true */\n withControls?: boolean;\n\n /** Props passed down to next/previous/first/last controls */\n getControlProps?: (control: 'first' | 'previous' | 'last' | 'next') => Record<string, any>;\n\n /** Next control icon component */\n nextIcon?: PaginationIcon;\n\n /** Previous control icon component */\n previousIcon?: PaginationIcon;\n\n /** Last control icon component */\n lastIcon?: PaginationIcon;\n\n /** First control icon component */\n firstIcon?: PaginationIcon;\n\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n\n /** Key of `theme.spacing`, gap between controls @default 8 */\n gap?: MantineSpacing;\n\n /** If set, the pagination is hidden when only one page is available (`total={1}`) @default false */\n hideWithOnePage?: boolean;\n\n /** If set to `false`, page number buttons are hidden, only next/previous controls remain @default `true` */\n withPages?: boolean;\n\n /** Function to format the label text displayed in responsive mode */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationFactory = Factory<{\n props: PaginationProps;\n ref: HTMLDivElement;\n stylesNames: PaginationStylesNames;\n vars: PaginationCssVariables;\n staticComponents: {\n Root: typeof PaginationRoot;\n Control: typeof PaginationControl;\n Dots: typeof PaginationDots;\n First: typeof PaginationFirst;\n Last: typeof PaginationLast;\n Next: typeof PaginationNext;\n Previous: typeof PaginationPrevious;\n Items: typeof PaginationItems;\n Label: typeof PaginationLabel;\n };\n}>;\n\nconst defaultProps = {\n withControls: true,\n withPages: true,\n siblings: 1,\n boundaries: 1,\n gap: 8,\n} satisfies Partial<PaginationProps>;\n\ninterface PaginationItemsGroupProps {\n children: React.ReactNode;\n}\n\nfunction PaginationItemsGroup({ children }: PaginationItemsGroupProps) {\n const ctx = usePaginationContext();\n return <Box {...ctx.getStyles('items')}>{children}</Box>;\n}\n\nexport const Pagination = factory<PaginationFactory>((_props) => {\n const props = useProps('Pagination', defaultProps, _props);\n const {\n withEdges,\n withControls,\n getControlProps,\n nextIcon,\n previousIcon,\n lastIcon,\n firstIcon,\n dotsIcon,\n total,\n gap,\n hideWithOnePage,\n withPages,\n layout,\n formatLabel,\n ...others\n } = props;\n\n if (total <= 0 || (hideWithOnePage && total === 1)) {\n return null;\n }\n\n const isResponsive = layout === 'responsive';\n\n const pagesContent = withPages ? (\n isResponsive ? (\n <>\n <PaginationItemsGroup>\n <PaginationItems dotsIcon={dotsIcon} />\n </PaginationItemsGroup>\n <PaginationLabel formatLabel={formatLabel} />\n </>\n ) : (\n <PaginationItems dotsIcon={dotsIcon} />\n )\n ) : null;\n\n return (\n <PaginationRoot total={total} layout={layout} {...others}>\n <Group gap={gap}>\n {withEdges && <PaginationFirst icon={firstIcon} {...getControlProps?.('first')} />}\n {withControls && (\n <PaginationPrevious icon={previousIcon} {...getControlProps?.('previous')} />\n )}\n {pagesContent}\n {withControls && <PaginationNext icon={nextIcon} {...getControlProps?.('next')} />}\n {withEdges && <PaginationLast icon={lastIcon} {...getControlProps?.('last')} />}\n </Group>\n </PaginationRoot>\n );\n});\n\nPagination.classes = classes;\nPagination.displayName = '@mantine/core/Pagination';\nPagination.Root = PaginationRoot;\nPagination.Control = PaginationControl;\nPagination.Dots = PaginationDots;\nPagination.First = PaginationFirst;\nPagination.Last = PaginationLast;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\nPagination.Items = PaginationItems;\nPagination.Label = PaginationLabel;\n\nexport namespace Pagination {\n export type Props = PaginationProps;\n export type StylesNames = PaginationStylesNames;\n export type CssVariables = PaginationCssVariables;\n export type Factory = PaginationFactory;\n\n export namespace Root {\n export type Props = PaginationRootProps;\n }\n\n export namespace Control {\n export type Props = PaginationControlProps;\n }\n\n export namespace Dots {\n export type Props = PaginationDotsProps;\n }\n\n export namespace Edge {\n export type Props = PaginationEdgeProps;\n }\n\n export namespace Items {\n export type Props = PaginationItemsProps;\n }\n\n export namespace Label {\n export type Props = PaginationLabelProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAwFA,MAAM,eAAe;CACnB,cAAc;CACd,WAAW;CACX,UAAU;CACV,YAAY;CACZ,KAAK;AACP;AAMA,SAAS,qBAAqB,EAAE,YAAuC;CACrE,MAAM,MAAMA,2BAAAA,qBAAqB;CACjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,OAAO;EAAI;CAAc,CAAA;AACzD;AAEA,MAAa,aAAaC,gBAAAA,SAA4B,WAAW;CAE/D,MAAM,EACJ,WACA,cACA,iBACA,UACA,cACA,UACA,WACA,UACA,OACA,KACA,iBACA,WACA,QACA,aACA,GAAG,WAhBSC,kBAAAA,SAAS,cAAc,cAAc,MAiB3C;CAER,IAAI,SAAS,KAAM,mBAAmB,UAAU,GAC9C,OAAO;CAKT,MAAM,eAAe,YAFA,WAAW,eAI5B,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD,EAA2B,SAAW,CAAA,EAClB,CAAA,GACtB,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD,EAA8B,YAAc,CAAA,CAC5C,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,IAAA,CAACD,wBAAAA,iBAAD,EAA2B,SAAW,CAAA,IAEtC;CAEJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,uBAAAA,gBAAD;EAAuB;EAAe;EAAQ,GAAI;EAChD,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,cAAAA,OAAD;GAAY;GAAZ,UAAA;IACG,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,iBAAD;KAAiB,MAAM;KAAW,GAAI,kBAAkB,OAAO;IAAI,CAAA;IAChF,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,oBAAD;KAAoB,MAAM;KAAc,GAAI,kBAAkB,UAAU;IAAI,CAAA;IAE7E;IACA,gBAAgB,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,gBAAD;KAAgB,MAAM;KAAU,GAAI,kBAAkB,MAAM;IAAI,CAAA;IAChF,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,wBAAAA,gBAAD;KAAgB,MAAM;KAAU,GAAI,kBAAkB,MAAM;IAAI,CAAA;GACzE;;CACO,CAAA;AAEpB,CAAC;AAED,WAAW,UAAUC,0BAAAA;AACrB,WAAW,cAAc;AACzB,WAAW,OAAON,uBAAAA;AAClB,WAAW,UAAUO,0BAAAA;AACrB,WAAW,OAAOC,uBAAAA;AAClB,WAAW,QAAQN,wBAAAA;AACnB,WAAW,OAAOG,wBAAAA;AAClB,WAAW,OAAOD,wBAAAA;AAClB,WAAW,WAAWD,wBAAAA;AACtB,WAAW,QAAQL,wBAAAA;AACnB,WAAW,QAAQC,wBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.icons.cjs","names":[],"sources":["../../../src/components/Pagination/Pagination.icons.tsx"],"sourcesContent":["interface _PaginationIconProps {\n path: string;\n stroke?: any;\n style?: React.CSSProperties;\n className?: string | undefined;\n children?: React.ReactNode;\n}\n\nexport type PaginationIconProps = Omit<_PaginationIconProps, 'path'>;\nexport type PaginationIcon = React.FC<PaginationIconProps>;\n\nfunction PaginationIcon({ style, children, path, ...others }: _PaginationIconProps) {\n return (\n <svg\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n ...style,\n }}\n {...others}\n >\n <path d={path} fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport const PaginationNextIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M8.781 8l-3.3-3.3.943-.943L10.667 8l-4.243 4.243-.943-.943 3.3-3.3z\"\n />\n);\n\nexport const PaginationPreviousIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M7.219 8l3.3 3.3-.943.943L5.333 8l4.243-4.243.943.943-3.3 3.3z\"\n />\n);\n\nexport const PaginationFirstIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z\"\n />\n);\n\nexport const PaginationLastIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z\"\n />\n);\n\nexport const PaginationDotsIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M2 8c0-.733.6-1.333 1.333-1.333.734 0 1.334.6 1.334 1.333s-.6 1.333-1.334 1.333C2.6 9.333 2 8.733 2 8zm9.333 0c0-.733.6-1.333 1.334-1.333C13.4 6.667 14 7.267 14 8s-.6 1.333-1.333 1.333c-.734 0-1.334-.6-1.334-1.333zM6.667 8c0-.733.6-1.333 1.333-1.333s1.333.6 1.333 1.333S8.733 9.333 8 9.333 6.667 8.733 6.667 8z\"\n />\n);\n"],"mappings":";;;AAWA,SAAS,eAAe,EAAE,OAAO,UAAU,MAAM,GAAG,UAAgC;CAClF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,SAAQ;EACR,OAAM;EACN,OAAO;GACL,OAAO;GACP,QAAQ;GACR,GAAG;EACL;EACA,GAAI;YAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,GAAG;GAAM,MAAK;EAAgB,CAAA;CACjC,CAAA;AAET;AAEA,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,0BAA0B,UACrC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,uBAAuB,UAClC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA"}
1
+ {"version":3,"file":"Pagination.icons.cjs","names":[],"sources":["../../../src/components/Pagination/Pagination.icons.tsx"],"sourcesContent":["interface _PaginationIconProps {\n path: string;\n stroke?: any;\n style?: React.CSSProperties;\n className?: string | undefined;\n children?: React.ReactNode;\n}\n\nexport type PaginationIconProps = Omit<_PaginationIconProps, 'path'>;\nexport type PaginationIcon = React.FC<PaginationIconProps>;\n\nfunction PaginationIcon({ style, children, path, ...others }: _PaginationIconProps) {\n return (\n <svg\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n ...style,\n }}\n {...others}\n >\n <path d={path} fill=\"currentColor\" />\n </svg>\n );\n}\n\nexport const PaginationNextIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M8.781 8l-3.3-3.3.943-.943L10.667 8l-4.243 4.243-.943-.943 3.3-3.3z\"\n />\n);\n\nexport const PaginationPreviousIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M7.219 8l3.3 3.3-.943.943L5.333 8l4.243-4.243.943.943-3.3 3.3z\"\n />\n);\n\nexport const PaginationFirstIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z\"\n />\n);\n\nexport const PaginationLastIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z\"\n />\n);\n\nexport const PaginationDotsIcon = (props: PaginationIconProps) => (\n <PaginationIcon\n {...props}\n path=\"M2 8c0-.733.6-1.333 1.333-1.333.734 0 1.334.6 1.334 1.333s-.6 1.333-1.334 1.333C2.6 9.333 2 8.733 2 8zm9.333 0c0-.733.6-1.333 1.334-1.333C13.4 6.667 14 7.267 14 8s-.6 1.333-1.333 1.333c-.734 0-1.334-.6-1.334-1.333zM6.667 8c0-.733.6-1.333 1.333-1.333s1.333.6 1.333 1.333S8.733 9.333 8 9.333 6.667 8.733 6.667 8z\"\n />\n);\n"],"mappings":";;;AAWA,SAAS,eAAe,EAAE,OAAO,UAAU,MAAM,GAAG,UAAgC;CAClF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,SAAQ;EACR,OAAM;EACN,OAAO;GACL,OAAO;GACP,QAAQ;GACR,GAAG;EACL;EACA,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,GAAG;GAAM,MAAK;EAAgB,CAAA;CACjC,CAAA;AAET;AAEA,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,0BAA0B,UACrC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,uBAAuB,UAClC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA;AAGH,MAAa,sBAAsB,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;CACE,GAAI;CACJ,MAAK;AACN,CAAA"}
@@ -10,8 +10,9 @@ let react_jsx_runtime = require("react/jsx-runtime");
10
10
  const defaultProps = { icon: require_Pagination_icons.PaginationDotsIcon };
11
11
  const PaginationDots = require_factory.factory((_props) => {
12
12
  const { classNames, className, style, styles, vars, icon: Icon, ...others } = require_use_props.useProps("PaginationDots", defaultProps, _props);
13
+ const ctx = require_Pagination_context.usePaginationContext();
13
14
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
14
- ...require_Pagination_context.usePaginationContext().getStyles("dots", {
15
+ ...ctx.getStyles("dots", {
15
16
  className,
16
17
  style,
17
18
  styles,
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationDots.cjs","names":["PaginationDotsIcon","factory","useProps","Box","usePaginationContext","classes"],"sources":["../../../../src/components/Pagination/PaginationDots/PaginationDots.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport { PaginationDotsIcon, PaginationIconProps } from '../Pagination.icons';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationDotsStylesNames = 'dots';\n\nexport interface PaginationDotsProps\n extends BoxProps, CompoundStylesApiProps<PaginationDotsFactory>, ElementProps<'div'> {\n /** Custom dots icon component, must accept svg element props and size prop */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport type PaginationDotsFactory = Factory<{\n props: PaginationDotsProps;\n ref: HTMLDivElement;\n stylesNames: PaginationDotsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n icon: PaginationDotsIcon,\n} satisfies Partial<PaginationDotsProps>;\n\nexport const PaginationDots = factory<PaginationDotsFactory>((_props) => {\n const props = useProps('PaginationDots', defaultProps, _props);\n const { classNames, className, style, styles, vars, icon: Icon, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('dots', { className, style, styles, classNames })} {...others}>\n <Icon\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </Box>\n );\n});\n\nPaginationDots.classes = classes;\nPaginationDots.displayName = '@mantine/core/PaginationDots';\n"],"mappings":";;;;;;;;;AA4BA,MAAM,eAAe,EACnB,MAAMA,yBAAAA,mBACR;AAEA,MAAa,iBAAiBC,gBAAAA,SAAgC,WAAW;CAEvE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,MAAM,MAAM,GAAG,WADrDC,kBAAAA,SAAS,kBAAkB,cAAc,MAC2B;CAGlF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAHKC,2BAAAA,qBAGC,CAAC,CAAC,UAAU,QAAQ;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;YAC5E,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD,EACE,OAAO;GACL,OAAO;GACP,QAAQ;EACV,EACD,CAAA;CACE,CAAA;AAET,CAAC;AAED,eAAe,UAAUC,0BAAAA;AACzB,eAAe,cAAc"}
1
+ {"version":3,"file":"PaginationDots.cjs","names":["PaginationDotsIcon","factory","useProps","usePaginationContext","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationDots/PaginationDots.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport { PaginationDotsIcon, PaginationIconProps } from '../Pagination.icons';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationDotsStylesNames = 'dots';\n\nexport interface PaginationDotsProps\n extends BoxProps, CompoundStylesApiProps<PaginationDotsFactory>, ElementProps<'div'> {\n /** Custom dots icon component, must accept svg element props and size prop */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport type PaginationDotsFactory = Factory<{\n props: PaginationDotsProps;\n ref: HTMLDivElement;\n stylesNames: PaginationDotsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n icon: PaginationDotsIcon,\n} satisfies Partial<PaginationDotsProps>;\n\nexport const PaginationDots = factory<PaginationDotsFactory>((_props) => {\n const props = useProps('PaginationDots', defaultProps, _props);\n const { classNames, className, style, styles, vars, icon: Icon, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('dots', { className, style, styles, classNames })} {...others}>\n <Icon\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </Box>\n );\n});\n\nPaginationDots.classes = classes;\nPaginationDots.displayName = '@mantine/core/PaginationDots';\n"],"mappings":";;;;;;;;;AA4BA,MAAM,eAAe,EACnB,MAAMA,yBAAAA,mBACR;AAEA,MAAa,iBAAiBC,gBAAAA,SAAgC,WAAW;CAEvE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,MAAM,MAAM,GAAG,WADrDC,kBAAAA,SAAS,kBAAkB,cAAc,MAC2B;CAClF,MAAM,MAAMC,2BAAAA,qBAAqB;CAEjC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;EAC5E,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD,EACE,OAAO;GACL,OAAO;GACP,QAAQ;EACV,EACD,CAAA;CACE,CAAA;AAET,CAAC;AAED,eAAe,UAAUC,0BAAAA;AACzB,eAAe,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationEdges.cjs","names":["useProps","usePaginationContext","PaginationControl","polymorphic","PaginationNextIcon","PaginationPreviousIcon","PaginationFirstIcon","PaginationLastIcon"],"sources":["../../../../src/components/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import { BoxProps, polymorphic, useProps } from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationFirstIcon,\n PaginationIconProps,\n PaginationLastIcon,\n PaginationNextIcon,\n PaginationPreviousIcon,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends BoxProps {\n /** An icon component to replace the default icon */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps = { icon } satisfies Partial<PaginationEdgeProps>;\n\n const Component = (props: PaginationEdgeProps) => {\n const { icon: Icon, ...others } = useProps(name, defaultProps, props);\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon\n className=\"mantine-rotate-rtl\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </PaginationControl>\n );\n };\n\n Component.displayName = `@mantine/core/${name}`;\n return polymorphic<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"mappings":";;;;;;;;AAuBA,SAAgB,oBAAoB,EAAE,MAAM,MAAM,QAAQ,QAA6B;CACrF,MAAM,eAAe,EAAE,KAAK;CAE5B,MAAM,aAAa,UAA+B;EAChD,MAAM,EAAE,MAAM,MAAM,GAAG,WAAWA,kBAAAA,SAAS,MAAM,cAAc,KAAK;EACpE,MAAM,MAAMC,2BAAAA,qBAAqB;EACjC,MAAM,WAAW,SAAS,SAAS,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW;EAE7E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GACE,UAAU,IAAI,YAAY;GAC1B,SAAS,IAAI;GACb,aAAa;GACb,GAAI;aAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACE,WAAU;IACV,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACD,CAAA;EACgB,CAAA;CAEvB;CAEA,UAAU,cAAc,iBAAiB;CACzC,OAAOC,qCAAAA,YAA2C,SAAS;AAC7D;AAEA,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,qBAAqB,oBAAoB;CACpD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,kBAAkB,oBAAoB;CACjD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC"}
1
+ {"version":3,"file":"PaginationEdges.cjs","names":["useProps","usePaginationContext","PaginationControl","polymorphic","PaginationNextIcon","PaginationPreviousIcon","PaginationFirstIcon","PaginationLastIcon"],"sources":["../../../../src/components/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import { BoxProps, polymorphic, useProps } from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationFirstIcon,\n PaginationIconProps,\n PaginationLastIcon,\n PaginationNextIcon,\n PaginationPreviousIcon,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends BoxProps {\n /** An icon component to replace the default icon */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps = { icon } satisfies Partial<PaginationEdgeProps>;\n\n const Component = (props: PaginationEdgeProps) => {\n const { icon: Icon, ...others } = useProps(name, defaultProps, props);\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon\n className=\"mantine-rotate-rtl\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </PaginationControl>\n );\n };\n\n Component.displayName = `@mantine/core/${name}`;\n return polymorphic<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"mappings":";;;;;;;;AAuBA,SAAgB,oBAAoB,EAAE,MAAM,MAAM,QAAQ,QAA6B;CACrF,MAAM,eAAe,EAAE,KAAK;CAE5B,MAAM,aAAa,UAA+B;EAChD,MAAM,EAAE,MAAM,MAAM,GAAG,WAAWA,kBAAAA,SAAS,MAAM,cAAc,KAAK;EACpE,MAAM,MAAMC,2BAAAA,qBAAqB;EACjC,MAAM,WAAW,SAAS,SAAS,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW;EAE7E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GACE,UAAU,IAAI,YAAY;GAC1B,SAAS,IAAI;GACb,aAAa;GACb,GAAI;GAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACE,WAAU;IACV,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACD,CAAA;EACgB,CAAA;CAEvB;CAEA,UAAU,cAAc,iBAAiB;CACzC,OAAOC,qCAAAA,YAA2C,SAAS;AAC7D;AAEA,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,qBAAqB,oBAAoB;CACpD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,kBAAkB,oBAAoB;CACjD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC"}
@@ -6,7 +6,7 @@ let react_jsx_runtime = require("react/jsx-runtime");
6
6
  //#region packages/@mantine/core/src/components/Pagination/PaginationItems/PaginationItems.tsx
7
7
  function PaginationItems({ dotsIcon }) {
8
8
  const ctx = require_Pagination_context.usePaginationContext();
9
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: ctx.range.map((page, index) => {
9
+ const items = ctx.range.map((page, index) => {
10
10
  if (page === "dots") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PaginationDots.PaginationDots, { icon: dotsIcon }, index);
11
11
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PaginationControl.PaginationControl, {
12
12
  active: page === ctx.active,
@@ -16,7 +16,8 @@ function PaginationItems({ dotsIcon }) {
16
16
  ...ctx.getItemProps?.(page),
17
17
  children: ctx.getItemProps?.(page)?.children ?? page
18
18
  }, index);
19
- }) });
19
+ });
20
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: items });
20
21
  }
21
22
  PaginationItems.displayName = "@mantine/core/PaginationItems";
22
23
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationItems.cjs","names":["usePaginationContext","PaginationDots","PaginationControl"],"sources":["../../../../src/components/Pagination/PaginationItems/PaginationItems.tsx"],"sourcesContent":["import { usePaginationContext } from '../Pagination.context';\nimport { PaginationIcon } from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\nimport { PaginationDots } from '../PaginationDots/PaginationDots';\n\nexport interface PaginationItemsProps {\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nexport function PaginationItems({ dotsIcon }: PaginationItemsProps) {\n const ctx = usePaginationContext();\n\n const items = ctx.range.map((page, index) => {\n if (page === 'dots') {\n return <PaginationDots icon={dotsIcon} key={index} />;\n }\n\n return (\n <PaginationControl\n key={index}\n active={page === ctx.active}\n aria-current={page === ctx.active ? 'page' : undefined}\n onClick={() => ctx.onChange(page)}\n disabled={ctx.disabled}\n {...ctx.getItemProps?.(page)}\n >\n {ctx.getItemProps?.(page)?.children ?? page}\n </PaginationControl>\n );\n });\n\n return <>{items}</>;\n}\n\nPaginationItems.displayName = '@mantine/core/PaginationItems';\n"],"mappings":";;;;;;AAUA,SAAgB,gBAAgB,EAAE,YAAkC;CAClE,MAAM,MAAMA,2BAAAA,qBAAqB;CAqBjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAA,UAnBO,IAAI,MAAM,KAAK,MAAM,UAAU;EAC3C,IAAI,SAAS,QACX,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,gBAAD,EAAgB,MAAM,SAAuB,GAAR,KAAQ;EAGtD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GAEE,QAAQ,SAAS,IAAI;GACrB,gBAAc,SAAS,IAAI,SAAS,SAAS,KAAA;GAC7C,eAAe,IAAI,SAAS,IAAI;GAChC,UAAU,IAAI;GACd,GAAI,IAAI,eAAe,IAAI;aAE1B,IAAI,eAAe,IAAI,CAAC,EAAE,YAAY;EACtB,GARZ,KAQY;CAEvB,CAEc,EAAI,CAAA;AACpB;AAEA,gBAAgB,cAAc"}
1
+ {"version":3,"file":"PaginationItems.cjs","names":["usePaginationContext","PaginationDots","PaginationControl"],"sources":["../../../../src/components/Pagination/PaginationItems/PaginationItems.tsx"],"sourcesContent":["import { usePaginationContext } from '../Pagination.context';\nimport { PaginationIcon } from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\nimport { PaginationDots } from '../PaginationDots/PaginationDots';\n\nexport interface PaginationItemsProps {\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nexport function PaginationItems({ dotsIcon }: PaginationItemsProps) {\n const ctx = usePaginationContext();\n\n const items = ctx.range.map((page, index) => {\n if (page === 'dots') {\n return <PaginationDots icon={dotsIcon} key={index} />;\n }\n\n return (\n <PaginationControl\n key={index}\n active={page === ctx.active}\n aria-current={page === ctx.active ? 'page' : undefined}\n onClick={() => ctx.onChange(page)}\n disabled={ctx.disabled}\n {...ctx.getItemProps?.(page)}\n >\n {ctx.getItemProps?.(page)?.children ?? page}\n </PaginationControl>\n );\n });\n\n return <>{items}</>;\n}\n\nPaginationItems.displayName = '@mantine/core/PaginationItems';\n"],"mappings":";;;;;;AAUA,SAAgB,gBAAgB,EAAE,YAAkC;CAClE,MAAM,MAAMA,2BAAAA,qBAAqB;CAEjC,MAAM,QAAQ,IAAI,MAAM,KAAK,MAAM,UAAU;EAC3C,IAAI,SAAS,QACX,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,gBAAD,EAAgB,MAAM,SAAuB,GAAR,KAAQ;EAGtD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GAEE,QAAQ,SAAS,IAAI;GACrB,gBAAc,SAAS,IAAI,SAAS,SAAS,KAAA;GAC7C,eAAe,IAAI,SAAS,IAAI;GAChC,UAAU,IAAI;GACd,GAAI,IAAI,eAAe,IAAI;GAE1B,UAAA,IAAI,eAAe,IAAI,CAAC,EAAE,YAAY;EACtB,GARZ,KAQY;CAEvB,CAAC;CAED,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAA,UAAG,MAAQ,CAAA;AACpB;AAEA,gBAAgB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationLabel.cjs","names":["factory","useProps","usePaginationContext","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationLabel/PaginationLabel.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationFormatLabel = (input: { page: number; totalPages: number }) => string;\nexport type PaginationLabelStylesNames = 'label';\n\nexport interface PaginationLabelProps\n extends BoxProps, CompoundStylesApiProps<PaginationLabelFactory>, ElementProps<'div'> {\n /** Function to format the label text */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationLabelFactory = Factory<{\n props: PaginationLabelProps;\n ref: HTMLDivElement;\n stylesNames: PaginationLabelStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n formatLabel: ({ page, totalPages }) => `Page ${page} of ${totalPages}`,\n} satisfies Partial<PaginationLabelProps>;\n\nexport const PaginationLabel = factory<PaginationLabelFactory>((_props) => {\n const props = useProps('PaginationLabel', defaultProps, _props);\n const { classNames, className, style, styles, vars, formatLabel, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('label', { className, style, styles, classNames })} {...others}>\n {formatLabel({ page: ctx.active, totalPages: ctx.total })}\n </Box>\n );\n});\n\nPaginationLabel.classes = classes;\nPaginationLabel.displayName = '@mantine/core/PaginationLabel';\n"],"mappings":";;;;;;;;AA4BA,MAAM,eAAe,EACnB,cAAc,EAAE,MAAM,iBAAiB,QAAQ,KAAK,MAAM,aAC5D;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CAEzE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,aAAa,GAAG,WADtDC,kBAAAA,SAAS,mBAAmB,cAAc,MAC2B;CACnF,MAAM,MAAMC,2BAAAA,qBAAqB;CAEjC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;YAC5E,YAAY;GAAE,MAAM,IAAI;GAAQ,YAAY,IAAI;EAAM,CAAC;CACrD,CAAA;AAET,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}
1
+ {"version":3,"file":"PaginationLabel.cjs","names":["factory","useProps","usePaginationContext","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationLabel/PaginationLabel.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationFormatLabel = (input: { page: number; totalPages: number }) => string;\nexport type PaginationLabelStylesNames = 'label';\n\nexport interface PaginationLabelProps\n extends BoxProps, CompoundStylesApiProps<PaginationLabelFactory>, ElementProps<'div'> {\n /** Function to format the label text */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationLabelFactory = Factory<{\n props: PaginationLabelProps;\n ref: HTMLDivElement;\n stylesNames: PaginationLabelStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n formatLabel: ({ page, totalPages }) => `Page ${page} of ${totalPages}`,\n} satisfies Partial<PaginationLabelProps>;\n\nexport const PaginationLabel = factory<PaginationLabelFactory>((_props) => {\n const props = useProps('PaginationLabel', defaultProps, _props);\n const { classNames, className, style, styles, vars, formatLabel, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('label', { className, style, styles, classNames })} {...others}>\n {formatLabel({ page: ctx.active, totalPages: ctx.total })}\n </Box>\n );\n});\n\nPaginationLabel.classes = classes;\nPaginationLabel.displayName = '@mantine/core/PaginationLabel';\n"],"mappings":";;;;;;;;AA4BA,MAAM,eAAe,EACnB,cAAc,EAAE,MAAM,iBAAiB,QAAQ,KAAK,MAAM,aAC5D;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CAEzE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,aAAa,GAAG,WADtDC,kBAAAA,SAAS,mBAAmB,cAAc,MAC2B;CACnF,MAAM,MAAMC,2BAAAA,qBAAqB;CAEjC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;EAC5E,UAAA,YAAY;GAAE,MAAM,IAAI;GAAQ,YAAY,IAAI;EAAM,CAAC;CACrD,CAAA;AAET,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}