@mantine/core 9.0.0-alpha.3 → 9.0.0-alpha.5

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 (411) hide show
  1. package/cjs/components/Accordion/Accordion.cjs +1 -1
  2. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs +1 -1
  4. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs.map +1 -1
  5. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs +1 -1
  6. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs.map +1 -1
  7. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs +1 -1
  8. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
  9. package/cjs/components/ActionIcon/ActionIcon.cjs +1 -1
  10. package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
  11. package/cjs/components/AppShell/AppShell.cjs +1 -1
  12. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  13. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
  14. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
  15. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
  16. package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
  17. package/cjs/components/Avatar/Avatar.cjs +1 -1
  18. package/cjs/components/Avatar/Avatar.cjs.map +1 -1
  19. package/cjs/components/Button/Button.cjs +1 -1
  20. package/cjs/components/Button/Button.cjs.map +1 -1
  21. package/cjs/components/Card/Card.cjs +1 -1
  22. package/cjs/components/Card/Card.cjs.map +1 -1
  23. package/cjs/components/Checkbox/Checkbox.cjs +1 -1
  24. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  25. package/cjs/components/Chip/Chip.cjs +1 -1
  26. package/cjs/components/Chip/Chip.cjs.map +1 -1
  27. package/cjs/components/CloseButton/CloseButton.cjs +1 -1
  28. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  29. package/cjs/components/Collapse/Collapse.cjs +16 -3
  30. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  31. package/cjs/components/ColorInput/ColorInput.cjs +1 -1
  32. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  33. package/cjs/components/ColorPicker/ColorPicker.cjs +1 -1
  34. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  35. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs +1 -1
  36. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  37. package/cjs/components/Combobox/Combobox.cjs +1 -1
  38. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  39. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs +1 -1
  40. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  41. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs +1 -1
  42. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  43. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs +88 -50
  44. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  45. package/cjs/components/Drawer/Drawer.cjs +1 -1
  46. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  47. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs +1 -1
  48. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  49. package/cjs/components/Grid/Grid.cjs +1 -1
  50. package/cjs/components/Grid/Grid.cjs.map +1 -1
  51. package/cjs/components/Grid/GridCol/GridCol.cjs +1 -1
  52. package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
  53. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  54. package/cjs/components/Input/Input.cjs +1 -1
  55. package/cjs/components/Input/Input.cjs.map +1 -1
  56. package/cjs/components/Input/InputDescription/InputDescription.cjs +1 -1
  57. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  58. package/cjs/components/Input/InputError/InputError.cjs +1 -1
  59. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  60. package/cjs/components/Input/InputLabel/InputLabel.cjs +1 -1
  61. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  62. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +1 -1
  63. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  64. package/cjs/components/List/List.cjs +1 -1
  65. package/cjs/components/List/List.cjs.map +1 -1
  66. package/cjs/components/Loader/Loader.cjs +1 -1
  67. package/cjs/components/Loader/Loader.cjs.map +1 -1
  68. package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
  69. package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
  70. package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
  71. package/cjs/components/MaskInput/MaskInput.cjs +39 -0
  72. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -0
  73. package/cjs/components/MaskInput/use-mask-input-props.cjs +42 -0
  74. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -0
  75. package/cjs/components/Menu/Menu.cjs +1 -1
  76. package/cjs/components/Menu/Menu.cjs.map +1 -1
  77. package/cjs/components/Menu/MenuItem/MenuItem.cjs +1 -1
  78. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  79. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs +1 -1
  80. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  81. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs +1 -1
  82. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  83. package/cjs/components/Modal/Modal.cjs +1 -1
  84. package/cjs/components/Modal/Modal.cjs.map +1 -1
  85. package/cjs/components/ModalBase/ModalBaseBody.cjs +1 -1
  86. package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
  87. package/cjs/components/ModalBase/ModalBaseTitle.cjs +1 -1
  88. package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
  89. package/cjs/components/NumberInput/NumberInput.cjs +32 -1
  90. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  91. package/cjs/components/OverflowList/OverflowList.cjs +1 -1
  92. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  93. package/cjs/components/Pagination/Pagination.cjs +1 -1
  94. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  95. package/cjs/components/PasswordInput/PasswordInput.cjs +1 -1
  96. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  97. package/cjs/components/Pill/Pill.cjs +1 -1
  98. package/cjs/components/Pill/Pill.cjs.map +1 -1
  99. package/cjs/components/Popover/Popover.cjs +1 -1
  100. package/cjs/components/Popover/Popover.cjs.map +1 -1
  101. package/cjs/components/Progress/Progress.cjs +1 -1
  102. package/cjs/components/Progress/Progress.cjs.map +1 -1
  103. package/cjs/components/Radio/Radio.cjs +1 -1
  104. package/cjs/components/Radio/Radio.cjs.map +1 -1
  105. package/cjs/components/Rating/Rating.cjs +1 -1
  106. package/cjs/components/Rating/Rating.cjs.map +1 -1
  107. package/cjs/components/RollingNumber/RollingNumber.cjs +254 -0
  108. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -0
  109. package/cjs/components/RollingNumber/RollingNumber.module.css.cjs +7 -0
  110. package/cjs/components/RollingNumber/RollingNumber.module.css.cjs.map +1 -0
  111. package/cjs/components/ScrollArea/ScrollArea.cjs +35 -37
  112. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  113. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +2 -2
  114. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  115. package/cjs/components/ScrollArea/use-resize-observer.cjs +3 -2
  116. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  117. package/cjs/components/SimpleGrid/SimpleGrid.cjs +1 -1
  118. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  119. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +1 -1
  120. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  121. package/cjs/components/Slider/Slider/Slider.cjs +1 -1
  122. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  123. package/cjs/components/Stepper/Stepper.cjs +7 -2
  124. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  125. package/cjs/components/Switch/Switch.cjs +1 -1
  126. package/cjs/components/Switch/Switch.cjs.map +1 -1
  127. package/cjs/components/Table/Table.cjs +1 -1
  128. package/cjs/components/Table/Table.cjs.map +1 -1
  129. package/cjs/components/Tabs/Tabs.cjs +1 -1
  130. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  131. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +5 -3
  132. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  133. package/cjs/components/Timeline/Timeline.cjs +1 -1
  134. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  135. package/cjs/components/Tooltip/Tooltip.cjs +4 -2
  136. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  137. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs +1 -1
  138. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  139. package/cjs/components/Transition/Transition.cjs +20 -3
  140. package/cjs/components/Transition/Transition.cjs.map +1 -1
  141. package/cjs/components/Tree/FlatTreeNode.cjs +155 -0
  142. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -0
  143. package/cjs/components/Tree/Tree.cjs +4 -2
  144. package/cjs/components/Tree/Tree.cjs.map +1 -1
  145. package/cjs/components/Tree/TreeNode.cjs +8 -4
  146. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  147. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs +27 -0
  148. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +1 -0
  149. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs +24 -0
  150. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs.map +1 -0
  151. package/cjs/components/Tree/merge-async-children/merge-async-children.cjs +26 -0
  152. package/cjs/components/Tree/merge-async-children/merge-async-children.cjs.map +1 -0
  153. package/cjs/components/Tree/move-tree-node/move-tree-node.cjs +91 -0
  154. package/cjs/components/Tree/move-tree-node/move-tree-node.cjs.map +1 -0
  155. package/cjs/components/Tree/use-tree-node-drag-drop.cjs +128 -0
  156. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -0
  157. package/cjs/components/TreeSelect/TreeSelect.cjs +821 -0
  158. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -0
  159. package/cjs/components/TreeSelect/TreeSelect.module.css.cjs +7 -0
  160. package/cjs/components/TreeSelect/TreeSelect.module.css.cjs.map +1 -0
  161. package/cjs/components/TreeSelect/TreeSelectOption.cjs +153 -0
  162. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -0
  163. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs +34 -0
  164. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs.map +1 -0
  165. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs +46 -0
  166. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -0
  167. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs +5 -5
  168. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
  169. package/cjs/core/styles-api/use-styles/get-style/get-style.cjs +9 -13
  170. package/cjs/core/styles-api/use-styles/get-style/get-style.cjs.map +1 -1
  171. package/cjs/core/styles-api/use-styles/get-style/resolve-style/resolve-style.cjs +1 -1
  172. package/cjs/core/styles-api/use-styles/get-style/resolve-style/resolve-style.cjs.map +1 -1
  173. package/cjs/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.cjs +7 -4
  174. package/cjs/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.cjs.map +1 -1
  175. package/cjs/core/styles-api/use-styles/use-styles.cjs +40 -11
  176. package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
  177. package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs +7 -3
  178. package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs.map +1 -1
  179. package/cjs/index.cjs +2 -4
  180. package/cjs/index.cjs.map +1 -1
  181. package/esm/components/Accordion/Accordion.mjs +1 -1
  182. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  183. package/esm/components/Accordion/AccordionControl/AccordionControl.mjs +1 -1
  184. package/esm/components/Accordion/AccordionControl/AccordionControl.mjs.map +1 -1
  185. package/esm/components/Accordion/AccordionItem/AccordionItem.mjs +1 -1
  186. package/esm/components/Accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  187. package/esm/components/Accordion/AccordionPanel/AccordionPanel.mjs +1 -1
  188. package/esm/components/Accordion/AccordionPanel/AccordionPanel.mjs.map +1 -1
  189. package/esm/components/ActionIcon/ActionIcon.mjs +1 -1
  190. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  191. package/esm/components/AppShell/AppShell.mjs +1 -1
  192. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  193. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs.map +1 -1
  194. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  195. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  196. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs.map +1 -1
  197. package/esm/components/Avatar/Avatar.mjs +1 -1
  198. package/esm/components/Avatar/Avatar.mjs.map +1 -1
  199. package/esm/components/Button/Button.mjs +1 -1
  200. package/esm/components/Button/Button.mjs.map +1 -1
  201. package/esm/components/Card/Card.mjs +1 -1
  202. package/esm/components/Card/Card.mjs.map +1 -1
  203. package/esm/components/Checkbox/Checkbox.mjs +1 -1
  204. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  205. package/esm/components/Chip/Chip.mjs +1 -1
  206. package/esm/components/Chip/Chip.mjs.map +1 -1
  207. package/esm/components/CloseButton/CloseButton.mjs +1 -1
  208. package/esm/components/CloseButton/CloseButton.mjs.map +1 -1
  209. package/esm/components/Collapse/Collapse.mjs +16 -3
  210. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  211. package/esm/components/ColorInput/ColorInput.mjs +1 -1
  212. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  213. package/esm/components/ColorPicker/ColorPicker.mjs +1 -1
  214. package/esm/components/ColorPicker/ColorPicker.mjs.map +1 -1
  215. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs +1 -1
  216. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  217. package/esm/components/Combobox/Combobox.mjs +1 -1
  218. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  219. package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs +1 -1
  220. package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs.map +1 -1
  221. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +1 -1
  222. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  223. package/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs +90 -52
  224. package/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs.map +1 -1
  225. package/esm/components/Drawer/Drawer.mjs +1 -1
  226. package/esm/components/Drawer/Drawer.mjs.map +1 -1
  227. package/esm/components/FloatingIndicator/FloatingIndicator.mjs +1 -1
  228. package/esm/components/FloatingIndicator/FloatingIndicator.mjs.map +1 -1
  229. package/esm/components/Grid/Grid.mjs +1 -1
  230. package/esm/components/Grid/Grid.mjs.map +1 -1
  231. package/esm/components/Grid/GridCol/GridCol.mjs +1 -1
  232. package/esm/components/Grid/GridCol/GridCol.mjs.map +1 -1
  233. package/esm/components/HoverCard/use-hover-card.mjs +1 -1
  234. package/esm/components/Indicator/Indicator.mjs.map +1 -1
  235. package/esm/components/Input/Input.mjs +1 -1
  236. package/esm/components/Input/Input.mjs.map +1 -1
  237. package/esm/components/Input/InputDescription/InputDescription.mjs +1 -1
  238. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  239. package/esm/components/Input/InputError/InputError.mjs +1 -1
  240. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  241. package/esm/components/Input/InputLabel/InputLabel.mjs +1 -1
  242. package/esm/components/Input/InputLabel/InputLabel.mjs.map +1 -1
  243. package/esm/components/Input/InputWrapper/InputWrapper.mjs +1 -1
  244. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  245. package/esm/components/List/List.mjs +1 -1
  246. package/esm/components/List/List.mjs.map +1 -1
  247. package/esm/components/Loader/Loader.mjs +1 -1
  248. package/esm/components/Loader/Loader.mjs.map +1 -1
  249. package/esm/components/Loader/loaders/Bars.mjs.map +1 -1
  250. package/esm/components/Loader/loaders/Dots.mjs.map +1 -1
  251. package/esm/components/Loader/loaders/Oval.mjs.map +1 -1
  252. package/esm/components/MaskInput/MaskInput.mjs +37 -0
  253. package/esm/components/MaskInput/MaskInput.mjs.map +1 -0
  254. package/esm/components/MaskInput/use-mask-input-props.mjs +40 -0
  255. package/esm/components/MaskInput/use-mask-input-props.mjs.map +1 -0
  256. package/esm/components/Menu/Menu.mjs +1 -1
  257. package/esm/components/Menu/Menu.mjs.map +1 -1
  258. package/esm/components/Menu/MenuItem/MenuItem.mjs +1 -1
  259. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  260. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs +1 -1
  261. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs.map +1 -1
  262. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs +1 -1
  263. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  264. package/esm/components/Modal/Modal.mjs +1 -1
  265. package/esm/components/Modal/Modal.mjs.map +1 -1
  266. package/esm/components/ModalBase/ModalBaseBody.mjs +1 -1
  267. package/esm/components/ModalBase/ModalBaseBody.mjs.map +1 -1
  268. package/esm/components/ModalBase/ModalBaseTitle.mjs +1 -1
  269. package/esm/components/ModalBase/ModalBaseTitle.mjs.map +1 -1
  270. package/esm/components/NumberInput/NumberInput.mjs +32 -1
  271. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  272. package/esm/components/OverflowList/OverflowList.mjs +1 -1
  273. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  274. package/esm/components/Pagination/Pagination.mjs +1 -1
  275. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  276. package/esm/components/Pagination/PaginationEdges/PaginationEdges.mjs +1 -1
  277. package/esm/components/PasswordInput/PasswordInput.mjs +1 -1
  278. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  279. package/esm/components/Pill/Pill.mjs +1 -1
  280. package/esm/components/Pill/Pill.mjs.map +1 -1
  281. package/esm/components/Popover/Popover.mjs +1 -1
  282. package/esm/components/Popover/Popover.mjs.map +1 -1
  283. package/esm/components/Progress/Progress.mjs +1 -1
  284. package/esm/components/Progress/Progress.mjs.map +1 -1
  285. package/esm/components/Radio/Radio.mjs +1 -1
  286. package/esm/components/Radio/Radio.mjs.map +1 -1
  287. package/esm/components/Rating/Rating.mjs +1 -1
  288. package/esm/components/Rating/Rating.mjs.map +1 -1
  289. package/esm/components/RollingNumber/RollingNumber.mjs +252 -0
  290. package/esm/components/RollingNumber/RollingNumber.mjs.map +1 -0
  291. package/esm/components/RollingNumber/RollingNumber.module.css.mjs +5 -0
  292. package/esm/components/RollingNumber/RollingNumber.module.css.mjs.map +1 -0
  293. package/esm/components/ScrollArea/ScrollArea.mjs +36 -38
  294. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  295. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs +3 -3
  296. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
  297. package/esm/components/ScrollArea/use-resize-observer.mjs +4 -3
  298. package/esm/components/ScrollArea/use-resize-observer.mjs.map +1 -1
  299. package/esm/components/SimpleGrid/SimpleGrid.mjs +1 -1
  300. package/esm/components/SimpleGrid/SimpleGrid.mjs.map +1 -1
  301. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +1 -1
  302. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  303. package/esm/components/Slider/Slider/Slider.mjs +1 -1
  304. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  305. package/esm/components/Stepper/Stepper.mjs +9 -4
  306. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  307. package/esm/components/Switch/Switch.mjs +1 -1
  308. package/esm/components/Switch/Switch.mjs.map +1 -1
  309. package/esm/components/Table/Table.mjs +1 -1
  310. package/esm/components/Table/Table.mjs.map +1 -1
  311. package/esm/components/Tabs/Tabs.mjs +1 -1
  312. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  313. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs +5 -3
  314. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
  315. package/esm/components/Timeline/Timeline.mjs +1 -1
  316. package/esm/components/Timeline/Timeline.mjs.map +1 -1
  317. package/esm/components/Tooltip/Tooltip.mjs +4 -2
  318. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  319. package/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs +1 -1
  320. package/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs.map +1 -1
  321. package/esm/components/Tooltip/use-tooltip.mjs +1 -1
  322. package/esm/components/Transition/Transition.mjs +20 -3
  323. package/esm/components/Transition/Transition.mjs.map +1 -1
  324. package/esm/components/Tree/FlatTreeNode.mjs +153 -0
  325. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -0
  326. package/esm/components/Tree/Tree.mjs +4 -2
  327. package/esm/components/Tree/Tree.mjs.map +1 -1
  328. package/esm/components/Tree/TreeNode.mjs +9 -5
  329. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  330. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs +24 -0
  331. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +1 -0
  332. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs +22 -0
  333. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +1 -0
  334. package/esm/components/Tree/merge-async-children/merge-async-children.mjs +24 -0
  335. package/esm/components/Tree/merge-async-children/merge-async-children.mjs.map +1 -0
  336. package/esm/components/Tree/move-tree-node/move-tree-node.mjs +89 -0
  337. package/esm/components/Tree/move-tree-node/move-tree-node.mjs.map +1 -0
  338. package/esm/components/Tree/use-tree-node-drag-drop.mjs +126 -0
  339. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -0
  340. package/esm/components/TreeSelect/TreeSelect.mjs +819 -0
  341. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -0
  342. package/esm/components/TreeSelect/TreeSelect.module.css.mjs +5 -0
  343. package/esm/components/TreeSelect/TreeSelect.module.css.mjs.map +1 -0
  344. package/esm/components/TreeSelect/TreeSelectOption.mjs +151 -0
  345. package/esm/components/TreeSelect/TreeSelectOption.mjs.map +1 -0
  346. package/esm/components/TreeSelect/flatten-tree-select-data.mjs +32 -0
  347. package/esm/components/TreeSelect/flatten-tree-select-data.mjs.map +1 -0
  348. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs +43 -0
  349. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -0
  350. package/esm/core/styles-api/use-styles/get-class-name/get-class-name.mjs +5 -5
  351. package/esm/core/styles-api/use-styles/get-class-name/get-class-name.mjs.map +1 -1
  352. package/esm/core/styles-api/use-styles/get-style/get-style.mjs +9 -13
  353. package/esm/core/styles-api/use-styles/get-style/get-style.mjs.map +1 -1
  354. package/esm/core/styles-api/use-styles/get-style/resolve-style/resolve-style.mjs +1 -1
  355. package/esm/core/styles-api/use-styles/get-style/resolve-style/resolve-style.mjs.map +1 -1
  356. package/esm/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs +7 -4
  357. package/esm/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs.map +1 -1
  358. package/esm/core/styles-api/use-styles/use-styles.mjs +40 -11
  359. package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
  360. package/esm/core/styles-api/use-styles/use-transformed-styles.mjs +7 -3
  361. package/esm/core/styles-api/use-styles/use-transformed-styles.mjs.map +1 -1
  362. package/esm/index.mjs +1 -2
  363. package/esm/index.mjs.map +1 -1
  364. package/lib/components/Collapse/Collapse.d.ts +1 -1
  365. package/lib/components/Combobox/use-combobox/use-virtualized-combobox.d.ts +2 -2
  366. package/lib/components/Input/use-input-props.d.ts +16 -16
  367. package/lib/components/MaskInput/MaskInput.d.ts +68 -0
  368. package/lib/components/MaskInput/index.d.ts +7 -0
  369. package/lib/components/MaskInput/use-mask-input-props.d.ts +428 -0
  370. package/lib/components/Menu/Menu.d.ts +2 -0
  371. package/lib/components/RollingNumber/RollingNumber.d.ts +39 -0
  372. package/lib/components/RollingNumber/index.d.ts +9 -0
  373. package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
  374. package/lib/components/Stepper/Stepper.d.ts +2 -0
  375. package/lib/components/Transition/Transition.d.ts +1 -1
  376. package/lib/components/Tree/FlatTreeNode.d.ts +34 -0
  377. package/lib/components/Tree/Tree.d.ts +2 -0
  378. package/lib/components/Tree/TreeNode.d.ts +2 -1
  379. package/lib/components/Tree/filter-tree-data/filter-tree-data.d.ts +4 -0
  380. package/lib/components/Tree/flatten-tree-data/flatten-tree-data.d.ts +15 -0
  381. package/lib/components/Tree/merge-async-children/merge-async-children.d.ts +2 -0
  382. package/lib/components/Tree/move-tree-node/move-tree-node.d.ts +11 -0
  383. package/lib/components/Tree/use-tree-node-drag-drop.d.ts +18 -0
  384. package/lib/components/TreeSelect/TreeSelect.d.ts +122 -0
  385. package/lib/components/TreeSelect/TreeSelectOption.d.ts +29 -0
  386. package/lib/components/TreeSelect/flatten-tree-select-data.d.ts +12 -0
  387. package/lib/components/TreeSelect/get-checked-values-by-strategy.d.ts +4 -0
  388. package/lib/components/TreeSelect/index.d.ts +13 -0
  389. package/lib/core/MantineProvider/MantineCssVariables/index.d.ts +1 -0
  390. package/lib/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.d.ts +2 -0
  391. package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +2 -2
  392. package/lib/core/MantineProvider/color-functions/index.d.ts +0 -1
  393. package/lib/core/styles-api/use-styles/get-class-name/get-class-name.d.ts +7 -5
  394. package/lib/core/styles-api/use-styles/get-style/get-style.d.ts +5 -9
  395. package/lib/core/styles-api/use-styles/use-transformed-styles.d.ts +3 -1
  396. package/package.json +7 -7
  397. package/styles/AppShell.css +11 -1
  398. package/styles/AppShell.layer.css +11 -1
  399. package/styles/RollingNumber.css +50 -0
  400. package/styles/RollingNumber.layer.css +51 -0
  401. package/styles/Scroller.css +1 -0
  402. package/styles/Scroller.layer.css +1 -0
  403. package/styles/TreeSelect.css +113 -0
  404. package/styles/TreeSelect.layer.css +114 -0
  405. package/styles.css +220 -209
  406. package/styles.layer.css +220 -209
  407. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs +0 -9
  408. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs.map +0 -1
  409. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs +0 -7
  410. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs.map +0 -1
  411. package/lib/components/Slider/utils/get-floating-value/get-gloating-value.d.ts +0 -1
@@ -0,0 +1,254 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var React = require('react');
6
+ var hooks = require('@mantine/hooks');
7
+ require('../../core/utils/units-converters/rem.cjs');
8
+ var createVarsResolver = require('../../core/styles-api/create-vars-resolver/create-vars-resolver.cjs');
9
+ require('clsx');
10
+ require('../../core/MantineProvider/Mantine.context.cjs');
11
+ require('../../core/MantineProvider/default-theme.cjs');
12
+ require('../../core/MantineProvider/MantineProvider.cjs');
13
+ require('../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs');
14
+ var useProps = require('../../core/MantineProvider/use-props/use-props.cjs');
15
+ require('../../core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs');
16
+ var useStyles = require('../../core/styles-api/use-styles/use-styles.cjs');
17
+ var Box = require('../../core/Box/Box.cjs');
18
+ var factory = require('../../core/factory/factory.cjs');
19
+ require('../../core/DirectionProvider/DirectionProvider.cjs');
20
+ var RollingNumber_module = require('./RollingNumber.module.css.cjs');
21
+
22
+ const DIGITS = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
23
+ function getDigitParts(value, decimalScale, fixedDecimalScale) {
24
+ const abs = Math.abs(value);
25
+ let str = decimalScale !== void 0 ? abs.toFixed(decimalScale) : String(abs);
26
+ if (!fixedDecimalScale && decimalScale !== void 0) {
27
+ const parts = str.split(".");
28
+ if (parts[1]) {
29
+ const trimmed = parts[1].replace(/0+$/, "");
30
+ str = trimmed ? `${parts[0]}.${trimmed}` : parts[0];
31
+ }
32
+ }
33
+ const dotIdx = str.indexOf(".");
34
+ const intStr = dotIdx >= 0 ? str.slice(0, dotIdx) : str;
35
+ const fracStr = dotIdx >= 0 ? str.slice(dotIdx + 1) : "";
36
+ return {
37
+ negative: value < 0,
38
+ intDigits: intStr.split(""),
39
+ fracDigits: fracStr ? fracStr.split("") : [],
40
+ hasDecimal: dotIdx >= 0
41
+ };
42
+ }
43
+ function buildAccessibleValue(value, prefix, suffix, decimalSeparator, thousandSeparator, decimalScale, fixedDecimalScale) {
44
+ const parts = getDigitParts(value, decimalScale, fixedDecimalScale);
45
+ let intStr = parts.intDigits.join("");
46
+ if (thousandSeparator) {
47
+ const sep = typeof thousandSeparator === "string" ? thousandSeparator : ",";
48
+ intStr = intStr.replace(/\B(?=(\d{3})+(?!\d))/g, sep);
49
+ }
50
+ let result = parts.negative ? `-${intStr}` : intStr;
51
+ if (parts.fracDigits.length > 0) {
52
+ result += `${decimalSeparator}${parts.fracDigits.join("")}`;
53
+ }
54
+ return `${prefix || ""}${result}${suffix || ""}`;
55
+ }
56
+ const defaultProps = {
57
+ animationDuration: 600,
58
+ timingFunction: "ease",
59
+ decimalSeparator: ".",
60
+ tabularNumbers: true
61
+ };
62
+ const varsResolver = createVarsResolver.createVarsResolver(
63
+ (_, { animationDuration, timingFunction }) => ({
64
+ root: {
65
+ "--rn-duration": `${animationDuration}ms`,
66
+ "--rn-timing-function": timingFunction
67
+ }
68
+ })
69
+ );
70
+ function DigitColumn({ digit, getStyles, previousDigit, empty }) {
71
+ const digitIndex = DIGITS.indexOf(digit);
72
+ const prevIndex = previousDigit !== null ? DIGITS.indexOf(previousDigit) : -1;
73
+ const direction = prevIndex === -1 || digitIndex >= prevIndex ? "up" : "down";
74
+ const digitStyles = getStyles("digit");
75
+ const columnStyles = getStyles("digitColumn");
76
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...digitStyles, "data-empty": empty || void 0, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
77
+ "span",
78
+ {
79
+ ...columnStyles,
80
+ style: { ...columnStyles.style, transform: `translateY(${-digitIndex}em)` },
81
+ "data-direction": direction,
82
+ children: DIGITS.map((d) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: d }, d))
83
+ }
84
+ ) });
85
+ }
86
+ const RollingNumber = factory.factory((_props) => {
87
+ const props = useProps.useProps("RollingNumber", defaultProps, _props);
88
+ const {
89
+ classNames,
90
+ className,
91
+ style,
92
+ styles,
93
+ unstyled,
94
+ vars,
95
+ value,
96
+ prefix,
97
+ suffix,
98
+ decimalSeparator,
99
+ thousandSeparator,
100
+ decimalScale,
101
+ fixedDecimalScale,
102
+ animationDuration,
103
+ timingFunction,
104
+ tabularNumbers,
105
+ mod,
106
+ attributes,
107
+ ...others
108
+ } = props;
109
+ const getStyles = useStyles.useStyles({
110
+ name: "RollingNumber",
111
+ classes: RollingNumber_module,
112
+ props,
113
+ className,
114
+ style,
115
+ classNames,
116
+ styles,
117
+ unstyled,
118
+ attributes,
119
+ vars,
120
+ varsResolver
121
+ });
122
+ const previousValueRef = React.useRef(value);
123
+ const [previousValue, setPreviousValue] = React.useState(value);
124
+ hooks.useDidUpdate(() => {
125
+ setPreviousValue(previousValueRef.current);
126
+ previousValueRef.current = value;
127
+ }, [value]);
128
+ const current = getDigitParts(value, decimalScale, fixedDecimalScale);
129
+ const prev = getDigitParts(previousValue, decimalScale, fixedDecimalScale);
130
+ const maxIntLen = Math.max(current.intDigits.length, prev.intDigits.length);
131
+ const maxFracLen = Math.max(current.fracDigits.length, prev.fracDigits.length);
132
+ const currIntPadded = [
133
+ ...Array(maxIntLen - current.intDigits.length).fill(null),
134
+ ...current.intDigits
135
+ ];
136
+ const prevIntPadded = [
137
+ ...Array(maxIntLen - prev.intDigits.length).fill(null),
138
+ ...prev.intDigits
139
+ ];
140
+ const currFracPadded = [
141
+ ...current.fracDigits,
142
+ ...Array(maxFracLen - current.fracDigits.length).fill(null)
143
+ ];
144
+ const prevFracPadded = [
145
+ ...prev.fracDigits,
146
+ ...Array(maxFracLen - prev.fracDigits.length).fill(null)
147
+ ];
148
+ const sep = thousandSeparator ? typeof thousandSeparator === "string" ? thousandSeparator : "," : null;
149
+ const slots = [];
150
+ if (prefix) {
151
+ prefix.split("").forEach((c, i) => {
152
+ slots.push(
153
+ /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles("char"), "aria-hidden": "true", children: c }, `prefix-${i}`)
154
+ );
155
+ });
156
+ }
157
+ if (current.negative || prev.negative) {
158
+ const signEmpty = !current.negative;
159
+ const charStyles = getStyles("char");
160
+ slots.push(
161
+ /* @__PURE__ */ jsxRuntime.jsx("span", { ...charStyles, "data-empty": signEmpty || void 0, "aria-hidden": "true", children: "-" }, "sign")
162
+ );
163
+ }
164
+ for (let i = 0; i < maxIntLen; i++) {
165
+ const posFromRight = maxIntLen - 1 - i;
166
+ const currDigit = currIntPadded[i];
167
+ const prevDigit = prevIntPadded[i];
168
+ const isEmpty = currDigit === null;
169
+ slots.push(
170
+ /* @__PURE__ */ jsxRuntime.jsx(
171
+ DigitColumn,
172
+ {
173
+ digit: currDigit ?? "0",
174
+ previousDigit: prevDigit,
175
+ getStyles,
176
+ empty: isEmpty
177
+ },
178
+ `int-${posFromRight}`
179
+ )
180
+ );
181
+ if (sep && posFromRight > 0 && posFromRight % 3 === 0) {
182
+ const charStyles = getStyles("char");
183
+ slots.push(
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ "span",
186
+ {
187
+ ...charStyles,
188
+ "data-empty": isEmpty || void 0,
189
+ "aria-hidden": "true",
190
+ children: sep
191
+ },
192
+ `sep-${posFromRight}`
193
+ )
194
+ );
195
+ }
196
+ }
197
+ if (current.hasDecimal || prev.hasDecimal) {
198
+ const decEmpty = !current.hasDecimal;
199
+ const charStyles = getStyles("char");
200
+ slots.push(
201
+ /* @__PURE__ */ jsxRuntime.jsx("span", { ...charStyles, "data-empty": decEmpty || void 0, "aria-hidden": "true", children: decimalSeparator }, "dec")
202
+ );
203
+ }
204
+ for (let i = 0; i < maxFracLen; i++) {
205
+ const currDigit = currFracPadded[i];
206
+ const prevDigit = prevFracPadded[i];
207
+ const isEmpty = currDigit === null;
208
+ slots.push(
209
+ /* @__PURE__ */ jsxRuntime.jsx(
210
+ DigitColumn,
211
+ {
212
+ digit: currDigit ?? "0",
213
+ previousDigit: prevDigit,
214
+ getStyles,
215
+ empty: isEmpty
216
+ },
217
+ `frac-${i}`
218
+ )
219
+ );
220
+ }
221
+ if (suffix) {
222
+ suffix.split("").forEach((c, i) => {
223
+ slots.push(
224
+ /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles("char"), "aria-hidden": "true", children: c }, `suffix-${i}`)
225
+ );
226
+ });
227
+ }
228
+ const accessibleValue = buildAccessibleValue(
229
+ value,
230
+ prefix,
231
+ suffix,
232
+ decimalSeparator,
233
+ thousandSeparator,
234
+ decimalScale,
235
+ fixedDecimalScale
236
+ );
237
+ return /* @__PURE__ */ jsxRuntime.jsx(
238
+ Box.Box,
239
+ {
240
+ ...getStyles("root"),
241
+ mod: [{ "tabular-numbers": tabularNumbers }, mod],
242
+ role: "status",
243
+ "aria-label": accessibleValue,
244
+ ...others,
245
+ children: slots
246
+ }
247
+ );
248
+ });
249
+ RollingNumber.classes = RollingNumber_module;
250
+ RollingNumber.varsResolver = varsResolver;
251
+ RollingNumber.displayName = "@mantine/core/RollingNumber";
252
+
253
+ exports.RollingNumber = RollingNumber;
254
+ //# sourceMappingURL=RollingNumber.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RollingNumber.cjs","sources":["../../../src/components/RollingNumber/RollingNumber.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { useDidUpdate } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './RollingNumber.module.css';\n\nexport type RollingNumberStylesNames = 'root' | 'digit' | 'digitColumn' | 'char';\nexport type RollingNumberCssVariables = {\n root: '--rn-duration' | '--rn-timing-function';\n};\n\nconst DIGITS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n\nfunction getDigitParts(\n value: number,\n decimalScale: number | undefined,\n fixedDecimalScale: boolean | undefined\n) {\n const abs = Math.abs(value);\n let str = decimalScale !== undefined ? abs.toFixed(decimalScale) : String(abs);\n\n if (!fixedDecimalScale && decimalScale !== undefined) {\n const parts = str.split('.');\n if (parts[1]) {\n const trimmed = parts[1].replace(/0+$/, '');\n str = trimmed ? `${parts[0]}.${trimmed}` : parts[0];\n }\n }\n\n const dotIdx = str.indexOf('.');\n const intStr = dotIdx >= 0 ? str.slice(0, dotIdx) : str;\n const fracStr = dotIdx >= 0 ? str.slice(dotIdx + 1) : '';\n\n return {\n negative: value < 0,\n intDigits: intStr.split(''),\n fracDigits: fracStr ? fracStr.split('') : [],\n hasDecimal: dotIdx >= 0,\n };\n}\n\nfunction buildAccessibleValue(\n value: number,\n prefix: string | undefined,\n suffix: string | undefined,\n decimalSeparator: string,\n thousandSeparator: string | boolean | undefined,\n decimalScale: number | undefined,\n fixedDecimalScale: boolean | undefined\n): string {\n const parts = getDigitParts(value, decimalScale, fixedDecimalScale);\n let intStr = parts.intDigits.join('');\n\n if (thousandSeparator) {\n const sep = typeof thousandSeparator === 'string' ? thousandSeparator : ',';\n intStr = intStr.replace(/\\B(?=(\\d{3})+(?!\\d))/g, sep);\n }\n\n let result = parts.negative ? `-${intStr}` : intStr;\n if (parts.fracDigits.length > 0) {\n result += `${decimalSeparator}${parts.fracDigits.join('')}`;\n }\n\n return `${prefix || ''}${result}${suffix || ''}`;\n}\n\nexport interface RollingNumberProps\n extends BoxProps, StylesApiProps<RollingNumberFactory>, ElementProps<'div'> {\n /** Number value to display */\n value: number;\n\n /** Prefix added before the value */\n prefix?: string;\n\n /** Suffix added after the value */\n suffix?: string;\n\n /** Character used as a decimal separator @default '.' */\n decimalSeparator?: string;\n\n /** Character used to separate thousands, set to `true` for `,` @default false */\n thousandSeparator?: string | boolean;\n\n /** Number of decimal places to display */\n decimalScale?: number;\n\n /** If set, trailing zeros are added to match `decimalScale` @default false */\n fixedDecimalScale?: boolean;\n\n /** Animation duration in milliseconds @default 600 */\n animationDuration?: number;\n\n /** CSS timing function for animation @default 'ease' */\n timingFunction?: string;\n\n /** If set, use tabular (monospace) numbers @default true */\n tabularNumbers?: boolean;\n}\n\nexport type RollingNumberFactory = Factory<{\n props: RollingNumberProps;\n ref: HTMLDivElement;\n stylesNames: RollingNumberStylesNames;\n vars: RollingNumberCssVariables;\n}>;\n\nconst defaultProps = {\n animationDuration: 600,\n timingFunction: 'ease',\n decimalSeparator: '.',\n tabularNumbers: true,\n} satisfies Partial<RollingNumberProps>;\n\nconst varsResolver = createVarsResolver<RollingNumberFactory>(\n (_, { animationDuration, timingFunction }) => ({\n root: {\n '--rn-duration': `${animationDuration}ms`,\n '--rn-timing-function': timingFunction,\n },\n })\n);\n\ninterface DigitColumnProps {\n digit: string;\n getStyles: ReturnType<typeof useStyles<RollingNumberFactory>>;\n previousDigit: string | null;\n empty?: boolean;\n}\n\nfunction DigitColumn({ digit, getStyles, previousDigit, empty }: DigitColumnProps) {\n const digitIndex = DIGITS.indexOf(digit);\n const prevIndex = previousDigit !== null ? DIGITS.indexOf(previousDigit) : -1;\n const direction = prevIndex === -1 || digitIndex >= prevIndex ? 'up' : 'down';\n const digitStyles = getStyles('digit');\n const columnStyles = getStyles('digitColumn');\n\n return (\n <span {...digitStyles} data-empty={empty || undefined} aria-hidden=\"true\">\n <span\n {...columnStyles}\n style={{ ...columnStyles.style, transform: `translateY(${-digitIndex}em)` }}\n data-direction={direction}\n >\n {DIGITS.map((d) => (\n <span key={d}>{d}</span>\n ))}\n </span>\n </span>\n );\n}\n\nexport const RollingNumber = factory<RollingNumberFactory>((_props) => {\n const props = useProps('RollingNumber', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n value,\n prefix,\n suffix,\n decimalSeparator,\n thousandSeparator,\n decimalScale,\n fixedDecimalScale,\n animationDuration,\n timingFunction,\n tabularNumbers,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RollingNumberFactory>({\n name: 'RollingNumber',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const previousValueRef = useRef(value);\n const [previousValue, setPreviousValue] = useState(value);\n\n useDidUpdate(() => {\n setPreviousValue(previousValueRef.current);\n previousValueRef.current = value;\n }, [value]);\n\n const current = getDigitParts(value, decimalScale, fixedDecimalScale);\n const prev = getDigitParts(previousValue, decimalScale, fixedDecimalScale);\n\n const maxIntLen = Math.max(current.intDigits.length, prev.intDigits.length);\n const maxFracLen = Math.max(current.fracDigits.length, prev.fracDigits.length);\n\n const currIntPadded: (string | null)[] = [\n ...Array(maxIntLen - current.intDigits.length).fill(null),\n ...current.intDigits,\n ];\n const prevIntPadded: (string | null)[] = [\n ...Array(maxIntLen - prev.intDigits.length).fill(null),\n ...prev.intDigits,\n ];\n\n const currFracPadded: (string | null)[] = [\n ...current.fracDigits,\n ...Array(maxFracLen - current.fracDigits.length).fill(null),\n ];\n const prevFracPadded: (string | null)[] = [\n ...prev.fracDigits,\n ...Array(maxFracLen - prev.fracDigits.length).fill(null),\n ];\n\n const sep = thousandSeparator\n ? typeof thousandSeparator === 'string'\n ? thousandSeparator\n : ','\n : null;\n\n const slots: React.ReactNode[] = [];\n\n if (prefix) {\n prefix.split('').forEach((c, i) => {\n slots.push(\n <span key={`prefix-${i}`} {...getStyles('char')} aria-hidden=\"true\">\n {c}\n </span>\n );\n });\n }\n\n if (current.negative || prev.negative) {\n const signEmpty = !current.negative;\n const charStyles = getStyles('char');\n slots.push(\n <span key=\"sign\" {...charStyles} data-empty={signEmpty || undefined} aria-hidden=\"true\">\n -\n </span>\n );\n }\n\n for (let i = 0; i < maxIntLen; i++) {\n const posFromRight = maxIntLen - 1 - i;\n const currDigit = currIntPadded[i];\n const prevDigit = prevIntPadded[i];\n const isEmpty = currDigit === null;\n\n slots.push(\n <DigitColumn\n key={`int-${posFromRight}`}\n digit={currDigit ?? '0'}\n previousDigit={prevDigit}\n getStyles={getStyles}\n empty={isEmpty}\n />\n );\n\n if (sep && posFromRight > 0 && posFromRight % 3 === 0) {\n const charStyles = getStyles('char');\n slots.push(\n <span\n key={`sep-${posFromRight}`}\n {...charStyles}\n data-empty={isEmpty || undefined}\n aria-hidden=\"true\"\n >\n {sep}\n </span>\n );\n }\n }\n\n if (current.hasDecimal || prev.hasDecimal) {\n const decEmpty = !current.hasDecimal;\n const charStyles = getStyles('char');\n slots.push(\n <span key=\"dec\" {...charStyles} data-empty={decEmpty || undefined} aria-hidden=\"true\">\n {decimalSeparator}\n </span>\n );\n }\n\n for (let i = 0; i < maxFracLen; i++) {\n const currDigit = currFracPadded[i];\n const prevDigit = prevFracPadded[i];\n const isEmpty = currDigit === null;\n\n slots.push(\n <DigitColumn\n key={`frac-${i}`}\n digit={currDigit ?? '0'}\n previousDigit={prevDigit}\n getStyles={getStyles}\n empty={isEmpty}\n />\n );\n }\n\n if (suffix) {\n suffix.split('').forEach((c, i) => {\n slots.push(\n <span key={`suffix-${i}`} {...getStyles('char')} aria-hidden=\"true\">\n {c}\n </span>\n );\n });\n }\n\n const accessibleValue = buildAccessibleValue(\n value,\n prefix,\n suffix,\n decimalSeparator!,\n thousandSeparator,\n decimalScale,\n fixedDecimalScale\n );\n\n return (\n <Box\n {...getStyles('root')}\n mod={[{ 'tabular-numbers': tabularNumbers }, mod]}\n role=\"status\"\n aria-label={accessibleValue}\n {...others}\n >\n {slots}\n </Box>\n );\n});\n\nRollingNumber.classes = classes;\nRollingNumber.varsResolver = varsResolver;\nRollingNumber.displayName = '@mantine/core/RollingNumber';\n"],"names":["createVarsResolver","jsx","factory","useProps","useStyles","classes","useRef","useState","useDidUpdate","Box"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var classes = {"root":"m_47dd3981","digit":"m_b301d46e","digitColumn":"m_8ae40964","char":"m_47d64bf5"};
5
+
6
+ module.exports = classes;
7
+ //# sourceMappingURL=RollingNumber.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RollingNumber.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -4,8 +4,8 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var react = require('@floating-ui/react');
7
+ var hooks = require('@mantine/hooks');
7
8
  var rem = require('../../core/utils/units-converters/rem.cjs');
8
- require('@mantine/hooks');
9
9
  var createVarsResolver = require('../../core/styles-api/create-vars-resolver/create-vars-resolver.cjs');
10
10
  require('clsx');
11
11
  require('../../core/MantineProvider/Mantine.context.cjs');
@@ -18,12 +18,13 @@ var useStyles = require('../../core/styles-api/use-styles/use-styles.cjs');
18
18
  var Box = require('../../core/Box/Box.cjs');
19
19
  var factory = require('../../core/factory/factory.cjs');
20
20
  require('../../core/DirectionProvider/DirectionProvider.cjs');
21
- var ScrollArea_module = require('./ScrollArea.module.css.cjs');
22
21
  var ScrollAreaCorner = require('./ScrollAreaCorner/ScrollAreaCorner.cjs');
23
22
  var ScrollAreaRoot = require('./ScrollAreaRoot/ScrollAreaRoot.cjs');
24
23
  var ScrollAreaScrollbar = require('./ScrollAreaScrollbar/ScrollAreaScrollbar.cjs');
25
24
  var ScrollAreaThumb = require('./ScrollAreaThumb/ScrollAreaThumb.cjs');
26
25
  var ScrollAreaViewport = require('./ScrollAreaViewport/ScrollAreaViewport.cjs');
26
+ var useResizeObserver = require('./use-resize-observer.cjs');
27
+ var ScrollArea_module = require('./ScrollArea.module.css.cjs');
27
28
 
28
29
  const defaultProps = {
29
30
  scrollHideDelay: 1e3,
@@ -71,6 +72,7 @@ const ScrollArea = factory.factory((_props) => {
71
72
  onLeftReached,
72
73
  onRightReached,
73
74
  overscrollBehavior,
75
+ startScrollPosition,
74
76
  attributes,
75
77
  ...others
76
78
  } = props;
@@ -96,19 +98,21 @@ const ScrollArea = factory.factory((_props) => {
96
98
  });
97
99
  const localViewportRef = React.useRef(null);
98
100
  const combinedViewportRef = react.useMergeRefs([viewportRef, localViewportRef]);
99
- React.useEffect(() => {
101
+ hooks.useIsomorphicEffect(() => {
102
+ if (startScrollPosition && localViewportRef.current) {
103
+ localViewportRef.current.scrollTo({
104
+ left: startScrollPosition.x ?? 0,
105
+ top: startScrollPosition.y ?? 0
106
+ });
107
+ }
108
+ }, []);
109
+ useResizeObserver.useResizeObserver(offsetScrollbars === "present" ? localViewportRef.current : null, () => {
100
110
  const element = localViewportRef.current;
101
- if (!element || offsetScrollbars !== "present") {
102
- return;
111
+ if (element) {
112
+ setVerticalThumbVisible(element.scrollHeight > element.clientHeight);
113
+ setHorizontalThumbVisible(element.scrollWidth > element.clientWidth);
103
114
  }
104
- const observer = new ResizeObserver(() => {
105
- const { scrollHeight, clientHeight, scrollWidth, clientWidth } = element;
106
- setVerticalThumbVisible(scrollHeight > clientHeight);
107
- setHorizontalThumbVisible(scrollWidth > clientWidth);
108
- });
109
- observer.observe(element);
110
- return () => observer.disconnect();
111
- }, [offsetScrollbars]);
115
+ });
112
116
  return /* @__PURE__ */ jsxRuntime.jsxs(
113
117
  ScrollAreaRoot.ScrollAreaRoot,
114
118
  {
@@ -215,40 +219,33 @@ const ScrollAreaAutosize = factory.factory((props) => {
215
219
  vars,
216
220
  onBottomReached,
217
221
  onTopReached,
222
+ startScrollPosition,
218
223
  onOverflowChange,
219
224
  ...others
220
225
  } = useProps.useProps("ScrollAreaAutosize", defaultProps, props);
221
226
  const viewportObserverRef = React.useRef(null);
222
227
  const combinedViewportRef = react.useMergeRefs([viewportRef, viewportObserverRef]);
223
- const [overflowing, setOverflowing] = React.useState(false);
224
- const didMount = React.useRef(false);
225
- React.useEffect(() => {
226
- if (!onOverflowChange) {
227
- return;
228
- }
228
+ const overflowingRef = React.useRef(false);
229
+ const didMountRef = React.useRef(false);
230
+ const handleOverflowCheck = React.useEffectEvent(() => {
229
231
  const el = viewportObserverRef.current;
230
- if (!el) {
232
+ if (!el || !onOverflowChange) {
231
233
  return;
232
234
  }
233
- const update = () => {
234
- const isOverflowing = el.scrollHeight > el.clientHeight;
235
- if (isOverflowing !== overflowing) {
236
- if (didMount.current) {
237
- onOverflowChange?.(isOverflowing);
238
- } else {
239
- didMount.current = true;
240
- if (isOverflowing) {
241
- onOverflowChange?.(true);
242
- }
235
+ const isOverflowing = el.scrollHeight > el.clientHeight;
236
+ if (isOverflowing !== overflowingRef.current) {
237
+ if (didMountRef.current) {
238
+ onOverflowChange(isOverflowing);
239
+ } else {
240
+ didMountRef.current = true;
241
+ if (isOverflowing) {
242
+ onOverflowChange(true);
243
243
  }
244
- setOverflowing(isOverflowing);
245
244
  }
246
- };
247
- update();
248
- const ro = new ResizeObserver(update);
249
- ro.observe(el);
250
- return () => ro.disconnect();
251
- }, [onOverflowChange, overflowing]);
245
+ overflowingRef.current = isOverflowing;
246
+ }
247
+ });
248
+ useResizeObserver.useResizeObserver(onOverflowChange ? viewportObserverRef.current : null, handleOverflowCheck);
252
249
  return /* @__PURE__ */ jsxRuntime.jsx(Box.Box, { ...others, variant, style: [{ display: "flex", overflow: "hidden" }, style], children: /* @__PURE__ */ jsxRuntime.jsx(
253
250
  Box.Box,
254
251
  {
@@ -282,6 +279,7 @@ const ScrollAreaAutosize = factory.factory((props) => {
282
279
  scrollbars,
283
280
  onBottomReached,
284
281
  onTopReached,
282
+ startScrollPosition,
285
283
  "data-autosize": "true",
286
284
  children
287
285
  }