@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":"Tooltip.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","factory","useProps","useDirection","useTooltip","getFloatingPosition","useStyles","getSingleElementChild","getTransitionProps","OptionalPortal","Transition","Box","FloatingArrow","getRefProp","classes","TooltipFloating","TooltipGroup"],"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { cloneElement, useEffect, useRef } from 'react';\nimport cx from 'clsx';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getRadius,\n getRefProp,\n getSingleElementChild,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport {\n ArrowPosition,\n FloatingArrow,\n FloatingAxesOffsets,\n FloatingPosition,\n FloatingStrategy,\n getFloatingPosition,\n} from '../../utils/Floating';\nimport { OptionalPortal } from '../Portal';\nimport { getTransitionProps, Transition, TransitionOverride } from '../Transition';\nimport { TooltipBaseProps, TooltipCssVariables, TooltipStylesNames } from './Tooltip.types';\nimport { TooltipFloating, type TooltipFloatingProps } from './TooltipFloating/TooltipFloating';\nimport {\n TooltipGroup,\n type TooltipGroupProps,\n type TooltipGroupContextValue,\n} from './TooltipGroup/TooltipGroup';\nimport { useTooltip } from './use-tooltip';\nimport classes from './Tooltip.module.css';\nexport interface TooltipProps extends TooltipBaseProps {\n /** Called when tooltip position changes */\n onPositionChange?: (position: FloatingPosition) => void;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms @default 0 */\n closeDelay?: number;\n\n /** Controlled opened state */\n opened?: boolean;\n\n /** Uncontrolled tooltip initial opened state */\n defaultOpened?: boolean;\n\n /** Space between target element and tooltip in px @default 5 */\n offset?: number | FloatingAxesOffsets;\n\n /** If set, the tooltip has an arrow @default false */\n withArrow?: boolean;\n\n /** Arrow size in px @default 4 */\n arrowSize?: number;\n\n /** Arrow offset in px @default 5 */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px @default 0 */\n arrowRadius?: number;\n\n /** Arrow position relative to the tooltip @default side */\n arrowPosition?: ArrowPosition;\n\n /** Props passed down to the `Transition` component that used to animate tooltip presence, use to configure duration and animation type @default { duration: 100, transition: 'fade' } */\n transitionProps?: TransitionOverride;\n\n /** Determines which events will be used to show tooltip @default { hover: true, focus: false, touch: false } */\n events?: { hover: boolean; focus: boolean; touch: boolean };\n\n /** Must be set if the tooltip target is an inline element */\n inline?: boolean;\n\n /** If set, the tooltip is not unmounted from the DOM when hidden, `display: none` styles are applied instead */\n keepMounted?: boolean;\n\n /** Changes floating ui [position strategy](https://floating-ui.com/docs/usefloating#strategy) @default 'absolute' */\n floatingStrategy?: FloatingStrategy;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** Selector, ref of an element or element itself that should be used for positioning */\n target?: React.RefObject<HTMLElement | null> | HTMLElement | null | string;\n}\n\nexport type TooltipFactory = Factory<{\n props: TooltipProps;\n ref: HTMLDivElement;\n stylesNames: TooltipStylesNames;\n vars: TooltipCssVariables;\n staticComponents: {\n Floating: typeof TooltipFloating;\n Group: typeof TooltipGroup;\n };\n}>;\n\nconst defaultProps = {\n position: 'top',\n refProp: 'ref',\n withinPortal: true,\n arrowSize: 4,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n offset: 5,\n transitionProps: { duration: 100, transition: 'fade' },\n events: { hover: true, focus: false, touch: false },\n zIndex: getDefaultZIndex('popover'),\n middlewares: { flip: true, shift: true, inline: false },\n} satisfies Partial<TooltipProps>;\n\nconst varsResolver = createVarsResolver<TooltipFactory>(\n (theme, { radius, color, variant, autoContrast }) => {\n const colors = theme.variantColorResolver({\n theme,\n color: color || theme.primaryColor,\n autoContrast,\n variant: variant || 'filled',\n });\n\n return {\n tooltip: {\n '--tooltip-radius': radius === undefined ? undefined : getRadius(radius),\n '--tooltip-bg': color ? colors.background : undefined,\n '--tooltip-color': color ? colors.color : undefined,\n },\n };\n }\n);\n\nexport const Tooltip = factory<TooltipFactory>((_props) => {\n const props = useProps('Tooltip', defaultProps, _props);\n const {\n children,\n position,\n refProp,\n label,\n openDelay,\n closeDelay,\n onPositionChange,\n opened,\n defaultOpened,\n withinPortal,\n radius,\n color,\n classNames,\n styles,\n unstyled,\n style,\n className,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n offset,\n transitionProps,\n multiline,\n events,\n zIndex,\n disabled,\n onClick,\n onMouseEnter,\n onMouseLeave,\n inline,\n variant,\n keepMounted,\n vars,\n portalProps,\n mod,\n floatingStrategy,\n middlewares,\n autoContrast,\n attributes,\n target,\n ref,\n ...others\n } = props;\n\n const { dir } = useDirection();\n const arrowRef = useRef<HTMLDivElement>(null);\n\n const tooltip = useTooltip({\n position: getFloatingPosition(dir, position),\n closeDelay,\n openDelay,\n onPositionChange,\n opened,\n defaultOpened,\n events,\n arrowRef,\n arrowOffset,\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n inline,\n strategy: floatingStrategy,\n middlewares,\n });\n\n useEffect(() => {\n const targetNode =\n target instanceof HTMLElement\n ? target\n : typeof target === 'string'\n ? document.querySelector(target)\n : target?.current || null;\n\n if (targetNode) {\n tooltip.reference(targetNode);\n }\n }, [target, tooltip]);\n\n const getStyles = useStyles<TooltipFactory>({\n name: 'Tooltip',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'tooltip',\n vars,\n varsResolver,\n });\n\n const child = getSingleElementChild(children);\n if (!target && !child) {\n throw new Error(\n '[@mantine/core] Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const tooltipStyles = getStyles('tooltip');\n\n if (target) {\n const transition = getTransitionProps(transitionProps, { duration: 100, transition: 'fade' });\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Transition\n {...transition}\n keepMounted={keepMounted}\n mounted={!disabled && !!tooltip.opened}\n duration={tooltip.isGroupPhase ? 10 : transition.duration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n data-fixed={floatingStrategy === 'fixed' || undefined}\n variant={variant}\n mod={[{ multiline }, mod]}\n {...tooltipStyles}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: tooltipStyles.className,\n style: {\n ...tooltipStyles.style,\n ...transitionStyles,\n zIndex: zIndex as React.CSSProperties['zIndex'],\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n arrowRadius={arrowRadius}\n arrowPosition={arrowPosition}\n {...getStyles('arrow')}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n </>\n );\n }\n\n // fallback to children-based approach\n const childProps = child!.props as any;\n const targetRef = useMergedRef(tooltip.reference, getRefProp(child), ref);\n const transition = getTransitionProps(transitionProps, { duration: 100, transition: 'fade' });\n\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Transition\n {...transition}\n keepMounted={keepMounted}\n mounted={!disabled && !!tooltip.opened}\n duration={tooltip.isGroupPhase ? 10 : transition.duration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n data-fixed={floatingStrategy === 'fixed' || undefined}\n variant={variant}\n mod={[{ multiline }, mod]}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: getStyles('tooltip').className,\n style: {\n ...getStyles('tooltip').style,\n ...transitionStyles,\n zIndex: zIndex as React.CSSProperties['zIndex'],\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n arrowRadius={arrowRadius}\n arrowPosition={arrowPosition}\n {...getStyles('arrow')}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n\n {cloneElement(\n child!,\n tooltip.getReferenceProps({\n onClick,\n onMouseEnter,\n onMouseLeave,\n onMouseMove: props.onMouseMove,\n onPointerDown: props.onPointerDown,\n onPointerEnter: props.onPointerEnter,\n ...childProps,\n className: cx(className, childProps.className),\n [refProp]: targetRef,\n })\n )}\n </>\n );\n});\n\nTooltip.classes = classes;\nTooltip.varsResolver = varsResolver;\nTooltip.displayName = '@mantine/core/Tooltip';\nTooltip.Floating = TooltipFloating;\nTooltip.Group = TooltipGroup;\n\nexport namespace Tooltip {\n export type Props = TooltipProps;\n export type Factory = TooltipFactory;\n export type CssVariables = TooltipCssVariables;\n export type StylesNames = TooltipStylesNames;\n\n export namespace Group {\n export type Props = TooltipGroupProps;\n export type ContextValue = TooltipGroupContextValue;\n }\n\n export namespace Floating {\n export type Props = TooltipFloatingProps;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","factory","useProps","useDirection","useTooltip","getFloatingPosition","useStyles","getSingleElementChild","getTransitionProps","OptionalPortal","Transition","Box","FloatingArrow","getRefProp","classes","TooltipFloating","TooltipGroup"],"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { cloneElement, useEffect, useRef } from 'react';\nimport cx from 'clsx';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getRadius,\n getRefProp,\n getSingleElementChild,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport {\n ArrowPosition,\n FloatingArrow,\n FloatingAxesOffsets,\n FloatingPosition,\n FloatingStrategy,\n getFloatingPosition,\n} from '../../utils/Floating';\nimport { OptionalPortal } from '../Portal';\nimport { getTransitionProps, Transition, TransitionOverride } from '../Transition';\nimport { TooltipBaseProps, TooltipCssVariables, TooltipStylesNames } from './Tooltip.types';\nimport { TooltipFloating, type TooltipFloatingProps } from './TooltipFloating/TooltipFloating';\nimport {\n TooltipGroup,\n type TooltipGroupProps,\n type TooltipGroupContextValue,\n} from './TooltipGroup/TooltipGroup';\nimport { useTooltip } from './use-tooltip';\nimport classes from './Tooltip.module.css';\nexport interface TooltipProps extends TooltipBaseProps {\n /** Called when tooltip position changes */\n onPositionChange?: (position: FloatingPosition) => void;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms @default 0 */\n closeDelay?: number;\n\n /** Controlled opened state */\n opened?: boolean;\n\n /** Uncontrolled tooltip initial opened state */\n defaultOpened?: boolean;\n\n /** Space between target element and tooltip in px @default 5 */\n offset?: number | FloatingAxesOffsets;\n\n /** If set, the tooltip has an arrow @default false */\n withArrow?: boolean;\n\n /** Arrow size in px @default 4 */\n arrowSize?: number;\n\n /** Arrow offset in px @default 5 */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px @default 0 */\n arrowRadius?: number;\n\n /** Arrow position relative to the tooltip @default side */\n arrowPosition?: ArrowPosition;\n\n /** Props passed down to the `Transition` component that used to animate tooltip presence, use to configure duration and animation type @default { duration: 100, transition: 'fade' } */\n transitionProps?: TransitionOverride;\n\n /** Determines which events will be used to show tooltip @default { hover: true, focus: false, touch: false } */\n events?: { hover: boolean; focus: boolean; touch: boolean };\n\n /** Must be set if the tooltip target is an inline element */\n inline?: boolean;\n\n /** If set, the tooltip is not unmounted from the DOM when hidden, `display: none` styles are applied instead */\n keepMounted?: boolean;\n\n /** Changes floating ui [position strategy](https://floating-ui.com/docs/usefloating#strategy) @default 'absolute' */\n floatingStrategy?: FloatingStrategy;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** Selector, ref of an element or element itself that should be used for positioning */\n target?: React.RefObject<HTMLElement | null> | HTMLElement | null | string;\n}\n\nexport type TooltipFactory = Factory<{\n props: TooltipProps;\n ref: HTMLDivElement;\n stylesNames: TooltipStylesNames;\n vars: TooltipCssVariables;\n staticComponents: {\n Floating: typeof TooltipFloating;\n Group: typeof TooltipGroup;\n };\n}>;\n\nconst defaultProps = {\n position: 'top',\n refProp: 'ref',\n withinPortal: true,\n arrowSize: 4,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n offset: 5,\n transitionProps: { duration: 100, transition: 'fade' },\n events: { hover: true, focus: false, touch: false },\n zIndex: getDefaultZIndex('popover'),\n middlewares: { flip: true, shift: true, inline: false },\n} satisfies Partial<TooltipProps>;\n\nconst varsResolver = createVarsResolver<TooltipFactory>(\n (theme, { radius, color, variant, autoContrast }) => {\n const colors = theme.variantColorResolver({\n theme,\n color: color || theme.primaryColor,\n autoContrast,\n variant: variant || 'filled',\n });\n\n return {\n tooltip: {\n '--tooltip-radius': radius === undefined ? undefined : getRadius(radius),\n '--tooltip-bg': color ? colors.background : undefined,\n '--tooltip-color': color ? colors.color : undefined,\n },\n };\n }\n);\n\nexport const Tooltip = factory<TooltipFactory>((_props) => {\n const props = useProps('Tooltip', defaultProps, _props);\n const {\n children,\n position,\n refProp,\n label,\n openDelay,\n closeDelay,\n onPositionChange,\n opened,\n defaultOpened,\n withinPortal,\n radius,\n color,\n classNames,\n styles,\n unstyled,\n style,\n className,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n offset,\n transitionProps,\n multiline,\n events,\n zIndex,\n disabled,\n onClick,\n onMouseEnter,\n onMouseLeave,\n inline,\n variant,\n keepMounted,\n vars,\n portalProps,\n mod,\n floatingStrategy,\n middlewares,\n autoContrast,\n attributes,\n target,\n ref,\n ...others\n } = props;\n\n const { dir } = useDirection();\n const arrowRef = useRef<HTMLDivElement>(null);\n\n const tooltip = useTooltip({\n position: getFloatingPosition(dir, position),\n closeDelay,\n openDelay,\n onPositionChange,\n opened,\n defaultOpened,\n events,\n arrowRef,\n arrowOffset,\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n inline,\n strategy: floatingStrategy,\n middlewares,\n });\n\n useEffect(() => {\n const targetNode =\n target instanceof HTMLElement\n ? target\n : typeof target === 'string'\n ? document.querySelector(target)\n : target?.current || null;\n\n if (targetNode) {\n tooltip.reference(targetNode);\n }\n }, [target, tooltip]);\n\n const getStyles = useStyles<TooltipFactory>({\n name: 'Tooltip',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'tooltip',\n vars,\n varsResolver,\n });\n\n const child = getSingleElementChild(children);\n if (!target && !child) {\n throw new Error(\n '[@mantine/core] Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const tooltipStyles = getStyles('tooltip');\n\n if (target) {\n const transition = getTransitionProps(transitionProps, { duration: 100, transition: 'fade' });\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Transition\n {...transition}\n keepMounted={keepMounted}\n mounted={!disabled && !!tooltip.opened}\n duration={tooltip.isGroupPhase ? 10 : transition.duration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n data-fixed={floatingStrategy === 'fixed' || undefined}\n variant={variant}\n mod={[{ multiline }, mod]}\n {...tooltipStyles}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: tooltipStyles.className,\n style: {\n ...tooltipStyles.style,\n ...transitionStyles,\n zIndex: zIndex as React.CSSProperties['zIndex'],\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n arrowRadius={arrowRadius}\n arrowPosition={arrowPosition}\n {...getStyles('arrow')}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n </>\n );\n }\n\n // fallback to children-based approach\n const childProps = child!.props as any;\n const targetRef = useMergedRef(tooltip.reference, getRefProp(child), ref);\n const transition = getTransitionProps(transitionProps, { duration: 100, transition: 'fade' });\n\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Transition\n {...transition}\n keepMounted={keepMounted}\n mounted={!disabled && !!tooltip.opened}\n duration={tooltip.isGroupPhase ? 10 : transition.duration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n data-fixed={floatingStrategy === 'fixed' || undefined}\n variant={variant}\n mod={[{ multiline }, mod]}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: getStyles('tooltip').className,\n style: {\n ...getStyles('tooltip').style,\n ...transitionStyles,\n zIndex: zIndex as React.CSSProperties['zIndex'],\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n arrowRadius={arrowRadius}\n arrowPosition={arrowPosition}\n {...getStyles('arrow')}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n\n {cloneElement(\n child!,\n tooltip.getReferenceProps({\n onClick,\n onMouseEnter,\n onMouseLeave,\n onMouseMove: props.onMouseMove,\n onPointerDown: props.onPointerDown,\n onPointerEnter: props.onPointerEnter,\n ...childProps,\n className: cx(className, childProps.className),\n [refProp]: targetRef,\n })\n )}\n </>\n );\n});\n\nTooltip.classes = classes;\nTooltip.varsResolver = varsResolver;\nTooltip.displayName = '@mantine/core/Tooltip';\nTooltip.Floating = TooltipFloating;\nTooltip.Group = TooltipGroup;\n\nexport namespace Tooltip {\n export type Props = TooltipProps;\n export type Factory = TooltipFactory;\n export type CssVariables = TooltipCssVariables;\n export type StylesNames = TooltipStylesNames;\n\n export namespace Group {\n export type Props = TooltipGroupProps;\n export type ContextValue = TooltipGroupContextValue;\n }\n\n export namespace Floating {\n export type Props = TooltipFloatingProps;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipFloating.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","getThemeColor","factory","useProps","useMantineTheme","useStyles","useFloatingTooltip","getSingleElementChild","getRefProp","OptionalPortal","Box","getStyleObject","classes"],"sources":["../../../../src/components/Tooltip/TooltipFloating/TooltipFloating.tsx"],"sourcesContent":["import { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getRadius,\n getRefProp,\n getSingleElementChild,\n getStyleObject,\n getThemeColor,\n useMantineTheme,\n useProps,\n useStyles,\n} from '../../../core';\nimport { OptionalPortal } from '../../Portal';\nimport { TooltipBaseProps, TooltipCssVariables, TooltipStylesNames } from '../Tooltip.types';\nimport { useFloatingTooltip } from './use-floating-tooltip';\nimport classes from '../Tooltip.module.css';\n\nexport interface TooltipFloatingProps extends TooltipBaseProps {\n /** Offset from mouse in px @default 10 */\n offset?: number;\n\n /** Uncontrolled tooltip initial opened state */\n defaultOpened?: boolean;\n}\n\nexport type TooltipFloatingFactory = Factory<{\n props: TooltipFloatingProps;\n ref: HTMLDivElement;\n stylesNames: TooltipStylesNames;\n vars: TooltipCssVariables;\n}>;\n\nconst defaultProps = {\n refProp: 'ref',\n withinPortal: true,\n offset: 10,\n position: 'right',\n zIndex: getDefaultZIndex('popover'),\n} satisfies Partial<TooltipFloatingProps>;\n\nconst varsResolver = createVarsResolver<TooltipFloatingFactory>((theme, { radius, color }) => ({\n tooltip: {\n '--tooltip-radius': radius === undefined ? undefined : getRadius(radius),\n '--tooltip-bg': color ? getThemeColor(color, theme) : undefined,\n '--tooltip-color': color ? 'var(--mantine-color-white)' : undefined,\n },\n}));\n\nexport const TooltipFloating = factory<TooltipFloatingFactory>((_props) => {\n const props = useProps('TooltipFloating', defaultProps, _props);\n const {\n children,\n refProp,\n withinPortal,\n style,\n className,\n classNames,\n styles,\n unstyled,\n radius,\n color,\n label,\n offset,\n position,\n multiline,\n zIndex,\n disabled,\n defaultOpened,\n variant,\n vars,\n portalProps,\n attributes,\n ref,\n ...others\n } = props;\n\n const theme = useMantineTheme();\n const getStyles = useStyles<TooltipFloatingFactory>({\n name: 'TooltipFloating',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'tooltip',\n vars,\n varsResolver,\n });\n\n const { handleMouseMove, x, y, opened, boundaryRef, floating, setOpened } = useFloatingTooltip({\n offset,\n position,\n defaultOpened,\n });\n\n const child = getSingleElementChild(children);\n if (!child) {\n throw new Error(\n '[@mantine/core] Tooltip.Floating component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const targetRef = useMergedRef(boundaryRef, getRefProp(child), ref);\n const childProps = child.props as any;\n\n const onMouseEnter = (event: React.MouseEvent<unknown, MouseEvent>) => {\n childProps.onMouseEnter?.(event);\n handleMouseMove(event);\n setOpened(true);\n };\n\n const onMouseLeave = (event: React.MouseEvent<unknown, MouseEvent>) => {\n childProps.onMouseLeave?.(event);\n setOpened(false);\n };\n\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Box\n {...others}\n {...getStyles('tooltip', {\n style: {\n ...getStyleObject(style, theme),\n zIndex: zIndex as React.CSSProperties['zIndex'],\n display: !disabled && opened ? 'block' : 'none',\n top: (y && Math.round(y)) ?? '',\n left: (x && Math.round(x)) ?? '',\n },\n })}\n variant={variant}\n ref={floating}\n mod={{ multiline }}\n >\n {label}\n </Box>\n </OptionalPortal>\n\n {cloneElement(child, {\n ...childProps,\n [refProp]: targetRef,\n onMouseEnter,\n onMouseLeave,\n })}\n </>\n );\n});\n\nTooltipFloating.classes = classes;\nTooltipFloating.varsResolver = varsResolver;\nTooltipFloating.displayName = '@mantine/core/TooltipFloating';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqCA,MAAM,eAAe;CACnB,SAAS;CACT,cAAc;CACd,QAAQ;CACR,UAAU;CACV,QAAQA,4BAAAA,iBAAiB,UAAU;CACpC;AAED,MAAM,eAAeC,6BAAAA,oBAA4C,OAAO,EAAE,QAAQ,aAAa,EAC7F,SAAS;CACP,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,OAAO;CACxE,gBAAgB,QAAQC,wBAAAA,cAAc,OAAO,MAAM,GAAG,KAAA;CACtD,mBAAmB,QAAQ,+BAA+B,KAAA;CAC3D,EACF,EAAE;AAEH,MAAa,kBAAkBC,gBAAAA,SAAiC,WAAW;CACzE,MAAM,QAAQC,kBAAAA,SAAS,mBAAmB,cAAc,OAAO;CAC/D,MAAM,EACJ,UACA,SACA,cACA,OACA,WACA,YACA,QACA,UACA,QACA,OACA,OACA,QACA,UACA,WACA,QACA,UACA,eACA,SACA,MACA,aACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,QAAQC,6BAAAA,iBAAiB;CAC/B,MAAM,YAAYC,mBAAAA,UAAkC;EAClD,MAAM;EACN;EACA,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;EACD,CAAC;CAEF,MAAM,EAAE,iBAAiB,GAAG,GAAG,QAAQ,aAAa,UAAU,cAAcC,6BAAAA,mBAAmB;EAC7F;EACA;EACA;EACD,CAAC;CAEF,MAAM,QAAQC,iCAAAA,sBAAsB,SAAS;AAC7C,KAAI,CAAC,MACH,OAAM,IAAI,MACR,qLACD;CAGH,MAAM,aAAA,GAAA,eAAA,cAAyB,aAAaC,qBAAAA,WAAW,MAAM,EAAE,IAAI;CACnE,MAAM,aAAa,MAAM;CAEzB,MAAM,gBAAgB,UAAiD;AACrE,aAAW,eAAe,MAAM;AAChC,kBAAgB,MAAM;AACtB,YAAU,KAAK;;CAGjB,MAAM,gBAAgB,UAAiD;AACrE,aAAW,eAAe,MAAM;AAChC,YAAU,MAAM;;AAGlB,QACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAACC,uBAAAA,gBAAD;EAAgB,GAAI;EAA2B;YAC7C,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GACE,GAAI;GACJ,GAAI,UAAU,WAAW,EACvB,OAAO;IACL,GAAGC,yBAAAA,eAAe,OAAO,MAAM;IACvB;IACR,SAAS,CAAC,YAAY,SAAS,UAAU;IACzC,MAAM,KAAK,KAAK,MAAM,EAAE,KAAK;IAC7B,OAAO,KAAK,KAAK,MAAM,EAAE,KAAK;IAC/B,EACF,CAAC;GACO;GACT,KAAK;GACL,KAAK,EAAE,WAAW;aAEjB;GACG,CAAA;EACS,CAAA,GAAA,GAAA,MAAA,cAEH,OAAO;EACnB,GAAG;GACF,UAAU;EACX;EACA;EACD,CAAC,CACD,EAAA,CAAA;EAEL;AAEF,gBAAgB,UAAUC,uBAAAA;AAC1B,gBAAgB,eAAe;AAC/B,gBAAgB,cAAc"}
1
+ {"version":3,"file":"TooltipFloating.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","getThemeColor","factory","useProps","useMantineTheme","useStyles","useFloatingTooltip","getSingleElementChild","getRefProp","OptionalPortal","Box","getStyleObject","classes"],"sources":["../../../../src/components/Tooltip/TooltipFloating/TooltipFloating.tsx"],"sourcesContent":["import { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getRadius,\n getRefProp,\n getSingleElementChild,\n getStyleObject,\n getThemeColor,\n useMantineTheme,\n useProps,\n useStyles,\n} from '../../../core';\nimport { OptionalPortal } from '../../Portal';\nimport { TooltipBaseProps, TooltipCssVariables, TooltipStylesNames } from '../Tooltip.types';\nimport { useFloatingTooltip } from './use-floating-tooltip';\nimport classes from '../Tooltip.module.css';\n\nexport interface TooltipFloatingProps extends TooltipBaseProps {\n /** Offset from mouse in px @default 10 */\n offset?: number;\n\n /** Uncontrolled tooltip initial opened state */\n defaultOpened?: boolean;\n}\n\nexport type TooltipFloatingFactory = Factory<{\n props: TooltipFloatingProps;\n ref: HTMLDivElement;\n stylesNames: TooltipStylesNames;\n vars: TooltipCssVariables;\n}>;\n\nconst defaultProps = {\n refProp: 'ref',\n withinPortal: true,\n offset: 10,\n position: 'right',\n zIndex: getDefaultZIndex('popover'),\n} satisfies Partial<TooltipFloatingProps>;\n\nconst varsResolver = createVarsResolver<TooltipFloatingFactory>((theme, { radius, color }) => ({\n tooltip: {\n '--tooltip-radius': radius === undefined ? undefined : getRadius(radius),\n '--tooltip-bg': color ? getThemeColor(color, theme) : undefined,\n '--tooltip-color': color ? 'var(--mantine-color-white)' : undefined,\n },\n}));\n\nexport const TooltipFloating = factory<TooltipFloatingFactory>((_props) => {\n const props = useProps('TooltipFloating', defaultProps, _props);\n const {\n children,\n refProp,\n withinPortal,\n style,\n className,\n classNames,\n styles,\n unstyled,\n radius,\n color,\n label,\n offset,\n position,\n multiline,\n zIndex,\n disabled,\n defaultOpened,\n variant,\n vars,\n portalProps,\n attributes,\n ref,\n ...others\n } = props;\n\n const theme = useMantineTheme();\n const getStyles = useStyles<TooltipFloatingFactory>({\n name: 'TooltipFloating',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'tooltip',\n vars,\n varsResolver,\n });\n\n const { handleMouseMove, x, y, opened, boundaryRef, floating, setOpened } = useFloatingTooltip({\n offset,\n position,\n defaultOpened,\n });\n\n const child = getSingleElementChild(children);\n if (!child) {\n throw new Error(\n '[@mantine/core] Tooltip.Floating component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const targetRef = useMergedRef(boundaryRef, getRefProp(child), ref);\n const childProps = child.props as any;\n\n const onMouseEnter = (event: React.MouseEvent<unknown, MouseEvent>) => {\n childProps.onMouseEnter?.(event);\n handleMouseMove(event);\n setOpened(true);\n };\n\n const onMouseLeave = (event: React.MouseEvent<unknown, MouseEvent>) => {\n childProps.onMouseLeave?.(event);\n setOpened(false);\n };\n\n return (\n <>\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Box\n {...others}\n {...getStyles('tooltip', {\n style: {\n ...getStyleObject(style, theme),\n zIndex: zIndex as React.CSSProperties['zIndex'],\n display: !disabled && opened ? 'block' : 'none',\n top: (y && Math.round(y)) ?? '',\n left: (x && Math.round(x)) ?? '',\n },\n })}\n variant={variant}\n ref={floating}\n mod={{ multiline }}\n >\n {label}\n </Box>\n </OptionalPortal>\n\n {cloneElement(child, {\n ...childProps,\n [refProp]: targetRef,\n onMouseEnter,\n onMouseLeave,\n })}\n </>\n );\n});\n\nTooltipFloating.classes = classes;\nTooltipFloating.varsResolver = varsResolver;\nTooltipFloating.displayName = '@mantine/core/TooltipFloating';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqCA,MAAM,eAAe;CACnB,SAAS;CACT,cAAc;CACd,QAAQ;CACR,UAAU;CACV,QAAQA,4BAAAA,iBAAiB,SAAS;AACpC;AAEA,MAAM,eAAeC,6BAAAA,oBAA4C,OAAO,EAAE,QAAQ,aAAa,EAC7F,SAAS;CACP,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACvE,gBAAgB,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA;CACtD,mBAAmB,QAAQ,+BAA+B,KAAA;AAC5D,EACF,EAAE;AAEF,MAAa,kBAAkBC,gBAAAA,SAAiC,WAAW;CACzE,MAAM,QAAQC,kBAAAA,SAAS,mBAAmB,cAAc,MAAM;CAC9D,MAAM,EACJ,UACA,SACA,cACA,OACA,WACA,YACA,QACA,UACA,QACA,OACA,OACA,QACA,UACA,WACA,QACA,UACA,eACA,SACA,MACA,aACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,QAAQC,6BAAAA,gBAAgB;CAC9B,MAAM,YAAYC,mBAAAA,UAAkC;EAClD,MAAM;EACN;EACA,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;CACF,CAAC;CAED,MAAM,EAAE,iBAAiB,GAAG,GAAG,QAAQ,aAAa,UAAU,cAAcC,6BAAAA,mBAAmB;EAC7F;EACA;EACA;CACF,CAAC;CAED,MAAM,QAAQC,iCAAAA,sBAAsB,QAAQ;CAC5C,IAAI,CAAC,OACH,MAAM,IAAI,MACR,oLACF;CAGF,MAAM,aAAA,GAAA,eAAA,cAAyB,aAAaC,qBAAAA,WAAW,KAAK,GAAG,GAAG;CAClE,MAAM,aAAa,MAAM;CAEzB,MAAM,gBAAgB,UAAiD;EACrE,WAAW,eAAe,KAAK;EAC/B,gBAAgB,KAAK;EACrB,UAAU,IAAI;CAChB;CAEA,MAAM,gBAAgB,UAAiD;EACrE,WAAW,eAAe,KAAK;EAC/B,UAAU,KAAK;CACjB;CAEA,OACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAACC,uBAAAA,gBAAD;EAAgB,GAAI;EAA2B;YAC7C,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GACE,GAAI;GACJ,GAAI,UAAU,WAAW,EACvB,OAAO;IACL,GAAGC,yBAAAA,eAAe,OAAO,KAAK;IACtB;IACR,SAAS,CAAC,YAAY,SAAS,UAAU;IACzC,MAAM,KAAK,KAAK,MAAM,CAAC,MAAM;IAC7B,OAAO,KAAK,KAAK,MAAM,CAAC,MAAM;GAChC,EACF,CAAC;GACQ;GACT,KAAK;GACL,KAAK,EAAE,UAAU;aAEhB;EACE,CAAA;CACS,CAAA,IAAA,GAAA,MAAA,cAEF,OAAO;EACnB,GAAG;GACF,UAAU;EACX;EACA;CACF,CAAC,CACD,EAAA,CAAA;AAEN,CAAC;AAED,gBAAgB,UAAUC,uBAAAA;AAC1B,gBAAgB,eAAe;AAC/B,gBAAgB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-floating-tooltip.cjs","names":[],"sources":["../../../../src/components/Tooltip/TooltipFloating/use-floating-tooltip.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { getOverflowAncestors, shift, useFloating } from '@floating-ui/react';\nimport { FloatingPosition } from '../../../utils/Floating';\n\ninterface UseFloatingTooltip {\n offset: number;\n position: FloatingPosition;\n defaultOpened?: boolean;\n}\n\nexport function useFloatingTooltip<T extends HTMLElement = any>({\n offset,\n position,\n defaultOpened,\n}: UseFloatingTooltip) {\n const [opened, setOpened] = useState(defaultOpened);\n const boundaryRef = useRef<T>(null);\n const { x, y, elements, refs, update, placement } = useFloating({\n placement: position,\n middleware: [\n shift({\n crossAxis: true,\n padding: 5,\n rootBoundary: 'document',\n }),\n ],\n });\n\n const horizontalOffset = placement.includes('right')\n ? offset\n : position.includes('left')\n ? offset * -1\n : 0;\n\n const verticalOffset = placement.includes('bottom')\n ? offset\n : position.includes('top')\n ? offset * -1\n : 0;\n\n const handleMouseMove = useCallback(\n ({ clientX, clientY }: MouseEvent | React.MouseEvent<T, MouseEvent>) => {\n refs.setPositionReference({\n getBoundingClientRect() {\n return {\n width: 0,\n height: 0,\n x: clientX,\n y: clientY,\n left: clientX + horizontalOffset,\n top: clientY + verticalOffset,\n right: clientX,\n bottom: clientY,\n };\n },\n });\n },\n [elements.reference]\n );\n\n useEffect(() => {\n if (refs.floating.current) {\n const boundary = boundaryRef.current!;\n boundary.addEventListener('mousemove', handleMouseMove);\n\n const parents = getOverflowAncestors(refs.floating.current);\n parents.forEach((parent) => {\n parent.addEventListener('scroll', update);\n });\n\n return () => {\n boundary.removeEventListener('mousemove', handleMouseMove);\n parents.forEach((parent) => {\n parent.removeEventListener('scroll', update);\n });\n };\n }\n\n return undefined;\n }, [elements.reference, refs.floating.current, update, handleMouseMove, opened]);\n\n return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating: refs.setFloating };\n}\n"],"mappings":";;;;;AAUA,SAAgB,mBAAgD,EAC9D,QACA,UACA,iBACqB;CACrB,MAAM,CAAC,QAAQ,cAAA,GAAA,MAAA,UAAsB,cAAc;CACnD,MAAM,eAAA,GAAA,MAAA,QAAwB,KAAK;CACnC,MAAM,EAAE,GAAG,GAAG,UAAU,MAAM,QAAQ,eAAA,GAAA,mBAAA,aAA0B;EAC9D,WAAW;EACX,YAAY,EAAA,GAAA,mBAAA,OACJ;GACJ,WAAW;GACX,SAAS;GACT,cAAc;GACf,CAAC,CACH;EACF,CAAC;CAEF,MAAM,mBAAmB,UAAU,SAAS,QAAQ,GAChD,SACA,SAAS,SAAS,OAAO,GACvB,SAAS,KACT;CAEN,MAAM,iBAAiB,UAAU,SAAS,SAAS,GAC/C,SACA,SAAS,SAAS,MAAM,GACtB,SAAS,KACT;CAEN,MAAM,mBAAA,GAAA,MAAA,cACH,EAAE,SAAS,cAA4D;AACtE,OAAK,qBAAqB,EACxB,wBAAwB;AACtB,UAAO;IACL,OAAO;IACP,QAAQ;IACR,GAAG;IACH,GAAG;IACH,MAAM,UAAU;IAChB,KAAK,UAAU;IACf,OAAO;IACP,QAAQ;IACT;KAEJ,CAAC;IAEJ,CAAC,SAAS,UAAU,CACrB;AAED,EAAA,GAAA,MAAA,iBAAgB;AACd,MAAI,KAAK,SAAS,SAAS;GACzB,MAAM,WAAW,YAAY;AAC7B,YAAS,iBAAiB,aAAa,gBAAgB;GAEvD,MAAM,WAAA,GAAA,mBAAA,sBAA+B,KAAK,SAAS,QAAQ;AAC3D,WAAQ,SAAS,WAAW;AAC1B,WAAO,iBAAiB,UAAU,OAAO;KACzC;AAEF,gBAAa;AACX,aAAS,oBAAoB,aAAa,gBAAgB;AAC1D,YAAQ,SAAS,WAAW;AAC1B,YAAO,oBAAoB,UAAU,OAAO;MAC5C;;;IAKL;EAAC,SAAS;EAAW,KAAK,SAAS;EAAS;EAAQ;EAAiB;EAAO,CAAC;AAEhF,QAAO;EAAE;EAAiB;EAAG;EAAG;EAAQ;EAAW;EAAa,UAAU,KAAK;EAAa"}
1
+ {"version":3,"file":"use-floating-tooltip.cjs","names":[],"sources":["../../../../src/components/Tooltip/TooltipFloating/use-floating-tooltip.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { getOverflowAncestors, shift, useFloating } from '@floating-ui/react';\nimport { FloatingPosition } from '../../../utils/Floating';\n\ninterface UseFloatingTooltip {\n offset: number;\n position: FloatingPosition;\n defaultOpened?: boolean;\n}\n\nexport function useFloatingTooltip<T extends HTMLElement = any>({\n offset,\n position,\n defaultOpened,\n}: UseFloatingTooltip) {\n const [opened, setOpened] = useState(defaultOpened);\n const boundaryRef = useRef<T>(null);\n const { x, y, elements, refs, update, placement } = useFloating({\n placement: position,\n middleware: [\n shift({\n crossAxis: true,\n padding: 5,\n rootBoundary: 'document',\n }),\n ],\n });\n\n const horizontalOffset = placement.includes('right')\n ? offset\n : position.includes('left')\n ? offset * -1\n : 0;\n\n const verticalOffset = placement.includes('bottom')\n ? offset\n : position.includes('top')\n ? offset * -1\n : 0;\n\n const handleMouseMove = useCallback(\n ({ clientX, clientY }: MouseEvent | React.MouseEvent<T, MouseEvent>) => {\n refs.setPositionReference({\n getBoundingClientRect() {\n return {\n width: 0,\n height: 0,\n x: clientX,\n y: clientY,\n left: clientX + horizontalOffset,\n top: clientY + verticalOffset,\n right: clientX,\n bottom: clientY,\n };\n },\n });\n },\n [elements.reference]\n );\n\n useEffect(() => {\n if (refs.floating.current) {\n const boundary = boundaryRef.current!;\n boundary.addEventListener('mousemove', handleMouseMove);\n\n const parents = getOverflowAncestors(refs.floating.current);\n parents.forEach((parent) => {\n parent.addEventListener('scroll', update);\n });\n\n return () => {\n boundary.removeEventListener('mousemove', handleMouseMove);\n parents.forEach((parent) => {\n parent.removeEventListener('scroll', update);\n });\n };\n }\n\n return undefined;\n }, [elements.reference, refs.floating.current, update, handleMouseMove, opened]);\n\n return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating: refs.setFloating };\n}\n"],"mappings":";;;;;AAUA,SAAgB,mBAAgD,EAC9D,QACA,UACA,iBACqB;CACrB,MAAM,CAAC,QAAQ,cAAA,GAAA,MAAA,UAAsB,aAAa;CAClD,MAAM,eAAA,GAAA,MAAA,QAAwB,IAAI;CAClC,MAAM,EAAE,GAAG,GAAG,UAAU,MAAM,QAAQ,eAAA,GAAA,mBAAA,aAA0B;EAC9D,WAAW;EACX,YAAY,EAAA,GAAA,mBAAA,OACJ;GACJ,WAAW;GACX,SAAS;GACT,cAAc;EAChB,CAAC,CACH;CACF,CAAC;CAED,MAAM,mBAAmB,UAAU,SAAS,OAAO,IAC/C,SACA,SAAS,SAAS,MAAM,IACtB,SAAS,KACT;CAEN,MAAM,iBAAiB,UAAU,SAAS,QAAQ,IAC9C,SACA,SAAS,SAAS,KAAK,IACrB,SAAS,KACT;CAEN,MAAM,mBAAA,GAAA,MAAA,cACH,EAAE,SAAS,cAA4D;EACtE,KAAK,qBAAqB,EACxB,wBAAwB;GACtB,OAAO;IACL,OAAO;IACP,QAAQ;IACR,GAAG;IACH,GAAG;IACH,MAAM,UAAU;IAChB,KAAK,UAAU;IACf,OAAO;IACP,QAAQ;GACV;EACF,EACF,CAAC;CACH,GACA,CAAC,SAAS,SAAS,CACrB;CAEA,CAAA,GAAA,MAAA,iBAAgB;EACd,IAAI,KAAK,SAAS,SAAS;GACzB,MAAM,WAAW,YAAY;GAC7B,SAAS,iBAAiB,aAAa,eAAe;GAEtD,MAAM,WAAA,GAAA,mBAAA,sBAA+B,KAAK,SAAS,OAAO;GAC1D,QAAQ,SAAS,WAAW;IAC1B,OAAO,iBAAiB,UAAU,MAAM;GAC1C,CAAC;GAED,aAAa;IACX,SAAS,oBAAoB,aAAa,eAAe;IACzD,QAAQ,SAAS,WAAW;KAC1B,OAAO,oBAAoB,UAAU,MAAM;IAC7C,CAAC;GACH;EACF;CAGF,GAAG;EAAC,SAAS;EAAW,KAAK,SAAS;EAAS;EAAQ;EAAiB;CAAM,CAAC;CAE/E,OAAO;EAAE;EAAiB;EAAG;EAAG;EAAQ;EAAW;EAAa,UAAU,KAAK;CAAY;AAC7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipGroup.cjs","names":["useProps","FloatingDelayGroup"],"sources":["../../../../src/components/Tooltip/TooltipGroup/TooltipGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { ExtendComponent, Factory, MantineThemeComponent, useProps } from '../../../core';\n\nexport interface TooltipGroupContextValue {\n withinGroup: boolean;\n}\n\nexport const TooltipGroupContext = createContext<TooltipGroupContextValue>({ withinGroup: false });\n\nexport interface TooltipGroupProps {\n /** `Tooltip` components */\n children: React.ReactNode;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n}\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 0,\n} satisfies Partial<TooltipGroupProps>;\n\nexport function TooltipGroup(props: TooltipGroupProps) {\n const { openDelay, closeDelay, children } = useProps('TooltipGroup', defaultProps, props);\n\n return (\n <TooltipGroupContext value={{ withinGroup: true }}>\n <FloatingDelayGroup delay={{ open: openDelay, close: closeDelay }}>\n {children}\n </FloatingDelayGroup>\n </TooltipGroupContext>\n );\n}\n\nexport type TooltipGroupFactory = Factory<{\n props: TooltipGroupProps;\n}>;\n\nTooltipGroup.displayName = '@mantine/core/TooltipGroup';\nTooltipGroup.extend = (c: ExtendComponent<TooltipGroupFactory>): MantineThemeComponent => c;\n"],"mappings":";;;;;;;AAQA,MAAa,uBAAA,GAAA,MAAA,eAA8D,EAAE,aAAa,OAAO,CAAC;AAalG,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;CACb;AAED,SAAgB,aAAa,OAA0B;CACrD,MAAM,EAAE,WAAW,YAAY,aAAaA,kBAAAA,SAAS,gBAAgB,cAAc,MAAM;AAEzF,QACE,iBAAA,GAAA,kBAAA,KAAC,qBAAD;EAAqB,OAAO,EAAE,aAAa,MAAM;YAC/C,iBAAA,GAAA,kBAAA,KAACC,mBAAAA,oBAAD;GAAoB,OAAO;IAAE,MAAM;IAAW,OAAO;IAAY;GAC9D;GACkB,CAAA;EACD,CAAA;;AAQ1B,aAAa,cAAc;AAC3B,aAAa,UAAU,MAAmE"}
1
+ {"version":3,"file":"TooltipGroup.cjs","names":["useProps","FloatingDelayGroup"],"sources":["../../../../src/components/Tooltip/TooltipGroup/TooltipGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { ExtendComponent, Factory, MantineThemeComponent, useProps } from '../../../core';\n\nexport interface TooltipGroupContextValue {\n withinGroup: boolean;\n}\n\nexport const TooltipGroupContext = createContext<TooltipGroupContextValue>({ withinGroup: false });\n\nexport interface TooltipGroupProps {\n /** `Tooltip` components */\n children: React.ReactNode;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n}\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 0,\n} satisfies Partial<TooltipGroupProps>;\n\nexport function TooltipGroup(props: TooltipGroupProps) {\n const { openDelay, closeDelay, children } = useProps('TooltipGroup', defaultProps, props);\n\n return (\n <TooltipGroupContext value={{ withinGroup: true }}>\n <FloatingDelayGroup delay={{ open: openDelay, close: closeDelay }}>\n {children}\n </FloatingDelayGroup>\n </TooltipGroupContext>\n );\n}\n\nexport type TooltipGroupFactory = Factory<{\n props: TooltipGroupProps;\n}>;\n\nTooltipGroup.displayName = '@mantine/core/TooltipGroup';\nTooltipGroup.extend = (c: ExtendComponent<TooltipGroupFactory>): MantineThemeComponent => c;\n"],"mappings":";;;;;;;AAQA,MAAa,uBAAA,GAAA,MAAA,eAA8D,EAAE,aAAa,MAAM,CAAC;AAajG,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;AACd;AAEA,SAAgB,aAAa,OAA0B;CACrD,MAAM,EAAE,WAAW,YAAY,aAAaA,kBAAAA,SAAS,gBAAgB,cAAc,KAAK;CAExF,OACE,iBAAA,GAAA,kBAAA,KAAC,qBAAD;EAAqB,OAAO,EAAE,aAAa,KAAK;YAC9C,iBAAA,GAAA,kBAAA,KAACC,mBAAAA,oBAAD;GAAoB,OAAO;IAAE,MAAM;IAAW,OAAO;GAAW;GAC7D;EACiB,CAAA;CACD,CAAA;AAEzB;AAMA,aAAa,cAAc;AAC3B,aAAa,UAAU,MAAmE"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-tooltip.cjs","names":["TooltipGroupContext","autoUpdate"],"sources":["../../../src/components/Tooltip/use-tooltip.ts"],"sourcesContent":["import { use, useCallback, useState } from 'react';\nimport {\n arrow,\n autoUpdate,\n flip,\n inline,\n offset,\n shift,\n useDelayGroup,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n type Middleware,\n} from '@floating-ui/react';\nimport { useDidUpdate, useId } from '@mantine/hooks';\nimport { FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from '../../utils/Floating';\nimport { type TooltipMiddlewares } from './Tooltip.types';\nimport { TooltipGroupContext } from './TooltipGroup/TooltipGroup';\n\ninterface UseTooltip {\n position: FloatingPosition;\n closeDelay?: number;\n openDelay?: number;\n onPositionChange?: (position: FloatingPosition) => void;\n opened?: boolean;\n defaultOpened?: boolean;\n offset: number | FloatingAxesOffsets;\n arrowRef?: React.RefObject<HTMLDivElement | null>;\n arrowOffset?: number;\n events?: { hover: boolean; focus: boolean; touch: boolean };\n inline?: boolean;\n strategy?: FloatingStrategy;\n middlewares?: TooltipMiddlewares;\n}\n\nfunction getDefaultMiddlewares(middlewares: TooltipMiddlewares | undefined): TooltipMiddlewares {\n if (middlewares === undefined) {\n return { shift: true, flip: true };\n }\n\n const result = { ...middlewares };\n if (middlewares.shift === undefined) {\n result.shift = true;\n }\n\n if (middlewares.flip === undefined) {\n result.flip = true;\n }\n\n return result;\n}\n\nfunction getTooltipMiddlewares(settings: UseTooltip) {\n const middlewaresOptions = getDefaultMiddlewares(settings.middlewares);\n const middlewares: Middleware[] = [offset(settings.offset)];\n\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === 'boolean'\n ? { padding: 8 }\n : { padding: 8, ...middlewaresOptions.shift }\n )\n );\n }\n\n if (middlewaresOptions.flip) {\n middlewares.push(\n typeof middlewaresOptions.flip === 'boolean' ? flip() : flip(middlewaresOptions.flip)\n );\n }\n\n middlewares.push(arrow({ element: settings.arrowRef!, padding: settings.arrowOffset }));\n\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === 'boolean' ? inline() : inline(middlewaresOptions.inline)\n );\n } else if (settings.inline) {\n middlewares.push(inline());\n }\n\n return middlewares;\n}\n\nexport function useTooltip(settings: UseTooltip) {\n const [uncontrolledOpened, setUncontrolledOpened] = useState(settings.defaultOpened);\n const controlled = typeof settings.opened === 'boolean';\n const opened = controlled ? settings.opened : uncontrolledOpened;\n const withinGroup = use(TooltipGroupContext).withinGroup;\n const uid = useId();\n\n const onChange = useCallback(\n (_opened: boolean) => {\n setUncontrolledOpened(_opened);\n\n if (_opened) {\n setCurrentId(uid);\n }\n },\n [uid]\n );\n\n const {\n x,\n y,\n context,\n refs,\n placement,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useFloating({\n strategy: settings.strategy,\n placement: settings.position,\n open: opened,\n onOpenChange: onChange,\n middleware: getTooltipMiddlewares(settings),\n whileElementsMounted: autoUpdate,\n });\n\n const { delay: groupDelay, currentId, setCurrentId } = useDelayGroup(context, { id: uid });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n enabled: settings.events?.hover,\n delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },\n mouseOnly: !settings.events?.touch,\n }),\n useFocus(context, { enabled: settings.events?.focus, visibleOnly: true }),\n useRole(context, { role: 'tooltip' }),\n // Cannot be used with controlled tooltip, page jumps\n useDismiss(context, { enabled: typeof settings.opened === 'undefined' }),\n ]);\n\n useDidUpdate(() => {\n settings.onPositionChange?.(placement);\n }, [placement]);\n\n const isGroupPhase = opened && currentId && currentId !== uid;\n\n return {\n x,\n y,\n arrowX,\n arrowY,\n reference: refs.setReference,\n floating: refs.setFloating,\n getFloatingProps,\n getReferenceProps,\n isGroupPhase,\n opened,\n placement,\n };\n}\n"],"mappings":";;;;;;;AAsCA,SAAS,sBAAsB,aAAiE;AAC9F,KAAI,gBAAgB,KAAA,EAClB,QAAO;EAAE,OAAO;EAAM,MAAM;EAAM;CAGpC,MAAM,SAAS,EAAE,GAAG,aAAa;AACjC,KAAI,YAAY,UAAU,KAAA,EACxB,QAAO,QAAQ;AAGjB,KAAI,YAAY,SAAS,KAAA,EACvB,QAAO,OAAO;AAGhB,QAAO;;AAGT,SAAS,sBAAsB,UAAsB;CACnD,MAAM,qBAAqB,sBAAsB,SAAS,YAAY;CACtE,MAAM,cAA4B,EAAA,GAAA,mBAAA,QAAQ,SAAS,OAAO,CAAC;AAE3D,KAAI,mBAAmB,MACrB,aAAY,MAAA,GAAA,mBAAA,OAER,OAAO,mBAAmB,UAAU,YAChC,EAAE,SAAS,GAAG,GACd;EAAE,SAAS;EAAG,GAAG,mBAAmB;EAAO,CAChD,CACF;AAGH,KAAI,mBAAmB,KACrB,aAAY,KACV,OAAO,mBAAmB,SAAS,aAAA,GAAA,mBAAA,OAAkB,IAAA,GAAA,mBAAA,MAAQ,mBAAmB,KAAK,CACtF;AAGH,aAAY,MAAA,GAAA,mBAAA,OAAW;EAAE,SAAS,SAAS;EAAW,SAAS,SAAS;EAAa,CAAC,CAAC;AAEvF,KAAI,mBAAmB,OACrB,aAAY,KACV,OAAO,mBAAmB,WAAW,aAAA,GAAA,mBAAA,SAAoB,IAAA,GAAA,mBAAA,QAAU,mBAAmB,OAAO,CAC9F;UACQ,SAAS,OAClB,aAAY,MAAA,GAAA,mBAAA,SAAa,CAAC;AAG5B,QAAO;;AAGT,SAAgB,WAAW,UAAsB;CAC/C,MAAM,CAAC,oBAAoB,0BAAA,GAAA,MAAA,UAAkC,SAAS,cAAc;CAEpF,MAAM,SADa,OAAO,SAAS,WAAW,YAClB,SAAS,SAAS;CAC9C,MAAM,eAAA,GAAA,MAAA,KAAkBA,qBAAAA,oBAAoB,CAAC;CAC7C,MAAM,OAAA,GAAA,eAAA,QAAa;CAEnB,MAAM,YAAA,GAAA,MAAA,cACH,YAAqB;AACpB,wBAAsB,QAAQ;AAE9B,MAAI,QACF,cAAa,IAAI;IAGrB,CAAC,IAAI,CACN;CAED,MAAM,EACJ,GACA,GACA,SACA,MACA,WACA,gBAAgB,EAAE,OAAO,EAAE,GAAG,QAAQ,GAAG,WAAW,EAAE,QAAA,GAAA,mBAAA,aACxC;EACd,UAAU,SAAS;EACnB,WAAW,SAAS;EACpB,MAAM;EACN,cAAc;EACd,YAAY,sBAAsB,SAAS;EAC3C,sBAAsBC,mBAAAA;EACvB,CAAC;CAEF,MAAM,EAAE,OAAO,YAAY,WAAW,kBAAA,GAAA,mBAAA,eAA+B,SAAS,EAAE,IAAI,KAAK,CAAC;CAE1F,MAAM,EAAE,mBAAmB,sBAAA,GAAA,mBAAA,iBAAqC;mCACrD,SAAS;GAChB,SAAS,SAAS,QAAQ;GAC1B,OAAO,cAAc,aAAa;IAAE,MAAM,SAAS;IAAW,OAAO,SAAS;IAAY;GAC1F,WAAW,CAAC,SAAS,QAAQ;GAC9B,CAAC;mCACO,SAAS;GAAE,SAAS,SAAS,QAAQ;GAAO,aAAa;GAAM,CAAC;kCACjE,SAAS,EAAE,MAAM,WAAW,CAAC;qCAE1B,SAAS,EAAE,SAAS,OAAO,SAAS,WAAW,aAAa,CAAC;EACzE,CAAC;AAEF,EAAA,GAAA,eAAA,oBAAmB;AACjB,WAAS,mBAAmB,UAAU;IACrC,CAAC,UAAU,CAAC;CAEf,MAAM,eAAe,UAAU,aAAa,cAAc;AAE1D,QAAO;EACL;EACA;EACA;EACA;EACA,WAAW,KAAK;EAChB,UAAU,KAAK;EACf;EACA;EACA;EACA;EACA;EACD"}
1
+ {"version":3,"file":"use-tooltip.cjs","names":["TooltipGroupContext","autoUpdate"],"sources":["../../../src/components/Tooltip/use-tooltip.ts"],"sourcesContent":["import { use, useCallback, useState } from 'react';\nimport {\n arrow,\n autoUpdate,\n flip,\n inline,\n offset,\n shift,\n useDelayGroup,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n type Middleware,\n} from '@floating-ui/react';\nimport { useDidUpdate, useId } from '@mantine/hooks';\nimport { FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from '../../utils/Floating';\nimport { type TooltipMiddlewares } from './Tooltip.types';\nimport { TooltipGroupContext } from './TooltipGroup/TooltipGroup';\n\ninterface UseTooltip {\n position: FloatingPosition;\n closeDelay?: number;\n openDelay?: number;\n onPositionChange?: (position: FloatingPosition) => void;\n opened?: boolean;\n defaultOpened?: boolean;\n offset: number | FloatingAxesOffsets;\n arrowRef?: React.RefObject<HTMLDivElement | null>;\n arrowOffset?: number;\n events?: { hover: boolean; focus: boolean; touch: boolean };\n inline?: boolean;\n strategy?: FloatingStrategy;\n middlewares?: TooltipMiddlewares;\n}\n\nfunction getDefaultMiddlewares(middlewares: TooltipMiddlewares | undefined): TooltipMiddlewares {\n if (middlewares === undefined) {\n return { shift: true, flip: true };\n }\n\n const result = { ...middlewares };\n if (middlewares.shift === undefined) {\n result.shift = true;\n }\n\n if (middlewares.flip === undefined) {\n result.flip = true;\n }\n\n return result;\n}\n\nfunction getTooltipMiddlewares(settings: UseTooltip) {\n const middlewaresOptions = getDefaultMiddlewares(settings.middlewares);\n const middlewares: Middleware[] = [offset(settings.offset)];\n\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === 'boolean'\n ? { padding: 8 }\n : { padding: 8, ...middlewaresOptions.shift }\n )\n );\n }\n\n if (middlewaresOptions.flip) {\n middlewares.push(\n typeof middlewaresOptions.flip === 'boolean' ? flip() : flip(middlewaresOptions.flip)\n );\n }\n\n middlewares.push(arrow({ element: settings.arrowRef!, padding: settings.arrowOffset }));\n\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === 'boolean' ? inline() : inline(middlewaresOptions.inline)\n );\n } else if (settings.inline) {\n middlewares.push(inline());\n }\n\n return middlewares;\n}\n\nexport function useTooltip(settings: UseTooltip) {\n const [uncontrolledOpened, setUncontrolledOpened] = useState(settings.defaultOpened);\n const controlled = typeof settings.opened === 'boolean';\n const opened = controlled ? settings.opened : uncontrolledOpened;\n const withinGroup = use(TooltipGroupContext).withinGroup;\n const uid = useId();\n\n const onChange = useCallback(\n (_opened: boolean) => {\n setUncontrolledOpened(_opened);\n\n if (_opened) {\n setCurrentId(uid);\n }\n },\n [uid]\n );\n\n const {\n x,\n y,\n context,\n refs,\n placement,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useFloating({\n strategy: settings.strategy,\n placement: settings.position,\n open: opened,\n onOpenChange: onChange,\n middleware: getTooltipMiddlewares(settings),\n whileElementsMounted: autoUpdate,\n });\n\n const { delay: groupDelay, currentId, setCurrentId } = useDelayGroup(context, { id: uid });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n enabled: settings.events?.hover,\n delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },\n mouseOnly: !settings.events?.touch,\n }),\n useFocus(context, { enabled: settings.events?.focus, visibleOnly: true }),\n useRole(context, { role: 'tooltip' }),\n // Cannot be used with controlled tooltip, page jumps\n useDismiss(context, { enabled: typeof settings.opened === 'undefined' }),\n ]);\n\n useDidUpdate(() => {\n settings.onPositionChange?.(placement);\n }, [placement]);\n\n const isGroupPhase = opened && currentId && currentId !== uid;\n\n return {\n x,\n y,\n arrowX,\n arrowY,\n reference: refs.setReference,\n floating: refs.setFloating,\n getFloatingProps,\n getReferenceProps,\n isGroupPhase,\n opened,\n placement,\n };\n}\n"],"mappings":";;;;;;;AAsCA,SAAS,sBAAsB,aAAiE;CAC9F,IAAI,gBAAgB,KAAA,GAClB,OAAO;EAAE,OAAO;EAAM,MAAM;CAAK;CAGnC,MAAM,SAAS,EAAE,GAAG,YAAY;CAChC,IAAI,YAAY,UAAU,KAAA,GACxB,OAAO,QAAQ;CAGjB,IAAI,YAAY,SAAS,KAAA,GACvB,OAAO,OAAO;CAGhB,OAAO;AACT;AAEA,SAAS,sBAAsB,UAAsB;CACnD,MAAM,qBAAqB,sBAAsB,SAAS,WAAW;CACrE,MAAM,cAA4B,EAAA,GAAA,mBAAA,QAAQ,SAAS,MAAM,CAAC;CAE1D,IAAI,mBAAmB,OACrB,YAAY,MAAA,GAAA,mBAAA,OAER,OAAO,mBAAmB,UAAU,YAChC,EAAE,SAAS,EAAE,IACb;EAAE,SAAS;EAAG,GAAG,mBAAmB;CAAM,CAChD,CACF;CAGF,IAAI,mBAAmB,MACrB,YAAY,KACV,OAAO,mBAAmB,SAAS,aAAA,GAAA,mBAAA,MAAiB,KAAA,GAAA,mBAAA,MAAS,mBAAmB,IAAI,CACtF;CAGF,YAAY,MAAA,GAAA,mBAAA,OAAW;EAAE,SAAS,SAAS;EAAW,SAAS,SAAS;CAAY,CAAC,CAAC;CAEtF,IAAI,mBAAmB,QACrB,YAAY,KACV,OAAO,mBAAmB,WAAW,aAAA,GAAA,mBAAA,QAAmB,KAAA,GAAA,mBAAA,QAAW,mBAAmB,MAAM,CAC9F;MACK,IAAI,SAAS,QAClB,YAAY,MAAA,GAAA,mBAAA,QAAY,CAAC;CAG3B,OAAO;AACT;AAEA,SAAgB,WAAW,UAAsB;CAC/C,MAAM,CAAC,oBAAoB,0BAAA,GAAA,MAAA,UAAkC,SAAS,aAAa;CAEnF,MAAM,SADa,OAAO,SAAS,WAAW,YAClB,SAAS,SAAS;CAC9C,MAAM,eAAA,GAAA,MAAA,KAAkBA,qBAAAA,mBAAmB,EAAE;CAC7C,MAAM,OAAA,GAAA,eAAA,OAAY;CAElB,MAAM,YAAA,GAAA,MAAA,cACH,YAAqB;EACpB,sBAAsB,OAAO;EAE7B,IAAI,SACF,aAAa,GAAG;CAEpB,GACA,CAAC,GAAG,CACN;CAEA,MAAM,EACJ,GACA,GACA,SACA,MACA,WACA,gBAAgB,EAAE,OAAO,EAAE,GAAG,QAAQ,GAAG,WAAW,CAAC,SAAA,GAAA,mBAAA,aACvC;EACd,UAAU,SAAS;EACnB,WAAW,SAAS;EACpB,MAAM;EACN,cAAc;EACd,YAAY,sBAAsB,QAAQ;EAC1C,sBAAsBC,mBAAAA;CACxB,CAAC;CAED,MAAM,EAAE,OAAO,YAAY,WAAW,kBAAA,GAAA,mBAAA,eAA+B,SAAS,EAAE,IAAI,IAAI,CAAC;CAEzF,MAAM,EAAE,mBAAmB,sBAAA,GAAA,mBAAA,iBAAqC;mCACrD,SAAS;GAChB,SAAS,SAAS,QAAQ;GAC1B,OAAO,cAAc,aAAa;IAAE,MAAM,SAAS;IAAW,OAAO,SAAS;GAAW;GACzF,WAAW,CAAC,SAAS,QAAQ;EAC/B,CAAC;mCACQ,SAAS;GAAE,SAAS,SAAS,QAAQ;GAAO,aAAa;EAAK,CAAC;kCAChE,SAAS,EAAE,MAAM,UAAU,CAAC;qCAEzB,SAAS,EAAE,SAAS,OAAO,SAAS,WAAW,YAAY,CAAC;CACzE,CAAC;CAED,CAAA,GAAA,eAAA,oBAAmB;EACjB,SAAS,mBAAmB,SAAS;CACvC,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,eAAe,UAAU,aAAa,cAAc;CAE1D,OAAO;EACL;EACA;EACA;EACA;EACA,WAAW,KAAK;EAChB,UAAU,KAAK;EACf;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transition.cjs","names":["useMantineEnv","useTransition","Activity","getTransitionStyles"],"sources":["../../../src/components/Transition/Transition.tsx"],"sourcesContent":["import { Activity } from 'react';\nimport { useMantineEnv } from '../../core';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { MantineTransition } from './transitions';\nimport { useTransition } from './use-transition';\n\nexport interface TransitionProps {\n /** If set, the element is kept in the DOM when hidden. React 19 `Activity` is used to preserve state while the element is not visible. */\n keepMounted?: boolean;\n\n /** Transition name or object */\n transition?: MantineTransition;\n\n /** Transition duration in ms @default 250 */\n duration?: number;\n\n /** Exit transition duration in ms @default 250 */\n exitDuration?: number;\n\n /** Transition timing function @default theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** Determines whether component should be mounted to the DOM */\n mounted: boolean;\n\n /** Render function with transition styles argument */\n children: (styles: React.CSSProperties) => React.JSX.Element;\n\n /** Called when exit transition ends */\n onExited?: () => void;\n\n /** Called when exit transition starts */\n onExit?: () => void;\n\n /** Called when enter transition starts */\n onEnter?: () => void;\n\n /** Called when enter transition ends */\n onEntered?: () => void;\n\n /** Delay in ms before enter transition starts */\n enterDelay?: number;\n\n /** Delay in ms before exit transition starts */\n exitDelay?: number;\n}\n\nexport type TransitionOverride = Partial<Omit<TransitionProps, 'mounted'>>;\n\nexport function Transition({\n keepMounted,\n transition = 'fade',\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction = 'ease',\n onExit,\n onEntered,\n onEnter,\n onExited,\n enterDelay,\n exitDelay,\n}: TransitionProps) {\n const env = useMantineEnv();\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n exitDuration,\n duration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n enterDelay,\n exitDelay,\n });\n\n if (env === 'test') {\n return mounted ? <>{children({})}</> : keepMounted ? children({ display: 'none' }) : null;\n }\n\n if (transitionDuration === 0) {\n if (keepMounted) {\n return <Activity mode={mounted ? 'visible' : 'hidden'}>{children({})}</Activity>;\n }\n return mounted ? <>{children({})}</> : null;\n }\n\n const isExited = transitionStatus === 'exited';\n\n if (keepMounted) {\n return (\n <Activity mode={isExited ? 'hidden' : 'visible'}>\n {children(\n isExited\n ? {}\n : getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </Activity>\n );\n }\n\n return isExited ? null : (\n <>\n {children(\n getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </>\n );\n}\n\nTransition.displayName = '@mantine/core/Transition';\n\nexport namespace Transition {\n export type Props = TransitionProps;\n export type Override = TransitionOverride;\n}\n"],"mappings":";;;;;;;;AAiDA,SAAgB,WAAW,EACzB,aACA,aAAa,QACb,WAAW,KACX,eAAe,UACf,SACA,UACA,iBAAiB,QACjB,QACA,WACA,SACA,UACA,YACA,aACkB;CAClB,MAAM,MAAMA,wBAAAA,eAAe;CAC3B,MAAM,EAAE,oBAAoB,kBAAkB,6BAA6BC,uBAAAA,cAAc;EACvF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,KAAI,QAAQ,OACV,QAAO,UAAU,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,SAAS,EAAE,CAAC,EAAI,CAAA,GAAG,cAAc,SAAS,EAAE,SAAS,QAAQ,CAAC,GAAG;AAGvF,KAAI,uBAAuB,GAAG;AAC5B,MAAI,YACF,QAAO,iBAAA,GAAA,kBAAA,KAACC,MAAAA,UAAD;GAAU,MAAM,UAAU,YAAY;aAAW,SAAS,EAAE,CAAC;GAAY,CAAA;AAElF,SAAO,UAAU,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,SAAS,EAAE,CAAC,EAAI,CAAA,GAAG;;CAGzC,MAAM,WAAW,qBAAqB;AAEtC,KAAI,YACF,QACE,iBAAA,GAAA,kBAAA,KAACA,MAAAA,UAAD;EAAU,MAAM,WAAW,WAAW;YACnC,SACC,WACI,EAAE,GACFC,8BAAAA,oBAAoB;GAClB;GACA,UAAU;GACV,OAAO;GACP,gBAAgB;GACjB,CAAC,CACP;EACQ,CAAA;AAIf,QAAO,WAAW,OAChB,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UACG,SACCA,8BAAAA,oBAAoB;EAClB;EACA,UAAU;EACV,OAAO;EACP,gBAAgB;EACjB,CAAC,CACH,EACA,CAAA;;AAIP,WAAW,cAAc"}
1
+ {"version":3,"file":"Transition.cjs","names":["useMantineEnv","useTransition","Activity","getTransitionStyles"],"sources":["../../../src/components/Transition/Transition.tsx"],"sourcesContent":["import { Activity } from 'react';\nimport { useMantineEnv } from '../../core';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { MantineTransition } from './transitions';\nimport { useTransition } from './use-transition';\n\nexport interface TransitionProps {\n /** If set, the element is kept in the DOM when hidden. React 19 `Activity` is used to preserve state while the element is not visible. */\n keepMounted?: boolean;\n\n /** Transition name or object */\n transition?: MantineTransition;\n\n /** Transition duration in ms @default 250 */\n duration?: number;\n\n /** Exit transition duration in ms @default 250 */\n exitDuration?: number;\n\n /** Transition timing function @default theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** Determines whether component should be mounted to the DOM */\n mounted: boolean;\n\n /** Render function with transition styles argument */\n children: (styles: React.CSSProperties) => React.JSX.Element;\n\n /** Called when exit transition ends */\n onExited?: () => void;\n\n /** Called when exit transition starts */\n onExit?: () => void;\n\n /** Called when enter transition starts */\n onEnter?: () => void;\n\n /** Called when enter transition ends */\n onEntered?: () => void;\n\n /** Delay in ms before enter transition starts */\n enterDelay?: number;\n\n /** Delay in ms before exit transition starts */\n exitDelay?: number;\n}\n\nexport type TransitionOverride = Partial<Omit<TransitionProps, 'mounted'>>;\n\nexport function Transition({\n keepMounted,\n transition = 'fade',\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction = 'ease',\n onExit,\n onEntered,\n onEnter,\n onExited,\n enterDelay,\n exitDelay,\n}: TransitionProps) {\n const env = useMantineEnv();\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n exitDuration,\n duration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n enterDelay,\n exitDelay,\n });\n\n if (env === 'test') {\n return mounted ? <>{children({})}</> : keepMounted ? children({ display: 'none' }) : null;\n }\n\n if (transitionDuration === 0) {\n if (keepMounted) {\n return <Activity mode={mounted ? 'visible' : 'hidden'}>{children({})}</Activity>;\n }\n return mounted ? <>{children({})}</> : null;\n }\n\n const isExited = transitionStatus === 'exited';\n\n if (keepMounted) {\n return (\n <Activity mode={isExited ? 'hidden' : 'visible'}>\n {children(\n isExited\n ? {}\n : getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </Activity>\n );\n }\n\n return isExited ? null : (\n <>\n {children(\n getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </>\n );\n}\n\nTransition.displayName = '@mantine/core/Transition';\n\nexport namespace Transition {\n export type Props = TransitionProps;\n export type Override = TransitionOverride;\n}\n"],"mappings":";;;;;;;;AAiDA,SAAgB,WAAW,EACzB,aACA,aAAa,QACb,WAAW,KACX,eAAe,UACf,SACA,UACA,iBAAiB,QACjB,QACA,WACA,SACA,UACA,YACA,aACkB;CAClB,MAAM,MAAMA,wBAAAA,cAAc;CAC1B,MAAM,EAAE,oBAAoB,kBAAkB,6BAA6BC,uBAAAA,cAAc;EACvF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,IAAI,QAAQ,QACV,OAAO,UAAU,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,SAAS,CAAC,CAAC,EAAI,CAAA,IAAI,cAAc,SAAS,EAAE,SAAS,OAAO,CAAC,IAAI;CAGvF,IAAI,uBAAuB,GAAG;EAC5B,IAAI,aACF,OAAO,iBAAA,GAAA,kBAAA,KAACC,MAAAA,UAAD;GAAU,MAAM,UAAU,YAAY;aAAW,SAAS,CAAC,CAAC;EAAY,CAAA;EAEjF,OAAO,UAAU,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAAG,SAAS,CAAC,CAAC,EAAI,CAAA,IAAI;CACzC;CAEA,MAAM,WAAW,qBAAqB;CAEtC,IAAI,aACF,OACE,iBAAA,GAAA,kBAAA,KAACA,MAAAA,UAAD;EAAU,MAAM,WAAW,WAAW;YACnC,SACC,WACI,CAAC,IACDC,8BAAAA,oBAAoB;GAClB;GACA,UAAU;GACV,OAAO;GACP,gBAAgB;EAClB,CAAC,CACP;CACQ,CAAA;CAId,OAAO,WAAW,OAChB,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UACG,SACCA,8BAAAA,oBAAoB;EAClB;EACA,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB,CAAC,CACH,EACA,CAAA;AAEN;AAEA,WAAW,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-transition-props.cjs","names":[],"sources":["../../../../src/components/Transition/get-transition-props/get-transition-props.ts"],"sourcesContent":["import type { SetRequired } from 'type-fest';\nimport type { TransitionOverride } from '../Transition';\n\ntype MinimalTransitionOverride = SetRequired<TransitionOverride, 'duration' | 'transition'>;\n\nconst defaultTransition: MinimalTransitionOverride = {\n duration: 100,\n transition: 'fade',\n};\n\nexport function getTransitionProps(\n transitionProps: TransitionOverride | undefined,\n componentTransition: TransitionOverride | undefined\n): MinimalTransitionOverride {\n return { ...defaultTransition, ...componentTransition, ...transitionProps };\n}\n"],"mappings":";;AAKA,MAAM,oBAA+C;CACnD,UAAU;CACV,YAAY;CACb;AAED,SAAgB,mBACd,iBACA,qBAC2B;AAC3B,QAAO;EAAE,GAAG;EAAmB,GAAG;EAAqB,GAAG;EAAiB"}
1
+ {"version":3,"file":"get-transition-props.cjs","names":[],"sources":["../../../../src/components/Transition/get-transition-props/get-transition-props.ts"],"sourcesContent":["import type { SetRequired } from 'type-fest';\nimport type { TransitionOverride } from '../Transition';\n\ntype MinimalTransitionOverride = SetRequired<TransitionOverride, 'duration' | 'transition'>;\n\nconst defaultTransition: MinimalTransitionOverride = {\n duration: 100,\n transition: 'fade',\n};\n\nexport function getTransitionProps(\n transitionProps: TransitionOverride | undefined,\n componentTransition: TransitionOverride | undefined\n): MinimalTransitionOverride {\n return { ...defaultTransition, ...componentTransition, ...transitionProps };\n}\n"],"mappings":";;AAKA,MAAM,oBAA+C;CACnD,UAAU;CACV,YAAY;AACd;AAEA,SAAgB,mBACd,iBACA,qBAC2B;CAC3B,OAAO;EAAE,GAAG;EAAmB,GAAG;EAAqB,GAAG;CAAgB;AAC5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-transition-styles.cjs","names":["transitions"],"sources":["../../../../src/components/Transition/get-transition-styles/get-transition-styles.ts"],"sourcesContent":["import { MantineTransition, transitions } from '../transitions';\n\nconst transitionStatuses = {\n entering: 'in',\n entered: 'in',\n exiting: 'out',\n exited: 'out',\n 'pre-exiting': 'out',\n 'pre-entering': 'out',\n} as const;\n\nexport function getTransitionStyles({\n transition,\n state,\n duration,\n timingFunction,\n}: {\n transition: MantineTransition;\n state: keyof typeof transitionStatuses;\n duration: number;\n timingFunction: React.CSSProperties['transitionTimingFunction'];\n}): React.CSSProperties {\n const shared: React.CSSProperties = {\n WebkitBackfaceVisibility: 'hidden',\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: timingFunction,\n };\n\n if (typeof transition === 'string') {\n if (!(transition in transitions)) {\n return {};\n }\n\n return {\n transitionProperty: transitions[transition].transitionProperty,\n ...shared,\n ...transitions[transition].common,\n ...transitions[transition][transitionStatuses[state]],\n };\n }\n\n return {\n transitionProperty: transition.transitionProperty,\n ...shared,\n ...transition.common,\n ...transition[transitionStatuses[state]],\n };\n}\n"],"mappings":";;;AAEA,MAAM,qBAAqB;CACzB,UAAU;CACV,SAAS;CACT,SAAS;CACT,QAAQ;CACR,eAAe;CACf,gBAAgB;CACjB;AAED,SAAgB,oBAAoB,EAClC,YACA,OACA,UACA,kBAMsB;CACtB,MAAM,SAA8B;EAClC,0BAA0B;EAC1B,oBAAoB,GAAG,SAAS;EAChC,0BAA0B;EAC3B;AAED,KAAI,OAAO,eAAe,UAAU;AAClC,MAAI,EAAE,cAAcA,oBAAAA,aAClB,QAAO,EAAE;AAGX,SAAO;GACL,oBAAoBA,oBAAAA,YAAY,YAAY;GAC5C,GAAG;GACH,GAAGA,oBAAAA,YAAY,YAAY;GAC3B,GAAGA,oBAAAA,YAAY,YAAY,mBAAmB;GAC/C;;AAGH,QAAO;EACL,oBAAoB,WAAW;EAC/B,GAAG;EACH,GAAG,WAAW;EACd,GAAG,WAAW,mBAAmB;EAClC"}
1
+ {"version":3,"file":"get-transition-styles.cjs","names":["transitions"],"sources":["../../../../src/components/Transition/get-transition-styles/get-transition-styles.ts"],"sourcesContent":["import { MantineTransition, transitions } from '../transitions';\n\nconst transitionStatuses = {\n entering: 'in',\n entered: 'in',\n exiting: 'out',\n exited: 'out',\n 'pre-exiting': 'out',\n 'pre-entering': 'out',\n} as const;\n\nexport function getTransitionStyles({\n transition,\n state,\n duration,\n timingFunction,\n}: {\n transition: MantineTransition;\n state: keyof typeof transitionStatuses;\n duration: number;\n timingFunction: React.CSSProperties['transitionTimingFunction'];\n}): React.CSSProperties {\n const shared: React.CSSProperties = {\n WebkitBackfaceVisibility: 'hidden',\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: timingFunction,\n };\n\n if (typeof transition === 'string') {\n if (!(transition in transitions)) {\n return {};\n }\n\n return {\n transitionProperty: transitions[transition].transitionProperty,\n ...shared,\n ...transitions[transition].common,\n ...transitions[transition][transitionStatuses[state]],\n };\n }\n\n return {\n transitionProperty: transition.transitionProperty,\n ...shared,\n ...transition.common,\n ...transition[transitionStatuses[state]],\n };\n}\n"],"mappings":";;;AAEA,MAAM,qBAAqB;CACzB,UAAU;CACV,SAAS;CACT,SAAS;CACT,QAAQ;CACR,eAAe;CACf,gBAAgB;AAClB;AAEA,SAAgB,oBAAoB,EAClC,YACA,OACA,UACA,kBAMsB;CACtB,MAAM,SAA8B;EAClC,0BAA0B;EAC1B,oBAAoB,GAAG,SAAS;EAChC,0BAA0B;CAC5B;CAEA,IAAI,OAAO,eAAe,UAAU;EAClC,IAAI,EAAE,cAAcA,oBAAAA,cAClB,OAAO,CAAC;EAGV,OAAO;GACL,oBAAoBA,oBAAAA,YAAY,YAAY;GAC5C,GAAG;GACH,GAAGA,oBAAAA,YAAY,YAAY;GAC3B,GAAGA,oBAAAA,YAAY,YAAY,mBAAmB;EAChD;CACF;CAEA,OAAO;EACL,oBAAoB,WAAW;EAC/B,GAAG;EACH,GAAG,WAAW;EACd,GAAG,WAAW,mBAAmB;CACnC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.cjs","names":[],"sources":["../../../src/components/Transition/transitions.ts"],"sourcesContent":["export interface MantineTransitionStyles {\n common?: React.CSSProperties;\n in: React.CSSProperties;\n out: React.CSSProperties;\n transitionProperty: React.CSSProperties['transitionProperty'];\n}\n\nexport type MantineTransitionName =\n | 'fade'\n | 'fade-down'\n | 'fade-up'\n | 'fade-left'\n | 'fade-right'\n | 'skew-up'\n | 'skew-down'\n | 'rotate-right'\n | 'rotate-left'\n | 'slide-down'\n | 'slide-up'\n | 'slide-right'\n | 'slide-left'\n | 'scale-y'\n | 'scale-x'\n | 'scale'\n | 'pop'\n | 'pop-top-left'\n | 'pop-top-right'\n | 'pop-bottom-left'\n | 'pop-bottom-right';\n\nexport type MantineTransition = MantineTransitionName | MantineTransitionStyles;\n\nconst popIn = (from: 'top' | 'bottom') => ({\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: `scale(.9) translateY(${from === 'bottom' ? 10 : -10}px)` },\n transitionProperty: 'transform, opacity',\n});\n\nexport const transitions: Record<MantineTransitionName, MantineTransitionStyles> = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: 'opacity',\n },\n\n 'fade-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n scale: {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-y': {\n in: { opacity: 1, transform: 'scaleY(1)' },\n out: { opacity: 0, transform: 'scaleY(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-x': {\n in: { opacity: 1, transform: 'scaleX(1)' },\n out: { opacity: 0, transform: 'scaleX(0)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-up': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(-20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-down': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-left': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(-5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-right': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-100%)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(100%)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(100%)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-100%)' },\n common: { transformOrigin: 'right' },\n transitionProperty: 'transform, opacity',\n },\n\n pop: {\n ...popIn('bottom'),\n common: { transformOrigin: 'center center' },\n },\n\n 'pop-bottom-left': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom left' },\n },\n\n 'pop-bottom-right': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom right' },\n },\n\n 'pop-top-left': {\n ...popIn('top'),\n common: { transformOrigin: 'top left' },\n },\n\n 'pop-top-right': {\n ...popIn('top'),\n common: { transformOrigin: 'top right' },\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"transitions.cjs","names":[],"sources":["../../../src/components/Transition/transitions.ts"],"sourcesContent":["export interface MantineTransitionStyles {\n common?: React.CSSProperties;\n in: React.CSSProperties;\n out: React.CSSProperties;\n transitionProperty: React.CSSProperties['transitionProperty'];\n}\n\nexport type MantineTransitionName =\n | 'fade'\n | 'fade-down'\n | 'fade-up'\n | 'fade-left'\n | 'fade-right'\n | 'skew-up'\n | 'skew-down'\n | 'rotate-right'\n | 'rotate-left'\n | 'slide-down'\n | 'slide-up'\n | 'slide-right'\n | 'slide-left'\n | 'scale-y'\n | 'scale-x'\n | 'scale'\n | 'pop'\n | 'pop-top-left'\n | 'pop-top-right'\n | 'pop-bottom-left'\n | 'pop-bottom-right';\n\nexport type MantineTransition = MantineTransitionName | MantineTransitionStyles;\n\nconst popIn = (from: 'top' | 'bottom') => ({\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: `scale(.9) translateY(${from === 'bottom' ? 10 : -10}px)` },\n transitionProperty: 'transform, opacity',\n});\n\nexport const transitions: Record<MantineTransitionName, MantineTransitionStyles> = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: 'opacity',\n },\n\n 'fade-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n 'fade-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-30px)' },\n transitionProperty: 'opacity, transform',\n },\n\n scale: {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-y': {\n in: { opacity: 1, transform: 'scaleY(1)' },\n out: { opacity: 0, transform: 'scaleY(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-x': {\n in: { opacity: 1, transform: 'scaleX(1)' },\n out: { opacity: 0, transform: 'scaleX(0)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-up': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(-20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-down': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) skew(-10deg, -5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-left': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(-5deg)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-right': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: 'translateY(20px) rotate(5deg)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-100%)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(100%)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(100%)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-100%)' },\n common: { transformOrigin: 'right' },\n transitionProperty: 'transform, opacity',\n },\n\n pop: {\n ...popIn('bottom'),\n common: { transformOrigin: 'center center' },\n },\n\n 'pop-bottom-left': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom left' },\n },\n\n 'pop-bottom-right': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom right' },\n },\n\n 'pop-top-left': {\n ...popIn('top'),\n common: { transformOrigin: 'top left' },\n },\n\n 'pop-top-right': {\n ...popIn('top'),\n common: { transformOrigin: 'top right' },\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-transition.cjs","names":["useMantineTheme"],"sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useDidUpdate, useReducedMotion } from '@mantine/hooks';\nimport { useMantineTheme } from '../../core';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?: () => void;\n onExit?: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n enterDelay?: number;\n exitDelay?: number;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n enterDelay,\n exitDelay,\n}: UseTransition) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const [transitionStatus, setStatus] = useState<TransitionStatus>(mounted ? 'entered' : 'exited');\n const transitionTimeoutRef = useRef<number>(-1);\n const delayTimeoutRef = useRef<number>(-1);\n const rafRef = useRef(-1);\n\n function clearAllTimeouts() {\n window.clearTimeout(transitionTimeoutRef.current);\n window.clearTimeout(delayTimeoutRef.current);\n cancelAnimationFrame(rafRef.current);\n }\n\n const handleStateChange = (shouldMount: boolean) => {\n clearAllTimeouts();\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(newTransitionDuration);\n\n if (newTransitionDuration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n rafRef.current = requestAnimationFrame(() => {\n ReactDOM.flushSync(() => {\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n });\n rafRef.current = requestAnimationFrame(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n transitionTimeoutRef.current = window.setTimeout(() => {\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, newTransitionDuration);\n });\n });\n }\n };\n\n const handleTransitionWithDelay = (shouldMount: boolean) => {\n clearAllTimeouts();\n const delay = shouldMount ? enterDelay : exitDelay;\n if (typeof delay !== 'number') {\n handleStateChange(shouldMount);\n return;\n }\n delayTimeoutRef.current = window.setTimeout(\n () => {\n handleStateChange(shouldMount);\n },\n shouldMount ? enterDelay : exitDelay\n );\n };\n\n useDidUpdate(() => {\n handleTransitionWithDelay(mounted);\n }, [mounted]);\n\n useEffect(\n () => () => {\n clearAllTimeouts();\n },\n []\n );\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || 'ease',\n };\n}\n"],"mappings":";;;;;;;;AA0BA,SAAgB,cAAc,EAC5B,UACA,cACA,gBACA,SACA,SACA,QACA,WACA,UACA,YACA,aACgB;CAChB,MAAM,QAAQA,6BAAAA,iBAAiB;CAC/B,MAAM,sBAAA,GAAA,eAAA,mBAAuC;CAC7C,MAAM,eAAe,MAAM,uBAAuB,qBAAqB;CACvE,MAAM,CAAC,oBAAoB,0BAAA,GAAA,MAAA,UAAkC,eAAe,IAAI,SAAS;CACzF,MAAM,CAAC,kBAAkB,cAAA,GAAA,MAAA,UAAwC,UAAU,YAAY,SAAS;CAChG,MAAM,wBAAA,GAAA,MAAA,QAAsC,GAAG;CAC/C,MAAM,mBAAA,GAAA,MAAA,QAAiC,GAAG;CAC1C,MAAM,UAAA,GAAA,MAAA,QAAgB,GAAG;CAEzB,SAAS,mBAAmB;AAC1B,SAAO,aAAa,qBAAqB,QAAQ;AACjD,SAAO,aAAa,gBAAgB,QAAQ;AAC5C,uBAAqB,OAAO,QAAQ;;CAGtC,MAAM,qBAAqB,gBAAyB;AAClD,oBAAkB;EAClB,MAAM,aAAa,cAAc,UAAU;EAC3C,MAAM,UAAU,cAAc,YAAY;EAC1C,MAAM,wBAAwB,eAAe,IAAI,cAAc,WAAW;AAC1E,wBAAsB,sBAAsB;AAE5C,MAAI,0BAA0B,GAAG;AAC/B,UAAO,eAAe,cAAc,YAAY;AAChD,UAAO,YAAY,cAAc,SAAS;AAC1C,aAAU,cAAc,YAAY,SAAS;QAE7C,QAAO,UAAU,4BAA4B;AAC3C,aAAA,QAAS,gBAAgB;AACvB,cAAU,cAAc,iBAAiB,cAAc;KACvD;AACF,UAAO,UAAU,4BAA4B;AAC3C,WAAO,eAAe,cAAc,YAAY;AAChD,cAAU,cAAc,aAAa,UAAU;AAC/C,yBAAqB,UAAU,OAAO,iBAAiB;AACrD,YAAO,YAAY,cAAc,SAAS;AAC1C,eAAU,cAAc,YAAY,SAAS;OAC5C,sBAAsB;KACzB;IACF;;CAIN,MAAM,6BAA6B,gBAAyB;AAC1D,oBAAkB;AAElB,MAAI,QADU,cAAc,aAAa,eACpB,UAAU;AAC7B,qBAAkB,YAAY;AAC9B;;AAEF,kBAAgB,UAAU,OAAO,iBACzB;AACJ,qBAAkB,YAAY;KAEhC,cAAc,aAAa,UAC5B;;AAGH,EAAA,GAAA,eAAA,oBAAmB;AACjB,4BAA0B,QAAQ;IACjC,CAAC,QAAQ,CAAC;AAEb,EAAA,GAAA,MAAA,uBACc;AACV,oBAAkB;IAEpB,EAAE,CACH;AAED,QAAO;EACL;EACA;EACA,0BAA0B,kBAAkB;EAC7C"}
1
+ {"version":3,"file":"use-transition.cjs","names":["useMantineTheme"],"sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useDidUpdate, useReducedMotion } from '@mantine/hooks';\nimport { useMantineTheme } from '../../core';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?: () => void;\n onExit?: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n enterDelay?: number;\n exitDelay?: number;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n enterDelay,\n exitDelay,\n}: UseTransition) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const [transitionStatus, setStatus] = useState<TransitionStatus>(mounted ? 'entered' : 'exited');\n const transitionTimeoutRef = useRef<number>(-1);\n const delayTimeoutRef = useRef<number>(-1);\n const rafRef = useRef(-1);\n\n function clearAllTimeouts() {\n window.clearTimeout(transitionTimeoutRef.current);\n window.clearTimeout(delayTimeoutRef.current);\n cancelAnimationFrame(rafRef.current);\n }\n\n const handleStateChange = (shouldMount: boolean) => {\n clearAllTimeouts();\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(newTransitionDuration);\n\n if (newTransitionDuration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n rafRef.current = requestAnimationFrame(() => {\n ReactDOM.flushSync(() => {\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n });\n rafRef.current = requestAnimationFrame(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n transitionTimeoutRef.current = window.setTimeout(() => {\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, newTransitionDuration);\n });\n });\n }\n };\n\n const handleTransitionWithDelay = (shouldMount: boolean) => {\n clearAllTimeouts();\n const delay = shouldMount ? enterDelay : exitDelay;\n if (typeof delay !== 'number') {\n handleStateChange(shouldMount);\n return;\n }\n delayTimeoutRef.current = window.setTimeout(\n () => {\n handleStateChange(shouldMount);\n },\n shouldMount ? enterDelay : exitDelay\n );\n };\n\n useDidUpdate(() => {\n handleTransitionWithDelay(mounted);\n }, [mounted]);\n\n useEffect(\n () => () => {\n clearAllTimeouts();\n },\n []\n );\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || 'ease',\n };\n}\n"],"mappings":";;;;;;;;AA0BA,SAAgB,cAAc,EAC5B,UACA,cACA,gBACA,SACA,SACA,QACA,WACA,UACA,YACA,aACgB;CAChB,MAAM,QAAQA,6BAAAA,gBAAgB;CAC9B,MAAM,sBAAA,GAAA,eAAA,kBAAsC;CAC5C,MAAM,eAAe,MAAM,uBAAuB,qBAAqB;CACvE,MAAM,CAAC,oBAAoB,0BAAA,GAAA,MAAA,UAAkC,eAAe,IAAI,QAAQ;CACxF,MAAM,CAAC,kBAAkB,cAAA,GAAA,MAAA,UAAwC,UAAU,YAAY,QAAQ;CAC/F,MAAM,wBAAA,GAAA,MAAA,QAAsC,EAAE;CAC9C,MAAM,mBAAA,GAAA,MAAA,QAAiC,EAAE;CACzC,MAAM,UAAA,GAAA,MAAA,QAAgB,EAAE;CAExB,SAAS,mBAAmB;EAC1B,OAAO,aAAa,qBAAqB,OAAO;EAChD,OAAO,aAAa,gBAAgB,OAAO;EAC3C,qBAAqB,OAAO,OAAO;CACrC;CAEA,MAAM,qBAAqB,gBAAyB;EAClD,iBAAiB;EACjB,MAAM,aAAa,cAAc,UAAU;EAC3C,MAAM,UAAU,cAAc,YAAY;EAC1C,MAAM,wBAAwB,eAAe,IAAI,cAAc,WAAW;EAC1E,sBAAsB,qBAAqB;EAE3C,IAAI,0BAA0B,GAAG;GAC/B,OAAO,eAAe,cAAc,WAAW;GAC/C,OAAO,YAAY,cAAc,QAAQ;GACzC,UAAU,cAAc,YAAY,QAAQ;EAC9C,OACE,OAAO,UAAU,4BAA4B;GAC3C,UAAA,QAAS,gBAAgB;IACvB,UAAU,cAAc,iBAAiB,aAAa;GACxD,CAAC;GACD,OAAO,UAAU,4BAA4B;IAC3C,OAAO,eAAe,cAAc,WAAW;IAC/C,UAAU,cAAc,aAAa,SAAS;IAC9C,qBAAqB,UAAU,OAAO,iBAAiB;KACrD,OAAO,YAAY,cAAc,QAAQ;KACzC,UAAU,cAAc,YAAY,QAAQ;IAC9C,GAAG,qBAAqB;GAC1B,CAAC;EACH,CAAC;CAEL;CAEA,MAAM,6BAA6B,gBAAyB;EAC1D,iBAAiB;EAEjB,IAAI,QADU,cAAc,aAAa,eACpB,UAAU;GAC7B,kBAAkB,WAAW;GAC7B;EACF;EACA,gBAAgB,UAAU,OAAO,iBACzB;GACJ,kBAAkB,WAAW;EAC/B,GACA,cAAc,aAAa,SAC7B;CACF;CAEA,CAAA,GAAA,eAAA,oBAAmB;EACjB,0BAA0B,OAAO;CACnC,GAAG,CAAC,OAAO,CAAC;CAEZ,CAAA,GAAA,MAAA,uBACc;EACV,iBAAiB;CACnB,GACA,CAAC,CACH;CAEA,OAAO;EACL;EACA;EACA,0BAA0B,kBAAkB;CAC9C;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatTreeNode.cjs","names":["findElementAncestor","classes"],"sources":["../../../src/components/Tree/FlatTreeNode.tsx"],"sourcesContent":["import { memo, useRef } from 'react';\nimport { findElementAncestor } from '../../core';\nimport type { RenderNode, TreeNodeData } from './Tree';\nimport type { TreeController } from './use-tree';\nimport classes from './Tree.module.css';\n\nexport interface FlatTreeNodeProps {\n /** Node data from tree data */\n node: TreeNodeData;\n\n /** Nesting level of the node, starts at 1 */\n level: number;\n\n /** Value of the parent node, `null` for root nodes */\n parent: string | null;\n\n /** Whether the node has children */\n hasChildren: boolean;\n\n /** Whether the node is expanded */\n expanded: boolean;\n\n /** Tree controller instance, return value of `useTree` hook */\n tree: TreeController;\n\n /** If set, tree node with children is expanded on click @default true */\n expandOnClick?: boolean;\n\n /** If set, tree node is selected on click @default false */\n selectOnClick?: boolean;\n\n /** If set, tree node with children is expanded on space key press @default true */\n expandOnSpace?: boolean;\n\n /** If set, tree node is checked on space key press @default false */\n checkOnSpace?: boolean;\n\n /** A function to render tree node label */\n renderNode?: RenderNode;\n\n /** Style to apply to the root element, used for virtualizer positioning */\n style?: React.CSSProperties;\n\n /** Tab index for the node */\n tabIndex?: number;\n}\n\nexport const FlatTreeNode = memo(function FlatTreeNode({\n node,\n level,\n parent,\n hasChildren,\n expanded,\n tree,\n expandOnClick = true,\n selectOnClick,\n expandOnSpace = true,\n checkOnSpace,\n renderNode,\n style,\n tabIndex = -1,\n}: FlatTreeNodeProps) {\n const ref = useRef<HTMLDivElement>(null);\n const isLoading = tree.isNodeLoading(node.value);\n const loadError = tree.getNodeLoadError(node.value);\n const selected = tree.selectedState.includes(node.value);\n\n const handleClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (expandOnClick && hasChildren) {\n tree.toggleExpanded(node.value);\n }\n\n if (selectOnClick) {\n tree.select(node.value);\n }\n\n ref.current?.focus();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.nativeEvent.code === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n\n if (expanded && hasChildren) {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n const nodes = root\n ? Array.from(root.querySelectorAll<HTMLElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n )\n : [];\n const index = nodes.indexOf(event.currentTarget as HTMLElement);\n if (index !== -1) {\n nodes[index + 1]?.focus();\n }\n } else if (hasChildren) {\n tree.expand(node.value);\n }\n }\n\n if (event.nativeEvent.code === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n\n if (expanded && hasChildren) {\n tree.collapse(node.value);\n } else if (parent) {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n const parentElement = root?.querySelector<HTMLElement>(\n `[role=treeitem][data-value=\"${CSS.escape(parent)}\"]`\n );\n parentElement?.focus();\n }\n }\n\n if (event.nativeEvent.code === 'ArrowDown' || event.nativeEvent.code === 'ArrowUp') {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n\n if (!root) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n const nodes = Array.from(root.querySelectorAll<HTMLElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n );\n const index = nodes.indexOf(event.currentTarget as HTMLElement);\n\n if (index === -1) {\n return;\n }\n\n const nextIndex = event.nativeEvent.code === 'ArrowDown' ? index + 1 : index - 1;\n nodes[nextIndex]?.focus();\n }\n\n if (event.nativeEvent.code === 'Space') {\n if (expandOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n tree.toggleExpanded(node.value);\n }\n\n if (checkOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n if (tree.isNodeChecked(node.value)) {\n tree.uncheckNode(node.value);\n } else {\n tree.checkNode(node.value);\n }\n }\n }\n };\n\n const elementProps = {\n className: classes.label,\n style: {} as React.CSSProperties,\n onClick: handleClick,\n 'data-selected': selected || undefined,\n 'data-value': node.value,\n };\n\n return (\n <div\n ref={ref}\n className={classes.node}\n style={{\n ...({\n '--label-offset': `calc(var(--level-offset, var(--mantine-spacing-lg)) * ${level - 1})`,\n } as React.CSSProperties),\n ...style,\n }}\n role=\"treeitem\"\n aria-selected={selected}\n aria-expanded={hasChildren ? expanded : undefined}\n data-value={node.value}\n data-selected={selected || undefined}\n data-level={level}\n tabIndex={tabIndex}\n onKeyDown={handleKeyDown}\n >\n {typeof renderNode === 'function' ? (\n renderNode({\n node,\n level,\n selected,\n tree,\n expanded,\n hasChildren,\n isLoading,\n loadError,\n elementProps,\n dragHandleProps: undefined,\n })\n ) : (\n <div {...elementProps}>{node.label}</div>\n )}\n </div>\n );\n});\n\nFlatTreeNode.displayName = '@mantine/core/FlatTreeNode';\n"],"mappings":"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"}
1
+ {"version":3,"file":"FlatTreeNode.cjs","names":["findElementAncestor","classes"],"sources":["../../../src/components/Tree/FlatTreeNode.tsx"],"sourcesContent":["import { memo, useRef } from 'react';\nimport { findElementAncestor } from '../../core';\nimport type { RenderNode, TreeNodeData } from './Tree';\nimport type { TreeController } from './use-tree';\nimport classes from './Tree.module.css';\n\nexport interface FlatTreeNodeProps {\n /** Node data from tree data */\n node: TreeNodeData;\n\n /** Nesting level of the node, starts at 1 */\n level: number;\n\n /** Value of the parent node, `null` for root nodes */\n parent: string | null;\n\n /** Whether the node has children */\n hasChildren: boolean;\n\n /** Whether the node is expanded */\n expanded: boolean;\n\n /** Tree controller instance, return value of `useTree` hook */\n tree: TreeController;\n\n /** If set, tree node with children is expanded on click @default true */\n expandOnClick?: boolean;\n\n /** If set, tree node is selected on click @default false */\n selectOnClick?: boolean;\n\n /** If set, tree node with children is expanded on space key press @default true */\n expandOnSpace?: boolean;\n\n /** If set, tree node is checked on space key press @default false */\n checkOnSpace?: boolean;\n\n /** A function to render tree node label */\n renderNode?: RenderNode;\n\n /** Style to apply to the root element, used for virtualizer positioning */\n style?: React.CSSProperties;\n\n /** Tab index for the node */\n tabIndex?: number;\n}\n\nexport const FlatTreeNode = memo(function FlatTreeNode({\n node,\n level,\n parent,\n hasChildren,\n expanded,\n tree,\n expandOnClick = true,\n selectOnClick,\n expandOnSpace = true,\n checkOnSpace,\n renderNode,\n style,\n tabIndex = -1,\n}: FlatTreeNodeProps) {\n const ref = useRef<HTMLDivElement>(null);\n const isLoading = tree.isNodeLoading(node.value);\n const loadError = tree.getNodeLoadError(node.value);\n const selected = tree.selectedState.includes(node.value);\n\n const handleClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (expandOnClick && hasChildren) {\n tree.toggleExpanded(node.value);\n }\n\n if (selectOnClick) {\n tree.select(node.value);\n }\n\n ref.current?.focus();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.nativeEvent.code === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n\n if (expanded && hasChildren) {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n const nodes = root\n ? Array.from(root.querySelectorAll<HTMLElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n )\n : [];\n const index = nodes.indexOf(event.currentTarget as HTMLElement);\n if (index !== -1) {\n nodes[index + 1]?.focus();\n }\n } else if (hasChildren) {\n tree.expand(node.value);\n }\n }\n\n if (event.nativeEvent.code === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n\n if (expanded && hasChildren) {\n tree.collapse(node.value);\n } else if (parent) {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n const parentElement = root?.querySelector<HTMLElement>(\n `[role=treeitem][data-value=\"${CSS.escape(parent)}\"]`\n );\n parentElement?.focus();\n }\n }\n\n if (event.nativeEvent.code === 'ArrowDown' || event.nativeEvent.code === 'ArrowUp') {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n\n if (!root) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n const nodes = Array.from(root.querySelectorAll<HTMLElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n );\n const index = nodes.indexOf(event.currentTarget as HTMLElement);\n\n if (index === -1) {\n return;\n }\n\n const nextIndex = event.nativeEvent.code === 'ArrowDown' ? index + 1 : index - 1;\n nodes[nextIndex]?.focus();\n }\n\n if (event.nativeEvent.code === 'Space') {\n if (expandOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n tree.toggleExpanded(node.value);\n }\n\n if (checkOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n if (tree.isNodeChecked(node.value)) {\n tree.uncheckNode(node.value);\n } else {\n tree.checkNode(node.value);\n }\n }\n }\n };\n\n const elementProps = {\n className: classes.label,\n style: {} as React.CSSProperties,\n onClick: handleClick,\n 'data-selected': selected || undefined,\n 'data-value': node.value,\n };\n\n return (\n <div\n ref={ref}\n className={classes.node}\n style={{\n ...({\n '--label-offset': `calc(var(--level-offset, var(--mantine-spacing-lg)) * ${level - 1})`,\n } as React.CSSProperties),\n ...style,\n }}\n role=\"treeitem\"\n aria-selected={selected}\n aria-expanded={hasChildren ? expanded : undefined}\n data-value={node.value}\n data-selected={selected || undefined}\n data-level={level}\n tabIndex={tabIndex}\n onKeyDown={handleKeyDown}\n >\n {typeof renderNode === 'function' ? (\n renderNode({\n node,\n level,\n selected,\n tree,\n expanded,\n hasChildren,\n isLoading,\n loadError,\n elementProps,\n dragHandleProps: undefined,\n })\n ) : (\n <div {...elementProps}>{node.label}</div>\n )}\n </div>\n );\n});\n\nFlatTreeNode.displayName = '@mantine/core/FlatTreeNode';\n"],"mappings":";;;;;;;AA+CA,MAAa,gBAAA,GAAA,MAAA,MAAoB,SAAS,aAAa,EACrD,MACA,OACA,QACA,aACA,UACA,MACA,gBAAgB,MAChB,eACA,gBAAgB,MAChB,cACA,YACA,OACA,WAAW,MACS;CACpB,MAAM,OAAA,GAAA,MAAA,QAA6B,IAAI;CACvC,MAAM,YAAY,KAAK,cAAc,KAAK,KAAK;CAC/C,MAAM,YAAY,KAAK,iBAAiB,KAAK,KAAK;CAClD,MAAM,WAAW,KAAK,cAAc,SAAS,KAAK,KAAK;CAEvD,MAAM,eAAe,UAA4B;EAC/C,MAAM,gBAAgB;EAEtB,IAAI,iBAAiB,aACnB,KAAK,eAAe,KAAK,KAAK;EAGhC,IAAI,eACF,KAAK,OAAO,KAAK,KAAK;EAGxB,IAAI,SAAS,MAAM;CACrB;CAEA,MAAM,iBAAiB,UAA+B;EACpD,IAAI,MAAM,YAAY,SAAS,cAAc;GAC3C,MAAM,gBAAgB;GACtB,MAAM,eAAe;GAErB,IAAI,YAAY,aAAa;IAC3B,MAAM,OAAOA,8BAAAA,oBAAoB,MAAM,eAA8B,kBAAkB;IACvF,MAAM,QAAQ,OACV,MAAM,KAAK,KAAK,iBAA8B,iBAAiB,CAAC,EAAE,QAC/D,aAAa,SAAS,MAAM,YAAY,MAC3C,IACA,CAAC;IACL,MAAM,QAAQ,MAAM,QAAQ,MAAM,aAA4B;IAC9D,IAAI,UAAU,IACZ,MAAM,QAAQ,IAAI,MAAM;GAE5B,OAAO,IAAI,aACT,KAAK,OAAO,KAAK,KAAK;EAE1B;EAEA,IAAI,MAAM,YAAY,SAAS,aAAa;GAC1C,MAAM,gBAAgB;GACtB,MAAM,eAAe;GAErB,IAAI,YAAY,aACd,KAAK,SAAS,KAAK,KAAK;QACnB,IAAI,QAKT,CAJaA,8BAAAA,oBAAoB,MAAM,eAA8B,kBAC5C,GAAG,cAC1B,+BAA+B,IAAI,OAAO,MAAM,EAAE,GACpD,IACe,MAAM;EAEzB;EAEA,IAAI,MAAM,YAAY,SAAS,eAAe,MAAM,YAAY,SAAS,WAAW;GAClF,MAAM,OAAOA,8BAAAA,oBAAoB,MAAM,eAA8B,kBAAkB;GAEvF,IAAI,CAAC,MACH;GAGF,MAAM,gBAAgB;GACtB,MAAM,eAAe;GACrB,MAAM,QAAQ,MAAM,KAAK,KAAK,iBAA8B,iBAAiB,CAAC,EAAE,QAC7E,aAAa,SAAS,MAAM,YAAY,MAC3C;GACA,MAAM,QAAQ,MAAM,QAAQ,MAAM,aAA4B;GAE9D,IAAI,UAAU,IACZ;GAIF,MADkB,MAAM,YAAY,SAAS,cAAc,QAAQ,IAAI,QAAQ,IAC7D,MAAM;EAC1B;EAEA,IAAI,MAAM,YAAY,SAAS,SAAS;GACtC,IAAI,eAAe;IACjB,MAAM,gBAAgB;IACtB,MAAM,eAAe;IACrB,KAAK,eAAe,KAAK,KAAK;GAChC;GAEA,IAAI,cAAc;IAChB,MAAM,gBAAgB;IACtB,MAAM,eAAe;IACrB,IAAI,KAAK,cAAc,KAAK,KAAK,GAC/B,KAAK,YAAY,KAAK,KAAK;SAE3B,KAAK,UAAU,KAAK,KAAK;GAE7B;EACF;CACF;CAEA,MAAM,eAAe;EACnB,WAAWC,oBAAAA,QAAQ;EACnB,OAAO,CAAC;EACR,SAAS;EACT,iBAAiB,YAAY,KAAA;EAC7B,cAAc,KAAK;CACrB;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACO;EACL,WAAWA,oBAAAA,QAAQ;EACnB,OAAO;GAEH,kBAAkB,yDAAyD,QAAQ,EAAE;GAEvF,GAAG;EACL;EACA,MAAK;EACL,iBAAe;EACf,iBAAe,cAAc,WAAW,KAAA;EACxC,cAAY,KAAK;EACjB,iBAAe,YAAY,KAAA;EAC3B,cAAY;EACF;EACV,WAAW;YAEV,OAAO,eAAe,aACrB,WAAW;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,iBAAiB,KAAA;EACnB,CAAC,IAED,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,GAAI;aAAe,KAAK;EAAW,CAAA;CAEvC,CAAA;AAET,CAAC;AAED,aAAa,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.cjs","names":["createVarsResolver","getSpacing","factory","useProps","useTree","useStyles","TreeNode","Box","classes"],"sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useClickOutside, useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport type { TreeDragDropPayload } from './move-tree-node/move-tree-node';\nimport { TreeNode } from './TreeNode';\nimport type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';\nimport { TreeController, useTree } from './use-tree';\nimport classes from './Tree.module.css';\n\nexport interface TreeNodeData {\n label: React.ReactNode;\n value: string;\n nodeProps?: Record<string, any>;\n children?: TreeNodeData[];\n hasChildren?: boolean;\n}\n\nexport interface RenderTreeNodePayload {\n /** Node level in the tree */\n level: number;\n\n /** `true` if the node is expanded, applicable only for nodes with `children` */\n expanded: boolean;\n\n /** `true` if the node has non-empty `children` array or `hasChildren` is set to `true` in the data */\n hasChildren: boolean;\n\n /** `true` if the node is selected */\n selected: boolean;\n\n /** `true` if the node's children are currently being loaded */\n isLoading: boolean;\n\n /** Error from the last failed load attempt, or `null` */\n loadError: Error | null;\n\n /** Node data from the `data` prop of `Tree` */\n node: TreeNodeData;\n\n /** Tree controller instance, return value of `useTree` hook */\n tree: TreeController;\n\n /** Props to spread into the root node element */\n elementProps: {\n className: string;\n style: React.CSSProperties;\n onClick: (event: React.MouseEvent) => void;\n 'data-selected': boolean | undefined;\n 'data-value': string;\n draggable?: boolean;\n onDragStart?: (event: React.DragEvent) => void;\n onDragOver?: (event: React.DragEvent) => void;\n onDragLeave?: (event: React.DragEvent) => void;\n onDrop?: (event: React.DragEvent) => void;\n onDragEnd?: (event: React.DragEvent) => void;\n };\n\n /** Props to spread into the drag handle element when `withDragHandle` is set on `Tree`.\n * `undefined` when `withDragHandle` is not enabled or drag-and-drop is disabled. */\n dragHandleProps: TreeDragHandleProps | undefined;\n}\n\nexport type RenderNode = (payload: RenderTreeNodePayload) => React.ReactNode;\n\nexport type TreeStylesNames = 'root' | 'node' | 'subtree' | 'label';\nexport type TreeCssVariables = {\n root: '--level-offset';\n};\n\nexport interface TreeDragState {\n draggedValue: string | null;\n currentDropTarget: HTMLElement | null;\n}\n\nexport interface TreeProps extends BoxProps, StylesApiProps<TreeFactory>, ElementProps<'ul'> {\n /** Data used to render nodes */\n data: TreeNodeData[];\n\n /** Horizontal padding of each subtree level, key of `theme.spacing` or any valid CSS value @default 'lg' */\n levelOffset?: MantineSpacing;\n\n /** If set, tree node with children is expanded on click @default true */\n expandOnClick?: boolean;\n\n /** If set, tree node with children is expanded on space key press @default true */\n expandOnSpace?: boolean;\n\n /** If set, tree node is checked on space key press @default false */\n checkOnSpace?: boolean;\n\n /** If set, tree node is selected on click @default false */\n selectOnClick?: boolean;\n\n /** Use-tree hook instance that can be used to manipulate component state */\n tree?: TreeController;\n\n /** A function to render tree node label */\n renderNode?: RenderNode;\n\n /** If set, selection is cleared when user clicks outside of the tree @default false */\n clearSelectionOnOutsideClick?: boolean;\n\n /** If set, tree nodes range can be selected with click when `Shift` key is pressed @default true */\n allowRangeSelection?: boolean;\n\n /** If set, subtree content is kept mounted when collapsed. React 19 `Activity` is used to preserve state. @default false */\n keepMounted?: boolean;\n\n /** Called when a node is dropped on another node, enables drag-and-drop when provided */\n onDragDrop?: (payload: TreeDragDropPayload) => void;\n\n /** Called for each potential drop target to determine whether a drop is allowed.\n * When it returns `false`, the drop indicator is hidden and the drop is rejected. */\n allowDrop?: TreeAllowDrop;\n\n /** If set, drag-and-drop must be initiated from an element that spreads `dragHandleProps`\n * from the `renderNode` payload, rather than anywhere on the node. @default false */\n withDragHandle?: boolean;\n\n /** If set, connecting lines are rendered showing parent-child relationships @default false */\n withLines?: boolean;\n}\n\nfunction getFlatValues(data: TreeNodeData[]): string[] {\n return data.reduce<string[]>((acc, item) => {\n acc.push(item.value);\n if (item.children) {\n acc.push(...getFlatValues(item.children));\n }\n return acc;\n }, []);\n}\n\nexport type TreeFactory = Factory<{\n props: TreeProps;\n ref: HTMLUListElement;\n stylesNames: TreeStylesNames;\n vars: TreeCssVariables;\n}>;\n\nconst defaultProps = {\n expandOnClick: true,\n allowRangeSelection: true,\n expandOnSpace: true,\n} satisfies Partial<TreeProps>;\n\nconst varsResolver = createVarsResolver<TreeFactory>((_theme, { levelOffset }) => ({\n root: {\n '--level-offset': getSpacing(levelOffset),\n },\n}));\n\nexport const Tree = factory<TreeFactory>((_props) => {\n const props = useProps('Tree', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n expandOnClick,\n tree,\n renderNode,\n selectOnClick,\n clearSelectionOnOutsideClick,\n allowRangeSelection,\n expandOnSpace,\n levelOffset,\n checkOnSpace,\n keepMounted,\n onDragDrop,\n allowDrop,\n withDragHandle,\n withLines,\n attributes,\n ref,\n ...others\n } = props;\n\n const defaultController = useTree();\n const controller = tree || defaultController;\n\n const dragStateRef = useRef<TreeDragState>({ draggedValue: null, currentDropTarget: null });\n\n const getStyles = useStyles<TreeFactory>({\n name: 'Tree',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const clickOutsideRef = useClickOutside(\n () => clearSelectionOnOutsideClick && controller.clearSelected()\n );\n\n const mergedRef = useMergedRef(ref, clickOutsideRef);\n\n const flatValues = useMemo(() => getFlatValues(data), [data]);\n\n useEffect(() => {\n controller.initialize(data);\n }, [data]);\n\n const nodes = data.map((node, index) => (\n <TreeNode\n key={node.value}\n node={node}\n getStyles={getStyles}\n rootIndex={index}\n expandOnClick={expandOnClick}\n selectOnClick={selectOnClick}\n controller={controller}\n renderNode={renderNode}\n flatValues={flatValues}\n allowRangeSelection={allowRangeSelection}\n expandOnSpace={expandOnSpace}\n checkOnSpace={checkOnSpace}\n keepMounted={keepMounted}\n onDragDrop={onDragDrop}\n allowDrop={allowDrop}\n withDragHandle={withDragHandle}\n dragStateRef={dragStateRef}\n data={data}\n />\n ));\n\n return (\n <Box\n component=\"ul\"\n ref={mergedRef}\n {...getStyles('root')}\n {...others}\n role=\"tree\"\n aria-multiselectable={controller.multiple}\n data-tree-root\n data-with-lines={withLines || undefined}\n >\n {nodes}\n </Box>\n );\n});\n\nTree.displayName = '@mantine/core/Tree';\nTree.classes = classes;\nTree.varsResolver = varsResolver;\n\nexport namespace Tree {\n export type Props = TreeProps;\n export type StylesNames = TreeStylesNames;\n export type Factory = TreeFactory;\n export type NodeData = TreeNodeData;\n export type RenderNodePayload = RenderTreeNodePayload;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuIA,SAAS,cAAc,MAAgC;AACrD,QAAO,KAAK,QAAkB,KAAK,SAAS;AAC1C,MAAI,KAAK,KAAK,MAAM;AACpB,MAAI,KAAK,SACP,KAAI,KAAK,GAAG,cAAc,KAAK,SAAS,CAAC;AAE3C,SAAO;IACN,EAAE,CAAC;;AAUR,MAAM,eAAe;CACnB,eAAe;CACf,qBAAqB;CACrB,eAAe;CAChB;AAED,MAAM,eAAeA,6BAAAA,oBAAiC,QAAQ,EAAE,mBAAmB,EACjF,MAAM,EACJ,kBAAkBC,iBAAAA,WAAW,YAAY,EAC1C,EACF,EAAE;AAEH,MAAa,OAAOC,gBAAAA,SAAsB,WAAW;CACnD,MAAM,QAAQC,kBAAAA,SAAS,QAAQ,cAAc,OAAO;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,eACA,MACA,YACA,eACA,8BACA,qBACA,eACA,aACA,cACA,aACA,YACA,WACA,gBACA,WACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,oBAAoBC,iBAAAA,SAAS;CACnC,MAAM,aAAa,QAAQ;CAE3B,MAAM,gBAAA,GAAA,MAAA,QAAqC;EAAE,cAAc;EAAM,mBAAmB;EAAM,CAAC;CAE3F,MAAM,YAAYC,mBAAAA,UAAuB;EACvC,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAMF,MAAM,aAAA,GAAA,eAAA,cAAyB,MAAA,GAAA,eAAA,uBAHvB,gCAAgC,WAAW,eAAe,CACjE,CAEmD;CAEpD,MAAM,cAAA,GAAA,MAAA,eAA2B,cAAc,KAAK,EAAE,CAAC,KAAK,CAAC;AAE7D,EAAA,GAAA,MAAA,iBAAgB;AACd,aAAW,WAAW,KAAK;IAC1B,CAAC,KAAK,CAAC;CAEV,MAAM,QAAQ,KAAK,KAAK,MAAM,UAC5B,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,UAAD;EAEQ;EACK;EACX,WAAW;EACI;EACA;EACH;EACA;EACA;EACS;EACN;EACD;EACD;EACD;EACD;EACK;EACF;EACR;EACN,EAlBK,KAAK,MAkBV,CACF;AAEF,QACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,WAAU;EACV,KAAK;EACL,GAAI,UAAU,OAAO;EACrB,GAAI;EACJ,MAAK;EACL,wBAAsB,WAAW;EACjC,kBAAA;EACA,mBAAiB,aAAa,KAAA;YAE7B;EACG,CAAA;EAER;AAEF,KAAK,cAAc;AACnB,KAAK,UAAUC,oBAAAA;AACf,KAAK,eAAe"}
1
+ {"version":3,"file":"Tree.cjs","names":["createVarsResolver","getSpacing","factory","useProps","useTree","useStyles","TreeNode","Box","classes"],"sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useClickOutside, useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport type { TreeDragDropPayload } from './move-tree-node/move-tree-node';\nimport { TreeNode } from './TreeNode';\nimport type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';\nimport { TreeController, useTree } from './use-tree';\nimport classes from './Tree.module.css';\n\nexport interface TreeNodeData {\n label: React.ReactNode;\n value: string;\n nodeProps?: Record<string, any>;\n children?: TreeNodeData[];\n hasChildren?: boolean;\n}\n\nexport interface RenderTreeNodePayload {\n /** Node level in the tree */\n level: number;\n\n /** `true` if the node is expanded, applicable only for nodes with `children` */\n expanded: boolean;\n\n /** `true` if the node has non-empty `children` array or `hasChildren` is set to `true` in the data */\n hasChildren: boolean;\n\n /** `true` if the node is selected */\n selected: boolean;\n\n /** `true` if the node's children are currently being loaded */\n isLoading: boolean;\n\n /** Error from the last failed load attempt, or `null` */\n loadError: Error | null;\n\n /** Node data from the `data` prop of `Tree` */\n node: TreeNodeData;\n\n /** Tree controller instance, return value of `useTree` hook */\n tree: TreeController;\n\n /** Props to spread into the root node element */\n elementProps: {\n className: string;\n style: React.CSSProperties;\n onClick: (event: React.MouseEvent) => void;\n 'data-selected': boolean | undefined;\n 'data-value': string;\n draggable?: boolean;\n onDragStart?: (event: React.DragEvent) => void;\n onDragOver?: (event: React.DragEvent) => void;\n onDragLeave?: (event: React.DragEvent) => void;\n onDrop?: (event: React.DragEvent) => void;\n onDragEnd?: (event: React.DragEvent) => void;\n };\n\n /** Props to spread into the drag handle element when `withDragHandle` is set on `Tree`.\n * `undefined` when `withDragHandle` is not enabled or drag-and-drop is disabled. */\n dragHandleProps: TreeDragHandleProps | undefined;\n}\n\nexport type RenderNode = (payload: RenderTreeNodePayload) => React.ReactNode;\n\nexport type TreeStylesNames = 'root' | 'node' | 'subtree' | 'label';\nexport type TreeCssVariables = {\n root: '--level-offset';\n};\n\nexport interface TreeDragState {\n draggedValue: string | null;\n currentDropTarget: HTMLElement | null;\n}\n\nexport interface TreeProps extends BoxProps, StylesApiProps<TreeFactory>, ElementProps<'ul'> {\n /** Data used to render nodes */\n data: TreeNodeData[];\n\n /** Horizontal padding of each subtree level, key of `theme.spacing` or any valid CSS value @default 'lg' */\n levelOffset?: MantineSpacing;\n\n /** If set, tree node with children is expanded on click @default true */\n expandOnClick?: boolean;\n\n /** If set, tree node with children is expanded on space key press @default true */\n expandOnSpace?: boolean;\n\n /** If set, tree node is checked on space key press @default false */\n checkOnSpace?: boolean;\n\n /** If set, tree node is selected on click @default false */\n selectOnClick?: boolean;\n\n /** Use-tree hook instance that can be used to manipulate component state */\n tree?: TreeController;\n\n /** A function to render tree node label */\n renderNode?: RenderNode;\n\n /** If set, selection is cleared when user clicks outside of the tree @default false */\n clearSelectionOnOutsideClick?: boolean;\n\n /** If set, tree nodes range can be selected with click when `Shift` key is pressed @default true */\n allowRangeSelection?: boolean;\n\n /** If set, subtree content is kept mounted when collapsed. React 19 `Activity` is used to preserve state. @default false */\n keepMounted?: boolean;\n\n /** Called when a node is dropped on another node, enables drag-and-drop when provided */\n onDragDrop?: (payload: TreeDragDropPayload) => void;\n\n /** Called for each potential drop target to determine whether a drop is allowed.\n * When it returns `false`, the drop indicator is hidden and the drop is rejected. */\n allowDrop?: TreeAllowDrop;\n\n /** If set, drag-and-drop must be initiated from an element that spreads `dragHandleProps`\n * from the `renderNode` payload, rather than anywhere on the node. @default false */\n withDragHandle?: boolean;\n\n /** If set, connecting lines are rendered showing parent-child relationships @default false */\n withLines?: boolean;\n}\n\nfunction getFlatValues(data: TreeNodeData[]): string[] {\n return data.reduce<string[]>((acc, item) => {\n acc.push(item.value);\n if (item.children) {\n acc.push(...getFlatValues(item.children));\n }\n return acc;\n }, []);\n}\n\nexport type TreeFactory = Factory<{\n props: TreeProps;\n ref: HTMLUListElement;\n stylesNames: TreeStylesNames;\n vars: TreeCssVariables;\n}>;\n\nconst defaultProps = {\n expandOnClick: true,\n allowRangeSelection: true,\n expandOnSpace: true,\n} satisfies Partial<TreeProps>;\n\nconst varsResolver = createVarsResolver<TreeFactory>((_theme, { levelOffset }) => ({\n root: {\n '--level-offset': getSpacing(levelOffset),\n },\n}));\n\nexport const Tree = factory<TreeFactory>((_props) => {\n const props = useProps('Tree', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n expandOnClick,\n tree,\n renderNode,\n selectOnClick,\n clearSelectionOnOutsideClick,\n allowRangeSelection,\n expandOnSpace,\n levelOffset,\n checkOnSpace,\n keepMounted,\n onDragDrop,\n allowDrop,\n withDragHandle,\n withLines,\n attributes,\n ref,\n ...others\n } = props;\n\n const defaultController = useTree();\n const controller = tree || defaultController;\n\n const dragStateRef = useRef<TreeDragState>({ draggedValue: null, currentDropTarget: null });\n\n const getStyles = useStyles<TreeFactory>({\n name: 'Tree',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const clickOutsideRef = useClickOutside(\n () => clearSelectionOnOutsideClick && controller.clearSelected()\n );\n\n const mergedRef = useMergedRef(ref, clickOutsideRef);\n\n const flatValues = useMemo(() => getFlatValues(data), [data]);\n\n useEffect(() => {\n controller.initialize(data);\n }, [data]);\n\n const nodes = data.map((node, index) => (\n <TreeNode\n key={node.value}\n node={node}\n getStyles={getStyles}\n rootIndex={index}\n expandOnClick={expandOnClick}\n selectOnClick={selectOnClick}\n controller={controller}\n renderNode={renderNode}\n flatValues={flatValues}\n allowRangeSelection={allowRangeSelection}\n expandOnSpace={expandOnSpace}\n checkOnSpace={checkOnSpace}\n keepMounted={keepMounted}\n onDragDrop={onDragDrop}\n allowDrop={allowDrop}\n withDragHandle={withDragHandle}\n dragStateRef={dragStateRef}\n data={data}\n />\n ));\n\n return (\n <Box\n component=\"ul\"\n ref={mergedRef}\n {...getStyles('root')}\n {...others}\n role=\"tree\"\n aria-multiselectable={controller.multiple}\n data-tree-root\n data-with-lines={withLines || undefined}\n >\n {nodes}\n </Box>\n );\n});\n\nTree.displayName = '@mantine/core/Tree';\nTree.classes = classes;\nTree.varsResolver = varsResolver;\n\nexport namespace Tree {\n export type Props = TreeProps;\n export type StylesNames = TreeStylesNames;\n export type Factory = TreeFactory;\n export type NodeData = TreeNodeData;\n export type RenderNodePayload = RenderTreeNodePayload;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuIA,SAAS,cAAc,MAAgC;CACrD,OAAO,KAAK,QAAkB,KAAK,SAAS;EAC1C,IAAI,KAAK,KAAK,KAAK;EACnB,IAAI,KAAK,UACP,IAAI,KAAK,GAAG,cAAc,KAAK,QAAQ,CAAC;EAE1C,OAAO;CACT,GAAG,CAAC,CAAC;AACP;AASA,MAAM,eAAe;CACnB,eAAe;CACf,qBAAqB;CACrB,eAAe;AACjB;AAEA,MAAM,eAAeA,6BAAAA,oBAAiC,QAAQ,EAAE,mBAAmB,EACjF,MAAM,EACJ,kBAAkBC,iBAAAA,WAAW,WAAW,EAC1C,EACF,EAAE;AAEF,MAAa,OAAOC,gBAAAA,SAAsB,WAAW;CACnD,MAAM,QAAQC,kBAAAA,SAAS,QAAQ,cAAc,MAAM;CACnD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,eACA,MACA,YACA,eACA,8BACA,qBACA,eACA,aACA,cACA,aACA,YACA,WACA,gBACA,WACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,oBAAoBC,iBAAAA,QAAQ;CAClC,MAAM,aAAa,QAAQ;CAE3B,MAAM,gBAAA,GAAA,MAAA,QAAqC;EAAE,cAAc;EAAM,mBAAmB;CAAK,CAAC;CAE1F,MAAM,YAAYC,mBAAAA,UAAuB;EACvC,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAMD,MAAM,aAAA,GAAA,eAAA,cAAyB,MAAA,GAAA,eAAA,uBAHvB,gCAAgC,WAAW,cAAc,CAGf,CAAC;CAEnD,MAAM,cAAA,GAAA,MAAA,eAA2B,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC;CAE5D,CAAA,GAAA,MAAA,iBAAgB;EACd,WAAW,WAAW,IAAI;CAC5B,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,QAAQ,KAAK,KAAK,MAAM,UAC5B,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,UAAD;EAEQ;EACK;EACX,WAAW;EACI;EACA;EACH;EACA;EACA;EACS;EACN;EACD;EACD;EACD;EACD;EACK;EACF;EACR;CACP,GAlBM,KAAK,KAkBX,CACF;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,WAAU;EACV,KAAK;EACL,GAAI,UAAU,MAAM;EACpB,GAAI;EACJ,MAAK;EACL,wBAAsB,WAAW;EACjC,kBAAA;EACA,mBAAiB,aAAa,KAAA;YAE7B;CACE,CAAA;AAET,CAAC;AAED,KAAK,cAAc;AACnB,KAAK,UAAUC,oBAAAA;AACf,KAAK,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.cjs","names":["useTreeNodeDragDrop","findElementAncestor","Box","Loader","Activity"],"sources":["../../../src/components/Tree/TreeNode.tsx"],"sourcesContent":["import { Activity, useRef } from 'react';\nimport { Box, findElementAncestor, GetStylesApi } from '../../core';\nimport { Loader } from '../Loader';\nimport type { TreeDragDropPayload } from './move-tree-node/move-tree-node';\nimport type { RenderNode, TreeDragState, TreeFactory, TreeNodeData } from './Tree';\nimport type { TreeController } from './use-tree';\nimport { TreeAllowDrop, useTreeNodeDragDrop } from './use-tree-node-drag-drop';\n\nfunction getValuesRange(anchor: string | null, value: string | undefined, flatValues: string[]) {\n if (!anchor || !value) {\n return [];\n }\n\n const anchorIndex = flatValues.indexOf(anchor);\n const valueIndex = flatValues.indexOf(value);\n const start = Math.min(anchorIndex, valueIndex);\n const end = Math.max(anchorIndex, valueIndex);\n\n return flatValues.slice(start, end + 1);\n}\n\ninterface TreeNodeProps {\n node: TreeNodeData;\n getStyles: GetStylesApi<TreeFactory>;\n rootIndex: number | undefined;\n controller: TreeController;\n expandOnClick: boolean | undefined;\n flatValues: string[];\n isSubtree?: boolean;\n level?: number;\n renderNode: RenderNode | undefined;\n selectOnClick: boolean | undefined;\n allowRangeSelection: boolean | undefined;\n expandOnSpace: boolean | undefined;\n checkOnSpace: boolean | undefined;\n keepMounted: boolean | undefined;\n onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;\n allowDrop: TreeAllowDrop | undefined;\n withDragHandle: boolean | undefined;\n dragStateRef: React.RefObject<TreeDragState>;\n data: TreeNodeData[];\n}\n\nexport function TreeNode({\n node,\n getStyles,\n rootIndex,\n controller,\n expandOnClick,\n selectOnClick,\n isSubtree,\n level = 1,\n renderNode,\n flatValues,\n allowRangeSelection,\n expandOnSpace,\n checkOnSpace,\n keepMounted,\n onDragDrop,\n allowDrop,\n withDragHandle,\n dragStateRef,\n data,\n}: TreeNodeProps) {\n const ref = useRef<HTMLLIElement>(null);\n const hasLoadedChildren = Array.isArray(node.children);\n const hasAsyncChildren = !!node.hasChildren && !hasLoadedChildren;\n const hasChildren = hasLoadedChildren || hasAsyncChildren;\n const isLoading = controller.isNodeLoading(node.value);\n const loadError = controller.getNodeLoadError(node.value);\n const isExpanded = controller.expandedState[node.value] || false;\n\n const nested = (node.children || []).map((child) => (\n <TreeNode\n key={child.value}\n node={child}\n flatValues={flatValues}\n getStyles={getStyles}\n rootIndex={undefined}\n level={level + 1}\n controller={controller}\n expandOnClick={expandOnClick}\n isSubtree\n renderNode={renderNode}\n selectOnClick={selectOnClick}\n allowRangeSelection={allowRangeSelection}\n expandOnSpace={expandOnSpace}\n checkOnSpace={checkOnSpace}\n keepMounted={keepMounted}\n onDragDrop={onDragDrop}\n allowDrop={allowDrop}\n withDragHandle={withDragHandle}\n dragStateRef={dragStateRef}\n data={data}\n />\n ));\n\n const { elementProps: dragElementProps, dragHandleProps } = useTreeNodeDragDrop({\n nodeValue: node.value,\n hasChildren,\n data,\n onDragDrop,\n dragStateRef,\n allowDrop,\n withDragHandle,\n });\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.nativeEvent.code === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n\n if (isExpanded) {\n event.currentTarget.querySelector<HTMLLIElement>('[role=treeitem]')?.focus();\n } else {\n controller.expand(node.value);\n }\n }\n\n if (event.nativeEvent.code === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n if (isExpanded && hasChildren) {\n controller.collapse(node.value);\n } else if (isSubtree) {\n findElementAncestor(event.currentTarget as HTMLElement, '[role=treeitem]')?.focus();\n }\n }\n\n if (event.nativeEvent.code === 'ArrowDown' || event.nativeEvent.code === 'ArrowUp') {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n\n if (!root) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n const nodes = Array.from(root.querySelectorAll<HTMLLIElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n );\n const index = nodes.indexOf(event.currentTarget as HTMLLIElement);\n\n if (index === -1) {\n return;\n }\n\n const nextIndex = event.nativeEvent.code === 'ArrowDown' ? index + 1 : index - 1;\n nodes[nextIndex]?.focus();\n\n if (event.shiftKey) {\n const selectNode = nodes[nextIndex];\n\n if (selectNode) {\n controller.setSelectedState(\n getValuesRange(controller.anchorNode, selectNode.dataset.value, flatValues)\n );\n }\n }\n }\n\n if (event.nativeEvent.code === 'Space') {\n if (expandOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n controller.toggleExpanded(node.value);\n }\n\n if (checkOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n controller.isNodeChecked(node.value)\n ? controller.uncheckNode(node.value)\n : controller.checkNode(node.value);\n }\n }\n };\n\n const handleNodeClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (allowRangeSelection && event.shiftKey && controller.anchorNode) {\n controller.setSelectedState(getValuesRange(controller.anchorNode, node.value, flatValues));\n ref.current?.focus();\n } else {\n if (expandOnClick) {\n controller.toggleExpanded(node.value);\n }\n\n selectOnClick && controller.select(node.value);\n ref.current?.focus();\n }\n };\n\n const selected = controller.selectedState.includes(node.value);\n const elementProps = {\n ...getStyles('label'),\n onClick: handleNodeClick,\n 'data-selected': selected || undefined,\n 'data-value': node.value,\n ...dragElementProps,\n };\n\n const withLoadingIndicator = isExpanded && isLoading && nested.length === 0;\n\n return (\n <li\n {...getStyles('node', {\n style: { '--label-offset': `calc(var(--level-offset) * ${level - 1})` },\n })}\n role=\"treeitem\"\n aria-selected={selected}\n data-value={node.value}\n data-selected={selected || undefined}\n data-level={level}\n tabIndex={rootIndex === 0 ? 0 : -1}\n onKeyDown={handleKeyDown}\n ref={ref}\n >\n {typeof renderNode === 'function' ? (\n renderNode({\n node,\n level,\n selected,\n tree: controller,\n expanded: isExpanded,\n hasChildren,\n isLoading,\n loadError,\n elementProps,\n dragHandleProps,\n })\n ) : (\n <div {...elementProps}>{node.label}</div>\n )}\n\n {withLoadingIndicator && (\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n <li\n {...getStyles('node', {\n style: { '--label-offset': `calc(var(--level-offset) * ${level})` },\n })}\n >\n <div {...getStyles('label')}>\n <Loader size={16} />\n </div>\n </li>\n </Box>\n )}\n\n {keepMounted && nested.length > 0 ? (\n <Activity mode={isExpanded ? 'visible' : 'hidden'}>\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n {nested}\n </Box>\n </Activity>\n ) : (\n isExpanded &&\n nested.length > 0 && (\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n {nested}\n </Box>\n )\n )}\n </li>\n );\n}\n\nTreeNode.displayName = '@mantine/core/TreeNode';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TreeNode.cjs","names":["useTreeNodeDragDrop","findElementAncestor","Box","Loader","Activity"],"sources":["../../../src/components/Tree/TreeNode.tsx"],"sourcesContent":["import { Activity, useRef } from 'react';\nimport { Box, findElementAncestor, GetStylesApi } from '../../core';\nimport { Loader } from '../Loader';\nimport type { TreeDragDropPayload } from './move-tree-node/move-tree-node';\nimport type { RenderNode, TreeDragState, TreeFactory, TreeNodeData } from './Tree';\nimport type { TreeController } from './use-tree';\nimport { TreeAllowDrop, useTreeNodeDragDrop } from './use-tree-node-drag-drop';\n\nfunction getValuesRange(anchor: string | null, value: string | undefined, flatValues: string[]) {\n if (!anchor || !value) {\n return [];\n }\n\n const anchorIndex = flatValues.indexOf(anchor);\n const valueIndex = flatValues.indexOf(value);\n const start = Math.min(anchorIndex, valueIndex);\n const end = Math.max(anchorIndex, valueIndex);\n\n return flatValues.slice(start, end + 1);\n}\n\ninterface TreeNodeProps {\n node: TreeNodeData;\n getStyles: GetStylesApi<TreeFactory>;\n rootIndex: number | undefined;\n controller: TreeController;\n expandOnClick: boolean | undefined;\n flatValues: string[];\n isSubtree?: boolean;\n level?: number;\n renderNode: RenderNode | undefined;\n selectOnClick: boolean | undefined;\n allowRangeSelection: boolean | undefined;\n expandOnSpace: boolean | undefined;\n checkOnSpace: boolean | undefined;\n keepMounted: boolean | undefined;\n onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;\n allowDrop: TreeAllowDrop | undefined;\n withDragHandle: boolean | undefined;\n dragStateRef: React.RefObject<TreeDragState>;\n data: TreeNodeData[];\n}\n\nexport function TreeNode({\n node,\n getStyles,\n rootIndex,\n controller,\n expandOnClick,\n selectOnClick,\n isSubtree,\n level = 1,\n renderNode,\n flatValues,\n allowRangeSelection,\n expandOnSpace,\n checkOnSpace,\n keepMounted,\n onDragDrop,\n allowDrop,\n withDragHandle,\n dragStateRef,\n data,\n}: TreeNodeProps) {\n const ref = useRef<HTMLLIElement>(null);\n const hasLoadedChildren = Array.isArray(node.children);\n const hasAsyncChildren = !!node.hasChildren && !hasLoadedChildren;\n const hasChildren = hasLoadedChildren || hasAsyncChildren;\n const isLoading = controller.isNodeLoading(node.value);\n const loadError = controller.getNodeLoadError(node.value);\n const isExpanded = controller.expandedState[node.value] || false;\n\n const nested = (node.children || []).map((child) => (\n <TreeNode\n key={child.value}\n node={child}\n flatValues={flatValues}\n getStyles={getStyles}\n rootIndex={undefined}\n level={level + 1}\n controller={controller}\n expandOnClick={expandOnClick}\n isSubtree\n renderNode={renderNode}\n selectOnClick={selectOnClick}\n allowRangeSelection={allowRangeSelection}\n expandOnSpace={expandOnSpace}\n checkOnSpace={checkOnSpace}\n keepMounted={keepMounted}\n onDragDrop={onDragDrop}\n allowDrop={allowDrop}\n withDragHandle={withDragHandle}\n dragStateRef={dragStateRef}\n data={data}\n />\n ));\n\n const { elementProps: dragElementProps, dragHandleProps } = useTreeNodeDragDrop({\n nodeValue: node.value,\n hasChildren,\n data,\n onDragDrop,\n dragStateRef,\n allowDrop,\n withDragHandle,\n });\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.nativeEvent.code === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n\n if (isExpanded) {\n event.currentTarget.querySelector<HTMLLIElement>('[role=treeitem]')?.focus();\n } else {\n controller.expand(node.value);\n }\n }\n\n if (event.nativeEvent.code === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n if (isExpanded && hasChildren) {\n controller.collapse(node.value);\n } else if (isSubtree) {\n findElementAncestor(event.currentTarget as HTMLElement, '[role=treeitem]')?.focus();\n }\n }\n\n if (event.nativeEvent.code === 'ArrowDown' || event.nativeEvent.code === 'ArrowUp') {\n const root = findElementAncestor(event.currentTarget as HTMLElement, '[data-tree-root]');\n\n if (!root) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n const nodes = Array.from(root.querySelectorAll<HTMLLIElement>('[role=treeitem]')).filter(\n (treeNode) => treeNode.style.display !== 'none'\n );\n const index = nodes.indexOf(event.currentTarget as HTMLLIElement);\n\n if (index === -1) {\n return;\n }\n\n const nextIndex = event.nativeEvent.code === 'ArrowDown' ? index + 1 : index - 1;\n nodes[nextIndex]?.focus();\n\n if (event.shiftKey) {\n const selectNode = nodes[nextIndex];\n\n if (selectNode) {\n controller.setSelectedState(\n getValuesRange(controller.anchorNode, selectNode.dataset.value, flatValues)\n );\n }\n }\n }\n\n if (event.nativeEvent.code === 'Space') {\n if (expandOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n controller.toggleExpanded(node.value);\n }\n\n if (checkOnSpace) {\n event.stopPropagation();\n event.preventDefault();\n controller.isNodeChecked(node.value)\n ? controller.uncheckNode(node.value)\n : controller.checkNode(node.value);\n }\n }\n };\n\n const handleNodeClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (allowRangeSelection && event.shiftKey && controller.anchorNode) {\n controller.setSelectedState(getValuesRange(controller.anchorNode, node.value, flatValues));\n ref.current?.focus();\n } else {\n if (expandOnClick) {\n controller.toggleExpanded(node.value);\n }\n\n selectOnClick && controller.select(node.value);\n ref.current?.focus();\n }\n };\n\n const selected = controller.selectedState.includes(node.value);\n const elementProps = {\n ...getStyles('label'),\n onClick: handleNodeClick,\n 'data-selected': selected || undefined,\n 'data-value': node.value,\n ...dragElementProps,\n };\n\n const withLoadingIndicator = isExpanded && isLoading && nested.length === 0;\n\n return (\n <li\n {...getStyles('node', {\n style: { '--label-offset': `calc(var(--level-offset) * ${level - 1})` },\n })}\n role=\"treeitem\"\n aria-selected={selected}\n data-value={node.value}\n data-selected={selected || undefined}\n data-level={level}\n tabIndex={rootIndex === 0 ? 0 : -1}\n onKeyDown={handleKeyDown}\n ref={ref}\n >\n {typeof renderNode === 'function' ? (\n renderNode({\n node,\n level,\n selected,\n tree: controller,\n expanded: isExpanded,\n hasChildren,\n isLoading,\n loadError,\n elementProps,\n dragHandleProps,\n })\n ) : (\n <div {...elementProps}>{node.label}</div>\n )}\n\n {withLoadingIndicator && (\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n <li\n {...getStyles('node', {\n style: { '--label-offset': `calc(var(--level-offset) * ${level})` },\n })}\n >\n <div {...getStyles('label')}>\n <Loader size={16} />\n </div>\n </li>\n </Box>\n )}\n\n {keepMounted && nested.length > 0 ? (\n <Activity mode={isExpanded ? 'visible' : 'hidden'}>\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n {nested}\n </Box>\n </Activity>\n ) : (\n isExpanded &&\n nested.length > 0 && (\n <Box component=\"ul\" role=\"group\" {...getStyles('subtree')} data-level={level}>\n {nested}\n </Box>\n )\n )}\n </li>\n );\n}\n\nTreeNode.displayName = '@mantine/core/TreeNode';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-tree-data.cjs","names":[],"sources":["../../../../src/components/Tree/filter-tree-data/filter-tree-data.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport type TreeNodeFilter = (query: string, node: TreeNodeData) => boolean;\n\nexport function defaultTreeNodeFilter(query: string, node: TreeNodeData): boolean {\n const label = typeof node.label === 'string' ? node.label : node.value;\n return label.toLowerCase().includes(query.toLowerCase().trim());\n}\n\nexport function filterTreeData(\n data: TreeNodeData[],\n query: string,\n filter: TreeNodeFilter = defaultTreeNodeFilter\n): TreeNodeData[] {\n if (!query.trim()) {\n return data;\n }\n\n const result: TreeNodeData[] = [];\n\n for (const node of data) {\n const nodeMatches = filter(query, node);\n const filteredChildren =\n Array.isArray(node.children) && node.children.length > 0\n ? filterTreeData(node.children, query, filter)\n : [];\n\n if (nodeMatches || filteredChildren.length > 0) {\n result.push(\n filteredChildren.length > 0 ? { ...node, children: filteredChildren } : { ...node }\n );\n }\n }\n\n return result;\n}\n"],"mappings":";;AAIA,SAAgB,sBAAsB,OAAe,MAA6B;AAEhF,SADc,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,KAAK,OACpD,aAAa,CAAC,SAAS,MAAM,aAAa,CAAC,MAAM,CAAC;;AAGjE,SAAgB,eACd,MACA,OACA,SAAyB,uBACT;AAChB,KAAI,CAAC,MAAM,MAAM,CACf,QAAO;CAGT,MAAM,SAAyB,EAAE;AAEjC,MAAK,MAAM,QAAQ,MAAM;EACvB,MAAM,cAAc,OAAO,OAAO,KAAK;EACvC,MAAM,mBACJ,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,SAAS,IACnD,eAAe,KAAK,UAAU,OAAO,OAAO,GAC5C,EAAE;AAER,MAAI,eAAe,iBAAiB,SAAS,EAC3C,QAAO,KACL,iBAAiB,SAAS,IAAI;GAAE,GAAG;GAAM,UAAU;GAAkB,GAAG,EAAE,GAAG,MAAM,CACpF;;AAIL,QAAO"}
1
+ {"version":3,"file":"filter-tree-data.cjs","names":[],"sources":["../../../../src/components/Tree/filter-tree-data/filter-tree-data.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport type TreeNodeFilter = (query: string, node: TreeNodeData) => boolean;\n\nexport function defaultTreeNodeFilter(query: string, node: TreeNodeData): boolean {\n const label = typeof node.label === 'string' ? node.label : node.value;\n return label.toLowerCase().includes(query.toLowerCase().trim());\n}\n\nexport function filterTreeData(\n data: TreeNodeData[],\n query: string,\n filter: TreeNodeFilter = defaultTreeNodeFilter\n): TreeNodeData[] {\n if (!query.trim()) {\n return data;\n }\n\n const result: TreeNodeData[] = [];\n\n for (const node of data) {\n const nodeMatches = filter(query, node);\n const filteredChildren =\n Array.isArray(node.children) && node.children.length > 0\n ? filterTreeData(node.children, query, filter)\n : [];\n\n if (nodeMatches || filteredChildren.length > 0) {\n result.push(\n filteredChildren.length > 0 ? { ...node, children: filteredChildren } : { ...node }\n );\n }\n }\n\n return result;\n}\n"],"mappings":";;AAIA,SAAgB,sBAAsB,OAAe,MAA6B;CAEhF,QADc,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,KAAK,OACpD,YAAY,EAAE,SAAS,MAAM,YAAY,EAAE,KAAK,CAAC;AAChE;AAEA,SAAgB,eACd,MACA,OACA,SAAyB,uBACT;CAChB,IAAI,CAAC,MAAM,KAAK,GACd,OAAO;CAGT,MAAM,SAAyB,CAAC;CAEhC,KAAK,MAAM,QAAQ,MAAM;EACvB,MAAM,cAAc,OAAO,OAAO,IAAI;EACtC,MAAM,mBACJ,MAAM,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,SAAS,IACnD,eAAe,KAAK,UAAU,OAAO,MAAM,IAC3C,CAAC;EAEP,IAAI,eAAe,iBAAiB,SAAS,GAC3C,OAAO,KACL,iBAAiB,SAAS,IAAI;GAAE,GAAG;GAAM,UAAU;EAAiB,IAAI,EAAE,GAAG,KAAK,CACpF;CAEJ;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"flatten-tree-data.cjs","names":[],"sources":["../../../../src/components/Tree/flatten-tree-data/flatten-tree-data.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\nimport type { TreeExpandedState } from '../use-tree';\n\nexport interface FlattenedTreeNodeData {\n /** Node data from tree data */\n node: TreeNodeData;\n\n /** Nesting level of the node, starts at 1 */\n level: number;\n\n /** Value of the parent node, `null` for root nodes */\n parent: string | null;\n\n /** Whether the node has children */\n hasChildren: boolean;\n\n /** Whether the node is expanded */\n expanded: boolean;\n}\n\nfunction flattenTreeDataTo(\n acc: FlattenedTreeNodeData[],\n data: TreeNodeData[],\n expandedState: TreeExpandedState,\n parent: string | null,\n level: number\n): void {\n for (let i = 0; i < data.length; i++) {\n const node = data[i];\n const hasLoadedChildren = Array.isArray(node.children);\n const hasAsyncChildren = !!node.hasChildren && !hasLoadedChildren;\n const hasChildren = hasLoadedChildren || hasAsyncChildren;\n const expanded = expandedState[node.value] || false;\n\n acc.push({ node, level, parent, hasChildren, expanded });\n\n if (expanded && hasLoadedChildren) {\n flattenTreeDataTo(acc, node.children!, expandedState, node.value, level + 1);\n }\n }\n}\n\nexport function flattenTreeData(\n data: TreeNodeData[],\n expandedState: TreeExpandedState\n): FlattenedTreeNodeData[] {\n const result: FlattenedTreeNodeData[] = [];\n flattenTreeDataTo(result, data, expandedState, null, 1);\n return result;\n}\n"],"mappings":";;AAoBA,SAAS,kBACP,KACA,MACA,eACA,QACA,OACM;AACN,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,OAAO,KAAK;EAClB,MAAM,oBAAoB,MAAM,QAAQ,KAAK,SAAS;EACtD,MAAM,mBAAmB,CAAC,CAAC,KAAK,eAAe,CAAC;EAChD,MAAM,cAAc,qBAAqB;EACzC,MAAM,WAAW,cAAc,KAAK,UAAU;AAE9C,MAAI,KAAK;GAAE;GAAM;GAAO;GAAQ;GAAa;GAAU,CAAC;AAExD,MAAI,YAAY,kBACd,mBAAkB,KAAK,KAAK,UAAW,eAAe,KAAK,OAAO,QAAQ,EAAE;;;AAKlF,SAAgB,gBACd,MACA,eACyB;CACzB,MAAM,SAAkC,EAAE;AAC1C,mBAAkB,QAAQ,MAAM,eAAe,MAAM,EAAE;AACvD,QAAO"}
1
+ {"version":3,"file":"flatten-tree-data.cjs","names":[],"sources":["../../../../src/components/Tree/flatten-tree-data/flatten-tree-data.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\nimport type { TreeExpandedState } from '../use-tree';\n\nexport interface FlattenedTreeNodeData {\n /** Node data from tree data */\n node: TreeNodeData;\n\n /** Nesting level of the node, starts at 1 */\n level: number;\n\n /** Value of the parent node, `null` for root nodes */\n parent: string | null;\n\n /** Whether the node has children */\n hasChildren: boolean;\n\n /** Whether the node is expanded */\n expanded: boolean;\n}\n\nfunction flattenTreeDataTo(\n acc: FlattenedTreeNodeData[],\n data: TreeNodeData[],\n expandedState: TreeExpandedState,\n parent: string | null,\n level: number\n): void {\n for (let i = 0; i < data.length; i++) {\n const node = data[i];\n const hasLoadedChildren = Array.isArray(node.children);\n const hasAsyncChildren = !!node.hasChildren && !hasLoadedChildren;\n const hasChildren = hasLoadedChildren || hasAsyncChildren;\n const expanded = expandedState[node.value] || false;\n\n acc.push({ node, level, parent, hasChildren, expanded });\n\n if (expanded && hasLoadedChildren) {\n flattenTreeDataTo(acc, node.children!, expandedState, node.value, level + 1);\n }\n }\n}\n\nexport function flattenTreeData(\n data: TreeNodeData[],\n expandedState: TreeExpandedState\n): FlattenedTreeNodeData[] {\n const result: FlattenedTreeNodeData[] = [];\n flattenTreeDataTo(result, data, expandedState, null, 1);\n return result;\n}\n"],"mappings":";;AAoBA,SAAS,kBACP,KACA,MACA,eACA,QACA,OACM;CACN,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,OAAO,KAAK;EAClB,MAAM,oBAAoB,MAAM,QAAQ,KAAK,QAAQ;EACrD,MAAM,mBAAmB,CAAC,CAAC,KAAK,eAAe,CAAC;EAChD,MAAM,cAAc,qBAAqB;EACzC,MAAM,WAAW,cAAc,KAAK,UAAU;EAE9C,IAAI,KAAK;GAAE;GAAM;GAAO;GAAQ;GAAa;EAAS,CAAC;EAEvD,IAAI,YAAY,mBACd,kBAAkB,KAAK,KAAK,UAAW,eAAe,KAAK,OAAO,QAAQ,CAAC;CAE/E;AACF;AAEA,SAAgB,gBACd,MACA,eACyB;CACzB,MAAM,SAAkC,CAAC;CACzC,kBAAkB,QAAQ,MAAM,eAAe,MAAM,CAAC;CACtD,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-all-checked-nodes.cjs","names":[],"sources":["../../../../src/components/Tree/get-all-checked-nodes/get-all-checked-nodes.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport interface CheckedNodeStatus {\n checked: boolean;\n indeterminate: boolean;\n hasChildren: boolean;\n value: string;\n}\n\nexport function getAllCheckedNodes(\n data: TreeNodeData[],\n checkedState: string[],\n acc: CheckedNodeStatus[] = []\n) {\n const currentTreeChecked: CheckedNodeStatus[] = [];\n\n for (const node of data) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n const innerChecked = getAllCheckedNodes(node.children, checkedState, acc);\n if (innerChecked.currentTreeChecked.length === node.children.length) {\n const isChecked = innerChecked.currentTreeChecked.every((item) => item.checked);\n const item = {\n checked: isChecked,\n indeterminate: !isChecked,\n value: node.value,\n hasChildren: true,\n };\n currentTreeChecked.push(item);\n acc.push(item);\n } else if (innerChecked.currentTreeChecked.length > 0) {\n const item = { checked: false, indeterminate: true, value: node.value, hasChildren: true };\n currentTreeChecked.push(item);\n acc.push(item);\n }\n } else if (checkedState.includes(node.value)) {\n const item: CheckedNodeStatus = {\n checked: true,\n indeterminate: false,\n value: node.value,\n hasChildren: false,\n };\n currentTreeChecked.push(item);\n acc.push(item);\n }\n }\n\n return { result: acc, currentTreeChecked };\n}\n"],"mappings":";;AASA,SAAgB,mBACd,MACA,cACA,MAA2B,EAAE,EAC7B;CACA,MAAM,qBAA0C,EAAE;AAElD,MAAK,MAAM,QAAQ,KACjB,KAAI,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,SAAS,GAAG;EAC5D,MAAM,eAAe,mBAAmB,KAAK,UAAU,cAAc,IAAI;AACzE,MAAI,aAAa,mBAAmB,WAAW,KAAK,SAAS,QAAQ;GACnE,MAAM,YAAY,aAAa,mBAAmB,OAAO,SAAS,KAAK,QAAQ;GAC/E,MAAM,OAAO;IACX,SAAS;IACT,eAAe,CAAC;IAChB,OAAO,KAAK;IACZ,aAAa;IACd;AACD,sBAAmB,KAAK,KAAK;AAC7B,OAAI,KAAK,KAAK;aACL,aAAa,mBAAmB,SAAS,GAAG;GACrD,MAAM,OAAO;IAAE,SAAS;IAAO,eAAe;IAAM,OAAO,KAAK;IAAO,aAAa;IAAM;AAC1F,sBAAmB,KAAK,KAAK;AAC7B,OAAI,KAAK,KAAK;;YAEP,aAAa,SAAS,KAAK,MAAM,EAAE;EAC5C,MAAM,OAA0B;GAC9B,SAAS;GACT,eAAe;GACf,OAAO,KAAK;GACZ,aAAa;GACd;AACD,qBAAmB,KAAK,KAAK;AAC7B,MAAI,KAAK,KAAK;;AAIlB,QAAO;EAAE,QAAQ;EAAK;EAAoB"}
1
+ {"version":3,"file":"get-all-checked-nodes.cjs","names":[],"sources":["../../../../src/components/Tree/get-all-checked-nodes/get-all-checked-nodes.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport interface CheckedNodeStatus {\n checked: boolean;\n indeterminate: boolean;\n hasChildren: boolean;\n value: string;\n}\n\nexport function getAllCheckedNodes(\n data: TreeNodeData[],\n checkedState: string[],\n acc: CheckedNodeStatus[] = []\n) {\n const currentTreeChecked: CheckedNodeStatus[] = [];\n\n for (const node of data) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n const innerChecked = getAllCheckedNodes(node.children, checkedState, acc);\n if (innerChecked.currentTreeChecked.length === node.children.length) {\n const isChecked = innerChecked.currentTreeChecked.every((item) => item.checked);\n const item = {\n checked: isChecked,\n indeterminate: !isChecked,\n value: node.value,\n hasChildren: true,\n };\n currentTreeChecked.push(item);\n acc.push(item);\n } else if (innerChecked.currentTreeChecked.length > 0) {\n const item = { checked: false, indeterminate: true, value: node.value, hasChildren: true };\n currentTreeChecked.push(item);\n acc.push(item);\n }\n } else if (checkedState.includes(node.value)) {\n const item: CheckedNodeStatus = {\n checked: true,\n indeterminate: false,\n value: node.value,\n hasChildren: false,\n };\n currentTreeChecked.push(item);\n acc.push(item);\n }\n }\n\n return { result: acc, currentTreeChecked };\n}\n"],"mappings":";;AASA,SAAgB,mBACd,MACA,cACA,MAA2B,CAAC,GAC5B;CACA,MAAM,qBAA0C,CAAC;CAEjD,KAAK,MAAM,QAAQ,MACjB,IAAI,MAAM,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,SAAS,GAAG;EAC5D,MAAM,eAAe,mBAAmB,KAAK,UAAU,cAAc,GAAG;EACxE,IAAI,aAAa,mBAAmB,WAAW,KAAK,SAAS,QAAQ;GACnE,MAAM,YAAY,aAAa,mBAAmB,OAAO,SAAS,KAAK,OAAO;GAC9E,MAAM,OAAO;IACX,SAAS;IACT,eAAe,CAAC;IAChB,OAAO,KAAK;IACZ,aAAa;GACf;GACA,mBAAmB,KAAK,IAAI;GAC5B,IAAI,KAAK,IAAI;EACf,OAAO,IAAI,aAAa,mBAAmB,SAAS,GAAG;GACrD,MAAM,OAAO;IAAE,SAAS;IAAO,eAAe;IAAM,OAAO,KAAK;IAAO,aAAa;GAAK;GACzF,mBAAmB,KAAK,IAAI;GAC5B,IAAI,KAAK,IAAI;EACf;CACF,OAAO,IAAI,aAAa,SAAS,KAAK,KAAK,GAAG;EAC5C,MAAM,OAA0B;GAC9B,SAAS;GACT,eAAe;GACf,OAAO,KAAK;GACZ,aAAa;EACf;EACA,mBAAmB,KAAK,IAAI;EAC5B,IAAI,KAAK,IAAI;CACf;CAGF,OAAO;EAAE,QAAQ;EAAK;CAAmB;AAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-children-nodes-values.cjs","names":[],"sources":["../../../../src/components/Tree/get-children-nodes-values/get-children-nodes-values.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport function findTreeNode(value: string, data: TreeNodeData[]): TreeNodeData | null {\n for (const node of data) {\n if (node.value === value) {\n return node;\n }\n\n if (Array.isArray(node.children)) {\n const childNode = findTreeNode(value, node.children);\n if (childNode) {\n return childNode;\n }\n }\n }\n\n return null;\n}\n\n// Returns values for all nested nodes which do not have children\nexport function getChildrenNodesValues(\n value: string,\n data: TreeNodeData[],\n acc: string[] = []\n): string[] {\n const node = findTreeNode(value, data);\n if (!node) {\n return acc;\n }\n\n if (!Array.isArray(node.children) || node.children.length === 0) {\n return [node.value];\n }\n\n node.children.forEach((child) => {\n if (Array.isArray(child.children) && child.children.length > 0) {\n getChildrenNodesValues(child.value, data, acc);\n } else {\n acc.push(child.value);\n }\n });\n\n return acc;\n}\n\nexport function getAllChildrenNodes(data: TreeNodeData[]) {\n return data.reduce((acc, node) => {\n if (Array.isArray(node.children) && node.children.length > 0) {\n acc.push(...getAllChildrenNodes(node.children));\n } else {\n acc.push(node.value);\n }\n\n return acc;\n }, [] as string[]);\n}\n"],"mappings":";;AAEA,SAAgB,aAAa,OAAe,MAA2C;AACrF,MAAK,MAAM,QAAQ,MAAM;AACvB,MAAI,KAAK,UAAU,MACjB,QAAO;AAGT,MAAI,MAAM,QAAQ,KAAK,SAAS,EAAE;GAChC,MAAM,YAAY,aAAa,OAAO,KAAK,SAAS;AACpD,OAAI,UACF,QAAO;;;AAKb,QAAO;;AAIT,SAAgB,uBACd,OACA,MACA,MAAgB,EAAE,EACR;CACV,MAAM,OAAO,aAAa,OAAO,KAAK;AACtC,KAAI,CAAC,KACH,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,WAAW,EAC5D,QAAO,CAAC,KAAK,MAAM;AAGrB,MAAK,SAAS,SAAS,UAAU;AAC/B,MAAI,MAAM,QAAQ,MAAM,SAAS,IAAI,MAAM,SAAS,SAAS,EAC3D,wBAAuB,MAAM,OAAO,MAAM,IAAI;MAE9C,KAAI,KAAK,MAAM,MAAM;GAEvB;AAEF,QAAO;;AAGT,SAAgB,oBAAoB,MAAsB;AACxD,QAAO,KAAK,QAAQ,KAAK,SAAS;AAChC,MAAI,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,SAAS,EACzD,KAAI,KAAK,GAAG,oBAAoB,KAAK,SAAS,CAAC;MAE/C,KAAI,KAAK,KAAK,MAAM;AAGtB,SAAO;IACN,EAAE,CAAa"}
1
+ {"version":3,"file":"get-children-nodes-values.cjs","names":[],"sources":["../../../../src/components/Tree/get-children-nodes-values/get-children-nodes-values.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport function findTreeNode(value: string, data: TreeNodeData[]): TreeNodeData | null {\n for (const node of data) {\n if (node.value === value) {\n return node;\n }\n\n if (Array.isArray(node.children)) {\n const childNode = findTreeNode(value, node.children);\n if (childNode) {\n return childNode;\n }\n }\n }\n\n return null;\n}\n\n// Returns values for all nested nodes which do not have children\nexport function getChildrenNodesValues(\n value: string,\n data: TreeNodeData[],\n acc: string[] = []\n): string[] {\n const node = findTreeNode(value, data);\n if (!node) {\n return acc;\n }\n\n if (!Array.isArray(node.children) || node.children.length === 0) {\n return [node.value];\n }\n\n node.children.forEach((child) => {\n if (Array.isArray(child.children) && child.children.length > 0) {\n getChildrenNodesValues(child.value, data, acc);\n } else {\n acc.push(child.value);\n }\n });\n\n return acc;\n}\n\nexport function getAllChildrenNodes(data: TreeNodeData[]) {\n return data.reduce((acc, node) => {\n if (Array.isArray(node.children) && node.children.length > 0) {\n acc.push(...getAllChildrenNodes(node.children));\n } else {\n acc.push(node.value);\n }\n\n return acc;\n }, [] as string[]);\n}\n"],"mappings":";;AAEA,SAAgB,aAAa,OAAe,MAA2C;CACrF,KAAK,MAAM,QAAQ,MAAM;EACvB,IAAI,KAAK,UAAU,OACjB,OAAO;EAGT,IAAI,MAAM,QAAQ,KAAK,QAAQ,GAAG;GAChC,MAAM,YAAY,aAAa,OAAO,KAAK,QAAQ;GACnD,IAAI,WACF,OAAO;EAEX;CACF;CAEA,OAAO;AACT;AAGA,SAAgB,uBACd,OACA,MACA,MAAgB,CAAC,GACP;CACV,MAAM,OAAO,aAAa,OAAO,IAAI;CACrC,IAAI,CAAC,MACH,OAAO;CAGT,IAAI,CAAC,MAAM,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,WAAW,GAC5D,OAAO,CAAC,KAAK,KAAK;CAGpB,KAAK,SAAS,SAAS,UAAU;EAC/B,IAAI,MAAM,QAAQ,MAAM,QAAQ,KAAK,MAAM,SAAS,SAAS,GAC3D,uBAAuB,MAAM,OAAO,MAAM,GAAG;OAE7C,IAAI,KAAK,MAAM,KAAK;CAExB,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,oBAAoB,MAAsB;CACxD,OAAO,KAAK,QAAQ,KAAK,SAAS;EAChC,IAAI,MAAM,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,SAAS,GACzD,IAAI,KAAK,GAAG,oBAAoB,KAAK,QAAQ,CAAC;OAE9C,IAAI,KAAK,KAAK,KAAK;EAGrB,OAAO;CACT,GAAG,CAAC,CAAa;AACnB"}
@@ -9,6 +9,7 @@ function isNodeChecked(value, data, checkedState) {
9
9
  }
10
10
  const memoizedIsNodeChecked = require_memoize.memoize(isNodeChecked);
11
11
  //#endregion
12
+ exports.isNodeChecked = isNodeChecked;
12
13
  exports.memoizedIsNodeChecked = memoizedIsNodeChecked;
13
14
 
14
15
  //# sourceMappingURL=is-node-checked.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-node-checked.cjs","names":["getAllCheckedNodes","memoize"],"sources":["../../../../src/components/Tree/is-node-checked/is-node-checked.ts"],"sourcesContent":["import { memoize } from '../../../core';\nimport { getAllCheckedNodes } from '../get-all-checked-nodes/get-all-checked-nodes';\nimport type { TreeNodeData } from '../Tree';\n\nexport function isNodeChecked(\n value: string,\n data: TreeNodeData[],\n checkedState: string[]\n): boolean {\n if (checkedState.length === 0) {\n return false;\n }\n\n if (checkedState.includes(value)) {\n return true;\n }\n\n const checkedNodes = getAllCheckedNodes(data, checkedState).result;\n return checkedNodes.some((node) => node.value === value && node.checked);\n}\n\nexport const memoizedIsNodeChecked = memoize(isNodeChecked);\n"],"mappings":";;;;AAIA,SAAgB,cACd,OACA,MACA,cACS;AACT,KAAI,aAAa,WAAW,EAC1B,QAAO;AAGT,KAAI,aAAa,SAAS,MAAM,CAC9B,QAAO;AAIT,QADqBA,8BAAAA,mBAAmB,MAAM,aAAa,CAAC,OACxC,MAAM,SAAS,KAAK,UAAU,SAAS,KAAK,QAAQ;;AAG1E,MAAa,wBAAwBC,gBAAAA,QAAQ,cAAc"}
1
+ {"version":3,"file":"is-node-checked.cjs","names":["getAllCheckedNodes","memoize"],"sources":["../../../../src/components/Tree/is-node-checked/is-node-checked.ts"],"sourcesContent":["import { memoize } from '../../../core';\nimport { getAllCheckedNodes } from '../get-all-checked-nodes/get-all-checked-nodes';\nimport type { TreeNodeData } from '../Tree';\n\nexport function isNodeChecked(\n value: string,\n data: TreeNodeData[],\n checkedState: string[]\n): boolean {\n if (checkedState.length === 0) {\n return false;\n }\n\n if (checkedState.includes(value)) {\n return true;\n }\n\n const checkedNodes = getAllCheckedNodes(data, checkedState).result;\n return checkedNodes.some((node) => node.value === value && node.checked);\n}\n\nexport const memoizedIsNodeChecked = memoize(isNodeChecked);\n"],"mappings":";;;;AAIA,SAAgB,cACd,OACA,MACA,cACS;CACT,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,IAAI,aAAa,SAAS,KAAK,GAC7B,OAAO;CAIT,OADqBA,8BAAAA,mBAAmB,MAAM,YAAY,EAAE,OACxC,MAAM,SAAS,KAAK,UAAU,SAAS,KAAK,OAAO;AACzE;AAEA,MAAa,wBAAwBC,gBAAAA,QAAQ,aAAa"}