@mantine/core 9.2.2 → 9.3.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 (863) hide show
  1. package/cjs/components/Accordion/Accordion.cjs +0 -1
  2. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/cjs/components/Accordion/AccordionChevron.cjs +0 -1
  4. package/cjs/components/Accordion/AccordionChevron.cjs.map +1 -1
  5. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs +0 -1
  6. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs.map +1 -1
  7. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs +0 -1
  8. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs.map +1 -1
  9. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs +0 -1
  10. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
  11. package/cjs/components/ActionIcon/ActionIcon.cjs +0 -1
  12. package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
  13. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs +0 -1
  14. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs.map +1 -1
  15. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs +0 -1
  16. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs.map +1 -1
  17. package/cjs/components/Affix/Affix.cjs +0 -1
  18. package/cjs/components/Affix/Affix.cjs.map +1 -1
  19. package/cjs/components/Alert/Alert.cjs +0 -1
  20. package/cjs/components/Alert/Alert.cjs.map +1 -1
  21. package/cjs/components/AngleSlider/AngleSlider.cjs +0 -1
  22. package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
  23. package/cjs/components/AppShell/AppShell.cjs +0 -1
  24. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  25. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs +0 -1
  26. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs.map +1 -1
  27. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs +0 -1
  28. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
  29. package/cjs/components/AppShell/AppShellSection/AppShellSection.cjs +0 -1
  30. package/cjs/components/AppShell/AppShellSection/AppShellSection.cjs.map +1 -1
  31. package/cjs/components/AppShell/use-resizing/use-resizing.cjs +0 -1
  32. package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
  33. package/cjs/components/AspectRatio/AspectRatio.cjs +0 -1
  34. package/cjs/components/AspectRatio/AspectRatio.cjs.map +1 -1
  35. package/cjs/components/Autocomplete/Autocomplete.cjs +2 -2
  36. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  37. package/cjs/components/Avatar/Avatar.cjs +0 -1
  38. package/cjs/components/Avatar/Avatar.cjs.map +1 -1
  39. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs +0 -1
  40. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
  41. package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs +0 -1
  42. package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs.map +1 -1
  43. package/cjs/components/BackgroundImage/BackgroundImage.cjs +0 -1
  44. package/cjs/components/BackgroundImage/BackgroundImage.cjs.map +1 -1
  45. package/cjs/components/Badge/Badge.cjs +0 -1
  46. package/cjs/components/Badge/Badge.cjs.map +1 -1
  47. package/cjs/components/Blockquote/Blockquote.cjs +4 -4
  48. package/cjs/components/Blockquote/Blockquote.cjs.map +1 -1
  49. package/cjs/components/Blockquote/Blockquote.module.cjs.map +1 -1
  50. package/cjs/components/Breadcrumbs/Breadcrumbs.cjs +0 -1
  51. package/cjs/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  52. package/cjs/components/Burger/Burger.cjs +0 -1
  53. package/cjs/components/Burger/Burger.cjs.map +1 -1
  54. package/cjs/components/Button/Button.cjs +0 -1
  55. package/cjs/components/Button/Button.cjs.map +1 -1
  56. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs +0 -1
  57. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
  58. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs +0 -1
  59. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
  60. package/cjs/components/Card/Card.cjs +0 -1
  61. package/cjs/components/Card/Card.cjs.map +1 -1
  62. package/cjs/components/Card/CardSection/CardSection.cjs +0 -1
  63. package/cjs/components/Card/CardSection/CardSection.cjs.map +1 -1
  64. package/cjs/components/Center/Center.cjs +0 -1
  65. package/cjs/components/Center/Center.cjs.map +1 -1
  66. package/cjs/components/Checkbox/CheckIcon.cjs +0 -1
  67. package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
  68. package/cjs/components/Checkbox/Checkbox.cjs +0 -1
  69. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  70. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs +0 -1
  71. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
  72. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs +0 -1
  73. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  74. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs +0 -1
  75. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  76. package/cjs/components/Chip/Chip.cjs +0 -1
  77. package/cjs/components/Chip/Chip.cjs.map +1 -1
  78. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs +0 -1
  79. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
  80. package/cjs/components/CloseButton/CloseButton.cjs +0 -1
  81. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  82. package/cjs/components/Code/Code.cjs +0 -1
  83. package/cjs/components/Code/Code.cjs.map +1 -1
  84. package/cjs/components/Collapse/Collapse.cjs +2 -2
  85. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  86. package/cjs/components/ColorInput/ColorInput.cjs +0 -1
  87. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  88. package/cjs/components/ColorInput/EyeDropperIcon.cjs +0 -1
  89. package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
  90. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs +0 -1
  91. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs.map +1 -1
  92. package/cjs/components/ColorPicker/ColorPicker.cjs +0 -1
  93. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  94. package/cjs/components/ColorPicker/ColorPicker.context.cjs +0 -1
  95. package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
  96. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs +0 -1
  97. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  98. package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs +0 -1
  99. package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs.map +1 -1
  100. package/cjs/components/ColorPicker/Saturation/Saturation.cjs +0 -1
  101. package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
  102. package/cjs/components/ColorPicker/Swatches/Swatches.cjs +0 -1
  103. package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
  104. package/cjs/components/ColorPicker/Thumb/Thumb.cjs +0 -1
  105. package/cjs/components/ColorPicker/Thumb/Thumb.cjs.map +1 -1
  106. package/cjs/components/ColorSwatch/ColorSwatch.cjs +0 -1
  107. package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
  108. package/cjs/components/Combobox/Combobox.cjs +26 -4
  109. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  110. package/cjs/components/Combobox/Combobox.context.cjs.map +1 -1
  111. package/cjs/components/Combobox/Combobox.module.cjs.map +1 -1
  112. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs +0 -1
  113. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  114. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs +0 -1
  115. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  116. package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs +1 -1
  117. package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs.map +1 -1
  118. package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs +0 -1
  119. package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs.map +1 -1
  120. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs +0 -1
  121. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
  122. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs +0 -1
  123. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
  124. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs +0 -1
  125. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
  126. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs +0 -1
  127. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
  128. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs +0 -1
  129. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
  130. package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs +0 -1
  131. package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs.map +1 -1
  132. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs +0 -1
  133. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
  134. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs +0 -1
  135. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
  136. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs +0 -1
  137. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  138. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs +0 -1
  139. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
  140. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs +4 -2
  141. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  142. package/cjs/components/Combobox/use-combobox/use-combobox.cjs +0 -1
  143. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  144. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs +0 -1
  145. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  146. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs +0 -1
  147. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  148. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs +0 -1
  149. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -1
  150. package/cjs/components/Container/Container.cjs +0 -1
  151. package/cjs/components/Container/Container.cjs.map +1 -1
  152. package/cjs/components/CopyButton/CopyButton.cjs +0 -1
  153. package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
  154. package/cjs/components/Dialog/Dialog.cjs +0 -1
  155. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  156. package/cjs/components/Divider/Divider.cjs +0 -1
  157. package/cjs/components/Divider/Divider.cjs.map +1 -1
  158. package/cjs/components/Drawer/Drawer.cjs +0 -1
  159. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  160. package/cjs/components/Drawer/DrawerBody.cjs +0 -1
  161. package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
  162. package/cjs/components/Drawer/DrawerCloseButton.cjs +0 -1
  163. package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
  164. package/cjs/components/Drawer/DrawerContent.cjs +0 -1
  165. package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
  166. package/cjs/components/Drawer/DrawerHeader.cjs +0 -1
  167. package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
  168. package/cjs/components/Drawer/DrawerOverlay.cjs +0 -1
  169. package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
  170. package/cjs/components/Drawer/DrawerRoot.cjs +0 -1
  171. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  172. package/cjs/components/Drawer/DrawerStack.cjs +0 -1
  173. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  174. package/cjs/components/Drawer/DrawerTitle.cjs +0 -1
  175. package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
  176. package/cjs/components/Fieldset/Fieldset.cjs +0 -1
  177. package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
  178. package/cjs/components/FileInput/FileInput.cjs +0 -1
  179. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  180. package/cjs/components/Flex/Flex.cjs +0 -1
  181. package/cjs/components/Flex/Flex.cjs.map +1 -1
  182. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs +0 -1
  183. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  184. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs +0 -1
  185. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
  186. package/cjs/components/FloatingWindow/FloatingWindow.cjs +0 -1
  187. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  188. package/cjs/components/FocusTrap/FocusTrap.cjs +0 -1
  189. package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
  190. package/cjs/components/Grid/Grid.cjs +0 -1
  191. package/cjs/components/Grid/Grid.cjs.map +1 -1
  192. package/cjs/components/Grid/GridCol/GridColVariables.cjs +0 -1
  193. package/cjs/components/Grid/GridCol/GridColVariables.cjs.map +1 -1
  194. package/cjs/components/Grid/GridVariables.cjs +0 -1
  195. package/cjs/components/Grid/GridVariables.cjs.map +1 -1
  196. package/cjs/components/Group/Group.cjs +0 -1
  197. package/cjs/components/Group/Group.cjs.map +1 -1
  198. package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs +0 -1
  199. package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs.map +1 -1
  200. package/cjs/components/Highlight/Highlight.cjs +0 -1
  201. package/cjs/components/Highlight/Highlight.cjs.map +1 -1
  202. package/cjs/components/HoverCard/HoverCard.cjs +0 -1
  203. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  204. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs +0 -1
  205. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  206. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs +0 -1
  207. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
  208. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs +0 -1
  209. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  210. package/cjs/components/HoverCard/use-hover-card.cjs +0 -1
  211. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  212. package/cjs/components/Image/Image.cjs +0 -1
  213. package/cjs/components/Image/Image.cjs.map +1 -1
  214. package/cjs/components/Indicator/Indicator.cjs +0 -1
  215. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  216. package/cjs/components/Input/Input.cjs +11 -3
  217. package/cjs/components/Input/Input.cjs.map +1 -1
  218. package/cjs/components/Input/Input.context.cjs +0 -1
  219. package/cjs/components/Input/Input.context.cjs.map +1 -1
  220. package/cjs/components/Input/Input.module.cjs +1 -0
  221. package/cjs/components/Input/Input.module.cjs.map +1 -1
  222. package/cjs/components/Input/InputClearButton/InputClearButton.cjs +0 -1
  223. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  224. package/cjs/components/Input/InputClearSection/InputClearSection.cjs +0 -1
  225. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  226. package/cjs/components/Input/InputDescription/InputDescription.cjs +0 -1
  227. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  228. package/cjs/components/Input/InputError/InputError.cjs +0 -1
  229. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  230. package/cjs/components/Input/InputLabel/InputLabel.cjs +0 -1
  231. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  232. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs +0 -1
  233. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  234. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +0 -1
  235. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  236. package/cjs/components/Input/InputWrapper.context.cjs +0 -1
  237. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  238. package/cjs/components/InputBase/InputBase.cjs +0 -1
  239. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  240. package/cjs/components/JsonInput/JsonInput.cjs +0 -1
  241. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  242. package/cjs/components/Kbd/Kbd.cjs +0 -1
  243. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  244. package/cjs/components/List/List.cjs +0 -1
  245. package/cjs/components/List/List.cjs.map +1 -1
  246. package/cjs/components/List/ListItem/ListItem.cjs +0 -1
  247. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  248. package/cjs/components/Loader/Loader.cjs +0 -1
  249. package/cjs/components/Loader/Loader.cjs.map +1 -1
  250. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs +0 -1
  251. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  252. package/cjs/components/Mark/Mark.cjs +0 -1
  253. package/cjs/components/Mark/Mark.cjs.map +1 -1
  254. package/cjs/components/Marquee/Marquee.cjs +0 -1
  255. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  256. package/cjs/components/MaskInput/MaskInput.cjs +0 -1
  257. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  258. package/cjs/components/MaskInput/use-mask-input-props.cjs +0 -1
  259. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  260. package/cjs/components/Menu/Menu.cjs +37 -4
  261. package/cjs/components/Menu/Menu.cjs.map +1 -1
  262. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  263. package/cjs/components/Menu/Menu.module.cjs +2 -0
  264. package/cjs/components/Menu/Menu.module.cjs.map +1 -1
  265. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs +30 -0
  266. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -0
  267. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs +7 -0
  268. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -0
  269. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs +52 -0
  270. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -0
  271. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs +28 -0
  272. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs.map +1 -0
  273. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs +0 -1
  274. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
  275. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs +9 -2
  276. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  277. package/cjs/components/Menu/MenuItem/MenuItem.cjs +18 -2
  278. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  279. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs +0 -1
  280. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
  281. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs +27 -0
  282. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs.map +1 -0
  283. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs +7 -0
  284. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs.map +1 -0
  285. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs +46 -0
  286. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs.map +1 -0
  287. package/cjs/components/Menu/MenuSearch/MenuSearch.cjs +115 -0
  288. package/cjs/components/Menu/MenuSearch/MenuSearch.cjs.map +1 -0
  289. package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs +114 -0
  290. package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs.map +1 -0
  291. package/cjs/components/Menu/MenuSub/MenuSub.cjs +16 -14
  292. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  293. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs +0 -1
  294. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  295. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs +13 -2
  296. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  297. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs +18 -2
  298. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  299. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs +0 -1
  300. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
  301. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs +0 -1
  302. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  303. package/cjs/components/Menu/use-menu-type-ahead.cjs +72 -0
  304. package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -0
  305. package/cjs/components/Modal/Modal.cjs +0 -1
  306. package/cjs/components/Modal/Modal.cjs.map +1 -1
  307. package/cjs/components/Modal/ModalBody.cjs +0 -1
  308. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  309. package/cjs/components/Modal/ModalCloseButton.cjs +0 -1
  310. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  311. package/cjs/components/Modal/ModalContent.cjs +0 -1
  312. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  313. package/cjs/components/Modal/ModalHeader.cjs +0 -1
  314. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  315. package/cjs/components/Modal/ModalOverlay.cjs +0 -1
  316. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  317. package/cjs/components/Modal/ModalRoot.cjs +0 -1
  318. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  319. package/cjs/components/Modal/ModalStack.cjs +0 -1
  320. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  321. package/cjs/components/Modal/ModalTitle.cjs +0 -1
  322. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  323. package/cjs/components/Modal/use-modals-stack.cjs +0 -1
  324. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  325. package/cjs/components/ModalBase/ModalBase.cjs +0 -1
  326. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  327. package/cjs/components/ModalBase/ModalBaseOverlay.cjs +0 -1
  328. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  329. package/cjs/components/ModalBase/NativeScrollArea.cjs +0 -1
  330. package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
  331. package/cjs/components/ModalBase/use-lock-scroll.cjs +0 -1
  332. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  333. package/cjs/components/ModalBase/use-modal-body-id.cjs +0 -1
  334. package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
  335. package/cjs/components/ModalBase/use-modal-title-id.cjs +0 -1
  336. package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
  337. package/cjs/components/ModalBase/use-modal.cjs +0 -1
  338. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  339. package/cjs/components/MultiSelect/MultiSelect.cjs +2 -2
  340. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  341. package/cjs/components/NativeSelect/NativeSelect.cjs +0 -1
  342. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  343. package/cjs/components/NativeSelect/NativeSelectOption.cjs +0 -1
  344. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  345. package/cjs/components/NavLink/NavLink.cjs +0 -1
  346. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  347. package/cjs/components/Notification/Notification.cjs +0 -1
  348. package/cjs/components/Notification/Notification.cjs.map +1 -1
  349. package/cjs/components/NumberFormatter/NumberFormatter.cjs +0 -1
  350. package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
  351. package/cjs/components/NumberInput/NumberInputChevron.cjs +0 -1
  352. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  353. package/cjs/components/OverflowList/OverflowList.cjs +68 -10
  354. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  355. package/cjs/components/OverflowList/use-dimensions.cjs +0 -1
  356. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  357. package/cjs/components/Overlay/Overlay.cjs +0 -1
  358. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  359. package/cjs/components/Pagination/Pagination.cjs +14 -3
  360. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  361. package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
  362. package/cjs/components/Pagination/Pagination.icons.cjs +0 -1
  363. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  364. package/cjs/components/Pagination/Pagination.module.cjs +3 -1
  365. package/cjs/components/Pagination/Pagination.module.cjs.map +1 -1
  366. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs +0 -1
  367. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
  368. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs +0 -1
  369. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  370. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs +0 -1
  371. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  372. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs +0 -1
  373. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  374. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs +32 -0
  375. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -0
  376. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs +3 -2
  377. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  378. package/cjs/components/Paper/Paper.cjs +0 -1
  379. package/cjs/components/Paper/Paper.cjs.map +1 -1
  380. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs +0 -1
  381. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  382. package/cjs/components/Pill/Pill.cjs +0 -1
  383. package/cjs/components/Pill/Pill.cjs.map +1 -1
  384. package/cjs/components/Pill/PillGroup/PillGroup.cjs +0 -1
  385. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  386. package/cjs/components/PillsInput/PillsInput.cjs +0 -1
  387. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  388. package/cjs/components/PillsInput/PillsInput.context.cjs +0 -1
  389. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  390. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs +0 -1
  391. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  392. package/cjs/components/PinInput/PinInput.cjs +0 -1
  393. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  394. package/cjs/components/Popover/Popover.cjs +5 -10
  395. package/cjs/components/Popover/Popover.cjs.map +1 -1
  396. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs +28 -0
  397. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -0
  398. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +8 -1
  399. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  400. package/cjs/components/Popover/use-popover.cjs +52 -20
  401. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  402. package/cjs/components/Portal/OptionalPortal.cjs +0 -1
  403. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  404. package/cjs/components/Portal/Portal.cjs +0 -1
  405. package/cjs/components/Portal/Portal.cjs.map +1 -1
  406. package/cjs/components/Progress/Progress.cjs +0 -1
  407. package/cjs/components/Progress/Progress.cjs.map +1 -1
  408. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs +0 -1
  409. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  410. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs +0 -1
  411. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  412. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs +0 -1
  413. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  414. package/cjs/components/Radio/Radio.cjs +1 -2
  415. package/cjs/components/Radio/Radio.cjs.map +1 -1
  416. package/cjs/components/Radio/RadioCard/RadioCard.cjs +0 -1
  417. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  418. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs +0 -1
  419. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  420. package/cjs/components/Radio/RadioIcon.cjs +0 -1
  421. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  422. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +2 -3
  423. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  424. package/cjs/components/Rating/Rating.cjs +0 -1
  425. package/cjs/components/Rating/Rating.cjs.map +1 -1
  426. package/cjs/components/Rating/RatingItem/RatingItem.cjs +0 -1
  427. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  428. package/cjs/components/Rating/StarSymbol/StarIcon.cjs +0 -1
  429. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  430. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs +0 -1
  431. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  432. package/cjs/components/RingProgress/Curve/Curve.cjs +0 -1
  433. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  434. package/cjs/components/RingProgress/RingProgress.cjs +0 -1
  435. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  436. package/cjs/components/RollingNumber/DigitColumn.cjs +0 -1
  437. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  438. package/cjs/components/RollingNumber/RollingNumber.cjs +0 -1
  439. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  440. package/cjs/components/ScrollArea/ScrollArea.cjs +0 -1
  441. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  442. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs +0 -1
  443. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  444. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs +0 -1
  445. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  446. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs +0 -1
  447. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
  448. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs +0 -1
  449. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  450. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs +0 -1
  451. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  452. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs +0 -1
  453. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  454. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs +0 -1
  455. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  456. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +0 -1
  457. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  458. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs +0 -1
  459. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  460. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs +0 -1
  461. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  462. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs +0 -1
  463. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  464. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +0 -1
  465. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  466. package/cjs/components/ScrollArea/use-resize-observer.cjs +0 -1
  467. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  468. package/cjs/components/Scroller/Scroller.cjs +0 -1
  469. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  470. package/cjs/components/SegmentedControl/SegmentedControl.cjs +0 -1
  471. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  472. package/cjs/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -1
  473. package/cjs/components/Select/Select.cjs +2 -2
  474. package/cjs/components/Select/Select.cjs.map +1 -1
  475. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs +0 -1
  476. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  477. package/cjs/components/SimpleGrid/SimpleGrid.cjs +0 -1
  478. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  479. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs +0 -1
  480. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  481. package/cjs/components/Skeleton/Skeleton.cjs +0 -1
  482. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  483. package/cjs/components/Slider/Marks/Marks.cjs +0 -1
  484. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  485. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +0 -1
  486. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  487. package/cjs/components/Slider/Slider/Slider.cjs +0 -1
  488. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  489. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs +0 -1
  490. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
  491. package/cjs/components/Slider/Thumb/Thumb.cjs +0 -1
  492. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  493. package/cjs/components/Slider/Track/Track.cjs +0 -1
  494. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  495. package/cjs/components/Space/Space.cjs +0 -1
  496. package/cjs/components/Space/Space.cjs.map +1 -1
  497. package/cjs/components/Splitter/GripIcon.cjs +55 -0
  498. package/cjs/components/Splitter/GripIcon.cjs.map +1 -0
  499. package/cjs/components/Splitter/Splitter.cjs +111 -0
  500. package/cjs/components/Splitter/Splitter.cjs.map +1 -0
  501. package/cjs/components/Splitter/Splitter.context.cjs +8 -0
  502. package/cjs/components/Splitter/Splitter.context.cjs.map +1 -0
  503. package/cjs/components/Splitter/Splitter.module.cjs +12 -0
  504. package/cjs/components/Splitter/Splitter.module.cjs.map +1 -0
  505. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs +34 -0
  506. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs.map +1 -0
  507. package/cjs/components/Spoiler/Spoiler.cjs +0 -1
  508. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  509. package/cjs/components/Stack/Stack.cjs +0 -1
  510. package/cjs/components/Stack/Stack.cjs.map +1 -1
  511. package/cjs/components/Stepper/Stepper.cjs +0 -1
  512. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  513. package/cjs/components/Stepper/Stepper.module.cjs.map +1 -1
  514. package/cjs/components/Stepper/StepperStep/StepperStep.cjs +0 -1
  515. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  516. package/cjs/components/Switch/Switch.cjs +0 -1
  517. package/cjs/components/Switch/Switch.cjs.map +1 -1
  518. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs +0 -1
  519. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  520. package/cjs/components/Table/Table.cjs +0 -1
  521. package/cjs/components/Table/Table.cjs.map +1 -1
  522. package/cjs/components/Table/Table.components.cjs +0 -1
  523. package/cjs/components/Table/Table.components.cjs.map +1 -1
  524. package/cjs/components/Table/Table.module.cjs.map +1 -1
  525. package/cjs/components/Table/TableDataRenderer.cjs +0 -1
  526. package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
  527. package/cjs/components/Table/TableScrollContainer.cjs +0 -1
  528. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  529. package/cjs/components/TableOfContents/TableOfContents.cjs +0 -1
  530. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  531. package/cjs/components/Tabs/Tabs.cjs +0 -1
  532. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  533. package/cjs/components/Tabs/Tabs.module.cjs.map +1 -1
  534. package/cjs/components/Tabs/TabsList/TabsList.cjs +0 -1
  535. package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
  536. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +0 -1
  537. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  538. package/cjs/components/Tabs/TabsTab/TabsTab.cjs +0 -1
  539. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  540. package/cjs/components/TagsInput/TagsInput.cjs +2 -2
  541. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  542. package/cjs/components/Text/Text.cjs +4 -4
  543. package/cjs/components/Text/Text.cjs.map +1 -1
  544. package/cjs/components/Text/Text.module.cjs.map +1 -1
  545. package/cjs/components/TextInput/TextInput.cjs +0 -1
  546. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  547. package/cjs/components/Textarea/Textarea.cjs +3 -2
  548. package/cjs/components/Textarea/Textarea.cjs.map +1 -1
  549. package/cjs/components/ThemeIcon/ThemeIcon.cjs +0 -1
  550. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  551. package/cjs/components/Timeline/Timeline.cjs +0 -1
  552. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  553. package/cjs/components/Timeline/Timeline.module.cjs.map +1 -1
  554. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs +0 -1
  555. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  556. package/cjs/components/Title/Title.cjs +0 -1
  557. package/cjs/components/Title/Title.cjs.map +1 -1
  558. package/cjs/components/Tooltip/Tooltip.cjs +7 -0
  559. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  560. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs +0 -1
  561. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  562. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs +0 -1
  563. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  564. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs +0 -1
  565. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  566. package/cjs/components/Tooltip/use-tooltip.cjs +6 -3
  567. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  568. package/cjs/components/Transition/Transition.cjs +0 -1
  569. package/cjs/components/Transition/Transition.cjs.map +1 -1
  570. package/cjs/components/Tree/FlatTreeNode.cjs +13 -5
  571. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  572. package/cjs/components/Tree/Tree.cjs +0 -1
  573. package/cjs/components/Tree/Tree.cjs.map +1 -1
  574. package/cjs/components/Tree/Tree.module.cjs +3 -1
  575. package/cjs/components/Tree/Tree.module.cjs.map +1 -1
  576. package/cjs/components/Tree/TreeNode.cjs +14 -3
  577. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  578. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs +9 -4
  579. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs.map +1 -1
  580. package/cjs/components/Tree/use-tree-node-drag-drop.cjs +13 -5
  581. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  582. package/cjs/components/Tree/use-tree.cjs +0 -1
  583. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  584. package/cjs/components/TreeSelect/TreeSelect.cjs +0 -1
  585. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  586. package/cjs/components/TreeSelect/TreeSelectOption.cjs +0 -1
  587. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
  588. package/cjs/components/Typography/Typography.cjs +0 -1
  589. package/cjs/components/Typography/Typography.cjs.map +1 -1
  590. package/cjs/components/Typography/Typography.module.cjs.map +1 -1
  591. package/cjs/components/UnstyledButton/UnstyledButton.cjs +0 -1
  592. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  593. package/cjs/components/UnstyledButton/UnstyledButton.module.cjs.map +1 -1
  594. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs +0 -1
  595. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  596. package/cjs/core/Box/use-random-classname/use-random-classname.cjs +0 -1
  597. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  598. package/cjs/core/DirectionProvider/DirectionProvider.cjs +0 -1
  599. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  600. package/cjs/core/InlineStyles/InlineStyles.cjs +0 -1
  601. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  602. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs +0 -1
  603. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
  604. package/cjs/core/MantineProvider/Mantine.context.cjs +0 -1
  605. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  606. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs +0 -1
  607. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
  608. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs +0 -1
  609. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  610. package/cjs/core/MantineProvider/MantineProvider.cjs +0 -1
  611. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  612. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs +0 -1
  613. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  614. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs +0 -1
  615. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  616. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs +0 -1
  617. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  618. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs +0 -1
  619. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  620. package/cjs/core/MantineProvider/use-matches/use-matches.cjs +0 -1
  621. package/cjs/core/MantineProvider/use-matches/use-matches.cjs.map +1 -1
  622. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs +0 -1
  623. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
  624. package/cjs/core/factory/factory.cjs +0 -1
  625. package/cjs/core/factory/factory.cjs.map +1 -1
  626. package/cjs/core/factory/polymorphic-factory.cjs +0 -1
  627. package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
  628. package/cjs/core/utils/create-safe-context/create-safe-context.cjs +0 -1
  629. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  630. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs +0 -1
  631. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
  632. package/cjs/core/utils/get-single-element-child/get-single-element-child.cjs +0 -1
  633. package/cjs/core/utils/get-single-element-child/get-single-element-child.cjs.map +1 -1
  634. package/cjs/core/utils/is-element/is-element.cjs +0 -1
  635. package/cjs/core/utils/is-element/is-element.cjs.map +1 -1
  636. package/cjs/core/utils/use-hovered/use-hovered.cjs +0 -1
  637. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  638. package/cjs/index.cjs +25 -2
  639. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs +0 -1
  640. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
  641. package/cjs/utils/Floating/FloatingArrow/get-arrow-position-styles.cjs +59 -0
  642. package/cjs/utils/Floating/FloatingArrow/get-arrow-position-styles.cjs.map +1 -1
  643. package/cjs/utils/Floating/use-context-menu-handlers.cjs +85 -0
  644. package/cjs/utils/Floating/use-context-menu-handlers.cjs.map +1 -0
  645. package/cjs/utils/Floating/use-delayed-hover.cjs +0 -1
  646. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  647. package/cjs/utils/InlineInput/InlineInput.cjs +0 -1
  648. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  649. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs +0 -1
  650. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  651. package/esm/components/Autocomplete/Autocomplete.mjs +2 -1
  652. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  653. package/esm/components/Blockquote/Blockquote.mjs +4 -3
  654. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  655. package/esm/components/Blockquote/Blockquote.module.mjs.map +1 -1
  656. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  657. package/esm/components/Collapse/Collapse.mjs +2 -1
  658. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  659. package/esm/components/Combobox/Combobox.context.mjs.map +1 -1
  660. package/esm/components/Combobox/Combobox.mjs +26 -3
  661. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  662. package/esm/components/Combobox/Combobox.module.mjs.map +1 -1
  663. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs +1 -0
  664. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs.map +1 -1
  665. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +4 -2
  666. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  667. package/esm/components/Dialog/Dialog.mjs.map +1 -1
  668. package/esm/components/Input/Input.mjs +11 -2
  669. package/esm/components/Input/Input.mjs.map +1 -1
  670. package/esm/components/Input/Input.module.mjs +1 -0
  671. package/esm/components/Input/Input.module.mjs.map +1 -1
  672. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  673. package/esm/components/Menu/Menu.mjs +37 -3
  674. package/esm/components/Menu/Menu.mjs.map +1 -1
  675. package/esm/components/Menu/Menu.module.mjs +2 -0
  676. package/esm/components/Menu/Menu.module.mjs.map +1 -1
  677. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs +8 -0
  678. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs.map +1 -0
  679. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs +30 -0
  680. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs.map +1 -0
  681. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs +52 -0
  682. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs.map +1 -0
  683. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs +28 -0
  684. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs.map +1 -0
  685. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs +9 -1
  686. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  687. package/esm/components/Menu/MenuItem/MenuItem.mjs +18 -1
  688. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  689. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs +8 -0
  690. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs.map +1 -0
  691. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs +27 -0
  692. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs.map +1 -0
  693. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs +46 -0
  694. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs.map +1 -0
  695. package/esm/components/Menu/MenuSearch/MenuSearch.mjs +115 -0
  696. package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -0
  697. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs +114 -0
  698. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -0
  699. package/esm/components/Menu/MenuSub/MenuSub.mjs +18 -15
  700. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  701. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs +13 -1
  702. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs.map +1 -1
  703. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs +18 -1
  704. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  705. package/esm/components/Menu/use-menu-type-ahead.mjs +72 -0
  706. package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -0
  707. package/esm/components/MultiSelect/MultiSelect.mjs +2 -1
  708. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  709. package/esm/components/OverflowList/OverflowList.mjs +69 -10
  710. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  711. package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
  712. package/esm/components/Pagination/Pagination.mjs +15 -3
  713. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  714. package/esm/components/Pagination/Pagination.module.mjs +3 -1
  715. package/esm/components/Pagination/Pagination.module.mjs.map +1 -1
  716. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs +32 -0
  717. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs.map +1 -0
  718. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs +3 -1
  719. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  720. package/esm/components/Popover/Popover.mjs +5 -9
  721. package/esm/components/Popover/Popover.mjs.map +1 -1
  722. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs +28 -0
  723. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs.map +1 -0
  724. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs +8 -0
  725. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
  726. package/esm/components/Popover/use-popover.mjs +53 -20
  727. package/esm/components/Popover/use-popover.mjs.map +1 -1
  728. package/esm/components/Radio/Radio.mjs +1 -1
  729. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs +2 -2
  730. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  731. package/esm/components/SegmentedControl/SegmentedControl.module.mjs.map +1 -1
  732. package/esm/components/Select/Select.mjs +2 -1
  733. package/esm/components/Select/Select.mjs.map +1 -1
  734. package/esm/components/Splitter/GripIcon.mjs +52 -0
  735. package/esm/components/Splitter/GripIcon.mjs.map +1 -0
  736. package/esm/components/Splitter/Splitter.context.mjs +8 -0
  737. package/esm/components/Splitter/Splitter.context.mjs.map +1 -0
  738. package/esm/components/Splitter/Splitter.mjs +111 -0
  739. package/esm/components/Splitter/Splitter.mjs.map +1 -0
  740. package/esm/components/Splitter/Splitter.module.mjs +12 -0
  741. package/esm/components/Splitter/Splitter.module.mjs.map +1 -0
  742. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +34 -0
  743. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -0
  744. package/esm/components/Stepper/Stepper.module.mjs.map +1 -1
  745. package/esm/components/Table/Table.module.mjs.map +1 -1
  746. package/esm/components/Tabs/Tabs.module.mjs.map +1 -1
  747. package/esm/components/TagsInput/TagsInput.mjs +2 -1
  748. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  749. package/esm/components/Text/Text.mjs +4 -3
  750. package/esm/components/Text/Text.mjs.map +1 -1
  751. package/esm/components/Text/Text.module.mjs.map +1 -1
  752. package/esm/components/Textarea/Textarea.mjs +3 -1
  753. package/esm/components/Textarea/Textarea.mjs.map +1 -1
  754. package/esm/components/Timeline/Timeline.module.mjs.map +1 -1
  755. package/esm/components/Tooltip/Tooltip.mjs +7 -0
  756. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  757. package/esm/components/Tooltip/use-tooltip.mjs +8 -4
  758. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  759. package/esm/components/Tree/FlatTreeNode.mjs +14 -5
  760. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  761. package/esm/components/Tree/Tree.mjs.map +1 -1
  762. package/esm/components/Tree/Tree.module.mjs +3 -1
  763. package/esm/components/Tree/Tree.module.mjs.map +1 -1
  764. package/esm/components/Tree/TreeNode.mjs +14 -2
  765. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  766. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs +9 -4
  767. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +1 -1
  768. package/esm/components/Tree/use-tree-node-drag-drop.mjs +13 -4
  769. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
  770. package/esm/components/Typography/Typography.module.mjs.map +1 -1
  771. package/esm/components/UnstyledButton/UnstyledButton.module.mjs.map +1 -1
  772. package/esm/index.mjs +14 -2
  773. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs +59 -1
  774. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs.map +1 -1
  775. package/esm/utils/Floating/use-context-menu-handlers.mjs +85 -0
  776. package/esm/utils/Floating/use-context-menu-handlers.mjs.map +1 -0
  777. package/lib/components/Blockquote/Blockquote.d.ts +3 -1
  778. package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +1 -1
  779. package/lib/components/Collapse/Collapse.d.ts +1 -1
  780. package/lib/components/Combobox/Combobox.context.d.ts +1 -0
  781. package/lib/components/Combobox/Combobox.d.ts +2 -0
  782. package/lib/components/Combobox/Combobox.types.d.ts +2 -0
  783. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +3 -1
  784. package/lib/components/Dialog/Dialog.d.ts +1 -1
  785. package/lib/components/Input/Input.d.ts +5 -1
  786. package/lib/components/MaskInput/use-mask-input-props.d.ts +3 -0
  787. package/lib/components/Menu/Menu.context.d.ts +5 -0
  788. package/lib/components/Menu/Menu.d.ts +41 -1
  789. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.d.ts +5 -0
  790. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.d.ts +14 -0
  791. package/lib/components/Menu/MenuCheckboxItem/MenuCheckboxItem.d.ts +37 -0
  792. package/lib/components/Menu/MenuContextMenu/MenuContextMenu.d.ts +12 -0
  793. package/lib/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  794. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.context.d.ts +5 -0
  795. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.d.ts +14 -0
  796. package/lib/components/Menu/MenuRadioItem/MenuRadioItem.d.ts +35 -0
  797. package/lib/components/Menu/MenuSearch/MenuSearch.d.ts +19 -0
  798. package/lib/components/Menu/MenuSelectableItem/MenuSelectableItem.d.ts +20 -0
  799. package/lib/components/Menu/MenuSub/MenuSub.d.ts +2 -0
  800. package/lib/components/Menu/MenuSubItem/MenuSubItem.d.ts +1 -1
  801. package/lib/components/Menu/index.d.ts +13 -1
  802. package/lib/components/Menu/use-menu-type-ahead.d.ts +7 -0
  803. package/lib/components/OverflowList/OverflowList.d.ts +7 -2
  804. package/lib/components/Pagination/Pagination.context.d.ts +1 -0
  805. package/lib/components/Pagination/Pagination.d.ts +8 -0
  806. package/lib/components/Pagination/PaginationLabel/PaginationLabel.d.ts +22 -0
  807. package/lib/components/Pagination/PaginationRoot/PaginationRoot.d.ts +3 -1
  808. package/lib/components/Pagination/index.d.ts +3 -1
  809. package/lib/components/Popover/Popover.d.ts +6 -1
  810. package/lib/components/Popover/PopoverContextMenu/PopoverContextMenu.d.ts +12 -0
  811. package/lib/components/Popover/index.d.ts +3 -1
  812. package/lib/components/Popover/use-popover.d.ts +1 -3
  813. package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +1 -1
  814. package/lib/components/Splitter/GripIcon.d.ts +3 -0
  815. package/lib/components/Splitter/Splitter.context.d.ts +9 -0
  816. package/lib/components/Splitter/Splitter.d.ts +57 -0
  817. package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +30 -0
  818. package/lib/components/Splitter/index.d.ts +18 -0
  819. package/lib/components/Text/Text.d.ts +3 -1
  820. package/lib/components/Textarea/Textarea.d.ts +4 -0
  821. package/lib/components/Tree/FlatTreeNode.d.ts +5 -1
  822. package/lib/components/Tree/Tree.d.ts +2 -0
  823. package/lib/components/Tree/flatten-tree-data/flatten-tree-data.d.ts +10 -0
  824. package/lib/components/Tree/index.d.ts +1 -1
  825. package/lib/components/Tree/use-tree-node-drag-drop.d.ts +2 -1
  826. package/lib/components/index.d.ts +1 -0
  827. package/lib/utils/Floating/FloatingArrow/get-arrow-position-styles.d.ts +4 -0
  828. package/lib/utils/Floating/index.d.ts +1 -0
  829. package/lib/utils/Floating/types.d.ts +1 -1
  830. package/lib/utils/Floating/use-context-menu-handlers.d.ts +25 -0
  831. package/package.json +2 -2
  832. package/styles/Blockquote.css +1 -0
  833. package/styles/Blockquote.layer.css +1 -0
  834. package/styles/Combobox.css +8 -0
  835. package/styles/Combobox.layer.css +8 -0
  836. package/styles/Input.css +25 -4
  837. package/styles/Input.layer.css +25 -4
  838. package/styles/Menu.css +41 -2
  839. package/styles/Menu.layer.css +41 -2
  840. package/styles/Pagination.css +33 -0
  841. package/styles/Pagination.layer.css +33 -0
  842. package/styles/SegmentedControl.css +4 -1
  843. package/styles/SegmentedControl.layer.css +4 -1
  844. package/styles/Splitter.css +76 -0
  845. package/styles/Splitter.layer.css +77 -0
  846. package/styles/Stepper.css +1 -5
  847. package/styles/Stepper.layer.css +1 -5
  848. package/styles/Table.css +1 -5
  849. package/styles/Table.layer.css +1 -5
  850. package/styles/Tabs.css +13 -28
  851. package/styles/Tabs.layer.css +13 -28
  852. package/styles/Text.css +3 -2
  853. package/styles/Text.layer.css +3 -2
  854. package/styles/Timeline.css +14 -42
  855. package/styles/Timeline.layer.css +14 -42
  856. package/styles/Tree.css +55 -11
  857. package/styles/Tree.layer.css +55 -11
  858. package/styles/Typography.css +1 -1
  859. package/styles/Typography.layer.css +1 -1
  860. package/styles/UnstyledButton.css +1 -5
  861. package/styles/UnstyledButton.layer.css +1 -5
  862. package/styles.css +278 -106
  863. package/styles.layer.css +278 -106
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { createEventHandler } from "../../../core/utils/create-event-handler/create-event-handler.mjs";
3
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
4
+ import { factory } from "../../../core/factory/factory.mjs";
5
+ import { Input } from "../../Input/Input.mjs";
6
+ import { useMenuContext } from "../Menu.context.mjs";
7
+ import Menu_module_default from "../Menu.module.mjs";
8
+ import { useEffect, useRef } from "react";
9
+ import { useMergedRef } from "@mantine/hooks";
10
+ import { jsx } from "react/jsx-runtime";
11
+ //#region packages/@mantine/core/src/components/Menu/MenuSearch/MenuSearch.tsx
12
+ const ITEM_SELECTOR = "[data-menu-item]:not([data-disabled])";
13
+ const ACTIVE_SELECTOR = "[data-menu-active]";
14
+ function getDropdown(node) {
15
+ return node?.closest("[data-menu-dropdown]");
16
+ }
17
+ function getItems(dropdown) {
18
+ if (!dropdown) return [];
19
+ return Array.from(dropdown.querySelectorAll(ITEM_SELECTOR)).filter((item) => item.closest("[data-menu-dropdown]") === dropdown);
20
+ }
21
+ function clearActive(dropdown) {
22
+ if (!dropdown) return;
23
+ dropdown.querySelectorAll(ACTIVE_SELECTOR).forEach((node) => {
24
+ if (node.closest("[data-menu-dropdown]") === dropdown) node.removeAttribute("data-menu-active");
25
+ });
26
+ }
27
+ function setActive(item, dropdown) {
28
+ clearActive(dropdown);
29
+ if (item) {
30
+ item.setAttribute("data-menu-active", "true");
31
+ item.scrollIntoView({ block: "nearest" });
32
+ }
33
+ }
34
+ function getActiveIndex(items) {
35
+ return items.findIndex((item) => item.hasAttribute("data-menu-active"));
36
+ }
37
+ const defaultProps = { clearSearchOnClose: true };
38
+ const MenuSearch = factory((props) => {
39
+ const { classNames, styles, onKeyDown, onChange, size, clearSearchOnClose, ref, ...others } = useProps("MenuSearch", defaultProps, props);
40
+ const ctx = useMenuContext();
41
+ const inputRef = useRef(null);
42
+ const mergedRef = useMergedRef(ref, inputRef);
43
+ const onChangeRef = useRef(onChange);
44
+ onChangeRef.current = onChange;
45
+ useEffect(() => {
46
+ return ctx.registerSearch();
47
+ }, [ctx.registerSearch]);
48
+ useEffect(() => {
49
+ if (clearSearchOnClose) ctx.searchExitClearRef.current = () => {
50
+ onChangeRef.current?.({ currentTarget: { value: "" } });
51
+ };
52
+ else ctx.searchExitClearRef.current = null;
53
+ }, [clearSearchOnClose, ctx.searchExitClearRef]);
54
+ useEffect(() => {
55
+ if (!ctx.opened) clearActive(getDropdown(inputRef.current));
56
+ }, [ctx.opened]);
57
+ const handleChange = createEventHandler(onChange, (event) => {
58
+ clearActive(getDropdown(event.currentTarget));
59
+ });
60
+ const handleKeyDown = createEventHandler(onKeyDown, (event) => {
61
+ if (event.defaultPrevented) return;
62
+ const dropdown = getDropdown(event.currentTarget);
63
+ const items = getItems(dropdown);
64
+ if (event.key === "ArrowDown") {
65
+ event.preventDefault();
66
+ if (items.length === 0) return;
67
+ const current = getActiveIndex(items);
68
+ setActive(items[current >= items.length - 1 ? ctx.loop ? 0 : current : current + 1] ?? null, dropdown);
69
+ } else if (event.key === "ArrowUp") {
70
+ event.preventDefault();
71
+ if (items.length === 0) return;
72
+ const current = getActiveIndex(items);
73
+ setActive(items[current <= 0 ? current === -1 ? items.length - 1 : ctx.loop ? items.length - 1 : 0 : current - 1] ?? null, dropdown);
74
+ } else if (event.key === "Home") {
75
+ event.preventDefault();
76
+ if (items.length > 0) setActive(items[0], dropdown);
77
+ } else if (event.key === "End") {
78
+ event.preventDefault();
79
+ if (items.length > 0) setActive(items[items.length - 1], dropdown);
80
+ } else if (event.key === "Enter") {
81
+ if (event.nativeEvent.isComposing || event.nativeEvent.keyCode === 229) return;
82
+ const target = items[getActiveIndex(items)];
83
+ if (target) {
84
+ event.preventDefault();
85
+ if (target.hasAttribute("data-sub-menu-item")) {
86
+ target.focus();
87
+ target.dispatchEvent(new KeyboardEvent("keydown", {
88
+ key: "ArrowRight",
89
+ bubbles: true
90
+ }));
91
+ } else target.click();
92
+ }
93
+ }
94
+ });
95
+ const _styles = ctx.getStyles("search");
96
+ return /* @__PURE__ */ jsx(Input, {
97
+ "data-autofocus": true,
98
+ "data-mantine-stop-propagation": true,
99
+ type: "search",
100
+ size,
101
+ ...others,
102
+ ref: mergedRef,
103
+ classNames: [{ input: _styles.className }, classNames],
104
+ styles: [{ input: _styles.style }, styles],
105
+ onKeyDown: handleKeyDown,
106
+ onChange: handleChange,
107
+ __staticSelector: "Menu"
108
+ });
109
+ });
110
+ MenuSearch.classes = Menu_module_default;
111
+ MenuSearch.displayName = "@mantine/core/MenuSearch";
112
+ //#endregion
113
+ export { MenuSearch };
114
+
115
+ //# sourceMappingURL=MenuSearch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSearch.mjs","names":["classes"],"sources":["../../../../src/components/Menu/MenuSearch/MenuSearch.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createEventHandler, ElementProps, factory, Factory, useProps } from '../../../core';\nimport { Input, InputProps } from '../../Input/Input';\nimport { useMenuContext } from '../Menu.context';\nimport classes from '../Menu.module.css';\n\nconst ITEM_SELECTOR = '[data-menu-item]:not([data-disabled])';\nconst ACTIVE_SELECTOR = '[data-menu-active]';\n\nfunction getDropdown(node: HTMLElement | null): HTMLElement | null {\n return node?.closest('[data-menu-dropdown]') as HTMLElement | null;\n}\n\nfunction getItems(dropdown: HTMLElement | null): HTMLElement[] {\n if (!dropdown) {\n return [];\n }\n return Array.from(dropdown.querySelectorAll<HTMLElement>(ITEM_SELECTOR)).filter(\n (item) => item.closest('[data-menu-dropdown]') === dropdown\n );\n}\n\nfunction clearActive(dropdown: HTMLElement | null) {\n if (!dropdown) {\n return;\n }\n dropdown.querySelectorAll<HTMLElement>(ACTIVE_SELECTOR).forEach((node) => {\n if (node.closest('[data-menu-dropdown]') === dropdown) {\n node.removeAttribute('data-menu-active');\n }\n });\n}\n\nfunction setActive(item: HTMLElement | null, dropdown: HTMLElement | null) {\n clearActive(dropdown);\n if (item) {\n item.setAttribute('data-menu-active', 'true');\n item.scrollIntoView({ block: 'nearest' });\n }\n}\n\nfunction getActiveIndex(items: HTMLElement[]): number {\n return items.findIndex((item) => item.hasAttribute('data-menu-active'));\n}\n\nexport type MenuSearchStylesNames = 'search';\n\nexport interface MenuSearchProps extends InputProps, ElementProps<'input', 'size'> {\n /** If set, clears the search value after the menu close transition completes. Requires a controlled `value`/`onChange` pair. @default true */\n clearSearchOnClose?: boolean;\n}\n\nexport type MenuSearchFactory = Factory<{\n props: MenuSearchProps;\n ref: HTMLInputElement;\n stylesNames: MenuSearchStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n clearSearchOnClose: true,\n} satisfies Partial<MenuSearchProps>;\n\nexport const MenuSearch = factory<MenuSearchFactory>((props) => {\n const { classNames, styles, onKeyDown, onChange, size, clearSearchOnClose, ref, ...others } =\n useProps('MenuSearch', defaultProps, props);\n\n const ctx = useMenuContext();\n const inputRef = useRef<HTMLInputElement>(null);\n const mergedRef = useMergedRef(ref, inputRef);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => {\n const unregister = ctx.registerSearch();\n return unregister;\n }, [ctx.registerSearch]);\n\n useEffect(() => {\n if (clearSearchOnClose) {\n ctx.searchExitClearRef.current = () => {\n onChangeRef.current?.({\n currentTarget: { value: '' },\n } as unknown as React.ChangeEvent<HTMLInputElement>);\n };\n } else {\n ctx.searchExitClearRef.current = null;\n }\n }, [clearSearchOnClose, ctx.searchExitClearRef]);\n\n useEffect(() => {\n if (!ctx.opened) {\n const dropdown = getDropdown(inputRef.current);\n clearActive(dropdown);\n }\n }, [ctx.opened]);\n\n const handleChange = createEventHandler<any>(\n onChange,\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const dropdown = getDropdown(event.currentTarget);\n clearActive(dropdown);\n }\n );\n\n const handleKeyDown = createEventHandler<any>(\n onKeyDown,\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.defaultPrevented) {\n return;\n }\n\n const dropdown = getDropdown(event.currentTarget);\n const items = getItems(dropdown);\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (items.length === 0) {\n return;\n }\n const current = getActiveIndex(items);\n const next = current >= items.length - 1 ? (ctx.loop ? 0 : current) : current + 1;\n setActive(items[next] ?? null, dropdown);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (items.length === 0) {\n return;\n }\n const current = getActiveIndex(items);\n const next =\n current <= 0\n ? current === -1\n ? items.length - 1\n : ctx.loop\n ? items.length - 1\n : 0\n : current - 1;\n setActive(items[next] ?? null, dropdown);\n } else if (event.key === 'Home') {\n event.preventDefault();\n if (items.length > 0) {\n setActive(items[0]!, dropdown);\n }\n } else if (event.key === 'End') {\n event.preventDefault();\n if (items.length > 0) {\n setActive(items[items.length - 1]!, dropdown);\n }\n } else if (event.key === 'Enter') {\n if (event.nativeEvent.isComposing || (event.nativeEvent as KeyboardEvent).keyCode === 229) {\n return;\n }\n const activeIndex = getActiveIndex(items);\n const target = items[activeIndex];\n if (target) {\n event.preventDefault();\n if (target.hasAttribute('data-sub-menu-item')) {\n target.focus();\n target.dispatchEvent(\n new KeyboardEvent('keydown', { key: 'ArrowRight', bubbles: true })\n );\n } else {\n target.click();\n }\n }\n }\n }\n );\n\n const _styles = ctx.getStyles('search');\n\n return (\n <Input\n data-autofocus\n data-mantine-stop-propagation\n type=\"search\"\n size={size}\n {...others}\n ref={mergedRef}\n classNames={[{ input: _styles.className }, classNames] as any}\n styles={[{ input: _styles.style }, styles] as any}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n __staticSelector=\"Menu\"\n />\n );\n});\n\nMenuSearch.classes = classes;\nMenuSearch.displayName = '@mantine/core/MenuSearch';\n"],"mappings":";;;;;;;;;;;AAOA,MAAM,gBAAgB;AACtB,MAAM,kBAAkB;AAExB,SAAS,YAAY,MAA8C;CACjE,OAAO,MAAM,QAAQ,sBAAsB;AAC7C;AAEA,SAAS,SAAS,UAA6C;CAC7D,IAAI,CAAC,UACH,OAAO,CAAC;CAEV,OAAO,MAAM,KAAK,SAAS,iBAA8B,aAAa,CAAC,EAAE,QACtE,SAAS,KAAK,QAAQ,sBAAsB,MAAM,QACrD;AACF;AAEA,SAAS,YAAY,UAA8B;CACjD,IAAI,CAAC,UACH;CAEF,SAAS,iBAA8B,eAAe,EAAE,SAAS,SAAS;EACxE,IAAI,KAAK,QAAQ,sBAAsB,MAAM,UAC3C,KAAK,gBAAgB,kBAAkB;CAE3C,CAAC;AACH;AAEA,SAAS,UAAU,MAA0B,UAA8B;CACzE,YAAY,QAAQ;CACpB,IAAI,MAAM;EACR,KAAK,aAAa,oBAAoB,MAAM;EAC5C,KAAK,eAAe,EAAE,OAAO,UAAU,CAAC;CAC1C;AACF;AAEA,SAAS,eAAe,OAA8B;CACpD,OAAO,MAAM,WAAW,SAAS,KAAK,aAAa,kBAAkB,CAAC;AACxE;AAgBA,MAAM,eAAe,EACnB,oBAAoB,KACtB;AAEA,MAAa,aAAa,SAA4B,UAAU;CAC9D,MAAM,EAAE,YAAY,QAAQ,WAAW,UAAU,MAAM,oBAAoB,KAAK,GAAG,WACjF,SAAS,cAAc,cAAc,KAAK;CAE5C,MAAM,MAAM,eAAe;CAC3B,MAAM,WAAW,OAAyB,IAAI;CAC9C,MAAM,YAAY,aAAa,KAAK,QAAQ;CAC5C,MAAM,cAAc,OAAO,QAAQ;CACnC,YAAY,UAAU;CAEtB,gBAAgB;EAEd,OADmB,IAAI,eACP;CAClB,GAAG,CAAC,IAAI,cAAc,CAAC;CAEvB,gBAAgB;EACd,IAAI,oBACF,IAAI,mBAAmB,gBAAgB;GACrC,YAAY,UAAU,EACpB,eAAe,EAAE,OAAO,GAAG,EAC7B,CAAmD;EACrD;OAEA,IAAI,mBAAmB,UAAU;CAErC,GAAG,CAAC,oBAAoB,IAAI,kBAAkB,CAAC;CAE/C,gBAAgB;EACd,IAAI,CAAC,IAAI,QAEP,YADiB,YAAY,SAAS,OACnB,CAAC;CAExB,GAAG,CAAC,IAAI,MAAM,CAAC;CAEf,MAAM,eAAe,mBACnB,WACC,UAA+C;EAE9C,YADiB,YAAY,MAAM,aAChB,CAAC;CACtB,CACF;CAEA,MAAM,gBAAgB,mBACpB,YACC,UAAiD;EAChD,IAAI,MAAM,kBACR;EAGF,MAAM,WAAW,YAAY,MAAM,aAAa;EAChD,MAAM,QAAQ,SAAS,QAAQ;EAE/B,IAAI,MAAM,QAAQ,aAAa;GAC7B,MAAM,eAAe;GACrB,IAAI,MAAM,WAAW,GACnB;GAEF,MAAM,UAAU,eAAe,KAAK;GAEpC,UAAU,MADG,WAAW,MAAM,SAAS,IAAK,IAAI,OAAO,IAAI,UAAW,UAAU,MACvD,MAAM,QAAQ;EACzC,OAAO,IAAI,MAAM,QAAQ,WAAW;GAClC,MAAM,eAAe;GACrB,IAAI,MAAM,WAAW,GACnB;GAEF,MAAM,UAAU,eAAe,KAAK;GASpC,UAAU,MAPR,WAAW,IACP,YAAY,KACV,MAAM,SAAS,IACf,IAAI,OACF,MAAM,SAAS,IACf,IACJ,UAAU,MACS,MAAM,QAAQ;EACzC,OAAO,IAAI,MAAM,QAAQ,QAAQ;GAC/B,MAAM,eAAe;GACrB,IAAI,MAAM,SAAS,GACjB,UAAU,MAAM,IAAK,QAAQ;EAEjC,OAAO,IAAI,MAAM,QAAQ,OAAO;GAC9B,MAAM,eAAe;GACrB,IAAI,MAAM,SAAS,GACjB,UAAU,MAAM,MAAM,SAAS,IAAK,QAAQ;EAEhD,OAAO,IAAI,MAAM,QAAQ,SAAS;GAChC,IAAI,MAAM,YAAY,eAAgB,MAAM,YAA8B,YAAY,KACpF;GAGF,MAAM,SAAS,MADK,eAAe,KACJ;GAC/B,IAAI,QAAQ;IACV,MAAM,eAAe;IACrB,IAAI,OAAO,aAAa,oBAAoB,GAAG;KAC7C,OAAO,MAAM;KACb,OAAO,cACL,IAAI,cAAc,WAAW;MAAE,KAAK;MAAc,SAAS;KAAK,CAAC,CACnE;IACF,OACE,OAAO,MAAM;GAEjB;EACF;CACF,CACF;CAEA,MAAM,UAAU,IAAI,UAAU,QAAQ;CAEtC,OACE,oBAAC,OAAD;EACE,kBAAA;EACA,iCAAA;EACA,MAAK;EACC;EACN,GAAI;EACJ,KAAK;EACL,YAAY,CAAC,EAAE,OAAO,QAAQ,UAAU,GAAG,UAAU;EACrD,QAAQ,CAAC,EAAE,OAAO,QAAQ,MAAM,GAAG,MAAM;EACzC,WAAW;EACX,UAAU;EACV,kBAAiB;CAClB,CAAA;AAEL,CAAC;AAED,WAAW,UAAUA;AACrB,WAAW,cAAc"}
@@ -0,0 +1,114 @@
1
+ "use client";
2
+ import { createScopedKeydownHandler } from "../../../core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs";
3
+ import { createEventHandler } from "../../../core/utils/create-event-handler/create-event-handler.mjs";
4
+ import { parseThemeColor } from "../../../core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs";
5
+ import { useMantineTheme } from "../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs";
6
+ import { useDirection } from "../../../core/DirectionProvider/DirectionProvider.mjs";
7
+ import { UnstyledButton } from "../../UnstyledButton/UnstyledButton.mjs";
8
+ import { useMenuContext } from "../Menu.context.mjs";
9
+ import { SubMenuContext } from "../MenuSub/MenuSub.context.mjs";
10
+ import { use, useRef } from "react";
11
+ import { useMergedRef } from "@mantine/hooks";
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ //#region packages/@mantine/core/src/components/Menu/MenuSelectableItem/MenuSelectableItem.tsx
14
+ function MenuSelectableItem({ role, checked, indicator, onSelect, color, closeMenuOnClick, rightSection, children, disabled, dataDisabled, className, style, styles, classNames, buttonRef, others }) {
15
+ const ctx = useMenuContext();
16
+ const subCtx = use(SubMenuContext);
17
+ const theme = useMantineTheme();
18
+ const { dir } = useDirection();
19
+ const itemRef = useRef(null);
20
+ const handleClick = createEventHandler(others.onClick, () => {
21
+ if (dataDisabled) return;
22
+ onSelect();
23
+ if (closeMenuOnClick) ctx.closeDropdownImmediately();
24
+ });
25
+ const handleMouseMove = createEventHandler(others.onMouseMove, () => {
26
+ if (!ctx.hasSearch) return;
27
+ const dropdown = itemRef.current?.closest("[data-menu-dropdown]");
28
+ if (!dropdown) return;
29
+ dropdown.querySelectorAll("[data-menu-active]").forEach((node) => {
30
+ if (node !== itemRef.current && node.closest("[data-menu-dropdown]") === dropdown) node.removeAttribute("data-menu-active");
31
+ });
32
+ });
33
+ const handleKeydown = createEventHandler(others.onKeyDown, (event) => {
34
+ if (event.key === "ArrowLeft" && subCtx) {
35
+ subCtx.close();
36
+ subCtx.focusParentItem();
37
+ }
38
+ });
39
+ const colors = color ? theme.variantColorResolver({
40
+ color,
41
+ theme,
42
+ variant: "light"
43
+ }) : void 0;
44
+ const parsedThemeColor = color ? parseThemeColor({
45
+ color,
46
+ theme
47
+ }) : null;
48
+ const renderIndicator = ctx.alignItemsLabels !== "none" || checked;
49
+ return /* @__PURE__ */ jsxs(UnstyledButton, {
50
+ onMouseDown: (event) => event.preventDefault(),
51
+ ...others,
52
+ unstyled: ctx.unstyled,
53
+ tabIndex: ctx.menuItemTabIndex,
54
+ ...ctx.getStyles("item", {
55
+ className,
56
+ style,
57
+ styles,
58
+ classNames
59
+ }),
60
+ ref: useMergedRef(itemRef, buttonRef),
61
+ role,
62
+ "aria-checked": checked,
63
+ disabled,
64
+ "data-menu-item": true,
65
+ "data-checked": checked || void 0,
66
+ "data-disabled": disabled || dataDisabled || void 0,
67
+ "data-mantine-stop-propagation": true,
68
+ onClick: handleClick,
69
+ onMouseMove: handleMouseMove,
70
+ onKeyDown: createScopedKeydownHandler({
71
+ siblingSelector: "[data-menu-item]:not([data-disabled])",
72
+ parentSelector: "[data-menu-dropdown]",
73
+ activateOnFocus: false,
74
+ loop: ctx.loop,
75
+ dir,
76
+ orientation: "vertical",
77
+ onKeyDown: handleKeydown
78
+ }),
79
+ __vars: {
80
+ "--menu-item-color": parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === void 0 ? `var(--mantine-color-${parsedThemeColor.color}-6)` : colors?.color,
81
+ "--menu-item-hover": colors?.hover
82
+ },
83
+ children: [
84
+ renderIndicator && /* @__PURE__ */ jsx("div", {
85
+ ...ctx.getStyles("itemIndicator", {
86
+ styles,
87
+ classNames
88
+ }),
89
+ "data-checked": checked || void 0,
90
+ children: checked ? indicator : null
91
+ }),
92
+ children && /* @__PURE__ */ jsx("div", {
93
+ ...ctx.getStyles("itemLabel", {
94
+ styles,
95
+ classNames
96
+ }),
97
+ "data-menu-item-label": true,
98
+ children
99
+ }),
100
+ rightSection && /* @__PURE__ */ jsx("div", {
101
+ ...ctx.getStyles("itemSection", {
102
+ styles,
103
+ classNames
104
+ }),
105
+ "data-position": "right",
106
+ children: rightSection
107
+ })
108
+ ]
109
+ });
110
+ }
111
+ //#endregion
112
+ export { MenuSelectableItem };
113
+
114
+ //# sourceMappingURL=MenuSelectableItem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSelectableItem.mjs","names":[],"sources":["../../../../src/components/Menu/MenuSelectableItem/MenuSelectableItem.tsx"],"sourcesContent":["import { use, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n createEventHandler,\n createScopedKeydownHandler,\n MantineColor,\n parseThemeColor,\n useDirection,\n useMantineTheme,\n} from '../../../core';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useMenuContext } from '../Menu.context';\nimport { SubMenuContext } from '../MenuSub/MenuSub.context';\n\nexport interface MenuSelectableItemProps {\n role: 'menuitemcheckbox' | 'menuitemradio';\n checked: boolean;\n indicator: React.ReactNode;\n onSelect: () => void;\n color: MantineColor | undefined;\n closeMenuOnClick: boolean | undefined;\n rightSection: React.ReactNode;\n children: React.ReactNode;\n disabled: boolean | undefined;\n dataDisabled: boolean | undefined;\n className: string | undefined;\n style: any;\n styles: any;\n classNames: any;\n buttonRef: React.Ref<HTMLButtonElement> | undefined;\n others: Record<string, any>;\n}\n\nexport function MenuSelectableItem({\n role,\n checked,\n indicator,\n onSelect,\n color,\n closeMenuOnClick,\n rightSection,\n children,\n disabled,\n dataDisabled,\n className,\n style,\n styles,\n classNames,\n buttonRef,\n others,\n}: MenuSelectableItemProps) {\n const ctx = useMenuContext();\n const subCtx = use(SubMenuContext);\n const theme = useMantineTheme();\n const { dir } = useDirection();\n const itemRef = useRef<HTMLButtonElement>(null);\n\n const handleClick = createEventHandler<any>(others.onClick, () => {\n if (dataDisabled) {\n return;\n }\n onSelect();\n if (closeMenuOnClick) {\n ctx.closeDropdownImmediately();\n }\n });\n\n const handleMouseMove = createEventHandler<any>(others.onMouseMove, () => {\n if (!ctx.hasSearch) {\n return;\n }\n const dropdown = itemRef.current?.closest('[data-menu-dropdown]');\n if (!dropdown) {\n return;\n }\n dropdown.querySelectorAll<HTMLElement>('[data-menu-active]').forEach((node) => {\n if (node !== itemRef.current && node.closest('[data-menu-dropdown]') === dropdown) {\n node.removeAttribute('data-menu-active');\n }\n });\n });\n\n const handleKeydown = createEventHandler<any>(others.onKeyDown, (event) => {\n if (event.key === 'ArrowLeft' && subCtx) {\n subCtx.close();\n subCtx.focusParentItem();\n }\n });\n\n const colors = color ? theme.variantColorResolver({ color, theme, variant: 'light' }) : undefined;\n const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;\n const renderIndicator = ctx.alignItemsLabels !== 'none' || checked;\n\n return (\n <UnstyledButton\n onMouseDown={(event) => event.preventDefault()}\n {...others}\n unstyled={ctx.unstyled}\n tabIndex={ctx.menuItemTabIndex}\n {...ctx.getStyles('item', { className, style, styles, classNames })}\n ref={useMergedRef(itemRef, buttonRef)}\n role={role}\n aria-checked={checked}\n disabled={disabled}\n data-menu-item\n data-checked={checked || undefined}\n data-disabled={disabled || dataDisabled || undefined}\n data-mantine-stop-propagation\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[data-menu-item]:not([data-disabled])',\n parentSelector: '[data-menu-dropdown]',\n activateOnFocus: false,\n loop: ctx.loop,\n dir,\n orientation: 'vertical',\n onKeyDown: handleKeydown,\n })}\n __vars={{\n '--menu-item-color':\n parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === undefined\n ? `var(--mantine-color-${parsedThemeColor.color}-6)`\n : colors?.color,\n '--menu-item-hover': colors?.hover,\n }}\n >\n {renderIndicator && (\n <div\n {...ctx.getStyles('itemIndicator', { styles, classNames })}\n data-checked={checked || undefined}\n >\n {checked ? indicator : null}\n </div>\n )}\n {children && (\n <div {...ctx.getStyles('itemLabel', { styles, classNames })} data-menu-item-label>\n {children}\n </div>\n )}\n {rightSection && (\n <div {...ctx.getStyles('itemSection', { styles, classNames })} data-position=\"right\">\n {rightSection}\n </div>\n )}\n </UnstyledButton>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAiCA,SAAgB,mBAAmB,EACjC,MACA,SACA,WACA,UACA,OACA,kBACA,cACA,UACA,UACA,cACA,WACA,OACA,QACA,YACA,WACA,UAC0B;CAC1B,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,IAAI,cAAc;CACjC,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,UAAU,OAA0B,IAAI;CAE9C,MAAM,cAAc,mBAAwB,OAAO,eAAe;EAChE,IAAI,cACF;EAEF,SAAS;EACT,IAAI,kBACF,IAAI,yBAAyB;CAEjC,CAAC;CAED,MAAM,kBAAkB,mBAAwB,OAAO,mBAAmB;EACxE,IAAI,CAAC,IAAI,WACP;EAEF,MAAM,WAAW,QAAQ,SAAS,QAAQ,sBAAsB;EAChE,IAAI,CAAC,UACH;EAEF,SAAS,iBAA8B,oBAAoB,EAAE,SAAS,SAAS;GAC7E,IAAI,SAAS,QAAQ,WAAW,KAAK,QAAQ,sBAAsB,MAAM,UACvE,KAAK,gBAAgB,kBAAkB;EAE3C,CAAC;CACH,CAAC;CAED,MAAM,gBAAgB,mBAAwB,OAAO,YAAY,UAAU;EACzE,IAAI,MAAM,QAAQ,eAAe,QAAQ;GACvC,OAAO,MAAM;GACb,OAAO,gBAAgB;EACzB;CACF,CAAC;CAED,MAAM,SAAS,QAAQ,MAAM,qBAAqB;EAAE;EAAO;EAAO,SAAS;CAAQ,CAAC,IAAI,KAAA;CACxF,MAAM,mBAAmB,QAAQ,gBAAgB;EAAE;EAAO;CAAM,CAAC,IAAI;CACrE,MAAM,kBAAkB,IAAI,qBAAqB,UAAU;CAE3D,OACE,qBAAC,gBAAD;EACE,cAAc,UAAU,MAAM,eAAe;EAC7C,GAAI;EACJ,UAAU,IAAI;EACd,UAAU,IAAI;EACd,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAClE,KAAK,aAAa,SAAS,SAAS;EAC9B;EACN,gBAAc;EACJ;EACV,kBAAA;EACA,gBAAc,WAAW,KAAA;EACzB,iBAAe,YAAY,gBAAgB,KAAA;EAC3C,iCAAA;EACA,SAAS;EACT,aAAa;EACb,WAAW,2BAA2B;GACpC,iBAAiB;GACjB,gBAAgB;GAChB,iBAAiB;GACjB,MAAM,IAAI;GACV;GACA,aAAa;GACb,WAAW;EACb,CAAC;EACD,QAAQ;GACN,qBACE,kBAAkB,gBAAgB,kBAAkB,UAAU,KAAA,IAC1D,uBAAuB,iBAAiB,MAAM,OAC9C,QAAQ;GACd,qBAAqB,QAAQ;EAC/B;YA/BF;GAiCG,mBACC,oBAAC,OAAD;IACE,GAAI,IAAI,UAAU,iBAAiB;KAAE;KAAQ;IAAW,CAAC;IACzD,gBAAc,WAAW,KAAA;cAExB,UAAU,YAAY;GACpB,CAAA;GAEN,YACC,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,aAAa;KAAE;KAAQ;IAAW,CAAC;IAAG,wBAAA;IAC1D;GACE,CAAA;GAEN,gBACC,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,eAAe;KAAE;KAAQ;IAAW,CAAC;IAAG,iBAAc;cAC1E;GACE,CAAA;EAEO;;AAEpB"}
@@ -8,8 +8,8 @@ import { SubMenuContext } from "./MenuSub.context.mjs";
8
8
  import { MenuSubDropdown } from "../MenuSubDropdown/MenuSubDropdown.mjs";
9
9
  import { MenuSubItem } from "../MenuSubItem/MenuSubItem.mjs";
10
10
  import { MenuSubTarget } from "../MenuSubTarget/MenuSubTarget.mjs";
11
- import { use, useCallback, useRef } from "react";
12
- import { useDisclosure, useId as useId$1 } from "@mantine/hooks";
11
+ import { use, useCallback, useEffect, useRef } from "react";
12
+ import { useId as useId$1, useUncontrolled } from "@mantine/hooks";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  import { safePolygon, useFloating, useHover, useInteractions } from "@floating-ui/react";
15
15
  //#region packages/@mantine/core/src/components/Menu/MenuSub/MenuSub.tsx
@@ -22,15 +22,18 @@ const defaultProps = {
22
22
  middlewares: { shift: { crossAxis: true } }
23
23
  };
24
24
  function MenuSub(_props) {
25
- const { children, closeDelay, openDelay, position, safeAreaPolygon, ...others } = useProps("MenuSub", defaultProps, _props);
25
+ const { children, closeDelay, openDelay, position, safeAreaPolygon, opened: openedProp, onChange, ...others } = useProps("MenuSub", defaultProps, _props);
26
26
  const id = useId$1();
27
- const [opened, { open, close }] = useDisclosure(false);
27
+ const [opened, setOpened] = useUncontrolled({
28
+ value: openedProp,
29
+ finalValue: false,
30
+ onChange
31
+ });
28
32
  const parentSubCtx = use(SubMenuContext);
29
33
  const menuCtx = useMenuContext();
30
34
  const { dir } = useDirection();
31
35
  const resolvedPosition = getFloatingPosition(dir, position);
32
36
  const levelRegister = parentSubCtx?.registerOpenSub ?? menuCtx.registerOpenSub;
33
- const unregisterRef = useRef(null);
34
37
  const activeChildCloseRef = useRef(null);
35
38
  const registerOpenSub = useCallback((closeFn) => {
36
39
  const prev = activeChildCloseRef.current;
@@ -40,19 +43,18 @@ function MenuSub(_props) {
40
43
  if (activeChildCloseRef.current === closeFn) activeChildCloseRef.current = null;
41
44
  };
42
45
  }, []);
43
- const handleOpen = useCallback(() => {
44
- unregisterRef.current = levelRegister(close);
45
- open();
46
+ const setOpenedRef = useRef(setOpened);
47
+ setOpenedRef.current = setOpened;
48
+ const handleOpen = useCallback(() => setOpenedRef.current(true), []);
49
+ const handleClose = useCallback(() => setOpenedRef.current(false), []);
50
+ useEffect(() => {
51
+ if (!opened) return;
52
+ return levelRegister(handleClose);
46
53
  }, [
47
- close,
54
+ opened,
48
55
  levelRegister,
49
- open
56
+ handleClose
50
57
  ]);
51
- const handleClose = useCallback(() => {
52
- unregisterRef.current?.();
53
- unregisterRef.current = null;
54
- close();
55
- }, [close]);
56
58
  const { context, refs } = useFloating({
57
59
  placement: resolvedPosition,
58
60
  open: opened,
@@ -90,6 +92,7 @@ function MenuSub(_props) {
90
92
  },
91
93
  children: /* @__PURE__ */ jsx(Popover, {
92
94
  opened,
95
+ onChange: (nextOpened) => nextOpened ? handleOpen() : handleClose(),
93
96
  withinPortal: false,
94
97
  withArrow: false,
95
98
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSub.mjs","names":["useId"],"sources":["../../../../src/components/Menu/MenuSub/MenuSub.tsx"],"sourcesContent":["import { use, useCallback, useRef } from 'react';\nimport {\n safePolygon,\n useFloating,\n useHover,\n useInteractions,\n type SafePolygonOptions,\n} from '@floating-ui/react';\nimport { useDisclosure, useId } from '@mantine/hooks';\nimport { ExtendComponent, Factory, useDirection, useProps } from '../../../core';\nimport {\n FloatingAxesOffsets,\n FloatingPosition,\n getFloatingPosition,\n} from '../../../utils/Floating';\nimport { __PopoverProps, Popover } from '../../Popover';\nimport { TransitionOverride } from '../../Transition';\nimport { useMenuContext } from '../Menu.context';\nimport { MenuSubDropdown } from '../MenuSubDropdown/MenuSubDropdown';\nimport { MenuSubItem } from '../MenuSubItem/MenuSubItem';\nimport { MenuSubTarget } from '../MenuSubTarget/MenuSubTarget';\nimport { SubMenuContext } from './MenuSub.context';\n\nexport type MenuSubFactory = Factory<{\n props: MenuSubProps;\n}>;\n\nexport interface MenuSubProps extends __PopoverProps {\n children: React.ReactNode;\n\n /** Called with current state when dropdown opens or closes */\n onChange?: (opened: boolean) => void;\n\n /** Open delay in ms, applicable when hover trigger is used */\n openDelay?: number;\n\n /** Close delay in ms, applicable when hover trigger is used */\n closeDelay?: number;\n\n /** Dropdown position relative to the target element @default 'right-start' */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element @default 0 */\n offset?: number | FloatingAxesOffsets;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type @default { duration: 0 } */\n transitionProps?: TransitionOverride;\n\n /** Determines whether submenu stays open while the cursor moves toward its dropdown. Pass an object to configure safe polygon behavior. @default true */\n safeAreaPolygon?: boolean | SafePolygonOptions;\n}\n\nconst defaultProps = {\n offset: 0,\n position: 'right-start',\n safeAreaPolygon: true,\n transitionProps: { duration: 0 },\n openDelay: 0,\n middlewares: {\n shift: {\n // Enable crossAxis shift to keep submenu dropdown within viewport bounds when positioned horizontally\n crossAxis: true,\n },\n },\n} satisfies Partial<MenuSubProps>;\n\nexport function MenuSub(_props: MenuSubProps) {\n const { children, closeDelay, openDelay, position, safeAreaPolygon, ...others } = useProps(\n 'MenuSub',\n defaultProps,\n _props\n );\n const id = useId();\n const [opened, { open, close }] = useDisclosure(false);\n const parentSubCtx = use(SubMenuContext);\n const menuCtx = useMenuContext();\n const { dir } = useDirection();\n const resolvedPosition = getFloatingPosition(dir, position);\n\n const levelRegister = parentSubCtx?.registerOpenSub ?? menuCtx.registerOpenSub;\n const unregisterRef = useRef<(() => void) | null>(null);\n\n const activeChildCloseRef = useRef<(() => void) | null>(null);\n const registerOpenSub = useCallback((closeFn: () => void) => {\n const prev = activeChildCloseRef.current;\n if (prev && prev !== closeFn) {\n prev();\n }\n activeChildCloseRef.current = closeFn;\n return () => {\n if (activeChildCloseRef.current === closeFn) {\n activeChildCloseRef.current = null;\n }\n };\n }, []);\n\n const handleOpen = useCallback(() => {\n unregisterRef.current = levelRegister(close);\n open();\n }, [close, levelRegister, open]);\n\n const handleClose = useCallback(() => {\n unregisterRef.current?.();\n unregisterRef.current = null;\n close();\n }, [close]);\n\n const { context, refs } = useFloating({\n placement: resolvedPosition,\n open: opened,\n onOpenChange: (nextOpen) => {\n if (nextOpen) {\n handleOpen();\n } else {\n handleClose();\n }\n },\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n handleClose: safeAreaPolygon\n ? safePolygon(typeof safeAreaPolygon === 'object' ? safeAreaPolygon : undefined)\n : undefined,\n delay: { open: openDelay, close: closeDelay },\n }),\n ]);\n\n const focusFirstItem = () =>\n window.setTimeout(() => {\n document\n .getElementById(`${id}-dropdown`)\n ?.querySelectorAll<HTMLButtonElement>('[data-menu-item]:not([data-disabled])')[0]\n ?.focus();\n }, 16);\n\n const focusParentItem = () =>\n window.setTimeout(() => {\n document.getElementById(`${id}-target`)?.focus();\n }, 16);\n\n return (\n <SubMenuContext\n value={{\n opened,\n close: handleClose,\n open: handleOpen,\n focusFirstItem,\n focusParentItem,\n parentContext: parentSubCtx,\n setReference: refs.setReference,\n setFloating: refs.setFloating,\n getReferenceProps,\n getFloatingProps,\n registerOpenSub,\n }}\n >\n <Popover\n opened={opened}\n withinPortal={false}\n withArrow={false}\n id={id}\n position={position}\n {...others}\n >\n {children}\n </Popover>\n </SubMenuContext>\n );\n}\n\nMenuSub.extend = (input: ExtendComponent<MenuSubFactory>) => input;\nMenuSub.displayName = '@mantine/core/MenuSub';\nMenuSub.Target = MenuSubTarget;\nMenuSub.Dropdown = MenuSubDropdown;\nMenuSub.Item = MenuSubItem;\n"],"mappings":";;;;;;;;;;;;;;;AAoDA,MAAM,eAAe;CACnB,QAAQ;CACR,UAAU;CACV,iBAAiB;CACjB,iBAAiB,EAAE,UAAU,EAAE;CAC/B,WAAW;CACX,aAAa,EACX,OAAO,EAEL,WAAW,KACb,EACF;AACF;AAEA,SAAgB,QAAQ,QAAsB;CAC5C,MAAM,EAAE,UAAU,YAAY,WAAW,UAAU,iBAAiB,GAAG,WAAW,SAChF,WACA,cACA,MACF;CACA,MAAM,KAAKA,QAAM;CACjB,MAAM,CAAC,QAAQ,EAAE,MAAM,WAAW,cAAc,KAAK;CACrD,MAAM,eAAe,IAAI,cAAc;CACvC,MAAM,UAAU,eAAe;CAC/B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,mBAAmB,oBAAoB,KAAK,QAAQ;CAE1D,MAAM,gBAAgB,cAAc,mBAAmB,QAAQ;CAC/D,MAAM,gBAAgB,OAA4B,IAAI;CAEtD,MAAM,sBAAsB,OAA4B,IAAI;CAC5D,MAAM,kBAAkB,aAAa,YAAwB;EAC3D,MAAM,OAAO,oBAAoB;EACjC,IAAI,QAAQ,SAAS,SACnB,KAAK;EAEP,oBAAoB,UAAU;EAC9B,aAAa;GACX,IAAI,oBAAoB,YAAY,SAClC,oBAAoB,UAAU;EAElC;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,aAAa,kBAAkB;EACnC,cAAc,UAAU,cAAc,KAAK;EAC3C,KAAK;CACP,GAAG;EAAC;EAAO;EAAe;CAAI,CAAC;CAE/B,MAAM,cAAc,kBAAkB;EACpC,cAAc,UAAU;EACxB,cAAc,UAAU;EACxB,MAAM;CACR,GAAG,CAAC,KAAK,CAAC;CAEV,MAAM,EAAE,SAAS,SAAS,YAAY;EACpC,WAAW;EACX,MAAM;EACN,eAAe,aAAa;GAC1B,IAAI,UACF,WAAW;QAEX,YAAY;EAEhB;CACF,CAAC;CAED,MAAM,EAAE,mBAAmB,qBAAqB,gBAAgB,CAC9D,SAAS,SAAS;EAChB,aAAa,kBACT,YAAY,OAAO,oBAAoB,WAAW,kBAAkB,KAAA,CAAS,IAC7E,KAAA;EACJ,OAAO;GAAE,MAAM;GAAW,OAAO;EAAW;CAC9C,CAAC,CACH,CAAC;CAED,MAAM,uBACJ,OAAO,iBAAiB;EACtB,SACG,eAAe,GAAG,GAAG,UAAU,GAC9B,iBAAoC,uCAAuC,EAAE,IAC7E,MAAM;CACZ,GAAG,EAAE;CAEP,MAAM,wBACJ,OAAO,iBAAiB;EACtB,SAAS,eAAe,GAAG,GAAG,QAAQ,GAAG,MAAM;CACjD,GAAG,EAAE;CAEP,OACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,OAAO;GACP,MAAM;GACN;GACA;GACA,eAAe;GACf,cAAc,KAAK;GACnB,aAAa,KAAK;GAClB;GACA;GACA;EACF;YAEA,oBAAC,SAAD;GACU;GACR,cAAc;GACd,WAAW;GACP;GACM;GACV,GAAI;GAEH;EACM,CAAA;CACK,CAAA;AAEpB;AAEA,QAAQ,UAAU,UAA2C;AAC7D,QAAQ,cAAc;AACtB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,QAAQ,OAAO"}
1
+ {"version":3,"file":"MenuSub.mjs","names":["useId"],"sources":["../../../../src/components/Menu/MenuSub/MenuSub.tsx"],"sourcesContent":["import { use, useCallback, useEffect, useRef } from 'react';\nimport {\n safePolygon,\n useFloating,\n useHover,\n useInteractions,\n type SafePolygonOptions,\n} from '@floating-ui/react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport { ExtendComponent, Factory, useDirection, useProps } from '../../../core';\nimport {\n FloatingAxesOffsets,\n FloatingPosition,\n getFloatingPosition,\n} from '../../../utils/Floating';\nimport { __PopoverProps, Popover } from '../../Popover';\nimport { TransitionOverride } from '../../Transition';\nimport { useMenuContext } from '../Menu.context';\nimport { MenuSubDropdown } from '../MenuSubDropdown/MenuSubDropdown';\nimport { MenuSubItem } from '../MenuSubItem/MenuSubItem';\nimport { MenuSubTarget } from '../MenuSubTarget/MenuSubTarget';\nimport { SubMenuContext } from './MenuSub.context';\n\nexport type MenuSubFactory = Factory<{\n props: MenuSubProps;\n}>;\n\nexport interface MenuSubProps extends __PopoverProps {\n children: React.ReactNode;\n\n /** Controlled opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?: (opened: boolean) => void;\n\n /** Open delay in ms, applicable when hover trigger is used */\n openDelay?: number;\n\n /** Close delay in ms, applicable when hover trigger is used */\n closeDelay?: number;\n\n /** Dropdown position relative to the target element @default 'right-start' */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element @default 0 */\n offset?: number | FloatingAxesOffsets;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type @default { duration: 0 } */\n transitionProps?: TransitionOverride;\n\n /** Determines whether submenu stays open while the cursor moves toward its dropdown. Pass an object to configure safe polygon behavior. @default true */\n safeAreaPolygon?: boolean | SafePolygonOptions;\n}\n\nconst defaultProps = {\n offset: 0,\n position: 'right-start',\n safeAreaPolygon: true,\n transitionProps: { duration: 0 },\n openDelay: 0,\n middlewares: {\n shift: {\n // Enable crossAxis shift to keep submenu dropdown within viewport bounds when positioned horizontally\n crossAxis: true,\n },\n },\n} satisfies Partial<MenuSubProps>;\n\nexport function MenuSub(_props: MenuSubProps) {\n const {\n children,\n closeDelay,\n openDelay,\n position,\n safeAreaPolygon,\n opened: openedProp,\n onChange,\n ...others\n } = useProps('MenuSub', defaultProps, _props);\n const id = useId();\n const [opened, setOpened] = useUncontrolled({\n value: openedProp,\n finalValue: false,\n onChange,\n });\n const parentSubCtx = use(SubMenuContext);\n const menuCtx = useMenuContext();\n const { dir } = useDirection();\n const resolvedPosition = getFloatingPosition(dir, position);\n\n const levelRegister = parentSubCtx?.registerOpenSub ?? menuCtx.registerOpenSub;\n\n const activeChildCloseRef = useRef<(() => void) | null>(null);\n const registerOpenSub = useCallback((closeFn: () => void) => {\n const prev = activeChildCloseRef.current;\n if (prev && prev !== closeFn) {\n prev();\n }\n activeChildCloseRef.current = closeFn;\n return () => {\n if (activeChildCloseRef.current === closeFn) {\n activeChildCloseRef.current = null;\n }\n };\n }, []);\n\n const setOpenedRef = useRef(setOpened);\n setOpenedRef.current = setOpened;\n\n const handleOpen = useCallback(() => setOpenedRef.current(true), []);\n const handleClose = useCallback(() => setOpenedRef.current(false), []);\n\n useEffect(() => {\n if (!opened) {\n return undefined;\n }\n\n return levelRegister(handleClose);\n }, [opened, levelRegister, handleClose]);\n\n const { context, refs } = useFloating({\n placement: resolvedPosition,\n open: opened,\n onOpenChange: (nextOpen) => {\n if (nextOpen) {\n handleOpen();\n } else {\n handleClose();\n }\n },\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n handleClose: safeAreaPolygon\n ? safePolygon(typeof safeAreaPolygon === 'object' ? safeAreaPolygon : undefined)\n : undefined,\n delay: { open: openDelay, close: closeDelay },\n }),\n ]);\n\n const focusFirstItem = () =>\n window.setTimeout(() => {\n document\n .getElementById(`${id}-dropdown`)\n ?.querySelectorAll<HTMLButtonElement>('[data-menu-item]:not([data-disabled])')[0]\n ?.focus();\n }, 16);\n\n const focusParentItem = () =>\n window.setTimeout(() => {\n document.getElementById(`${id}-target`)?.focus();\n }, 16);\n\n return (\n <SubMenuContext\n value={{\n opened,\n close: handleClose,\n open: handleOpen,\n focusFirstItem,\n focusParentItem,\n parentContext: parentSubCtx,\n setReference: refs.setReference,\n setFloating: refs.setFloating,\n getReferenceProps,\n getFloatingProps,\n registerOpenSub,\n }}\n >\n <Popover\n opened={opened}\n onChange={(nextOpened) => (nextOpened ? handleOpen() : handleClose())}\n withinPortal={false}\n withArrow={false}\n id={id}\n position={position}\n {...others}\n >\n {children}\n </Popover>\n </SubMenuContext>\n );\n}\n\nMenuSub.extend = (input: ExtendComponent<MenuSubFactory>) => input;\nMenuSub.displayName = '@mantine/core/MenuSub';\nMenuSub.Target = MenuSubTarget;\nMenuSub.Dropdown = MenuSubDropdown;\nMenuSub.Item = MenuSubItem;\n"],"mappings":";;;;;;;;;;;;;;;AAuDA,MAAM,eAAe;CACnB,QAAQ;CACR,UAAU;CACV,iBAAiB;CACjB,iBAAiB,EAAE,UAAU,EAAE;CAC/B,WAAW;CACX,aAAa,EACX,OAAO,EAEL,WAAW,KACb,EACF;AACF;AAEA,SAAgB,QAAQ,QAAsB;CAC5C,MAAM,EACJ,UACA,YACA,WACA,UACA,iBACA,QAAQ,YACR,UACA,GAAG,WACD,SAAS,WAAW,cAAc,MAAM;CAC5C,MAAM,KAAKA,QAAM;CACjB,MAAM,CAAC,QAAQ,aAAa,gBAAgB;EAC1C,OAAO;EACP,YAAY;EACZ;CACF,CAAC;CACD,MAAM,eAAe,IAAI,cAAc;CACvC,MAAM,UAAU,eAAe;CAC/B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,mBAAmB,oBAAoB,KAAK,QAAQ;CAE1D,MAAM,gBAAgB,cAAc,mBAAmB,QAAQ;CAE/D,MAAM,sBAAsB,OAA4B,IAAI;CAC5D,MAAM,kBAAkB,aAAa,YAAwB;EAC3D,MAAM,OAAO,oBAAoB;EACjC,IAAI,QAAQ,SAAS,SACnB,KAAK;EAEP,oBAAoB,UAAU;EAC9B,aAAa;GACX,IAAI,oBAAoB,YAAY,SAClC,oBAAoB,UAAU;EAElC;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,eAAe,OAAO,SAAS;CACrC,aAAa,UAAU;CAEvB,MAAM,aAAa,kBAAkB,aAAa,QAAQ,IAAI,GAAG,CAAC,CAAC;CACnE,MAAM,cAAc,kBAAkB,aAAa,QAAQ,KAAK,GAAG,CAAC,CAAC;CAErE,gBAAgB;EACd,IAAI,CAAC,QACH;EAGF,OAAO,cAAc,WAAW;CAClC,GAAG;EAAC;EAAQ;EAAe;CAAW,CAAC;CAEvC,MAAM,EAAE,SAAS,SAAS,YAAY;EACpC,WAAW;EACX,MAAM;EACN,eAAe,aAAa;GAC1B,IAAI,UACF,WAAW;QAEX,YAAY;EAEhB;CACF,CAAC;CAED,MAAM,EAAE,mBAAmB,qBAAqB,gBAAgB,CAC9D,SAAS,SAAS;EAChB,aAAa,kBACT,YAAY,OAAO,oBAAoB,WAAW,kBAAkB,KAAA,CAAS,IAC7E,KAAA;EACJ,OAAO;GAAE,MAAM;GAAW,OAAO;EAAW;CAC9C,CAAC,CACH,CAAC;CAED,MAAM,uBACJ,OAAO,iBAAiB;EACtB,SACG,eAAe,GAAG,GAAG,UAAU,GAC9B,iBAAoC,uCAAuC,EAAE,IAC7E,MAAM;CACZ,GAAG,EAAE;CAEP,MAAM,wBACJ,OAAO,iBAAiB;EACtB,SAAS,eAAe,GAAG,GAAG,QAAQ,GAAG,MAAM;CACjD,GAAG,EAAE;CAEP,OACE,oBAAC,gBAAD;EACE,OAAO;GACL;GACA,OAAO;GACP,MAAM;GACN;GACA;GACA,eAAe;GACf,cAAc,KAAK;GACnB,aAAa,KAAK;GAClB;GACA;GACA;EACF;YAEA,oBAAC,SAAD;GACU;GACR,WAAW,eAAgB,aAAa,WAAW,IAAI,YAAY;GACnE,cAAc;GACd,WAAW;GACP;GACM;GACV,GAAI;GAEH;EACM,CAAA;CACK,CAAA;AAEpB;AAEA,QAAQ,UAAU,UAA2C;AAC7D,QAAQ,cAAc;AACtB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,QAAQ,OAAO"}
@@ -1,10 +1,12 @@
1
1
  "use client";
2
+ import { createEventHandler } from "../../../core/utils/create-event-handler/create-event-handler.mjs";
2
3
  import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
4
  import { factory } from "../../../core/factory/factory.mjs";
4
5
  import { Popover } from "../../Popover/Popover.mjs";
5
6
  import { useMenuContext } from "../Menu.context.mjs";
6
- import Menu_module_default from "../Menu.module.mjs";
7
7
  import { SubMenuContext } from "../MenuSub/MenuSub.context.mjs";
8
+ import Menu_module_default from "../Menu.module.mjs";
9
+ import { useMenuTypeAhead } from "../use-menu-type-ahead.mjs";
8
10
  import { use, useRef } from "react";
9
11
  import { useMergedRef } from "@mantine/hooks";
10
12
  import { jsx } from "react/jsx-runtime";
@@ -14,6 +16,15 @@ const MenuSubDropdown = factory((props) => {
14
16
  const wrapperRef = useRef(null);
15
17
  const ctx = useMenuContext();
16
18
  const subCtx = use(SubMenuContext);
19
+ const typeAhead = useMenuTypeAhead({
20
+ enabled: !ctx.hasSearch,
21
+ opened: subCtx?.opened ?? false,
22
+ getDropdown: () => wrapperRef.current
23
+ });
24
+ const handleKeyDown = createEventHandler(onKeyDown, (event) => {
25
+ typeAhead(event);
26
+ if (!event.ctrlKey && !event.metaKey && !event.altKey && event.key.length === 1 && event.key !== " ") event.stopPropagation();
27
+ });
17
28
  const floatingProps = subCtx?.getFloatingProps({
18
29
  onMouseEnter,
19
30
  onMouseLeave,
@@ -35,6 +46,7 @@ const MenuSubDropdown = factory((props) => {
35
46
  }),
36
47
  tabIndex: -1,
37
48
  "data-menu-dropdown": true,
49
+ onKeyDown: handleKeyDown,
38
50
  children
39
51
  });
40
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSubDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Menu/MenuSubDropdown/MenuSubDropdown.tsx"],"sourcesContent":["import { use, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { Popover } from '../../Popover';\nimport { useMenuContext } from '../Menu.context';\nimport { SubMenuContext } from '../MenuSub/MenuSub.context';\nimport classes from '../Menu.module.css';\n\nexport type MenuSubDropdownStylesNames = 'dropdown';\n\nexport interface MenuSubDropdownProps\n extends BoxProps, CompoundStylesApiProps<MenuSubDropdownFactory>, ElementProps<'div'> {}\n\nexport type MenuSubDropdownFactory = Factory<{\n props: MenuSubDropdownProps;\n ref: HTMLDivElement;\n stylesNames: MenuSubDropdownStylesNames;\n compound: true;\n}>;\n\nexport const MenuSubDropdown = factory<MenuSubDropdownFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerLeave,\n onKeyDown,\n children,\n ref,\n ...others\n } = useProps('MenuSubDropdown', null, props);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const ctx = useMenuContext();\n const subCtx = use(SubMenuContext);\n\n const floatingProps = subCtx?.getFloatingProps({\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerLeave,\n });\n\n return (\n <Popover.Dropdown\n {...others}\n {...floatingProps}\n role=\"menu\"\n aria-orientation=\"vertical\"\n ref={useMergedRef(ref, wrapperRef, subCtx?.setFloating)}\n {...ctx.getStyles('dropdown', {\n className,\n style,\n styles,\n classNames,\n withStaticClass: false,\n })}\n tabIndex={-1}\n data-menu-dropdown\n >\n {children}\n </Popover.Dropdown>\n );\n});\n\nMenuSubDropdown.classes = classes;\nMenuSubDropdown.displayName = '@mantine/core/MenuSubDropdown';\n"],"mappings":";;;;;;;;;;;AA2BA,MAAa,kBAAkB,SAAiC,UAAU;CACxE,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,cACA,cACA,gBACA,gBACA,WACA,UACA,KACA,GAAG,WACD,SAAS,mBAAmB,MAAM,KAAK;CAE3C,MAAM,aAAa,OAAuB,IAAI;CAC9C,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,IAAI,cAAc;CAEjC,MAAM,gBAAgB,QAAQ,iBAAiB;EAC7C;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,QAAQ,UAAT;EACE,GAAI;EACJ,GAAI;EACJ,MAAK;EACL,oBAAiB;EACjB,KAAK,aAAa,KAAK,YAAY,QAAQ,WAAW;EACtD,GAAI,IAAI,UAAU,YAAY;GAC5B;GACA;GACA;GACA;GACA,iBAAiB;EACnB,CAAC;EACD,UAAU;EACV,sBAAA;EAEC;CACe,CAAA;AAEtB,CAAC;AAED,gBAAgB,UAAUA;AAC1B,gBAAgB,cAAc"}
1
+ {"version":3,"file":"MenuSubDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Menu/MenuSubDropdown/MenuSubDropdown.tsx"],"sourcesContent":["import { use, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n BoxProps,\n CompoundStylesApiProps,\n createEventHandler,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { Popover } from '../../Popover';\nimport { useMenuContext } from '../Menu.context';\nimport { SubMenuContext } from '../MenuSub/MenuSub.context';\nimport { useMenuTypeAhead } from '../use-menu-type-ahead';\nimport classes from '../Menu.module.css';\n\nexport type MenuSubDropdownStylesNames = 'dropdown';\n\nexport interface MenuSubDropdownProps\n extends BoxProps, CompoundStylesApiProps<MenuSubDropdownFactory>, ElementProps<'div'> {}\n\nexport type MenuSubDropdownFactory = Factory<{\n props: MenuSubDropdownProps;\n ref: HTMLDivElement;\n stylesNames: MenuSubDropdownStylesNames;\n compound: true;\n}>;\n\nexport const MenuSubDropdown = factory<MenuSubDropdownFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerLeave,\n onKeyDown,\n children,\n ref,\n ...others\n } = useProps('MenuSubDropdown', null, props);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n const ctx = useMenuContext();\n const subCtx = use(SubMenuContext);\n\n const typeAhead = useMenuTypeAhead({\n enabled: !ctx.hasSearch,\n opened: subCtx?.opened ?? false,\n getDropdown: () => wrapperRef.current,\n });\n\n const handleKeyDown = createEventHandler<any>(onKeyDown, (event) => {\n typeAhead(event);\n if (\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey &&\n event.key.length === 1 &&\n event.key !== ' '\n ) {\n event.stopPropagation();\n }\n });\n\n const floatingProps = subCtx?.getFloatingProps({\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerLeave,\n });\n\n return (\n <Popover.Dropdown\n {...others}\n {...floatingProps}\n role=\"menu\"\n aria-orientation=\"vertical\"\n ref={useMergedRef(ref, wrapperRef, subCtx?.setFloating)}\n {...ctx.getStyles('dropdown', {\n className,\n style,\n styles,\n classNames,\n withStaticClass: false,\n })}\n tabIndex={-1}\n data-menu-dropdown\n onKeyDown={handleKeyDown}\n >\n {children}\n </Popover.Dropdown>\n );\n});\n\nMenuSubDropdown.classes = classes;\nMenuSubDropdown.displayName = '@mantine/core/MenuSubDropdown';\n"],"mappings":";;;;;;;;;;;;;AA6BA,MAAa,kBAAkB,SAAiC,UAAU;CACxE,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,cACA,cACA,gBACA,gBACA,WACA,UACA,KACA,GAAG,WACD,SAAS,mBAAmB,MAAM,KAAK;CAE3C,MAAM,aAAa,OAAuB,IAAI;CAC9C,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,IAAI,cAAc;CAEjC,MAAM,YAAY,iBAAiB;EACjC,SAAS,CAAC,IAAI;EACd,QAAQ,QAAQ,UAAU;EAC1B,mBAAmB,WAAW;CAChC,CAAC;CAED,MAAM,gBAAgB,mBAAwB,YAAY,UAAU;EAClE,UAAU,KAAK;EACf,IACE,CAAC,MAAM,WACP,CAAC,MAAM,WACP,CAAC,MAAM,UACP,MAAM,IAAI,WAAW,KACrB,MAAM,QAAQ,KAEd,MAAM,gBAAgB;CAE1B,CAAC;CAED,MAAM,gBAAgB,QAAQ,iBAAiB;EAC7C;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,QAAQ,UAAT;EACE,GAAI;EACJ,GAAI;EACJ,MAAK;EACL,oBAAiB;EACjB,KAAK,aAAa,KAAK,YAAY,QAAQ,WAAW;EACtD,GAAI,IAAI,UAAU,YAAY;GAC5B;GACA;GACA;GACA;GACA,iBAAiB;EACnB,CAAC;EACD,UAAU;EACV,sBAAA;EACA,WAAW;EAEV;CACe,CAAA;AAEtB,CAAC;AAED,gBAAgB,UAAUA;AAC1B,gBAAgB,cAAc"}
@@ -9,8 +9,8 @@ import { useDirection } from "../../../core/DirectionProvider/DirectionProvider.
9
9
  import { UnstyledButton } from "../../UnstyledButton/UnstyledButton.mjs";
10
10
  import { AccordionChevron } from "../../Accordion/AccordionChevron.mjs";
11
11
  import { useMenuContext } from "../Menu.context.mjs";
12
- import Menu_module_default from "../Menu.module.mjs";
13
12
  import { SubMenuContext } from "../MenuSub/MenuSub.context.mjs";
13
+ import Menu_module_default from "../Menu.module.mjs";
14
14
  import { use, useRef } from "react";
15
15
  import { useMergedRef } from "@mantine/hooks";
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -45,6 +45,14 @@ const MenuSubItem = polymorphicFactory((props) => {
45
45
  const handleClick = createEventHandler(_others.onClick, () => {
46
46
  if (!dataDisabled && closeMenuOnClick) ctx.closeDropdownImmediately();
47
47
  });
48
+ const handleMouseMove = createEventHandler(_others.onMouseMove, () => {
49
+ if (!ctx.hasSearch) return;
50
+ const dropdown = itemRef.current?.closest("[data-menu-dropdown]");
51
+ if (!dropdown) return;
52
+ dropdown.querySelectorAll("[data-menu-active]").forEach((node) => {
53
+ if (node !== itemRef.current && node.closest("[data-menu-dropdown]") === dropdown) node.removeAttribute("data-menu-active");
54
+ });
55
+ });
48
56
  const referenceProps = subCtx?.getReferenceProps({
49
57
  onMouseEnter: _others.onMouseEnter,
50
58
  onMouseLeave: _others.onMouseLeave,
@@ -71,6 +79,7 @@ const MenuSubItem = polymorphicFactory((props) => {
71
79
  "data-disabled": disabled || dataDisabled || void 0,
72
80
  "data-mantine-stop-propagation": true,
73
81
  onClick: handleClick,
82
+ onMouseMove: handleMouseMove,
74
83
  onKeyDown: createScopedKeydownHandler({
75
84
  siblingSelector: "[data-menu-item]:not([data-disabled])",
76
85
  parentSelector: "[data-menu-dropdown]",
@@ -85,6 +94,13 @@ const MenuSubItem = polymorphicFactory((props) => {
85
94
  "--menu-item-hover": colors?.hover
86
95
  },
87
96
  children: [
97
+ ctx.alignItemsLabels === "all" && /* @__PURE__ */ jsx("div", {
98
+ ...ctx.getStyles("itemIndicator", {
99
+ styles,
100
+ classNames
101
+ }),
102
+ "data-placeholder": true
103
+ }),
88
104
  leftSection && /* @__PURE__ */ jsx("div", {
89
105
  ...ctx.getStyles("itemSection", {
90
106
  styles,
@@ -98,6 +114,7 @@ const MenuSubItem = polymorphicFactory((props) => {
98
114
  styles,
99
115
  classNames
100
116
  }),
117
+ "data-menu-item-label": true,
101
118
  children
102
119
  }),
103
120
  /* @__PURE__ */ jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSubItem.mjs","names":["classes"],"sources":["../../../../src/components/Menu/MenuSubItem/MenuSubItem.tsx"],"sourcesContent":["import { use, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n BoxProps,\n CompoundStylesApiProps,\n createEventHandler,\n createScopedKeydownHandler,\n MantineColor,\n parseThemeColor,\n polymorphicFactory,\n PolymorphicFactory,\n useDirection,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { AccordionChevron } from '../../Accordion';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useMenuContext } from '../Menu.context';\nimport { SubMenuContext } from '../MenuSub/MenuSub.context';\nimport classes from '../Menu.module.css';\n\nexport type MenuSubItemStylesNames = 'item' | 'itemLabel' | 'itemSection';\n\nexport interface MenuSubItemProps extends BoxProps, CompoundStylesApiProps<MenuSubItemFactory> {\n 'data-disabled'?: boolean;\n\n /** Item label */\n children?: React.ReactNode;\n\n /** Key of `theme.colors` or any valid CSS color */\n color?: MantineColor;\n\n /** Section displayed at the start of the label */\n leftSection?: React.ReactNode;\n\n /** Section displayed at the end of the label */\n rightSection?: React.ReactNode;\n\n /** Sets disabled attribute, applies disabled styles */\n disabled?: boolean;\n\n /** If set, the menu is closed when the item is clicked. Overrides `closeOnItemClick` prop on the `Menu` component. */\n closeMenuOnClick?: boolean;\n}\n\nexport type MenuSubItemFactory = PolymorphicFactory<{\n props: MenuSubItemProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n stylesNames: MenuSubItemStylesNames;\n compound: true;\n}>;\n\nexport const MenuSubItem = polymorphicFactory<MenuSubItemFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n color,\n leftSection,\n rightSection,\n children,\n disabled,\n 'data-disabled': dataDisabled,\n closeMenuOnClick,\n ref,\n ...others\n } = useProps('MenuSubItem', null, props);\n\n const ctx = useMenuContext();\n const subCtx = use(SubMenuContext);\n const theme = useMantineTheme();\n const { dir } = useDirection();\n const itemRef = useRef<HTMLButtonElement>(null);\n const _others: any = others;\n\n const colors = color ? theme.variantColorResolver({ color, theme, variant: 'light' }) : undefined;\n const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;\n\n const handleKeydown = createEventHandler<any>(_others.onKeyDown, (event) => {\n if (event.key === 'ArrowRight') {\n subCtx?.open();\n subCtx?.focusFirstItem();\n }\n\n if (event.key === 'ArrowLeft' && subCtx?.parentContext) {\n subCtx.parentContext.close();\n subCtx.parentContext.focusParentItem();\n }\n });\n\n const handleClick = createEventHandler(_others.onClick, () => {\n if (!dataDisabled && closeMenuOnClick) {\n ctx.closeDropdownImmediately();\n }\n });\n\n const referenceProps = subCtx?.getReferenceProps({\n onMouseEnter: _others.onMouseEnter,\n onMouseLeave: _others.onMouseLeave,\n onPointerEnter: _others.onPointerEnter,\n onPointerLeave: _others.onPointerLeave,\n });\n\n return (\n <UnstyledButton\n onMouseDown={(event) => event.preventDefault()}\n {...others}\n {...referenceProps}\n unstyled={ctx.unstyled}\n tabIndex={ctx.menuItemTabIndex}\n {...ctx.getStyles('item', { className, style, styles, classNames })}\n ref={useMergedRef(itemRef, ref, subCtx?.setReference)}\n role=\"menuitem\"\n disabled={disabled}\n data-menu-item\n data-sub-menu-item\n data-disabled={disabled || dataDisabled || undefined}\n data-mantine-stop-propagation\n onClick={handleClick}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[data-menu-item]:not([data-disabled])',\n parentSelector: '[data-menu-dropdown]',\n activateOnFocus: false,\n loop: ctx.loop,\n dir,\n orientation: 'vertical',\n onKeyDown: handleKeydown,\n })}\n __vars={{\n '--menu-item-color':\n parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === undefined\n ? `var(--mantine-color-${parsedThemeColor.color}-6)`\n : colors?.color,\n '--menu-item-hover': colors?.hover,\n }}\n >\n {leftSection && (\n <div {...ctx.getStyles('itemSection', { styles, classNames })} data-position=\"left\">\n {leftSection}\n </div>\n )}\n\n {children && <div {...ctx.getStyles('itemLabel', { styles, classNames })}>{children}</div>}\n\n <div {...ctx.getStyles('itemSection', { styles, classNames })} data-position=\"right\">\n {rightSection || <AccordionChevron {...ctx.getStyles('chevron')} size={14} />}\n </div>\n </UnstyledButton>\n );\n});\n\nMenuSubItem.classes = classes;\nMenuSubItem.displayName = '@mantine/core/MenuSubItem';\n"],"mappings":";;;;;;;;;;;;;;;;;AAqDA,MAAa,cAAc,oBAAwC,UAAU;CAC3E,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,OACA,aACA,cACA,UACA,UACA,iBAAiB,cACjB,kBACA,KACA,GAAG,WACD,SAAS,eAAe,MAAM,KAAK;CAEvC,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,IAAI,cAAc;CACjC,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,UAAU,OAA0B,IAAI;CAC9C,MAAM,UAAe;CAErB,MAAM,SAAS,QAAQ,MAAM,qBAAqB;EAAE;EAAO;EAAO,SAAS;CAAQ,CAAC,IAAI,KAAA;CACxF,MAAM,mBAAmB,QAAQ,gBAAgB;EAAE;EAAO;CAAM,CAAC,IAAI;CAErE,MAAM,gBAAgB,mBAAwB,QAAQ,YAAY,UAAU;EAC1E,IAAI,MAAM,QAAQ,cAAc;GAC9B,QAAQ,KAAK;GACb,QAAQ,eAAe;EACzB;EAEA,IAAI,MAAM,QAAQ,eAAe,QAAQ,eAAe;GACtD,OAAO,cAAc,MAAM;GAC3B,OAAO,cAAc,gBAAgB;EACvC;CACF,CAAC;CAED,MAAM,cAAc,mBAAmB,QAAQ,eAAe;EAC5D,IAAI,CAAC,gBAAgB,kBACnB,IAAI,yBAAyB;CAEjC,CAAC;CAED,MAAM,iBAAiB,QAAQ,kBAAkB;EAC/C,cAAc,QAAQ;EACtB,cAAc,QAAQ;EACtB,gBAAgB,QAAQ;EACxB,gBAAgB,QAAQ;CAC1B,CAAC;CAED,OACE,qBAAC,gBAAD;EACE,cAAc,UAAU,MAAM,eAAe;EAC7C,GAAI;EACJ,GAAI;EACJ,UAAU,IAAI;EACd,UAAU,IAAI;EACd,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAClE,KAAK,aAAa,SAAS,KAAK,QAAQ,YAAY;EACpD,MAAK;EACK;EACV,kBAAA;EACA,sBAAA;EACA,iBAAe,YAAY,gBAAgB,KAAA;EAC3C,iCAAA;EACA,SAAS;EACT,WAAW,2BAA2B;GACpC,iBAAiB;GACjB,gBAAgB;GAChB,iBAAiB;GACjB,MAAM,IAAI;GACV;GACA,aAAa;GACb,WAAW;EACb,CAAC;EACD,QAAQ;GACN,qBACE,kBAAkB,gBAAgB,kBAAkB,UAAU,KAAA,IAC1D,uBAAuB,iBAAiB,MAAM,OAC9C,QAAQ;GACd,qBAAqB,QAAQ;EAC/B;YA9BF;GAgCG,eACC,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,eAAe;KAAE;KAAQ;IAAW,CAAC;IAAG,iBAAc;cAC1E;GACE,CAAA;GAGN,YAAY,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,aAAa;KAAE;KAAQ;IAAW,CAAC;IAAI;GAAc,CAAA;GAEzF,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,eAAe;KAAE;KAAQ;IAAW,CAAC;IAAG,iBAAc;cAC1E,gBAAgB,oBAAC,kBAAD;KAAkB,GAAI,IAAI,UAAU,SAAS;KAAG,MAAM;IAAK,CAAA;GACzE,CAAA;EACS;;AAEpB,CAAC;AAED,YAAY,UAAUA;AACtB,YAAY,cAAc"}
1
+ {"version":3,"file":"MenuSubItem.mjs","names":["classes"],"sources":["../../../../src/components/Menu/MenuSubItem/MenuSubItem.tsx"],"sourcesContent":["import { use, useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n BoxProps,\n CompoundStylesApiProps,\n createEventHandler,\n createScopedKeydownHandler,\n MantineColor,\n parseThemeColor,\n polymorphicFactory,\n PolymorphicFactory,\n useDirection,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { AccordionChevron } from '../../Accordion';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useMenuContext } from '../Menu.context';\nimport { SubMenuContext } from '../MenuSub/MenuSub.context';\nimport classes from '../Menu.module.css';\n\nexport type MenuSubItemStylesNames = 'item' | 'itemLabel' | 'itemSection' | 'itemIndicator';\n\nexport interface MenuSubItemProps extends BoxProps, CompoundStylesApiProps<MenuSubItemFactory> {\n 'data-disabled'?: boolean;\n\n /** Item label */\n children?: React.ReactNode;\n\n /** Key of `theme.colors` or any valid CSS color */\n color?: MantineColor;\n\n /** Section displayed at the start of the label */\n leftSection?: React.ReactNode;\n\n /** Section displayed at the end of the label */\n rightSection?: React.ReactNode;\n\n /** Sets disabled attribute, applies disabled styles */\n disabled?: boolean;\n\n /** If set, the menu is closed when the item is clicked. Overrides `closeOnItemClick` prop on the `Menu` component. */\n closeMenuOnClick?: boolean;\n}\n\nexport type MenuSubItemFactory = PolymorphicFactory<{\n props: MenuSubItemProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n stylesNames: MenuSubItemStylesNames;\n compound: true;\n}>;\n\nexport const MenuSubItem = polymorphicFactory<MenuSubItemFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n color,\n leftSection,\n rightSection,\n children,\n disabled,\n 'data-disabled': dataDisabled,\n closeMenuOnClick,\n ref,\n ...others\n } = useProps('MenuSubItem', null, props);\n\n const ctx = useMenuContext();\n const subCtx = use(SubMenuContext);\n const theme = useMantineTheme();\n const { dir } = useDirection();\n const itemRef = useRef<HTMLButtonElement>(null);\n const _others: any = others;\n\n const colors = color ? theme.variantColorResolver({ color, theme, variant: 'light' }) : undefined;\n const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;\n\n const handleKeydown = createEventHandler<any>(_others.onKeyDown, (event) => {\n if (event.key === 'ArrowRight') {\n subCtx?.open();\n subCtx?.focusFirstItem();\n }\n\n if (event.key === 'ArrowLeft' && subCtx?.parentContext) {\n subCtx.parentContext.close();\n subCtx.parentContext.focusParentItem();\n }\n });\n\n const handleClick = createEventHandler(_others.onClick, () => {\n if (!dataDisabled && closeMenuOnClick) {\n ctx.closeDropdownImmediately();\n }\n });\n\n const handleMouseMove = createEventHandler<any>(_others.onMouseMove, () => {\n if (!ctx.hasSearch) {\n return;\n }\n const dropdown = itemRef.current?.closest('[data-menu-dropdown]');\n if (!dropdown) {\n return;\n }\n dropdown.querySelectorAll<HTMLElement>('[data-menu-active]').forEach((node) => {\n if (node !== itemRef.current && node.closest('[data-menu-dropdown]') === dropdown) {\n node.removeAttribute('data-menu-active');\n }\n });\n });\n\n const referenceProps = subCtx?.getReferenceProps({\n onMouseEnter: _others.onMouseEnter,\n onMouseLeave: _others.onMouseLeave,\n onPointerEnter: _others.onPointerEnter,\n onPointerLeave: _others.onPointerLeave,\n });\n\n return (\n <UnstyledButton\n onMouseDown={(event) => event.preventDefault()}\n {...others}\n {...referenceProps}\n unstyled={ctx.unstyled}\n tabIndex={ctx.menuItemTabIndex}\n {...ctx.getStyles('item', { className, style, styles, classNames })}\n ref={useMergedRef(itemRef, ref, subCtx?.setReference)}\n role=\"menuitem\"\n disabled={disabled}\n data-menu-item\n data-sub-menu-item\n data-disabled={disabled || dataDisabled || undefined}\n data-mantine-stop-propagation\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[data-menu-item]:not([data-disabled])',\n parentSelector: '[data-menu-dropdown]',\n activateOnFocus: false,\n loop: ctx.loop,\n dir,\n orientation: 'vertical',\n onKeyDown: handleKeydown,\n })}\n __vars={{\n '--menu-item-color':\n parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === undefined\n ? `var(--mantine-color-${parsedThemeColor.color}-6)`\n : colors?.color,\n '--menu-item-hover': colors?.hover,\n }}\n >\n {ctx.alignItemsLabels === 'all' && (\n <div {...ctx.getStyles('itemIndicator', { styles, classNames })} data-placeholder />\n )}\n {leftSection && (\n <div {...ctx.getStyles('itemSection', { styles, classNames })} data-position=\"left\">\n {leftSection}\n </div>\n )}\n\n {children && (\n <div {...ctx.getStyles('itemLabel', { styles, classNames })} data-menu-item-label>\n {children}\n </div>\n )}\n\n <div {...ctx.getStyles('itemSection', { styles, classNames })} data-position=\"right\">\n {rightSection || <AccordionChevron {...ctx.getStyles('chevron')} size={14} />}\n </div>\n </UnstyledButton>\n );\n});\n\nMenuSubItem.classes = classes;\nMenuSubItem.displayName = '@mantine/core/MenuSubItem';\n"],"mappings":";;;;;;;;;;;;;;;;;AAqDA,MAAa,cAAc,oBAAwC,UAAU;CAC3E,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,OACA,aACA,cACA,UACA,UACA,iBAAiB,cACjB,kBACA,KACA,GAAG,WACD,SAAS,eAAe,MAAM,KAAK;CAEvC,MAAM,MAAM,eAAe;CAC3B,MAAM,SAAS,IAAI,cAAc;CACjC,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,EAAE,QAAQ,aAAa;CAC7B,MAAM,UAAU,OAA0B,IAAI;CAC9C,MAAM,UAAe;CAErB,MAAM,SAAS,QAAQ,MAAM,qBAAqB;EAAE;EAAO;EAAO,SAAS;CAAQ,CAAC,IAAI,KAAA;CACxF,MAAM,mBAAmB,QAAQ,gBAAgB;EAAE;EAAO;CAAM,CAAC,IAAI;CAErE,MAAM,gBAAgB,mBAAwB,QAAQ,YAAY,UAAU;EAC1E,IAAI,MAAM,QAAQ,cAAc;GAC9B,QAAQ,KAAK;GACb,QAAQ,eAAe;EACzB;EAEA,IAAI,MAAM,QAAQ,eAAe,QAAQ,eAAe;GACtD,OAAO,cAAc,MAAM;GAC3B,OAAO,cAAc,gBAAgB;EACvC;CACF,CAAC;CAED,MAAM,cAAc,mBAAmB,QAAQ,eAAe;EAC5D,IAAI,CAAC,gBAAgB,kBACnB,IAAI,yBAAyB;CAEjC,CAAC;CAED,MAAM,kBAAkB,mBAAwB,QAAQ,mBAAmB;EACzE,IAAI,CAAC,IAAI,WACP;EAEF,MAAM,WAAW,QAAQ,SAAS,QAAQ,sBAAsB;EAChE,IAAI,CAAC,UACH;EAEF,SAAS,iBAA8B,oBAAoB,EAAE,SAAS,SAAS;GAC7E,IAAI,SAAS,QAAQ,WAAW,KAAK,QAAQ,sBAAsB,MAAM,UACvE,KAAK,gBAAgB,kBAAkB;EAE3C,CAAC;CACH,CAAC;CAED,MAAM,iBAAiB,QAAQ,kBAAkB;EAC/C,cAAc,QAAQ;EACtB,cAAc,QAAQ;EACtB,gBAAgB,QAAQ;EACxB,gBAAgB,QAAQ;CAC1B,CAAC;CAED,OACE,qBAAC,gBAAD;EACE,cAAc,UAAU,MAAM,eAAe;EAC7C,GAAI;EACJ,GAAI;EACJ,UAAU,IAAI;EACd,UAAU,IAAI;EACd,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAClE,KAAK,aAAa,SAAS,KAAK,QAAQ,YAAY;EACpD,MAAK;EACK;EACV,kBAAA;EACA,sBAAA;EACA,iBAAe,YAAY,gBAAgB,KAAA;EAC3C,iCAAA;EACA,SAAS;EACT,aAAa;EACb,WAAW,2BAA2B;GACpC,iBAAiB;GACjB,gBAAgB;GAChB,iBAAiB;GACjB,MAAM,IAAI;GACV;GACA,aAAa;GACb,WAAW;EACb,CAAC;EACD,QAAQ;GACN,qBACE,kBAAkB,gBAAgB,kBAAkB,UAAU,KAAA,IAC1D,uBAAuB,iBAAiB,MAAM,OAC9C,QAAQ;GACd,qBAAqB,QAAQ;EAC/B;YA/BF;GAiCG,IAAI,qBAAqB,SACxB,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,iBAAiB;KAAE;KAAQ;IAAW,CAAC;IAAG,oBAAA;GAAkB,CAAA;GAEpF,eACC,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,eAAe;KAAE;KAAQ;IAAW,CAAC;IAAG,iBAAc;cAC1E;GACE,CAAA;GAGN,YACC,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,aAAa;KAAE;KAAQ;IAAW,CAAC;IAAG,wBAAA;IAC1D;GACE,CAAA;GAGP,oBAAC,OAAD;IAAK,GAAI,IAAI,UAAU,eAAe;KAAE;KAAQ;IAAW,CAAC;IAAG,iBAAc;cAC1E,gBAAgB,oBAAC,kBAAD;KAAkB,GAAI,IAAI,UAAU,SAAS;KAAG,MAAM;IAAK,CAAA;GACzE,CAAA;EACS;;AAEpB,CAAC;AAED,YAAY,UAAUA;AACtB,YAAY,cAAc"}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import { useEffect, useRef } from "react";
3
+ //#region packages/@mantine/core/src/components/Menu/use-menu-type-ahead.ts
4
+ const RESET_DELAY = 500;
5
+ function getItemText(item) {
6
+ return ((item.querySelector("[data-menu-item-label]") ?? item).textContent ?? "").trim().toLowerCase();
7
+ }
8
+ function isRepeatedChar(buffer) {
9
+ return buffer.length > 1 && buffer.split("").every((char) => char === buffer[0]);
10
+ }
11
+ function useMenuTypeAhead({ enabled, opened, getDropdown }) {
12
+ const stateRef = useRef({
13
+ buffer: "",
14
+ timeoutId: null
15
+ });
16
+ useEffect(() => {
17
+ if (opened && enabled) return;
18
+ const state = stateRef.current;
19
+ if (state.timeoutId !== null) {
20
+ window.clearTimeout(state.timeoutId);
21
+ state.timeoutId = null;
22
+ }
23
+ state.buffer = "";
24
+ }, [opened, enabled]);
25
+ useEffect(() => () => {
26
+ const { timeoutId } = stateRef.current;
27
+ if (timeoutId !== null) window.clearTimeout(timeoutId);
28
+ }, []);
29
+ return (event) => {
30
+ if (!enabled || event.defaultPrevented) return;
31
+ if (event.ctrlKey || event.metaKey || event.altKey) return;
32
+ if (event.key.length !== 1 || event.key === " ") return;
33
+ const target = event.target;
34
+ if (target && (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.tagName === "SELECT" || target.isContentEditable)) return;
35
+ const dropdown = getDropdown();
36
+ if (!dropdown) return;
37
+ const items = Array.from(dropdown.querySelectorAll("[data-menu-item]:not([data-disabled])")).filter((item) => item.closest("[data-menu-dropdown]") === dropdown);
38
+ if (items.length === 0) return;
39
+ const state = stateRef.current;
40
+ state.buffer = (state.buffer + event.key).toLowerCase();
41
+ if (state.timeoutId !== null) window.clearTimeout(state.timeoutId);
42
+ state.timeoutId = window.setTimeout(() => {
43
+ state.buffer = "";
44
+ state.timeoutId = null;
45
+ }, RESET_DELAY);
46
+ const activeElement = document.activeElement;
47
+ const currentIndex = activeElement ? items.indexOf(activeElement) : -1;
48
+ let match = null;
49
+ if (state.buffer.length === 1 || isRepeatedChar(state.buffer)) {
50
+ const char = state.buffer[0];
51
+ const startIndex = currentIndex + 1;
52
+ for (let i = 0; i < items.length; i += 1) {
53
+ const idx = (startIndex + i) % items.length;
54
+ if (getItemText(items[idx]).startsWith(char)) {
55
+ match = items[idx];
56
+ break;
57
+ }
58
+ }
59
+ } else for (let i = 0; i < items.length; i += 1) if (getItemText(items[i]).startsWith(state.buffer)) {
60
+ match = items[i];
61
+ break;
62
+ }
63
+ if (match) {
64
+ event.preventDefault();
65
+ match.focus();
66
+ }
67
+ };
68
+ }
69
+ //#endregion
70
+ export { useMenuTypeAhead };
71
+
72
+ //# sourceMappingURL=use-menu-type-ahead.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu-type-ahead.mjs","names":[],"sources":["../../../src/components/Menu/use-menu-type-ahead.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nconst RESET_DELAY = 500;\n\ninterface UseMenuTypeAheadOptions {\n enabled: boolean;\n opened: boolean;\n getDropdown: () => HTMLElement | null;\n}\n\ninterface TypeAheadState {\n buffer: string;\n timeoutId: number | null;\n}\n\nfunction getItemText(item: HTMLElement): string {\n const label = item.querySelector<HTMLElement>('[data-menu-item-label]');\n return ((label ?? item).textContent ?? '').trim().toLowerCase();\n}\n\nfunction isRepeatedChar(buffer: string): boolean {\n return buffer.length > 1 && buffer.split('').every((char) => char === buffer[0]);\n}\n\nexport function useMenuTypeAhead({ enabled, opened, getDropdown }: UseMenuTypeAheadOptions) {\n const stateRef = useRef<TypeAheadState>({ buffer: '', timeoutId: null });\n\n useEffect(() => {\n if (opened && enabled) {\n return;\n }\n const state = stateRef.current;\n if (state.timeoutId !== null) {\n window.clearTimeout(state.timeoutId);\n state.timeoutId = null;\n }\n state.buffer = '';\n }, [opened, enabled]);\n\n useEffect(\n () => () => {\n const { timeoutId } = stateRef.current;\n if (timeoutId !== null) {\n window.clearTimeout(timeoutId);\n }\n },\n []\n );\n\n return (event: React.KeyboardEvent<HTMLElement>) => {\n if (!enabled || event.defaultPrevented) {\n return;\n }\n if (event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (event.key.length !== 1 || event.key === ' ') {\n return;\n }\n\n const target = event.target as HTMLElement | null;\n if (\n target &&\n (target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.tagName === 'SELECT' ||\n target.isContentEditable)\n ) {\n return;\n }\n\n const dropdown = getDropdown();\n if (!dropdown) {\n return;\n }\n\n const items = Array.from(\n dropdown.querySelectorAll<HTMLElement>('[data-menu-item]:not([data-disabled])')\n ).filter((item) => item.closest('[data-menu-dropdown]') === dropdown);\n\n if (items.length === 0) {\n return;\n }\n\n const state = stateRef.current;\n state.buffer = (state.buffer + event.key).toLowerCase();\n\n if (state.timeoutId !== null) {\n window.clearTimeout(state.timeoutId);\n }\n state.timeoutId = window.setTimeout(() => {\n state.buffer = '';\n state.timeoutId = null;\n }, RESET_DELAY);\n\n const activeElement = document.activeElement as HTMLElement | null;\n const currentIndex = activeElement ? items.indexOf(activeElement) : -1;\n\n let match: HTMLElement | null = null;\n\n if (state.buffer.length === 1 || isRepeatedChar(state.buffer)) {\n const char = state.buffer[0]!;\n const startIndex = currentIndex + 1;\n for (let i = 0; i < items.length; i += 1) {\n const idx = (startIndex + i) % items.length;\n if (getItemText(items[idx]!).startsWith(char)) {\n match = items[idx]!;\n break;\n }\n }\n } else {\n for (let i = 0; i < items.length; i += 1) {\n if (getItemText(items[i]!).startsWith(state.buffer)) {\n match = items[i]!;\n break;\n }\n }\n }\n\n if (match) {\n event.preventDefault();\n match.focus();\n }\n };\n}\n"],"mappings":";;;AAEA,MAAM,cAAc;AAapB,SAAS,YAAY,MAA2B;CAE9C,SADc,KAAK,cAA2B,wBACjC,KAAK,MAAM,eAAe,IAAI,KAAK,EAAE,YAAY;AAChE;AAEA,SAAS,eAAe,QAAyB;CAC/C,OAAO,OAAO,SAAS,KAAK,OAAO,MAAM,EAAE,EAAE,OAAO,SAAS,SAAS,OAAO,EAAE;AACjF;AAEA,SAAgB,iBAAiB,EAAE,SAAS,QAAQ,eAAwC;CAC1F,MAAM,WAAW,OAAuB;EAAE,QAAQ;EAAI,WAAW;CAAK,CAAC;CAEvE,gBAAgB;EACd,IAAI,UAAU,SACZ;EAEF,MAAM,QAAQ,SAAS;EACvB,IAAI,MAAM,cAAc,MAAM;GAC5B,OAAO,aAAa,MAAM,SAAS;GACnC,MAAM,YAAY;EACpB;EACA,MAAM,SAAS;CACjB,GAAG,CAAC,QAAQ,OAAO,CAAC;CAEpB,sBACc;EACV,MAAM,EAAE,cAAc,SAAS;EAC/B,IAAI,cAAc,MAChB,OAAO,aAAa,SAAS;CAEjC,GACA,CAAC,CACH;CAEA,QAAQ,UAA4C;EAClD,IAAI,CAAC,WAAW,MAAM,kBACpB;EAEF,IAAI,MAAM,WAAW,MAAM,WAAW,MAAM,QAC1C;EAEF,IAAI,MAAM,IAAI,WAAW,KAAK,MAAM,QAAQ,KAC1C;EAGF,MAAM,SAAS,MAAM;EACrB,IACE,WACC,OAAO,YAAY,WAClB,OAAO,YAAY,cACnB,OAAO,YAAY,YACnB,OAAO,oBAET;EAGF,MAAM,WAAW,YAAY;EAC7B,IAAI,CAAC,UACH;EAGF,MAAM,QAAQ,MAAM,KAClB,SAAS,iBAA8B,uCAAuC,CAChF,EAAE,QAAQ,SAAS,KAAK,QAAQ,sBAAsB,MAAM,QAAQ;EAEpE,IAAI,MAAM,WAAW,GACnB;EAGF,MAAM,QAAQ,SAAS;EACvB,MAAM,UAAU,MAAM,SAAS,MAAM,KAAK,YAAY;EAEtD,IAAI,MAAM,cAAc,MACtB,OAAO,aAAa,MAAM,SAAS;EAErC,MAAM,YAAY,OAAO,iBAAiB;GACxC,MAAM,SAAS;GACf,MAAM,YAAY;EACpB,GAAG,WAAW;EAEd,MAAM,gBAAgB,SAAS;EAC/B,MAAM,eAAe,gBAAgB,MAAM,QAAQ,aAAa,IAAI;EAEpE,IAAI,QAA4B;EAEhC,IAAI,MAAM,OAAO,WAAW,KAAK,eAAe,MAAM,MAAM,GAAG;GAC7D,MAAM,OAAO,MAAM,OAAO;GAC1B,MAAM,aAAa,eAAe;GAClC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;IACxC,MAAM,OAAO,aAAa,KAAK,MAAM;IACrC,IAAI,YAAY,MAAM,IAAK,EAAE,WAAW,IAAI,GAAG;KAC7C,QAAQ,MAAM;KACd;IACF;GACF;EACF,OACE,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GACrC,IAAI,YAAY,MAAM,EAAG,EAAE,WAAW,MAAM,MAAM,GAAG;GACnD,QAAQ,MAAM;GACd;EACF;EAIJ,IAAI,OAAO;GACT,MAAM,eAAe;GACrB,MAAM,MAAM;EACd;CACF;AACF"}
@@ -40,7 +40,7 @@ const MultiSelect = genericFactory((_props) => {
40
40
  "InputWrapper",
41
41
  "MultiSelect"
42
42
  ], defaultProps, _props);
43
- const { classNames, className, style, styles, unstyled, vars, size, value, defaultValue, onChange, onKeyDown, variant, data, dropdownOpened, defaultDropdownOpened, onDropdownOpen, onDropdownClose, selectFirstOptionOnChange, selectFirstOptionOnDropdownOpen, onOptionSubmit, comboboxProps, filter, limit, withScrollArea, maxDropdownHeight, searchValue, defaultSearchValue, onSearchChange, readOnly, disabled, onFocus, onBlur, radius, rightSection, rightSectionWidth, rightSectionPointerEvents, rightSectionProps, leftSection, leftSectionWidth, leftSectionPointerEvents, leftSectionProps, inputContainer, inputWrapperOrder, withAsterisk, labelProps, descriptionProps, errorProps, wrapperProps, description, label, error, maxValues, searchable, nothingFoundMessage, withCheckIcon, withAlignedLabels, checkIconPosition, hidePickedOptions, withErrorStyles, name, form, id, clearable, clearSectionMode, clearButtonProps, hiddenInputProps, placeholder, hiddenInputValuesDivider, required, mod, renderOption, renderPill, onRemove, onClear, onMaxValues, scrollAreaProps, chevronColor, attributes, clearSearchOnChange, openOnFocus, loading, loadingPosition, withPillsReorder, ...others } = props;
43
+ const { classNames, className, style, styles, unstyled, vars, size, value, defaultValue, onChange, onKeyDown, variant, data, dropdownOpened, defaultDropdownOpened, onDropdownOpen, onDropdownClose, selectFirstOptionOnChange, selectFirstOptionOnDropdownOpen, onOptionSubmit, comboboxProps, filter, limit, withScrollArea, maxDropdownHeight, floatingHeight, searchValue, defaultSearchValue, onSearchChange, readOnly, disabled, onFocus, onBlur, radius, rightSection, rightSectionWidth, rightSectionPointerEvents, rightSectionProps, leftSection, leftSectionWidth, leftSectionPointerEvents, leftSectionProps, inputContainer, inputWrapperOrder, withAsterisk, labelProps, descriptionProps, errorProps, wrapperProps, description, label, error, maxValues, searchable, nothingFoundMessage, withCheckIcon, withAlignedLabels, checkIconPosition, hidePickedOptions, withErrorStyles, name, form, id, clearable, clearSectionMode, clearButtonProps, hiddenInputProps, placeholder, hiddenInputValuesDivider, required, mod, renderOption, renderPill, onRemove, onClear, onMaxValues, scrollAreaProps, chevronColor, attributes, clearSearchOnChange, openOnFocus, loading, loadingPosition, withPillsReorder, ...others } = props;
44
44
  const _id = useId$1(id);
45
45
  const parsedData = getParsedComboboxData(data);
46
46
  const optionsLockup = getOptionsLockup(parsedData);
@@ -163,6 +163,7 @@ const MultiSelect = genericFactory((_props) => {
163
163
  readOnly,
164
164
  __staticSelector: "MultiSelect",
165
165
  attributes,
166
+ floatingHeight,
166
167
  onOptionSubmit: (val) => {
167
168
  onOptionSubmit?.(val);
168
169
  if (clearSearchOnChange) handleSearchChange("");