@mantine/core 9.2.1 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (862) 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 +0 -1
  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 +12 -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 +27 -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 +3 -3
  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/Pill.module.cjs.map +1 -1
  385. package/cjs/components/Pill/PillGroup/PillGroup.cjs +0 -1
  386. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  387. package/cjs/components/PillsInput/PillsInput.cjs +0 -1
  388. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  389. package/cjs/components/PillsInput/PillsInput.context.cjs +0 -1
  390. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  391. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs +0 -1
  392. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  393. package/cjs/components/PinInput/PinInput.cjs +0 -1
  394. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  395. package/cjs/components/Popover/Popover.cjs +5 -10
  396. package/cjs/components/Popover/Popover.cjs.map +1 -1
  397. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs +27 -0
  398. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -0
  399. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +8 -1
  400. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  401. package/cjs/components/Popover/use-popover.cjs +52 -20
  402. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  403. package/cjs/components/Portal/OptionalPortal.cjs +0 -1
  404. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  405. package/cjs/components/Portal/Portal.cjs +0 -1
  406. package/cjs/components/Portal/Portal.cjs.map +1 -1
  407. package/cjs/components/Progress/Progress.cjs +0 -1
  408. package/cjs/components/Progress/Progress.cjs.map +1 -1
  409. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs +0 -1
  410. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  411. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs +0 -1
  412. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  413. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs +0 -1
  414. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  415. package/cjs/components/Radio/Radio.cjs +1 -2
  416. package/cjs/components/Radio/Radio.cjs.map +1 -1
  417. package/cjs/components/Radio/RadioCard/RadioCard.cjs +0 -1
  418. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  419. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs +0 -1
  420. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  421. package/cjs/components/Radio/RadioIcon.cjs +0 -1
  422. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  423. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +2 -3
  424. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  425. package/cjs/components/Rating/Rating.cjs +0 -1
  426. package/cjs/components/Rating/Rating.cjs.map +1 -1
  427. package/cjs/components/Rating/RatingItem/RatingItem.cjs +0 -1
  428. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  429. package/cjs/components/Rating/StarSymbol/StarIcon.cjs +0 -1
  430. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  431. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs +0 -1
  432. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  433. package/cjs/components/RingProgress/Curve/Curve.cjs +0 -1
  434. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  435. package/cjs/components/RingProgress/RingProgress.cjs +0 -1
  436. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  437. package/cjs/components/RollingNumber/DigitColumn.cjs +0 -1
  438. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  439. package/cjs/components/RollingNumber/RollingNumber.cjs +0 -1
  440. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  441. package/cjs/components/ScrollArea/ScrollArea.cjs +0 -1
  442. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  443. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs +0 -1
  444. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  445. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs +0 -1
  446. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  447. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs +0 -1
  448. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
  449. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs +0 -1
  450. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  451. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs +0 -1
  452. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  453. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs +0 -1
  454. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  455. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs +0 -1
  456. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  457. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +0 -1
  458. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  459. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs +0 -1
  460. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  461. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs +0 -1
  462. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  463. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs +0 -1
  464. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  465. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +0 -1
  466. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  467. package/cjs/components/ScrollArea/use-resize-observer.cjs +0 -1
  468. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  469. package/cjs/components/Scroller/Scroller.cjs +0 -1
  470. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  471. package/cjs/components/SegmentedControl/SegmentedControl.cjs +0 -1
  472. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  473. package/cjs/components/Select/Select.cjs +3 -3
  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 +6 -2
  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/create-context-menu-handlers.cjs +38 -0
  644. package/cjs/utils/Floating/create-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/Combobox/Combobox.context.mjs.map +1 -1
  658. package/esm/components/Combobox/Combobox.mjs +26 -3
  659. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  660. package/esm/components/Combobox/Combobox.module.mjs.map +1 -1
  661. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs +1 -0
  662. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs.map +1 -1
  663. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +4 -2
  664. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  665. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  666. package/esm/components/Input/Input.mjs +12 -2
  667. package/esm/components/Input/Input.mjs.map +1 -1
  668. package/esm/components/Input/Input.module.mjs +1 -0
  669. package/esm/components/Input/Input.module.mjs.map +1 -1
  670. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  671. package/esm/components/Menu/Menu.mjs +37 -3
  672. package/esm/components/Menu/Menu.mjs.map +1 -1
  673. package/esm/components/Menu/Menu.module.mjs +2 -0
  674. package/esm/components/Menu/Menu.module.mjs.map +1 -1
  675. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs +8 -0
  676. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs.map +1 -0
  677. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs +30 -0
  678. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs.map +1 -0
  679. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs +52 -0
  680. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs.map +1 -0
  681. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs +27 -0
  682. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs.map +1 -0
  683. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs +9 -1
  684. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  685. package/esm/components/Menu/MenuItem/MenuItem.mjs +18 -1
  686. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  687. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs +8 -0
  688. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs.map +1 -0
  689. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs +27 -0
  690. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs.map +1 -0
  691. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs +46 -0
  692. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs.map +1 -0
  693. package/esm/components/Menu/MenuSearch/MenuSearch.mjs +115 -0
  694. package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -0
  695. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs +114 -0
  696. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -0
  697. package/esm/components/Menu/MenuSub/MenuSub.mjs +3 -2
  698. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  699. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs +13 -1
  700. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs.map +1 -1
  701. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs +18 -1
  702. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  703. package/esm/components/Menu/use-menu-type-ahead.mjs +72 -0
  704. package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -0
  705. package/esm/components/Modal/ModalRoot.mjs.map +1 -1
  706. package/esm/components/MultiSelect/MultiSelect.mjs +2 -1
  707. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  708. package/esm/components/OverflowList/OverflowList.mjs +69 -10
  709. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  710. package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
  711. package/esm/components/Pagination/Pagination.mjs +15 -3
  712. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  713. package/esm/components/Pagination/Pagination.module.mjs +3 -1
  714. package/esm/components/Pagination/Pagination.module.mjs.map +1 -1
  715. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs +32 -0
  716. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs.map +1 -0
  717. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs +3 -1
  718. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  719. package/esm/components/Pill/Pill.module.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 +27 -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/Select/Select.mjs +3 -2
  732. package/esm/components/Select/Select.mjs.map +1 -1
  733. package/esm/components/Splitter/GripIcon.mjs +52 -0
  734. package/esm/components/Splitter/GripIcon.mjs.map +1 -0
  735. package/esm/components/Splitter/Splitter.context.mjs +8 -0
  736. package/esm/components/Splitter/Splitter.context.mjs.map +1 -0
  737. package/esm/components/Splitter/Splitter.mjs +111 -0
  738. package/esm/components/Splitter/Splitter.mjs.map +1 -0
  739. package/esm/components/Splitter/Splitter.module.mjs +12 -0
  740. package/esm/components/Splitter/Splitter.module.mjs.map +1 -0
  741. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +34 -0
  742. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -0
  743. package/esm/components/Stepper/Stepper.module.mjs.map +1 -1
  744. package/esm/components/Table/Table.module.mjs.map +1 -1
  745. package/esm/components/Tabs/Tabs.module.mjs.map +1 -1
  746. package/esm/components/TagsInput/TagsInput.mjs +2 -1
  747. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  748. package/esm/components/Text/Text.mjs +4 -3
  749. package/esm/components/Text/Text.mjs.map +1 -1
  750. package/esm/components/Text/Text.module.mjs.map +1 -1
  751. package/esm/components/Textarea/Textarea.mjs +3 -1
  752. package/esm/components/Textarea/Textarea.mjs.map +1 -1
  753. package/esm/components/Timeline/Timeline.module.mjs.map +1 -1
  754. package/esm/components/Tooltip/Tooltip.mjs +7 -0
  755. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  756. package/esm/components/Tooltip/use-tooltip.mjs +8 -4
  757. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  758. package/esm/components/Tree/FlatTreeNode.mjs +14 -5
  759. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  760. package/esm/components/Tree/Tree.mjs.map +1 -1
  761. package/esm/components/Tree/Tree.module.mjs +3 -1
  762. package/esm/components/Tree/Tree.module.mjs.map +1 -1
  763. package/esm/components/Tree/TreeNode.mjs +6 -1
  764. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  765. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs +9 -4
  766. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +1 -1
  767. package/esm/components/Tree/use-tree-node-drag-drop.mjs +13 -4
  768. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
  769. package/esm/components/Typography/Typography.module.mjs.map +1 -1
  770. package/esm/components/UnstyledButton/UnstyledButton.module.mjs.map +1 -1
  771. package/esm/index.mjs +14 -2
  772. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs +59 -1
  773. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs.map +1 -1
  774. package/esm/utils/Floating/create-context-menu-handlers.mjs +38 -0
  775. package/esm/utils/Floating/create-context-menu-handlers.mjs.map +1 -0
  776. package/lib/components/Blockquote/Blockquote.d.ts +3 -1
  777. package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +1 -1
  778. package/lib/components/Combobox/Combobox.context.d.ts +1 -0
  779. package/lib/components/Combobox/Combobox.d.ts +2 -0
  780. package/lib/components/Combobox/Combobox.types.d.ts +2 -0
  781. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +3 -1
  782. package/lib/components/Drawer/DrawerRoot.d.ts +0 -2
  783. package/lib/components/Input/Input.d.ts +5 -1
  784. package/lib/components/MaskInput/use-mask-input-props.d.ts +3 -0
  785. package/lib/components/Menu/Menu.context.d.ts +5 -0
  786. package/lib/components/Menu/Menu.d.ts +41 -1
  787. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.d.ts +5 -0
  788. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.d.ts +14 -0
  789. package/lib/components/Menu/MenuCheckboxItem/MenuCheckboxItem.d.ts +37 -0
  790. package/lib/components/Menu/MenuContextMenu/MenuContextMenu.d.ts +10 -0
  791. package/lib/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  792. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.context.d.ts +5 -0
  793. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.d.ts +14 -0
  794. package/lib/components/Menu/MenuRadioItem/MenuRadioItem.d.ts +35 -0
  795. package/lib/components/Menu/MenuSearch/MenuSearch.d.ts +19 -0
  796. package/lib/components/Menu/MenuSelectableItem/MenuSelectableItem.d.ts +20 -0
  797. package/lib/components/Menu/MenuSub/MenuSub.d.ts +3 -0
  798. package/lib/components/Menu/MenuSubItem/MenuSubItem.d.ts +1 -1
  799. package/lib/components/Menu/index.d.ts +13 -1
  800. package/lib/components/Menu/use-menu-type-ahead.d.ts +7 -0
  801. package/lib/components/Modal/ModalRoot.d.ts +0 -2
  802. package/lib/components/OverflowList/OverflowList.d.ts +7 -2
  803. package/lib/components/Pagination/Pagination.context.d.ts +1 -0
  804. package/lib/components/Pagination/Pagination.d.ts +8 -0
  805. package/lib/components/Pagination/PaginationLabel/PaginationLabel.d.ts +22 -0
  806. package/lib/components/Pagination/PaginationRoot/PaginationRoot.d.ts +3 -1
  807. package/lib/components/Pagination/index.d.ts +3 -1
  808. package/lib/components/Popover/Popover.d.ts +6 -1
  809. package/lib/components/Popover/PopoverContextMenu/PopoverContextMenu.d.ts +10 -0
  810. package/lib/components/Popover/index.d.ts +3 -1
  811. package/lib/components/Popover/use-popover.d.ts +1 -3
  812. package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +1 -1
  813. package/lib/components/Splitter/GripIcon.d.ts +3 -0
  814. package/lib/components/Splitter/Splitter.context.d.ts +9 -0
  815. package/lib/components/Splitter/Splitter.d.ts +57 -0
  816. package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +30 -0
  817. package/lib/components/Splitter/index.d.ts +18 -0
  818. package/lib/components/Text/Text.d.ts +3 -1
  819. package/lib/components/Textarea/Textarea.d.ts +4 -0
  820. package/lib/components/Tree/FlatTreeNode.d.ts +5 -1
  821. package/lib/components/Tree/Tree.d.ts +2 -0
  822. package/lib/components/Tree/flatten-tree-data/flatten-tree-data.d.ts +10 -0
  823. package/lib/components/Tree/index.d.ts +1 -1
  824. package/lib/components/Tree/use-tree-node-drag-drop.d.ts +2 -1
  825. package/lib/components/index.d.ts +1 -0
  826. package/lib/utils/Floating/FloatingArrow/get-arrow-position-styles.d.ts +4 -0
  827. package/lib/utils/Floating/create-context-menu-handlers.d.ts +18 -0
  828. package/lib/utils/Floating/index.d.ts +1 -0
  829. package/lib/utils/Floating/types.d.ts +1 -1
  830. package/package.json +2 -2
  831. package/styles/Blockquote.css +1 -0
  832. package/styles/Blockquote.layer.css +1 -0
  833. package/styles/Combobox.css +8 -0
  834. package/styles/Combobox.layer.css +8 -0
  835. package/styles/Input.css +30 -3
  836. package/styles/Input.layer.css +30 -3
  837. package/styles/Menu.css +41 -2
  838. package/styles/Menu.layer.css +41 -2
  839. package/styles/Pagination.css +33 -0
  840. package/styles/Pagination.layer.css +33 -0
  841. package/styles/Pill.css +3 -5
  842. package/styles/Pill.layer.css +3 -5
  843. package/styles/Splitter.css +76 -0
  844. package/styles/Splitter.layer.css +77 -0
  845. package/styles/Stepper.css +1 -5
  846. package/styles/Stepper.layer.css +1 -5
  847. package/styles/Table.css +1 -5
  848. package/styles/Table.layer.css +1 -5
  849. package/styles/Tabs.css +13 -28
  850. package/styles/Tabs.layer.css +13 -28
  851. package/styles/Text.css +3 -2
  852. package/styles/Text.layer.css +3 -2
  853. package/styles/Timeline.css +14 -42
  854. package/styles/Timeline.layer.css +14 -42
  855. package/styles/Tree.css +55 -11
  856. package/styles/Tree.layer.css +55 -11
  857. package/styles/Typography.css +1 -1
  858. package/styles/Typography.layer.css +1 -1
  859. package/styles/UnstyledButton.css +1 -5
  860. package/styles/UnstyledButton.layer.css +1 -5
  861. package/styles.css +282 -109
  862. package/styles.layer.css +282 -109
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.mjs","names":["classes"],"sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import {\n createVarsResolver,\n ExtendComponent,\n Factory,\n getFontSize,\n getSize,\n MantineSize,\n MantineThemeComponent,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxChevron, ComboboxChevronProps } from './ComboboxChevron/ComboboxChevron';\nimport {\n ComboboxClearButton,\n ComboboxClearButtonProps,\n} from './ComboboxClearButton/ComboboxClearButton';\nimport { ComboboxDropdown, ComboboxDropdownProps } from './ComboboxDropdown/ComboboxDropdown';\nimport {\n ComboboxDropdownTarget,\n ComboboxDropdownTargetProps,\n} from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxEmpty, ComboboxEmptyProps } from './ComboboxEmpty/ComboboxEmpty';\nimport {\n ComboboxEventsTarget,\n ComboboxEventsTargetProps,\n} from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxFooter, ComboboxFooterProps } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxGroup, ComboboxGroupProps } from './ComboboxGroup/ComboboxGroup';\nimport { ComboboxHeader, ComboboxHeaderProps } from './ComboboxHeader/ComboboxHeader';\nimport {\n ComboboxHiddenInput,\n ComboboxHiddenInputProps,\n} from './ComboboxHiddenInput/ComboboxHiddenInput';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxOptions, ComboboxOptionsProps } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxSearch, ComboboxSearchProps } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxTarget, ComboboxTargetProps } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxStore, useCombobox } from './use-combobox/use-combobox';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with the `Enter` key or by clicking it */\n onOptionSubmit?: (value: string, optionProps: ComboboxOptionProps) => void;\n\n /** Controls items `font-size` and `padding` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown @default 4 */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered @default false */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether the `Combobox` value can be changed */\n readOnly?: boolean;\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n ClearButton: typeof ComboboxClearButton;\n HiddenInput: typeof ComboboxHiddenInput;\n };\n}>;\n\nconst defaultProps = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n size: 'sm',\n} satisfies Partial<ComboboxProps>;\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': dropdownPadding === undefined ? undefined : rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport const Combobox = (_props: ComboboxProps) => {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n onClose,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n attributes,\n ...others\n } = props;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const onDropdownClose = () => {\n onClose?.();\n store.closeDropdown();\n };\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size,\n resetSelectionOnOptionHover,\n readOnly,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n preventPositionChangeWhenVisible={false}\n {...others}\n onChange={(_opened) => !_opened && onDropdownClose()}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n};\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.varsResolver = varsResolver;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\nCombobox.ClearButton = ComboboxClearButton;\nCombobox.HiddenInput = ComboboxHiddenInput;\n\nexport namespace Combobox {\n export type Props = ComboboxProps;\n export type StylesNames = ComboboxStylesNames;\n export type Factory = ComboboxFactory;\n\n export namespace Dropdown {\n export type Props = ComboboxDropdownProps;\n }\n\n export namespace Options {\n export type Props = ComboboxOptionsProps;\n }\n\n export namespace Option {\n export type Props = ComboboxOptionProps;\n }\n\n export namespace Target {\n export type Props = ComboboxTargetProps;\n }\n\n export namespace Chevron {\n export type Props = ComboboxChevronProps;\n }\n\n export namespace Empty {\n export type Props = ComboboxEmptyProps;\n }\n\n export namespace Search {\n export type Props = ComboboxSearchProps;\n }\n\n export namespace Footer {\n export type Props = ComboboxFooterProps;\n }\n\n export namespace Header {\n export type Props = ComboboxHeaderProps;\n }\n\n export namespace DropdownTarget {\n export type Props = ComboboxDropdownTargetProps;\n }\n\n export namespace EventsTarget {\n export type Props = ComboboxEventsTargetProps;\n }\n\n export namespace Group {\n export type Props = ComboboxGroupProps;\n }\n\n export namespace ClearButton {\n export type Props = ComboboxClearButtonProps;\n }\n\n export namespace HiddenInput {\n export type Props = ComboboxHiddenInputProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4GA,MAAM,eAAe;CACnB,aAAa;CACb,cAAc;CACd,6BAA6B;CAC7B,OAAO;CACP,iBAAiB;EAAE,YAAY;EAAQ,UAAU;CAAE;CACnD,MAAM;AACR;AAEA,MAAM,eAAe,oBAAqC,GAAG,EAAE,MAAM,uBAAuB;CAC1F,SAAS;EACP,wBAAwB,YAAY,IAAI;EACxC,6BAA6B,QAAQ,MAAM,yBAAyB;CACtE;CAEA,UAAU;EACR,sBAAsB,oBAAoB,KAAA,IAAY,KAAA,IAAY,IAAI,eAAe;EACrF,wBAAwB,YAAY,IAAI;EACxC,6BAA6B,QAAQ,MAAM,yBAAyB;CACtE;AACF,EAAE;AAEF,MAAa,YAAY,WAA0B;CACjD,MAAM,QAAQ,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,YACA,QACA,UACA,UACA,OAAO,iBACP,MACA,gBACA,SACA,MACA,iBACA,6BACA,kBACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,oBAAoB,YAAY;CACtC,MAAM,QAAQ,mBAAmB;CAEjC,MAAM,YAAY,UAA2B;EAC3C,MAAM,oBAAoB;EAC1B,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,wBAAwB;EAC5B,UAAU;EACV,MAAM,cAAc;CACtB;CAEA,OACE,oBAAC,kBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;EACF;YAEA,oBAAC,SAAD;GACE,QAAQ,MAAM;GACd,kCAAkC;GAClC,GAAI;GACJ,WAAW,YAAY,CAAC,WAAW,gBAAgB;GACnD,WAAW;GACD;GAET;EACM,CAAA;CACO,CAAA;AAEtB;AAEA,MAAM,kBAAkB,MAA+D;AAEvF,SAAS,SAAS;AAClB,SAAS,UAAUA;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,SAAS;AAClB,SAAS,WAAW;AACpB,SAAS,UAAU;AACnB,SAAS,SAAS;AAClB,SAAS,SAAS;AAClB,SAAS,QAAQ;AACjB,SAAS,UAAU;AACnB,SAAS,SAAS;AAClB,SAAS,SAAS;AAClB,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,QAAQ;AACjB,SAAS,cAAc;AACvB,SAAS,cAAc"}
1
+ {"version":3,"file":"Combobox.mjs","names":["classes"],"sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import {\n createVarsResolver,\n ExtendComponent,\n Factory,\n getFontSize,\n getSize,\n MantineSize,\n MantineThemeComponent,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { PopoverMiddlewares } from '../Popover/Popover.types';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxChevron, ComboboxChevronProps } from './ComboboxChevron/ComboboxChevron';\nimport {\n ComboboxClearButton,\n ComboboxClearButtonProps,\n} from './ComboboxClearButton/ComboboxClearButton';\nimport { ComboboxDropdown, ComboboxDropdownProps } from './ComboboxDropdown/ComboboxDropdown';\nimport {\n ComboboxDropdownTarget,\n ComboboxDropdownTargetProps,\n} from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxEmpty, ComboboxEmptyProps } from './ComboboxEmpty/ComboboxEmpty';\nimport {\n ComboboxEventsTarget,\n ComboboxEventsTargetProps,\n} from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxFooter, ComboboxFooterProps } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxGroup, ComboboxGroupProps } from './ComboboxGroup/ComboboxGroup';\nimport { ComboboxHeader, ComboboxHeaderProps } from './ComboboxHeader/ComboboxHeader';\nimport {\n ComboboxHiddenInput,\n ComboboxHiddenInputProps,\n} from './ComboboxHiddenInput/ComboboxHiddenInput';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxOptions, ComboboxOptionsProps } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxSearch, ComboboxSearchProps } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxTarget, ComboboxTargetProps } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxStore, useCombobox } from './use-combobox/use-combobox';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with the `Enter` key or by clicking it */\n onOptionSubmit?: (value: string, optionProps: ComboboxOptionProps) => void;\n\n /** Controls items `font-size` and `padding` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown @default 4 */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered @default false */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether the `Combobox` value can be changed */\n readOnly?: boolean;\n\n /** If set to `'viewport'`, the dropdown grows to fill the available vertical space in the viewport. Disables the `flip` middleware. */\n floatingHeight?: 'viewport';\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n ClearButton: typeof ComboboxClearButton;\n HiddenInput: typeof ComboboxHiddenInput;\n };\n}>;\n\nconst defaultProps = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n size: 'sm',\n} satisfies Partial<ComboboxProps>;\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': dropdownPadding === undefined ? undefined : rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport const Combobox = (_props: ComboboxProps) => {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n onClose,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n attributes,\n floatingHeight,\n middlewares,\n ...others\n } = props;\n\n const resolvedMiddlewares: PopoverMiddlewares | undefined =\n floatingHeight === 'viewport'\n ? {\n ...middlewares,\n flip: false,\n size: {\n ...(typeof middlewares?.size === 'object' ? middlewares.size : {}),\n padding:\n typeof middlewares?.size === 'object' && middlewares.size.padding !== undefined\n ? middlewares.size.padding\n : 10,\n apply: ({ availableHeight, availableWidth, elements, ...rest }) => {\n elements.floating.style.setProperty(\n '--combobox-floating-max-height',\n `${availableHeight}px`\n );\n const userSize = middlewares?.size;\n if (typeof userSize === 'object' && userSize.apply) {\n userSize.apply({ availableHeight, availableWidth, elements, ...rest });\n } else if (userSize) {\n Object.assign(elements.floating.style, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`,\n });\n }\n },\n },\n }\n : middlewares;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const onDropdownClose = () => {\n onClose?.();\n store.closeDropdown();\n };\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size,\n resetSelectionOnOptionHover,\n readOnly,\n floatingHeight,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n {...others}\n middlewares={resolvedMiddlewares}\n onChange={(_opened) => !_opened && onDropdownClose()}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n};\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.varsResolver = varsResolver;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\nCombobox.ClearButton = ComboboxClearButton;\nCombobox.HiddenInput = ComboboxHiddenInput;\n\nexport namespace Combobox {\n export type Props = ComboboxProps;\n export type StylesNames = ComboboxStylesNames;\n export type Factory = ComboboxFactory;\n\n export namespace Dropdown {\n export type Props = ComboboxDropdownProps;\n }\n\n export namespace Options {\n export type Props = ComboboxOptionsProps;\n }\n\n export namespace Option {\n export type Props = ComboboxOptionProps;\n }\n\n export namespace Target {\n export type Props = ComboboxTargetProps;\n }\n\n export namespace Chevron {\n export type Props = ComboboxChevronProps;\n }\n\n export namespace Empty {\n export type Props = ComboboxEmptyProps;\n }\n\n export namespace Search {\n export type Props = ComboboxSearchProps;\n }\n\n export namespace Footer {\n export type Props = ComboboxFooterProps;\n }\n\n export namespace Header {\n export type Props = ComboboxHeaderProps;\n }\n\n export namespace DropdownTarget {\n export type Props = ComboboxDropdownTargetProps;\n }\n\n export namespace EventsTarget {\n export type Props = ComboboxEventsTargetProps;\n }\n\n export namespace Group {\n export type Props = ComboboxGroupProps;\n }\n\n export namespace ClearButton {\n export type Props = ComboboxClearButtonProps;\n }\n\n export namespace HiddenInput {\n export type Props = ComboboxHiddenInputProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,eAAe;CACnB,aAAa;CACb,cAAc;CACd,6BAA6B;CAC7B,OAAO;CACP,iBAAiB;EAAE,YAAY;EAAQ,UAAU;CAAE;CACnD,MAAM;AACR;AAEA,MAAM,eAAe,oBAAqC,GAAG,EAAE,MAAM,uBAAuB;CAC1F,SAAS;EACP,wBAAwB,YAAY,IAAI;EACxC,6BAA6B,QAAQ,MAAM,yBAAyB;CACtE;CAEA,UAAU;EACR,sBAAsB,oBAAoB,KAAA,IAAY,KAAA,IAAY,IAAI,eAAe;EACrF,wBAAwB,YAAY,IAAI;EACxC,6BAA6B,QAAQ,MAAM,yBAAyB;CACtE;AACF,EAAE;AAEF,MAAa,YAAY,WAA0B;CACjD,MAAM,QAAQ,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,YACA,QACA,UACA,UACA,OAAO,iBACP,MACA,gBACA,SACA,MACA,iBACA,6BACA,kBACA,UACA,YACA,gBACA,aACA,GAAG,WACD;CAEJ,MAAM,sBACJ,mBAAmB,aACf;EACE,GAAG;EACH,MAAM;EACN,MAAM;GACJ,GAAI,OAAO,aAAa,SAAS,WAAW,YAAY,OAAO,CAAC;GAChE,SACE,OAAO,aAAa,SAAS,YAAY,YAAY,KAAK,YAAY,KAAA,IAClE,YAAY,KAAK,UACjB;GACN,QAAQ,EAAE,iBAAiB,gBAAgB,UAAU,GAAG,WAAW;IACjE,SAAS,SAAS,MAAM,YACtB,kCACA,GAAG,gBAAgB,GACrB;IACA,MAAM,WAAW,aAAa;IAC9B,IAAI,OAAO,aAAa,YAAY,SAAS,OAC3C,SAAS,MAAM;KAAE;KAAiB;KAAgB;KAAU,GAAG;IAAK,CAAC;SAChE,IAAI,UACT,OAAO,OAAO,SAAS,SAAS,OAAO;KACrC,UAAU,GAAG,eAAe;KAC5B,WAAW,GAAG,gBAAgB;IAChC,CAAC;GAEL;EACF;CACF,IACA;CAEN,MAAM,oBAAoB,YAAY;CACtC,MAAM,QAAQ,mBAAmB;CAEjC,MAAM,YAAY,UAA2B;EAC3C,MAAM,oBAAoB;EAC1B,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,wBAAwB;EAC5B,UAAU;EACV,MAAM,cAAc;CACtB;CAEA,OACE,oBAAC,kBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;EACF;YAEA,oBAAC,SAAD;GACE,QAAQ,MAAM;GACd,GAAI;GACJ,aAAa;GACb,WAAW,YAAY,CAAC,WAAW,gBAAgB;GACnD,WAAW;GACD;GAET;EACM,CAAA;CACO,CAAA;AAEtB;AAEA,MAAM,kBAAkB,MAA+D;AAEvF,SAAS,SAAS;AAClB,SAAS,UAAUA;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,SAAS;AAClB,SAAS,WAAW;AACpB,SAAS,UAAU;AACnB,SAAS,SAAS;AAClB,SAAS,SAAS;AAClB,SAAS,QAAQ;AACjB,SAAS,UAAU;AACnB,SAAS,SAAS;AAClB,SAAS,SAAS;AAClB,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,QAAQ;AACjB,SAAS,cAAc;AACvB,SAAS,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.module.mjs","names":[],"sources":["../../../src/components/Combobox/Combobox.module.css"],"sourcesContent":[".dropdown {\n --combobox-padding: 4px;\n padding: var(--combobox-padding);\n\n &:has([data-mantine-scrollbar]) {\n .search {\n max-width: calc(100% + var(--combobox-padding));\n }\n }\n\n &[data-composed] {\n padding-inline-end: 0;\n }\n\n &[data-hidden] {\n display: none;\n }\n}\n\n/* Variables must be both on dropdown and options to support usage of Combobox.Options without Combobox.Dropdown */\n.dropdown,\n.options {\n --combobox-option-padding-xs: 4px 8px;\n --combobox-option-padding-sm: 6px 10px;\n --combobox-option-padding-md: 8px 12px;\n --combobox-option-padding-lg: 10px 16px;\n --combobox-option-padding-xl: 14px 20px;\n --combobox-option-padding: var(--combobox-option-padding-sm);\n}\n\n.option {\n padding: var(--combobox-option-padding);\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n border-radius: var(--mantine-radius-default);\n background-color: transparent;\n color: inherit;\n cursor: pointer;\n overflow-wrap: break-word;\n\n &:where([data-combobox-selected]) {\n background-color: var(--mantine-primary-color-filled);\n color: var(--mantine-color-white);\n }\n\n &:where([data-combobox-disabled]) {\n cursor: not-allowed;\n opacity: 0.35;\n }\n\n @mixin hover {\n &:where(:not([data-combobox-selected], [data-combobox-disabled])) {\n @mixin where-light {\n background-color: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-7);\n }\n }\n }\n}\n\n.search {\n margin-inline: calc(var(--combobox-padding) * -1);\n margin-top: calc(var(--combobox-padding) * -1);\n width: calc(100% + var(--combobox-padding) * 2);\n border-top-width: 0;\n border-inline-width: 0;\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n margin-bottom: var(--combobox-padding);\n position: relative;\n\n &,\n &:focus {\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n }\n\n @mixin where-light {\n background-color: var(--mantine-color-white);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-7);\n }\n}\n\n.empty {\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n text-align: center;\n padding: var(--combobox-option-padding);\n color: var(--mantine-color-dimmed);\n}\n\n.header,\n.footer {\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n border: 0 solid transparent;\n margin-inline: calc(var(--combobox-padding) * -1);\n padding: var(--combobox-option-padding);\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n}\n\n.footer {\n border-top-width: 1px;\n margin-top: var(--combobox-padding);\n margin-bottom: calc(var(--combobox-padding) * -1);\n}\n\n.header {\n border-bottom-width: 1px;\n margin-bottom: var(--combobox-padding);\n margin-top: calc(var(--combobox-padding) * -1);\n}\n\n.group {\n &:has(.groupLabel:only-child) {\n display: none;\n }\n}\n\n.groupLabel {\n color: var(--mantine-color-dimmed);\n font-size: calc(var(--combobox-option-fz, var(--mantine-font-size-sm)) * 0.85);\n padding: var(--combobox-option-padding);\n font-weight: var(--mantine-font-weight-medium);\n position: relative;\n display: flex;\n align-items: center;\n\n &::after {\n content: '';\n flex: 1;\n inset-inline: 0;\n height: 1px;\n margin-inline-start: var(--mantine-spacing-xs);\n\n @mixin where-light {\n background-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-4);\n }\n }\n\n &:only-child {\n display: none;\n }\n}\n\n/* ------- Combobox.Chevron ------- */\n.chevron {\n --combobox-chevron-size-xs: 14px;\n --combobox-chevron-size-sm: 18px;\n --combobox-chevron-size-md: 20px;\n --combobox-chevron-size-lg: 24px;\n --combobox-chevron-size-xl: 28px;\n --combobox-chevron-size: var(--combobox-chevron-size-sm);\n\n @mixin where-light {\n --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-gray-6));\n }\n\n @mixin where-dark {\n --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-dark-3));\n }\n\n width: var(--combobox-chevron-size);\n height: var(--combobox-chevron-size);\n color: var(--_combobox-chevron-color);\n\n &:where([data-error]) {\n color: var(--combobox-chevron-color, var(--mantine-color-error));\n }\n}\n\n/* ------- OptionsDropdown ------- */\n.optionsDropdownOption {\n display: flex;\n align-items: center;\n gap: 8px;\n\n &:where([data-reverse]) {\n justify-content: space-between;\n }\n}\n\n.optionsDropdownCheckIcon {\n opacity: 0.4;\n width: 0.8em;\n min-width: 0.8em;\n height: 0.8em;\n\n :where([data-combobox-selected]) & {\n opacity: 1;\n }\n}\n\n.optionsDropdownCheckPlaceholder {\n width: 0.8em;\n min-width: 0.8em;\n height: 0.8em;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Combobox.module.mjs","names":[],"sources":["../../../src/components/Combobox/Combobox.module.css"],"sourcesContent":[".dropdown {\n --combobox-padding: 4px;\n padding: var(--combobox-padding);\n\n &:has([data-mantine-scrollbar]) {\n .search {\n max-width: calc(100% + var(--combobox-padding));\n }\n }\n\n &[data-composed] {\n padding-inline-end: 0;\n }\n\n &[data-hidden] {\n display: none;\n }\n\n &[data-floating-height='viewport']:not([data-hidden]) {\n --combobox-floating-options-max-height: calc(\n var(--combobox-floating-max-height, 100vh) - var(--combobox-padding) * 2\n );\n max-height: var(--combobox-floating-max-height, none);\n overflow: hidden;\n }\n}\n\n/* Variables must be both on dropdown and options to support usage of Combobox.Options without Combobox.Dropdown */\n.dropdown,\n.options {\n --combobox-option-padding-xs: 4px 8px;\n --combobox-option-padding-sm: 6px 10px;\n --combobox-option-padding-md: 8px 12px;\n --combobox-option-padding-lg: 10px 16px;\n --combobox-option-padding-xl: 14px 20px;\n --combobox-option-padding: var(--combobox-option-padding-sm);\n}\n\n.option {\n padding: var(--combobox-option-padding);\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n border-radius: var(--mantine-radius-default);\n background-color: transparent;\n color: inherit;\n cursor: pointer;\n overflow-wrap: break-word;\n\n &:where([data-combobox-selected]) {\n background-color: var(--mantine-primary-color-filled);\n color: var(--mantine-color-white);\n }\n\n &:where([data-combobox-disabled]) {\n cursor: not-allowed;\n opacity: 0.35;\n }\n\n @mixin hover {\n &:where(:not([data-combobox-selected], [data-combobox-disabled])) {\n @mixin where-light {\n background-color: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-7);\n }\n }\n }\n}\n\n.search {\n margin-inline: calc(var(--combobox-padding) * -1);\n margin-top: calc(var(--combobox-padding) * -1);\n width: calc(100% + var(--combobox-padding) * 2);\n border-top-width: 0;\n border-inline-width: 0;\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n margin-bottom: var(--combobox-padding);\n position: relative;\n\n &,\n &:focus {\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n }\n\n @mixin where-light {\n background-color: var(--mantine-color-white);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-7);\n }\n}\n\n.empty {\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n text-align: center;\n padding: var(--combobox-option-padding);\n color: var(--mantine-color-dimmed);\n}\n\n.header,\n.footer {\n font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));\n border: 0 solid transparent;\n margin-inline: calc(var(--combobox-padding) * -1);\n padding: var(--combobox-option-padding);\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n}\n\n.footer {\n border-top-width: 1px;\n margin-top: var(--combobox-padding);\n margin-bottom: calc(var(--combobox-padding) * -1);\n}\n\n.header {\n border-bottom-width: 1px;\n margin-bottom: var(--combobox-padding);\n margin-top: calc(var(--combobox-padding) * -1);\n}\n\n.group {\n &:has(.groupLabel:only-child) {\n display: none;\n }\n}\n\n.groupLabel {\n color: var(--mantine-color-dimmed);\n font-size: calc(var(--combobox-option-fz, var(--mantine-font-size-sm)) * 0.85);\n padding: var(--combobox-option-padding);\n font-weight: var(--mantine-font-weight-medium);\n position: relative;\n display: flex;\n align-items: center;\n\n &::after {\n content: '';\n flex: 1;\n inset-inline: 0;\n height: 1px;\n margin-inline-start: var(--mantine-spacing-xs);\n\n @mixin where-light {\n background-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-4);\n }\n }\n\n &:only-child {\n display: none;\n }\n}\n\n/* ------- Combobox.Chevron ------- */\n.chevron {\n --combobox-chevron-size-xs: 14px;\n --combobox-chevron-size-sm: 18px;\n --combobox-chevron-size-md: 20px;\n --combobox-chevron-size-lg: 24px;\n --combobox-chevron-size-xl: 28px;\n --combobox-chevron-size: var(--combobox-chevron-size-sm);\n\n @mixin where-light {\n --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-gray-6));\n }\n\n @mixin where-dark {\n --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-dark-3));\n }\n\n width: var(--combobox-chevron-size);\n height: var(--combobox-chevron-size);\n color: var(--_combobox-chevron-color);\n\n &:where([data-error]) {\n color: var(--combobox-chevron-color, var(--mantine-color-error));\n }\n}\n\n/* ------- OptionsDropdown ------- */\n.optionsDropdownOption {\n display: flex;\n align-items: center;\n gap: 8px;\n\n &:where([data-reverse]) {\n justify-content: space-between;\n }\n}\n\n.optionsDropdownCheckIcon {\n opacity: 0.4;\n width: 0.8em;\n min-width: 0.8em;\n height: 0.8em;\n\n :where([data-combobox-selected]) & {\n opacity: 1;\n }\n}\n\n.optionsDropdownCheckPlaceholder {\n width: 0.8em;\n min-width: 0.8em;\n height: 0.8em;\n}\n"],"mappings":""}
@@ -13,6 +13,7 @@ const ComboboxDropdown = factory((props) => {
13
13
  ...others,
14
14
  role: "presentation",
15
15
  "data-hidden": hidden || void 0,
16
+ "data-floating-height": ctx.floatingHeight || void 0,
16
17
  ...ctx.getStyles("dropdown", {
17
18
  className,
18
19
  style,
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Combobox/ComboboxDropdown/ComboboxDropdown.tsx"],"sourcesContent":["import { factory, Factory, useProps } from '../../../core';\nimport { Popover, PopoverDropdownProps } from '../../Popover';\nimport { useComboboxContext } from '../Combobox.context';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxDropdownStylesNames = 'dropdown';\n\nexport interface ComboboxDropdownProps extends PopoverDropdownProps {\n /** Determines whether the dropdown should be hidden, for example, when there are no options to display */\n hidden?: boolean;\n}\n\nexport type ComboboxDropdownFactory = Factory<{\n props: ComboboxDropdownProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxDropdownStylesNames;\n compound: true;\n}>;\n\nexport const ComboboxDropdown = factory<ComboboxDropdownFactory>((props) => {\n const { classNames, styles, className, style, hidden, ...others } = useProps(\n 'ComboboxDropdown',\n null,\n props\n );\n\n const ctx = useComboboxContext();\n\n return (\n <Popover.Dropdown\n {...others}\n role=\"presentation\"\n data-hidden={hidden || undefined}\n {...ctx.getStyles('dropdown', { className, style, classNames, styles })}\n />\n );\n});\n\nComboboxDropdown.classes = classes;\nComboboxDropdown.displayName = '@mantine/core/ComboboxDropdown';\n"],"mappings":";;;;;;;;AAmBA,MAAa,mBAAmB,SAAkC,UAAU;CAC1E,MAAM,EAAE,YAAY,QAAQ,WAAW,OAAO,QAAQ,GAAG,WAAW,SAClE,oBACA,MACA,KACF;CAEA,MAAM,MAAM,mBAAmB;CAE/B,OACE,oBAAC,QAAQ,UAAT;EACE,GAAI;EACJ,MAAK;EACL,eAAa,UAAU,KAAA;EACvB,GAAI,IAAI,UAAU,YAAY;GAAE;GAAW;GAAO;GAAY;EAAO,CAAC;CACvE,CAAA;AAEL,CAAC;AAED,iBAAiB,UAAUA;AAC3B,iBAAiB,cAAc"}
1
+ {"version":3,"file":"ComboboxDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Combobox/ComboboxDropdown/ComboboxDropdown.tsx"],"sourcesContent":["import { factory, Factory, useProps } from '../../../core';\nimport { Popover, PopoverDropdownProps } from '../../Popover';\nimport { useComboboxContext } from '../Combobox.context';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxDropdownStylesNames = 'dropdown';\n\nexport interface ComboboxDropdownProps extends PopoverDropdownProps {\n /** Determines whether the dropdown should be hidden, for example, when there are no options to display */\n hidden?: boolean;\n}\n\nexport type ComboboxDropdownFactory = Factory<{\n props: ComboboxDropdownProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxDropdownStylesNames;\n compound: true;\n}>;\n\nexport const ComboboxDropdown = factory<ComboboxDropdownFactory>((props) => {\n const { classNames, styles, className, style, hidden, ...others } = useProps(\n 'ComboboxDropdown',\n null,\n props\n );\n\n const ctx = useComboboxContext();\n\n return (\n <Popover.Dropdown\n {...others}\n role=\"presentation\"\n data-hidden={hidden || undefined}\n data-floating-height={ctx.floatingHeight || undefined}\n {...ctx.getStyles('dropdown', { className, style, classNames, styles })}\n />\n );\n});\n\nComboboxDropdown.classes = classes;\nComboboxDropdown.displayName = '@mantine/core/ComboboxDropdown';\n"],"mappings":";;;;;;;;AAmBA,MAAa,mBAAmB,SAAkC,UAAU;CAC1E,MAAM,EAAE,YAAY,QAAQ,WAAW,OAAO,QAAQ,GAAG,WAAW,SAClE,oBACA,MACA,KACF;CAEA,MAAM,MAAM,mBAAmB;CAE/B,OACE,oBAAC,QAAQ,UAAT;EACE,GAAI;EACJ,MAAK;EACL,eAAa,UAAU,KAAA;EACvB,wBAAsB,IAAI,kBAAkB,KAAA;EAC5C,GAAI,IAAI,UAAU,YAAY;GAAE;GAAW;GAAO;GAAY;EAAO,CAAC;CACvE,CAAA;AAEL,CAAC;AAED,iBAAiB,UAAUA;AAC3B,iBAAiB,cAAc"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { ScrollArea } from "../../ScrollArea/ScrollArea.mjs";
3
3
  import Combobox_module_default from "../Combobox.module.mjs";
4
+ import { useComboboxContext } from "../Combobox.context.mjs";
4
5
  import { Combobox } from "../Combobox.mjs";
5
6
  import { CheckIcon } from "../../Checkbox/CheckIcon.mjs";
6
7
  import { isOptionsGroup } from "./is-options-group.mjs";
@@ -50,7 +51,8 @@ function Option({ data, withCheckIcon, withAlignedLabels, value, checkIconPositi
50
51
  children: options
51
52
  });
52
53
  }
53
- function OptionsDropdown({ data, hidden, hiddenWhenEmpty, filter, search, limit, maxDropdownHeight, withScrollArea = true, filterOptions = true, withCheckIcon = false, withAlignedLabels = false, value, checkIconPosition, nothingFoundMessage, unstyled, labelId, renderOption, scrollAreaProps, "aria-label": ariaLabel }) {
54
+ function OptionsDropdown({ data, hidden, hiddenWhenEmpty, filter, search, limit, maxDropdownHeight, floatingHeight, withScrollArea = true, filterOptions = true, withCheckIcon = false, withAlignedLabels = false, value, checkIconPosition, nothingFoundMessage, unstyled, labelId, renderOption, scrollAreaProps, "aria-label": ariaLabel }) {
55
+ const ctx = useComboboxContext();
54
56
  validateOptions(data);
55
57
  const filteredData = typeof search === "string" ? (filter || defaultOptionsFilter)({
56
58
  options: data,
@@ -74,7 +76,7 @@ function OptionsDropdown({ data, hidden, hiddenWhenEmpty, filter, search, limit,
74
76
  labelledBy: labelId,
75
77
  "aria-label": ariaLabel,
76
78
  children: [withScrollArea ? /* @__PURE__ */ jsx(ScrollArea.Autosize, {
77
- mah: maxDropdownHeight ?? 220,
79
+ mah: (floatingHeight ?? ctx.floatingHeight) === "viewport" ? "var(--combobox-floating-options-max-height)" : maxDropdownHeight ?? 220,
78
80
  type: "scroll",
79
81
  scrollbarSize: "var(--combobox-padding)",
80
82
  offsetScrollbars: "y",
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { Primitive } from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { ScrollArea, ScrollAreaProps } from '../../ScrollArea/ScrollArea';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxLikeRenderOptionInput, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter<Value extends Primitive = string> = (\n input: FilterOptionsInput<Value>\n) => ComboboxParsedItem<Value>[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem<Primitive>[];\n}\n\nexport type OptionsData = (ComboboxItem<Primitive> | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem<Primitive> | OptionsGroup;\n withCheckIcon?: boolean;\n withAlignedLabels?: boolean;\n value?: Primitive | Primitive[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n renderOption?: (input: ComboboxLikeRenderOptionInput<any>) => React.ReactNode;\n}\n\nfunction isValueChecked(value: Primitive | Primitive[] | undefined | null, optionValue: Primitive) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({\n data,\n withCheckIcon,\n withAlignedLabels,\n value,\n checkIconPosition,\n unstyled,\n renderOption,\n}: OptionProps) {\n if (!isOptionsGroup(data)) {\n const checked = isValueChecked(value, data.value);\n const check =\n withCheckIcon &&\n (checked ? (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n ) : withAlignedLabels ? (\n <div className={classes.optionsDropdownCheckPlaceholder} />\n ) : null);\n\n const defaultContent = (\n <>\n {checkIconPosition === 'left' && check}\n <span>{data.label}</span>\n {checkIconPosition === 'right' && check}\n </>\n );\n\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={checked || undefined}\n aria-selected={checked}\n active={checked}\n >\n {typeof renderOption === 'function'\n ? renderOption({ option: data, checked })\n : defaultContent}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={`${item.value}`}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n checkIconPosition={checkIconPosition}\n renderOption={renderOption}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter<Primitive> | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n withAlignedLabels?: boolean;\n value?: Primitive | Primitive[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string | undefined;\n 'aria-label': string | undefined;\n renderOption?: (input: ComboboxLikeRenderOptionInput<any>) => React.ReactNode;\n scrollAreaProps: ScrollAreaProps | undefined;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n withAlignedLabels = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n renderOption,\n scrollAreaProps,\n 'aria-label': ariaLabel,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : `${item.value}`}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n renderOption={renderOption}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)} data-composed>\n <Combobox.Options labelledBy={labelId} aria-label={ariaLabel}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--combobox-padding)\"\n offsetScrollbars=\"y\"\n {...scrollAreaProps}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAiCA,SAAS,eAAe,OAAmD,aAAwB;CACjG,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,WAAW,IAAI,UAAU;AACxE;AAEA,SAAS,OAAO,EACd,MACA,eACA,mBACA,OACA,mBACA,UACA,gBACc;CACd,IAAI,CAAC,eAAe,IAAI,GAAG;EACzB,MAAM,UAAU,eAAe,OAAO,KAAK,KAAK;EAChD,MAAM,QACJ,kBACC,UACC,oBAAC,WAAD,EAAW,WAAWA,wBAAQ,yBAA2B,CAAA,IACvD,oBACF,oBAAC,OAAD,EAAK,WAAWA,wBAAQ,gCAAkC,CAAA,IACxD;EAEN,MAAM,iBACJ,qBAAA,UAAA,EAAA,UAAA;GACG,sBAAsB,UAAU;GACjC,oBAAC,QAAD,EAAA,UAAO,KAAK,MAAY,CAAA;GACvB,sBAAsB,WAAW;EAClC,EAAA,CAAA;EAGJ,OACE,oBAAC,SAAS,QAAV;GACE,OAAO,KAAK;GACZ,UAAU,KAAK;GACf,WAAW,GAAG,GAAGA,wBAAQ,wBAAwB,CAAC,SAAS,CAAC;GAC5D,gBAAc,sBAAsB,WAAW,KAAA;GAC/C,gBAAc,WAAW,KAAA;GACzB,iBAAe;GACf,QAAQ;aAEP,OAAO,iBAAiB,aACrB,aAAa;IAAE,QAAQ;IAAM;GAAQ,CAAC,IACtC;EACW,CAAA;CAErB;CAEA,MAAM,UAAU,KAAK,MAAM,KAAK,SAC9B,oBAAC,QAAD;EACE,MAAM;EACC;EAEG;EACK;EACI;EACA;EACL;CACf,GANM,GAAG,KAAK,OAMd,CACF;CAED,OAAO,oBAAC,SAAS,OAAV;EAAgB,OAAO,KAAK;YAAQ;CAAwB,CAAA;AACrE;AAwBA,SAAgB,gBAAgB,EAC9B,MACA,QACA,iBACA,QACA,QACA,OACA,mBACA,iBAAiB,MACjB,gBAAgB,MAChB,gBAAgB,OAChB,oBAAoB,OACpB,OACA,mBACA,qBACA,UACA,SACA,cACA,iBACA,cAAc,aACS;CACvB,gBAAgB,IAAI;CAGpB,MAAM,eADe,OAAO,WAAW,YAElC,UAAU,sBAAsB;EAC/B,SAAS;EACT,QAAQ,gBAAgB,SAAS;EACjC,OAAO,SAAS;CAClB,CAAC,IACD;CACJ,MAAM,UAAU,oBAAoB,YAAY;CAEhD,MAAM,UAAU,aAAa,KAAK,SAChC,oBAAC,QAAD;EACE,MAAM;EAES;EACI;EACZ;EACY;EACT;EACI;CACf,GAPM,eAAe,IAAI,IAAI,KAAK,QAAQ,GAAG,KAAK,OAOlD,CACF;CAED,OACE,oBAAC,SAAS,UAAV;EAAmB,QAAQ,UAAW,mBAAmB;EAAU,iBAAA;YACjE,qBAAC,SAAS,SAAV;GAAkB,YAAY;GAAS,cAAY;aAAnD,CACG,iBACC,oBAAC,WAAW,UAAZ;IACE,KAAK,qBAAqB;IAC1B,MAAK;IACL,eAAc;IACd,kBAAiB;IACjB,GAAI;cAEH;GACkB,CAAA,IAErB,SAED,WAAW,uBAAuB,oBAAC,SAAS,OAAV,EAAA,UAAiB,oBAAoC,CAAA,CACxE;;CACD,CAAA;AAEvB"}
1
+ {"version":3,"file":"OptionsDropdown.mjs","names":["classes"],"sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { Primitive } from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { ScrollArea, ScrollAreaProps } from '../../ScrollArea/ScrollArea';\nimport { Combobox } from '../Combobox';\nimport { useComboboxContext } from '../Combobox.context';\nimport { ComboboxItem, ComboboxLikeRenderOptionInput, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter<Value extends Primitive = string> = (\n input: FilterOptionsInput<Value>\n) => ComboboxParsedItem<Value>[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem<Primitive>[];\n}\n\nexport type OptionsData = (ComboboxItem<Primitive> | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem<Primitive> | OptionsGroup;\n withCheckIcon?: boolean;\n withAlignedLabels?: boolean;\n value?: Primitive | Primitive[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n renderOption?: (input: ComboboxLikeRenderOptionInput<any>) => React.ReactNode;\n}\n\nfunction isValueChecked(value: Primitive | Primitive[] | undefined | null, optionValue: Primitive) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({\n data,\n withCheckIcon,\n withAlignedLabels,\n value,\n checkIconPosition,\n unstyled,\n renderOption,\n}: OptionProps) {\n if (!isOptionsGroup(data)) {\n const checked = isValueChecked(value, data.value);\n const check =\n withCheckIcon &&\n (checked ? (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n ) : withAlignedLabels ? (\n <div className={classes.optionsDropdownCheckPlaceholder} />\n ) : null);\n\n const defaultContent = (\n <>\n {checkIconPosition === 'left' && check}\n <span>{data.label}</span>\n {checkIconPosition === 'right' && check}\n </>\n );\n\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={checked || undefined}\n aria-selected={checked}\n active={checked}\n >\n {typeof renderOption === 'function'\n ? renderOption({ option: data, checked })\n : defaultContent}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={`${item.value}`}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n checkIconPosition={checkIconPosition}\n renderOption={renderOption}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter<Primitive> | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n /** Overrides `floatingHeight` from the `Combobox` context, used by `Combobox`-based components */\n floatingHeight?: 'viewport';\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n withAlignedLabels?: boolean;\n value?: Primitive | Primitive[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string | undefined;\n 'aria-label': string | undefined;\n renderOption?: (input: ComboboxLikeRenderOptionInput<any>) => React.ReactNode;\n scrollAreaProps: ScrollAreaProps | undefined;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n floatingHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n withAlignedLabels = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n renderOption,\n scrollAreaProps,\n 'aria-label': ariaLabel,\n}: OptionsDropdownProps) {\n const ctx = useComboboxContext();\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : `${item.value}`}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n renderOption={renderOption}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)} data-composed>\n <Combobox.Options labelledBy={labelId} aria-label={ariaLabel}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={\n (floatingHeight ?? ctx.floatingHeight) === 'viewport'\n ? 'var(--combobox-floating-options-max-height)'\n : (maxDropdownHeight ?? 220)\n }\n type=\"scroll\"\n scrollbarSize=\"var(--combobox-padding)\"\n offsetScrollbars=\"y\"\n {...scrollAreaProps}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAkCA,SAAS,eAAe,OAAmD,aAAwB;CACjG,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,WAAW,IAAI,UAAU;AACxE;AAEA,SAAS,OAAO,EACd,MACA,eACA,mBACA,OACA,mBACA,UACA,gBACc;CACd,IAAI,CAAC,eAAe,IAAI,GAAG;EACzB,MAAM,UAAU,eAAe,OAAO,KAAK,KAAK;EAChD,MAAM,QACJ,kBACC,UACC,oBAAC,WAAD,EAAW,WAAWA,wBAAQ,yBAA2B,CAAA,IACvD,oBACF,oBAAC,OAAD,EAAK,WAAWA,wBAAQ,gCAAkC,CAAA,IACxD;EAEN,MAAM,iBACJ,qBAAA,UAAA,EAAA,UAAA;GACG,sBAAsB,UAAU;GACjC,oBAAC,QAAD,EAAA,UAAO,KAAK,MAAY,CAAA;GACvB,sBAAsB,WAAW;EAClC,EAAA,CAAA;EAGJ,OACE,oBAAC,SAAS,QAAV;GACE,OAAO,KAAK;GACZ,UAAU,KAAK;GACf,WAAW,GAAG,GAAGA,wBAAQ,wBAAwB,CAAC,SAAS,CAAC;GAC5D,gBAAc,sBAAsB,WAAW,KAAA;GAC/C,gBAAc,WAAW,KAAA;GACzB,iBAAe;GACf,QAAQ;aAEP,OAAO,iBAAiB,aACrB,aAAa;IAAE,QAAQ;IAAM;GAAQ,CAAC,IACtC;EACW,CAAA;CAErB;CAEA,MAAM,UAAU,KAAK,MAAM,KAAK,SAC9B,oBAAC,QAAD;EACE,MAAM;EACC;EAEG;EACK;EACI;EACA;EACL;CACf,GANM,GAAG,KAAK,OAMd,CACF;CAED,OAAO,oBAAC,SAAS,OAAV;EAAgB,OAAO,KAAK;YAAQ;CAAwB,CAAA;AACrE;AA0BA,SAAgB,gBAAgB,EAC9B,MACA,QACA,iBACA,QACA,QACA,OACA,mBACA,gBACA,iBAAiB,MACjB,gBAAgB,MAChB,gBAAgB,OAChB,oBAAoB,OACpB,OACA,mBACA,qBACA,UACA,SACA,cACA,iBACA,cAAc,aACS;CACvB,MAAM,MAAM,mBAAmB;CAC/B,gBAAgB,IAAI;CAGpB,MAAM,eADe,OAAO,WAAW,YAElC,UAAU,sBAAsB;EAC/B,SAAS;EACT,QAAQ,gBAAgB,SAAS;EACjC,OAAO,SAAS;CAClB,CAAC,IACD;CACJ,MAAM,UAAU,oBAAoB,YAAY;CAEhD,MAAM,UAAU,aAAa,KAAK,SAChC,oBAAC,QAAD;EACE,MAAM;EAES;EACI;EACZ;EACY;EACT;EACI;CACf,GAPM,eAAe,IAAI,IAAI,KAAK,QAAQ,GAAG,KAAK,OAOlD,CACF;CAED,OACE,oBAAC,SAAS,UAAV;EAAmB,QAAQ,UAAW,mBAAmB;EAAU,iBAAA;YACjE,qBAAC,SAAS,SAAV;GAAkB,YAAY;GAAS,cAAY;aAAnD,CACG,iBACC,oBAAC,WAAW,UAAZ;IACE,MACG,kBAAkB,IAAI,oBAAoB,aACvC,gDACC,qBAAqB;IAE5B,MAAK;IACL,eAAc;IACd,kBAAiB;IACjB,GAAI;cAEH;GACkB,CAAA,IAErB,SAED,WAAW,uBAAuB,oBAAC,SAAS,OAAV,EAAA,UAAiB,oBAAoC,CAAA,CACxE;;CACD,CAAA;AAEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerRoot.mjs","names":["classes"],"sources":["../../../src/components/Drawer/DrawerRoot.tsx"],"sourcesContent":["import {\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getSize,\n MantineRadius,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { ModalBase, ModalBaseProps, ModalBaseStylesNames } from '../ModalBase';\nimport { ScrollArea } from '../ScrollArea';\nimport { MantineTransition } from '../Transition';\nimport { DrawerProvider, ScrollAreaComponent } from './Drawer.context';\nimport classes from './Drawer.module.css';\n\ntype DrawerPosition = 'bottom' | 'left' | 'right' | 'top';\n\nfunction getDrawerAlign(position: DrawerPosition | undefined) {\n switch (position) {\n case 'top':\n return 'flex-start';\n case 'bottom':\n return 'flex-end';\n default:\n return undefined;\n }\n}\n\nfunction getDrawerFlex(position: DrawerPosition | undefined) {\n if (position === 'top' || position === 'bottom') {\n return '0 0 calc(100% - var(--drawer-offset, 0rem) * 2)';\n }\n\n return undefined;\n}\n\nexport type DrawerRootStylesNames = ModalBaseStylesNames;\nexport type DrawerRootCssVariables = {\n root:\n | '--drawer-size'\n | '--drawer-flex'\n | '--drawer-height'\n | '--drawer-align'\n | '--drawer-justify'\n | '--drawer-offset';\n};\n\nexport interface DrawerRootProps extends StylesApiProps<DrawerRootFactory>, ModalBaseProps {\n /** Scroll area component @default 'div' */\n scrollAreaComponent?: ScrollAreaComponent;\n\n /** Side of the screen on which drawer will be opened @default 'left' */\n position?: DrawerPosition;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default 0 */\n radius?: MantineRadius;\n\n /** Drawer container offset from the viewport end @default 0 */\n offset?: number | string;\n}\n\nexport type DrawerRootFactory = Factory<{\n props: DrawerRootProps;\n ref: HTMLDivElement;\n stylesNames: DrawerRootStylesNames;\n vars: DrawerRootCssVariables;\n compound: true;\n}>;\n\nconst transitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n left: 'slide-right',\n right: 'slide-left',\n};\n\nconst rtlTransitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n right: 'slide-right',\n left: 'slide-left',\n};\n\nconst defaultProps = {\n closeOnClickOutside: true,\n withinPortal: true,\n lockScroll: true,\n trapFocus: true,\n returnFocus: true,\n closeOnEscape: true,\n keepMounted: false,\n zIndex: getDefaultZIndex('modal'),\n position: 'left',\n} satisfies Partial<DrawerRootProps>;\n\nconst varsResolver = createVarsResolver<DrawerRootFactory>((_, { position, size, offset }) => ({\n root: {\n '--drawer-size': getSize(size, 'drawer-size'),\n '--drawer-flex': getDrawerFlex(position),\n '--drawer-height':\n position === 'left' || position === 'right' ? undefined : 'var(--drawer-size)',\n '--drawer-align': getDrawerAlign(position),\n '--drawer-justify': position === 'right' ? 'flex-end' : undefined,\n '--drawer-offset': rem(offset),\n },\n}));\n\nexport const DrawerRoot = factory<DrawerRootFactory>((_props) => {\n const props = useProps('DrawerRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n scrollAreaComponent,\n position,\n transitionProps,\n radius,\n attributes,\n ...others\n } = props;\n\n const { dir } = useDirection();\n\n const getStyles = useStyles<DrawerRootFactory>({\n name: 'Drawer',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const drawerTransition = (dir === 'rtl' ? rtlTransitions : transitions)[position];\n\n return (\n <DrawerProvider value={{ scrollAreaComponent, getStyles, radius }}>\n <ModalBase\n {...getStyles('root')}\n transitionProps={{ transition: drawerTransition, ...transitionProps }}\n data-offset-scrollbars={scrollAreaComponent === ScrollArea.Autosize || undefined}\n unstyled={unstyled}\n {...others}\n />\n </DrawerProvider>\n );\n});\n\nDrawerRoot.classes = classes;\nDrawerRoot.varsResolver = varsResolver;\nDrawerRoot.displayName = '@mantine/core/DrawerRoot';\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAS,eAAe,UAAsC;CAC5D,QAAQ,UAAR;EACE,KAAK,OACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,SACE;CACJ;AACF;AAEA,SAAS,cAAc,UAAsC;CAC3D,IAAI,aAAa,SAAS,aAAa,UACrC,OAAO;AAIX;AAmCA,MAAM,cAAyD;CAC7D,KAAK;CACL,QAAQ;CACR,MAAM;CACN,OAAO;AACT;AAEA,MAAM,iBAA4D;CAChE,KAAK;CACL,QAAQ;CACR,OAAO;CACP,MAAM;AACR;AAEA,MAAM,eAAe;CACnB,qBAAqB;CACrB,cAAc;CACd,YAAY;CACZ,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,QAAQ,iBAAiB,OAAO;CAChC,UAAU;AACZ;AAEA,MAAM,eAAe,oBAAuC,GAAG,EAAE,UAAU,MAAM,cAAc,EAC7F,MAAM;CACJ,iBAAiB,QAAQ,MAAM,aAAa;CAC5C,iBAAiB,cAAc,QAAQ;CACvC,mBACE,aAAa,UAAU,aAAa,UAAU,KAAA,IAAY;CAC5D,kBAAkB,eAAe,QAAQ;CACzC,oBAAoB,aAAa,UAAU,aAAa,KAAA;CACxD,mBAAmB,IAAI,MAAM;AAC/B,EACF,EAAE;AAEF,MAAa,aAAa,SAA4B,WAAW;CAC/D,MAAM,QAAQ,SAAS,cAAc,cAAc,MAAM;CACzD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,qBACA,UACA,iBACA,QACA,YACA,GAAG,WACD;CAEJ,MAAM,EAAE,QAAQ,aAAa;CAE7B,MAAM,YAAY,UAA6B;EAC7C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,oBAAoB,QAAQ,QAAQ,iBAAiB,aAAa;CAExE,OACE,oBAAC,gBAAD;EAAgB,OAAO;GAAE;GAAqB;GAAW;EAAO;YAC9D,oBAAC,WAAD;GACE,GAAI,UAAU,MAAM;GACpB,iBAAiB;IAAE,YAAY;IAAkB,GAAG;GAAgB;GACpE,0BAAwB,wBAAwB,WAAW,YAAY,KAAA;GAC7D;GACV,GAAI;EACL,CAAA;CACa,CAAA;AAEpB,CAAC;AAED,WAAW,UAAUA;AACrB,WAAW,eAAe;AAC1B,WAAW,cAAc"}
1
+ {"version":3,"file":"DrawerRoot.mjs","names":["classes"],"sources":["../../../src/components/Drawer/DrawerRoot.tsx"],"sourcesContent":["import {\n createVarsResolver,\n factory,\n Factory,\n getDefaultZIndex,\n getSize,\n MantineRadius,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { ModalBase, ModalBaseProps, ModalBaseStylesNames } from '../ModalBase';\nimport { ScrollArea } from '../ScrollArea';\nimport { MantineTransition } from '../Transition';\nimport { DrawerProvider, ScrollAreaComponent } from './Drawer.context';\nimport classes from './Drawer.module.css';\n\ntype DrawerPosition = 'bottom' | 'left' | 'right' | 'top';\n\nfunction getDrawerAlign(position: DrawerPosition | undefined) {\n switch (position) {\n case 'top':\n return 'flex-start';\n case 'bottom':\n return 'flex-end';\n default:\n return undefined;\n }\n}\n\nfunction getDrawerFlex(position: DrawerPosition | undefined) {\n if (position === 'top' || position === 'bottom') {\n return '0 0 calc(100% - var(--drawer-offset, 0rem) * 2)';\n }\n\n return undefined;\n}\n\nexport type DrawerRootStylesNames = ModalBaseStylesNames;\nexport type DrawerRootCssVariables = {\n root:\n | '--drawer-size'\n | '--drawer-flex'\n | '--drawer-height'\n | '--drawer-align'\n | '--drawer-justify'\n | '--drawer-offset';\n};\n\nexport interface DrawerRootProps extends StylesApiProps<DrawerRootFactory>, ModalBaseProps {\n /** Scroll area component @default 'div' */\n scrollAreaComponent?: ScrollAreaComponent;\n\n /** Side of the screen on which drawer will be opened @default 'left' */\n position?: DrawerPosition;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default 0 */\n radius?: MantineRadius;\n\n /** Drawer container offset from the viewport end @default 0 */\n offset?: number | string;\n}\n\nexport type DrawerRootFactory = Factory<{\n props: DrawerRootProps;\n ref: HTMLDivElement;\n stylesNames: DrawerRootStylesNames;\n vars: DrawerRootCssVariables;\n}>;\n\nconst transitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n left: 'slide-right',\n right: 'slide-left',\n};\n\nconst rtlTransitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n right: 'slide-right',\n left: 'slide-left',\n};\n\nconst defaultProps = {\n closeOnClickOutside: true,\n withinPortal: true,\n lockScroll: true,\n trapFocus: true,\n returnFocus: true,\n closeOnEscape: true,\n keepMounted: false,\n zIndex: getDefaultZIndex('modal'),\n position: 'left',\n} satisfies Partial<DrawerRootProps>;\n\nconst varsResolver = createVarsResolver<DrawerRootFactory>((_, { position, size, offset }) => ({\n root: {\n '--drawer-size': getSize(size, 'drawer-size'),\n '--drawer-flex': getDrawerFlex(position),\n '--drawer-height':\n position === 'left' || position === 'right' ? undefined : 'var(--drawer-size)',\n '--drawer-align': getDrawerAlign(position),\n '--drawer-justify': position === 'right' ? 'flex-end' : undefined,\n '--drawer-offset': rem(offset),\n },\n}));\n\nexport const DrawerRoot = factory<DrawerRootFactory>((_props) => {\n const props = useProps('DrawerRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n scrollAreaComponent,\n position,\n transitionProps,\n radius,\n attributes,\n ...others\n } = props;\n\n const { dir } = useDirection();\n\n const getStyles = useStyles<DrawerRootFactory>({\n name: 'Drawer',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const drawerTransition = (dir === 'rtl' ? rtlTransitions : transitions)[position];\n\n return (\n <DrawerProvider value={{ scrollAreaComponent, getStyles, radius }}>\n <ModalBase\n {...getStyles('root')}\n transitionProps={{ transition: drawerTransition, ...transitionProps }}\n data-offset-scrollbars={scrollAreaComponent === ScrollArea.Autosize || undefined}\n unstyled={unstyled}\n {...others}\n />\n </DrawerProvider>\n );\n});\n\nDrawerRoot.classes = classes;\nDrawerRoot.varsResolver = varsResolver;\nDrawerRoot.displayName = '@mantine/core/DrawerRoot';\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAS,eAAe,UAAsC;CAC5D,QAAQ,UAAR;EACE,KAAK,OACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,SACE;CACJ;AACF;AAEA,SAAS,cAAc,UAAsC;CAC3D,IAAI,aAAa,SAAS,aAAa,UACrC,OAAO;AAIX;AAkCA,MAAM,cAAyD;CAC7D,KAAK;CACL,QAAQ;CACR,MAAM;CACN,OAAO;AACT;AAEA,MAAM,iBAA4D;CAChE,KAAK;CACL,QAAQ;CACR,OAAO;CACP,MAAM;AACR;AAEA,MAAM,eAAe;CACnB,qBAAqB;CACrB,cAAc;CACd,YAAY;CACZ,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,QAAQ,iBAAiB,OAAO;CAChC,UAAU;AACZ;AAEA,MAAM,eAAe,oBAAuC,GAAG,EAAE,UAAU,MAAM,cAAc,EAC7F,MAAM;CACJ,iBAAiB,QAAQ,MAAM,aAAa;CAC5C,iBAAiB,cAAc,QAAQ;CACvC,mBACE,aAAa,UAAU,aAAa,UAAU,KAAA,IAAY;CAC5D,kBAAkB,eAAe,QAAQ;CACzC,oBAAoB,aAAa,UAAU,aAAa,KAAA;CACxD,mBAAmB,IAAI,MAAM;AAC/B,EACF,EAAE;AAEF,MAAa,aAAa,SAA4B,WAAW;CAC/D,MAAM,QAAQ,SAAS,cAAc,cAAc,MAAM;CACzD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,qBACA,UACA,iBACA,QACA,YACA,GAAG,WACD;CAEJ,MAAM,EAAE,QAAQ,aAAa;CAE7B,MAAM,YAAY,UAA6B;EAC7C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,oBAAoB,QAAQ,QAAQ,iBAAiB,aAAa;CAExE,OACE,oBAAC,gBAAD;EAAgB,OAAO;GAAE;GAAqB;GAAW;EAAO;YAC9D,oBAAC,WAAD;GACE,GAAI,UAAU,MAAM;GACpB,iBAAiB;IAAE,YAAY;IAAkB,GAAG;GAAgB;GACpE,0BAAwB,wBAAwB,WAAW,YAAY,KAAA;GAC7D;GACV,GAAI;EACL,CAAA;CACa,CAAA;AAEpB,CAAC;AAED,WAAW,UAAUA;AACrB,WAAW,eAAe;AAC1B,WAAW,cAAc"}
@@ -45,7 +45,7 @@ const varsResolver = createVarsResolver((_, props, ctx) => ({ wrapper: {
45
45
  } }));
46
46
  const Input = polymorphicFactory((_props) => {
47
47
  const props = useProps("Input", defaultProps, _props);
48
- const { classNames, className, style, styles, unstyled, required, __staticSelector, __stylesApiProps, size, wrapperProps, error, disabled, leftSection, leftSectionProps, leftSectionWidth, rightSection, rightSectionProps, rightSectionWidth, rightSectionPointerEvents, leftSectionPointerEvents, variant, vars, pointer, multiline, radius, id, withAria, withErrorStyles, mod, inputSize, attributes, __clearSection, __clearable, __clearSectionMode, __defaultRightSection, loading, loadingPosition, rootRef, ...others } = props;
48
+ const { classNames, className, style, styles, unstyled, required, __staticSelector, __stylesApiProps, size, wrapperProps, error, disabled, leftSection, leftSectionProps, leftSectionWidth, rightSection, rightSectionProps, rightSectionWidth, rightSectionPointerEvents, leftSectionPointerEvents, variant, vars, pointer, multiline, radius, id, withAria, withErrorStyles, mod, inputSize, attributes, __clearSection, __clearable, __clearSectionMode, __defaultRightSection, loading, loadingPosition, __bottomSection, __bottomSectionProps, rootRef, dir, ...others } = props;
49
49
  const { styleProps, rest } = extractStyleProps(others);
50
50
  const ctx = use(InputWrapperContext);
51
51
  const stylesCtx = {
@@ -88,6 +88,7 @@ const Input = polymorphicFactory((_props) => {
88
88
  value: { size: size || "sm" },
89
89
  children: /* @__PURE__ */ jsxs(Box, {
90
90
  ref: rootRef,
91
+ dir,
91
92
  ...getStyles("wrapper"),
92
93
  ...styleProps,
93
94
  ...wrapperProps,
@@ -97,7 +98,8 @@ const Input = polymorphicFactory((_props) => {
97
98
  disabled,
98
99
  multiline,
99
100
  "data-with-right-section": !!_rightSection,
100
- "data-with-left-section": !!_leftSection
101
+ "data-with-left-section": !!_leftSection,
102
+ "data-with-bottom-section": !!__bottomSection
101
103
  }, mod],
102
104
  variant,
103
105
  size,
@@ -124,6 +126,14 @@ const Input = polymorphicFactory((_props) => {
124
126
  __size: inputSize,
125
127
  ...getStyles("input")
126
128
  }),
129
+ __bottomSection && /* @__PURE__ */ jsx("div", {
130
+ ...__bottomSectionProps,
131
+ ...getStyles("bottomSection", {
132
+ className: __bottomSectionProps?.className,
133
+ style: __bottomSectionProps?.style
134
+ }),
135
+ children: __bottomSection
136
+ }),
127
137
  _rightSection && /* @__PURE__ */ jsx("div", {
128
138
  ...rightSectionProps,
129
139
  "data-position": "right",
@@ -1 +1 @@
1
- {"version":3,"file":"Input.mjs","names":["classes"],"sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n extractStyleProps,\n getFontSize,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Loader } from '../Loader/Loader';\nimport { InputContext } from './Input.context';\nimport {\n InputClearButton,\n type InputClearButtonProps,\n type InputClearButtonFactory,\n} from './InputClearButton/InputClearButton';\nimport {\n ClearSectionMode,\n InputClearSection,\n type InputClearSectionProps,\n} from './InputClearSection/InputClearSection';\nimport {\n InputDescription,\n type InputDescriptionProps,\n type InputDescriptionStylesNames,\n type InputDescriptionCssVariables,\n type InputDescriptionFactory,\n} from './InputDescription/InputDescription';\nimport {\n InputError,\n type InputErrorProps,\n type InputErrorStylesNames,\n type InputErrorCssVariables,\n type InputErrorFactory,\n} from './InputError/InputError';\nimport {\n InputLabel,\n type InputLabelProps,\n type InputLabelStylesNames,\n type InputLabelCssVariables,\n type InputLabelFactory,\n} from './InputLabel/InputLabel';\nimport {\n InputPlaceholder,\n type InputPlaceholderProps,\n type InputPlaceholderStylesNames,\n type InputPlaceholderFactory,\n} from './InputPlaceholder/InputPlaceholder';\nimport { InputWrapperContext } from './InputWrapper.context';\nimport {\n __InputWrapperProps,\n InputWrapper,\n InputWrapperStylesNames,\n type InputWrapperProps,\n type InputWrapperFactory,\n} from './InputWrapper/InputWrapper';\nimport classes from './Input.module.css';\n// Required to be a separate type for docgen script\ntype WrapperProps = React.ComponentProps<'div'> & DataAttributes;\n\nexport interface __BaseInputProps extends __InputWrapperProps, __InputProps {\n /** Props passed down to the root element */\n wrapperProps?: WrapperProps;\n}\n\nexport type __InputStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport type InputStylesNames = 'input' | 'wrapper' | 'section';\nexport type InputVariant = 'default' | 'filled' | 'unstyled';\nexport type InputCssVariables = {\n wrapper:\n | '--input-height'\n | '--input-fz'\n | '--input-radius'\n | '--input-left-section-width'\n | '--input-right-section-width'\n | '--input-left-section-pointer-events'\n | '--input-right-section-pointer-events'\n | '--input-padding-y'\n | '--input-margin-top'\n | '--input-margin-bottom';\n};\n\nexport interface InputStylesCtx {\n offsetTop: boolean | undefined;\n offsetBottom: boolean | undefined;\n}\n\nexport interface __InputProps {\n /** Content section displayed on the left side of the input */\n leftSection?: React.ReactNode;\n\n /** Left section width, used to set `width` of the section and input `padding-left`, by default equals to the input height */\n leftSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `leftSection` element */\n leftSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `leftSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n leftSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Content section displayed on the right side of the input */\n rightSection?: React.ReactNode;\n\n /** Right section width, used to set `width` of the section and input `padding-right`, by default equals to the input height */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `rightSection` element */\n rightSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `rightSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n rightSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Sets `required` attribute on the `input` element */\n required?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Sets `disabled` attribute on the `input` element */\n disabled?: boolean;\n\n /** Controls input `height`, horizontal `padding`, and `font-size` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Determines whether the input should have `cursor: pointer` style. Use when input acts as a button-like trigger (e.g., `component=\"button\"` for Select/DatePicker). @default false */\n pointer?: boolean;\n\n /** Determines whether the input should have red border and red text color when the `error` prop is set @default true */\n withErrorStyles?: boolean;\n\n /** HTML `size` attribute for the input element (number of visible characters) */\n inputSize?: string;\n\n /** Section to be displayed when the input is `__clearable` and `rightSection` is not defined */\n __clearSection?: React.ReactNode;\n\n /** Determines whether the `__clearSection` should be displayed if it is passed to the component, has no effect if `rightSection` is defined */\n __clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n __clearSectionMode?: ClearSectionMode;\n\n /** Right section displayed when both `__clearSection` and `rightSection` are not defined */\n __defaultRightSection?: React.ReactNode;\n\n /** Displays loading indicator in the left or right section @default false */\n loading?: boolean;\n\n /** Position of the loading indicator @default 'right' */\n loadingPosition?: 'left' | 'right';\n}\n\nexport interface InputProps extends BoxProps, __InputProps, StylesApiProps<InputFactory> {\n __staticSelector?: string;\n\n /** Props passed to Styles API context, replaces `Input.Wrapper` props */\n __stylesApiProps?: Record<string, any>;\n\n /** Determines whether the input should have error styles and `aria-invalid` attribute */\n error?: React.ReactNode;\n\n /** Adjusts padding and sizing calculations for multiline inputs (use with `component=\"textarea\"`). Does not make the input multiline by itself. @default false */\n multiline?: boolean;\n\n /** Input element id */\n id?: string;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input. Only disable when implementing custom accessibility handling. @default true */\n withAria?: boolean;\n\n /** Props passed down to the root element of the `Input` component */\n wrapperProps?: WrapperProps;\n\n /** Root element ref */\n rootRef?: React.Ref<HTMLDivElement>;\n}\n\nexport type InputFactory = PolymorphicFactory<{\n props: InputProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: InputStylesNames;\n variant: InputVariant;\n vars: InputCssVariables;\n ctx: InputStylesCtx;\n staticComponents: {\n Label: typeof InputLabel;\n Error: typeof InputError;\n Description: typeof InputDescription;\n Placeholder: typeof InputPlaceholder;\n Wrapper: typeof InputWrapper;\n ClearButton: typeof InputClearButton;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n leftSectionPointerEvents: 'none',\n rightSectionPointerEvents: 'none',\n withAria: true,\n withErrorStyles: true,\n size: 'sm',\n loading: false,\n loadingPosition: 'right',\n} satisfies Partial<InputProps>;\n\nconst varsResolver = createVarsResolver<InputFactory>((_, props, ctx) => ({\n wrapper: {\n '--input-margin-top': ctx.offsetTop ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-margin-bottom': ctx.offsetBottom ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-height': getSize(props.size, 'input-height'),\n '--input-fz': getFontSize(props.size),\n '--input-radius': props.radius === undefined ? undefined : getRadius(props.radius),\n '--input-left-section-width':\n props.leftSectionWidth !== undefined ? rem(props.leftSectionWidth) : undefined,\n '--input-right-section-width':\n props.rightSectionWidth !== undefined ? rem(props.rightSectionWidth) : undefined,\n '--input-padding-y': props.multiline ? getSize(props.size, 'input-padding-y') : undefined,\n '--input-left-section-pointer-events': props.leftSectionPointerEvents,\n '--input-right-section-pointer-events': props.rightSectionPointerEvents,\n },\n}));\n\nexport const Input = polymorphicFactory<InputFactory>((_props) => {\n const props = useProps('Input', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n required,\n __staticSelector,\n __stylesApiProps,\n size,\n wrapperProps,\n error,\n disabled,\n leftSection,\n leftSectionProps,\n leftSectionWidth,\n rightSection,\n rightSectionProps,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionPointerEvents,\n variant,\n vars,\n pointer,\n multiline,\n radius,\n id,\n withAria,\n withErrorStyles,\n mod,\n inputSize,\n attributes,\n __clearSection,\n __clearable,\n __clearSectionMode,\n __defaultRightSection,\n loading,\n loadingPosition,\n rootRef,\n ...others\n } = props;\n\n const { styleProps, rest } = extractStyleProps(others);\n const ctx = use(InputWrapperContext);\n const stylesCtx: InputStylesCtx = { offsetBottom: ctx?.offsetBottom, offsetTop: ctx?.offsetTop };\n\n const getStyles = useStyles<InputFactory>({\n name: ['Input', __staticSelector],\n props: __stylesApiProps || props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n stylesCtx,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const ariaAttributes = withAria\n ? {\n required,\n disabled,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': ctx?.describedBy,\n id: ctx?.inputId || id,\n }\n : {};\n\n const loadingIndicator = loading ? (\n <Loader\n size={\n loadingPosition === 'left'\n ? 'calc(var(--input-left-section-size) / 2)'\n : 'calc(var(--input-right-section-size) / 2)'\n }\n />\n ) : null;\n\n const _leftSection = loading && loadingPosition === 'left' ? loadingIndicator : leftSection;\n const _rightSection: React.ReactNode = InputClearSection({\n __clearable,\n __clearSection,\n rightSection: loading && loadingPosition === 'right' ? loadingIndicator : rightSection,\n __defaultRightSection,\n size,\n __clearSectionMode,\n });\n\n return (\n <InputContext value={{ size: size || 'sm' }}>\n <Box\n ref={rootRef}\n {...getStyles('wrapper')}\n {...styleProps}\n {...wrapperProps}\n mod={[\n {\n error: !!error && withErrorStyles,\n pointer,\n disabled,\n multiline,\n 'data-with-right-section': !!_rightSection,\n 'data-with-left-section': !!_leftSection,\n },\n mod,\n ]}\n variant={variant}\n size={size}\n >\n {_leftSection && (\n <div\n {...leftSectionProps}\n data-position=\"left\"\n {...getStyles('section', {\n className: leftSectionProps?.className,\n style: leftSectionProps?.style,\n })}\n >\n {_leftSection}\n </div>\n )}\n\n <Box\n component=\"input\"\n {...rest}\n {...ariaAttributes}\n required={required}\n mod={{ disabled, error: !!error && withErrorStyles }}\n variant={variant}\n __size={inputSize}\n {...getStyles('input')}\n />\n\n {_rightSection && (\n <div\n {...rightSectionProps}\n data-position=\"right\"\n {...getStyles('section', {\n className: rightSectionProps?.className,\n style: rightSectionProps?.style,\n })}\n >\n {_rightSection}\n </div>\n )}\n </Box>\n </InputContext>\n );\n});\n\nInput.classes = classes;\nInput.varsResolver = varsResolver;\nInput.Wrapper = InputWrapper;\nInput.Label = InputLabel;\nInput.Error = InputError;\nInput.Description = InputDescription;\nInput.Placeholder = InputPlaceholder;\nInput.ClearButton = InputClearButton;\nInput.displayName = '@mantine/core/Input';\n\nexport namespace Input {\n export type Props = InputProps;\n export type StylesNames = InputStylesNames;\n export type CssVariables = InputCssVariables;\n export type Factory = InputFactory;\n\n export namespace Wrapper {\n export type Props = InputWrapperProps;\n export type StylesNames = InputWrapperStylesNames;\n export type Factory = InputWrapperFactory;\n }\n\n export namespace Description {\n export type Props = InputDescriptionProps;\n export type StylesNames = InputDescriptionStylesNames;\n export type CssVariables = InputDescriptionCssVariables;\n export type Factory = InputDescriptionFactory;\n }\n\n export namespace Error {\n export type Props = InputErrorProps;\n export type StylesNames = InputErrorStylesNames;\n export type CssVariables = InputErrorCssVariables;\n export type Factory = InputErrorFactory;\n }\n\n export namespace Label {\n export type Props = InputLabelProps;\n export type StylesNames = InputLabelStylesNames;\n export type CssVariables = InputLabelCssVariables;\n export type Factory = InputLabelFactory;\n }\n\n export namespace Placeholder {\n export type Props = InputPlaceholderProps;\n export type StylesNames = InputPlaceholderStylesNames;\n export type Factory = InputPlaceholderFactory;\n }\n\n export namespace ClearButton {\n export type Props = InputClearButtonProps;\n export type Factory = InputClearButtonFactory;\n }\n\n export namespace ClearSection {\n export type Props = InputClearSectionProps;\n export type Mode = ClearSectionMode;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8MA,MAAM,eAAe;CACnB,SAAS;CACT,0BAA0B;CAC1B,2BAA2B;CAC3B,UAAU;CACV,iBAAiB;CACjB,MAAM;CACN,SAAS;CACT,iBAAiB;AACnB;AAEA,MAAM,eAAe,oBAAkC,GAAG,OAAO,SAAS,EACxE,SAAS;CACP,sBAAsB,IAAI,YAAY,wCAAwC,KAAA;CAC9E,yBAAyB,IAAI,eAAe,wCAAwC,KAAA;CACpF,kBAAkB,QAAQ,MAAM,MAAM,cAAc;CACpD,cAAc,YAAY,MAAM,IAAI;CACpC,kBAAkB,MAAM,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,MAAM,MAAM;CACjF,8BACE,MAAM,qBAAqB,KAAA,IAAY,IAAI,MAAM,gBAAgB,IAAI,KAAA;CACvE,+BACE,MAAM,sBAAsB,KAAA,IAAY,IAAI,MAAM,iBAAiB,IAAI,KAAA;CACzE,qBAAqB,MAAM,YAAY,QAAQ,MAAM,MAAM,iBAAiB,IAAI,KAAA;CAChF,uCAAuC,MAAM;CAC7C,wCAAwC,MAAM;AAChD,EACF,EAAE;AAEF,MAAa,QAAQ,oBAAkC,WAAW;CAChE,MAAM,QAAQ,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,UACA,kBACA,kBACA,MACA,cACA,OACA,UACA,aACA,kBACA,kBACA,cACA,mBACA,mBACA,2BACA,0BACA,SACA,MACA,SACA,WACA,QACA,IACA,UACA,iBACA,KACA,WACA,YACA,gBACA,aACA,oBACA,uBACA,SACA,iBACA,SACA,GAAG,WACD;CAEJ,MAAM,EAAE,YAAY,SAAS,kBAAkB,MAAM;CACrD,MAAM,MAAM,IAAI,mBAAmB;CACnC,MAAM,YAA4B;EAAE,cAAc,KAAK;EAAc,WAAW,KAAK;CAAU;CAE/F,MAAM,YAAY,UAAwB;EACxC,MAAM,CAAC,SAAS,gBAAgB;EAChC,OAAO,oBAAoB;EAC3B,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;CACF,CAAC;CAED,MAAM,iBAAiB,WACnB;EACE;EACA;EACA,gBAAgB,QAAQ,OAAO,KAAA;EAC/B,oBAAoB,KAAK;EACzB,IAAI,KAAK,WAAW;CACtB,IACA,CAAC;CAEL,MAAM,mBAAmB,UACvB,oBAAC,QAAD,EACE,MACE,oBAAoB,SAChB,6CACA,4CAEP,CAAA,IACC;CAEJ,MAAM,eAAe,WAAW,oBAAoB,SAAS,mBAAmB;CAChF,MAAM,gBAAiC,kBAAkB;EACvD;EACA;EACA,cAAc,WAAW,oBAAoB,UAAU,mBAAmB;EAC1E;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,cAAD;EAAc,OAAO,EAAE,MAAM,QAAQ,KAAK;YACxC,qBAAC,KAAD;GACE,KAAK;GACL,GAAI,UAAU,SAAS;GACvB,GAAI;GACJ,GAAI;GACJ,KAAK,CACH;IACE,OAAO,CAAC,CAAC,SAAS;IAClB;IACA;IACA;IACA,2BAA2B,CAAC,CAAC;IAC7B,0BAA0B,CAAC,CAAC;GAC9B,GACA,GACF;GACS;GACH;aAjBR;IAmBG,gBACC,oBAAC,OAAD;KACE,GAAI;KACJ,iBAAc;KACd,GAAI,UAAU,WAAW;MACvB,WAAW,kBAAkB;MAC7B,OAAO,kBAAkB;KAC3B,CAAC;eAEA;IACE,CAAA;IAGP,oBAAC,KAAD;KACE,WAAU;KACV,GAAI;KACJ,GAAI;KACM;KACV,KAAK;MAAE;MAAU,OAAO,CAAC,CAAC,SAAS;KAAgB;KAC1C;KACT,QAAQ;KACR,GAAI,UAAU,OAAO;IACtB,CAAA;IAEA,iBACC,oBAAC,OAAD;KACE,GAAI;KACJ,iBAAc;KACd,GAAI,UAAU,WAAW;MACvB,WAAW,mBAAmB;MAC9B,OAAO,mBAAmB;KAC5B,CAAC;eAEA;IACE,CAAA;GAEJ;;CACO,CAAA;AAElB,CAAC;AAED,MAAM,UAAUA;AAChB,MAAM,eAAe;AACrB,MAAM,UAAU;AAChB,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,cAAc"}
1
+ {"version":3,"file":"Input.mjs","names":["classes"],"sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n extractStyleProps,\n getFontSize,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Loader } from '../Loader/Loader';\nimport { InputContext } from './Input.context';\nimport {\n InputClearButton,\n type InputClearButtonProps,\n type InputClearButtonFactory,\n} from './InputClearButton/InputClearButton';\nimport {\n ClearSectionMode,\n InputClearSection,\n type InputClearSectionProps,\n} from './InputClearSection/InputClearSection';\nimport {\n InputDescription,\n type InputDescriptionProps,\n type InputDescriptionStylesNames,\n type InputDescriptionCssVariables,\n type InputDescriptionFactory,\n} from './InputDescription/InputDescription';\nimport {\n InputError,\n type InputErrorProps,\n type InputErrorStylesNames,\n type InputErrorCssVariables,\n type InputErrorFactory,\n} from './InputError/InputError';\nimport {\n InputLabel,\n type InputLabelProps,\n type InputLabelStylesNames,\n type InputLabelCssVariables,\n type InputLabelFactory,\n} from './InputLabel/InputLabel';\nimport {\n InputPlaceholder,\n type InputPlaceholderProps,\n type InputPlaceholderStylesNames,\n type InputPlaceholderFactory,\n} from './InputPlaceholder/InputPlaceholder';\nimport { InputWrapperContext } from './InputWrapper.context';\nimport {\n __InputWrapperProps,\n InputWrapper,\n InputWrapperStylesNames,\n type InputWrapperProps,\n type InputWrapperFactory,\n} from './InputWrapper/InputWrapper';\nimport classes from './Input.module.css';\n// Required to be a separate type for docgen script\ntype WrapperProps = React.ComponentProps<'div'> & DataAttributes;\n\nexport interface __BaseInputProps extends __InputWrapperProps, __InputProps {\n /** Props passed down to the root element */\n wrapperProps?: WrapperProps;\n}\n\nexport type __InputStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport type InputStylesNames = 'input' | 'wrapper' | 'section' | 'bottomSection';\nexport type InputVariant = 'default' | 'filled' | 'unstyled';\nexport type InputCssVariables = {\n wrapper:\n | '--input-height'\n | '--input-fz'\n | '--input-radius'\n | '--input-left-section-width'\n | '--input-right-section-width'\n | '--input-left-section-pointer-events'\n | '--input-right-section-pointer-events'\n | '--input-padding-y'\n | '--input-margin-top'\n | '--input-margin-bottom';\n};\n\nexport interface InputStylesCtx {\n offsetTop: boolean | undefined;\n offsetBottom: boolean | undefined;\n}\n\nexport interface __InputProps {\n /** Content section displayed on the left side of the input */\n leftSection?: React.ReactNode;\n\n /** Left section width, used to set `width` of the section and input `padding-left`, by default equals to the input height */\n leftSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `leftSection` element */\n leftSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `leftSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n leftSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Content section displayed on the right side of the input */\n rightSection?: React.ReactNode;\n\n /** Right section width, used to set `width` of the section and input `padding-right`, by default equals to the input height */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `rightSection` element */\n rightSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `rightSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n rightSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Sets `required` attribute on the `input` element */\n required?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Sets `disabled` attribute on the `input` element */\n disabled?: boolean;\n\n /** Controls input `height`, horizontal `padding`, and `font-size` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Determines whether the input should have `cursor: pointer` style. Use when input acts as a button-like trigger (e.g., `component=\"button\"` for Select/DatePicker). @default false */\n pointer?: boolean;\n\n /** Determines whether the input should have red border and red text color when the `error` prop is set @default true */\n withErrorStyles?: boolean;\n\n /** HTML `size` attribute for the input element (number of visible characters) */\n inputSize?: string;\n\n /** Section to be displayed when the input is `__clearable` and `rightSection` is not defined */\n __clearSection?: React.ReactNode;\n\n /** Determines whether the `__clearSection` should be displayed if it is passed to the component, has no effect if `rightSection` is defined */\n __clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n __clearSectionMode?: ClearSectionMode;\n\n /** Right section displayed when both `__clearSection` and `rightSection` are not defined */\n __defaultRightSection?: React.ReactNode;\n\n /** Displays loading indicator in the left or right section @default false */\n loading?: boolean;\n\n /** Position of the loading indicator @default 'right' */\n loadingPosition?: 'left' | 'right';\n\n /** Content section displayed at the bottom of the input, inside the border */\n __bottomSection?: React.ReactNode;\n\n /** Props passed down to the `__bottomSection` element */\n __bottomSectionProps?: React.ComponentProps<'div'>;\n}\n\nexport interface InputProps extends BoxProps, __InputProps, StylesApiProps<InputFactory> {\n __staticSelector?: string;\n\n /** Props passed to Styles API context, replaces `Input.Wrapper` props */\n __stylesApiProps?: Record<string, any>;\n\n /** Determines whether the input should have error styles and `aria-invalid` attribute */\n error?: React.ReactNode;\n\n /** Adjusts padding and sizing calculations for multiline inputs (use with `component=\"textarea\"`). Does not make the input multiline by itself. @default false */\n multiline?: boolean;\n\n /** Input element id */\n id?: string;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input. Only disable when implementing custom accessibility handling. @default true */\n withAria?: boolean;\n\n /** Props passed down to the root element of the `Input` component */\n wrapperProps?: WrapperProps;\n\n /** Root element ref */\n rootRef?: React.Ref<HTMLDivElement>;\n}\n\nexport type InputFactory = PolymorphicFactory<{\n props: InputProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: InputStylesNames;\n variant: InputVariant;\n vars: InputCssVariables;\n ctx: InputStylesCtx;\n staticComponents: {\n Label: typeof InputLabel;\n Error: typeof InputError;\n Description: typeof InputDescription;\n Placeholder: typeof InputPlaceholder;\n Wrapper: typeof InputWrapper;\n ClearButton: typeof InputClearButton;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n leftSectionPointerEvents: 'none',\n rightSectionPointerEvents: 'none',\n withAria: true,\n withErrorStyles: true,\n size: 'sm',\n loading: false,\n loadingPosition: 'right',\n} satisfies Partial<InputProps>;\n\nconst varsResolver = createVarsResolver<InputFactory>((_, props, ctx) => ({\n wrapper: {\n '--input-margin-top': ctx.offsetTop ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-margin-bottom': ctx.offsetBottom ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-height': getSize(props.size, 'input-height'),\n '--input-fz': getFontSize(props.size),\n '--input-radius': props.radius === undefined ? undefined : getRadius(props.radius),\n '--input-left-section-width':\n props.leftSectionWidth !== undefined ? rem(props.leftSectionWidth) : undefined,\n '--input-right-section-width':\n props.rightSectionWidth !== undefined ? rem(props.rightSectionWidth) : undefined,\n '--input-padding-y': props.multiline ? getSize(props.size, 'input-padding-y') : undefined,\n '--input-left-section-pointer-events': props.leftSectionPointerEvents,\n '--input-right-section-pointer-events': props.rightSectionPointerEvents,\n },\n}));\n\nexport const Input = polymorphicFactory<InputFactory>((_props) => {\n const props = useProps('Input', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n required,\n __staticSelector,\n __stylesApiProps,\n size,\n wrapperProps,\n error,\n disabled,\n leftSection,\n leftSectionProps,\n leftSectionWidth,\n rightSection,\n rightSectionProps,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionPointerEvents,\n variant,\n vars,\n pointer,\n multiline,\n radius,\n id,\n withAria,\n withErrorStyles,\n mod,\n inputSize,\n attributes,\n __clearSection,\n __clearable,\n __clearSectionMode,\n __defaultRightSection,\n loading,\n loadingPosition,\n __bottomSection,\n __bottomSectionProps,\n rootRef,\n dir,\n ...others\n } = props as typeof props & Pick<React.HTMLAttributes<HTMLDivElement>, 'dir'>;\n\n const { styleProps, rest } = extractStyleProps(others);\n const ctx = use(InputWrapperContext);\n const stylesCtx: InputStylesCtx = { offsetBottom: ctx?.offsetBottom, offsetTop: ctx?.offsetTop };\n\n const getStyles = useStyles<InputFactory>({\n name: ['Input', __staticSelector],\n props: __stylesApiProps || props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n stylesCtx,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const ariaAttributes = withAria\n ? {\n required,\n disabled,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': ctx?.describedBy,\n id: ctx?.inputId || id,\n }\n : {};\n\n const loadingIndicator = loading ? (\n <Loader\n size={\n loadingPosition === 'left'\n ? 'calc(var(--input-left-section-size) / 2)'\n : 'calc(var(--input-right-section-size) / 2)'\n }\n />\n ) : null;\n\n const _leftSection = loading && loadingPosition === 'left' ? loadingIndicator : leftSection;\n const _rightSection: React.ReactNode = InputClearSection({\n __clearable,\n __clearSection,\n rightSection: loading && loadingPosition === 'right' ? loadingIndicator : rightSection,\n __defaultRightSection,\n size,\n __clearSectionMode,\n });\n\n return (\n <InputContext value={{ size: size || 'sm' }}>\n <Box\n ref={rootRef}\n dir={dir}\n {...getStyles('wrapper')}\n {...styleProps}\n {...wrapperProps}\n mod={[\n {\n error: !!error && withErrorStyles,\n pointer,\n disabled,\n multiline,\n 'data-with-right-section': !!_rightSection,\n 'data-with-left-section': !!_leftSection,\n 'data-with-bottom-section': !!__bottomSection,\n },\n mod,\n ]}\n variant={variant}\n size={size}\n >\n {_leftSection && (\n <div\n {...leftSectionProps}\n data-position=\"left\"\n {...getStyles('section', {\n className: leftSectionProps?.className,\n style: leftSectionProps?.style,\n })}\n >\n {_leftSection}\n </div>\n )}\n\n <Box\n component=\"input\"\n {...rest}\n {...ariaAttributes}\n required={required}\n mod={{ disabled, error: !!error && withErrorStyles }}\n variant={variant}\n __size={inputSize}\n {...getStyles('input')}\n />\n\n {__bottomSection && (\n <div\n {...__bottomSectionProps}\n {...getStyles('bottomSection', {\n className: __bottomSectionProps?.className,\n style: __bottomSectionProps?.style,\n })}\n >\n {__bottomSection}\n </div>\n )}\n\n {_rightSection && (\n <div\n {...rightSectionProps}\n data-position=\"right\"\n {...getStyles('section', {\n className: rightSectionProps?.className,\n style: rightSectionProps?.style,\n })}\n >\n {_rightSection}\n </div>\n )}\n </Box>\n </InputContext>\n );\n});\n\nInput.classes = classes;\nInput.varsResolver = varsResolver;\nInput.Wrapper = InputWrapper;\nInput.Label = InputLabel;\nInput.Error = InputError;\nInput.Description = InputDescription;\nInput.Placeholder = InputPlaceholder;\nInput.ClearButton = InputClearButton;\nInput.displayName = '@mantine/core/Input';\n\nexport namespace Input {\n export type Props = InputProps;\n export type StylesNames = InputStylesNames;\n export type CssVariables = InputCssVariables;\n export type Factory = InputFactory;\n\n export namespace Wrapper {\n export type Props = InputWrapperProps;\n export type StylesNames = InputWrapperStylesNames;\n export type Factory = InputWrapperFactory;\n }\n\n export namespace Description {\n export type Props = InputDescriptionProps;\n export type StylesNames = InputDescriptionStylesNames;\n export type CssVariables = InputDescriptionCssVariables;\n export type Factory = InputDescriptionFactory;\n }\n\n export namespace Error {\n export type Props = InputErrorProps;\n export type StylesNames = InputErrorStylesNames;\n export type CssVariables = InputErrorCssVariables;\n export type Factory = InputErrorFactory;\n }\n\n export namespace Label {\n export type Props = InputLabelProps;\n export type StylesNames = InputLabelStylesNames;\n export type CssVariables = InputLabelCssVariables;\n export type Factory = InputLabelFactory;\n }\n\n export namespace Placeholder {\n export type Props = InputPlaceholderProps;\n export type StylesNames = InputPlaceholderStylesNames;\n export type Factory = InputPlaceholderFactory;\n }\n\n export namespace ClearButton {\n export type Props = InputClearButtonProps;\n export type Factory = InputClearButtonFactory;\n }\n\n export namespace ClearSection {\n export type Props = InputClearSectionProps;\n export type Mode = ClearSectionMode;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAoNA,MAAM,eAAe;CACnB,SAAS;CACT,0BAA0B;CAC1B,2BAA2B;CAC3B,UAAU;CACV,iBAAiB;CACjB,MAAM;CACN,SAAS;CACT,iBAAiB;AACnB;AAEA,MAAM,eAAe,oBAAkC,GAAG,OAAO,SAAS,EACxE,SAAS;CACP,sBAAsB,IAAI,YAAY,wCAAwC,KAAA;CAC9E,yBAAyB,IAAI,eAAe,wCAAwC,KAAA;CACpF,kBAAkB,QAAQ,MAAM,MAAM,cAAc;CACpD,cAAc,YAAY,MAAM,IAAI;CACpC,kBAAkB,MAAM,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,MAAM,MAAM;CACjF,8BACE,MAAM,qBAAqB,KAAA,IAAY,IAAI,MAAM,gBAAgB,IAAI,KAAA;CACvE,+BACE,MAAM,sBAAsB,KAAA,IAAY,IAAI,MAAM,iBAAiB,IAAI,KAAA;CACzE,qBAAqB,MAAM,YAAY,QAAQ,MAAM,MAAM,iBAAiB,IAAI,KAAA;CAChF,uCAAuC,MAAM;CAC7C,wCAAwC,MAAM;AAChD,EACF,EAAE;AAEF,MAAa,QAAQ,oBAAkC,WAAW;CAChE,MAAM,QAAQ,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,UACA,kBACA,kBACA,MACA,cACA,OACA,UACA,aACA,kBACA,kBACA,cACA,mBACA,mBACA,2BACA,0BACA,SACA,MACA,SACA,WACA,QACA,IACA,UACA,iBACA,KACA,WACA,YACA,gBACA,aACA,oBACA,uBACA,SACA,iBACA,iBACA,sBACA,SACA,KACA,GAAG,WACD;CAEJ,MAAM,EAAE,YAAY,SAAS,kBAAkB,MAAM;CACrD,MAAM,MAAM,IAAI,mBAAmB;CACnC,MAAM,YAA4B;EAAE,cAAc,KAAK;EAAc,WAAW,KAAK;CAAU;CAE/F,MAAM,YAAY,UAAwB;EACxC,MAAM,CAAC,SAAS,gBAAgB;EAChC,OAAO,oBAAoB;EAC3B,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;CACF,CAAC;CAED,MAAM,iBAAiB,WACnB;EACE;EACA;EACA,gBAAgB,QAAQ,OAAO,KAAA;EAC/B,oBAAoB,KAAK;EACzB,IAAI,KAAK,WAAW;CACtB,IACA,CAAC;CAEL,MAAM,mBAAmB,UACvB,oBAAC,QAAD,EACE,MACE,oBAAoB,SAChB,6CACA,4CAEP,CAAA,IACC;CAEJ,MAAM,eAAe,WAAW,oBAAoB,SAAS,mBAAmB;CAChF,MAAM,gBAAiC,kBAAkB;EACvD;EACA;EACA,cAAc,WAAW,oBAAoB,UAAU,mBAAmB;EAC1E;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,cAAD;EAAc,OAAO,EAAE,MAAM,QAAQ,KAAK;YACxC,qBAAC,KAAD;GACE,KAAK;GACA;GACL,GAAI,UAAU,SAAS;GACvB,GAAI;GACJ,GAAI;GACJ,KAAK,CACH;IACE,OAAO,CAAC,CAAC,SAAS;IAClB;IACA;IACA;IACA,2BAA2B,CAAC,CAAC;IAC7B,0BAA0B,CAAC,CAAC;IAC5B,4BAA4B,CAAC,CAAC;GAChC,GACA,GACF;GACS;GACH;aAnBR;IAqBG,gBACC,oBAAC,OAAD;KACE,GAAI;KACJ,iBAAc;KACd,GAAI,UAAU,WAAW;MACvB,WAAW,kBAAkB;MAC7B,OAAO,kBAAkB;KAC3B,CAAC;eAEA;IACE,CAAA;IAGP,oBAAC,KAAD;KACE,WAAU;KACV,GAAI;KACJ,GAAI;KACM;KACV,KAAK;MAAE;MAAU,OAAO,CAAC,CAAC,SAAS;KAAgB;KAC1C;KACT,QAAQ;KACR,GAAI,UAAU,OAAO;IACtB,CAAA;IAEA,mBACC,oBAAC,OAAD;KACE,GAAI;KACJ,GAAI,UAAU,iBAAiB;MAC7B,WAAW,sBAAsB;MACjC,OAAO,sBAAsB;KAC/B,CAAC;eAEA;IACE,CAAA;IAGN,iBACC,oBAAC,OAAD;KACE,GAAI;KACJ,iBAAc;KACd,GAAI,UAAU,WAAW;MACvB,WAAW,mBAAmB;MAC9B,OAAO,mBAAmB;KAC5B,CAAC;eAEA;IACE,CAAA;GAEJ;;CACO,CAAA;AAElB,CAAC;AAED,MAAM,UAAUA;AAChB,MAAM,eAAe;AACrB,MAAM,UAAU;AAChB,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,cAAc"}
@@ -3,6 +3,7 @@
3
3
  var Input_module_default = {
4
4
  "wrapper": "m_6c018570",
5
5
  "input": "m_8fb7ebe7",
6
+ "bottomSection": "m_93f4ed57",
6
7
  "section": "m_82577fc2",
7
8
  "placeholder": "m_88bacfd0",
8
9
  "root": "m_46b77525",
@@ -1 +1 @@
1
- {"version":3,"file":"Input.module.mjs","names":[],"sources":["../../../src/components/Input/Input.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n margin-top: var(--input-margin-top, 0rem);\n margin-bottom: var(--input-margin-bottom, 0rem);\n\n --input-height-xs: 30px;\n --input-height-sm: 36px;\n --input-height-md: 42px;\n --input-height-lg: 50px;\n --input-height-xl: 60px;\n\n --input-padding-y-xs: 5px;\n --input-padding-y-sm: 6px;\n --input-padding-y-md: 8px;\n --input-padding-y-lg: 10px;\n --input-padding-y-xl: 13px;\n\n --input-height: var(--input-height-sm);\n --input-radius: var(--mantine-radius-default);\n\n --input-cursor: text;\n --input-text-align: left;\n --input-line-height: calc(var(--input-height) - rem(2px));\n --input-padding: calc(var(--input-height) / 3);\n --input-padding-inline-start: var(--input-padding);\n --input-padding-inline-end: var(--input-padding);\n --input-placeholder-color: var(--mantine-color-placeholder);\n --input-color: var(--mantine-color-text);\n --input-disabled-bg: var(--mantine-color-disabled);\n --input-disabled-color: var(--mantine-color-disabled-color);\n\n --input-left-section-size: var(--input-left-section-width, calc(var(--input-height) - rem(2px)));\n\n --input-right-section-size: var(\n --input-right-section-width,\n calc(var(--input-height) - rem(2px))\n );\n\n --input-size: var(--input-height);\n\n --section-y: 1px;\n --left-section-start: 1px;\n --left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);\n\n --right-section-end: 1px;\n --right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;\n\n &[data-variant='unstyled'] {\n --input-padding: 0;\n --input-padding-y: 0;\n --input-padding-inline-start: 0;\n --input-padding-inline-end: 0;\n }\n\n &[data-pointer] {\n --input-cursor: pointer;\n }\n\n &[data-multiline] {\n --input-padding-y-xs: 4.5px;\n --input-padding-y-sm: 5.5px;\n --input-padding-y-md: 7px;\n --input-padding-y-lg: 9.5px;\n --input-padding-y-xl: 13px;\n\n --input-size: auto;\n --input-line-height: var(--mantine-line-height);\n }\n\n &[data-with-left-section] {\n --input-padding-inline-start: var(--input-left-section-size);\n }\n\n &[data-with-right-section] {\n --input-padding-inline-end: var(--input-right-section-size);\n\n &:has([data-combined-clear-section]) {\n .wrapper[data-size='xs'] & {\n --input-padding-inline-end: 41px;\n }\n\n .wrapper[data-size='sm'] & {\n --input-padding-inline-end: 50px;\n }\n\n .wrapper[data-size='md'] & {\n --input-padding-inline-end: 60px;\n }\n\n .wrapper[data-size='lg'] & {\n --input-padding-inline-end: 72px;\n }\n\n .wrapper[data-size='xl'] & {\n --input-padding-inline-end: 89px;\n }\n }\n }\n\n @mixin light {\n &[data-variant='default'] {\n --input-bd: var(--mantine-color-gray-4);\n --input-bg: var(--mantine-color-white);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='filled'] {\n --input-bd: transparent;\n --input-bg: var(--mantine-color-gray-1);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='unstyled'] {\n --input-bd: transparent;\n --input-bg: transparent;\n --input-bd-focus: transparent;\n }\n }\n\n @mixin dark {\n &[data-variant='default'] {\n --input-bd: var(--mantine-color-dark-4);\n --input-bg: var(--mantine-color-dark-6);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='filled'] {\n --input-bd: transparent;\n --input-bg: var(--mantine-color-dark-5);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='unstyled'] {\n --input-bd: transparent;\n --input-bg: transparent;\n --input-bd-focus: transparent;\n }\n }\n\n [data-mantine-color-scheme] &[data-error] {\n &:not([data-variant='unstyled']) {\n --input-bd: var(--mantine-color-error);\n }\n\n --input-color: var(--mantine-color-error);\n --input-placeholder-color: var(--mantine-color-error);\n --input-section-color: var(--mantine-color-error);\n }\n\n @mixin where-rtl {\n --input-text-align: right;\n --left-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;\n --right-section-border-radius: var(--input-radius) 0 0 var(--input-radius);\n }\n}\n\n.input {\n -webkit-tap-highlight-color: transparent;\n appearance: none;\n resize: var(--input-resize, none);\n display: block;\n width: 100%;\n transition: border-color 100ms ease;\n\n text-align: var(--input-text-align);\n color: var(--input-color);\n border: rem(1px) solid var(--input-bd);\n background-color: var(--input-bg);\n font-family: var(--input-font-family, var(--mantine-font-family));\n height: var(--input-size);\n min-height: var(--input-height);\n line-height: var(--input-line-height);\n font-size: var(--_input-fz, var(--input-fz, var(--mantine-font-size-md)));\n border-radius: var(--input-radius);\n padding-inline-start: var(--input-padding-inline-start);\n padding-inline-end: var(--input-padding-inline-end);\n padding-top: var(--input-padding-y, 0rem);\n padding-bottom: var(--input-padding-y, 0rem);\n cursor: var(--input-cursor);\n overflow: var(--input-overflow);\n\n /* Used as data attribute in Textarea component, does not have associated prop on the Input component */\n &[data-no-overflow] {\n --input-overflow: hidden;\n }\n\n /* Used as data attribute in JsonInput component, does not have associated prop on the Input component */\n &[data-monospace] {\n --input-font-family: var(--mantine-font-family-monospace);\n --_input-fz: calc(var(--input-fz) - rem(2px));\n }\n\n &:focus,\n &:focus-within {\n outline: none;\n --input-bd: var(--input-bd-focus);\n\n [data-error] & {\n --input-bd: var(--mantine-color-error);\n }\n }\n\n &::placeholder {\n color: var(--input-placeholder-color);\n opacity: 1;\n }\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button,\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &[type='number'] {\n -moz-appearance: textfield;\n }\n\n &:disabled,\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.6;\n background-color: var(--input-disabled-bg);\n color: var(--input-disabled-color);\n }\n\n /* Required to be a separate selector to work in Firefox, can be merged with &:disabled once :has is supported */\n &:has(input:disabled) {\n cursor: not-allowed;\n opacity: 0.6;\n background-color: var(--input-disabled-bg);\n color: var(--input-disabled-color);\n }\n\n &[readonly] {\n caret-color: transparent;\n }\n}\n\n.section {\n pointer-events: var(--section-pointer-events);\n position: absolute;\n z-index: 1;\n inset-inline-start: var(--section-start);\n inset-inline-end: var(--section-end);\n bottom: var(--section-y);\n top: var(--section-y);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--section-size);\n border-radius: var(--section-border-radius);\n color: var(--input-section-color, var(--mantine-color-dimmed));\n\n &[data-position='right'] {\n --section-pointer-events: var(--input-right-section-pointer-events);\n --section-end: var(--right-section-end);\n --section-size: var(--input-right-section-size);\n --section-border-radius: var(--right-section-border-radius);\n\n &:has([data-combined-clear-section]) {\n .wrapper[data-size='xs'] & {\n --section-size: 41px;\n }\n\n .wrapper[data-size='sm'] & {\n --section-size: 50px;\n }\n\n .wrapper[data-size='md'] & {\n --section-size: 60px;\n }\n\n .wrapper[data-size='lg'] & {\n --section-size: 72px;\n }\n\n .wrapper[data-size='xl'] & {\n --section-size: 89px;\n }\n }\n }\n\n &[data-position='left'] {\n --section-pointer-events: var(--input-left-section-pointer-events);\n --section-start: var(--left-section-start);\n --section-size: var(--input-left-section-size);\n --section-border-radius: var(--left-section-border-radius);\n }\n}\n\n/* ----- Input.Placeholder ----- */\n.placeholder {\n color: var(--input-placeholder-color, var(--mantine-color-placeholder));\n\n [data-error] & {\n --input-placeholder-color: var(--input-color, var(--mantine-color-placeholder));\n }\n}\n\n/* ----- Input.Wrapper ----- */\n.root {\n line-height: var(--mantine-line-height);\n}\n\n.label {\n display: inline-block;\n font-weight: var(--mantine-font-weight-medium);\n overflow-wrap: break-word;\n cursor: default;\n -webkit-tap-highlight-color: transparent;\n font-size: var(--input-label-size, var(--mantine-font-size-sm));\n}\n\n.required {\n color: var(--input-asterisk-color, var(--mantine-color-error));\n}\n\n.error,\n.description {\n word-wrap: break-word;\n line-height: 1.2;\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.error {\n color: var(--mantine-color-error);\n font-size: var(--input-error-size, calc(var(--mantine-font-size-sm) - rem(2px)));\n}\n\n.description {\n color: var(--mantine-color-dimmed);\n font-size: var(--input-description-size, calc(var(--mantine-font-size-sm) - rem(2px)));\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Input.module.mjs","names":[],"sources":["../../../src/components/Input/Input.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n margin-top: var(--input-margin-top, 0rem);\n margin-bottom: var(--input-margin-bottom, 0rem);\n\n --input-height-xs: 30px;\n --input-height-sm: 36px;\n --input-height-md: 42px;\n --input-height-lg: 50px;\n --input-height-xl: 60px;\n\n --input-padding-y-xs: 5px;\n --input-padding-y-sm: 6px;\n --input-padding-y-md: 8px;\n --input-padding-y-lg: 10px;\n --input-padding-y-xl: 13px;\n\n --input-height: var(--input-height-sm);\n --input-radius: var(--mantine-radius-default);\n\n --input-cursor: text;\n --input-line-height: calc(var(--input-height) - rem(2px));\n --input-padding: calc(var(--input-height) / 3);\n --input-padding-inline-start: var(--input-padding);\n --input-padding-inline-end: var(--input-padding);\n --input-placeholder-color: var(--mantine-color-placeholder);\n --input-color: var(--mantine-color-text);\n --input-disabled-bg: var(--mantine-color-disabled);\n --input-disabled-color: var(--mantine-color-disabled-color);\n\n --input-left-section-size: var(--input-left-section-width, calc(var(--input-height) - rem(2px)));\n\n --input-right-section-size: var(\n --input-right-section-width,\n calc(var(--input-height) - rem(2px))\n );\n\n --input-size: var(--input-height);\n\n --section-y: 1px;\n --left-section-start: 1px;\n --left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);\n\n --right-section-end: 1px;\n --right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;\n\n &[data-variant='unstyled'] {\n --input-padding: 0;\n --input-padding-y: 0;\n --input-padding-inline-start: 0;\n --input-padding-inline-end: 0;\n }\n\n &[data-pointer] {\n --input-cursor: pointer;\n }\n\n &[data-with-bottom-section] {\n --input-bottom-section-height: 28px;\n }\n\n &[data-multiline] {\n --input-padding-y-xs: 4.5px;\n --input-padding-y-sm: 5.5px;\n --input-padding-y-md: 7px;\n --input-padding-y-lg: 9.5px;\n --input-padding-y-xl: 13px;\n\n --input-size: auto;\n --input-line-height: var(--mantine-line-height);\n }\n\n &[data-with-left-section] {\n --input-padding-inline-start: var(--input-left-section-size);\n }\n\n &[data-with-right-section] {\n --input-padding-inline-end: var(--input-right-section-size);\n\n &:has([data-combined-clear-section]) {\n .wrapper[data-size='xs'] & {\n --input-padding-inline-end: 41px;\n }\n\n .wrapper[data-size='sm'] & {\n --input-padding-inline-end: 50px;\n }\n\n .wrapper[data-size='md'] & {\n --input-padding-inline-end: 60px;\n }\n\n .wrapper[data-size='lg'] & {\n --input-padding-inline-end: 72px;\n }\n\n .wrapper[data-size='xl'] & {\n --input-padding-inline-end: 89px;\n }\n }\n }\n\n @mixin light {\n &[data-variant='default'] {\n --input-bd: var(--mantine-color-gray-4);\n --input-bg: var(--mantine-color-white);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='filled'] {\n --input-bd: transparent;\n --input-bg: var(--mantine-color-gray-1);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='unstyled'] {\n --input-bd: transparent;\n --input-bg: transparent;\n --input-bd-focus: transparent;\n }\n }\n\n @mixin dark {\n &[data-variant='default'] {\n --input-bd: var(--mantine-color-dark-4);\n --input-bg: var(--mantine-color-dark-6);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='filled'] {\n --input-bd: transparent;\n --input-bg: var(--mantine-color-dark-5);\n --input-bd-focus: var(--mantine-primary-color-filled);\n }\n\n &[data-variant='unstyled'] {\n --input-bd: transparent;\n --input-bg: transparent;\n --input-bd-focus: transparent;\n }\n }\n\n [data-mantine-color-scheme] &[data-error] {\n &:not([data-variant='unstyled']) {\n --input-bd: var(--mantine-color-error);\n }\n\n --input-color: var(--mantine-color-error);\n --input-placeholder-color: var(--mantine-color-error);\n --input-section-color: var(--mantine-color-error);\n }\n\n @mixin where-rtl {\n --left-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;\n --right-section-border-radius: var(--input-radius) 0 0 var(--input-radius);\n }\n\n &[dir='ltr'] {\n --left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);\n --right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;\n }\n}\n\n.input {\n -webkit-tap-highlight-color: transparent;\n appearance: none;\n resize: var(--input-resize, none);\n display: block;\n width: 100%;\n transition: border-color 100ms ease;\n\n text-align: start;\n color: var(--input-color);\n border: rem(1px) solid var(--input-bd);\n background-color: var(--input-bg);\n font-family: var(--input-font-family, var(--mantine-font-family));\n height: var(--input-size);\n min-height: var(--input-height);\n line-height: var(--input-line-height);\n font-size: var(--_input-fz, var(--input-fz, var(--mantine-font-size-md)));\n border-radius: var(--input-radius);\n padding-inline-start: var(--input-padding-inline-start);\n padding-inline-end: var(--input-padding-inline-end);\n padding-top: var(--input-padding-y, 0rem);\n padding-bottom: var(--input-padding-y, 0rem);\n cursor: var(--input-cursor);\n overflow: var(--input-overflow);\n\n /* Used as data attribute in Textarea component, does not have associated prop on the Input component */\n &[data-no-overflow] {\n --input-overflow: hidden;\n }\n\n /* Used as data attribute in JsonInput component, does not have associated prop on the Input component */\n &[data-monospace] {\n --input-font-family: var(--mantine-font-family-monospace);\n --_input-fz: calc(var(--input-fz) - rem(2px));\n }\n\n &:focus,\n &:focus-within {\n outline: none;\n --input-bd: var(--input-bd-focus);\n\n [data-error] & {\n --input-bd: var(--mantine-color-error);\n }\n }\n\n &::placeholder {\n color: var(--input-placeholder-color);\n opacity: 1;\n }\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button,\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &[type='number'] {\n -moz-appearance: textfield;\n }\n\n &:disabled,\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.6;\n background-color: var(--input-disabled-bg);\n color: var(--input-disabled-color);\n }\n\n /* Required to be a separate selector to work in Firefox, can be merged with &:disabled once :has is supported */\n &:has(input:disabled) {\n cursor: not-allowed;\n opacity: 0.6;\n background-color: var(--input-disabled-bg);\n color: var(--input-disabled-color);\n }\n\n &[readonly] {\n caret-color: transparent;\n }\n\n [data-with-bottom-section] & {\n padding-bottom: calc(var(--input-padding-y, 0rem) + var(--input-bottom-section-height));\n }\n}\n\n.bottomSection {\n position: absolute;\n bottom: 1px;\n left: 1px;\n right: 1px;\n height: var(--input-bottom-section-height);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding-inline: var(--input-padding);\n border-radius: 0 0 var(--input-radius) var(--input-radius);\n pointer-events: all;\n color: var(--mantine-color-dimmed);\n font-size: var(--input-fz, var(--mantine-font-size-sm));\n}\n\n.section {\n pointer-events: var(--section-pointer-events);\n position: absolute;\n z-index: 1;\n inset-inline-start: var(--section-start);\n inset-inline-end: var(--section-end);\n bottom: var(--section-y);\n top: var(--section-y);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--section-size);\n border-radius: var(--section-border-radius);\n color: var(--input-section-color, var(--mantine-color-dimmed));\n\n &[data-position='right'] {\n --section-pointer-events: var(--input-right-section-pointer-events);\n --section-end: var(--right-section-end);\n --section-size: var(--input-right-section-size);\n --section-border-radius: var(--right-section-border-radius);\n\n &:has([data-combined-clear-section]) {\n .wrapper[data-size='xs'] & {\n --section-size: 41px;\n }\n\n .wrapper[data-size='sm'] & {\n --section-size: 50px;\n }\n\n .wrapper[data-size='md'] & {\n --section-size: 60px;\n }\n\n .wrapper[data-size='lg'] & {\n --section-size: 72px;\n }\n\n .wrapper[data-size='xl'] & {\n --section-size: 89px;\n }\n }\n }\n\n &[data-position='left'] {\n --section-pointer-events: var(--input-left-section-pointer-events);\n --section-start: var(--left-section-start);\n --section-size: var(--input-left-section-size);\n --section-border-radius: var(--left-section-border-radius);\n }\n}\n\n/* ----- Input.Placeholder ----- */\n.placeholder {\n color: var(--input-placeholder-color, var(--mantine-color-placeholder));\n\n [data-error] & {\n --input-placeholder-color: var(--input-color, var(--mantine-color-placeholder));\n }\n}\n\n/* ----- Input.Wrapper ----- */\n.root {\n line-height: var(--mantine-line-height);\n}\n\n.label {\n display: inline-block;\n font-weight: var(--mantine-font-weight-medium);\n overflow-wrap: break-word;\n cursor: default;\n -webkit-tap-highlight-color: transparent;\n font-size: var(--input-label-size, var(--mantine-font-size-sm));\n}\n\n.required {\n color: var(--input-asterisk-color, var(--mantine-color-error));\n}\n\n.error,\n.description {\n word-wrap: break-word;\n line-height: 1.2;\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.error {\n color: var(--mantine-color-error);\n font-size: var(--input-error-size, calc(var(--mantine-font-size-sm) - rem(2px)));\n}\n\n.description {\n color: var(--mantine-color-dimmed);\n font-size: var(--input-description-size, calc(var(--mantine-font-size-sm) - rem(2px)));\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.context.mjs","names":[],"sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { MenuFactory } from './Menu';\n\nexport interface MenuContextValue {\n toggleDropdown: () => void;\n closeDropdownImmediately: () => void;\n closeDropdown: () => void;\n openDropdown: () => void;\n getItemIndex: (node: HTMLButtonElement) => number | null;\n closeOnItemClick: boolean | undefined;\n loop: boolean | undefined;\n trigger: 'click' | 'hover' | 'click-hover' | undefined;\n opened: boolean;\n unstyled: boolean | undefined;\n getStyles: GetStylesApi<MenuFactory>;\n menuItemTabIndex: -1 | 0 | undefined;\n openedViaClick: boolean;\n setOpenedViaClick: (value: boolean) => void;\n withInitialFocusPlaceholder: boolean | undefined;\n registerOpenSub: (closeFn: () => void) => () => void;\n}\n\nexport const [MenuContextProvider, useMenuContext] = createSafeContext<MenuContextValue>(\n 'Menu component was not found in the tree'\n);\n"],"mappings":";;;AAsBA,MAAa,CAAC,qBAAqB,kBAAkB,kBACnD,0CACF"}
1
+ {"version":3,"file":"Menu.context.mjs","names":[],"sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { MenuFactory } from './Menu';\n\nexport interface MenuContextValue {\n toggleDropdown: () => void;\n closeDropdownImmediately: () => void;\n closeDropdown: () => void;\n openDropdown: () => void;\n getItemIndex: (node: HTMLButtonElement) => number | null;\n closeOnItemClick: boolean | undefined;\n loop: boolean | undefined;\n trigger: 'click' | 'hover' | 'click-hover' | undefined;\n opened: boolean;\n unstyled: boolean | undefined;\n getStyles: GetStylesApi<MenuFactory>;\n menuItemTabIndex: -1 | 0 | undefined;\n openedViaClick: boolean;\n setOpenedViaClick: (value: boolean) => void;\n withInitialFocusPlaceholder: boolean | undefined;\n registerOpenSub: (closeFn: () => void) => () => void;\n hasSearch: boolean;\n registerSearch: () => () => void;\n searchExitClearRef: React.RefObject<(() => void) | null>;\n alignItemsLabels: 'all' | 'with-indicators' | 'none';\n checkIcon: React.ReactNode;\n}\n\nexport const [MenuContextProvider, useMenuContext] = createSafeContext<MenuContextValue>(\n 'Menu component was not found in the tree'\n);\n"],"mappings":";;;AA2BA,MAAa,CAAC,qBAAqB,kBAAkB,kBACnD,0CACF"}
@@ -7,11 +7,17 @@ import { factory } from "../../core/factory/factory.mjs";
7
7
  import { useDelayedHover } from "../../utils/Floating/use-delayed-hover.mjs";
8
8
  import { Popover } from "../Popover/Popover.mjs";
9
9
  import { MenuContextProvider } from "./Menu.context.mjs";
10
+ import { MenuCheckboxGroup } from "./MenuCheckboxGroup/MenuCheckboxGroup.mjs";
10
11
  import Menu_module_default from "./Menu.module.mjs";
12
+ import { MenuCheckboxItem } from "./MenuCheckboxItem/MenuCheckboxItem.mjs";
13
+ import { MenuContextMenu } from "./MenuContextMenu/MenuContextMenu.mjs";
11
14
  import { MenuDivider } from "./MenuDivider/MenuDivider.mjs";
12
15
  import { MenuDropdown } from "./MenuDropdown/MenuDropdown.mjs";
13
16
  import { MenuItem } from "./MenuItem/MenuItem.mjs";
14
17
  import { MenuLabel } from "./MenuLabel/MenuLabel.mjs";
18
+ import { MenuRadioGroup } from "./MenuRadioGroup/MenuRadioGroup.mjs";
19
+ import { MenuRadioItem } from "./MenuRadioItem/MenuRadioItem.mjs";
20
+ import { MenuSearch } from "./MenuSearch/MenuSearch.mjs";
15
21
  import { MenuSub } from "./MenuSub/MenuSub.mjs";
16
22
  import { MenuTarget } from "./MenuTarget/MenuTarget.mjs";
17
23
  import { useCallback, useRef, useState } from "react";
@@ -31,11 +37,12 @@ const defaultProps = {
31
37
  trigger: "click",
32
38
  openDelay: 0,
33
39
  closeDelay: 100,
34
- menuItemTabIndex: -1
40
+ menuItemTabIndex: -1,
41
+ alignItemsLabels: "with-indicators"
35
42
  };
36
43
  const Menu = factory((_props) => {
37
44
  const props = useProps("Menu", defaultProps, _props);
38
- const { children, onOpen, onClose, opened, defaultOpened, trapFocus, onChange, closeOnItemClick, loop, closeOnEscape, trigger, openDelay, closeDelay, classNames, styles, unstyled, variant, vars, menuItemTabIndex, keepMounted, withInitialFocusPlaceholder, attributes, ...others } = props;
45
+ const { children, onOpen, onClose, opened, defaultOpened, trapFocus, onChange, closeOnItemClick, loop, closeOnEscape, trigger, openDelay, closeDelay, classNames, styles, unstyled, variant, vars, menuItemTabIndex, keepMounted, withInitialFocusPlaceholder, attributes, onExitTransitionEnd, alignItemsLabels, checkIcon, ...others } = props;
39
46
  const getStyles = useStyles({
40
47
  name: "Menu",
41
48
  classes: Menu_module_default,
@@ -79,6 +86,21 @@ const Menu = factory((_props) => {
79
86
  if (activeSubCloseRef.current === closeFn) activeSubCloseRef.current = null;
80
87
  };
81
88
  }, []);
89
+ const searchCountRef = useRef(0);
90
+ const [hasSearch, setHasSearch] = useState(false);
91
+ const registerSearch = useCallback(() => {
92
+ searchCountRef.current += 1;
93
+ if (searchCountRef.current === 1) setHasSearch(true);
94
+ return () => {
95
+ searchCountRef.current -= 1;
96
+ if (searchCountRef.current === 0) setHasSearch(false);
97
+ };
98
+ }, []);
99
+ const searchExitClearRef = useRef(null);
100
+ const handleExitTransitionEnd = () => {
101
+ searchExitClearRef.current?.();
102
+ onExitTransitionEnd?.();
103
+ };
82
104
  const getItemIndex = (node) => getContextItemIndex("[data-menu-item]", "[data-menu-dropdown]", node);
83
105
  const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
84
106
  classNames,
@@ -102,7 +124,12 @@ const Menu = factory((_props) => {
102
124
  unstyled,
103
125
  menuItemTabIndex,
104
126
  withInitialFocusPlaceholder,
105
- registerOpenSub
127
+ registerOpenSub,
128
+ hasSearch,
129
+ registerSearch,
130
+ searchExitClearRef,
131
+ alignItemsLabels,
132
+ checkIcon
106
133
  },
107
134
  children: /* @__PURE__ */ jsx(Popover, {
108
135
  returnFocus: true,
@@ -118,6 +145,7 @@ const Menu = factory((_props) => {
118
145
  unstyled,
119
146
  variant,
120
147
  keepMounted,
148
+ onExitTransitionEnd: handleExitTransitionEnd,
121
149
  children
122
150
  })
123
151
  });
@@ -129,7 +157,13 @@ Menu.Label = MenuLabel;
129
157
  Menu.Dropdown = MenuDropdown;
130
158
  Menu.Target = MenuTarget;
131
159
  Menu.Divider = MenuDivider;
160
+ Menu.Search = MenuSearch;
132
161
  Menu.Sub = MenuSub;
162
+ Menu.CheckboxItem = MenuCheckboxItem;
163
+ Menu.CheckboxGroup = MenuCheckboxGroup;
164
+ Menu.RadioItem = MenuRadioItem;
165
+ Menu.RadioGroup = MenuRadioGroup;
166
+ Menu.ContextMenu = MenuContextMenu;
133
167
  //#endregion
134
168
  export { Menu };
135
169
 
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.mjs","names":["classes"],"sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n factory,\n Factory,\n getContextItemIndex,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { useDelayedHover } from '../../utils/Floating';\nimport { __PopoverProps, Popover, PopoverStylesNames } from '../Popover';\nimport { MenuContextProvider, type MenuContextValue } from './Menu.context';\nimport { MenuDivider, type MenuDividerProps } from './MenuDivider/MenuDivider';\nimport { MenuDropdown, type MenuDropdownProps } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, type MenuItemProps } from './MenuItem/MenuItem';\nimport { MenuLabel, type MenuLabelProps } from './MenuLabel/MenuLabel';\nimport { MenuSub, type MenuSubProps } from './MenuSub/MenuSub';\nimport { MenuTarget, type MenuTargetProps } from './MenuTarget/MenuTarget';\nimport classes from './Menu.module.css';\nimport type { MenuSubDropdownProps } from './MenuSubDropdown/MenuSubDropdown';\nimport type { MenuSubItemProps } from './MenuSubItem/MenuSubItem';\nimport type { MenuSubTargetProps } from './MenuSubTarget/MenuSubTarget';\n\nexport type MenuStylesNames =\n | 'item'\n | 'itemLabel'\n | 'itemSection'\n | 'label'\n | 'divider'\n | 'chevron'\n | PopoverStylesNames;\n\nexport type MenuFactory = Factory<{\n props: MenuProps;\n stylesNames: MenuStylesNames;\n staticComponents: {\n Item: typeof MenuItem;\n Label: typeof MenuLabel;\n Dropdown: typeof MenuDropdown;\n Target: typeof MenuTarget;\n Divider: typeof MenuDivider;\n Sub: typeof MenuSub;\n };\n}>;\n\nexport interface MenuProps extends __PopoverProps, StylesApiProps<MenuFactory> {\n variant?: string;\n\n /** Menu children */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** If set, focus is trapped within the menu dropdown when it is opened */\n trapFocus?: boolean;\n\n /** Called when menu opened state changes */\n onChange?: (opened: boolean) => void;\n\n /** Called when Menu is opened */\n onOpen?: () => void;\n\n /** Called when Menu is closed */\n onClose?: () => void;\n\n /** If set, the Menu is closed when one of the items is clicked. Can be overridden per item with `closeMenuOnClick` prop */\n closeOnItemClick?: boolean;\n\n /** If set, arrow key presses wrap around from last item to first and vice versa */\n loop?: boolean;\n\n /** If set, the dropdown is closed when the `Escape` key is pressed @default true */\n closeOnEscape?: boolean;\n\n /** Event trigger to open menu. Note: 'hover' is not keyboard accessible; prefer 'click-hover' for accessible hover menus */\n trigger?: 'click' | 'hover' | 'click-hover';\n\n /** Open delay in ms, applicable only to `trigger=\"hover\"` variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to `trigger=\"hover\"` variant */\n closeDelay?: number;\n\n /** If set, the dropdown is closed on outside clicks */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside click detection. Includes mousedown for desktop clicks, touchstart for mobile, and keydown for Escape key handling @default ['mousedown', 'touchstart', 'keydown'] */\n clickOutsideEvents?: string[];\n\n /** Id base to create accessibility connections */\n id?: string;\n\n /** Set the `tabindex` on all menu items. Use `0` to allow Tab key navigation through menu items (required for navigation menus following WAI-ARIA disclosure pattern). @default -1 */\n menuItemTabIndex?: -1 | 0;\n\n /** Adds a hidden focusable element at the start of the dropdown to prevent unexpected focus jumps when opening with keyboard. Set to false if you need custom focus management. @default true */\n withInitialFocusPlaceholder?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes @default `true` */\n returnFocus?: boolean;\n}\n\nconst defaultProps = {\n trapFocus: true,\n closeOnItemClick: true,\n withInitialFocusPlaceholder: true,\n clickOutsideEvents: ['mousedown', 'touchstart', 'keydown'],\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n menuItemTabIndex: -1,\n} satisfies Partial<MenuProps>;\n\nexport const Menu = factory<MenuFactory>((_props) => {\n const props = useProps('Menu', defaultProps, _props);\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n trapFocus,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n variant,\n vars,\n menuItemTabIndex,\n keepMounted,\n withInitialFocusPlaceholder,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<MenuFactory>({\n name: 'Menu',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n attributes,\n });\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n const [openedViaClick, setOpenedViaClick] = useState(false);\n\n const close = () => {\n setOpened(false);\n setOpenedViaClick(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => {\n _opened ? close() : open();\n };\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const activeSubCloseRef = useRef<(() => void) | null>(null);\n const registerOpenSub = useCallback((closeFn: () => void) => {\n const prev = activeSubCloseRef.current;\n if (prev && prev !== closeFn) {\n prev();\n }\n activeSubCloseRef.current = closeFn;\n return () => {\n if (activeSubCloseRef.current === closeFn) {\n activeSubCloseRef.current = null;\n }\n };\n }, []);\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<MenuFactory>({\n classNames,\n styles,\n props,\n });\n\n return (\n <MenuContextProvider\n value={{\n getStyles,\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n openedViaClick,\n setOpenedViaClick,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n unstyled,\n menuItemTabIndex,\n withInitialFocusPlaceholder,\n registerOpenSub,\n }}\n >\n <Popover\n returnFocus\n {...others}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={keepMounted ? false : trapFocus}\n closeOnEscape={closeOnEscape}\n __staticSelector=\"Menu\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n variant={variant}\n keepMounted={keepMounted}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n});\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.classes = classes;\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\nMenu.Sub = MenuSub;\n\nexport namespace Menu {\n export type Props = MenuProps;\n export type StylesNames = MenuStylesNames;\n export type Factory = MenuFactory;\n export type ContextValue = MenuContextValue;\n\n export namespace Item {\n export type Props = MenuItemProps;\n }\n\n export namespace Label {\n export type Props = MenuLabelProps;\n }\n\n export namespace Divider {\n export type Props = MenuDividerProps;\n }\n\n export namespace Dropdown {\n export type Props = MenuDropdownProps;\n }\n\n export namespace Target {\n export type Props = MenuTargetProps;\n }\n\n export namespace Sub {\n export type Props = MenuSubProps;\n }\n\n export namespace SubDropdown {\n export type Props = MenuSubDropdownProps;\n }\n\n export namespace SubItem {\n export type Props = MenuSubItemProps;\n }\n\n export namespace SubTarget {\n export type Props = MenuSubTargetProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4GA,MAAM,eAAe;CACnB,WAAW;CACX,kBAAkB;CAClB,6BAA6B;CAC7B,oBAAoB;EAAC;EAAa;EAAc;CAAS;CACzD,MAAM;CACN,SAAS;CACT,WAAW;CACX,YAAY;CACZ,kBAAkB;AACpB;AAEA,MAAa,OAAO,SAAsB,WAAW;CACnD,MAAM,QAAQ,SAAS,QAAQ,cAAc,MAAM;CACnD,MAAM,EACJ,UACA,QACA,SACA,QACA,eACA,WACA,UACA,kBACA,MACA,eACA,SACA,WACA,YACA,YACA,QACA,UACA,SACA,MACA,kBACA,aACA,6BACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAuB;EACvC,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,CAAC,SAAS,aAAa,gBAAgB;EAC3C,OAAO;EACP,cAAc;EACd,YAAY;EACZ;CACF,CAAC;CACD,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAE1D,MAAM,cAAc;EAClB,UAAU,KAAK;EACf,kBAAkB,KAAK;EACvB,WAAW,UAAU;CACvB;CAEA,MAAM,aAAa;EACjB,UAAU,IAAI;EACd,CAAC,WAAW,SAAS;CACvB;CAEA,MAAM,uBAAuB;EAC3B,UAAU,MAAM,IAAI,KAAK;CAC3B;CAEA,MAAM,EAAE,cAAc,kBAAkB,gBAAgB;EAAE;EAAM;EAAO;EAAY;CAAU,CAAC;CAE9F,MAAM,oBAAoB,OAA4B,IAAI;CAC1D,MAAM,kBAAkB,aAAa,YAAwB;EAC3D,MAAM,OAAO,kBAAkB;EAC/B,IAAI,QAAQ,SAAS,SACnB,KAAK;EAEP,kBAAkB,UAAU;EAC5B,aAAa;GACX,IAAI,kBAAkB,YAAY,SAChC,kBAAkB,UAAU;EAEhC;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,gBAAgB,SACpB,oBAAoB,oBAAoB,wBAAwB,IAAI;CAEtE,MAAM,EAAE,oBAAoB,mBAAmB,qBAAkC;EAC/E;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,qBAAD;EACE,OAAO;GACL;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA,eAAe,YAAY,UAAU,QAAQ;GAC7C,cAAc,YAAY,UAAU,OAAO;GAC3C,0BAA0B;GAC1B;GACA;GACA;GACA;GACA;GACA;EACF;YAEA,oBAAC,SAAD;GACE,aAAA;GACA,GAAI;GACJ,QAAQ;GACR,UAAU;GACK;GACf,WAAW,cAAc,QAAQ;GAClB;GACf,kBAAiB;GACjB,YAAY;GACZ,QAAQ;GACE;GACD;GACI;GAEZ;EACM,CAAA;CACU,CAAA;AAEzB,CAAC;AAED,KAAK,cAAc;AACnB,KAAK,UAAUA;AACf,KAAK,OAAO;AACZ,KAAK,QAAQ;AACb,KAAK,WAAW;AAChB,KAAK,SAAS;AACd,KAAK,UAAU;AACf,KAAK,MAAM"}
1
+ {"version":3,"file":"Menu.mjs","names":["classes"],"sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n factory,\n Factory,\n getContextItemIndex,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { useDelayedHover } from '../../utils/Floating';\nimport { __PopoverProps, Popover, PopoverStylesNames } from '../Popover';\nimport { MenuContextProvider, type MenuContextValue } from './Menu.context';\nimport {\n MenuCheckboxGroup,\n type MenuCheckboxGroupProps,\n} from './MenuCheckboxGroup/MenuCheckboxGroup';\nimport { MenuCheckboxItem, type MenuCheckboxItemProps } from './MenuCheckboxItem/MenuCheckboxItem';\nimport { MenuContextMenu, type MenuContextMenuProps } from './MenuContextMenu/MenuContextMenu';\nimport { MenuDivider, type MenuDividerProps } from './MenuDivider/MenuDivider';\nimport { MenuDropdown, type MenuDropdownProps } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, type MenuItemProps } from './MenuItem/MenuItem';\nimport { MenuLabel, type MenuLabelProps } from './MenuLabel/MenuLabel';\nimport { MenuRadioGroup, type MenuRadioGroupProps } from './MenuRadioGroup/MenuRadioGroup';\nimport { MenuRadioItem, type MenuRadioItemProps } from './MenuRadioItem/MenuRadioItem';\nimport { MenuSearch, type MenuSearchProps } from './MenuSearch/MenuSearch';\nimport { MenuSub, type MenuSubProps } from './MenuSub/MenuSub';\nimport { MenuTarget, type MenuTargetProps } from './MenuTarget/MenuTarget';\nimport classes from './Menu.module.css';\nimport type { MenuSubDropdownProps } from './MenuSubDropdown/MenuSubDropdown';\nimport type { MenuSubItemProps } from './MenuSubItem/MenuSubItem';\nimport type { MenuSubTargetProps } from './MenuSubTarget/MenuSubTarget';\n\nexport type MenuStylesNames =\n | 'item'\n | 'itemLabel'\n | 'itemSection'\n | 'itemIndicator'\n | 'label'\n | 'divider'\n | 'chevron'\n | 'search'\n | PopoverStylesNames;\n\nexport type MenuFactory = Factory<{\n props: MenuProps;\n stylesNames: MenuStylesNames;\n staticComponents: {\n Item: typeof MenuItem;\n Label: typeof MenuLabel;\n Dropdown: typeof MenuDropdown;\n Target: typeof MenuTarget;\n Divider: typeof MenuDivider;\n Search: typeof MenuSearch;\n Sub: typeof MenuSub;\n CheckboxItem: typeof MenuCheckboxItem;\n CheckboxGroup: typeof MenuCheckboxGroup;\n RadioItem: typeof MenuRadioItem;\n RadioGroup: typeof MenuRadioGroup;\n ContextMenu: typeof MenuContextMenu;\n };\n}>;\n\nexport interface MenuProps extends __PopoverProps, StylesApiProps<MenuFactory> {\n variant?: string;\n\n /** Menu children */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** If set, focus is trapped within the menu dropdown when it is opened */\n trapFocus?: boolean;\n\n /** Called when menu opened state changes */\n onChange?: (opened: boolean) => void;\n\n /** Called when Menu is opened */\n onOpen?: () => void;\n\n /** Called when Menu is closed */\n onClose?: () => void;\n\n /** If set, the Menu is closed when one of the items is clicked. Can be overridden per item with `closeMenuOnClick` prop */\n closeOnItemClick?: boolean;\n\n /** If set, arrow key presses wrap around from last item to first and vice versa */\n loop?: boolean;\n\n /** If set, the dropdown is closed when the `Escape` key is pressed @default true */\n closeOnEscape?: boolean;\n\n /** Event trigger to open menu. Note: 'hover' is not keyboard accessible; prefer 'click-hover' for accessible hover menus */\n trigger?: 'click' | 'hover' | 'click-hover';\n\n /** Open delay in ms, applicable only to `trigger=\"hover\"` variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to `trigger=\"hover\"` variant */\n closeDelay?: number;\n\n /** If set, the dropdown is closed on outside clicks */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside click detection. Includes mousedown for desktop clicks, touchstart for mobile, and keydown for Escape key handling @default ['mousedown', 'touchstart', 'keydown'] */\n clickOutsideEvents?: string[];\n\n /** Id base to create accessibility connections */\n id?: string;\n\n /** Set the `tabindex` on all menu items. Use `0` to allow Tab key navigation through menu items (required for navigation menus following WAI-ARIA disclosure pattern). @default -1 */\n menuItemTabIndex?: -1 | 0;\n\n /** Adds a hidden focusable element at the start of the dropdown to prevent unexpected focus jumps when opening with keyboard. Set to false if you need custom focus management. @default true */\n withInitialFocusPlaceholder?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes @default `true` */\n returnFocus?: boolean;\n\n /** Controls how indicator slot space is reserved on menu items for label alignment. `'all'` reserves space on every `Menu.Item`, `'with-indicators'` reserves space only on `Menu.CheckboxItem` and `Menu.RadioItem`, `'none'` reserves space only on items that currently display an indicator. @default 'with-indicators' */\n alignItemsLabels?: 'all' | 'with-indicators' | 'none';\n\n /** Custom icon rendered as the indicator of checked `Menu.CheckboxItem` and selected `Menu.RadioItem`. Can be overridden per item with the `checkIcon` prop. */\n checkIcon?: React.ReactNode;\n}\n\nconst defaultProps = {\n trapFocus: true,\n closeOnItemClick: true,\n withInitialFocusPlaceholder: true,\n clickOutsideEvents: ['mousedown', 'touchstart', 'keydown'],\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n menuItemTabIndex: -1,\n alignItemsLabels: 'with-indicators',\n} satisfies Partial<MenuProps>;\n\nexport const Menu = factory<MenuFactory>((_props) => {\n const props = useProps('Menu', defaultProps, _props);\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n trapFocus,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n variant,\n vars,\n menuItemTabIndex,\n keepMounted,\n withInitialFocusPlaceholder,\n attributes,\n onExitTransitionEnd,\n alignItemsLabels,\n checkIcon,\n ...others\n } = props;\n\n const getStyles = useStyles<MenuFactory>({\n name: 'Menu',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n attributes,\n });\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n const [openedViaClick, setOpenedViaClick] = useState(false);\n\n const close = () => {\n setOpened(false);\n setOpenedViaClick(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => {\n _opened ? close() : open();\n };\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const activeSubCloseRef = useRef<(() => void) | null>(null);\n const registerOpenSub = useCallback((closeFn: () => void) => {\n const prev = activeSubCloseRef.current;\n if (prev && prev !== closeFn) {\n prev();\n }\n activeSubCloseRef.current = closeFn;\n return () => {\n if (activeSubCloseRef.current === closeFn) {\n activeSubCloseRef.current = null;\n }\n };\n }, []);\n\n const searchCountRef = useRef(0);\n const [hasSearch, setHasSearch] = useState(false);\n const registerSearch = useCallback(() => {\n searchCountRef.current += 1;\n if (searchCountRef.current === 1) {\n setHasSearch(true);\n }\n return () => {\n searchCountRef.current -= 1;\n if (searchCountRef.current === 0) {\n setHasSearch(false);\n }\n };\n }, []);\n\n const searchExitClearRef = useRef<(() => void) | null>(null);\n const handleExitTransitionEnd = () => {\n searchExitClearRef.current?.();\n onExitTransitionEnd?.();\n };\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<MenuFactory>({\n classNames,\n styles,\n props,\n });\n\n return (\n <MenuContextProvider\n value={{\n getStyles,\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n openedViaClick,\n setOpenedViaClick,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n unstyled,\n menuItemTabIndex,\n withInitialFocusPlaceholder,\n registerOpenSub,\n hasSearch,\n registerSearch,\n searchExitClearRef,\n alignItemsLabels: alignItemsLabels!,\n checkIcon,\n }}\n >\n <Popover\n returnFocus\n {...others}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={keepMounted ? false : trapFocus}\n closeOnEscape={closeOnEscape}\n __staticSelector=\"Menu\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n variant={variant}\n keepMounted={keepMounted}\n onExitTransitionEnd={handleExitTransitionEnd}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n});\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.classes = classes;\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\nMenu.Search = MenuSearch;\nMenu.Sub = MenuSub;\nMenu.CheckboxItem = MenuCheckboxItem;\nMenu.CheckboxGroup = MenuCheckboxGroup;\nMenu.RadioItem = MenuRadioItem;\nMenu.RadioGroup = MenuRadioGroup;\nMenu.ContextMenu = MenuContextMenu;\n\nexport namespace Menu {\n export type Props = MenuProps;\n export type StylesNames = MenuStylesNames;\n export type Factory = MenuFactory;\n export type ContextValue = MenuContextValue;\n\n export namespace Item {\n export type Props = MenuItemProps;\n }\n\n export namespace Label {\n export type Props = MenuLabelProps;\n }\n\n export namespace Divider {\n export type Props = MenuDividerProps;\n }\n\n export namespace Dropdown {\n export type Props = MenuDropdownProps;\n }\n\n export namespace Target {\n export type Props = MenuTargetProps;\n }\n\n export namespace Search {\n export type Props = MenuSearchProps;\n }\n\n export namespace Sub {\n export type Props = MenuSubProps;\n }\n\n export namespace CheckboxItem {\n export type Props = MenuCheckboxItemProps;\n }\n\n export namespace RadioItem {\n export type Props = MenuRadioItemProps;\n }\n\n export namespace RadioGroup {\n export type Props = MenuRadioGroupProps;\n }\n\n export namespace CheckboxGroup {\n export type Props = MenuCheckboxGroupProps;\n }\n\n export namespace ContextMenu {\n export type Props = MenuContextMenuProps;\n }\n\n export namespace SubDropdown {\n export type Props = MenuSubDropdownProps;\n }\n\n export namespace SubItem {\n export type Props = MenuSubItemProps;\n }\n\n export namespace SubTarget {\n export type Props = MenuSubTargetProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmIA,MAAM,eAAe;CACnB,WAAW;CACX,kBAAkB;CAClB,6BAA6B;CAC7B,oBAAoB;EAAC;EAAa;EAAc;CAAS;CACzD,MAAM;CACN,SAAS;CACT,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,kBAAkB;AACpB;AAEA,MAAa,OAAO,SAAsB,WAAW;CACnD,MAAM,QAAQ,SAAS,QAAQ,cAAc,MAAM;CACnD,MAAM,EACJ,UACA,QACA,SACA,QACA,eACA,WACA,UACA,kBACA,MACA,eACA,SACA,WACA,YACA,YACA,QACA,UACA,SACA,MACA,kBACA,aACA,6BACA,YACA,qBACA,kBACA,WACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAuB;EACvC,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,CAAC,SAAS,aAAa,gBAAgB;EAC3C,OAAO;EACP,cAAc;EACd,YAAY;EACZ;CACF,CAAC;CACD,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAE1D,MAAM,cAAc;EAClB,UAAU,KAAK;EACf,kBAAkB,KAAK;EACvB,WAAW,UAAU;CACvB;CAEA,MAAM,aAAa;EACjB,UAAU,IAAI;EACd,CAAC,WAAW,SAAS;CACvB;CAEA,MAAM,uBAAuB;EAC3B,UAAU,MAAM,IAAI,KAAK;CAC3B;CAEA,MAAM,EAAE,cAAc,kBAAkB,gBAAgB;EAAE;EAAM;EAAO;EAAY;CAAU,CAAC;CAE9F,MAAM,oBAAoB,OAA4B,IAAI;CAC1D,MAAM,kBAAkB,aAAa,YAAwB;EAC3D,MAAM,OAAO,kBAAkB;EAC/B,IAAI,QAAQ,SAAS,SACnB,KAAK;EAEP,kBAAkB,UAAU;EAC5B,aAAa;GACX,IAAI,kBAAkB,YAAY,SAChC,kBAAkB,UAAU;EAEhC;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,iBAAiB,OAAO,CAAC;CAC/B,MAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;CAChD,MAAM,iBAAiB,kBAAkB;EACvC,eAAe,WAAW;EAC1B,IAAI,eAAe,YAAY,GAC7B,aAAa,IAAI;EAEnB,aAAa;GACX,eAAe,WAAW;GAC1B,IAAI,eAAe,YAAY,GAC7B,aAAa,KAAK;EAEtB;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,qBAAqB,OAA4B,IAAI;CAC3D,MAAM,gCAAgC;EACpC,mBAAmB,UAAU;EAC7B,sBAAsB;CACxB;CAEA,MAAM,gBAAgB,SACpB,oBAAoB,oBAAoB,wBAAwB,IAAI;CAEtE,MAAM,EAAE,oBAAoB,mBAAmB,qBAAkC;EAC/E;EACA;EACA;CACF,CAAC;CAED,OACE,oBAAC,qBAAD;EACE,OAAO;GACL;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA,eAAe,YAAY,UAAU,QAAQ;GAC7C,cAAc,YAAY,UAAU,OAAO;GAC3C,0BAA0B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACkB;GAClB;EACF;YAEA,oBAAC,SAAD;GACE,aAAA;GACA,GAAI;GACJ,QAAQ;GACR,UAAU;GACK;GACf,WAAW,cAAc,QAAQ;GAClB;GACf,kBAAiB;GACjB,YAAY;GACZ,QAAQ;GACE;GACD;GACI;GACb,qBAAqB;GAEpB;EACM,CAAA;CACU,CAAA;AAEzB,CAAC;AAED,KAAK,cAAc;AACnB,KAAK,UAAUA;AACf,KAAK,OAAO;AACZ,KAAK,QAAQ;AACb,KAAK,WAAW;AAChB,KAAK,SAAS;AACd,KAAK,UAAU;AACf,KAAK,SAAS;AACd,KAAK,MAAM;AACX,KAAK,eAAe;AACpB,KAAK,gBAAgB;AACrB,KAAK,YAAY;AACjB,KAAK,aAAa;AAClB,KAAK,cAAc"}
@@ -5,7 +5,9 @@ var Menu_module_default = {
5
5
  "label": "m_9bfac126",
6
6
  "divider": "m_efdf90cb",
7
7
  "item": "m_99ac2aa1",
8
+ "search": "m_ef8769b6",
8
9
  "itemLabel": "m_5476e0d3",
10
+ "itemIndicator": "m_8395186e",
9
11
  "itemSection": "m_8b75e504",
10
12
  "chevron": "m_b85b0bed"
11
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.module.mjs","names":[],"sources":["../../../src/components/Menu/Menu.module.css"],"sourcesContent":[".dropdown {\n padding: 4px;\n}\n\n.label {\n color: var(--mantine-color-dimmed);\n font-weight: var(--mantine-font-weight-medium);\n font-size: var(--mantine-font-size-xs);\n padding: calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm);\n cursor: default;\n}\n\n.divider {\n margin-top: 4px;\n margin-bottom: 4px;\n border-top: 1px solid;\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n}\n\n.item {\n font-size: var(--mantine-font-size-sm);\n width: 100%;\n padding: calc(var(--mantine-spacing-xs) / 1.5) var(--mantine-spacing-sm);\n border-radius: var(--popover-radius, var(--mantine-radius-default));\n color: var(--menu-item-color, var(--mantine-color-text));\n display: flex;\n align-items: center;\n user-select: none;\n\n &:where([data-disabled], :disabled) {\n color: var(--mantine-color-disabled-color);\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n &:where(:hover, :focus) {\n &:where(:not(:disabled, [data-disabled])) {\n @mixin where-light {\n background-color: var(--menu-item-hover, var(--mantine-color-gray-1));\n }\n\n @mixin where-dark {\n background-color: var(--menu-item-hover, var(--mantine-color-dark-4));\n }\n }\n }\n\n &:where([data-sub-menu-item]) {\n padding-inline-end: 5px;\n }\n}\n\n.itemLabel {\n flex: 1;\n}\n\n.itemSection {\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:where([data-position='left']) {\n margin-inline-end: var(--mantine-spacing-xs);\n }\n\n &:where([data-position='right']) {\n margin-inline-start: var(--mantine-spacing-xs);\n }\n}\n\n.chevron {\n transform: rotate(-90deg);\n\n @mixin where-rtl {\n transform: rotate(90deg);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Menu.module.mjs","names":[],"sources":["../../../src/components/Menu/Menu.module.css"],"sourcesContent":[".dropdown {\n padding: 4px;\n}\n\n.label {\n color: var(--mantine-color-dimmed);\n font-weight: var(--mantine-font-weight-medium);\n font-size: var(--mantine-font-size-xs);\n padding: calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm);\n cursor: default;\n}\n\n.divider {\n margin-top: 4px;\n margin-bottom: 4px;\n border-top: 1px solid;\n\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n}\n\n.item {\n font-size: var(--mantine-font-size-sm);\n width: 100%;\n padding: calc(var(--mantine-spacing-xs) / 1.5) var(--mantine-spacing-sm);\n border-radius: var(--popover-radius, var(--mantine-radius-default));\n color: var(--menu-item-color, var(--mantine-color-text));\n display: flex;\n align-items: center;\n user-select: none;\n\n &:where([data-disabled], :disabled) {\n color: var(--mantine-color-disabled-color);\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n &:where(:hover, :focus, [data-menu-active]) {\n &:where(:not(:disabled, [data-disabled])) {\n @mixin where-light {\n background-color: var(--menu-item-hover, var(--mantine-color-gray-1));\n }\n\n @mixin where-dark {\n background-color: var(--menu-item-hover, var(--mantine-color-dark-4));\n }\n }\n }\n\n &:where([data-sub-menu-item]) {\n padding-inline-end: 5px;\n }\n}\n\n.search {\n --menu-search-padding: var(--popover-padding, 4px);\n\n margin-inline: calc(var(--menu-search-padding) * -1);\n margin-top: calc(var(--menu-search-padding) * -1);\n width: calc(100% + var(--menu-search-padding) * 2);\n border-top-width: 0;\n border-inline-width: 0;\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n margin-bottom: var(--menu-search-padding);\n\n &,\n &:focus {\n @mixin where-light {\n border-color: var(--mantine-color-gray-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-dark-4);\n }\n }\n\n @mixin where-light {\n background-color: var(--mantine-color-white);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-7);\n }\n}\n\n.itemLabel {\n flex: 1;\n}\n\n.itemIndicator {\n width: 12px;\n height: 12px;\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-inline-end: 8px;\n}\n\n.itemSection {\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:where([data-position='left']) {\n margin-inline-end: var(--mantine-spacing-xs);\n }\n\n &:where([data-position='right']) {\n margin-inline-start: var(--mantine-spacing-xs);\n }\n}\n\n.chevron {\n transform: rotate(-90deg);\n\n @mixin where-rtl {\n transform: rotate(90deg);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ //#region packages/@mantine/core/src/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.tsx
4
+ const MenuCheckboxGroupContext = createContext(null);
5
+ //#endregion
6
+ export { MenuCheckboxGroupContext };
7
+
8
+ //# sourceMappingURL=MenuCheckboxGroup.context.mjs.map