@mantine/core 9.1.1 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1160) hide show
  1. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  2. package/cjs/components/Accordion/Accordion.context.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/AccordionItem.context.cjs.map +1 -1
  7. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
  8. package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
  9. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs.map +1 -1
  10. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs.map +1 -1
  11. package/cjs/components/Affix/Affix.cjs.map +1 -1
  12. package/cjs/components/Alert/Alert.cjs.map +1 -1
  13. package/cjs/components/Anchor/Anchor.cjs.map +1 -1
  14. package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
  15. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  16. package/cjs/components/AppShell/AppShell.context.cjs.map +1 -1
  17. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
  18. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
  19. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
  20. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs.map +1 -1
  21. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
  22. package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs.map +1 -1
  23. package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs.map +1 -1
  24. package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs.map +1 -1
  25. package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs.map +1 -1
  26. package/cjs/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.cjs.map +1 -1
  27. package/cjs/components/AppShell/AppShellMediaStyles/get-base-size/get-base-size.cjs.map +1 -1
  28. package/cjs/components/AppShell/AppShellMediaStyles/get-padding-value/get-padding-value.cjs.map +1 -1
  29. package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs.map +1 -1
  30. package/cjs/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.cjs.map +1 -1
  31. package/cjs/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.cjs.map +1 -1
  32. package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
  33. package/cjs/components/AppShell/AppShellSection/AppShellSection.cjs.map +1 -1
  34. package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
  35. package/cjs/components/AspectRatio/AspectRatio.cjs.map +1 -1
  36. package/cjs/components/Autocomplete/Autocomplete.cjs +5 -1
  37. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  38. package/cjs/components/Avatar/Avatar.cjs.map +1 -1
  39. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
  40. package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs.map +1 -1
  41. package/cjs/components/Avatar/get-initials/get-initials.cjs.map +1 -1
  42. package/cjs/components/Avatar/get-initials-color/get-initials-color.cjs.map +1 -1
  43. package/cjs/components/BackgroundImage/BackgroundImage.cjs.map +1 -1
  44. package/cjs/components/Badge/Badge.cjs.map +1 -1
  45. package/cjs/components/Blockquote/Blockquote.cjs.map +1 -1
  46. package/cjs/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  47. package/cjs/components/Burger/Burger.cjs.map +1 -1
  48. package/cjs/components/Button/Button.cjs.map +1 -1
  49. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
  50. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
  51. package/cjs/components/Card/Card.cjs.map +1 -1
  52. package/cjs/components/Card/Card.context.cjs.map +1 -1
  53. package/cjs/components/Card/CardSection/CardSection.cjs.map +1 -1
  54. package/cjs/components/Center/Center.cjs.map +1 -1
  55. package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
  56. package/cjs/components/Checkbox/Checkbox.cjs +10 -1
  57. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  58. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
  59. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  60. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  61. package/cjs/components/Chip/Chip.cjs.map +1 -1
  62. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
  63. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  64. package/cjs/components/CloseButton/CloseIcon.cjs.map +1 -1
  65. package/cjs/components/Code/Code.cjs.map +1 -1
  66. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  67. package/cjs/components/ColorInput/ColorInput.cjs +5 -1
  68. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  69. package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
  70. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs.map +1 -1
  71. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  72. package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
  73. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  74. package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs.map +1 -1
  75. package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
  76. package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
  77. package/cjs/components/ColorPicker/Thumb/Thumb.cjs.map +1 -1
  78. package/cjs/components/ColorPicker/converters/converters.cjs.map +1 -1
  79. package/cjs/components/ColorPicker/converters/parsers.cjs.map +1 -1
  80. package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
  81. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  82. package/cjs/components/Combobox/Combobox.context.cjs.map +1 -1
  83. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  84. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  85. package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs.map +1 -1
  86. package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs.map +1 -1
  87. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
  88. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
  89. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
  90. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
  91. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
  92. package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs.map +1 -1
  93. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
  94. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
  95. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  96. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
  97. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  98. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.cjs.map +1 -1
  99. package/cjs/components/Combobox/OptionsDropdown/is-empty-combobox-data.cjs.map +1 -1
  100. package/cjs/components/Combobox/OptionsDropdown/is-options-group.cjs.map +1 -1
  101. package/cjs/components/Combobox/OptionsDropdown/validate-options.cjs.map +1 -1
  102. package/cjs/components/Combobox/get-options-lockup/get-options-lockup.cjs.map +1 -1
  103. package/cjs/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.cjs.map +1 -1
  104. package/cjs/components/Combobox/use-combobox/get-index/get-index.cjs.map +1 -1
  105. package/cjs/components/Combobox/use-combobox/get-index/get-virtualized-index.cjs.map +1 -1
  106. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  107. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  108. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  109. package/cjs/components/Combobox/use-pills-reorder/move-pill.cjs +17 -0
  110. package/cjs/components/Combobox/use-pills-reorder/move-pill.cjs.map +1 -0
  111. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs +170 -0
  112. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -0
  113. package/cjs/components/Container/Container.cjs.map +1 -1
  114. package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
  115. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  116. package/cjs/components/Divider/Divider.cjs.map +1 -1
  117. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  118. package/cjs/components/Drawer/Drawer.context.cjs.map +1 -1
  119. package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
  120. package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
  121. package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
  122. package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
  123. package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
  124. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  125. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  126. package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
  127. package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
  128. package/cjs/components/FileButton/FileButton.cjs.map +1 -1
  129. package/cjs/components/FileInput/FileInput.cjs +5 -1
  130. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  131. package/cjs/components/Flex/Flex.cjs.map +1 -1
  132. package/cjs/components/Flex/flex-props.cjs.map +1 -1
  133. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  134. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
  135. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  136. package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
  137. package/cjs/components/Grid/Grid.cjs.map +1 -1
  138. package/cjs/components/Grid/Grid.context.cjs.map +1 -1
  139. package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
  140. package/cjs/components/Grid/GridCol/GridColVariables.cjs.map +1 -1
  141. package/cjs/components/Grid/GridVariables.cjs.map +1 -1
  142. package/cjs/components/Group/Group.cjs.map +1 -1
  143. package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs.map +1 -1
  144. package/cjs/components/Highlight/Highlight.cjs +17 -5
  145. package/cjs/components/Highlight/Highlight.cjs.map +1 -1
  146. package/cjs/components/Highlight/highlighter/highlighter.cjs +60 -3
  147. package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
  148. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  149. package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
  150. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  151. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
  152. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  153. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  154. package/cjs/components/Image/Image.cjs.map +1 -1
  155. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  156. package/cjs/components/Indicator/get-position-variables/get-position-variables.cjs.map +1 -1
  157. package/cjs/components/Input/Input.cjs.map +1 -1
  158. package/cjs/components/Input/Input.context.cjs.map +1 -1
  159. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  160. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  161. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  162. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  163. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  164. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  165. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  166. package/cjs/components/Input/InputWrapper/get-input-offsets/get-input-offsets.cjs.map +1 -1
  167. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  168. package/cjs/components/Input/use-input-props.cjs +5 -1
  169. package/cjs/components/Input/use-input-props.cjs.map +1 -1
  170. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  171. package/cjs/components/JsonInput/JsonInput.cjs +5 -2
  172. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  173. package/cjs/components/JsonInput/validate-json/validate-json.cjs.map +1 -1
  174. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  175. package/cjs/components/List/List.cjs.map +1 -1
  176. package/cjs/components/List/List.context.cjs.map +1 -1
  177. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  178. package/cjs/components/Loader/Loader.cjs.map +1 -1
  179. package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
  180. package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
  181. package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
  182. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  183. package/cjs/components/Mark/Mark.cjs.map +1 -1
  184. package/cjs/components/Mark/get-mark-color.cjs.map +1 -1
  185. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  186. package/cjs/components/MaskInput/MaskInput.cjs +5 -1
  187. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  188. package/cjs/components/MaskInput/use-mask-input-props.cjs +3 -2
  189. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  190. package/cjs/components/Menu/Menu.cjs +11 -1
  191. package/cjs/components/Menu/Menu.cjs.map +1 -1
  192. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  193. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
  194. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  195. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  196. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
  197. package/cjs/components/Menu/MenuSub/MenuSub.cjs +55 -10
  198. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  199. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  200. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs +9 -7
  201. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  202. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs +8 -5
  203. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  204. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
  205. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  206. package/cjs/components/Modal/Modal.cjs.map +1 -1
  207. package/cjs/components/Modal/Modal.context.cjs.map +1 -1
  208. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  209. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  210. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  211. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  212. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  213. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  214. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  215. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  216. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  217. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  218. package/cjs/components/ModalBase/ModalBase.context.cjs.map +1 -1
  219. package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
  220. package/cjs/components/ModalBase/ModalBaseCloseButton.cjs.map +1 -1
  221. package/cjs/components/ModalBase/ModalBaseContent.cjs.map +1 -1
  222. package/cjs/components/ModalBase/ModalBaseHeader.cjs.map +1 -1
  223. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  224. package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
  225. package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
  226. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  227. package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
  228. package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
  229. package/cjs/components/ModalBase/use-modal-transition.cjs.map +1 -1
  230. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  231. package/cjs/components/MultiSelect/MultiSelect.cjs +19 -3
  232. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  233. package/cjs/components/MultiSelect/filter-picked-values.cjs.map +1 -1
  234. package/cjs/components/NativeSelect/NativeSelect.cjs +5 -1
  235. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  236. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  237. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  238. package/cjs/components/Notification/Notification.cjs.map +1 -1
  239. package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
  240. package/cjs/components/NumberInput/NumberInput.cjs +5 -1
  241. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  242. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  243. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  244. package/cjs/components/OverflowList/get-row-position-data.cjs.map +1 -1
  245. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  246. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  247. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  248. package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
  249. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  250. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
  251. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  252. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  253. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  254. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  255. package/cjs/components/Paper/Paper.cjs.map +1 -1
  256. package/cjs/components/PasswordInput/PasswordInput.cjs +5 -1
  257. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  258. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  259. package/cjs/components/Pill/Pill.cjs.map +1 -1
  260. package/cjs/components/Pill/Pill.module.cjs.map +1 -1
  261. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  262. package/cjs/components/PillsInput/PillsInput.cjs +5 -1
  263. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  264. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  265. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  266. package/cjs/components/PinInput/PinInput.cjs +3 -3
  267. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  268. package/cjs/components/PinInput/create-pin-array/create-pin-array.cjs.map +1 -1
  269. package/cjs/components/Popover/Popover.cjs.map +1 -1
  270. package/cjs/components/Popover/Popover.context.cjs.map +1 -1
  271. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  272. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
  273. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  274. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  275. package/cjs/components/Portal/Portal.cjs.map +1 -1
  276. package/cjs/components/Progress/Progress.cjs.map +1 -1
  277. package/cjs/components/Progress/Progress.context.cjs.map +1 -1
  278. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  279. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  280. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  281. package/cjs/components/Radio/Radio.cjs +7 -1
  282. package/cjs/components/Radio/Radio.cjs.map +1 -1
  283. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  284. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  285. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  286. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  287. package/cjs/components/Rating/Rating.cjs.map +1 -1
  288. package/cjs/components/Rating/Rating.context.cjs.map +1 -1
  289. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  290. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  291. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  292. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  293. package/cjs/components/RingProgress/Curve/get-curve-props.cjs.map +1 -1
  294. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  295. package/cjs/components/RingProgress/get-curves/get-curves.cjs.map +1 -1
  296. package/cjs/components/RollingNumber/DigitColumn.cjs +46 -0
  297. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -0
  298. package/cjs/components/RollingNumber/RollingNumber.cjs +102 -0
  299. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -0
  300. package/cjs/components/RollingNumber/RollingNumber.module.cjs +13 -0
  301. package/cjs/components/RollingNumber/RollingNumber.module.cjs.map +1 -0
  302. package/cjs/components/RollingNumber/build-value.cjs +22 -0
  303. package/cjs/components/RollingNumber/build-value.cjs.map +1 -0
  304. package/cjs/components/RollingNumber/get-digit-parts.cjs +40 -0
  305. package/cjs/components/RollingNumber/get-digit-parts.cjs.map +1 -0
  306. package/cjs/components/RollingNumber/get-render-slots.cjs +78 -0
  307. package/cjs/components/RollingNumber/get-render-slots.cjs.map +1 -0
  308. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  309. package/cjs/components/ScrollArea/ScrollArea.context.cjs.map +1 -1
  310. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  311. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs +1 -1
  312. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  313. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.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 +1 -1
  319. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  320. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.cjs.map +1 -1
  321. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  322. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  323. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs +1 -1
  324. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  325. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  326. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  327. package/cjs/components/ScrollArea/utils/add-unlinked-scroll-listener.cjs.map +1 -1
  328. package/cjs/components/ScrollArea/utils/compose-event-handlers.cjs.map +1 -1
  329. package/cjs/components/ScrollArea/utils/get-scroll-position-from-pointer.cjs.map +1 -1
  330. package/cjs/components/ScrollArea/utils/get-thumb-offset-from-scroll.cjs.map +1 -1
  331. package/cjs/components/ScrollArea/utils/get-thumb-ratio.cjs.map +1 -1
  332. package/cjs/components/ScrollArea/utils/get-thumb-size.cjs.map +1 -1
  333. package/cjs/components/ScrollArea/utils/is-scrolling-within-scrollbar-bounds.cjs.map +1 -1
  334. package/cjs/components/ScrollArea/utils/linear-scale.cjs.map +1 -1
  335. package/cjs/components/ScrollArea/utils/to-int.cjs.map +1 -1
  336. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  337. package/cjs/components/SegmentedControl/SegmentedControl.cjs +1 -1
  338. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  339. package/cjs/components/Select/Select.cjs +5 -1
  340. package/cjs/components/Select/Select.cjs.map +1 -1
  341. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  342. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  343. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  344. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  345. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  346. package/cjs/components/Slider/Marks/is-mark-filled.cjs.map +1 -1
  347. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +3 -1
  348. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  349. package/cjs/components/Slider/Slider/Slider.cjs +2 -1
  350. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  351. package/cjs/components/Slider/Slider.context.cjs.map +1 -1
  352. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
  353. package/cjs/components/Slider/Thumb/Thumb.cjs +3 -1
  354. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  355. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  356. package/cjs/components/Slider/utils/get-change-value/get-change-value.cjs.map +1 -1
  357. package/cjs/components/Slider/utils/get-client-position/get-client-position.cjs.map +1 -1
  358. package/cjs/components/Slider/utils/get-floating-value/get-floating-value.cjs.map +1 -1
  359. package/cjs/components/Slider/utils/get-position/get-position.cjs.map +1 -1
  360. package/cjs/components/Slider/utils/get-precision/get-precision.cjs.map +1 -1
  361. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
  362. package/cjs/components/Space/Space.cjs.map +1 -1
  363. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  364. package/cjs/components/Stack/Stack.cjs.map +1 -1
  365. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  366. package/cjs/components/Stepper/Stepper.context.cjs.map +1 -1
  367. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  368. package/cjs/components/Switch/Switch.cjs +6 -0
  369. package/cjs/components/Switch/Switch.cjs.map +1 -1
  370. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  371. package/cjs/components/Table/Table.cjs.map +1 -1
  372. package/cjs/components/Table/Table.components.cjs.map +1 -1
  373. package/cjs/components/Table/Table.context.cjs.map +1 -1
  374. package/cjs/components/Table/Table.module.cjs.map +1 -1
  375. package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
  376. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  377. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  378. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  379. package/cjs/components/Tabs/Tabs.context.cjs.map +1 -1
  380. package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
  381. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  382. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  383. package/cjs/components/TagsInput/TagsInput.cjs +19 -4
  384. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  385. package/cjs/components/TagsInput/filter-picked-tags.cjs.map +1 -1
  386. package/cjs/components/TagsInput/get-splitted-tags.cjs.map +1 -1
  387. package/cjs/components/Text/Text.cjs.map +1 -1
  388. package/cjs/components/TextInput/TextInput.cjs +5 -1
  389. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  390. package/cjs/components/Textarea/Autosize.cjs.map +1 -1
  391. package/cjs/components/Textarea/Textarea.cjs +5 -2
  392. package/cjs/components/Textarea/Textarea.cjs.map +1 -1
  393. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  394. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  395. package/cjs/components/Timeline/Timeline.context.cjs.map +1 -1
  396. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  397. package/cjs/components/Title/Title.cjs.map +1 -1
  398. package/cjs/components/Title/get-title-size.cjs.map +1 -1
  399. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  400. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  401. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  402. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  403. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  404. package/cjs/components/Transition/Transition.cjs.map +1 -1
  405. package/cjs/components/Transition/get-transition-props/get-transition-props.cjs.map +1 -1
  406. package/cjs/components/Transition/get-transition-styles/get-transition-styles.cjs.map +1 -1
  407. package/cjs/components/Transition/transitions.cjs.map +1 -1
  408. package/cjs/components/Transition/use-transition.cjs.map +1 -1
  409. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  410. package/cjs/components/Tree/Tree.cjs.map +1 -1
  411. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  412. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +1 -1
  413. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs.map +1 -1
  414. package/cjs/components/Tree/get-all-checked-nodes/get-all-checked-nodes.cjs.map +1 -1
  415. package/cjs/components/Tree/get-children-nodes-values/get-children-nodes-values.cjs.map +1 -1
  416. package/cjs/components/Tree/is-node-checked/is-node-checked.cjs +1 -0
  417. package/cjs/components/Tree/is-node-checked/is-node-checked.cjs.map +1 -1
  418. package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs +1 -0
  419. package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs.map +1 -1
  420. package/cjs/components/Tree/merge-async-children/merge-async-children.cjs.map +1 -1
  421. package/cjs/components/Tree/move-tree-node/move-tree-node.cjs.map +1 -1
  422. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  423. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  424. package/cjs/components/TreeSelect/TreeSelect.cjs +602 -0
  425. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -0
  426. package/cjs/components/TreeSelect/TreeSelect.module.cjs +16 -0
  427. package/cjs/components/TreeSelect/TreeSelect.module.cjs.map +1 -0
  428. package/cjs/components/TreeSelect/TreeSelectOption.cjs +95 -0
  429. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -0
  430. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs +34 -0
  431. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs.map +1 -0
  432. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs +30 -0
  433. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -0
  434. package/cjs/components/Typography/Typography.cjs.map +1 -1
  435. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  436. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  437. package/cjs/core/Box/Box.cjs.map +1 -1
  438. package/cjs/core/Box/get-box-mod/get-box-mod.cjs.map +1 -1
  439. package/cjs/core/Box/get-box-style/get-box-style.cjs.map +1 -1
  440. package/cjs/core/Box/get-style-object/get-style-object.cjs.map +1 -1
  441. package/cjs/core/Box/style-props/extract-style-props/extract-style-props.cjs.map +1 -1
  442. package/cjs/core/Box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
  443. package/cjs/core/Box/style-props/parse-style-props/sort-media-queries.cjs.map +1 -1
  444. package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
  445. package/cjs/core/Box/style-props/resolvers/color-resolver/color-resolver.cjs.map +1 -1
  446. package/cjs/core/Box/style-props/resolvers/font-family-resolver/font-family-resolver.cjs.map +1 -1
  447. package/cjs/core/Box/style-props/resolvers/font-size-resolver/font-size-resolver.cjs.map +1 -1
  448. package/cjs/core/Box/style-props/resolvers/identity-resolver/identity-resolver.cjs.map +1 -1
  449. package/cjs/core/Box/style-props/resolvers/index.cjs.map +1 -1
  450. package/cjs/core/Box/style-props/resolvers/line-height-resolver/line-height-resolver.cjs.map +1 -1
  451. package/cjs/core/Box/style-props/resolvers/radius-resolver/radius-resolver.cjs.map +1 -1
  452. package/cjs/core/Box/style-props/resolvers/size-resolver/size-resolver.cjs.map +1 -1
  453. package/cjs/core/Box/style-props/resolvers/spacing-resolver/spacing-resolver.cjs.map +1 -1
  454. package/cjs/core/Box/style-props/style-props-data.cjs.map +1 -1
  455. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  456. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  457. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  458. package/cjs/core/InlineStyles/css-object-to-string/css-object-to-string.cjs.map +1 -1
  459. package/cjs/core/InlineStyles/hash-styles.cjs.map +1 -1
  460. package/cjs/core/InlineStyles/styles-to-string/styles-to-string.cjs.map +1 -1
  461. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
  462. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  463. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
  464. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  465. package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs.map +1 -1
  466. package/cjs/core/MantineProvider/MantineCssVariables/get-css-color-variables.cjs.map +1 -1
  467. package/cjs/core/MantineProvider/MantineCssVariables/get-merged-variables.cjs.map +1 -1
  468. package/cjs/core/MantineProvider/MantineCssVariables/remove-default-variables.cjs.map +1 -1
  469. package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs.map +1 -1
  470. package/cjs/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.cjs.map +1 -1
  471. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  472. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  473. package/cjs/core/MantineProvider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -1
  474. package/cjs/core/MantineProvider/color-functions/darken/darken.cjs.map +1 -1
  475. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
  476. package/cjs/core/MantineProvider/color-functions/get-auto-contrast-value/get-auto-contrast-value.cjs.map +1 -1
  477. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -1
  478. package/cjs/core/MantineProvider/color-functions/get-gradient/get-gradient.cjs.map +1 -1
  479. package/cjs/core/MantineProvider/color-functions/get-primary-shade/get-primary-shade.cjs.map +1 -1
  480. package/cjs/core/MantineProvider/color-functions/get-theme-color/get-theme-color.cjs.map +1 -1
  481. package/cjs/core/MantineProvider/color-functions/lighten/lighten.cjs.map +1 -1
  482. package/cjs/core/MantineProvider/color-functions/luminance/luminance.cjs.map +1 -1
  483. package/cjs/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
  484. package/cjs/core/MantineProvider/color-functions/rgba/rgba.cjs.map +1 -1
  485. package/cjs/core/MantineProvider/color-functions/to-rgba/to-rgba.cjs.map +1 -1
  486. package/cjs/core/MantineProvider/color-scheme-managers/is-mantine-color-scheme.cjs.map +1 -1
  487. package/cjs/core/MantineProvider/color-scheme-managers/local-storage-manager.cjs.map +1 -1
  488. package/cjs/core/MantineProvider/convert-css-variables/convert-css-variables.cjs.map +1 -1
  489. package/cjs/core/MantineProvider/convert-css-variables/css-variables-object-to-string.cjs.map +1 -1
  490. package/cjs/core/MantineProvider/create-theme/create-theme.cjs.map +1 -1
  491. package/cjs/core/MantineProvider/default-colors.cjs.map +1 -1
  492. package/cjs/core/MantineProvider/default-theme.cjs.map +1 -1
  493. package/cjs/core/MantineProvider/mantine-html-props.cjs.map +1 -1
  494. package/cjs/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.cjs +4 -1
  495. package/cjs/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.cjs.map +1 -1
  496. package/cjs/core/MantineProvider/merge-theme-overrides/merge-theme-overrides.cjs.map +1 -1
  497. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  498. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  499. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  500. package/cjs/core/MantineProvider/use-matches/use-matches.cjs.map +1 -1
  501. package/cjs/core/MantineProvider/use-props/use-props.cjs +10 -2
  502. package/cjs/core/MantineProvider/use-props/use-props.cjs.map +1 -1
  503. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
  504. package/cjs/core/factory/create-polymorphic-component.cjs.map +1 -1
  505. package/cjs/core/factory/factory.cjs.map +1 -1
  506. package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
  507. package/cjs/core/styles-api/create-vars-resolver/create-vars-resolver.cjs.map +1 -1
  508. package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.cjs.map +1 -1
  509. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
  510. package/cjs/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.cjs.map +1 -1
  511. package/cjs/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.cjs.map +1 -1
  512. package/cjs/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.cjs.map +1 -1
  513. package/cjs/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.cjs.map +1 -1
  514. package/cjs/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.cjs.map +1 -1
  515. package/cjs/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.cjs.map +1 -1
  516. package/cjs/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.cjs.map +1 -1
  517. package/cjs/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.cjs.map +1 -1
  518. package/cjs/core/styles-api/use-styles/get-style/get-style.cjs.map +1 -1
  519. package/cjs/core/styles-api/use-styles/get-style/resolve-style/resolve-style.cjs.map +1 -1
  520. package/cjs/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.cjs.map +1 -1
  521. package/cjs/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.cjs.map +1 -1
  522. package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
  523. package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs.map +1 -1
  524. package/cjs/core/utils/camel-to-kebab-case/camel-to-kebab-case.cjs.map +1 -1
  525. package/cjs/core/utils/close-on-escape/close-on-escape.cjs.map +1 -1
  526. package/cjs/core/utils/create-event-handler/create-event-handler.cjs.map +1 -1
  527. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  528. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs.map +1 -1
  529. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
  530. package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -1
  531. package/cjs/core/utils/filter-props/filter-props.cjs.map +1 -1
  532. package/cjs/core/utils/find-closest-number/find-closest-number.cjs.map +1 -1
  533. package/cjs/core/utils/find-element-ancestor/find-element-ancestor.cjs.map +1 -1
  534. package/cjs/core/utils/find-element-in-shadow-dom/find-element-in-shadow-dom.cjs.map +1 -1
  535. package/cjs/core/utils/get-base-value/get-base-value.cjs.map +1 -1
  536. package/cjs/core/utils/get-breakpoint-value/get-breakpoint-value.cjs.map +1 -1
  537. package/cjs/core/utils/get-context-item-index/get-context-item-index.cjs.map +1 -1
  538. package/cjs/core/utils/get-default-z-index/get-default-z-index.cjs.map +1 -1
  539. package/cjs/core/utils/get-env/get-env.cjs.map +1 -1
  540. package/cjs/core/utils/get-ref-prop/get-ref-prop.cjs.map +1 -1
  541. package/cjs/core/utils/get-safe-id/get-safe-id.cjs.map +1 -1
  542. package/cjs/core/utils/get-single-element-child/get-single-element-child.cjs.map +1 -1
  543. package/cjs/core/utils/get-size/get-size.cjs.map +1 -1
  544. package/cjs/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.cjs.map +1 -1
  545. package/cjs/core/utils/is-element/is-element.cjs.map +1 -1
  546. package/cjs/core/utils/is-number-like/is-number-like.cjs.map +1 -1
  547. package/cjs/core/utils/keys/keys.cjs.map +1 -1
  548. package/cjs/core/utils/memoize/memoize.cjs.map +1 -1
  549. package/cjs/core/utils/noop/noop.cjs.map +1 -1
  550. package/cjs/core/utils/primitive/primitive.cjs.map +1 -1
  551. package/cjs/core/utils/units-converters/px.cjs.map +1 -1
  552. package/cjs/core/utils/units-converters/rem.cjs.map +1 -1
  553. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  554. package/cjs/index.cjs +8 -0
  555. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
  556. package/cjs/utils/Floating/FloatingArrow/get-arrow-position-styles.cjs.map +1 -1
  557. package/cjs/utils/Floating/get-floating-position/get-floating-position.cjs.map +1 -1
  558. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  559. package/cjs/utils/InlineInput/InlineInput.cjs +4 -0
  560. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  561. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  562. package/esm/components/Accordion/Accordion.context.mjs.map +1 -1
  563. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  564. package/esm/components/Accordion/AccordionChevron.mjs.map +1 -1
  565. package/esm/components/Accordion/AccordionControl/AccordionControl.mjs.map +1 -1
  566. package/esm/components/Accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  567. package/esm/components/Accordion/AccordionItem.context.mjs.map +1 -1
  568. package/esm/components/Accordion/AccordionPanel/AccordionPanel.mjs.map +1 -1
  569. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  570. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  571. package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs.map +1 -1
  572. package/esm/components/Affix/Affix.mjs.map +1 -1
  573. package/esm/components/Alert/Alert.mjs.map +1 -1
  574. package/esm/components/Anchor/Anchor.mjs.map +1 -1
  575. package/esm/components/AngleSlider/AngleSlider.mjs.map +1 -1
  576. package/esm/components/AppShell/AppShell.context.mjs.map +1 -1
  577. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  578. package/esm/components/AppShell/AppShellAside/AppShellAside.mjs.map +1 -1
  579. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  580. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  581. package/esm/components/AppShell/AppShellMain/AppShellMain.mjs.map +1 -1
  582. package/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs.map +1 -1
  583. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
  584. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
  585. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
  586. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
  587. package/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs.map +1 -1
  588. package/esm/components/AppShell/AppShellMediaStyles/get-base-size/get-base-size.mjs.map +1 -1
  589. package/esm/components/AppShell/AppShellMediaStyles/get-padding-value/get-padding-value.mjs.map +1 -1
  590. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
  591. package/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs.map +1 -1
  592. package/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs.map +1 -1
  593. package/esm/components/AppShell/AppShellNavbar/AppShellNavbar.mjs.map +1 -1
  594. package/esm/components/AppShell/AppShellSection/AppShellSection.mjs.map +1 -1
  595. package/esm/components/AppShell/use-resizing/use-resizing.mjs.map +1 -1
  596. package/esm/components/AspectRatio/AspectRatio.mjs.map +1 -1
  597. package/esm/components/Autocomplete/Autocomplete.mjs +5 -1
  598. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  599. package/esm/components/Avatar/Avatar.mjs.map +1 -1
  600. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
  601. package/esm/components/Avatar/AvatarPlaceholderIcon.mjs.map +1 -1
  602. package/esm/components/Avatar/get-initials/get-initials.mjs.map +1 -1
  603. package/esm/components/Avatar/get-initials-color/get-initials-color.mjs.map +1 -1
  604. package/esm/components/BackgroundImage/BackgroundImage.mjs.map +1 -1
  605. package/esm/components/Badge/Badge.mjs.map +1 -1
  606. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  607. package/esm/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
  608. package/esm/components/Burger/Burger.mjs.map +1 -1
  609. package/esm/components/Button/Button.mjs.map +1 -1
  610. package/esm/components/Button/ButtonGroup/ButtonGroup.mjs.map +1 -1
  611. package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs.map +1 -1
  612. package/esm/components/Card/Card.context.mjs.map +1 -1
  613. package/esm/components/Card/Card.mjs.map +1 -1
  614. package/esm/components/Card/CardSection/CardSection.mjs.map +1 -1
  615. package/esm/components/Center/Center.mjs.map +1 -1
  616. package/esm/components/Checkbox/CheckIcon.mjs.map +1 -1
  617. package/esm/components/Checkbox/Checkbox.mjs +10 -1
  618. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  619. package/esm/components/Checkbox/CheckboxCard/CheckboxCard.mjs.map +1 -1
  620. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  621. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  622. package/esm/components/Chip/Chip.mjs.map +1 -1
  623. package/esm/components/Chip/ChipGroup/ChipGroup.mjs.map +1 -1
  624. package/esm/components/CloseButton/CloseButton.mjs.map +1 -1
  625. package/esm/components/CloseButton/CloseIcon.mjs.map +1 -1
  626. package/esm/components/Code/Code.mjs.map +1 -1
  627. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  628. package/esm/components/ColorInput/ColorInput.mjs +5 -1
  629. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  630. package/esm/components/ColorInput/EyeDropperIcon.mjs.map +1 -1
  631. package/esm/components/ColorPicker/AlphaSlider/AlphaSlider.mjs.map +1 -1
  632. package/esm/components/ColorPicker/ColorPicker.context.mjs.map +1 -1
  633. package/esm/components/ColorPicker/ColorPicker.mjs.map +1 -1
  634. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  635. package/esm/components/ColorPicker/HueSlider/HueSlider.mjs.map +1 -1
  636. package/esm/components/ColorPicker/Saturation/Saturation.mjs.map +1 -1
  637. package/esm/components/ColorPicker/Swatches/Swatches.mjs.map +1 -1
  638. package/esm/components/ColorPicker/Thumb/Thumb.mjs.map +1 -1
  639. package/esm/components/ColorPicker/converters/converters.mjs.map +1 -1
  640. package/esm/components/ColorPicker/converters/parsers.mjs.map +1 -1
  641. package/esm/components/ColorSwatch/ColorSwatch.mjs.map +1 -1
  642. package/esm/components/Combobox/Combobox.context.mjs.map +1 -1
  643. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  644. package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs.map +1 -1
  645. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
  646. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs.map +1 -1
  647. package/esm/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.mjs.map +1 -1
  648. package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs.map +1 -1
  649. package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs.map +1 -1
  650. package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
  651. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs.map +1 -1
  652. package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
  653. package/esm/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.mjs.map +1 -1
  654. package/esm/components/Combobox/ComboboxOption/ComboboxOption.mjs.map +1 -1
  655. package/esm/components/Combobox/ComboboxOptions/ComboboxOptions.mjs.map +1 -1
  656. package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs.map +1 -1
  657. package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs.map +1 -1
  658. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  659. package/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs.map +1 -1
  660. package/esm/components/Combobox/OptionsDropdown/is-empty-combobox-data.mjs.map +1 -1
  661. package/esm/components/Combobox/OptionsDropdown/is-options-group.mjs.map +1 -1
  662. package/esm/components/Combobox/OptionsDropdown/validate-options.mjs.map +1 -1
  663. package/esm/components/Combobox/get-options-lockup/get-options-lockup.mjs.map +1 -1
  664. package/esm/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.mjs.map +1 -1
  665. package/esm/components/Combobox/use-combobox/get-index/get-index.mjs.map +1 -1
  666. package/esm/components/Combobox/use-combobox/get-index/get-virtualized-index.mjs.map +1 -1
  667. package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
  668. package/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs.map +1 -1
  669. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
  670. package/esm/components/Combobox/use-pills-reorder/move-pill.mjs +17 -0
  671. package/esm/components/Combobox/use-pills-reorder/move-pill.mjs.map +1 -0
  672. package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs +169 -0
  673. package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs.map +1 -0
  674. package/esm/components/Container/Container.mjs.map +1 -1
  675. package/esm/components/CopyButton/CopyButton.mjs.map +1 -1
  676. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  677. package/esm/components/Divider/Divider.mjs.map +1 -1
  678. package/esm/components/Drawer/Drawer.context.mjs.map +1 -1
  679. package/esm/components/Drawer/Drawer.mjs.map +1 -1
  680. package/esm/components/Drawer/DrawerBody.mjs.map +1 -1
  681. package/esm/components/Drawer/DrawerCloseButton.mjs.map +1 -1
  682. package/esm/components/Drawer/DrawerContent.mjs.map +1 -1
  683. package/esm/components/Drawer/DrawerHeader.mjs.map +1 -1
  684. package/esm/components/Drawer/DrawerOverlay.mjs.map +1 -1
  685. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  686. package/esm/components/Drawer/DrawerStack.mjs.map +1 -1
  687. package/esm/components/Drawer/DrawerTitle.mjs.map +1 -1
  688. package/esm/components/Fieldset/Fieldset.mjs.map +1 -1
  689. package/esm/components/FileButton/FileButton.mjs.map +1 -1
  690. package/esm/components/FileInput/FileInput.mjs +5 -1
  691. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  692. package/esm/components/Flex/Flex.mjs.map +1 -1
  693. package/esm/components/Flex/flex-props.mjs.map +1 -1
  694. package/esm/components/FloatingIndicator/FloatingIndicator.mjs.map +1 -1
  695. package/esm/components/FloatingIndicator/use-floating-indicator.mjs.map +1 -1
  696. package/esm/components/FloatingWindow/FloatingWindow.mjs.map +1 -1
  697. package/esm/components/FocusTrap/FocusTrap.mjs.map +1 -1
  698. package/esm/components/Grid/Grid.context.mjs.map +1 -1
  699. package/esm/components/Grid/Grid.mjs.map +1 -1
  700. package/esm/components/Grid/GridCol/GridCol.mjs.map +1 -1
  701. package/esm/components/Grid/GridCol/GridColVariables.mjs.map +1 -1
  702. package/esm/components/Grid/GridVariables.mjs.map +1 -1
  703. package/esm/components/Group/Group.mjs.map +1 -1
  704. package/esm/components/Group/filter-falsy-children/filter-falsy-children.mjs.map +1 -1
  705. package/esm/components/Highlight/Highlight.mjs +18 -6
  706. package/esm/components/Highlight/Highlight.mjs.map +1 -1
  707. package/esm/components/Highlight/highlighter/highlighter.mjs +60 -4
  708. package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
  709. package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
  710. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  711. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
  712. package/esm/components/HoverCard/HoverCardGroup/HoverCardGroup.mjs.map +1 -1
  713. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  714. package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
  715. package/esm/components/Image/Image.mjs.map +1 -1
  716. package/esm/components/Indicator/Indicator.mjs.map +1 -1
  717. package/esm/components/Indicator/get-position-variables/get-position-variables.mjs.map +1 -1
  718. package/esm/components/Input/Input.context.mjs.map +1 -1
  719. package/esm/components/Input/Input.mjs.map +1 -1
  720. package/esm/components/Input/InputClearButton/InputClearButton.mjs.map +1 -1
  721. package/esm/components/Input/InputClearSection/InputClearSection.mjs.map +1 -1
  722. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  723. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  724. package/esm/components/Input/InputLabel/InputLabel.mjs.map +1 -1
  725. package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs.map +1 -1
  726. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  727. package/esm/components/Input/InputWrapper/get-input-offsets/get-input-offsets.mjs.map +1 -1
  728. package/esm/components/Input/InputWrapper.context.mjs.map +1 -1
  729. package/esm/components/Input/use-input-props.mjs +5 -1
  730. package/esm/components/Input/use-input-props.mjs.map +1 -1
  731. package/esm/components/InputBase/InputBase.mjs.map +1 -1
  732. package/esm/components/JsonInput/JsonInput.mjs +5 -2
  733. package/esm/components/JsonInput/JsonInput.mjs.map +1 -1
  734. package/esm/components/JsonInput/validate-json/validate-json.mjs.map +1 -1
  735. package/esm/components/Kbd/Kbd.mjs.map +1 -1
  736. package/esm/components/List/List.context.mjs.map +1 -1
  737. package/esm/components/List/List.mjs.map +1 -1
  738. package/esm/components/List/ListItem/ListItem.mjs.map +1 -1
  739. package/esm/components/Loader/Loader.mjs.map +1 -1
  740. package/esm/components/Loader/loaders/Bars.mjs.map +1 -1
  741. package/esm/components/Loader/loaders/Dots.mjs.map +1 -1
  742. package/esm/components/Loader/loaders/Oval.mjs.map +1 -1
  743. package/esm/components/LoadingOverlay/LoadingOverlay.mjs.map +1 -1
  744. package/esm/components/Mark/Mark.mjs.map +1 -1
  745. package/esm/components/Mark/get-mark-color.mjs.map +1 -1
  746. package/esm/components/Marquee/Marquee.mjs.map +1 -1
  747. package/esm/components/MaskInput/MaskInput.mjs +5 -1
  748. package/esm/components/MaskInput/MaskInput.mjs.map +1 -1
  749. package/esm/components/MaskInput/use-mask-input-props.mjs +4 -3
  750. package/esm/components/MaskInput/use-mask-input-props.mjs.map +1 -1
  751. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  752. package/esm/components/Menu/Menu.mjs +12 -2
  753. package/esm/components/Menu/Menu.mjs.map +1 -1
  754. package/esm/components/Menu/MenuDivider/MenuDivider.mjs.map +1 -1
  755. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  756. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  757. package/esm/components/Menu/MenuLabel/MenuLabel.mjs.map +1 -1
  758. package/esm/components/Menu/MenuSub/MenuSub.context.mjs.map +1 -1
  759. package/esm/components/Menu/MenuSub/MenuSub.mjs +56 -11
  760. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  761. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs +9 -7
  762. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs.map +1 -1
  763. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs +8 -5
  764. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  765. package/esm/components/Menu/MenuSubTarget/MenuSubTarget.mjs.map +1 -1
  766. package/esm/components/Menu/MenuTarget/MenuTarget.mjs.map +1 -1
  767. package/esm/components/Modal/Modal.context.mjs.map +1 -1
  768. package/esm/components/Modal/Modal.mjs.map +1 -1
  769. package/esm/components/Modal/ModalBody.mjs.map +1 -1
  770. package/esm/components/Modal/ModalCloseButton.mjs.map +1 -1
  771. package/esm/components/Modal/ModalContent.mjs.map +1 -1
  772. package/esm/components/Modal/ModalHeader.mjs.map +1 -1
  773. package/esm/components/Modal/ModalOverlay.mjs.map +1 -1
  774. package/esm/components/Modal/ModalRoot.mjs.map +1 -1
  775. package/esm/components/Modal/ModalStack.mjs.map +1 -1
  776. package/esm/components/Modal/ModalTitle.mjs.map +1 -1
  777. package/esm/components/Modal/use-modals-stack.mjs.map +1 -1
  778. package/esm/components/ModalBase/ModalBase.context.mjs.map +1 -1
  779. package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
  780. package/esm/components/ModalBase/ModalBaseBody.mjs.map +1 -1
  781. package/esm/components/ModalBase/ModalBaseCloseButton.mjs.map +1 -1
  782. package/esm/components/ModalBase/ModalBaseContent.mjs.map +1 -1
  783. package/esm/components/ModalBase/ModalBaseHeader.mjs.map +1 -1
  784. package/esm/components/ModalBase/ModalBaseOverlay.mjs.map +1 -1
  785. package/esm/components/ModalBase/ModalBaseTitle.mjs.map +1 -1
  786. package/esm/components/ModalBase/NativeScrollArea.mjs.map +1 -1
  787. package/esm/components/ModalBase/use-lock-scroll.mjs.map +1 -1
  788. package/esm/components/ModalBase/use-modal-body-id.mjs.map +1 -1
  789. package/esm/components/ModalBase/use-modal-title-id.mjs.map +1 -1
  790. package/esm/components/ModalBase/use-modal-transition.mjs.map +1 -1
  791. package/esm/components/ModalBase/use-modal.mjs.map +1 -1
  792. package/esm/components/MultiSelect/MultiSelect.mjs +19 -3
  793. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  794. package/esm/components/MultiSelect/filter-picked-values.mjs.map +1 -1
  795. package/esm/components/NativeSelect/NativeSelect.mjs +5 -1
  796. package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
  797. package/esm/components/NativeSelect/NativeSelectOption.mjs.map +1 -1
  798. package/esm/components/NavLink/NavLink.mjs.map +1 -1
  799. package/esm/components/Notification/Notification.mjs.map +1 -1
  800. package/esm/components/NumberFormatter/NumberFormatter.mjs.map +1 -1
  801. package/esm/components/NumberInput/NumberInput.mjs +5 -1
  802. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  803. package/esm/components/NumberInput/NumberInputChevron.mjs.map +1 -1
  804. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  805. package/esm/components/OverflowList/get-row-position-data.mjs.map +1 -1
  806. package/esm/components/OverflowList/use-dimensions.mjs.map +1 -1
  807. package/esm/components/Overlay/Overlay.mjs.map +1 -1
  808. package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
  809. package/esm/components/Pagination/Pagination.icons.mjs.map +1 -1
  810. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  811. package/esm/components/Pagination/PaginationControl/PaginationControl.mjs.map +1 -1
  812. package/esm/components/Pagination/PaginationDots/PaginationDots.mjs.map +1 -1
  813. package/esm/components/Pagination/PaginationEdges/PaginationEdges.mjs.map +1 -1
  814. package/esm/components/Pagination/PaginationItems/PaginationItems.mjs.map +1 -1
  815. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  816. package/esm/components/Paper/Paper.mjs.map +1 -1
  817. package/esm/components/PasswordInput/PasswordInput.mjs +5 -1
  818. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  819. package/esm/components/PasswordInput/PasswordToggleIcon.mjs.map +1 -1
  820. package/esm/components/Pill/Pill.mjs.map +1 -1
  821. package/esm/components/Pill/Pill.module.mjs.map +1 -1
  822. package/esm/components/Pill/PillGroup/PillGroup.mjs.map +1 -1
  823. package/esm/components/PillsInput/PillsInput.context.mjs.map +1 -1
  824. package/esm/components/PillsInput/PillsInput.mjs +5 -1
  825. package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
  826. package/esm/components/PillsInput/PillsInputField/PillsInputField.mjs.map +1 -1
  827. package/esm/components/PinInput/PinInput.mjs +3 -3
  828. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  829. package/esm/components/PinInput/create-pin-array/create-pin-array.mjs.map +1 -1
  830. package/esm/components/Popover/Popover.context.mjs.map +1 -1
  831. package/esm/components/Popover/Popover.mjs.map +1 -1
  832. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
  833. package/esm/components/Popover/PopoverTarget/PopoverTarget.mjs.map +1 -1
  834. package/esm/components/Popover/use-popover.mjs.map +1 -1
  835. package/esm/components/Portal/OptionalPortal.mjs.map +1 -1
  836. package/esm/components/Portal/Portal.mjs.map +1 -1
  837. package/esm/components/Progress/Progress.context.mjs.map +1 -1
  838. package/esm/components/Progress/Progress.mjs.map +1 -1
  839. package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs.map +1 -1
  840. package/esm/components/Progress/ProgressRoot/ProgressRoot.mjs.map +1 -1
  841. package/esm/components/Progress/ProgressSection/ProgressSection.mjs.map +1 -1
  842. package/esm/components/Radio/Radio.mjs +7 -1
  843. package/esm/components/Radio/Radio.mjs.map +1 -1
  844. package/esm/components/Radio/RadioCard/RadioCard.mjs.map +1 -1
  845. package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
  846. package/esm/components/Radio/RadioIcon.mjs.map +1 -1
  847. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  848. package/esm/components/Rating/Rating.context.mjs.map +1 -1
  849. package/esm/components/Rating/Rating.mjs.map +1 -1
  850. package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
  851. package/esm/components/Rating/StarSymbol/StarIcon.mjs.map +1 -1
  852. package/esm/components/Rating/StarSymbol/StarSymbol.mjs.map +1 -1
  853. package/esm/components/RingProgress/Curve/Curve.mjs.map +1 -1
  854. package/esm/components/RingProgress/Curve/get-curve-props.mjs.map +1 -1
  855. package/esm/components/RingProgress/RingProgress.mjs.map +1 -1
  856. package/esm/components/RingProgress/get-curves/get-curves.mjs.map +1 -1
  857. package/esm/components/RollingNumber/DigitColumn.mjs +45 -0
  858. package/esm/components/RollingNumber/DigitColumn.mjs.map +1 -0
  859. package/esm/components/RollingNumber/RollingNumber.mjs +101 -0
  860. package/esm/components/RollingNumber/RollingNumber.mjs.map +1 -0
  861. package/esm/components/RollingNumber/RollingNumber.module.mjs +13 -0
  862. package/esm/components/RollingNumber/RollingNumber.module.mjs.map +1 -0
  863. package/esm/components/RollingNumber/build-value.mjs +22 -0
  864. package/esm/components/RollingNumber/build-value.mjs.map +1 -0
  865. package/esm/components/RollingNumber/get-digit-parts.mjs +40 -0
  866. package/esm/components/RollingNumber/get-digit-parts.mjs.map +1 -0
  867. package/esm/components/RollingNumber/get-render-slots.mjs +78 -0
  868. package/esm/components/RollingNumber/get-render-slots.mjs.map +1 -0
  869. package/esm/components/ScrollArea/ScrollArea.context.mjs.map +1 -1
  870. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  871. package/esm/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.mjs.map +1 -1
  872. package/esm/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.mjs +1 -1
  873. package/esm/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.mjs.map +1 -1
  874. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.mjs.map +1 -1
  875. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.mjs.map +1 -1
  876. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.mjs.map +1 -1
  877. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.mjs.map +1 -1
  878. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.mjs.map +1 -1
  879. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.mjs.map +1 -1
  880. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs +1 -1
  881. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
  882. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.mjs.map +1 -1
  883. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.mjs.map +1 -1
  884. package/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs +1 -1
  885. package/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs.map +1 -1
  886. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs.map +1 -1
  887. package/esm/components/ScrollArea/use-resize-observer.mjs.map +1 -1
  888. package/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs.map +1 -1
  889. package/esm/components/ScrollArea/utils/compose-event-handlers.mjs.map +1 -1
  890. package/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs.map +1 -1
  891. package/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs.map +1 -1
  892. package/esm/components/ScrollArea/utils/get-thumb-ratio.mjs.map +1 -1
  893. package/esm/components/ScrollArea/utils/get-thumb-size.mjs.map +1 -1
  894. package/esm/components/ScrollArea/utils/is-scrolling-within-scrollbar-bounds.mjs.map +1 -1
  895. package/esm/components/ScrollArea/utils/linear-scale.mjs.map +1 -1
  896. package/esm/components/ScrollArea/utils/to-int.mjs.map +1 -1
  897. package/esm/components/Scroller/Scroller.mjs.map +1 -1
  898. package/esm/components/SegmentedControl/SegmentedControl.mjs +1 -1
  899. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  900. package/esm/components/Select/Select.mjs +5 -1
  901. package/esm/components/Select/Select.mjs.map +1 -1
  902. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs.map +1 -1
  903. package/esm/components/SimpleGrid/SimpleGrid.mjs.map +1 -1
  904. package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
  905. package/esm/components/Skeleton/Skeleton.mjs.map +1 -1
  906. package/esm/components/Slider/Marks/Marks.mjs.map +1 -1
  907. package/esm/components/Slider/Marks/is-mark-filled.mjs.map +1 -1
  908. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +3 -1
  909. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  910. package/esm/components/Slider/Slider/Slider.mjs +2 -1
  911. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  912. package/esm/components/Slider/Slider.context.mjs.map +1 -1
  913. package/esm/components/Slider/SliderRoot/SliderRoot.mjs.map +1 -1
  914. package/esm/components/Slider/Thumb/Thumb.mjs +3 -1
  915. package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
  916. package/esm/components/Slider/Track/Track.mjs.map +1 -1
  917. package/esm/components/Slider/utils/get-change-value/get-change-value.mjs.map +1 -1
  918. package/esm/components/Slider/utils/get-client-position/get-client-position.mjs.map +1 -1
  919. package/esm/components/Slider/utils/get-floating-value/get-floating-value.mjs.map +1 -1
  920. package/esm/components/Slider/utils/get-position/get-position.mjs.map +1 -1
  921. package/esm/components/Slider/utils/get-precision/get-precision.mjs.map +1 -1
  922. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
  923. package/esm/components/Space/Space.mjs.map +1 -1
  924. package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
  925. package/esm/components/Stack/Stack.mjs.map +1 -1
  926. package/esm/components/Stepper/Stepper.context.mjs.map +1 -1
  927. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  928. package/esm/components/Stepper/StepperStep/StepperStep.mjs.map +1 -1
  929. package/esm/components/Switch/Switch.mjs +6 -0
  930. package/esm/components/Switch/Switch.mjs.map +1 -1
  931. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
  932. package/esm/components/Table/Table.components.mjs.map +1 -1
  933. package/esm/components/Table/Table.context.mjs.map +1 -1
  934. package/esm/components/Table/Table.mjs.map +1 -1
  935. package/esm/components/Table/Table.module.mjs.map +1 -1
  936. package/esm/components/Table/TableDataRenderer.mjs.map +1 -1
  937. package/esm/components/Table/TableScrollContainer.mjs.map +1 -1
  938. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -1
  939. package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
  940. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  941. package/esm/components/Tabs/TabsList/TabsList.mjs.map +1 -1
  942. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
  943. package/esm/components/Tabs/TabsTab/TabsTab.mjs.map +1 -1
  944. package/esm/components/TagsInput/TagsInput.mjs +19 -4
  945. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  946. package/esm/components/TagsInput/filter-picked-tags.mjs.map +1 -1
  947. package/esm/components/TagsInput/get-splitted-tags.mjs.map +1 -1
  948. package/esm/components/Text/Text.mjs.map +1 -1
  949. package/esm/components/TextInput/TextInput.mjs +5 -1
  950. package/esm/components/TextInput/TextInput.mjs.map +1 -1
  951. package/esm/components/Textarea/Autosize.mjs.map +1 -1
  952. package/esm/components/Textarea/Textarea.mjs +5 -2
  953. package/esm/components/Textarea/Textarea.mjs.map +1 -1
  954. package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
  955. package/esm/components/Timeline/Timeline.context.mjs.map +1 -1
  956. package/esm/components/Timeline/Timeline.mjs.map +1 -1
  957. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs.map +1 -1
  958. package/esm/components/Title/Title.mjs.map +1 -1
  959. package/esm/components/Title/get-title-size.mjs.map +1 -1
  960. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  961. package/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs.map +1 -1
  962. package/esm/components/Tooltip/TooltipFloating/use-floating-tooltip.mjs.map +1 -1
  963. package/esm/components/Tooltip/TooltipGroup/TooltipGroup.mjs.map +1 -1
  964. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  965. package/esm/components/Transition/Transition.mjs.map +1 -1
  966. package/esm/components/Transition/get-transition-props/get-transition-props.mjs.map +1 -1
  967. package/esm/components/Transition/get-transition-styles/get-transition-styles.mjs.map +1 -1
  968. package/esm/components/Transition/transitions.mjs.map +1 -1
  969. package/esm/components/Transition/use-transition.mjs.map +1 -1
  970. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  971. package/esm/components/Tree/Tree.mjs.map +1 -1
  972. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  973. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +1 -1
  974. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +1 -1
  975. package/esm/components/Tree/get-all-checked-nodes/get-all-checked-nodes.mjs.map +1 -1
  976. package/esm/components/Tree/get-children-nodes-values/get-children-nodes-values.mjs.map +1 -1
  977. package/esm/components/Tree/is-node-checked/is-node-checked.mjs +1 -1
  978. package/esm/components/Tree/is-node-checked/is-node-checked.mjs.map +1 -1
  979. package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs +1 -1
  980. package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs.map +1 -1
  981. package/esm/components/Tree/merge-async-children/merge-async-children.mjs.map +1 -1
  982. package/esm/components/Tree/move-tree-node/move-tree-node.mjs.map +1 -1
  983. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
  984. package/esm/components/Tree/use-tree.mjs.map +1 -1
  985. package/esm/components/TreeSelect/TreeSelect.mjs +601 -0
  986. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -0
  987. package/esm/components/TreeSelect/TreeSelect.module.mjs +16 -0
  988. package/esm/components/TreeSelect/TreeSelect.module.mjs.map +1 -0
  989. package/esm/components/TreeSelect/TreeSelectOption.mjs +94 -0
  990. package/esm/components/TreeSelect/TreeSelectOption.mjs.map +1 -0
  991. package/esm/components/TreeSelect/flatten-tree-select-data.mjs +34 -0
  992. package/esm/components/TreeSelect/flatten-tree-select-data.mjs.map +1 -0
  993. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs +29 -0
  994. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -0
  995. package/esm/components/Typography/Typography.mjs.map +1 -1
  996. package/esm/components/UnstyledButton/UnstyledButton.mjs.map +1 -1
  997. package/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
  998. package/esm/core/Box/Box.mjs.map +1 -1
  999. package/esm/core/Box/get-box-mod/get-box-mod.mjs.map +1 -1
  1000. package/esm/core/Box/get-box-style/get-box-style.mjs.map +1 -1
  1001. package/esm/core/Box/get-style-object/get-style-object.mjs.map +1 -1
  1002. package/esm/core/Box/style-props/extract-style-props/extract-style-props.mjs.map +1 -1
  1003. package/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
  1004. package/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs.map +1 -1
  1005. package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
  1006. package/esm/core/Box/style-props/resolvers/color-resolver/color-resolver.mjs.map +1 -1
  1007. package/esm/core/Box/style-props/resolvers/font-family-resolver/font-family-resolver.mjs.map +1 -1
  1008. package/esm/core/Box/style-props/resolvers/font-size-resolver/font-size-resolver.mjs.map +1 -1
  1009. package/esm/core/Box/style-props/resolvers/identity-resolver/identity-resolver.mjs.map +1 -1
  1010. package/esm/core/Box/style-props/resolvers/index.mjs.map +1 -1
  1011. package/esm/core/Box/style-props/resolvers/line-height-resolver/line-height-resolver.mjs.map +1 -1
  1012. package/esm/core/Box/style-props/resolvers/radius-resolver/radius-resolver.mjs.map +1 -1
  1013. package/esm/core/Box/style-props/resolvers/size-resolver/size-resolver.mjs.map +1 -1
  1014. package/esm/core/Box/style-props/resolvers/spacing-resolver/spacing-resolver.mjs.map +1 -1
  1015. package/esm/core/Box/style-props/style-props-data.mjs.map +1 -1
  1016. package/esm/core/Box/use-random-classname/use-random-classname.mjs.map +1 -1
  1017. package/esm/core/DirectionProvider/DirectionProvider.mjs.map +1 -1
  1018. package/esm/core/InlineStyles/InlineStyles.mjs.map +1 -1
  1019. package/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs.map +1 -1
  1020. package/esm/core/InlineStyles/hash-styles.mjs.map +1 -1
  1021. package/esm/core/InlineStyles/styles-to-string/styles-to-string.mjs.map +1 -1
  1022. package/esm/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.mjs.map +1 -1
  1023. package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
  1024. package/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs.map +1 -1
  1025. package/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs.map +1 -1
  1026. package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs.map +1 -1
  1027. package/esm/core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs.map +1 -1
  1028. package/esm/core/MantineProvider/MantineCssVariables/get-merged-variables.mjs.map +1 -1
  1029. package/esm/core/MantineProvider/MantineCssVariables/remove-default-variables.mjs.map +1 -1
  1030. package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs.map +1 -1
  1031. package/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs.map +1 -1
  1032. package/esm/core/MantineProvider/MantineProvider.mjs.map +1 -1
  1033. package/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs.map +1 -1
  1034. package/esm/core/MantineProvider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -1
  1035. package/esm/core/MantineProvider/color-functions/darken/darken.mjs.map +1 -1
  1036. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
  1037. package/esm/core/MantineProvider/color-functions/get-auto-contrast-value/get-auto-contrast-value.mjs.map +1 -1
  1038. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -1
  1039. package/esm/core/MantineProvider/color-functions/get-gradient/get-gradient.mjs.map +1 -1
  1040. package/esm/core/MantineProvider/color-functions/get-primary-shade/get-primary-shade.mjs.map +1 -1
  1041. package/esm/core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs.map +1 -1
  1042. package/esm/core/MantineProvider/color-functions/lighten/lighten.mjs.map +1 -1
  1043. package/esm/core/MantineProvider/color-functions/luminance/luminance.mjs.map +1 -1
  1044. package/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
  1045. package/esm/core/MantineProvider/color-functions/rgba/rgba.mjs.map +1 -1
  1046. package/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs.map +1 -1
  1047. package/esm/core/MantineProvider/color-scheme-managers/is-mantine-color-scheme.mjs.map +1 -1
  1048. package/esm/core/MantineProvider/color-scheme-managers/local-storage-manager.mjs.map +1 -1
  1049. package/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs.map +1 -1
  1050. package/esm/core/MantineProvider/convert-css-variables/css-variables-object-to-string.mjs.map +1 -1
  1051. package/esm/core/MantineProvider/create-theme/create-theme.mjs.map +1 -1
  1052. package/esm/core/MantineProvider/default-colors.mjs.map +1 -1
  1053. package/esm/core/MantineProvider/default-theme.mjs.map +1 -1
  1054. package/esm/core/MantineProvider/mantine-html-props.mjs.map +1 -1
  1055. package/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs +4 -1
  1056. package/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs.map +1 -1
  1057. package/esm/core/MantineProvider/merge-theme-overrides/merge-theme-overrides.mjs.map +1 -1
  1058. package/esm/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.mjs.map +1 -1
  1059. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
  1060. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
  1061. package/esm/core/MantineProvider/use-matches/use-matches.mjs.map +1 -1
  1062. package/esm/core/MantineProvider/use-props/use-props.mjs +10 -2
  1063. package/esm/core/MantineProvider/use-props/use-props.mjs.map +1 -1
  1064. package/esm/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -1
  1065. package/esm/core/factory/create-polymorphic-component.mjs.map +1 -1
  1066. package/esm/core/factory/factory.mjs.map +1 -1
  1067. package/esm/core/factory/polymorphic-factory.mjs.map +1 -1
  1068. package/esm/core/styles-api/create-vars-resolver/create-vars-resolver.mjs.map +1 -1
  1069. package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs.map +1 -1
  1070. package/esm/core/styles-api/use-styles/get-class-name/get-class-name.mjs.map +1 -1
  1071. package/esm/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.mjs.map +1 -1
  1072. package/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs.map +1 -1
  1073. package/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs.map +1 -1
  1074. package/esm/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.mjs.map +1 -1
  1075. package/esm/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.mjs.map +1 -1
  1076. package/esm/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.mjs.map +1 -1
  1077. package/esm/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.mjs.map +1 -1
  1078. package/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs.map +1 -1
  1079. package/esm/core/styles-api/use-styles/get-style/get-style.mjs.map +1 -1
  1080. package/esm/core/styles-api/use-styles/get-style/resolve-style/resolve-style.mjs.map +1 -1
  1081. package/esm/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs.map +1 -1
  1082. package/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs.map +1 -1
  1083. package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
  1084. package/esm/core/styles-api/use-styles/use-transformed-styles.mjs.map +1 -1
  1085. package/esm/core/utils/camel-to-kebab-case/camel-to-kebab-case.mjs.map +1 -1
  1086. package/esm/core/utils/close-on-escape/close-on-escape.mjs.map +1 -1
  1087. package/esm/core/utils/create-event-handler/create-event-handler.mjs.map +1 -1
  1088. package/esm/core/utils/create-safe-context/create-safe-context.mjs.map +1 -1
  1089. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
  1090. package/esm/core/utils/create-use-external-events/create-use-external-events.mjs.map +1 -1
  1091. package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -1
  1092. package/esm/core/utils/filter-props/filter-props.mjs.map +1 -1
  1093. package/esm/core/utils/find-closest-number/find-closest-number.mjs.map +1 -1
  1094. package/esm/core/utils/find-element-ancestor/find-element-ancestor.mjs.map +1 -1
  1095. package/esm/core/utils/find-element-in-shadow-dom/find-element-in-shadow-dom.mjs.map +1 -1
  1096. package/esm/core/utils/get-base-value/get-base-value.mjs.map +1 -1
  1097. package/esm/core/utils/get-breakpoint-value/get-breakpoint-value.mjs.map +1 -1
  1098. package/esm/core/utils/get-context-item-index/get-context-item-index.mjs.map +1 -1
  1099. package/esm/core/utils/get-default-z-index/get-default-z-index.mjs.map +1 -1
  1100. package/esm/core/utils/get-env/get-env.mjs.map +1 -1
  1101. package/esm/core/utils/get-ref-prop/get-ref-prop.mjs.map +1 -1
  1102. package/esm/core/utils/get-safe-id/get-safe-id.mjs.map +1 -1
  1103. package/esm/core/utils/get-single-element-child/get-single-element-child.mjs.map +1 -1
  1104. package/esm/core/utils/get-size/get-size.mjs.map +1 -1
  1105. package/esm/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs.map +1 -1
  1106. package/esm/core/utils/is-element/is-element.mjs.map +1 -1
  1107. package/esm/core/utils/is-number-like/is-number-like.mjs.map +1 -1
  1108. package/esm/core/utils/keys/keys.mjs.map +1 -1
  1109. package/esm/core/utils/memoize/memoize.mjs.map +1 -1
  1110. package/esm/core/utils/noop/noop.mjs.map +1 -1
  1111. package/esm/core/utils/primitive/primitive.mjs.map +1 -1
  1112. package/esm/core/utils/units-converters/px.mjs.map +1 -1
  1113. package/esm/core/utils/units-converters/rem.mjs.map +1 -1
  1114. package/esm/core/utils/use-hovered/use-hovered.mjs.map +1 -1
  1115. package/esm/index.mjs +5 -1
  1116. package/esm/utils/Floating/FloatingArrow/FloatingArrow.mjs.map +1 -1
  1117. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs.map +1 -1
  1118. package/esm/utils/Floating/get-floating-position/get-floating-position.mjs.map +1 -1
  1119. package/esm/utils/Floating/use-delayed-hover.mjs.map +1 -1
  1120. package/esm/utils/InlineInput/InlineInput.mjs +4 -0
  1121. package/esm/utils/InlineInput/InlineInput.mjs.map +1 -1
  1122. package/esm/utils/InputsGroupFieldset/InputsGroupFieldset.mjs.map +1 -1
  1123. package/lib/components/Combobox/Combobox.types.d.ts +3 -0
  1124. package/lib/components/Combobox/index.d.ts +2 -0
  1125. package/lib/components/Combobox/use-pills-reorder/move-pill.d.ts +2 -0
  1126. package/lib/components/Combobox/use-pills-reorder/use-pills-reorder.d.ts +26 -0
  1127. package/lib/components/Highlight/Highlight.d.ts +12 -1
  1128. package/lib/components/Highlight/highlighter/highlighter.d.ts +3 -0
  1129. package/lib/components/MaskInput/MaskInput.d.ts +2 -0
  1130. package/lib/components/Menu/Menu.context.d.ts +1 -0
  1131. package/lib/components/Menu/MenuSub/MenuSub.context.d.ts +6 -0
  1132. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -0
  1133. package/lib/components/RollingNumber/DigitColumn.d.ts +11 -0
  1134. package/lib/components/RollingNumber/RollingNumber.d.ts +41 -0
  1135. package/lib/components/RollingNumber/build-value.d.ts +10 -0
  1136. package/lib/components/RollingNumber/get-digit-parts.d.ts +12 -0
  1137. package/lib/components/RollingNumber/get-render-slots.d.ts +35 -0
  1138. package/lib/components/RollingNumber/index.d.ts +9 -0
  1139. package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +2 -0
  1140. package/lib/components/Slider/Slider/Slider.d.ts +2 -0
  1141. package/lib/components/Slider/Thumb/Thumb.d.ts +2 -1
  1142. package/lib/components/TagsInput/TagsInput.d.ts +2 -0
  1143. package/lib/components/TreeSelect/TreeSelect.d.ts +124 -0
  1144. package/lib/components/TreeSelect/TreeSelectOption.d.ts +36 -0
  1145. package/lib/components/TreeSelect/flatten-tree-select-data.d.ts +12 -0
  1146. package/lib/components/TreeSelect/get-checked-values-by-strategy.d.ts +4 -0
  1147. package/lib/components/TreeSelect/index.d.ts +13 -0
  1148. package/lib/components/index.d.ts +2 -0
  1149. package/lib/core/MantineProvider/use-props/use-props.d.ts +1 -1
  1150. package/package.json +4 -4
  1151. package/styles/Pill.css +35 -0
  1152. package/styles/Pill.layer.css +35 -0
  1153. package/styles/RollingNumber.css +60 -0
  1154. package/styles/RollingNumber.layer.css +61 -0
  1155. package/styles/Table.css +30 -0
  1156. package/styles/Table.layer.css +30 -0
  1157. package/styles/TreeSelect.css +113 -0
  1158. package/styles/TreeSelect.layer.css +114 -0
  1159. package/styles.css +240 -0
  1160. package/styles.layer.css +240 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.mjs","names":["useId"],"sources":["../../../../src/components/Radio/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DataAttributes,\n Factory,\n genericFactory,\n MantineSize,\n Primitive,\n useProps,\n} from '../../../core';\nimport { InputsGroupFieldset } from '../../../utils/InputsGroupFieldset';\nimport { Input, InputWrapperProps, InputWrapperStylesNames } from '../../Input';\n\nexport interface RadioGroupContextValue<Value extends Primitive = string> {\n size: MantineSize | undefined;\n value: Value | null;\n onChange: (event: React.ChangeEvent<HTMLInputElement> | string) => void;\n name: string;\n disabled: boolean | undefined;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\nexport type RadioGroupStylesNames = InputWrapperStylesNames;\n\nexport interface RadioGroupProps<Value extends Primitive = string> extends Omit<\n InputWrapperProps,\n 'onChange' | 'value' | 'defaultValue'\n> {\n /** `Radio` components and any other elements */\n children: React.ReactNode;\n\n /** Controlled component value */\n value?: Value | null;\n\n /** Uncontrolled component default value */\n defaultValue?: Value | null;\n\n /** Called when value changes */\n onChange?: (value: Value) => void;\n\n /** Props passed down to the `Input.Wrapper` */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Controls size of the `Input.Wrapper` @default 'sm' */\n size?: MantineSize;\n\n /** `name` attribute of child radio inputs. By default, `name` is generated randomly. */\n name?: string;\n\n /** If set, value cannot be changed */\n readOnly?: boolean;\n\n /** Sets `disabled` attribute, prevents interactions */\n disabled?: boolean;\n}\n\nexport type RadioGroupFactory = Factory<{\n props: RadioGroupProps;\n ref: HTMLDivElement;\n stylesNames: RadioGroupStylesNames;\n signature: <Value extends Primitive = string>(props: RadioGroupProps<Value>) => React.JSX.Element;\n}>;\n\nexport const RadioGroup = genericFactory<RadioGroupFactory>(((props: RadioGroupProps<string>) => {\n const {\n value,\n defaultValue,\n onChange,\n size,\n wrapperProps,\n children,\n name,\n readOnly,\n disabled,\n ...others\n } = useProps('RadioGroup', null, props);\n\n const _name = useId(name);\n\n const [_value, setValue] = useUncontrolled<string | null>({\n value,\n defaultValue,\n finalValue: '',\n onChange: onChange as any,\n });\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | string) =>\n !readOnly && setValue(typeof event === 'string' ? event : event.currentTarget.value);\n\n return (\n <RadioGroupContext\n value={{ value: _value, onChange: handleChange, size, name: _name, disabled }}\n >\n <Input.Wrapper\n size={size}\n {...wrapperProps}\n {...others}\n labelElement=\"div\"\n __staticSelector=\"RadioGroup\"\n >\n <InputsGroupFieldset role=\"radiogroup\">{children}</InputsGroupFieldset>\n </Input.Wrapper>\n </RadioGroupContext>\n );\n}) as any);\n\nRadioGroup.classes = Input.Wrapper.classes;\nRadioGroup.displayName = '@mantine/core/RadioGroup';\n"],"mappings":";;;;;;;;;AAqBA,MAAa,oBAAoB,cAA6C,KAAK;AA2CnF,MAAa,aAAa,iBAAoC,UAAmC;CAC/F,MAAM,EACJ,OACA,cACA,UACA,MACA,cACA,UACA,MACA,UACA,UACA,GAAG,WACD,SAAS,cAAc,MAAM,MAAM;CAEvC,MAAM,QAAQA,QAAM,KAAK;CAEzB,MAAM,CAAC,QAAQ,YAAY,gBAA+B;EACxD;EACA;EACA,YAAY;EACF;EACX,CAAC;CAEF,MAAM,gBAAgB,UACpB,CAAC,YAAY,SAAS,OAAO,UAAU,WAAW,QAAQ,MAAM,cAAc,MAAM;AAEtF,QACE,oBAAC,mBAAD;EACE,OAAO;GAAE,OAAO;GAAQ,UAAU;GAAc;GAAM,MAAM;GAAO;GAAU;YAE7E,oBAAC,MAAM,SAAP;GACQ;GACN,GAAI;GACJ,GAAI;GACJ,cAAa;GACb,kBAAiB;aAEjB,oBAAC,qBAAD;IAAqB,MAAK;IAAc;IAA+B,CAAA;GACzD,CAAA;EACE,CAAA;GAEd;AAEV,WAAW,UAAU,MAAM,QAAQ;AACnC,WAAW,cAAc"}
1
+ {"version":3,"file":"RadioGroup.mjs","names":["useId"],"sources":["../../../../src/components/Radio/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DataAttributes,\n Factory,\n genericFactory,\n MantineSize,\n Primitive,\n useProps,\n} from '../../../core';\nimport { InputsGroupFieldset } from '../../../utils/InputsGroupFieldset';\nimport { Input, InputWrapperProps, InputWrapperStylesNames } from '../../Input';\n\nexport interface RadioGroupContextValue<Value extends Primitive = string> {\n size: MantineSize | undefined;\n value: Value | null;\n onChange: (event: React.ChangeEvent<HTMLInputElement> | string) => void;\n name: string;\n disabled: boolean | undefined;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\nexport type RadioGroupStylesNames = InputWrapperStylesNames;\n\nexport interface RadioGroupProps<Value extends Primitive = string> extends Omit<\n InputWrapperProps,\n 'onChange' | 'value' | 'defaultValue'\n> {\n /** `Radio` components and any other elements */\n children: React.ReactNode;\n\n /** Controlled component value */\n value?: Value | null;\n\n /** Uncontrolled component default value */\n defaultValue?: Value | null;\n\n /** Called when value changes */\n onChange?: (value: Value) => void;\n\n /** Props passed down to the `Input.Wrapper` */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Controls size of the `Input.Wrapper` @default 'sm' */\n size?: MantineSize;\n\n /** `name` attribute of child radio inputs. By default, `name` is generated randomly. */\n name?: string;\n\n /** If set, value cannot be changed */\n readOnly?: boolean;\n\n /** Sets `disabled` attribute, prevents interactions */\n disabled?: boolean;\n}\n\nexport type RadioGroupFactory = Factory<{\n props: RadioGroupProps;\n ref: HTMLDivElement;\n stylesNames: RadioGroupStylesNames;\n signature: <Value extends Primitive = string>(props: RadioGroupProps<Value>) => React.JSX.Element;\n}>;\n\nexport const RadioGroup = genericFactory<RadioGroupFactory>(((props: RadioGroupProps<string>) => {\n const {\n value,\n defaultValue,\n onChange,\n size,\n wrapperProps,\n children,\n name,\n readOnly,\n disabled,\n ...others\n } = useProps('RadioGroup', null, props);\n\n const _name = useId(name);\n\n const [_value, setValue] = useUncontrolled<string | null>({\n value,\n defaultValue,\n finalValue: '',\n onChange: onChange as any,\n });\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | string) =>\n !readOnly && setValue(typeof event === 'string' ? event : event.currentTarget.value);\n\n return (\n <RadioGroupContext\n value={{ value: _value, onChange: handleChange, size, name: _name, disabled }}\n >\n <Input.Wrapper\n size={size}\n {...wrapperProps}\n {...others}\n labelElement=\"div\"\n __staticSelector=\"RadioGroup\"\n >\n <InputsGroupFieldset role=\"radiogroup\">{children}</InputsGroupFieldset>\n </Input.Wrapper>\n </RadioGroupContext>\n );\n}) as any);\n\nRadioGroup.classes = Input.Wrapper.classes;\nRadioGroup.displayName = '@mantine/core/RadioGroup';\n"],"mappings":";;;;;;;;;AAqBA,MAAa,oBAAoB,cAA6C,IAAI;AA2ClF,MAAa,aAAa,iBAAoC,UAAmC;CAC/F,MAAM,EACJ,OACA,cACA,UACA,MACA,cACA,UACA,MACA,UACA,UACA,GAAG,WACD,SAAS,cAAc,MAAM,KAAK;CAEtC,MAAM,QAAQA,QAAM,IAAI;CAExB,MAAM,CAAC,QAAQ,YAAY,gBAA+B;EACxD;EACA;EACA,YAAY;EACF;CACZ,CAAC;CAED,MAAM,gBAAgB,UACpB,CAAC,YAAY,SAAS,OAAO,UAAU,WAAW,QAAQ,MAAM,cAAc,KAAK;CAErF,OACE,oBAAC,mBAAD;EACE,OAAO;GAAE,OAAO;GAAQ,UAAU;GAAc;GAAM,MAAM;GAAO;EAAS;YAE5E,oBAAC,MAAM,SAAP;GACQ;GACN,GAAI;GACJ,GAAI;GACJ,cAAa;GACb,kBAAiB;aAEjB,oBAAC,qBAAD;IAAqB,MAAK;IAAc;GAA8B,CAAA;EACzD,CAAA;CACE,CAAA;AAEvB,EAAS;AAET,WAAW,UAAU,MAAM,QAAQ;AACnC,WAAW,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioIcon.mjs","names":[],"sources":["../../../src/components/Radio/RadioIcon.tsx"],"sourcesContent":["import { rem } from '../../core';\n\nexport interface RadioIconProps extends React.ComponentProps<'svg'> {\n size?: string | number;\n}\n\nexport function RadioIcon({ size, style, ...others }: RadioIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 5 5\"\n style={{ width: rem(size), height: rem(size), ...style }}\n aria-hidden\n {...others}\n >\n <circle cx=\"2.5\" cy=\"2.5\" r=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n}\n"],"mappings":";;;;AAMA,SAAgB,UAAU,EAAE,MAAM,OAAO,GAAG,UAA0B;AACpE,QACE,oBAAC,OAAD;EACE,OAAM;EACN,MAAK;EACL,SAAQ;EACR,OAAO;GAAE,OAAO,IAAI,KAAK;GAAE,QAAQ,IAAI,KAAK;GAAE,GAAG;GAAO;EACxD,eAAA;EACA,GAAI;YAEJ,oBAAC,UAAD;GAAQ,IAAG;GAAM,IAAG;GAAM,GAAE;GAAM,MAAK;GAAiB,CAAA;EACpD,CAAA"}
1
+ {"version":3,"file":"RadioIcon.mjs","names":[],"sources":["../../../src/components/Radio/RadioIcon.tsx"],"sourcesContent":["import { rem } from '../../core';\n\nexport interface RadioIconProps extends React.ComponentProps<'svg'> {\n size?: string | number;\n}\n\nexport function RadioIcon({ size, style, ...others }: RadioIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 5 5\"\n style={{ width: rem(size), height: rem(size), ...style }}\n aria-hidden\n {...others}\n >\n <circle cx=\"2.5\" cy=\"2.5\" r=\"2.5\" fill=\"currentColor\" />\n </svg>\n );\n}\n"],"mappings":";;;;AAMA,SAAgB,UAAU,EAAE,MAAM,OAAO,GAAG,UAA0B;CACpE,OACE,oBAAC,OAAD;EACE,OAAM;EACN,MAAK;EACL,SAAQ;EACR,OAAO;GAAE,OAAO,IAAI,IAAI;GAAG,QAAQ,IAAI,IAAI;GAAG,GAAG;EAAM;EACvD,eAAA;EACA,GAAI;YAEJ,oBAAC,UAAD;GAAQ,IAAG;GAAM,IAAG;GAAM,GAAE;GAAM,MAAK;EAAgB,CAAA;CACpD,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioIndicator.mjs","names":["classes"],"sources":["../../../../src/components/Radio/RadioIndicator/RadioIndicator.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n parseThemeColor,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { RadioCardContext } from '../RadioCard/RadioCard';\nimport { RadioIcon, RadioIconProps } from '../RadioIcon';\nimport classes from './RadioIndicator.module.css';\n\nexport type RadioIndicatorStylesNames = 'indicator' | 'icon';\nexport type RadioIndicatorVariant = 'filled' | 'outline';\nexport type RadioIndicatorCssVariables = {\n indicator:\n | '--radio-size'\n | '--radio-radius'\n | '--radio-color'\n | '--radio-icon-color'\n | '--radio-icon-size';\n};\n\nexport interface RadioIndicatorProps\n extends BoxProps, StylesApiProps<RadioIndicatorFactory>, ElementProps<'div'> {\n /** Key of theme.colors or any valid CSS color to set indicator background color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the component @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of theme.colors or any valid CSS color to set icon color. When not set, icon color is determined automatically based on theme.autoContrast setting */\n iconColor?: MantineColor;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** A component that replaces the default radio icon (centered dot) */\n icon?: React.FC<RadioIconProps>;\n\n /** Checked state */\n checked?: boolean;\n\n /** Disabled state */\n disabled?: boolean;\n}\n\nexport type RadioIndicatorFactory = Factory<{\n props: RadioIndicatorProps;\n ref: HTMLDivElement;\n stylesNames: RadioIndicatorStylesNames;\n vars: RadioIndicatorCssVariables;\n variant: RadioIndicatorVariant;\n}>;\n\nconst defaultProps = {\n icon: RadioIcon,\n} satisfies Partial<RadioIndicatorProps>;\n\nconst varsResolver = createVarsResolver<RadioIndicatorFactory>(\n (theme, { radius, color, size, iconColor, variant, autoContrast }) => {\n const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });\n const outlineColor =\n parsedColor.isThemeColor && parsedColor.shade === undefined\n ? `var(--mantine-color-${parsedColor.color}-outline)`\n : parsedColor.color;\n\n return {\n indicator: {\n '--radio-size': getSize(size, 'radio-size'),\n '--radio-radius': radius === undefined ? undefined : getRadius(radius),\n '--radio-color': variant === 'outline' ? outlineColor : getThemeColor(color, theme),\n '--radio-icon-size': getSize(size, 'radio-icon-size'),\n '--radio-icon-color': iconColor\n ? getThemeColor(iconColor, theme)\n : getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n };\n }\n);\n\nexport const RadioIndicator = factory<RadioIndicatorFactory>((_props) => {\n const props = useProps('RadioIndicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n icon: Icon,\n radius,\n color,\n iconColor,\n autoContrast,\n checked,\n mod,\n variant,\n disabled,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RadioIndicatorFactory>({\n name: 'RadioIndicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'indicator',\n });\n\n const ctx = use(RadioCardContext);\n const _checked = typeof checked === 'boolean' ? checked : ctx?.checked || false;\n\n return (\n <Box\n {...getStyles('indicator', { variant })}\n variant={variant}\n mod={[{ checked: _checked, disabled }, mod]}\n {...others}\n >\n <Icon {...getStyles('icon')} />\n </Box>\n );\n});\n\nRadioIndicator.displayName = '@mantine/core/RadioIndicator';\nRadioIndicator.classes = classes;\nRadioIndicator.varsResolver = varsResolver;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuEA,MAAM,eAAe,EACnB,MAAM,WACP;AAED,MAAM,eAAe,oBAClB,OAAO,EAAE,QAAQ,OAAO,MAAM,WAAW,SAAS,mBAAmB;CACpE,MAAM,cAAc,gBAAgB;EAAE,OAAO,SAAS,MAAM;EAAc;EAAO,CAAC;CAClF,MAAM,eACJ,YAAY,gBAAgB,YAAY,UAAU,KAAA,IAC9C,uBAAuB,YAAY,MAAM,aACzC,YAAY;AAElB,QAAO,EACL,WAAW;EACT,gBAAgB,QAAQ,MAAM,aAAa;EAC3C,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,OAAO;EACtE,iBAAiB,YAAY,YAAY,eAAe,cAAc,OAAO,MAAM;EACnF,qBAAqB,QAAQ,MAAM,kBAAkB;EACrD,sBAAsB,YAClB,cAAc,WAAW,MAAM,GAC/B,qBAAqB,cAAc,MAAM,GACvC,iBAAiB;GAAE;GAAO;GAAO;GAAc,CAAC,GAChD,KAAA;EACP,EACF;EAEJ;AAED,MAAa,iBAAiB,SAAgC,WAAW;CACvE,MAAM,QAAQ,SAAS,kBAAkB,cAAc,OAAO;CAC9D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MAAM,MACN,QACA,OACA,WACA,cACA,SACA,KACA,SACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAiC;EACjD,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACf,CAAC;CAEF,MAAM,MAAM,IAAI,iBAAiB;CACjC,MAAM,WAAW,OAAO,YAAY,YAAY,UAAU,KAAK,WAAW;AAE1E,QACE,oBAAC,KAAD;EACE,GAAI,UAAU,aAAa,EAAE,SAAS,CAAC;EAC9B;EACT,KAAK,CAAC;GAAE,SAAS;GAAU;GAAU,EAAE,IAAI;EAC3C,GAAI;YAEJ,oBAAC,MAAD,EAAM,GAAI,UAAU,OAAO,EAAI,CAAA;EAC3B,CAAA;EAER;AAEF,eAAe,cAAc;AAC7B,eAAe,UAAUA;AACzB,eAAe,eAAe"}
1
+ {"version":3,"file":"RadioIndicator.mjs","names":["classes"],"sources":["../../../../src/components/Radio/RadioIndicator/RadioIndicator.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n parseThemeColor,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { RadioCardContext } from '../RadioCard/RadioCard';\nimport { RadioIcon, RadioIconProps } from '../RadioIcon';\nimport classes from './RadioIndicator.module.css';\n\nexport type RadioIndicatorStylesNames = 'indicator' | 'icon';\nexport type RadioIndicatorVariant = 'filled' | 'outline';\nexport type RadioIndicatorCssVariables = {\n indicator:\n | '--radio-size'\n | '--radio-radius'\n | '--radio-color'\n | '--radio-icon-color'\n | '--radio-icon-size';\n};\n\nexport interface RadioIndicatorProps\n extends BoxProps, StylesApiProps<RadioIndicatorFactory>, ElementProps<'div'> {\n /** Key of theme.colors or any valid CSS color to set indicator background color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the component @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of theme.colors or any valid CSS color to set icon color. When not set, icon color is determined automatically based on theme.autoContrast setting */\n iconColor?: MantineColor;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** A component that replaces the default radio icon (centered dot) */\n icon?: React.FC<RadioIconProps>;\n\n /** Checked state */\n checked?: boolean;\n\n /** Disabled state */\n disabled?: boolean;\n}\n\nexport type RadioIndicatorFactory = Factory<{\n props: RadioIndicatorProps;\n ref: HTMLDivElement;\n stylesNames: RadioIndicatorStylesNames;\n vars: RadioIndicatorCssVariables;\n variant: RadioIndicatorVariant;\n}>;\n\nconst defaultProps = {\n icon: RadioIcon,\n} satisfies Partial<RadioIndicatorProps>;\n\nconst varsResolver = createVarsResolver<RadioIndicatorFactory>(\n (theme, { radius, color, size, iconColor, variant, autoContrast }) => {\n const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });\n const outlineColor =\n parsedColor.isThemeColor && parsedColor.shade === undefined\n ? `var(--mantine-color-${parsedColor.color}-outline)`\n : parsedColor.color;\n\n return {\n indicator: {\n '--radio-size': getSize(size, 'radio-size'),\n '--radio-radius': radius === undefined ? undefined : getRadius(radius),\n '--radio-color': variant === 'outline' ? outlineColor : getThemeColor(color, theme),\n '--radio-icon-size': getSize(size, 'radio-icon-size'),\n '--radio-icon-color': iconColor\n ? getThemeColor(iconColor, theme)\n : getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n };\n }\n);\n\nexport const RadioIndicator = factory<RadioIndicatorFactory>((_props) => {\n const props = useProps('RadioIndicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n icon: Icon,\n radius,\n color,\n iconColor,\n autoContrast,\n checked,\n mod,\n variant,\n disabled,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RadioIndicatorFactory>({\n name: 'RadioIndicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'indicator',\n });\n\n const ctx = use(RadioCardContext);\n const _checked = typeof checked === 'boolean' ? checked : ctx?.checked || false;\n\n return (\n <Box\n {...getStyles('indicator', { variant })}\n variant={variant}\n mod={[{ checked: _checked, disabled }, mod]}\n {...others}\n >\n <Icon {...getStyles('icon')} />\n </Box>\n );\n});\n\nRadioIndicator.displayName = '@mantine/core/RadioIndicator';\nRadioIndicator.classes = classes;\nRadioIndicator.varsResolver = varsResolver;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuEA,MAAM,eAAe,EACnB,MAAM,UACR;AAEA,MAAM,eAAe,oBAClB,OAAO,EAAE,QAAQ,OAAO,MAAM,WAAW,SAAS,mBAAmB;CACpE,MAAM,cAAc,gBAAgB;EAAE,OAAO,SAAS,MAAM;EAAc;CAAM,CAAC;CACjF,MAAM,eACJ,YAAY,gBAAgB,YAAY,UAAU,KAAA,IAC9C,uBAAuB,YAAY,MAAM,aACzC,YAAY;CAElB,OAAO,EACL,WAAW;EACT,gBAAgB,QAAQ,MAAM,YAAY;EAC1C,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,MAAM;EACrE,iBAAiB,YAAY,YAAY,eAAe,cAAc,OAAO,KAAK;EAClF,qBAAqB,QAAQ,MAAM,iBAAiB;EACpD,sBAAsB,YAClB,cAAc,WAAW,KAAK,IAC9B,qBAAqB,cAAc,KAAK,IACtC,iBAAiB;GAAE;GAAO;GAAO;EAAa,CAAC,IAC/C,KAAA;CACR,EACF;AACF,CACF;AAEA,MAAa,iBAAiB,SAAgC,WAAW;CACvE,MAAM,QAAQ,SAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MAAM,MACN,QACA,OACA,WACA,cACA,SACA,KACA,SACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAiC;EACjD,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,MAAM,IAAI,gBAAgB;CAChC,MAAM,WAAW,OAAO,YAAY,YAAY,UAAU,KAAK,WAAW;CAE1E,OACE,oBAAC,KAAD;EACE,GAAI,UAAU,aAAa,EAAE,QAAQ,CAAC;EAC7B;EACT,KAAK,CAAC;GAAE,SAAS;GAAU;EAAS,GAAG,GAAG;EAC1C,GAAI;YAEJ,oBAAC,MAAD,EAAM,GAAI,UAAU,MAAM,EAAI,CAAA;CAC3B,CAAA;AAET,CAAC;AAED,eAAe,cAAc;AAC7B,eAAe,UAAUA;AACzB,eAAe,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.context.mjs","names":[],"sources":["../../../src/components/Rating/Rating.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { RatingFactory } from './Rating';\n\ninterface RatingContextValue {\n getStyles: GetStylesApi<RatingFactory>;\n}\n\nexport const [RatingProvider, useRatingContext] = createSafeContext<RatingContextValue>(\n 'Rating was not found in tree'\n);\n"],"mappings":";;;AAOA,MAAa,CAAC,gBAAgB,oBAAoB,kBAChD,+BACD"}
1
+ {"version":3,"file":"Rating.context.mjs","names":[],"sources":["../../../src/components/Rating/Rating.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { RatingFactory } from './Rating';\n\ninterface RatingContextValue {\n getStyles: GetStylesApi<RatingFactory>;\n}\n\nexport const [RatingProvider, useRatingContext] = createSafeContext<RatingContextValue>(\n 'Rating was not found in tree'\n);\n"],"mappings":";;;AAOA,MAAa,CAAC,gBAAgB,oBAAoB,kBAChD,8BACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.mjs","names":["useId","classes"],"sources":["../../../src/components/Rating/Rating.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { clamp, useId, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSize,\n getThemeColor,\n MantineColor,\n MantineSize,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { RatingProvider } from './Rating.context';\nimport { RatingItem } from './RatingItem/RatingItem';\nimport classes from './Rating.module.css';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames =\n | 'root'\n | 'starSymbol'\n | 'input'\n | 'label'\n | 'symbolBody'\n | 'symbolGroup';\n\nexport type RatingCssVariables = {\n root: '--rating-size' | '--rating-color';\n};\n\nexport interface RatingProps\n extends BoxProps, StylesApiProps<RatingFactory>, ElementProps<'div', 'onChange'> {\n /** Uncontrolled component default value */\n defaultValue?: number;\n\n /** Controlled component value */\n value?: number;\n\n /** Called when value changes */\n onChange?: (value: number) => void;\n\n /** Icon displayed for unselected rating items. Can be a function that receives the rating value. */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Icon displayed for selected rating items. Can be a function that receives the rating value. */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, default is 1 */\n fractions?: number;\n\n /** Controls component size @default 'sm' */\n size?: MantineSize | number | (string & {});\n\n /** Number of rating items (stars), default is 5 */\n count?: number;\n\n /** Called when rating item is hovered. Receives -1 when hover ends. */\n onHover?: (value: number) => void;\n\n /** Function to generate aria-label for each rating value. Receives the rating value as argument, default is (value) => String(value) */\n getSymbolLabel?: (index: number) => string;\n\n /** Name attribute for form submission. If not provided, a unique id will be generated. */\n name?: string;\n\n /** When true, rating cannot be changed by user interaction, default is false */\n readOnly?: boolean;\n\n /** When true, clicking the same rating value clears the rating to 0, default is false */\n allowClear?: boolean;\n\n /** When true, only the clicked rating item is highlighted, not all items up to the selected value, default is false */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, default is 'yellow' */\n color?: MantineColor;\n}\n\nexport type RatingFactory = Factory<{\n props: RatingProps;\n ref: HTMLDivElement;\n stylesNames: RatingStylesNames;\n vars: RatingCssVariables;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n} satisfies Partial<RatingProps>;\n\nconst varsResolver = createVarsResolver<RatingFactory>((theme, { size, color }) => ({\n root: {\n '--rating-size': getSize(size, 'rating-size'),\n '--rating-color': getThemeColor(color, theme),\n },\n}));\n\nexport const Rating = factory<RatingFactory>((_props) => {\n const props = useProps('Rating', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n name,\n id,\n value,\n defaultValue,\n onChange,\n fractions,\n count,\n onMouseEnter,\n readOnly,\n allowClear,\n onMouseMove,\n onHover,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n size,\n variant,\n getSymbolLabel,\n color,\n emptySymbol,\n fullSymbol,\n highlightSelectedOnly,\n attributes,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<RatingFactory>({\n name: 'Rating',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n\n const _name = useId(name);\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const _fractions = Math.floor(fractions);\n const _count = Math.floor(count);\n\n const decimalUnit = 1 / _fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const getRatingFromCoordinates = (x: number) => {\n if (!rootRef.current) {\n return 0;\n }\n\n const { left, right, width } = rootRef.current.getBoundingClientRect();\n const symbolWidth = width / _count;\n\n const hoverPosition = dir === 'rtl' ? right - x : x - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n return clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const rounded = getRatingFromCoordinates(event.clientX);\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleTouchStart = (event: React.TouchEvent<HTMLDivElement>) => {\n const { touches } = event;\n if (touches.length !== 1) {\n return;\n }\n\n if (!readOnly) {\n const touch = touches[0];\n setValue(getRatingFromCoordinates(touch.clientX));\n }\n\n onTouchStart?.(event);\n };\n\n const handleTouchEnd = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n onTouchEnd?.(event);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setHovered(event);\n } else {\n setHovered(parseFloat(event.target.value));\n }\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n const newValue = typeof event === 'number' ? event : parseFloat(event.target.value);\n\n // If allowClear is true and clicking the same value, reset to 0\n if (allowClear && newValue === stableValueRounded) {\n setValue(0);\n } else {\n setValue(newValue);\n }\n }\n };\n\n const items = Array(_count)\n .fill(0)\n .map((_, index) => {\n const integerValue = index + 1;\n const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div\n key={integerValue}\n data-active={isGroupActive || undefined}\n {...getStyles('symbolGroup')}\n >\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n onInputChange={handleInputChange}\n id={`${_id}-${index}-${fractionIndex}`}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <RatingProvider value={{ getStyles }}>\n <Box\n ref={useMergedRef(rootRef, ref)}\n {...getStyles('root')}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n variant={variant}\n size={size}\n id={_id}\n {...others}\n >\n {items}\n </Box>\n </RatingProvider>\n );\n});\n\nRating.classes = classes;\nRating.varsResolver = varsResolver;\nRating.displayName = '@mantine/core/Rating';\n\nexport namespace Rating {\n export type Props = RatingProps;\n export type StylesNames = RatingStylesNames;\n export type Factory = RatingFactory;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAsBA,SAAS,aAAa,OAAe,IAAY;CAC/C,MAAM,UAAU,KAAK,MAAM,QAAQ,GAAG,GAAG;CACzC,MAAM,YAAY,GAAG,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU;AACnD,QAAO,OAAO,QAAQ,QAAQ,UAAU,CAAC;;AAsE3C,MAAM,eAAe;CACnB,MAAM;CACN,iBAAiB,UAAU,GAAG;CAC9B,OAAO;CACP,WAAW;CACX,OAAO;CACR;AAED,MAAM,eAAe,oBAAmC,OAAO,EAAE,MAAM,aAAa,EAClF,MAAM;CACJ,iBAAiB,QAAQ,MAAM,cAAc;CAC7C,kBAAkB,cAAc,OAAO,MAAM;CAC9C,EACF,EAAE;AAEH,MAAa,SAAS,SAAwB,WAAW;CACvD,MAAM,QAAQ,SAAS,UAAU,cAAc,OAAO;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,IACA,OACA,cACA,UACA,WACA,OACA,cACA,UACA,YACA,aACA,SACA,cACA,cACA,YACA,MACA,SACA,gBACA,OACA,aACA,YACA,uBACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAyB;EACzC,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,EAAE,QAAQ,cAAc;CAE9B,MAAM,QAAQA,QAAM,KAAK;CACzB,MAAM,MAAMA,QAAM,GAAG;CACrB,MAAM,UAAU,OAAuB,KAAK;CAE5C,MAAM,CAAC,QAAQ,YAAY,gBAAgB;EACzC;EACA;EACA,YAAY;EACZ;EACD,CAAC;CAEF,MAAM,CAAC,SAAS,cAAc,SAAS,GAAG;CAC1C,MAAM,CAAC,WAAW,cAAc,SAAS,KAAK;CAE9C,MAAM,aAAa,KAAK,MAAM,UAAU;CACxC,MAAM,SAAS,KAAK,MAAM,MAAM;CAEhC,MAAM,cAAc,IAAI;CACxB,MAAM,qBAAqB,aAAa,QAAQ,YAAY;CAC5D,MAAM,aAAa,YAAY,KAAK,UAAU;CAE9C,MAAM,4BAA4B,MAAc;AAC9C,MAAI,CAAC,QAAQ,QACX,QAAO;EAGT,MAAM,EAAE,MAAM,OAAO,UAAU,QAAQ,QAAQ,uBAAuB;EACtE,MAAM,cAAc,QAAQ;AAK5B,SAAO,MAAM,cAHS,QAAQ,QAAQ,QAAQ,IAAI,IAAI,QACnB,cAEI,cAAc,GAAG,YAAY,EAAE,aAAa,OAAO;;CAG5F,MAAM,oBAAoB,UAA4C;AACpE,iBAAe,MAAM;AACrB,GAAC,YAAY,WAAW,MAAM;;CAGhC,MAAM,mBAAmB,UAA4C;AACnE,gBAAc,MAAM;AAEpB,MAAI,SACF;EAGF,MAAM,UAAU,yBAAyB,MAAM,QAAQ;AAEvD,aAAW,QAAQ;AACnB,cAAY,WAAW,UAAU,QAAQ;;CAG3C,MAAM,oBAAoB,UAA4C;AACpE,iBAAe,MAAM;AAErB,MAAI,SACF;AAGF,aAAW,GAAG;AACd,aAAW,KAAK;AAChB,cAAY,MAAM,UAAU,GAAG;;CAGjC,MAAM,oBAAoB,UAA4C;EACpE,MAAM,EAAE,YAAY;AACpB,MAAI,QAAQ,WAAW,EACrB;AAGF,MAAI,CAAC,UAAU;GACb,MAAM,QAAQ,QAAQ;AACtB,YAAS,yBAAyB,MAAM,QAAQ,CAAC;;AAGnD,iBAAe,MAAM;;CAGvB,MAAM,kBAAkB,UAA4C;AAClE,QAAM,gBAAgB;AAEtB,eAAa,MAAM;;CAGrB,MAAM,uBAAuB,aAAa,WAAW,GAAG;CAExD,MAAM,qBAAqB,UAAwD;AACjF,MAAI,CAAC,SACH,KAAI,OAAO,UAAU,SACnB,YAAW,MAAM;MAEjB,YAAW,WAAW,MAAM,OAAO,MAAM,CAAC;;CAKhD,MAAM,gBAAgB,UAAwD;AAC5E,MAAI,CAAC,UAAU;GACb,MAAM,WAAW,OAAO,UAAU,WAAW,QAAQ,WAAW,MAAM,OAAO,MAAM;AAGnF,OAAI,cAAc,aAAa,mBAC7B,UAAS,EAAE;OAEX,UAAS,SAAS;;;CAKxB,MAAM,QAAQ,MAAM,OAAO,CACxB,KAAK,EAAE,CACP,KAAK,GAAG,UAAU;EACjB,MAAM,eAAe,QAAQ;EAC7B,MAAM,gBAAgB,MAAM,KAAK,IAAI,MAAM,UAAU,IAAI,aAAa,IAAI,WAAW,CAAC;AAGtF,SACE,oBAAC,OAAD;GAEE,eALkB,CAAC,YAAY,KAAK,KAAK,QAAQ,KAAK,gBAKxB,KAAA;GAC9B,GAAI,UAAU,cAAc;aAE3B,cAAc,KAAK,IAAI,kBAAkB;IACxC,MAAM,gBAAgB,eAAe,UAAU,IAAI,gBAAgB,gBAAgB;IACnF,MAAM,cAAc,aAAa,eAAe,IAAI,eAAe,YAAY;AAE/E,WACE,oBAAC,YAAD;KAEkB;KAChB,WAAW;KACX,UAAU;KACV,MACE,wBAAwB,gBAAgB,aAAa,eAAe;KAEtE,QAAQ,gBAAgB;KACxB,SAAS,gBAAgB;KACf;KACK;KACf,OAAO;KACP,MAAM;KACN,UAAU;KACV,QAAQ;KACR,eAAe;KACf,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG;KACvB,EAjBK,GAAG,aAAa,GAAG,cAiBxB;KAEJ;GACE,EA9BC,aA8BD;GAER;AAEJ,QACE,oBAAC,gBAAD;EAAgB,OAAO,EAAE,WAAW;YAClC,oBAAC,KAAD;GACE,KAAK,aAAa,SAAS,IAAI;GAC/B,GAAI,UAAU,OAAO;GACrB,aAAa;GACb,cAAc;GACd,cAAc;GACd,cAAc;GACd,YAAY;GACH;GACH;GACN,IAAI;GACJ,GAAI;aAEH;GACG,CAAA;EACS,CAAA;EAEnB;AAEF,OAAO,UAAUC;AACjB,OAAO,eAAe;AACtB,OAAO,cAAc"}
1
+ {"version":3,"file":"Rating.mjs","names":["useId","classes"],"sources":["../../../src/components/Rating/Rating.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { clamp, useId, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSize,\n getThemeColor,\n MantineColor,\n MantineSize,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { RatingProvider } from './Rating.context';\nimport { RatingItem } from './RatingItem/RatingItem';\nimport classes from './Rating.module.css';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames =\n | 'root'\n | 'starSymbol'\n | 'input'\n | 'label'\n | 'symbolBody'\n | 'symbolGroup';\n\nexport type RatingCssVariables = {\n root: '--rating-size' | '--rating-color';\n};\n\nexport interface RatingProps\n extends BoxProps, StylesApiProps<RatingFactory>, ElementProps<'div', 'onChange'> {\n /** Uncontrolled component default value */\n defaultValue?: number;\n\n /** Controlled component value */\n value?: number;\n\n /** Called when value changes */\n onChange?: (value: number) => void;\n\n /** Icon displayed for unselected rating items. Can be a function that receives the rating value. */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Icon displayed for selected rating items. Can be a function that receives the rating value. */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, default is 1 */\n fractions?: number;\n\n /** Controls component size @default 'sm' */\n size?: MantineSize | number | (string & {});\n\n /** Number of rating items (stars), default is 5 */\n count?: number;\n\n /** Called when rating item is hovered. Receives -1 when hover ends. */\n onHover?: (value: number) => void;\n\n /** Function to generate aria-label for each rating value. Receives the rating value as argument, default is (value) => String(value) */\n getSymbolLabel?: (index: number) => string;\n\n /** Name attribute for form submission. If not provided, a unique id will be generated. */\n name?: string;\n\n /** When true, rating cannot be changed by user interaction, default is false */\n readOnly?: boolean;\n\n /** When true, clicking the same rating value clears the rating to 0, default is false */\n allowClear?: boolean;\n\n /** When true, only the clicked rating item is highlighted, not all items up to the selected value, default is false */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, default is 'yellow' */\n color?: MantineColor;\n}\n\nexport type RatingFactory = Factory<{\n props: RatingProps;\n ref: HTMLDivElement;\n stylesNames: RatingStylesNames;\n vars: RatingCssVariables;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n} satisfies Partial<RatingProps>;\n\nconst varsResolver = createVarsResolver<RatingFactory>((theme, { size, color }) => ({\n root: {\n '--rating-size': getSize(size, 'rating-size'),\n '--rating-color': getThemeColor(color, theme),\n },\n}));\n\nexport const Rating = factory<RatingFactory>((_props) => {\n const props = useProps('Rating', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n name,\n id,\n value,\n defaultValue,\n onChange,\n fractions,\n count,\n onMouseEnter,\n readOnly,\n allowClear,\n onMouseMove,\n onHover,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n size,\n variant,\n getSymbolLabel,\n color,\n emptySymbol,\n fullSymbol,\n highlightSelectedOnly,\n attributes,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<RatingFactory>({\n name: 'Rating',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n\n const _name = useId(name);\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const _fractions = Math.floor(fractions);\n const _count = Math.floor(count);\n\n const decimalUnit = 1 / _fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const getRatingFromCoordinates = (x: number) => {\n if (!rootRef.current) {\n return 0;\n }\n\n const { left, right, width } = rootRef.current.getBoundingClientRect();\n const symbolWidth = width / _count;\n\n const hoverPosition = dir === 'rtl' ? right - x : x - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n return clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const rounded = getRatingFromCoordinates(event.clientX);\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleTouchStart = (event: React.TouchEvent<HTMLDivElement>) => {\n const { touches } = event;\n if (touches.length !== 1) {\n return;\n }\n\n if (!readOnly) {\n const touch = touches[0];\n setValue(getRatingFromCoordinates(touch.clientX));\n }\n\n onTouchStart?.(event);\n };\n\n const handleTouchEnd = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n onTouchEnd?.(event);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setHovered(event);\n } else {\n setHovered(parseFloat(event.target.value));\n }\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n const newValue = typeof event === 'number' ? event : parseFloat(event.target.value);\n\n // If allowClear is true and clicking the same value, reset to 0\n if (allowClear && newValue === stableValueRounded) {\n setValue(0);\n } else {\n setValue(newValue);\n }\n }\n };\n\n const items = Array(_count)\n .fill(0)\n .map((_, index) => {\n const integerValue = index + 1;\n const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div\n key={integerValue}\n data-active={isGroupActive || undefined}\n {...getStyles('symbolGroup')}\n >\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n onInputChange={handleInputChange}\n id={`${_id}-${index}-${fractionIndex}`}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <RatingProvider value={{ getStyles }}>\n <Box\n ref={useMergedRef(rootRef, ref)}\n {...getStyles('root')}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n variant={variant}\n size={size}\n id={_id}\n {...others}\n >\n {items}\n </Box>\n </RatingProvider>\n );\n});\n\nRating.classes = classes;\nRating.varsResolver = varsResolver;\nRating.displayName = '@mantine/core/Rating';\n\nexport namespace Rating {\n export type Props = RatingProps;\n export type StylesNames = RatingStylesNames;\n export type Factory = RatingFactory;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAsBA,SAAS,aAAa,OAAe,IAAY;CAC/C,MAAM,UAAU,KAAK,MAAM,QAAQ,EAAE,IAAI;CACzC,MAAM,YAAY,GAAG,KAAK,MAAM,GAAG,EAAE,IAAI,UAAU;CACnD,OAAO,OAAO,QAAQ,QAAQ,SAAS,CAAC;AAC1C;AAqEA,MAAM,eAAe;CACnB,MAAM;CACN,iBAAiB,UAAU,GAAG;CAC9B,OAAO;CACP,WAAW;CACX,OAAO;AACT;AAEA,MAAM,eAAe,oBAAmC,OAAO,EAAE,MAAM,aAAa,EAClF,MAAM;CACJ,iBAAiB,QAAQ,MAAM,aAAa;CAC5C,kBAAkB,cAAc,OAAO,KAAK;AAC9C,EACF,EAAE;AAEF,MAAa,SAAS,SAAwB,WAAW;CACvD,MAAM,QAAQ,SAAS,UAAU,cAAc,MAAM;CACrD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,IACA,OACA,cACA,UACA,WACA,OACA,cACA,UACA,YACA,aACA,SACA,cACA,cACA,YACA,MACA,SACA,gBACA,OACA,aACA,YACA,uBACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAyB;EACzC,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,QAAQ,aAAa;CAE7B,MAAM,QAAQA,QAAM,IAAI;CACxB,MAAM,MAAMA,QAAM,EAAE;CACpB,MAAM,UAAU,OAAuB,IAAI;CAE3C,MAAM,CAAC,QAAQ,YAAY,gBAAgB;EACzC;EACA;EACA,YAAY;EACZ;CACF,CAAC;CAED,MAAM,CAAC,SAAS,cAAc,SAAS,EAAE;CACzC,MAAM,CAAC,WAAW,cAAc,SAAS,IAAI;CAE7C,MAAM,aAAa,KAAK,MAAM,SAAS;CACvC,MAAM,SAAS,KAAK,MAAM,KAAK;CAE/B,MAAM,cAAc,IAAI;CACxB,MAAM,qBAAqB,aAAa,QAAQ,WAAW;CAC3D,MAAM,aAAa,YAAY,KAAK,UAAU;CAE9C,MAAM,4BAA4B,MAAc;EAC9C,IAAI,CAAC,QAAQ,SACX,OAAO;EAGT,MAAM,EAAE,MAAM,OAAO,UAAU,QAAQ,QAAQ,sBAAsB;EACrE,MAAM,cAAc,QAAQ;EAK5B,OAAO,MAAM,cAHS,QAAQ,QAAQ,QAAQ,IAAI,IAAI,QACnB,cAEI,cAAc,GAAG,WAAW,GAAG,aAAa,MAAM;CAC3F;CAEA,MAAM,oBAAoB,UAA4C;EACpE,eAAe,KAAK;EACpB,CAAC,YAAY,WAAW,KAAK;CAC/B;CAEA,MAAM,mBAAmB,UAA4C;EACnE,cAAc,KAAK;EAEnB,IAAI,UACF;EAGF,MAAM,UAAU,yBAAyB,MAAM,OAAO;EAEtD,WAAW,OAAO;EAClB,YAAY,WAAW,UAAU,OAAO;CAC1C;CAEA,MAAM,oBAAoB,UAA4C;EACpE,eAAe,KAAK;EAEpB,IAAI,UACF;EAGF,WAAW,EAAE;EACb,WAAW,IAAI;EACf,YAAY,MAAM,UAAU,EAAE;CAChC;CAEA,MAAM,oBAAoB,UAA4C;EACpE,MAAM,EAAE,YAAY;EACpB,IAAI,QAAQ,WAAW,GACrB;EAGF,IAAI,CAAC,UAAU;GACb,MAAM,QAAQ,QAAQ;GACtB,SAAS,yBAAyB,MAAM,OAAO,CAAC;EAClD;EAEA,eAAe,KAAK;CACtB;CAEA,MAAM,kBAAkB,UAA4C;EAClE,MAAM,eAAe;EAErB,aAAa,KAAK;CACpB;CAEA,MAAM,uBAAuB,aAAa,WAAW,EAAE;CAEvD,MAAM,qBAAqB,UAAwD;EACjF,IAAI,CAAC,UACH,IAAI,OAAO,UAAU,UACnB,WAAW,KAAK;OAEhB,WAAW,WAAW,MAAM,OAAO,KAAK,CAAC;CAG/C;CAEA,MAAM,gBAAgB,UAAwD;EAC5E,IAAI,CAAC,UAAU;GACb,MAAM,WAAW,OAAO,UAAU,WAAW,QAAQ,WAAW,MAAM,OAAO,KAAK;GAGlF,IAAI,cAAc,aAAa,oBAC7B,SAAS,CAAC;QAEV,SAAS,QAAQ;EAErB;CACF;CAEA,MAAM,QAAQ,MAAM,MAAM,EACvB,KAAK,CAAC,EACN,KAAK,GAAG,UAAU;EACjB,MAAM,eAAe,QAAQ;EAC7B,MAAM,gBAAgB,MAAM,KAAK,IAAI,MAAM,UAAU,IAAI,aAAa,IAAI,UAAU,CAAC;EAGrF,OACE,oBAAC,OAAD;GAEE,eALkB,CAAC,YAAY,KAAK,KAAK,OAAO,MAAM,gBAKxB,KAAA;GAC9B,GAAI,UAAU,aAAa;aAE1B,cAAc,KAAK,IAAI,kBAAkB;IACxC,MAAM,gBAAgB,eAAe,UAAU,IAAI,gBAAgB,gBAAgB;IACnF,MAAM,cAAc,aAAa,eAAe,IAAI,eAAe,WAAW;IAE9E,OACE,oBAAC,YAAD;KAEkB;KAChB,WAAW;KACX,UAAU;KACV,MACE,wBAAwB,gBAAgB,aAAa,eAAe;KAEtE,QAAQ,gBAAgB;KACxB,SAAS,gBAAgB;KACf;KACK;KACf,OAAO;KACP,MAAM;KACN,UAAU;KACV,QAAQ;KACR,eAAe;KACf,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG;IACxB,GAjBM,GAAG,aAAa,GAAG,aAiBzB;GAEL,CAAC;EACE,GA9BE,YA8BF;CAET,CAAC;CAEH,OACE,oBAAC,gBAAD;EAAgB,OAAO,EAAE,UAAU;YACjC,oBAAC,KAAD;GACE,KAAK,aAAa,SAAS,GAAG;GAC9B,GAAI,UAAU,MAAM;GACpB,aAAa;GACb,cAAc;GACd,cAAc;GACd,cAAc;GACd,YAAY;GACH;GACH;GACN,IAAI;GACJ,GAAI;aAEH;EACE,CAAA;CACS,CAAA;AAEpB,CAAC;AAED,OAAO,UAAUC;AACjB,OAAO,eAAe;AACtB,OAAO,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"RatingItem.mjs","names":[],"sources":["../../../../src/components/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import { Box, BoxProps, ElementProps, useDirection } from '../../../core';\nimport { useRatingContext } from '../Rating.context';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\n\nexport interface RatingItemProps extends BoxProps, ElementProps<'input', 'value' | 'size'> {\n getSymbolLabel: ((value: number) => string) | undefined;\n emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n full: boolean;\n active: boolean;\n fractionValue: number;\n value: number;\n id: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n onInputChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n}\n\nexport function RatingItem({\n getSymbolLabel,\n emptyIcon,\n fullIcon,\n full,\n active,\n value,\n readOnly,\n fractionValue,\n color,\n id,\n onBlur,\n onChange,\n onInputChange,\n style,\n ...others\n}: RatingItemProps) {\n const ctx = useRatingContext();\n const _fullIcon = typeof fullIcon === 'function' ? fullIcon(value) : fullIcon;\n const _emptyIcon = typeof emptyIcon === 'function' ? emptyIcon(value) : emptyIcon;\n const { dir } = useDirection();\n\n return (\n <>\n {!readOnly && (\n <input\n {...ctx.getStyles('input')}\n onKeyDown={(event) => (event.key === ' ' || event.key === 'Enter') && onChange(value)}\n id={id}\n type=\"radio\"\n data-active={active || undefined}\n aria-label={getSymbolLabel?.(value)}\n value={value}\n onBlur={onBlur}\n onChange={onInputChange}\n {...others}\n />\n )}\n\n <Box\n component={readOnly ? 'div' : 'label'}\n {...ctx.getStyles('label')}\n data-read-only={readOnly || undefined}\n htmlFor={id}\n onClick={readOnly ? undefined : () => onChange(value)}\n __vars={{\n '--rating-item-z-index': (fractionValue === 1 ? undefined : active ? 2 : 0)?.toString(),\n }}\n >\n <Box\n {...ctx.getStyles('symbolBody')}\n __vars={{\n '--rating-symbol-clip-path':\n fractionValue === 1\n ? undefined\n : dir === 'ltr'\n ? `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)`\n : `inset(0 0 0 ${active ? 100 - fractionValue * 100 : 100}% )`,\n }}\n >\n {full\n ? _fullIcon || <StarSymbol type=\"full\" />\n : _emptyIcon || <StarSymbol type=\"empty\" />}\n </Box>\n </Box>\n </>\n );\n}\n\nRatingItem.displayName = '@mantine/core/RatingItem';\n"],"mappings":";;;;;;;AAiBA,SAAgB,WAAW,EACzB,gBACA,WACA,UACA,MACA,QACA,OACA,UACA,eACA,OACA,IACA,QACA,UACA,eACA,OACA,GAAG,UACe;CAClB,MAAM,MAAM,kBAAkB;CAC9B,MAAM,YAAY,OAAO,aAAa,aAAa,SAAS,MAAM,GAAG;CACrE,MAAM,aAAa,OAAO,cAAc,aAAa,UAAU,MAAM,GAAG;CACxE,MAAM,EAAE,QAAQ,cAAc;AAE9B,QACE,qBAAA,UAAA,EAAA,UAAA,CACG,CAAC,YACA,oBAAC,SAAD;EACE,GAAI,IAAI,UAAU,QAAQ;EAC1B,YAAY,WAAW,MAAM,QAAQ,OAAO,MAAM,QAAQ,YAAY,SAAS,MAAM;EACjF;EACJ,MAAK;EACL,eAAa,UAAU,KAAA;EACvB,cAAY,iBAAiB,MAAM;EAC5B;EACC;EACR,UAAU;EACV,GAAI;EACJ,CAAA,EAGJ,oBAAC,KAAD;EACE,WAAW,WAAW,QAAQ;EAC9B,GAAI,IAAI,UAAU,QAAQ;EAC1B,kBAAgB,YAAY,KAAA;EAC5B,SAAS;EACT,SAAS,WAAW,KAAA,UAAkB,SAAS,MAAM;EACrD,QAAQ,EACN,0BAA0B,kBAAkB,IAAI,KAAA,IAAY,SAAS,IAAI,IAAI,UAAU,EACxF;YAED,oBAAC,KAAD;GACE,GAAI,IAAI,UAAU,aAAa;GAC/B,QAAQ,EACN,6BACE,kBAAkB,IACd,KAAA,IACA,QAAQ,QACN,WAAW,SAAS,MAAM,gBAAgB,MAAM,IAAI,UACpD,eAAe,SAAS,MAAM,gBAAgB,MAAM,IAAI,MACjE;aAEA,OACG,aAAa,oBAAC,YAAD,EAAY,MAAK,QAAS,CAAA,GACvC,cAAc,oBAAC,YAAD,EAAY,MAAK,SAAU,CAAA;GACzC,CAAA;EACF,CAAA,CACL,EAAA,CAAA;;AAIP,WAAW,cAAc"}
1
+ {"version":3,"file":"RatingItem.mjs","names":[],"sources":["../../../../src/components/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import { Box, BoxProps, ElementProps, useDirection } from '../../../core';\nimport { useRatingContext } from '../Rating.context';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\n\nexport interface RatingItemProps extends BoxProps, ElementProps<'input', 'value' | 'size'> {\n getSymbolLabel: ((value: number) => string) | undefined;\n emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n full: boolean;\n active: boolean;\n fractionValue: number;\n value: number;\n id: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n onInputChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n}\n\nexport function RatingItem({\n getSymbolLabel,\n emptyIcon,\n fullIcon,\n full,\n active,\n value,\n readOnly,\n fractionValue,\n color,\n id,\n onBlur,\n onChange,\n onInputChange,\n style,\n ...others\n}: RatingItemProps) {\n const ctx = useRatingContext();\n const _fullIcon = typeof fullIcon === 'function' ? fullIcon(value) : fullIcon;\n const _emptyIcon = typeof emptyIcon === 'function' ? emptyIcon(value) : emptyIcon;\n const { dir } = useDirection();\n\n return (\n <>\n {!readOnly && (\n <input\n {...ctx.getStyles('input')}\n onKeyDown={(event) => (event.key === ' ' || event.key === 'Enter') && onChange(value)}\n id={id}\n type=\"radio\"\n data-active={active || undefined}\n aria-label={getSymbolLabel?.(value)}\n value={value}\n onBlur={onBlur}\n onChange={onInputChange}\n {...others}\n />\n )}\n\n <Box\n component={readOnly ? 'div' : 'label'}\n {...ctx.getStyles('label')}\n data-read-only={readOnly || undefined}\n htmlFor={id}\n onClick={readOnly ? undefined : () => onChange(value)}\n __vars={{\n '--rating-item-z-index': (fractionValue === 1 ? undefined : active ? 2 : 0)?.toString(),\n }}\n >\n <Box\n {...ctx.getStyles('symbolBody')}\n __vars={{\n '--rating-symbol-clip-path':\n fractionValue === 1\n ? undefined\n : dir === 'ltr'\n ? `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)`\n : `inset(0 0 0 ${active ? 100 - fractionValue * 100 : 100}% )`,\n }}\n >\n {full\n ? _fullIcon || <StarSymbol type=\"full\" />\n : _emptyIcon || <StarSymbol type=\"empty\" />}\n </Box>\n </Box>\n </>\n );\n}\n\nRatingItem.displayName = '@mantine/core/RatingItem';\n"],"mappings":";;;;;;;AAiBA,SAAgB,WAAW,EACzB,gBACA,WACA,UACA,MACA,QACA,OACA,UACA,eACA,OACA,IACA,QACA,UACA,eACA,OACA,GAAG,UACe;CAClB,MAAM,MAAM,iBAAiB;CAC7B,MAAM,YAAY,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;CACrE,MAAM,aAAa,OAAO,cAAc,aAAa,UAAU,KAAK,IAAI;CACxE,MAAM,EAAE,QAAQ,aAAa;CAE7B,OACE,qBAAA,UAAA,EAAA,UAAA,CACG,CAAC,YACA,oBAAC,SAAD;EACE,GAAI,IAAI,UAAU,OAAO;EACzB,YAAY,WAAW,MAAM,QAAQ,OAAO,MAAM,QAAQ,YAAY,SAAS,KAAK;EAChF;EACJ,MAAK;EACL,eAAa,UAAU,KAAA;EACvB,cAAY,iBAAiB,KAAK;EAC3B;EACC;EACR,UAAU;EACV,GAAI;CACL,CAAA,GAGH,oBAAC,KAAD;EACE,WAAW,WAAW,QAAQ;EAC9B,GAAI,IAAI,UAAU,OAAO;EACzB,kBAAgB,YAAY,KAAA;EAC5B,SAAS;EACT,SAAS,WAAW,KAAA,UAAkB,SAAS,KAAK;EACpD,QAAQ,EACN,0BAA0B,kBAAkB,IAAI,KAAA,IAAY,SAAS,IAAI,IAAI,SAAS,EACxF;YAEA,oBAAC,KAAD;GACE,GAAI,IAAI,UAAU,YAAY;GAC9B,QAAQ,EACN,6BACE,kBAAkB,IACd,KAAA,IACA,QAAQ,QACN,WAAW,SAAS,MAAM,gBAAgB,MAAM,IAAI,UACpD,eAAe,SAAS,MAAM,gBAAgB,MAAM,IAAI,KAClE;aAEC,OACG,aAAa,oBAAC,YAAD,EAAY,MAAK,OAAQ,CAAA,IACtC,cAAc,oBAAC,YAAD,EAAY,MAAK,QAAS,CAAA;EACzC,CAAA;CACF,CAAA,CACL,EAAA,CAAA;AAEN;AAEA,WAAW,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"StarIcon.mjs","names":[],"sources":["../../../../src/components/Rating/StarSymbol/StarIcon.tsx"],"sourcesContent":["export function StarIcon(props: React.ComponentProps<'svg'>) {\n const { width, height, style, ...others } = props;\n return (\n <svg\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width, height, ...style }}\n {...others}\n >\n <path d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\" />\n </svg>\n );\n}\n\nStarIcon.displayName = '@mantine/core/StarIcon';\n"],"mappings":";;;AAAA,SAAgB,SAAS,OAAoC;CAC3D,MAAM,EAAE,OAAO,QAAQ,OAAO,GAAG,WAAW;AAC5C,QACE,oBAAC,OAAD;EACE,SAAQ;EACR,eAAc;EACd,gBAAe;EACf,MAAK;EACL,OAAM;EACN,OAAO;GAAE;GAAO;GAAQ,GAAG;GAAO;EAClC,GAAI;YAEJ,oBAAC,QAAD,EAAM,GAAE,6GAA8G,CAAA;EAClH,CAAA;;AAIV,SAAS,cAAc"}
1
+ {"version":3,"file":"StarIcon.mjs","names":[],"sources":["../../../../src/components/Rating/StarSymbol/StarIcon.tsx"],"sourcesContent":["export function StarIcon(props: React.ComponentProps<'svg'>) {\n const { width, height, style, ...others } = props;\n return (\n <svg\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width, height, ...style }}\n {...others}\n >\n <path d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\" />\n </svg>\n );\n}\n\nStarIcon.displayName = '@mantine/core/StarIcon';\n"],"mappings":";;;AAAA,SAAgB,SAAS,OAAoC;CAC3D,MAAM,EAAE,OAAO,QAAQ,OAAO,GAAG,WAAW;CAC5C,OACE,oBAAC,OAAD;EACE,SAAQ;EACR,eAAc;EACd,gBAAe;EACf,MAAK;EACL,OAAM;EACN,OAAO;GAAE;GAAO;GAAQ,GAAG;EAAM;EACjC,GAAI;YAEJ,oBAAC,QAAD,EAAM,GAAE,4GAA6G,CAAA;CAClH,CAAA;AAET;AAEA,SAAS,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"StarSymbol.mjs","names":[],"sources":["../../../../src/components/Rating/StarSymbol/StarSymbol.tsx"],"sourcesContent":["import { useRatingContext } from '../Rating.context';\nimport { StarIcon } from './StarIcon';\n\nexport interface StarSymbolProps {\n type: 'empty' | 'full';\n}\n\nexport function StarSymbol({ type }: StarSymbolProps) {\n const ctx = useRatingContext();\n return <StarIcon {...ctx.getStyles('starSymbol')} data-filled={type === 'full' || undefined} />;\n}\n\nStarSymbol.displayName = '@mantine/core/StarSymbol';\n"],"mappings":";;;;;AAOA,SAAgB,WAAW,EAAE,QAAyB;AAEpD,QAAO,oBAAC,UAAD;EAAU,GADL,kBAAkB,CACL,UAAU,aAAa;EAAE,eAAa,SAAS,UAAU,KAAA;EAAa,CAAA;;AAGjG,WAAW,cAAc"}
1
+ {"version":3,"file":"StarSymbol.mjs","names":[],"sources":["../../../../src/components/Rating/StarSymbol/StarSymbol.tsx"],"sourcesContent":["import { useRatingContext } from '../Rating.context';\nimport { StarIcon } from './StarIcon';\n\nexport interface StarSymbolProps {\n type: 'empty' | 'full';\n}\n\nexport function StarSymbol({ type }: StarSymbolProps) {\n const ctx = useRatingContext();\n return <StarIcon {...ctx.getStyles('starSymbol')} data-filled={type === 'full' || undefined} />;\n}\n\nStarSymbol.displayName = '@mantine/core/StarSymbol';\n"],"mappings":";;;;;AAOA,SAAgB,WAAW,EAAE,QAAyB;CAEpD,OAAO,oBAAC,UAAD;EAAU,GADL,iBACW,EAAE,UAAU,YAAY;EAAG,eAAa,SAAS,UAAU,KAAA;CAAY,CAAA;AAChG;AAEA,WAAW,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Curve.mjs","names":[],"sources":["../../../../src/components/RingProgress/Curve/Curve.tsx"],"sourcesContent":["import { Box, GetStylesApi, getThemeColor, MantineColor, useMantineTheme } from '../../../core';\nimport { Tooltip } from '../../Tooltip';\nimport type { RingProgressFactory } from '../RingProgress';\nimport { getCurveProps } from './get-curve-props';\n\ninterface CurveProps extends React.ComponentProps<'circle'> {\n value?: number;\n size: number;\n offset: number;\n sum: number;\n thickness: number;\n lineRoundCaps: boolean | undefined;\n root?: boolean;\n color?: MantineColor;\n tooltip?: React.ReactNode;\n getStyles: GetStylesApi<RingProgressFactory>;\n}\n\nexport function Curve({\n size,\n value,\n offset,\n sum,\n thickness,\n root,\n color,\n lineRoundCaps,\n tooltip,\n getStyles,\n display,\n ...others\n}: CurveProps) {\n const theme = useMantineTheme();\n\n return (\n <Tooltip.Floating disabled={!tooltip} label={tooltip}>\n <Box\n component=\"circle\"\n {...others}\n {...getStyles('curve')}\n __vars={{ '--curve-color': color ? getThemeColor(color, theme) : undefined }}\n fill=\"none\"\n strokeLinecap={lineRoundCaps ? 'round' : 'butt'}\n {...getCurveProps({ sum, size, thickness, value, offset, root })}\n />\n </Tooltip.Floating>\n );\n}\n\nCurve.displayName = '@mantine/core/Curve';\n"],"mappings":";;;;;;;;AAkBA,SAAgB,MAAM,EACpB,MACA,OACA,QACA,KACA,WACA,MACA,OACA,eACA,SACA,WACA,SACA,GAAG,UACU;CACb,MAAM,QAAQ,iBAAiB;AAE/B,QACE,oBAAC,QAAQ,UAAT;EAAkB,UAAU,CAAC;EAAS,OAAO;YAC3C,oBAAC,KAAD;GACE,WAAU;GACV,GAAI;GACJ,GAAI,UAAU,QAAQ;GACtB,QAAQ,EAAE,iBAAiB,QAAQ,cAAc,OAAO,MAAM,GAAG,KAAA,GAAW;GAC5E,MAAK;GACL,eAAe,gBAAgB,UAAU;GACzC,GAAI,cAAc;IAAE;IAAK;IAAM;IAAW;IAAO;IAAQ;IAAM,CAAC;GAChE,CAAA;EACe,CAAA;;AAIvB,MAAM,cAAc"}
1
+ {"version":3,"file":"Curve.mjs","names":[],"sources":["../../../../src/components/RingProgress/Curve/Curve.tsx"],"sourcesContent":["import { Box, GetStylesApi, getThemeColor, MantineColor, useMantineTheme } from '../../../core';\nimport { Tooltip } from '../../Tooltip';\nimport type { RingProgressFactory } from '../RingProgress';\nimport { getCurveProps } from './get-curve-props';\n\ninterface CurveProps extends React.ComponentProps<'circle'> {\n value?: number;\n size: number;\n offset: number;\n sum: number;\n thickness: number;\n lineRoundCaps: boolean | undefined;\n root?: boolean;\n color?: MantineColor;\n tooltip?: React.ReactNode;\n getStyles: GetStylesApi<RingProgressFactory>;\n}\n\nexport function Curve({\n size,\n value,\n offset,\n sum,\n thickness,\n root,\n color,\n lineRoundCaps,\n tooltip,\n getStyles,\n display,\n ...others\n}: CurveProps) {\n const theme = useMantineTheme();\n\n return (\n <Tooltip.Floating disabled={!tooltip} label={tooltip}>\n <Box\n component=\"circle\"\n {...others}\n {...getStyles('curve')}\n __vars={{ '--curve-color': color ? getThemeColor(color, theme) : undefined }}\n fill=\"none\"\n strokeLinecap={lineRoundCaps ? 'round' : 'butt'}\n {...getCurveProps({ sum, size, thickness, value, offset, root })}\n />\n </Tooltip.Floating>\n );\n}\n\nCurve.displayName = '@mantine/core/Curve';\n"],"mappings":";;;;;;;;AAkBA,SAAgB,MAAM,EACpB,MACA,OACA,QACA,KACA,WACA,MACA,OACA,eACA,SACA,WACA,SACA,GAAG,UACU;CACb,MAAM,QAAQ,gBAAgB;CAE9B,OACE,oBAAC,QAAQ,UAAT;EAAkB,UAAU,CAAC;EAAS,OAAO;YAC3C,oBAAC,KAAD;GACE,WAAU;GACV,GAAI;GACJ,GAAI,UAAU,OAAO;GACrB,QAAQ,EAAE,iBAAiB,QAAQ,cAAc,OAAO,KAAK,IAAI,KAAA,EAAU;GAC3E,MAAK;GACL,eAAe,gBAAgB,UAAU;GACzC,GAAI,cAAc;IAAE;IAAK;IAAM;IAAW;IAAO;IAAQ;GAAK,CAAC;EAChE,CAAA;CACe,CAAA;AAEtB;AAEA,MAAM,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-curve-props.mjs","names":[],"sources":["../../../../src/components/RingProgress/Curve/get-curve-props.ts"],"sourcesContent":["interface GetCurveProps {\n size: number;\n thickness: number;\n sum: number;\n value: number | undefined;\n root: boolean | undefined;\n offset: number;\n}\n\nexport function getCurveProps({ size, thickness, sum, value, root, offset }: GetCurveProps) {\n const radius = (size * 0.9 - thickness * 2) / 2;\n const deg = (Math.PI * radius * 2) / 100;\n\n const strokeDasharray =\n root || value === undefined\n ? `${(100 - sum) * deg}, ${sum * deg}`\n : `${value * deg}, ${(100 - value) * deg}`;\n\n return {\n strokeWidth: Number.isNaN(thickness) ? 12 : thickness,\n cx: size / 2 || 0,\n cy: size / 2 || 0,\n r: radius || 0,\n transform: root ? `scale(1, -1) translate(0, -${size})` : undefined,\n strokeDasharray,\n strokeDashoffset: root ? 0 : offset || 0,\n };\n}\n"],"mappings":";;AASA,SAAgB,cAAc,EAAE,MAAM,WAAW,KAAK,OAAO,MAAM,UAAyB;CAC1F,MAAM,UAAU,OAAO,KAAM,YAAY,KAAK;CAC9C,MAAM,MAAO,KAAK,KAAK,SAAS,IAAK;CAErC,MAAM,kBACJ,QAAQ,UAAU,KAAA,IACd,IAAI,MAAM,OAAO,IAAI,IAAI,MAAM,QAC/B,GAAG,QAAQ,IAAI,KAAK,MAAM,SAAS;AAEzC,QAAO;EACL,aAAa,OAAO,MAAM,UAAU,GAAG,KAAK;EAC5C,IAAI,OAAO,KAAK;EAChB,IAAI,OAAO,KAAK;EAChB,GAAG,UAAU;EACb,WAAW,OAAO,8BAA8B,KAAK,KAAK,KAAA;EAC1D;EACA,kBAAkB,OAAO,IAAI,UAAU;EACxC"}
1
+ {"version":3,"file":"get-curve-props.mjs","names":[],"sources":["../../../../src/components/RingProgress/Curve/get-curve-props.ts"],"sourcesContent":["interface GetCurveProps {\n size: number;\n thickness: number;\n sum: number;\n value: number | undefined;\n root: boolean | undefined;\n offset: number;\n}\n\nexport function getCurveProps({ size, thickness, sum, value, root, offset }: GetCurveProps) {\n const radius = (size * 0.9 - thickness * 2) / 2;\n const deg = (Math.PI * radius * 2) / 100;\n\n const strokeDasharray =\n root || value === undefined\n ? `${(100 - sum) * deg}, ${sum * deg}`\n : `${value * deg}, ${(100 - value) * deg}`;\n\n return {\n strokeWidth: Number.isNaN(thickness) ? 12 : thickness,\n cx: size / 2 || 0,\n cy: size / 2 || 0,\n r: radius || 0,\n transform: root ? `scale(1, -1) translate(0, -${size})` : undefined,\n strokeDasharray,\n strokeDashoffset: root ? 0 : offset || 0,\n };\n}\n"],"mappings":";;AASA,SAAgB,cAAc,EAAE,MAAM,WAAW,KAAK,OAAO,MAAM,UAAyB;CAC1F,MAAM,UAAU,OAAO,KAAM,YAAY,KAAK;CAC9C,MAAM,MAAO,KAAK,KAAK,SAAS,IAAK;CAErC,MAAM,kBACJ,QAAQ,UAAU,KAAA,IACd,IAAI,MAAM,OAAO,IAAI,IAAI,MAAM,QAC/B,GAAG,QAAQ,IAAI,KAAK,MAAM,SAAS;CAEzC,OAAO;EACL,aAAa,OAAO,MAAM,SAAS,IAAI,KAAK;EAC5C,IAAI,OAAO,KAAK;EAChB,IAAI,OAAO,KAAK;EAChB,GAAG,UAAU;EACb,WAAW,OAAO,8BAA8B,KAAK,KAAK,KAAA;EAC1D;EACA,kBAAkB,OAAO,IAAI,UAAU;CACzC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RingProgress.mjs","names":["classes"],"sources":["../../../src/components/RingProgress/RingProgress.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n factory,\n Factory,\n MantineColor,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport classes from './RingProgress.module.css';\n\nfunction getClampedThickness(thickness: number, size: number) {\n return Math.min(thickness || 12, (size || 120) / 4);\n}\n\nexport interface RingProgressSection extends React.ComponentProps<'circle'>, DataAttributes {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\nexport type RingProgressStylesNames = 'root' | 'svg' | 'label' | 'curve';\nexport type RingProgressCssVariables = {\n root: '--rp-size' | '--rp-label-offset' | '--rp-transition-duration';\n svg: '--rp-start-angle';\n};\n\nexport interface RingProgressProps\n extends BoxProps, StylesApiProps<RingProgressFactory>, ElementProps<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness in pixels. Cannot exceed size / 4 and will be automatically clamped if necessary @default 12 */\n thickness?: number;\n\n /** Width and height of the progress ring @default 120 */\n size?: number;\n\n /** Applies rounded line caps to the start and end of visible sections @default false */\n roundCaps?: boolean;\n\n /**\n * Array of sections to display in the ring. Each section should have a `value` (0-100),\n * `color`, and optional `tooltip`. Sections can also receive any valid SVG circle element props.\n */\n sections: RingProgressSection[];\n\n /** Color of the unfilled portion of the ring (background). Defaults to gray-2 in light mode, dark-4 in dark mode */\n rootColor?: MantineColor;\n\n /** Transition duration in milliseconds for section value and color changes @default 0 */\n transitionDuration?: number;\n\n /** Gap between sections in degrees. Reduces the visual size of each section @default 0 */\n sectionGap?: number;\n\n /** Starting angle in degrees. 0 = right, 90 = bottom, 180 = left, 270 = top @default 270 */\n startAngle?: number;\n}\n\nexport type RingProgressFactory = Factory<{\n props: RingProgressProps;\n ref: HTMLDivElement;\n stylesNames: RingProgressStylesNames;\n vars: RingProgressCssVariables;\n}>;\n\nconst defaultProps = {\n size: 120,\n thickness: 12,\n startAngle: 270,\n} satisfies Partial<RingProgressProps>;\n\nconst varsResolver = createVarsResolver<RingProgressFactory>(\n (_, { size, thickness, transitionDuration, startAngle }) => ({\n root: {\n '--rp-size': rem(size),\n '--rp-label-offset': rem(thickness! * 2),\n '--rp-transition-duration': transitionDuration ? `${transitionDuration}ms` : undefined,\n },\n svg: {\n '--rp-start-angle': `${startAngle}deg`,\n },\n })\n);\n\nexport const RingProgress = factory<RingProgressFactory>((_props) => {\n const props = useProps('RingProgress', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n label,\n sections,\n size,\n thickness,\n roundCaps,\n rootColor,\n transitionDuration,\n sectionGap,\n startAngle,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RingProgressFactory>({\n name: 'RingProgress',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const clampedThickness = getClampedThickness(thickness, size);\n\n const curves = getCurves({\n size,\n thickness: clampedThickness,\n sections,\n renderRoundedLineCaps: roundCaps,\n rootColor,\n sectionGap,\n }).map(({ data, sum, root, lineRoundCaps, offset }, index) => (\n <Curve\n {...data}\n key={index}\n size={size}\n thickness={clampedThickness}\n sum={sum}\n offset={offset}\n color={data?.color}\n root={root}\n lineRoundCaps={lineRoundCaps}\n getStyles={getStyles}\n />\n ));\n\n return (\n <Box {...getStyles('root')} size={size} {...others}>\n <svg {...getStyles('svg')} viewBox={`0 0 ${size} ${size}`}>\n {curves}\n </svg>\n {label && <div {...getStyles('label')}>{label}</div>}\n </Box>\n );\n});\n\nRingProgress.classes = classes;\nRingProgress.varsResolver = varsResolver;\nRingProgress.displayName = '@mantine/core/RingProgress';\n\nexport namespace RingProgress {\n export type Props = RingProgressProps;\n export type StylesNames = RingProgressStylesNames;\n export type Factory = RingProgressFactory;\n export type CssVariables = RingProgressCssVariables;\n export type Section = RingProgressSection;\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,oBAAoB,WAAmB,MAAc;AAC5D,QAAO,KAAK,IAAI,aAAa,KAAK,QAAQ,OAAO,EAAE;;AAuDrD,MAAM,eAAe;CACnB,MAAM;CACN,WAAW;CACX,YAAY;CACb;AAED,MAAM,eAAe,oBAClB,GAAG,EAAE,MAAM,WAAW,oBAAoB,kBAAkB;CAC3D,MAAM;EACJ,aAAa,IAAI,KAAK;EACtB,qBAAqB,IAAI,YAAa,EAAE;EACxC,4BAA4B,qBAAqB,GAAG,mBAAmB,MAAM,KAAA;EAC9E;CACD,KAAK,EACH,oBAAoB,GAAG,WAAW,MACnC;CACF,EACF;AAED,MAAa,eAAe,SAA8B,WAAW;CACnE,MAAM,QAAQ,SAAS,gBAAgB,cAAc,OAAO;CAC5D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,UACA,MACA,WACA,WACA,WACA,oBACA,YACA,YACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAA+B;EAC/C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,mBAAmB,oBAAoB,WAAW,KAAK;CAE7D,MAAM,SAAS,UAAU;EACvB;EACA,WAAW;EACX;EACA,uBAAuB;EACvB;EACA;EACD,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,eAAe,UAAU,UAClD,8BAAC,OAAD;EACE,GAAI;EACJ,KAAK;EACC;EACN,WAAW;EACN;EACG;EACR,OAAO,MAAM;EACP;EACS;EACJ;EACX,CAAA,CACF;AAEF,QACE,qBAAC,KAAD;EAAK,GAAI,UAAU,OAAO;EAAQ;EAAM,GAAI;YAA5C,CACE,oBAAC,OAAD;GAAK,GAAI,UAAU,MAAM;GAAE,SAAS,OAAO,KAAK,GAAG;aAChD;GACG,CAAA,EACL,SAAS,oBAAC,OAAD;GAAK,GAAI,UAAU,QAAQ;aAAG;GAAY,CAAA,CAChD;;EAER;AAEF,aAAa,UAAUA;AACvB,aAAa,eAAe;AAC5B,aAAa,cAAc"}
1
+ {"version":3,"file":"RingProgress.mjs","names":["classes"],"sources":["../../../src/components/RingProgress/RingProgress.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n factory,\n Factory,\n MantineColor,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport classes from './RingProgress.module.css';\n\nfunction getClampedThickness(thickness: number, size: number) {\n return Math.min(thickness || 12, (size || 120) / 4);\n}\n\nexport interface RingProgressSection extends React.ComponentProps<'circle'>, DataAttributes {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\nexport type RingProgressStylesNames = 'root' | 'svg' | 'label' | 'curve';\nexport type RingProgressCssVariables = {\n root: '--rp-size' | '--rp-label-offset' | '--rp-transition-duration';\n svg: '--rp-start-angle';\n};\n\nexport interface RingProgressProps\n extends BoxProps, StylesApiProps<RingProgressFactory>, ElementProps<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness in pixels. Cannot exceed size / 4 and will be automatically clamped if necessary @default 12 */\n thickness?: number;\n\n /** Width and height of the progress ring @default 120 */\n size?: number;\n\n /** Applies rounded line caps to the start and end of visible sections @default false */\n roundCaps?: boolean;\n\n /**\n * Array of sections to display in the ring. Each section should have a `value` (0-100),\n * `color`, and optional `tooltip`. Sections can also receive any valid SVG circle element props.\n */\n sections: RingProgressSection[];\n\n /** Color of the unfilled portion of the ring (background). Defaults to gray-2 in light mode, dark-4 in dark mode */\n rootColor?: MantineColor;\n\n /** Transition duration in milliseconds for section value and color changes @default 0 */\n transitionDuration?: number;\n\n /** Gap between sections in degrees. Reduces the visual size of each section @default 0 */\n sectionGap?: number;\n\n /** Starting angle in degrees. 0 = right, 90 = bottom, 180 = left, 270 = top @default 270 */\n startAngle?: number;\n}\n\nexport type RingProgressFactory = Factory<{\n props: RingProgressProps;\n ref: HTMLDivElement;\n stylesNames: RingProgressStylesNames;\n vars: RingProgressCssVariables;\n}>;\n\nconst defaultProps = {\n size: 120,\n thickness: 12,\n startAngle: 270,\n} satisfies Partial<RingProgressProps>;\n\nconst varsResolver = createVarsResolver<RingProgressFactory>(\n (_, { size, thickness, transitionDuration, startAngle }) => ({\n root: {\n '--rp-size': rem(size),\n '--rp-label-offset': rem(thickness! * 2),\n '--rp-transition-duration': transitionDuration ? `${transitionDuration}ms` : undefined,\n },\n svg: {\n '--rp-start-angle': `${startAngle}deg`,\n },\n })\n);\n\nexport const RingProgress = factory<RingProgressFactory>((_props) => {\n const props = useProps('RingProgress', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n label,\n sections,\n size,\n thickness,\n roundCaps,\n rootColor,\n transitionDuration,\n sectionGap,\n startAngle,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RingProgressFactory>({\n name: 'RingProgress',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const clampedThickness = getClampedThickness(thickness, size);\n\n const curves = getCurves({\n size,\n thickness: clampedThickness,\n sections,\n renderRoundedLineCaps: roundCaps,\n rootColor,\n sectionGap,\n }).map(({ data, sum, root, lineRoundCaps, offset }, index) => (\n <Curve\n {...data}\n key={index}\n size={size}\n thickness={clampedThickness}\n sum={sum}\n offset={offset}\n color={data?.color}\n root={root}\n lineRoundCaps={lineRoundCaps}\n getStyles={getStyles}\n />\n ));\n\n return (\n <Box {...getStyles('root')} size={size} {...others}>\n <svg {...getStyles('svg')} viewBox={`0 0 ${size} ${size}`}>\n {curves}\n </svg>\n {label && <div {...getStyles('label')}>{label}</div>}\n </Box>\n );\n});\n\nRingProgress.classes = classes;\nRingProgress.varsResolver = varsResolver;\nRingProgress.displayName = '@mantine/core/RingProgress';\n\nexport namespace RingProgress {\n export type Props = RingProgressProps;\n export type StylesNames = RingProgressStylesNames;\n export type Factory = RingProgressFactory;\n export type CssVariables = RingProgressCssVariables;\n export type Section = RingProgressSection;\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,oBAAoB,WAAmB,MAAc;CAC5D,OAAO,KAAK,IAAI,aAAa,KAAK,QAAQ,OAAO,CAAC;AACpD;AAsDA,MAAM,eAAe;CACnB,MAAM;CACN,WAAW;CACX,YAAY;AACd;AAEA,MAAM,eAAe,oBAClB,GAAG,EAAE,MAAM,WAAW,oBAAoB,kBAAkB;CAC3D,MAAM;EACJ,aAAa,IAAI,IAAI;EACrB,qBAAqB,IAAI,YAAa,CAAC;EACvC,4BAA4B,qBAAqB,GAAG,mBAAmB,MAAM,KAAA;CAC/E;CACA,KAAK,EACH,oBAAoB,GAAG,WAAW,KACpC;AACF,EACF;AAEA,MAAa,eAAe,SAA8B,WAAW;CACnE,MAAM,QAAQ,SAAS,gBAAgB,cAAc,MAAM;CAC3D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,UACA,MACA,WACA,WACA,WACA,oBACA,YACA,YACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAA+B;EAC/C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,mBAAmB,oBAAoB,WAAW,IAAI;CAE5D,MAAM,SAAS,UAAU;EACvB;EACA,WAAW;EACX;EACA,uBAAuB;EACvB;EACA;CACF,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,eAAe,UAAU,UAClD,8BAAC,OAAD;EACE,GAAI;EACJ,KAAK;EACC;EACN,WAAW;EACN;EACG;EACR,OAAO,MAAM;EACP;EACS;EACJ;CACZ,CAAA,CACF;CAED,OACE,qBAAC,KAAD;EAAK,GAAI,UAAU,MAAM;EAAS;EAAM,GAAI;YAA5C,CACE,oBAAC,OAAD;GAAK,GAAI,UAAU,KAAK;GAAG,SAAS,OAAO,KAAK,GAAG;aAChD;EACE,CAAA,GACJ,SAAS,oBAAC,OAAD;GAAK,GAAI,UAAU,OAAO;aAAI;EAAW,CAAA,CAChD;;AAET,CAAC;AAED,aAAa,UAAUA;AACvB,aAAa,eAAe;AAC5B,aAAa,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-curves.mjs","names":[],"sources":["../../../../src/components/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { DataAttributes, MantineColor } from '../../../core';\n\ninterface CurveData extends React.ComponentProps<'circle'>, DataAttributes {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface RootCurveData extends React.ComponentProps<'circle'>, DataAttributes {\n value?: never;\n color?: MantineColor;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean | undefined;\n rootColor?: MantineColor;\n sectionGap?: number;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData | RootCurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({\n size,\n thickness,\n sections,\n renderRoundedLineCaps,\n rootColor,\n sectionGap = 0,\n}: GetCurves) {\n const sum = sections.reduce((acc, current) => acc + current.value, 0);\n const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2;\n let offset = accumulated;\n const curves: Curve[] = [];\n const curvesInOrder: Curve[] = [];\n\n // Convert gap from degrees to percentage of the circle\n const gapPercentage = (sectionGap / 360) * 100;\n\n for (let i = 0; i < sections.length; i += 1) {\n // Reduce section value by gap amount to create visual separation\n const adjustedValue = Math.max(0, sections[i].value - gapPercentage);\n curves.push({ sum, offset, data: { ...sections[i], value: adjustedValue }, root: false });\n offset -= (sections[i].value / 100) * accumulated;\n }\n\n curves.push({ sum, offset, data: { color: rootColor }, root: true });\n\n // Reorder curves to layer appropriately and selectively set caps to round\n\n curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });\n if (curves.length > 2) {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });\n for (let i = 1; i <= curves.length - 3; i += 1) {\n curvesInOrder.push({ ...curves[i], lineRoundCaps: false });\n }\n } else {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n }\n\n return curvesInOrder;\n}\n"],"mappings":";;AA8BA,SAAgB,UAAU,EACxB,MACA,WACA,UACA,uBACA,WACA,aAAa,KACD;CACZ,MAAM,MAAM,SAAS,QAAQ,KAAK,YAAY,MAAM,QAAQ,OAAO,EAAE;CACrE,MAAM,cAAc,KAAK,OAAO,OAAO,KAAM,YAAY,KAAK,KAAK;CACnE,IAAI,SAAS;CACb,MAAM,SAAkB,EAAE;CAC1B,MAAM,gBAAyB,EAAE;CAGjC,MAAM,gBAAiB,aAAa,MAAO;AAE3C,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,GAAG;EAE3C,MAAM,gBAAgB,KAAK,IAAI,GAAG,SAAS,GAAG,QAAQ,cAAc;AACpE,SAAO,KAAK;GAAE;GAAK;GAAQ,MAAM;IAAE,GAAG,SAAS;IAAI,OAAO;IAAe;GAAE,MAAM;GAAO,CAAC;AACzF,YAAW,SAAS,GAAG,QAAQ,MAAO;;AAGxC,QAAO,KAAK;EAAE;EAAK;EAAQ,MAAM,EAAE,OAAO,WAAW;EAAE,MAAM;EAAM,CAAC;AAIpE,eAAc,KAAK;EAAE,GAAG,OAAO,OAAO,SAAS;EAAI,eAAe;EAAO,CAAC;AAC1E,KAAI,OAAO,SAAS,GAAG;AACrB,gBAAc,KAAK;GAAE,GAAG,OAAO;GAAI,eAAe;GAAuB,CAAC;AAC1E,gBAAc,KAAK;GAAE,GAAG,OAAO,OAAO,SAAS;GAAI,eAAe;GAAuB,CAAC;AAC1F,OAAK,IAAI,IAAI,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,EAC3C,eAAc,KAAK;GAAE,GAAG,OAAO;GAAI,eAAe;GAAO,CAAC;OAG5D,eAAc,KAAK;EAAE,GAAG,OAAO;EAAI,eAAe;EAAuB,CAAC;AAG5E,QAAO"}
1
+ {"version":3,"file":"get-curves.mjs","names":[],"sources":["../../../../src/components/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { DataAttributes, MantineColor } from '../../../core';\n\ninterface CurveData extends React.ComponentProps<'circle'>, DataAttributes {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface RootCurveData extends React.ComponentProps<'circle'>, DataAttributes {\n value?: never;\n color?: MantineColor;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean | undefined;\n rootColor?: MantineColor;\n sectionGap?: number;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData | RootCurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({\n size,\n thickness,\n sections,\n renderRoundedLineCaps,\n rootColor,\n sectionGap = 0,\n}: GetCurves) {\n const sum = sections.reduce((acc, current) => acc + current.value, 0);\n const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2;\n let offset = accumulated;\n const curves: Curve[] = [];\n const curvesInOrder: Curve[] = [];\n\n // Convert gap from degrees to percentage of the circle\n const gapPercentage = (sectionGap / 360) * 100;\n\n for (let i = 0; i < sections.length; i += 1) {\n // Reduce section value by gap amount to create visual separation\n const adjustedValue = Math.max(0, sections[i].value - gapPercentage);\n curves.push({ sum, offset, data: { ...sections[i], value: adjustedValue }, root: false });\n offset -= (sections[i].value / 100) * accumulated;\n }\n\n curves.push({ sum, offset, data: { color: rootColor }, root: true });\n\n // Reorder curves to layer appropriately and selectively set caps to round\n\n curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });\n if (curves.length > 2) {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });\n for (let i = 1; i <= curves.length - 3; i += 1) {\n curvesInOrder.push({ ...curves[i], lineRoundCaps: false });\n }\n } else {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n }\n\n return curvesInOrder;\n}\n"],"mappings":";;AA8BA,SAAgB,UAAU,EACxB,MACA,WACA,UACA,uBACA,WACA,aAAa,KACD;CACZ,MAAM,MAAM,SAAS,QAAQ,KAAK,YAAY,MAAM,QAAQ,OAAO,CAAC;CACpE,MAAM,cAAc,KAAK,OAAO,OAAO,KAAM,YAAY,KAAK,KAAK;CACnE,IAAI,SAAS;CACb,MAAM,SAAkB,CAAC;CACzB,MAAM,gBAAyB,CAAC;CAGhC,MAAM,gBAAiB,aAAa,MAAO;CAE3C,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,GAAG;EAE3C,MAAM,gBAAgB,KAAK,IAAI,GAAG,SAAS,GAAG,QAAQ,aAAa;EACnE,OAAO,KAAK;GAAE;GAAK;GAAQ,MAAM;IAAE,GAAG,SAAS;IAAI,OAAO;GAAc;GAAG,MAAM;EAAM,CAAC;EACxF,UAAW,SAAS,GAAG,QAAQ,MAAO;CACxC;CAEA,OAAO,KAAK;EAAE;EAAK;EAAQ,MAAM,EAAE,OAAO,UAAU;EAAG,MAAM;CAAK,CAAC;CAInE,cAAc,KAAK;EAAE,GAAG,OAAO,OAAO,SAAS;EAAI,eAAe;CAAM,CAAC;CACzE,IAAI,OAAO,SAAS,GAAG;EACrB,cAAc,KAAK;GAAE,GAAG,OAAO;GAAI,eAAe;EAAsB,CAAC;EACzE,cAAc,KAAK;GAAE,GAAG,OAAO,OAAO,SAAS;GAAI,eAAe;EAAsB,CAAC;EACzF,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,GAC3C,cAAc,KAAK;GAAE,GAAG,OAAO;GAAI,eAAe;EAAM,CAAC;CAE7D,OACE,cAAc,KAAK;EAAE,GAAG,OAAO;EAAI,eAAe;CAAsB,CAAC;CAG3E,OAAO;AACT"}
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region packages/@mantine/core/src/components/RollingNumber/DigitColumn.tsx
4
+ const STRIP_CELLS = [
5
+ "0",
6
+ "1",
7
+ "2",
8
+ "3",
9
+ "4",
10
+ "5",
11
+ "6",
12
+ "7",
13
+ "8",
14
+ "9",
15
+ "0",
16
+ "1"
17
+ ];
18
+ function DigitColumn({ digit, getStyles, previousDigit, empty, valueDirection }) {
19
+ const digitIndex = parseInt(digit, 10);
20
+ const previousDigitIndex = previousDigit !== null ? parseInt(previousDigit, 10) : digitIndex;
21
+ const animateToIndex = valueDirection === "up" && previousDigit !== null && digitIndex < previousDigitIndex && digitIndex <= 1 ? digitIndex + 10 : digitIndex;
22
+ const direction = digitIndex >= previousDigitIndex ? "up" : "down";
23
+ const digitStyles = getStyles("digit");
24
+ const columnStyles = getStyles("digitColumn");
25
+ return /* @__PURE__ */ jsx("span", {
26
+ ...digitStyles,
27
+ "data-empty": empty || void 0,
28
+ "aria-hidden": "true",
29
+ children: /* @__PURE__ */ jsx("span", {
30
+ ...columnStyles,
31
+ style: {
32
+ ...columnStyles.style,
33
+ transform: `translateY(${-digitIndex}em)`,
34
+ ["--rn-roll-from"]: `translateY(${-previousDigitIndex}em)`,
35
+ ["--rn-roll-to"]: `translateY(${-animateToIndex}em)`
36
+ },
37
+ "data-direction": direction,
38
+ children: STRIP_CELLS.map((d, i) => /* @__PURE__ */ jsx("span", { children: d }, i))
39
+ }, digit)
40
+ });
41
+ }
42
+ //#endregion
43
+ export { DigitColumn };
44
+
45
+ //# sourceMappingURL=DigitColumn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DigitColumn.mjs","names":[],"sources":["../../../src/components/RollingNumber/DigitColumn.tsx"],"sourcesContent":["import { useStyles } from '../../core';\nimport type { RollingNumberFactory } from './RollingNumber';\n\nconst STRIP_CELLS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1'];\n\ninterface DigitColumnProps {\n digit: string;\n getStyles: ReturnType<typeof useStyles<RollingNumberFactory>>;\n previousDigit: string | null;\n empty?: boolean;\n valueDirection: 'up' | 'down';\n}\n\nexport function DigitColumn({\n digit,\n getStyles,\n previousDigit,\n empty,\n valueDirection,\n}: DigitColumnProps) {\n const digitIndex = parseInt(digit, 10);\n const previousDigitIndex = previousDigit !== null ? parseInt(previousDigit, 10) : digitIndex;\n\n const wrapsForward =\n valueDirection === 'up' &&\n previousDigit !== null &&\n digitIndex < previousDigitIndex &&\n digitIndex <= 1;\n\n const animateToIndex = wrapsForward ? digitIndex + 10 : digitIndex;\n const direction = digitIndex >= previousDigitIndex ? 'up' : 'down';\n\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 key={digit}\n {...columnStyles}\n style={{\n ...columnStyles.style,\n transform: `translateY(${-digitIndex}em)`,\n ['--rn-roll-from' as any]: `translateY(${-previousDigitIndex}em)`,\n ['--rn-roll-to' as any]: `translateY(${-animateToIndex}em)`,\n }}\n data-direction={direction}\n >\n {STRIP_CELLS.map((d, i) => (\n <span key={i}>{d}</span>\n ))}\n </span>\n </span>\n );\n}\n"],"mappings":";;;AAGA,MAAM,cAAc;CAAC;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;CAAK;AAAG;AAU/E,SAAgB,YAAY,EAC1B,OACA,WACA,eACA,OACA,kBACmB;CACnB,MAAM,aAAa,SAAS,OAAO,EAAE;CACrC,MAAM,qBAAqB,kBAAkB,OAAO,SAAS,eAAe,EAAE,IAAI;CAQlF,MAAM,iBALJ,mBAAmB,QACnB,kBAAkB,QAClB,aAAa,sBACb,cAAc,IAEsB,aAAa,KAAK;CACxD,MAAM,YAAY,cAAc,qBAAqB,OAAO;CAE5D,MAAM,cAAc,UAAU,OAAO;CACrC,MAAM,eAAe,UAAU,aAAa;CAE5C,OACE,oBAAC,QAAD;EAAM,GAAI;EAAa,cAAY,SAAS,KAAA;EAAW,eAAY;YACjE,oBAAC,QAAD;GAEE,GAAI;GACJ,OAAO;IACL,GAAG,aAAa;IAChB,WAAW,cAAc,CAAC,WAAW;KACpC,mBAA0B,cAAc,CAAC,mBAAmB;KAC5D,iBAAwB,cAAc,CAAC,eAAe;GACzD;GACA,kBAAgB;aAEf,YAAY,KAAK,GAAG,MACnB,oBAAC,QAAD,EAAA,UAAe,EAAQ,GAAZ,CAAY,CACxB;EACG,GAbC,KAaD;CACF,CAAA;AAEV"}
@@ -0,0 +1,101 @@
1
+ "use client";
2
+ import { createVarsResolver } from "../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs";
3
+ import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
4
+ import { useStyles } from "../../core/styles-api/use-styles/use-styles.mjs";
5
+ import { factory } from "../../core/factory/factory.mjs";
6
+ import { Box } from "../../core/Box/Box.mjs";
7
+ import { getDigitParts } from "./get-digit-parts.mjs";
8
+ import { buildValue } from "./build-value.mjs";
9
+ import { DigitColumn } from "./DigitColumn.mjs";
10
+ import { getRenderSlots } from "./get-render-slots.mjs";
11
+ import RollingNumber_module_default from "./RollingNumber.module.mjs";
12
+ import { useEffect, useRef } from "react";
13
+ import { jsx } from "react/jsx-runtime";
14
+ //#region packages/@mantine/core/src/components/RollingNumber/RollingNumber.tsx
15
+ const defaultProps = {
16
+ animationDuration: 600,
17
+ timingFunction: "ease",
18
+ decimalSeparator: ".",
19
+ tabularNumbers: true
20
+ };
21
+ const varsResolver = createVarsResolver((_, { animationDuration, timingFunction }) => ({ root: {
22
+ "--rn-duration": `${animationDuration}ms`,
23
+ "--rn-timing-function": timingFunction
24
+ } }));
25
+ const RollingNumber = factory((_props) => {
26
+ const props = useProps("RollingNumber", defaultProps, _props);
27
+ const { classNames, className, style, styles, unstyled, vars, value, prefix, suffix, decimalSeparator, thousandSeparator, decimalScale, fixedDecimalScale, animationDuration, timingFunction, tabularNumbers, withLiveRegion, mod, attributes, ...others } = props;
28
+ const getStyles = useStyles({
29
+ name: "RollingNumber",
30
+ classes: RollingNumber_module_default,
31
+ props,
32
+ className,
33
+ style,
34
+ classNames,
35
+ styles,
36
+ unstyled,
37
+ attributes,
38
+ vars,
39
+ varsResolver
40
+ });
41
+ const previousValueRef = useRef(value);
42
+ const previousValue = previousValueRef.current;
43
+ useEffect(() => {
44
+ previousValueRef.current = value;
45
+ });
46
+ const valueDirection = value >= previousValue ? "up" : "down";
47
+ const slots = getRenderSlots({
48
+ current: getDigitParts({
49
+ value,
50
+ decimalScale,
51
+ fixedDecimalScale
52
+ }),
53
+ previous: getDigitParts({
54
+ value: previousValue,
55
+ decimalScale,
56
+ fixedDecimalScale
57
+ }),
58
+ prefix,
59
+ suffix,
60
+ decimalSeparator,
61
+ thousandSeparator
62
+ });
63
+ const accessibleValue = buildValue({
64
+ value,
65
+ prefix,
66
+ suffix,
67
+ decimalSeparator,
68
+ thousandSeparator,
69
+ decimalScale,
70
+ fixedDecimalScale
71
+ });
72
+ return /* @__PURE__ */ jsx(Box, {
73
+ ...getStyles("root"),
74
+ mod: [{ "tabular-numbers": tabularNumbers }, mod],
75
+ role: withLiveRegion ? "status" : "img",
76
+ "aria-label": accessibleValue,
77
+ ...others,
78
+ children: slots.map((slot) => {
79
+ if (slot.type === "digit") return /* @__PURE__ */ jsx(DigitColumn, {
80
+ digit: slot.digit,
81
+ previousDigit: slot.previousDigit,
82
+ getStyles,
83
+ empty: slot.empty,
84
+ valueDirection
85
+ }, slot.key);
86
+ return /* @__PURE__ */ jsx("span", {
87
+ ...getStyles("char"),
88
+ "data-empty": slot.empty || void 0,
89
+ "aria-hidden": "true",
90
+ children: slot.char
91
+ }, slot.key);
92
+ })
93
+ });
94
+ });
95
+ RollingNumber.classes = RollingNumber_module_default;
96
+ RollingNumber.varsResolver = varsResolver;
97
+ RollingNumber.displayName = "@mantine/core/RollingNumber";
98
+ //#endregion
99
+ export { RollingNumber };
100
+
101
+ //# sourceMappingURL=RollingNumber.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RollingNumber.mjs","names":["classes"],"sources":["../../../src/components/RollingNumber/RollingNumber.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { buildValue } from './build-value';\nimport { DigitColumn } from './DigitColumn';\nimport { getDigitParts } from './get-digit-parts';\nimport { getRenderSlots } from './get-render-slots';\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\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 /** If set, the root element acts as an `aria-live=\"polite\"` region (`role=\"status\"`) and screen readers announce every value change. When `false`, the root uses `role=\"img\"` so the current value is still accessible but updates are not announced. @default false */\n withLiveRegion?: 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\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 withLiveRegion,\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 = previousValueRef.current;\n\n useEffect(() => {\n previousValueRef.current = value;\n });\n\n const valueDirection: 'up' | 'down' = value >= previousValue ? 'up' : 'down';\n\n const current = getDigitParts({ value, decimalScale, fixedDecimalScale });\n const prev = getDigitParts({ value: previousValue, decimalScale, fixedDecimalScale });\n\n const slots = getRenderSlots({\n current,\n previous: prev,\n prefix,\n suffix,\n decimalSeparator,\n thousandSeparator,\n });\n\n const accessibleValue = buildValue({\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={withLiveRegion ? 'status' : 'img'}\n aria-label={accessibleValue}\n {...others}\n >\n {slots.map((slot) => {\n if (slot.type === 'digit') {\n return (\n <DigitColumn\n key={slot.key}\n digit={slot.digit}\n previousDigit={slot.previousDigit}\n getStyles={getStyles}\n empty={slot.empty}\n valueDirection={valueDirection}\n />\n );\n }\n\n return (\n <span\n key={slot.key}\n {...getStyles('char')}\n data-empty={slot.empty || undefined}\n aria-hidden=\"true\"\n >\n {slot.char}\n </span>\n );\n })}\n </Box>\n );\n});\n\nRollingNumber.classes = classes;\nRollingNumber.varsResolver = varsResolver;\nRollingNumber.displayName = '@mantine/core/RollingNumber';\n"],"mappings":";;;;;;;;;;;;;;AAkEA,MAAM,eAAe;CACnB,mBAAmB;CACnB,gBAAgB;CAChB,kBAAkB;CAClB,gBAAgB;AAClB;AAEA,MAAM,eAAe,oBAClB,GAAG,EAAE,mBAAmB,sBAAsB,EAC7C,MAAM;CACJ,iBAAiB,GAAG,kBAAkB;CACtC,wBAAwB;AAC1B,EACF,EACF;AAEA,MAAa,gBAAgB,SAA+B,WAAW;CACrE,MAAM,QAAQ,SAAS,iBAAiB,cAAc,MAAM;CAC5D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,QACA,QACA,kBACA,mBACA,cACA,mBACA,mBACA,gBACA,gBACA,gBACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAgC;EAChD,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,mBAAmB,OAAO,KAAK;CACrC,MAAM,gBAAgB,iBAAiB;CAEvC,gBAAgB;EACd,iBAAiB,UAAU;CAC7B,CAAC;CAED,MAAM,iBAAgC,SAAS,gBAAgB,OAAO;CAKtE,MAAM,QAAQ,eAAe;EAC3B,SAJc,cAAc;GAAE;GAAO;GAAc;EAAkB,CAI/D;EACN,UAJW,cAAc;GAAE,OAAO;GAAe;GAAc;EAAkB,CAIpE;EACb;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,kBAAkB,WAAW;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,KAAD;EACE,GAAI,UAAU,MAAM;EACpB,KAAK,CAAC,EAAE,mBAAmB,eAAe,GAAG,GAAG;EAChD,MAAM,iBAAiB,WAAW;EAClC,cAAY;EACZ,GAAI;YAEH,MAAM,KAAK,SAAS;GACnB,IAAI,KAAK,SAAS,SAChB,OACE,oBAAC,aAAD;IAEE,OAAO,KAAK;IACZ,eAAe,KAAK;IACT;IACX,OAAO,KAAK;IACI;GACjB,GANM,KAAK,GAMX;GAIL,OACE,oBAAC,QAAD;IAEE,GAAI,UAAU,MAAM;IACpB,cAAY,KAAK,SAAS,KAAA;IAC1B,eAAY;cAEX,KAAK;GACF,GANC,KAAK,GAMN;EAEV,CAAC;CACE,CAAA;AAET,CAAC;AAED,cAAc,UAAUA;AACxB,cAAc,eAAe;AAC7B,cAAc,cAAc"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/RollingNumber/RollingNumber.module.css
3
+ var RollingNumber_module_default = {
4
+ "root": "m_47dd3981",
5
+ "digit": "m_b301d46e",
6
+ "digitColumn": "m_8ae40964",
7
+ "mantine-rolling-number-roll": "m_18d73873",
8
+ "char": "m_47d64bf5"
9
+ };
10
+ //#endregion
11
+ export { RollingNumber_module_default as default };
12
+
13
+ //# sourceMappingURL=RollingNumber.module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RollingNumber.module.mjs","names":[],"sources":["../../../src/components/RollingNumber/RollingNumber.module.css"],"sourcesContent":[".root {\n display: inline-flex;\n align-items: baseline;\n overflow: hidden;\n\n &[data-tabular-numbers] {\n font-variant-numeric: tabular-nums;\n }\n}\n\n.digit {\n display: inline-block;\n width: 1ch;\n height: 1em;\n overflow: hidden;\n line-height: 1;\n transition:\n width var(--rn-duration) var(--rn-timing-function),\n opacity var(--rn-duration) var(--rn-timing-function);\n\n &[data-empty] {\n width: 0;\n opacity: 0;\n }\n}\n\n.digitColumn {\n display: flex;\n flex-direction: column;\n animation: mantine-rolling-number-roll var(--rn-duration) var(--rn-timing-function);\n\n & > span {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1em;\n }\n}\n\n.char {\n display: inline-block;\n overflow: hidden;\n white-space: pre;\n transition: opacity var(--rn-duration) var(--rn-timing-function);\n\n &[data-empty] {\n width: 0;\n opacity: 0;\n }\n}\n\n@keyframes mantine-rolling-number-roll {\n from {\n transform: var(--rn-roll-from);\n }\n\n to {\n transform: var(--rn-roll-to);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { getDigitParts } from "./get-digit-parts.mjs";
3
+ //#region packages/@mantine/core/src/components/RollingNumber/build-value.ts
4
+ function buildValue({ value, prefix, suffix, decimalSeparator = ".", thousandSeparator, decimalScale, fixedDecimalScale }) {
5
+ const parts = getDigitParts({
6
+ value,
7
+ decimalScale,
8
+ fixedDecimalScale
9
+ });
10
+ let intStr = parts.intDigits.join("");
11
+ if (thousandSeparator) {
12
+ const sep = typeof thousandSeparator === "string" ? thousandSeparator : ",";
13
+ intStr = intStr.replace(/\B(?=(\d{3})+(?!\d))/g, sep);
14
+ }
15
+ let result = parts.negative ? `-${intStr}` : intStr;
16
+ if (parts.fracDigits.length > 0) result += `${decimalSeparator}${parts.fracDigits.join("")}`;
17
+ return `${prefix || ""}${result}${suffix || ""}`;
18
+ }
19
+ //#endregion
20
+ export { buildValue };
21
+
22
+ //# sourceMappingURL=build-value.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-value.mjs","names":[],"sources":["../../../src/components/RollingNumber/build-value.ts"],"sourcesContent":["import { getDigitParts } from './get-digit-parts';\n\nexport interface BuildValueInput {\n value: number;\n prefix?: string;\n suffix?: string;\n decimalSeparator?: string;\n thousandSeparator?: string | boolean;\n decimalScale?: number;\n fixedDecimalScale?: boolean;\n}\n\nexport function buildValue({\n value,\n prefix,\n suffix,\n decimalSeparator = '.',\n thousandSeparator,\n decimalScale,\n fixedDecimalScale,\n}: BuildValueInput): 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"],"mappings":";;;AAYA,SAAgB,WAAW,EACzB,OACA,QACA,QACA,mBAAmB,KACnB,mBACA,cACA,qBAC0B;CAC1B,MAAM,QAAQ,cAAc;EAAE;EAAO;EAAc;CAAkB,CAAC;CACtE,IAAI,SAAS,MAAM,UAAU,KAAK,EAAE;CAEpC,IAAI,mBAAmB;EACrB,MAAM,MAAM,OAAO,sBAAsB,WAAW,oBAAoB;EACxE,SAAS,OAAO,QAAQ,yBAAyB,GAAG;CACtD;CAEA,IAAI,SAAS,MAAM,WAAW,IAAI,WAAW;CAC7C,IAAI,MAAM,WAAW,SAAS,GAC5B,UAAU,GAAG,mBAAmB,MAAM,WAAW,KAAK,EAAE;CAG1D,OAAO,GAAG,UAAU,KAAK,SAAS,UAAU;AAC9C"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/RollingNumber/get-digit-parts.ts
3
+ const PLAIN_FORMAT = new Intl.NumberFormat("en-US", {
4
+ useGrouping: false,
5
+ maximumFractionDigits: 20
6
+ });
7
+ function toPlainString(num, decimalScale) {
8
+ if (!Number.isFinite(num)) return "0";
9
+ if (decimalScale !== void 0) return new Intl.NumberFormat("en-US", {
10
+ useGrouping: false,
11
+ minimumFractionDigits: decimalScale,
12
+ maximumFractionDigits: decimalScale
13
+ }).format(num);
14
+ const str = String(num);
15
+ if (!str.includes("e") && !str.includes("E")) return str;
16
+ return PLAIN_FORMAT.format(num);
17
+ }
18
+ function getDigitParts({ value, decimalScale, fixedDecimalScale }) {
19
+ let str = toPlainString(Math.abs(value), decimalScale);
20
+ if (!fixedDecimalScale && decimalScale !== void 0) {
21
+ const parts = str.split(".");
22
+ if (parts[1]) {
23
+ const trimmed = parts[1].replace(/0+$/, "");
24
+ str = trimmed ? `${parts[0]}.${trimmed}` : parts[0];
25
+ }
26
+ }
27
+ const dotIdx = str.indexOf(".");
28
+ const intStr = dotIdx >= 0 ? str.slice(0, dotIdx) : str;
29
+ const fracStr = dotIdx >= 0 ? str.slice(dotIdx + 1) : "";
30
+ return {
31
+ negative: value < 0,
32
+ intDigits: intStr.split(""),
33
+ fracDigits: fracStr ? fracStr.split("") : [],
34
+ hasDecimal: dotIdx >= 0
35
+ };
36
+ }
37
+ //#endregion
38
+ export { getDigitParts };
39
+
40
+ //# sourceMappingURL=get-digit-parts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-digit-parts.mjs","names":[],"sources":["../../../src/components/RollingNumber/get-digit-parts.ts"],"sourcesContent":["export interface DigitParts {\n negative: boolean;\n intDigits: string[];\n fracDigits: string[];\n hasDecimal: boolean;\n}\n\nexport interface GetDigitPartsInput {\n value: number;\n decimalScale?: number;\n fixedDecimalScale?: boolean;\n}\n\nconst PLAIN_FORMAT = new Intl.NumberFormat('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n});\n\nfunction toPlainString(num: number, decimalScale?: number): string {\n if (!Number.isFinite(num)) {\n return '0';\n }\n\n if (decimalScale !== undefined) {\n return new Intl.NumberFormat('en-US', {\n useGrouping: false,\n minimumFractionDigits: decimalScale,\n maximumFractionDigits: decimalScale,\n }).format(num);\n }\n\n const str = String(num);\n if (!str.includes('e') && !str.includes('E')) {\n return str;\n }\n\n return PLAIN_FORMAT.format(num);\n}\n\nexport function getDigitParts({\n value,\n decimalScale,\n fixedDecimalScale,\n}: GetDigitPartsInput): DigitParts {\n const abs = Math.abs(value);\n let str = toPlainString(abs, decimalScale);\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"],"mappings":";;AAaA,MAAM,eAAe,IAAI,KAAK,aAAa,SAAS;CAClD,aAAa;CACb,uBAAuB;AACzB,CAAC;AAED,SAAS,cAAc,KAAa,cAA+B;CACjE,IAAI,CAAC,OAAO,SAAS,GAAG,GACtB,OAAO;CAGT,IAAI,iBAAiB,KAAA,GACnB,OAAO,IAAI,KAAK,aAAa,SAAS;EACpC,aAAa;EACb,uBAAuB;EACvB,uBAAuB;CACzB,CAAC,EAAE,OAAO,GAAG;CAGf,MAAM,MAAM,OAAO,GAAG;CACtB,IAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,GACzC,OAAO;CAGT,OAAO,aAAa,OAAO,GAAG;AAChC;AAEA,SAAgB,cAAc,EAC5B,OACA,cACA,qBACiC;CAEjC,IAAI,MAAM,cADE,KAAK,IAAI,KACK,GAAG,YAAY;CAEzC,IAAI,CAAC,qBAAqB,iBAAiB,KAAA,GAAW;EACpD,MAAM,QAAQ,IAAI,MAAM,GAAG;EAC3B,IAAI,MAAM,IAAI;GACZ,MAAM,UAAU,MAAM,GAAG,QAAQ,OAAO,EAAE;GAC1C,MAAM,UAAU,GAAG,MAAM,GAAG,GAAG,YAAY,MAAM;EACnD;CACF;CAEA,MAAM,SAAS,IAAI,QAAQ,GAAG;CAC9B,MAAM,SAAS,UAAU,IAAI,IAAI,MAAM,GAAG,MAAM,IAAI;CACpD,MAAM,UAAU,UAAU,IAAI,IAAI,MAAM,SAAS,CAAC,IAAI;CAEtD,OAAO;EACL,UAAU,QAAQ;EAClB,WAAW,OAAO,MAAM,EAAE;EAC1B,YAAY,UAAU,QAAQ,MAAM,EAAE,IAAI,CAAC;EAC3C,YAAY,UAAU;CACxB;AACF"}
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/RollingNumber/get-render-slots.ts
3
+ function padLeft(arr, length) {
4
+ return [...Array(length - arr.length).fill(null), ...arr];
5
+ }
6
+ function padRight(arr, length) {
7
+ return [...arr, ...Array(length - arr.length).fill(null)];
8
+ }
9
+ function getRenderSlots({ current, previous, prefix, suffix, decimalSeparator = ".", thousandSeparator }) {
10
+ const maxIntLen = Math.max(current.intDigits.length, previous.intDigits.length);
11
+ const maxFracLen = Math.max(current.fracDigits.length, previous.fracDigits.length);
12
+ const currIntPadded = padLeft(current.intDigits, maxIntLen);
13
+ const prevIntPadded = padLeft(previous.intDigits, maxIntLen);
14
+ const currFracPadded = padRight(current.fracDigits, maxFracLen);
15
+ const prevFracPadded = padRight(previous.fracDigits, maxFracLen);
16
+ const sep = thousandSeparator ? typeof thousandSeparator === "string" ? thousandSeparator : "," : null;
17
+ const slots = [];
18
+ if (prefix) for (let i = 0; i < prefix.length; i++) slots.push({
19
+ type: "char",
20
+ key: `prefix-${i}`,
21
+ char: prefix[i],
22
+ empty: false
23
+ });
24
+ if (current.negative || previous.negative) slots.push({
25
+ type: "char",
26
+ key: "sign",
27
+ char: "-",
28
+ empty: !current.negative
29
+ });
30
+ for (let i = 0; i < maxIntLen; i++) {
31
+ const posFromRight = maxIntLen - 1 - i;
32
+ const currDigit = currIntPadded[i];
33
+ const prevDigit = prevIntPadded[i];
34
+ const isEmpty = currDigit === null;
35
+ slots.push({
36
+ type: "digit",
37
+ key: `int-${posFromRight}`,
38
+ digit: currDigit ?? "0",
39
+ previousDigit: prevDigit,
40
+ empty: isEmpty
41
+ });
42
+ if (sep && posFromRight > 0 && posFromRight % 3 === 0) slots.push({
43
+ type: "char",
44
+ key: `sep-${posFromRight}`,
45
+ char: sep,
46
+ empty: isEmpty
47
+ });
48
+ }
49
+ if (current.hasDecimal || previous.hasDecimal) slots.push({
50
+ type: "char",
51
+ key: "dec",
52
+ char: decimalSeparator,
53
+ empty: !current.hasDecimal
54
+ });
55
+ for (let i = 0; i < maxFracLen; i++) {
56
+ const currDigit = currFracPadded[i];
57
+ const prevDigit = prevFracPadded[i];
58
+ const isEmpty = currDigit === null;
59
+ slots.push({
60
+ type: "digit",
61
+ key: `frac-${i}`,
62
+ digit: currDigit ?? "0",
63
+ previousDigit: prevDigit,
64
+ empty: isEmpty
65
+ });
66
+ }
67
+ if (suffix) for (let i = 0; i < suffix.length; i++) slots.push({
68
+ type: "char",
69
+ key: `suffix-${i}`,
70
+ char: suffix[i],
71
+ empty: false
72
+ });
73
+ return slots;
74
+ }
75
+ //#endregion
76
+ export { getRenderSlots };
77
+
78
+ //# sourceMappingURL=get-render-slots.mjs.map