@mantine/core 9.2.2 → 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 (851) 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 +11 -3
  217. package/cjs/components/Input/Input.cjs.map +1 -1
  218. package/cjs/components/Input/Input.context.cjs +0 -1
  219. package/cjs/components/Input/Input.context.cjs.map +1 -1
  220. package/cjs/components/Input/Input.module.cjs +1 -0
  221. package/cjs/components/Input/Input.module.cjs.map +1 -1
  222. package/cjs/components/Input/InputClearButton/InputClearButton.cjs +0 -1
  223. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  224. package/cjs/components/Input/InputClearSection/InputClearSection.cjs +0 -1
  225. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  226. package/cjs/components/Input/InputDescription/InputDescription.cjs +0 -1
  227. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  228. package/cjs/components/Input/InputError/InputError.cjs +0 -1
  229. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  230. package/cjs/components/Input/InputLabel/InputLabel.cjs +0 -1
  231. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  232. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs +0 -1
  233. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  234. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +0 -1
  235. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  236. package/cjs/components/Input/InputWrapper.context.cjs +0 -1
  237. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  238. package/cjs/components/InputBase/InputBase.cjs +0 -1
  239. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  240. package/cjs/components/JsonInput/JsonInput.cjs +0 -1
  241. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  242. package/cjs/components/Kbd/Kbd.cjs +0 -1
  243. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  244. package/cjs/components/List/List.cjs +0 -1
  245. package/cjs/components/List/List.cjs.map +1 -1
  246. package/cjs/components/List/ListItem/ListItem.cjs +0 -1
  247. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  248. package/cjs/components/Loader/Loader.cjs +0 -1
  249. package/cjs/components/Loader/Loader.cjs.map +1 -1
  250. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs +0 -1
  251. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  252. package/cjs/components/Mark/Mark.cjs +0 -1
  253. package/cjs/components/Mark/Mark.cjs.map +1 -1
  254. package/cjs/components/Marquee/Marquee.cjs +0 -1
  255. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  256. package/cjs/components/MaskInput/MaskInput.cjs +0 -1
  257. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  258. package/cjs/components/MaskInput/use-mask-input-props.cjs +0 -1
  259. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  260. package/cjs/components/Menu/Menu.cjs +37 -4
  261. package/cjs/components/Menu/Menu.cjs.map +1 -1
  262. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  263. package/cjs/components/Menu/Menu.module.cjs +2 -0
  264. package/cjs/components/Menu/Menu.module.cjs.map +1 -1
  265. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs +30 -0
  266. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -0
  267. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs +7 -0
  268. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -0
  269. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs +52 -0
  270. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -0
  271. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs +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 +0 -1
  292. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  293. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs +0 -1
  294. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  295. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs +13 -2
  296. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  297. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs +18 -2
  298. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  299. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs +0 -1
  300. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
  301. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs +0 -1
  302. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  303. package/cjs/components/Menu/use-menu-type-ahead.cjs +72 -0
  304. package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -0
  305. package/cjs/components/Modal/Modal.cjs +0 -1
  306. package/cjs/components/Modal/Modal.cjs.map +1 -1
  307. package/cjs/components/Modal/ModalBody.cjs +0 -1
  308. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  309. package/cjs/components/Modal/ModalCloseButton.cjs +0 -1
  310. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  311. package/cjs/components/Modal/ModalContent.cjs +0 -1
  312. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  313. package/cjs/components/Modal/ModalHeader.cjs +0 -1
  314. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  315. package/cjs/components/Modal/ModalOverlay.cjs +0 -1
  316. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  317. package/cjs/components/Modal/ModalRoot.cjs +0 -1
  318. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  319. package/cjs/components/Modal/ModalStack.cjs +0 -1
  320. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  321. package/cjs/components/Modal/ModalTitle.cjs +0 -1
  322. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  323. package/cjs/components/Modal/use-modals-stack.cjs +0 -1
  324. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  325. package/cjs/components/ModalBase/ModalBase.cjs +0 -1
  326. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  327. package/cjs/components/ModalBase/ModalBaseOverlay.cjs +0 -1
  328. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  329. package/cjs/components/ModalBase/NativeScrollArea.cjs +0 -1
  330. package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
  331. package/cjs/components/ModalBase/use-lock-scroll.cjs +0 -1
  332. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  333. package/cjs/components/ModalBase/use-modal-body-id.cjs +0 -1
  334. package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
  335. package/cjs/components/ModalBase/use-modal-title-id.cjs +0 -1
  336. package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
  337. package/cjs/components/ModalBase/use-modal.cjs +0 -1
  338. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  339. package/cjs/components/MultiSelect/MultiSelect.cjs +2 -2
  340. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  341. package/cjs/components/NativeSelect/NativeSelect.cjs +0 -1
  342. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  343. package/cjs/components/NativeSelect/NativeSelectOption.cjs +0 -1
  344. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  345. package/cjs/components/NavLink/NavLink.cjs +0 -1
  346. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  347. package/cjs/components/Notification/Notification.cjs +0 -1
  348. package/cjs/components/Notification/Notification.cjs.map +1 -1
  349. package/cjs/components/NumberFormatter/NumberFormatter.cjs +0 -1
  350. package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
  351. package/cjs/components/NumberInput/NumberInputChevron.cjs +0 -1
  352. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  353. package/cjs/components/OverflowList/OverflowList.cjs +68 -10
  354. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  355. package/cjs/components/OverflowList/use-dimensions.cjs +0 -1
  356. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  357. package/cjs/components/Overlay/Overlay.cjs +0 -1
  358. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  359. package/cjs/components/Pagination/Pagination.cjs +14 -3
  360. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  361. package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
  362. package/cjs/components/Pagination/Pagination.icons.cjs +0 -1
  363. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  364. package/cjs/components/Pagination/Pagination.module.cjs +3 -1
  365. package/cjs/components/Pagination/Pagination.module.cjs.map +1 -1
  366. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs +0 -1
  367. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
  368. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs +0 -1
  369. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  370. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs +0 -1
  371. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  372. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs +0 -1
  373. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  374. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs +32 -0
  375. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -0
  376. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs +3 -2
  377. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  378. package/cjs/components/Paper/Paper.cjs +0 -1
  379. package/cjs/components/Paper/Paper.cjs.map +1 -1
  380. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs +0 -1
  381. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  382. package/cjs/components/Pill/Pill.cjs +0 -1
  383. package/cjs/components/Pill/Pill.cjs.map +1 -1
  384. package/cjs/components/Pill/PillGroup/PillGroup.cjs +0 -1
  385. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  386. package/cjs/components/PillsInput/PillsInput.cjs +0 -1
  387. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  388. package/cjs/components/PillsInput/PillsInput.context.cjs +0 -1
  389. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  390. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs +0 -1
  391. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  392. package/cjs/components/PinInput/PinInput.cjs +0 -1
  393. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  394. package/cjs/components/Popover/Popover.cjs +5 -10
  395. package/cjs/components/Popover/Popover.cjs.map +1 -1
  396. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs +27 -0
  397. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -0
  398. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +8 -1
  399. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  400. package/cjs/components/Popover/use-popover.cjs +52 -20
  401. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  402. package/cjs/components/Portal/OptionalPortal.cjs +0 -1
  403. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  404. package/cjs/components/Portal/Portal.cjs +0 -1
  405. package/cjs/components/Portal/Portal.cjs.map +1 -1
  406. package/cjs/components/Progress/Progress.cjs +0 -1
  407. package/cjs/components/Progress/Progress.cjs.map +1 -1
  408. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs +0 -1
  409. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  410. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs +0 -1
  411. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  412. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs +0 -1
  413. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  414. package/cjs/components/Radio/Radio.cjs +1 -2
  415. package/cjs/components/Radio/Radio.cjs.map +1 -1
  416. package/cjs/components/Radio/RadioCard/RadioCard.cjs +0 -1
  417. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  418. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs +0 -1
  419. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  420. package/cjs/components/Radio/RadioIcon.cjs +0 -1
  421. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  422. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs +2 -3
  423. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  424. package/cjs/components/Rating/Rating.cjs +0 -1
  425. package/cjs/components/Rating/Rating.cjs.map +1 -1
  426. package/cjs/components/Rating/RatingItem/RatingItem.cjs +0 -1
  427. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  428. package/cjs/components/Rating/StarSymbol/StarIcon.cjs +0 -1
  429. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  430. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs +0 -1
  431. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  432. package/cjs/components/RingProgress/Curve/Curve.cjs +0 -1
  433. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  434. package/cjs/components/RingProgress/RingProgress.cjs +0 -1
  435. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  436. package/cjs/components/RollingNumber/DigitColumn.cjs +0 -1
  437. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  438. package/cjs/components/RollingNumber/RollingNumber.cjs +0 -1
  439. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  440. package/cjs/components/ScrollArea/ScrollArea.cjs +0 -1
  441. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  442. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs +0 -1
  443. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  444. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs +0 -1
  445. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  446. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs +0 -1
  447. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
  448. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs +0 -1
  449. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  450. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs +0 -1
  451. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  452. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs +0 -1
  453. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  454. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs +0 -1
  455. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  456. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +0 -1
  457. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  458. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs +0 -1
  459. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  460. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs +0 -1
  461. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  462. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs +0 -1
  463. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  464. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +0 -1
  465. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  466. package/cjs/components/ScrollArea/use-resize-observer.cjs +0 -1
  467. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  468. package/cjs/components/Scroller/Scroller.cjs +0 -1
  469. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  470. package/cjs/components/SegmentedControl/SegmentedControl.cjs +0 -1
  471. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  472. package/cjs/components/Select/Select.cjs +2 -2
  473. package/cjs/components/Select/Select.cjs.map +1 -1
  474. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs +0 -1
  475. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  476. package/cjs/components/SimpleGrid/SimpleGrid.cjs +0 -1
  477. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  478. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs +0 -1
  479. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  480. package/cjs/components/Skeleton/Skeleton.cjs +0 -1
  481. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  482. package/cjs/components/Slider/Marks/Marks.cjs +0 -1
  483. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  484. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +0 -1
  485. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  486. package/cjs/components/Slider/Slider/Slider.cjs +0 -1
  487. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  488. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs +0 -1
  489. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
  490. package/cjs/components/Slider/Thumb/Thumb.cjs +0 -1
  491. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  492. package/cjs/components/Slider/Track/Track.cjs +0 -1
  493. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  494. package/cjs/components/Space/Space.cjs +0 -1
  495. package/cjs/components/Space/Space.cjs.map +1 -1
  496. package/cjs/components/Splitter/GripIcon.cjs +55 -0
  497. package/cjs/components/Splitter/GripIcon.cjs.map +1 -0
  498. package/cjs/components/Splitter/Splitter.cjs +111 -0
  499. package/cjs/components/Splitter/Splitter.cjs.map +1 -0
  500. package/cjs/components/Splitter/Splitter.context.cjs +8 -0
  501. package/cjs/components/Splitter/Splitter.context.cjs.map +1 -0
  502. package/cjs/components/Splitter/Splitter.module.cjs +12 -0
  503. package/cjs/components/Splitter/Splitter.module.cjs.map +1 -0
  504. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs +34 -0
  505. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs.map +1 -0
  506. package/cjs/components/Spoiler/Spoiler.cjs +0 -1
  507. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  508. package/cjs/components/Stack/Stack.cjs +0 -1
  509. package/cjs/components/Stack/Stack.cjs.map +1 -1
  510. package/cjs/components/Stepper/Stepper.cjs +0 -1
  511. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  512. package/cjs/components/Stepper/Stepper.module.cjs.map +1 -1
  513. package/cjs/components/Stepper/StepperStep/StepperStep.cjs +0 -1
  514. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  515. package/cjs/components/Switch/Switch.cjs +0 -1
  516. package/cjs/components/Switch/Switch.cjs.map +1 -1
  517. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs +0 -1
  518. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  519. package/cjs/components/Table/Table.cjs +0 -1
  520. package/cjs/components/Table/Table.cjs.map +1 -1
  521. package/cjs/components/Table/Table.components.cjs +0 -1
  522. package/cjs/components/Table/Table.components.cjs.map +1 -1
  523. package/cjs/components/Table/Table.module.cjs.map +1 -1
  524. package/cjs/components/Table/TableDataRenderer.cjs +0 -1
  525. package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
  526. package/cjs/components/Table/TableScrollContainer.cjs +0 -1
  527. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  528. package/cjs/components/TableOfContents/TableOfContents.cjs +0 -1
  529. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  530. package/cjs/components/Tabs/Tabs.cjs +0 -1
  531. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  532. package/cjs/components/Tabs/Tabs.module.cjs.map +1 -1
  533. package/cjs/components/Tabs/TabsList/TabsList.cjs +0 -1
  534. package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
  535. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +0 -1
  536. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  537. package/cjs/components/Tabs/TabsTab/TabsTab.cjs +0 -1
  538. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  539. package/cjs/components/TagsInput/TagsInput.cjs +2 -2
  540. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  541. package/cjs/components/Text/Text.cjs +4 -4
  542. package/cjs/components/Text/Text.cjs.map +1 -1
  543. package/cjs/components/Text/Text.module.cjs.map +1 -1
  544. package/cjs/components/TextInput/TextInput.cjs +0 -1
  545. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  546. package/cjs/components/Textarea/Textarea.cjs +3 -2
  547. package/cjs/components/Textarea/Textarea.cjs.map +1 -1
  548. package/cjs/components/ThemeIcon/ThemeIcon.cjs +0 -1
  549. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  550. package/cjs/components/Timeline/Timeline.cjs +0 -1
  551. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  552. package/cjs/components/Timeline/Timeline.module.cjs.map +1 -1
  553. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs +0 -1
  554. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  555. package/cjs/components/Title/Title.cjs +0 -1
  556. package/cjs/components/Title/Title.cjs.map +1 -1
  557. package/cjs/components/Tooltip/Tooltip.cjs +7 -0
  558. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  559. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs +0 -1
  560. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  561. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs +0 -1
  562. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  563. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs +0 -1
  564. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  565. package/cjs/components/Tooltip/use-tooltip.cjs +6 -3
  566. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  567. package/cjs/components/Transition/Transition.cjs +0 -1
  568. package/cjs/components/Transition/Transition.cjs.map +1 -1
  569. package/cjs/components/Tree/FlatTreeNode.cjs +13 -5
  570. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  571. package/cjs/components/Tree/Tree.cjs +0 -1
  572. package/cjs/components/Tree/Tree.cjs.map +1 -1
  573. package/cjs/components/Tree/Tree.module.cjs +3 -1
  574. package/cjs/components/Tree/Tree.module.cjs.map +1 -1
  575. package/cjs/components/Tree/TreeNode.cjs +6 -2
  576. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  577. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs +9 -4
  578. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs.map +1 -1
  579. package/cjs/components/Tree/use-tree-node-drag-drop.cjs +13 -5
  580. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  581. package/cjs/components/Tree/use-tree.cjs +0 -1
  582. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  583. package/cjs/components/TreeSelect/TreeSelect.cjs +0 -1
  584. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  585. package/cjs/components/TreeSelect/TreeSelectOption.cjs +0 -1
  586. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
  587. package/cjs/components/Typography/Typography.cjs +0 -1
  588. package/cjs/components/Typography/Typography.cjs.map +1 -1
  589. package/cjs/components/Typography/Typography.module.cjs.map +1 -1
  590. package/cjs/components/UnstyledButton/UnstyledButton.cjs +0 -1
  591. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  592. package/cjs/components/UnstyledButton/UnstyledButton.module.cjs.map +1 -1
  593. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs +0 -1
  594. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  595. package/cjs/core/Box/use-random-classname/use-random-classname.cjs +0 -1
  596. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  597. package/cjs/core/DirectionProvider/DirectionProvider.cjs +0 -1
  598. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  599. package/cjs/core/InlineStyles/InlineStyles.cjs +0 -1
  600. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  601. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs +0 -1
  602. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
  603. package/cjs/core/MantineProvider/Mantine.context.cjs +0 -1
  604. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  605. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs +0 -1
  606. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
  607. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs +0 -1
  608. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  609. package/cjs/core/MantineProvider/MantineProvider.cjs +0 -1
  610. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  611. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs +0 -1
  612. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  613. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs +0 -1
  614. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  615. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs +0 -1
  616. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  617. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs +0 -1
  618. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  619. package/cjs/core/MantineProvider/use-matches/use-matches.cjs +0 -1
  620. package/cjs/core/MantineProvider/use-matches/use-matches.cjs.map +1 -1
  621. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs +0 -1
  622. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
  623. package/cjs/core/factory/factory.cjs +0 -1
  624. package/cjs/core/factory/factory.cjs.map +1 -1
  625. package/cjs/core/factory/polymorphic-factory.cjs +0 -1
  626. package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
  627. package/cjs/core/utils/create-safe-context/create-safe-context.cjs +0 -1
  628. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  629. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs +0 -1
  630. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
  631. package/cjs/core/utils/get-single-element-child/get-single-element-child.cjs +0 -1
  632. package/cjs/core/utils/get-single-element-child/get-single-element-child.cjs.map +1 -1
  633. package/cjs/core/utils/is-element/is-element.cjs +0 -1
  634. package/cjs/core/utils/is-element/is-element.cjs.map +1 -1
  635. package/cjs/core/utils/use-hovered/use-hovered.cjs +0 -1
  636. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  637. package/cjs/index.cjs +25 -2
  638. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs +0 -1
  639. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
  640. package/cjs/utils/Floating/FloatingArrow/get-arrow-position-styles.cjs +59 -0
  641. package/cjs/utils/Floating/FloatingArrow/get-arrow-position-styles.cjs.map +1 -1
  642. package/cjs/utils/Floating/create-context-menu-handlers.cjs +38 -0
  643. package/cjs/utils/Floating/create-context-menu-handlers.cjs.map +1 -0
  644. package/cjs/utils/Floating/use-delayed-hover.cjs +0 -1
  645. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  646. package/cjs/utils/InlineInput/InlineInput.cjs +0 -1
  647. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  648. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs +0 -1
  649. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  650. package/esm/components/Autocomplete/Autocomplete.mjs +2 -1
  651. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  652. package/esm/components/Blockquote/Blockquote.mjs +4 -3
  653. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  654. package/esm/components/Blockquote/Blockquote.module.mjs.map +1 -1
  655. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  656. package/esm/components/Combobox/Combobox.context.mjs.map +1 -1
  657. package/esm/components/Combobox/Combobox.mjs +26 -3
  658. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  659. package/esm/components/Combobox/Combobox.module.mjs.map +1 -1
  660. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs +1 -0
  661. package/esm/components/Combobox/ComboboxDropdown/ComboboxDropdown.mjs.map +1 -1
  662. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +4 -2
  663. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  664. package/esm/components/Input/Input.mjs +11 -2
  665. package/esm/components/Input/Input.mjs.map +1 -1
  666. package/esm/components/Input/Input.module.mjs +1 -0
  667. package/esm/components/Input/Input.module.mjs.map +1 -1
  668. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  669. package/esm/components/Menu/Menu.mjs +37 -3
  670. package/esm/components/Menu/Menu.mjs.map +1 -1
  671. package/esm/components/Menu/Menu.module.mjs +2 -0
  672. package/esm/components/Menu/Menu.module.mjs.map +1 -1
  673. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs +8 -0
  674. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.mjs.map +1 -0
  675. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs +30 -0
  676. package/esm/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.mjs.map +1 -0
  677. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs +52 -0
  678. package/esm/components/Menu/MenuCheckboxItem/MenuCheckboxItem.mjs.map +1 -0
  679. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs +27 -0
  680. package/esm/components/Menu/MenuContextMenu/MenuContextMenu.mjs.map +1 -0
  681. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs +9 -1
  682. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  683. package/esm/components/Menu/MenuItem/MenuItem.mjs +18 -1
  684. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  685. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs +8 -0
  686. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.context.mjs.map +1 -0
  687. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs +27 -0
  688. package/esm/components/Menu/MenuRadioGroup/MenuRadioGroup.mjs.map +1 -0
  689. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs +46 -0
  690. package/esm/components/Menu/MenuRadioItem/MenuRadioItem.mjs.map +1 -0
  691. package/esm/components/Menu/MenuSearch/MenuSearch.mjs +115 -0
  692. package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -0
  693. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs +114 -0
  694. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -0
  695. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs +13 -1
  696. package/esm/components/Menu/MenuSubDropdown/MenuSubDropdown.mjs.map +1 -1
  697. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs +18 -1
  698. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  699. package/esm/components/Menu/use-menu-type-ahead.mjs +72 -0
  700. package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -0
  701. package/esm/components/MultiSelect/MultiSelect.mjs +2 -1
  702. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  703. package/esm/components/OverflowList/OverflowList.mjs +69 -10
  704. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  705. package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
  706. package/esm/components/Pagination/Pagination.mjs +15 -3
  707. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  708. package/esm/components/Pagination/Pagination.module.mjs +3 -1
  709. package/esm/components/Pagination/Pagination.module.mjs.map +1 -1
  710. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs +32 -0
  711. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs.map +1 -0
  712. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs +3 -1
  713. package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
  714. package/esm/components/Popover/Popover.mjs +5 -9
  715. package/esm/components/Popover/Popover.mjs.map +1 -1
  716. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs +27 -0
  717. package/esm/components/Popover/PopoverContextMenu/PopoverContextMenu.mjs.map +1 -0
  718. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs +8 -0
  719. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
  720. package/esm/components/Popover/use-popover.mjs +53 -20
  721. package/esm/components/Popover/use-popover.mjs.map +1 -1
  722. package/esm/components/Radio/Radio.mjs +1 -1
  723. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs +2 -2
  724. package/esm/components/Radio/RadioIndicator/RadioIndicator.mjs.map +1 -1
  725. package/esm/components/Select/Select.mjs +2 -1
  726. package/esm/components/Select/Select.mjs.map +1 -1
  727. package/esm/components/Splitter/GripIcon.mjs +52 -0
  728. package/esm/components/Splitter/GripIcon.mjs.map +1 -0
  729. package/esm/components/Splitter/Splitter.context.mjs +8 -0
  730. package/esm/components/Splitter/Splitter.context.mjs.map +1 -0
  731. package/esm/components/Splitter/Splitter.mjs +111 -0
  732. package/esm/components/Splitter/Splitter.mjs.map +1 -0
  733. package/esm/components/Splitter/Splitter.module.mjs +12 -0
  734. package/esm/components/Splitter/Splitter.module.mjs.map +1 -0
  735. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +34 -0
  736. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -0
  737. package/esm/components/Stepper/Stepper.module.mjs.map +1 -1
  738. package/esm/components/Table/Table.module.mjs.map +1 -1
  739. package/esm/components/Tabs/Tabs.module.mjs.map +1 -1
  740. package/esm/components/TagsInput/TagsInput.mjs +2 -1
  741. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  742. package/esm/components/Text/Text.mjs +4 -3
  743. package/esm/components/Text/Text.mjs.map +1 -1
  744. package/esm/components/Text/Text.module.mjs.map +1 -1
  745. package/esm/components/Textarea/Textarea.mjs +3 -1
  746. package/esm/components/Textarea/Textarea.mjs.map +1 -1
  747. package/esm/components/Timeline/Timeline.module.mjs.map +1 -1
  748. package/esm/components/Tooltip/Tooltip.mjs +7 -0
  749. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  750. package/esm/components/Tooltip/use-tooltip.mjs +8 -4
  751. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  752. package/esm/components/Tree/FlatTreeNode.mjs +14 -5
  753. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  754. package/esm/components/Tree/Tree.mjs.map +1 -1
  755. package/esm/components/Tree/Tree.module.mjs +3 -1
  756. package/esm/components/Tree/Tree.module.mjs.map +1 -1
  757. package/esm/components/Tree/TreeNode.mjs +6 -1
  758. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  759. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs +9 -4
  760. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +1 -1
  761. package/esm/components/Tree/use-tree-node-drag-drop.mjs +13 -4
  762. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
  763. package/esm/components/Typography/Typography.module.mjs.map +1 -1
  764. package/esm/components/UnstyledButton/UnstyledButton.module.mjs.map +1 -1
  765. package/esm/index.mjs +14 -2
  766. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs +59 -1
  767. package/esm/utils/Floating/FloatingArrow/get-arrow-position-styles.mjs.map +1 -1
  768. package/esm/utils/Floating/create-context-menu-handlers.mjs +38 -0
  769. package/esm/utils/Floating/create-context-menu-handlers.mjs.map +1 -0
  770. package/lib/components/Blockquote/Blockquote.d.ts +3 -1
  771. package/lib/components/Checkbox/CheckboxIndicator/CheckboxIndicator.d.ts +1 -1
  772. package/lib/components/Combobox/Combobox.context.d.ts +1 -0
  773. package/lib/components/Combobox/Combobox.d.ts +2 -0
  774. package/lib/components/Combobox/Combobox.types.d.ts +2 -0
  775. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +3 -1
  776. package/lib/components/Input/Input.d.ts +5 -1
  777. package/lib/components/MaskInput/use-mask-input-props.d.ts +3 -0
  778. package/lib/components/Menu/Menu.context.d.ts +5 -0
  779. package/lib/components/Menu/Menu.d.ts +41 -1
  780. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.d.ts +5 -0
  781. package/lib/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.d.ts +14 -0
  782. package/lib/components/Menu/MenuCheckboxItem/MenuCheckboxItem.d.ts +37 -0
  783. package/lib/components/Menu/MenuContextMenu/MenuContextMenu.d.ts +10 -0
  784. package/lib/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  785. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.context.d.ts +5 -0
  786. package/lib/components/Menu/MenuRadioGroup/MenuRadioGroup.d.ts +14 -0
  787. package/lib/components/Menu/MenuRadioItem/MenuRadioItem.d.ts +35 -0
  788. package/lib/components/Menu/MenuSearch/MenuSearch.d.ts +19 -0
  789. package/lib/components/Menu/MenuSelectableItem/MenuSelectableItem.d.ts +20 -0
  790. package/lib/components/Menu/MenuSubItem/MenuSubItem.d.ts +1 -1
  791. package/lib/components/Menu/index.d.ts +13 -1
  792. package/lib/components/Menu/use-menu-type-ahead.d.ts +7 -0
  793. package/lib/components/OverflowList/OverflowList.d.ts +7 -2
  794. package/lib/components/Pagination/Pagination.context.d.ts +1 -0
  795. package/lib/components/Pagination/Pagination.d.ts +8 -0
  796. package/lib/components/Pagination/PaginationLabel/PaginationLabel.d.ts +22 -0
  797. package/lib/components/Pagination/PaginationRoot/PaginationRoot.d.ts +3 -1
  798. package/lib/components/Pagination/index.d.ts +3 -1
  799. package/lib/components/Popover/Popover.d.ts +6 -1
  800. package/lib/components/Popover/PopoverContextMenu/PopoverContextMenu.d.ts +10 -0
  801. package/lib/components/Popover/index.d.ts +3 -1
  802. package/lib/components/Popover/use-popover.d.ts +1 -3
  803. package/lib/components/Radio/RadioIndicator/RadioIndicator.d.ts +1 -1
  804. package/lib/components/Splitter/GripIcon.d.ts +3 -0
  805. package/lib/components/Splitter/Splitter.context.d.ts +9 -0
  806. package/lib/components/Splitter/Splitter.d.ts +57 -0
  807. package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +30 -0
  808. package/lib/components/Splitter/index.d.ts +18 -0
  809. package/lib/components/Text/Text.d.ts +3 -1
  810. package/lib/components/Textarea/Textarea.d.ts +4 -0
  811. package/lib/components/Tree/FlatTreeNode.d.ts +5 -1
  812. package/lib/components/Tree/Tree.d.ts +2 -0
  813. package/lib/components/Tree/flatten-tree-data/flatten-tree-data.d.ts +10 -0
  814. package/lib/components/Tree/index.d.ts +1 -1
  815. package/lib/components/Tree/use-tree-node-drag-drop.d.ts +2 -1
  816. package/lib/components/index.d.ts +1 -0
  817. package/lib/utils/Floating/FloatingArrow/get-arrow-position-styles.d.ts +4 -0
  818. package/lib/utils/Floating/create-context-menu-handlers.d.ts +18 -0
  819. package/lib/utils/Floating/index.d.ts +1 -0
  820. package/lib/utils/Floating/types.d.ts +1 -1
  821. package/package.json +2 -2
  822. package/styles/Blockquote.css +1 -0
  823. package/styles/Blockquote.layer.css +1 -0
  824. package/styles/Combobox.css +8 -0
  825. package/styles/Combobox.layer.css +8 -0
  826. package/styles/Input.css +25 -4
  827. package/styles/Input.layer.css +25 -4
  828. package/styles/Menu.css +41 -2
  829. package/styles/Menu.layer.css +41 -2
  830. package/styles/Pagination.css +33 -0
  831. package/styles/Pagination.layer.css +33 -0
  832. package/styles/Splitter.css +76 -0
  833. package/styles/Splitter.layer.css +77 -0
  834. package/styles/Stepper.css +1 -5
  835. package/styles/Stepper.layer.css +1 -5
  836. package/styles/Table.css +1 -5
  837. package/styles/Table.layer.css +1 -5
  838. package/styles/Tabs.css +13 -28
  839. package/styles/Tabs.layer.css +13 -28
  840. package/styles/Text.css +3 -2
  841. package/styles/Text.layer.css +3 -2
  842. package/styles/Timeline.css +14 -42
  843. package/styles/Timeline.layer.css +14 -42
  844. package/styles/Tree.css +55 -11
  845. package/styles/Tree.layer.css +55 -11
  846. package/styles/Typography.css +1 -1
  847. package/styles/Typography.layer.css +1 -1
  848. package/styles/UnstyledButton.css +1 -5
  849. package/styles/UnstyledButton.layer.css +1 -5
  850. package/styles.css +274 -105
  851. package/styles.layer.css +274 -105
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.mjs","names":[],"sources":["../../../src/components/Popover/use-popover.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport {\n arrow,\n autoUpdate,\n flip,\n hide,\n inline,\n limitShift,\n Middleware,\n offset,\n shift,\n size,\n useFloating,\n UseFloatingReturn,\n} from '@floating-ui/react';\nimport { useDidUpdate, useIsomorphicEffect, useUncontrolled } from '@mantine/hooks';\nimport { useMantineEnv } from '../../core';\nimport { FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from '../../utils/Floating';\nimport { PopoverMiddlewares, PopoverWidth } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n onPositionChange?: (position: FloatingPosition) => void;\n opened: boolean | undefined;\n defaultOpened: boolean | undefined;\n onChange?: (opened: boolean) => void;\n onClose?: () => void;\n onDismiss?: () => void;\n onOpen?: () => void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares | undefined;\n arrowRef: React.RefObject<HTMLDivElement | null>;\n arrowOffset: number;\n strategy?: FloatingStrategy;\n dropdownVisible: boolean;\n setDropdownVisible: (visible: boolean) => void;\n positionRef: React.RefObject<FloatingPosition>;\n disabled: boolean | undefined;\n preventPositionChangeWhenVisible: boolean | undefined;\n keepMounted: boolean | undefined;\n}\n\nfunction getDefaultMiddlewares(middlewares: PopoverMiddlewares | undefined): PopoverMiddlewares {\n if (middlewares === undefined) {\n return { shift: true, flip: true };\n }\n\n const result = { ...middlewares };\n if (middlewares.shift === undefined) {\n result.shift = true;\n }\n\n if (middlewares.flip === undefined) {\n result.flip = true;\n }\n\n return result;\n}\n\nfunction getPopoverMiddlewares(\n options: UsePopoverOptions,\n getFloating: () => UseFloatingReturn<Element>,\n env: 'test' | 'default'\n) {\n const middlewaresOptions = getDefaultMiddlewares(options.middlewares);\n const middlewares: Middleware[] = [offset(options.offset), hide()];\n\n if (options.dropdownVisible && env !== 'test' && options.preventPositionChangeWhenVisible) {\n middlewaresOptions.flip = false;\n }\n\n if (middlewaresOptions.flip) {\n middlewares.push(\n typeof middlewaresOptions.flip === 'boolean' ? flip() : flip(middlewaresOptions.flip)\n );\n }\n\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === 'boolean'\n ? { limiter: limitShift(), padding: 5 }\n : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }\n )\n );\n }\n\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === 'boolean' ? inline() : inline(middlewaresOptions.inline)\n );\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n if (middlewaresOptions.size || options.width === 'target') {\n middlewares.push(\n size({\n ...(typeof middlewaresOptions.size === 'boolean' ? {} : middlewaresOptions.size),\n apply({ rects, availableWidth, availableHeight, ...rest }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n\n if (middlewaresOptions.size) {\n // If custom apply function is given use that else set defaults\n if (typeof middlewaresOptions.size === 'object' && !!middlewaresOptions.size.apply) {\n middlewaresOptions.size.apply({ rects, availableWidth, availableHeight, ...rest });\n } else {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`,\n });\n }\n }\n\n if (options.width === 'target') {\n Object.assign(styles, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n })\n );\n }\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const env = useMantineEnv();\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const previouslyOpened = useRef(_opened);\n\n const onClose = () => {\n if (_opened && !options.disabled) {\n setOpened(false);\n }\n };\n\n const onToggle = () => {\n if (!options.disabled) {\n setOpened(!_opened);\n }\n };\n\n const floating: UseFloatingReturn<Element> = useFloating({\n strategy: options.strategy,\n placement: options.preventPositionChangeWhenVisible\n ? options.positionRef.current\n : options.position,\n middleware: getPopoverMiddlewares(options, () => floating, env),\n whileElementsMounted: !options.keepMounted ? autoUpdate : undefined,\n });\n\n useEffect(() => {\n if (!floating.refs.reference.current || !floating.refs.floating.current) {\n return;\n }\n\n if (_opened) {\n return autoUpdate(\n floating.refs.reference.current,\n floating.refs.floating.current,\n floating.update\n );\n }\n }, [_opened, floating.update]);\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n options.positionRef.current = floating.placement;\n }, [floating.placement, options.preventPositionChangeWhenVisible]);\n\n useDidUpdate(() => {\n if (_opened !== previouslyOpened.current) {\n if (!_opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }\n\n previouslyOpened.current = _opened;\n }, [_opened, options.onClose, options.onOpen]);\n\n useIsomorphicEffect(() => {\n let timeout: number = -1;\n\n if (_opened) {\n // Required to be in timeout to give floating ui render time to flip/shift popover\n timeout = window.setTimeout(() => options.setDropdownVisible(true), 4);\n }\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, [_opened, options.position]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-popover.mjs","names":[],"sources":["../../../src/components/Popover/use-popover.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n arrow,\n autoUpdate,\n flip,\n hide,\n inline,\n limitShift,\n Middleware,\n offset,\n shift,\n size,\n useFloating,\n UseFloatingReturn,\n} from '@floating-ui/react';\nimport { useDidUpdate, useIsomorphicEffect, useUncontrolled } from '@mantine/hooks';\nimport { FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from '../../utils/Floating';\nimport { PopoverMiddlewares, PopoverWidth } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n onPositionChange?: (position: FloatingPosition) => void;\n opened: boolean | undefined;\n defaultOpened: boolean | undefined;\n onChange?: (opened: boolean) => void;\n onClose?: () => void;\n onDismiss?: () => void;\n onOpen?: () => void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares | undefined;\n arrowRef: React.RefObject<HTMLDivElement | null>;\n arrowOffset: number;\n strategy?: FloatingStrategy;\n disabled: boolean | undefined;\n preventPositionChangeWhenVisible: boolean | undefined;\n keepMounted: boolean | undefined;\n}\n\nfunction getDefaultMiddlewares(middlewares: PopoverMiddlewares | undefined): PopoverMiddlewares {\n if (middlewares === undefined) {\n return { shift: true, flip: true };\n }\n\n const result = { ...middlewares };\n if (middlewares.shift === undefined) {\n result.shift = true;\n }\n\n if (middlewares.flip === undefined) {\n result.flip = true;\n }\n\n return result;\n}\n\nfunction getPopoverMiddlewares(\n options: UsePopoverOptions,\n getFloating: () => UseFloatingReturn<Element>,\n disableFlip: boolean,\n lockEnabled: boolean\n) {\n const middlewaresOptions = getDefaultMiddlewares(options.middlewares);\n const middlewares: Middleware[] = [offset(options.offset), hide()];\n\n if (middlewaresOptions.flip && !disableFlip) {\n const userFlip = typeof middlewaresOptions.flip === 'boolean' ? {} : middlewaresOptions.flip;\n const flipOptions = lockEnabled\n ? { fallbackStrategy: 'initialPlacement' as const, ...userFlip }\n : userFlip;\n middlewares.push(flip(flipOptions));\n }\n\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === 'boolean'\n ? { limiter: limitShift(), padding: 5 }\n : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }\n )\n );\n }\n\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === 'boolean' ? inline() : inline(middlewaresOptions.inline)\n );\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n if (middlewaresOptions.size || options.width === 'target') {\n middlewares.push(\n size({\n ...(typeof middlewaresOptions.size === 'boolean' ? {} : middlewaresOptions.size),\n apply({ rects, availableWidth, availableHeight, ...rest }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n\n if (middlewaresOptions.size) {\n // If custom apply function is given use that else set defaults\n if (typeof middlewaresOptions.size === 'object' && !!middlewaresOptions.size.apply) {\n middlewaresOptions.size.apply({ rects, availableWidth, availableHeight, ...rest });\n } else {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`,\n });\n }\n }\n\n if (options.width === 'target') {\n Object.assign(styles, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n })\n );\n }\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const previouslyOpened = useRef(_opened);\n\n const [lockedPlacement, setLockedPlacement] = useState<FloatingPosition | null>(null);\n const lockEnabled = options.preventPositionChangeWhenVisible !== false;\n\n const wasOpenedRef = useRef(_opened);\n if (_opened !== wasOpenedRef.current) {\n wasOpenedRef.current = _opened;\n if (_opened && lockedPlacement !== null) {\n setLockedPlacement(null);\n }\n }\n\n const resetLockedPlacement = useCallback(() => setLockedPlacement(null), []);\n\n const onClose = () => {\n if (_opened && !options.disabled) {\n setOpened(false);\n }\n };\n\n const onToggle = () => {\n if (!options.disabled) {\n setOpened(!_opened);\n }\n };\n\n const floating: UseFloatingReturn<Element> = useFloating({\n open: _opened,\n strategy: options.strategy,\n placement: lockEnabled ? (lockedPlacement ?? options.position) : options.position,\n middleware: getPopoverMiddlewares(\n options,\n () => floating,\n lockEnabled && lockedPlacement !== null,\n lockEnabled\n ),\n whileElementsMounted: !options.keepMounted ? autoUpdate : undefined,\n });\n\n useEffect(() => {\n if (!floating.refs.reference.current || !floating.refs.floating.current) {\n return;\n }\n\n if (_opened) {\n return autoUpdate(\n floating.refs.reference.current,\n floating.refs.floating.current,\n floating.update\n );\n }\n }, [_opened, floating.update]);\n\n const measuredAfterShowRef = useRef(false);\n\n useIsomorphicEffect(() => {\n if (!_opened) {\n measuredAfterShowRef.current = false;\n return;\n }\n\n if (!lockEnabled || lockedPlacement !== null) {\n return;\n }\n\n const flEl = floating.refs.floating.current as HTMLElement | null;\n if (!flEl || flEl.offsetHeight === 0 || flEl.offsetWidth === 0) {\n return;\n }\n\n if (!measuredAfterShowRef.current) {\n measuredAfterShowRef.current = true;\n floating.update();\n return;\n }\n\n if (floating.isPositioned) {\n setLockedPlacement(floating.placement);\n }\n }, [\n lockEnabled,\n _opened,\n floating.isPositioned,\n floating.placement,\n lockedPlacement,\n floating.update,\n ]);\n\n const previousPlacementRef = useRef(floating.placement);\n useIsomorphicEffect(() => {\n if (previousPlacementRef.current !== floating.placement) {\n previousPlacementRef.current = floating.placement;\n options.onPositionChange?.(floating.placement);\n }\n }, [floating.placement]);\n\n useDidUpdate(() => {\n if (_opened !== previouslyOpened.current) {\n if (!_opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }\n\n previouslyOpened.current = _opened;\n }, [_opened, options.onClose, options.onOpen]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n resetLockedPlacement,\n };\n}\n"],"mappings":"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"}
@@ -11,9 +11,9 @@ import { extractStyleProps } from "../../core/Box/style-props/extract-style-prop
11
11
  import { factory } from "../../core/factory/factory.mjs";
12
12
  import { Box } from "../../core/Box/Box.mjs";
13
13
  import { InlineInput } from "../../utils/InlineInput/InlineInput.mjs";
14
+ import { RadioIcon } from "./RadioIcon.mjs";
14
15
  import { RadioGroup, RadioGroupContext } from "./RadioGroup/RadioGroup.mjs";
15
16
  import { RadioCard } from "./RadioCard/RadioCard.mjs";
16
- import { RadioIcon } from "./RadioIcon.mjs";
17
17
  import { RadioIndicator } from "./RadioIndicator/RadioIndicator.mjs";
18
18
  import Radio_module_default from "./Radio.module.mjs";
19
19
  import { use } from "react";
@@ -9,8 +9,8 @@ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs"
9
9
  import { useStyles } from "../../../core/styles-api/use-styles/use-styles.mjs";
10
10
  import { factory } from "../../../core/factory/factory.mjs";
11
11
  import { Box } from "../../../core/Box/Box.mjs";
12
- import { RadioCardContext } from "../RadioCard/RadioCard.mjs";
13
12
  import { RadioIcon } from "../RadioIcon.mjs";
13
+ import { RadioCardContext } from "../RadioCard/RadioCard.mjs";
14
14
  import RadioIndicator_module_default from "./RadioIndicator.module.mjs";
15
15
  import { use } from "react";
16
16
  import { jsx } from "react/jsx-runtime";
@@ -26,7 +26,7 @@ const varsResolver = createVarsResolver((theme, { radius, color, size, iconColor
26
26
  "--radio-size": getSize(size, "radio-size"),
27
27
  "--radio-radius": radius === void 0 ? void 0 : getRadius(radius),
28
28
  "--radio-color": variant === "outline" ? outlineColor : getThemeColor(color, theme),
29
- "--radio-icon-size": getSize(size, "radio-icon-size"),
29
+ "--radio-icon-size": typeof size === "number" ? `calc(${getSize(size, "radio-size")} * 0.4)` : getSize(size, "radio-icon-size"),
30
30
  "--radio-icon-color": iconColor ? getThemeColor(iconColor, theme) : getAutoContrastValue(autoContrast, theme) ? getContrastColor({
31
31
  color,
32
32
  theme,
@@ -1 +1 @@
1
- {"version":3,"file":"RadioIndicator.mjs","names":["classes"],"sources":["../../../../src/components/Radio/RadioIndicator/RadioIndicator.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n parseThemeColor,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { RadioCardContext } from '../RadioCard/RadioCard';\nimport { RadioIcon, RadioIconProps } from '../RadioIcon';\nimport classes from './RadioIndicator.module.css';\n\nexport type RadioIndicatorStylesNames = 'indicator' | 'icon';\nexport type RadioIndicatorVariant = 'filled' | 'outline';\nexport type RadioIndicatorCssVariables = {\n indicator:\n | '--radio-size'\n | '--radio-radius'\n | '--radio-color'\n | '--radio-icon-color'\n | '--radio-icon-size';\n};\n\nexport interface RadioIndicatorProps\n extends BoxProps, StylesApiProps<RadioIndicatorFactory>, ElementProps<'div'> {\n /** Key of theme.colors or any valid CSS color to set indicator background color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the component @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of theme.colors or any valid CSS color to set icon color. When not set, icon color is determined automatically based on theme.autoContrast setting */\n iconColor?: MantineColor;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** A component that replaces the default radio icon (centered dot) */\n icon?: React.FC<RadioIconProps>;\n\n /** Checked state */\n checked?: boolean;\n\n /** Disabled state */\n disabled?: boolean;\n}\n\nexport type RadioIndicatorFactory = Factory<{\n props: RadioIndicatorProps;\n ref: HTMLDivElement;\n stylesNames: RadioIndicatorStylesNames;\n vars: RadioIndicatorCssVariables;\n variant: RadioIndicatorVariant;\n}>;\n\nconst defaultProps = {\n icon: RadioIcon,\n} satisfies Partial<RadioIndicatorProps>;\n\nconst varsResolver = createVarsResolver<RadioIndicatorFactory>(\n (theme, { radius, color, size, iconColor, variant, autoContrast }) => {\n const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });\n const outlineColor =\n parsedColor.isThemeColor && parsedColor.shade === undefined\n ? `var(--mantine-color-${parsedColor.color}-outline)`\n : parsedColor.color;\n\n return {\n indicator: {\n '--radio-size': getSize(size, 'radio-size'),\n '--radio-radius': radius === undefined ? undefined : getRadius(radius),\n '--radio-color': variant === 'outline' ? outlineColor : getThemeColor(color, theme),\n '--radio-icon-size': getSize(size, 'radio-icon-size'),\n '--radio-icon-color': iconColor\n ? getThemeColor(iconColor, theme)\n : getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n };\n }\n);\n\nexport const RadioIndicator = factory<RadioIndicatorFactory>((_props) => {\n const props = useProps('RadioIndicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n icon: Icon,\n radius,\n color,\n iconColor,\n autoContrast,\n checked,\n mod,\n variant,\n disabled,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RadioIndicatorFactory>({\n name: 'RadioIndicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'indicator',\n });\n\n const ctx = use(RadioCardContext);\n const _checked = typeof checked === 'boolean' ? checked : ctx?.checked || false;\n\n return (\n <Box\n {...getStyles('indicator', { variant })}\n variant={variant}\n mod={[{ checked: _checked, disabled }, mod]}\n {...others}\n >\n <Icon {...getStyles('icon')} />\n </Box>\n );\n});\n\nRadioIndicator.displayName = '@mantine/core/RadioIndicator';\nRadioIndicator.classes = classes;\nRadioIndicator.varsResolver = varsResolver;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuEA,MAAM,eAAe,EACnB,MAAM,UACR;AAEA,MAAM,eAAe,oBAClB,OAAO,EAAE,QAAQ,OAAO,MAAM,WAAW,SAAS,mBAAmB;CACpE,MAAM,cAAc,gBAAgB;EAAE,OAAO,SAAS,MAAM;EAAc;CAAM,CAAC;CACjF,MAAM,eACJ,YAAY,gBAAgB,YAAY,UAAU,KAAA,IAC9C,uBAAuB,YAAY,MAAM,aACzC,YAAY;CAElB,OAAO,EACL,WAAW;EACT,gBAAgB,QAAQ,MAAM,YAAY;EAC1C,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,MAAM;EACrE,iBAAiB,YAAY,YAAY,eAAe,cAAc,OAAO,KAAK;EAClF,qBAAqB,QAAQ,MAAM,iBAAiB;EACpD,sBAAsB,YAClB,cAAc,WAAW,KAAK,IAC9B,qBAAqB,cAAc,KAAK,IACtC,iBAAiB;GAAE;GAAO;GAAO;EAAa,CAAC,IAC/C,KAAA;CACR,EACF;AACF,CACF;AAEA,MAAa,iBAAiB,SAAgC,WAAW;CACvE,MAAM,QAAQ,SAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MAAM,MACN,QACA,OACA,WACA,cACA,SACA,KACA,SACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAiC;EACjD,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,MAAM,IAAI,gBAAgB;CAChC,MAAM,WAAW,OAAO,YAAY,YAAY,UAAU,KAAK,WAAW;CAE1E,OACE,oBAAC,KAAD;EACE,GAAI,UAAU,aAAa,EAAE,QAAQ,CAAC;EAC7B;EACT,KAAK,CAAC;GAAE,SAAS;GAAU;EAAS,GAAG,GAAG;EAC1C,GAAI;YAEJ,oBAAC,MAAD,EAAM,GAAI,UAAU,MAAM,EAAI,CAAA;CAC3B,CAAA;AAET,CAAC;AAED,eAAe,cAAc;AAC7B,eAAe,UAAUA;AACzB,eAAe,eAAe"}
1
+ {"version":3,"file":"RadioIndicator.mjs","names":["classes"],"sources":["../../../../src/components/Radio/RadioIndicator/RadioIndicator.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n parseThemeColor,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { RadioCardContext } from '../RadioCard/RadioCard';\nimport { RadioIcon, RadioIconProps } from '../RadioIcon';\nimport classes from './RadioIndicator.module.css';\n\nexport type RadioIndicatorStylesNames = 'indicator' | 'icon';\nexport type RadioIndicatorVariant = 'filled' | 'outline';\nexport type RadioIndicatorCssVariables = {\n indicator:\n | '--radio-size'\n | '--radio-radius'\n | '--radio-color'\n | '--radio-icon-color'\n | '--radio-icon-size';\n};\n\nexport interface RadioIndicatorProps\n extends BoxProps, StylesApiProps<RadioIndicatorFactory>, ElementProps<'div'> {\n /** Key of theme.colors or any valid CSS color to set indicator background color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the component @default 'sm' */\n size?: MantineSize | (string & {}) | number;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of theme.colors or any valid CSS color to set icon color. When not set, icon color is determined automatically based on theme.autoContrast setting */\n iconColor?: MantineColor;\n\n /** If set, adjusts text color based on background color for `filled` variant */\n autoContrast?: boolean;\n\n /** A component that replaces the default radio icon (centered dot) */\n icon?: React.FC<RadioIconProps>;\n\n /** Checked state */\n checked?: boolean;\n\n /** Disabled state */\n disabled?: boolean;\n}\n\nexport type RadioIndicatorFactory = Factory<{\n props: RadioIndicatorProps;\n ref: HTMLDivElement;\n stylesNames: RadioIndicatorStylesNames;\n vars: RadioIndicatorCssVariables;\n variant: RadioIndicatorVariant;\n}>;\n\nconst defaultProps = {\n icon: RadioIcon,\n} satisfies Partial<RadioIndicatorProps>;\n\nconst varsResolver = createVarsResolver<RadioIndicatorFactory>(\n (theme, { radius, color, size, iconColor, variant, autoContrast }) => {\n const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });\n const outlineColor =\n parsedColor.isThemeColor && parsedColor.shade === undefined\n ? `var(--mantine-color-${parsedColor.color}-outline)`\n : parsedColor.color;\n\n return {\n indicator: {\n '--radio-size': getSize(size, 'radio-size'),\n '--radio-radius': radius === undefined ? undefined : getRadius(radius),\n '--radio-color': variant === 'outline' ? outlineColor : getThemeColor(color, theme),\n '--radio-icon-size':\n typeof size === 'number'\n ? `calc(${getSize(size, 'radio-size')} * 0.4)`\n : getSize(size, 'radio-icon-size'),\n '--radio-icon-color': iconColor\n ? getThemeColor(iconColor, theme)\n : getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n };\n }\n);\n\nexport const RadioIndicator = factory<RadioIndicatorFactory>((_props) => {\n const props = useProps('RadioIndicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n icon: Icon,\n radius,\n color,\n iconColor,\n autoContrast,\n checked,\n mod,\n variant,\n disabled,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<RadioIndicatorFactory>({\n name: 'RadioIndicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'indicator',\n });\n\n const ctx = use(RadioCardContext);\n const _checked = typeof checked === 'boolean' ? checked : ctx?.checked || false;\n\n return (\n <Box\n {...getStyles('indicator', { variant })}\n variant={variant}\n mod={[{ checked: _checked, disabled }, mod]}\n {...others}\n >\n <Icon {...getStyles('icon')} />\n </Box>\n );\n});\n\nRadioIndicator.displayName = '@mantine/core/RadioIndicator';\nRadioIndicator.classes = classes;\nRadioIndicator.varsResolver = varsResolver;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuEA,MAAM,eAAe,EACnB,MAAM,UACR;AAEA,MAAM,eAAe,oBAClB,OAAO,EAAE,QAAQ,OAAO,MAAM,WAAW,SAAS,mBAAmB;CACpE,MAAM,cAAc,gBAAgB;EAAE,OAAO,SAAS,MAAM;EAAc;CAAM,CAAC;CACjF,MAAM,eACJ,YAAY,gBAAgB,YAAY,UAAU,KAAA,IAC9C,uBAAuB,YAAY,MAAM,aACzC,YAAY;CAElB,OAAO,EACL,WAAW;EACT,gBAAgB,QAAQ,MAAM,YAAY;EAC1C,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAY,UAAU,MAAM;EACrE,iBAAiB,YAAY,YAAY,eAAe,cAAc,OAAO,KAAK;EAClF,qBACE,OAAO,SAAS,WACZ,QAAQ,QAAQ,MAAM,YAAY,EAAE,WACpC,QAAQ,MAAM,iBAAiB;EACrC,sBAAsB,YAClB,cAAc,WAAW,KAAK,IAC9B,qBAAqB,cAAc,KAAK,IACtC,iBAAiB;GAAE;GAAO;GAAO;EAAa,CAAC,IAC/C,KAAA;CACR,EACF;AACF,CACF;AAEA,MAAa,iBAAiB,SAAgC,WAAW;CACvE,MAAM,QAAQ,SAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MAAM,MACN,QACA,OACA,WACA,cACA,SACA,KACA,SACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAiC;EACjD,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,MAAM,IAAI,gBAAgB;CAChC,MAAM,WAAW,OAAO,YAAY,YAAY,UAAU,KAAK,WAAW;CAE1E,OACE,oBAAC,KAAD;EACE,GAAI,UAAU,aAAa,EAAE,QAAQ,CAAC;EAC7B;EACT,KAAK,CAAC;GAAE,SAAS;GAAU;EAAS,GAAG,GAAG;EAC1C,GAAI;YAEJ,oBAAC,MAAD,EAAM,GAAI,UAAU,MAAM,EAAI,CAAA;CAC3B,CAAA;AAET,CAAC;AAED,eAAe,cAAc;AAC7B,eAAe,UAAUA;AACzB,eAAe,eAAe"}
@@ -25,7 +25,7 @@ const Select = genericFactory((_props) => {
25
25
  "InputWrapper",
26
26
  "Select"
27
27
  ], defaultProps, _props);
28
- const { classNames, styles, unstyled, vars, dropdownOpened, defaultDropdownOpened, onDropdownClose, onDropdownOpen, onFocus, onBlur, onClick, onChange, data, value, defaultValue, selectFirstOptionOnChange, selectFirstOptionOnDropdownOpen, onOptionSubmit, comboboxProps, readOnly, disabled, filter, limit, withScrollArea, maxDropdownHeight, size, searchable, rightSection, checkIconPosition, withCheckIcon, withAlignedLabels, nothingFoundMessage, name, form, searchValue, defaultSearchValue, onSearchChange, allowDeselect, error, rightSectionPointerEvents, id, clearable, clearSectionMode, clearButtonProps, hiddenInputProps, renderOption, onClear, autoComplete, scrollAreaProps, __defaultRightSection, __clearSection, __clearable, chevronColor, autoSelectOnBlur, openOnFocus, attributes, ...others } = props;
28
+ const { classNames, styles, unstyled, vars, dropdownOpened, defaultDropdownOpened, onDropdownClose, onDropdownOpen, onFocus, onBlur, onClick, onChange, data, value, defaultValue, selectFirstOptionOnChange, selectFirstOptionOnDropdownOpen, onOptionSubmit, comboboxProps, readOnly, disabled, filter, limit, withScrollArea, maxDropdownHeight, floatingHeight, size, searchable, rightSection, checkIconPosition, withCheckIcon, withAlignedLabels, nothingFoundMessage, name, form, searchValue, defaultSearchValue, onSearchChange, allowDeselect, error, rightSectionPointerEvents, id, clearable, clearSectionMode, clearButtonProps, hiddenInputProps, renderOption, onClear, autoComplete, scrollAreaProps, __defaultRightSection, __clearSection, __clearable, chevronColor, autoSelectOnBlur, openOnFocus, attributes, ...others } = props;
29
29
  const parsedData = useMemo(() => getParsedComboboxData(data), [data]);
30
30
  const retainedSelectedOptions = useRef({});
31
31
  const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);
@@ -99,6 +99,7 @@ const Select = genericFactory((_props) => {
99
99
  readOnly,
100
100
  size,
101
101
  attributes,
102
+ floatingHeight,
102
103
  keepMounted: autoSelectOnBlur,
103
104
  onOptionSubmit: (val) => {
104
105
  onOptionSubmit?.(val);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.mjs","names":["useId"],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useId, usePrevious, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n Factory,\n genericFactory,\n MantineColor,\n Primitive,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n} from '../../core';\nimport {\n Combobox,\n ComboboxItem,\n ComboboxLikeProps,\n ComboboxLikeRenderOptionInput,\n ComboboxLikeStylesNames,\n getOptionsLockup,\n getParsedComboboxData,\n OptionsDropdown,\n OptionsFilter,\n useCombobox,\n} from '../Combobox';\nimport {\n __BaseInputProps,\n __InputStylesNames,\n ClearSectionMode,\n InputClearButtonProps,\n InputVariant,\n} from '../Input';\nimport { InputBase } from '../InputBase';\nimport { ScrollAreaProps } from '../ScrollArea';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps<Value extends Primitive = string>\n extends\n BoxProps,\n __BaseInputProps,\n ComboboxLikeProps<Value>,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: Value | null;\n\n /** Uncontrolled component default value */\n defaultValue?: Value | null;\n\n /** Called when value changes */\n onChange?: (value: Value | null, option: ComboboxItem<Value>) => void;\n\n /** Called when the clear button is clicked */\n onClear?: () => void;\n\n /** Determines whether the select should be searchable @default false */\n searchable?: boolean;\n\n /** Displays check icon near the selected option label @default true */\n withCheckIcon?: boolean;\n\n /** Aligns unchecked labels with the checked one @default false */\n withAlignedLabels?: boolean;\n\n /** Position of the check icon relative to the option label @default 'left' */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no options match the search query or when there is no data */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Allows deselecting the selected option by clicking it @default true */\n allowDeselect?: boolean;\n\n /** Displays clear button in the right section when component has value @default false */\n clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n clearSectionMode?: ClearSectionMode;\n\n /** Props passed down to the clear button */\n clearButtonProps?: InputClearButtonProps;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;\n\n /** A function to render content of the option, replaces the default content of the option */\n renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem<Value>>) => React.ReactNode;\n\n /** Props passed down to the underlying `ScrollArea` component in the dropdown */\n scrollAreaProps?: ScrollAreaProps;\n\n /** Controls color of the default chevron, by default depends on the color scheme */\n chevronColor?: MantineColor;\n\n /** Automatically selects the highlighted option when input loses focus @default false */\n autoSelectOnBlur?: boolean;\n\n /** Opens dropdown when input receives focus (requires searchable={true}) @default true */\n openOnFocus?: boolean;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n signature: <Value extends Primitive = string>(props: SelectProps<Value>) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n openOnFocus: true,\n} satisfies Partial<SelectProps>;\n\nexport const Select = genericFactory<SelectFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'Select'], defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n selectFirstOptionOnDropdownOpen,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n withAlignedLabels,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearSectionMode,\n clearButtonProps,\n hiddenInputProps,\n renderOption,\n onClear,\n autoComplete,\n scrollAreaProps,\n __defaultRightSection,\n __clearSection,\n __clearable,\n chevronColor,\n autoSelectOnBlur,\n openOnFocus,\n attributes,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const retainedSelectedOptions = useRef<Record<string, ComboboxItem<Primitive>>>({});\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption =\n _value != null\n ? `${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]\n : retainedSelectedOptions.current[`${_value}`]\n : undefined;\n const previousSelectedOption = usePrevious(selectedOption);\n\n const [search, setSearch, searchControlled] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen: () => {\n onDropdownOpen?.();\n if (selectFirstOptionOnDropdownOpen) {\n combobox.selectFirstOption();\n } else {\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n }\n },\n onDropdownClose: () => {\n onDropdownClose?.();\n // Required for autoSelectOnBlur to work correctly\n setTimeout(combobox.resetSelectedOption, 0);\n },\n });\n\n const handleSearchChange = (value: string) => {\n setSearch(value);\n combobox.resetSelectedOption();\n };\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, search]);\n\n useEffect(() => {\n if (value === null) {\n handleSearchChange('');\n }\n\n if (\n value != null &&\n selectedOption &&\n (previousSelectedOption?.value !== selectedOption.value ||\n previousSelectedOption?.label !== selectedOption.label)\n ) {\n handleSearchChange(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n useEffect(() => {\n if (!controlled && !searchControlled) {\n handleSearchChange(\n _value != null\n ? `${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]?.label\n : retainedSelectedOptions.current[`${_value}`]?.label || ''\n : ''\n );\n }\n }, [optionsLockup, _value]);\n\n useEffect(() => {\n if (_value) {\n if (`${_value}` in optionsLockup) {\n retainedSelectedOptions.current[`${_value}`] = optionsLockup[`${_value}`];\n }\n }\n }, [optionsLockup, _value]);\n\n const clearButton = (\n <Combobox.ClearButton\n {...clearButtonProps}\n onClear={() => {\n setValue(null, null);\n handleSearchChange('');\n onClear?.();\n }}\n />\n );\n\n const _clearable = clearable && _value != null && !disabled && !readOnly;\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n attributes={attributes}\n keepMounted={autoSelectOnBlur}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val as any);\n const optionLockup = allowDeselect\n ? `${optionsLockup[val].value}` === `${_value}`\n ? null\n : optionsLockup[val]\n : optionsLockup[val];\n\n const nextValue = optionLockup ? optionLockup.value : null;\n\n nextValue !== _value && setValue(nextValue as any, optionLockup);\n !controlled && handleSearchChange(nextValue != null ? optionLockup?.label || '' : '');\n combobox.closeDropdown();\n }}\n {...comboboxProps}\n >\n <Combobox.Target\n targetType={searchable ? 'input' : 'button'}\n autoComplete={autoComplete}\n withExpandedAttribute\n >\n <InputBase\n id={_id}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n handleSearchChange(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n openOnFocus && !!searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n if (autoSelectOnBlur) {\n combobox.clickSelectedOption();\n }\n\n !!searchable && combobox.closeDropdown();\n const optionLockup =\n _value != null &&\n (`${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]\n : retainedSelectedOptions.current[`${_value}`]);\n handleSearchChange(optionLockup ? optionLockup.label || '' : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n attributes={attributes}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData as any}\n hidden={readOnly || disabled}\n filter={filter as OptionsFilter<Primitive> | undefined}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={!!searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={others.label ? `${_id}-label` : undefined}\n aria-label={others.label ? undefined : others['aria-label']}\n renderOption={renderOption}\n scrollAreaProps={scrollAreaProps}\n />\n </Combobox>\n <Combobox.HiddenInput\n value={_value}\n name={name}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n\nexport namespace Select {\n export type Props<Value extends Primitive = string> = SelectProps<Value>;\n export type StylesNames = SelectStylesNames;\n export type Factory = SelectFactory;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.mjs","names":["useId"],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useId, usePrevious, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n Factory,\n genericFactory,\n MantineColor,\n Primitive,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n} from '../../core';\nimport {\n Combobox,\n ComboboxItem,\n ComboboxLikeProps,\n ComboboxLikeRenderOptionInput,\n ComboboxLikeStylesNames,\n getOptionsLockup,\n getParsedComboboxData,\n OptionsDropdown,\n OptionsFilter,\n useCombobox,\n} from '../Combobox';\nimport {\n __BaseInputProps,\n __InputStylesNames,\n ClearSectionMode,\n InputClearButtonProps,\n InputVariant,\n} from '../Input';\nimport { InputBase } from '../InputBase';\nimport { ScrollAreaProps } from '../ScrollArea';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps<Value extends Primitive = string>\n extends\n BoxProps,\n __BaseInputProps,\n ComboboxLikeProps<Value>,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: Value | null;\n\n /** Uncontrolled component default value */\n defaultValue?: Value | null;\n\n /** Called when value changes */\n onChange?: (value: Value | null, option: ComboboxItem<Value>) => void;\n\n /** Called when the clear button is clicked */\n onClear?: () => void;\n\n /** Determines whether the select should be searchable @default false */\n searchable?: boolean;\n\n /** Displays check icon near the selected option label @default true */\n withCheckIcon?: boolean;\n\n /** Aligns unchecked labels with the checked one @default false */\n withAlignedLabels?: boolean;\n\n /** Position of the check icon relative to the option label @default 'left' */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no options match the search query or when there is no data */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Allows deselecting the selected option by clicking it @default true */\n allowDeselect?: boolean;\n\n /** Displays clear button in the right section when component has value @default false */\n clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n clearSectionMode?: ClearSectionMode;\n\n /** Props passed down to the clear button */\n clearButtonProps?: InputClearButtonProps;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;\n\n /** A function to render content of the option, replaces the default content of the option */\n renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem<Value>>) => React.ReactNode;\n\n /** Props passed down to the underlying `ScrollArea` component in the dropdown */\n scrollAreaProps?: ScrollAreaProps;\n\n /** Controls color of the default chevron, by default depends on the color scheme */\n chevronColor?: MantineColor;\n\n /** Automatically selects the highlighted option when input loses focus @default false */\n autoSelectOnBlur?: boolean;\n\n /** Opens dropdown when input receives focus (requires searchable={true}) @default true */\n openOnFocus?: boolean;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n signature: <Value extends Primitive = string>(props: SelectProps<Value>) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n size: 'sm',\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n openOnFocus: true,\n} satisfies Partial<SelectProps>;\n\nexport const Select = genericFactory<SelectFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'Select'], defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n selectFirstOptionOnDropdownOpen,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n floatingHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n withAlignedLabels,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearSectionMode,\n clearButtonProps,\n hiddenInputProps,\n renderOption,\n onClear,\n autoComplete,\n scrollAreaProps,\n __defaultRightSection,\n __clearSection,\n __clearable,\n chevronColor,\n autoSelectOnBlur,\n openOnFocus,\n attributes,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const retainedSelectedOptions = useRef<Record<string, ComboboxItem<Primitive>>>({});\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption =\n _value != null\n ? `${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]\n : retainedSelectedOptions.current[`${_value}`]\n : undefined;\n const previousSelectedOption = usePrevious(selectedOption);\n\n const [search, setSearch, searchControlled] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen: () => {\n onDropdownOpen?.();\n if (selectFirstOptionOnDropdownOpen) {\n combobox.selectFirstOption();\n } else {\n combobox.updateSelectedOptionIndex('active', { scrollIntoView: true });\n }\n },\n onDropdownClose: () => {\n onDropdownClose?.();\n // Required for autoSelectOnBlur to work correctly\n setTimeout(combobox.resetSelectedOption, 0);\n },\n });\n\n const handleSearchChange = (value: string) => {\n setSearch(value);\n combobox.resetSelectedOption();\n };\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, search]);\n\n useEffect(() => {\n if (value === null) {\n handleSearchChange('');\n }\n\n if (\n value != null &&\n selectedOption &&\n (previousSelectedOption?.value !== selectedOption.value ||\n previousSelectedOption?.label !== selectedOption.label)\n ) {\n handleSearchChange(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n useEffect(() => {\n if (!controlled && !searchControlled) {\n handleSearchChange(\n _value != null\n ? `${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]?.label\n : retainedSelectedOptions.current[`${_value}`]?.label || ''\n : ''\n );\n }\n }, [optionsLockup, _value]);\n\n useEffect(() => {\n if (_value) {\n if (`${_value}` in optionsLockup) {\n retainedSelectedOptions.current[`${_value}`] = optionsLockup[`${_value}`];\n }\n }\n }, [optionsLockup, _value]);\n\n const clearButton = (\n <Combobox.ClearButton\n {...clearButtonProps}\n onClear={() => {\n setValue(null, null);\n handleSearchChange('');\n onClear?.();\n }}\n />\n );\n\n const _clearable = clearable && _value != null && !disabled && !readOnly;\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n attributes={attributes}\n floatingHeight={floatingHeight}\n keepMounted={autoSelectOnBlur}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val as any);\n const optionLockup = allowDeselect\n ? `${optionsLockup[val].value}` === `${_value}`\n ? null\n : optionsLockup[val]\n : optionsLockup[val];\n\n const nextValue = optionLockup ? optionLockup.value : null;\n\n nextValue !== _value && setValue(nextValue as any, optionLockup);\n !controlled && handleSearchChange(nextValue != null ? optionLockup?.label || '' : '');\n combobox.closeDropdown();\n }}\n {...comboboxProps}\n >\n <Combobox.Target\n targetType={searchable ? 'input' : 'button'}\n autoComplete={autoComplete}\n withExpandedAttribute\n >\n <InputBase\n id={_id}\n __defaultRightSection={\n <Combobox.Chevron\n size={size}\n error={error}\n unstyled={unstyled}\n color={chevronColor}\n />\n }\n __clearSection={clearButton}\n __clearable={_clearable}\n __clearSectionMode={clearSectionMode}\n rightSection={rightSection}\n rightSectionPointerEvents={rightSectionPointerEvents || 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n handleSearchChange(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n openOnFocus && !!searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n if (autoSelectOnBlur) {\n combobox.clickSelectedOption();\n }\n\n !!searchable && combobox.closeDropdown();\n const optionLockup =\n _value != null &&\n (`${_value}` in optionsLockup\n ? optionsLockup[`${_value}`]\n : retainedSelectedOptions.current[`${_value}`]);\n handleSearchChange(optionLockup ? optionLockup.label || '' : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n attributes={attributes}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData as any}\n hidden={readOnly || disabled}\n filter={filter as OptionsFilter<Primitive> | undefined}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={!!searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n withAlignedLabels={withAlignedLabels}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={others.label ? `${_id}-label` : undefined}\n aria-label={others.label ? undefined : others['aria-label']}\n renderOption={renderOption}\n scrollAreaProps={scrollAreaProps}\n />\n </Combobox>\n <Combobox.HiddenInput\n value={_value}\n name={name}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n\nexport namespace Select {\n export type Props<Value extends Primitive = string> = SelectProps<Value>;\n export type StylesNames = SelectStylesNames;\n export type Factory = SelectFactory;\n}\n"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region packages/@mantine/core/src/components/Splitter/GripIcon.tsx
5
+ function GripVerticalIcon(props) {
6
+ return /* @__PURE__ */ jsxs("svg", {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: "24",
9
+ height: "24",
10
+ viewBox: "0 0 24 24",
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ strokeWidth: "2",
14
+ strokeLinecap: "round",
15
+ strokeLinejoin: "round",
16
+ ...props,
17
+ children: [
18
+ /* @__PURE__ */ jsx("path", { d: "M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
19
+ /* @__PURE__ */ jsx("path", { d: "M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
20
+ /* @__PURE__ */ jsx("path", { d: "M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
21
+ /* @__PURE__ */ jsx("path", { d: "M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
22
+ /* @__PURE__ */ jsx("path", { d: "M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
23
+ /* @__PURE__ */ jsx("path", { d: "M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" })
24
+ ]
25
+ });
26
+ }
27
+ function GripHorizontalIcon(props) {
28
+ return /* @__PURE__ */ jsxs("svg", {
29
+ xmlns: "http://www.w3.org/2000/svg",
30
+ width: "24",
31
+ height: "24",
32
+ viewBox: "0 0 24 24",
33
+ fill: "none",
34
+ stroke: "currentColor",
35
+ strokeWidth: "2",
36
+ strokeLinecap: "round",
37
+ strokeLinejoin: "round",
38
+ ...props,
39
+ children: [
40
+ /* @__PURE__ */ jsx("path", { d: "M4 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
41
+ /* @__PURE__ */ jsx("path", { d: "M4 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
42
+ /* @__PURE__ */ jsx("path", { d: "M11 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
43
+ /* @__PURE__ */ jsx("path", { d: "M11 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
44
+ /* @__PURE__ */ jsx("path", { d: "M18 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }),
45
+ /* @__PURE__ */ jsx("path", { d: "M18 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" })
46
+ ]
47
+ });
48
+ }
49
+ //#endregion
50
+ export { GripHorizontalIcon, GripVerticalIcon };
51
+
52
+ //# sourceMappingURL=GripIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GripIcon.mjs","names":[],"sources":["../../../src/components/Splitter/GripIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function GripVerticalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n\nexport function GripHorizontalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M4 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M4 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n"],"mappings":";;;;AAEA,SAAgB,iBAAiB,OAA8C;CAC7E,OACE,qBAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,oBAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,oBAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET;AAEA,SAAgB,mBAAmB,OAA8C;CAC/E,OACE,qBAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,oBAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,oBAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,oBAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET"}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { createSafeContext } from "../../core/utils/create-safe-context/create-safe-context.mjs";
3
+ //#region packages/@mantine/core/src/components/Splitter/Splitter.context.ts
4
+ const [SplitterProvider, useSplitterContext] = createSafeContext("Splitter component was not found in the tree");
5
+ //#endregion
6
+ export { SplitterProvider, useSplitterContext };
7
+
8
+ //# sourceMappingURL=Splitter.context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Splitter.context.mjs","names":[],"sources":["../../../src/components/Splitter/Splitter.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { SplitterFactory } from './Splitter';\n\nexport interface SplitterContextValue {\n getStyles: GetStylesApi<SplitterFactory>;\n sizes: number[];\n collapsed: boolean[];\n orientation: 'horizontal' | 'vertical';\n}\n\nexport const [SplitterProvider, useSplitterContext] = createSafeContext<SplitterContextValue>(\n 'Splitter component was not found in the tree'\n);\n"],"mappings":";;;AAUA,MAAa,CAAC,kBAAkB,sBAAsB,kBACpD,8CACF"}
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ import { rem } from "../../core/utils/units-converters/rem.mjs";
3
+ import { createVarsResolver } from "../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs";
4
+ import { getThemeColor } from "../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs";
5
+ import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
6
+ import { useStyles } from "../../core/styles-api/use-styles/use-styles.mjs";
7
+ import { factory } from "../../core/factory/factory.mjs";
8
+ import { Box } from "../../core/Box/Box.mjs";
9
+ import { useDirection } from "../../core/DirectionProvider/DirectionProvider.mjs";
10
+ import { GripHorizontalIcon, GripVerticalIcon } from "./GripIcon.mjs";
11
+ import { SplitterProvider } from "./Splitter.context.mjs";
12
+ import Splitter_module_default from "./Splitter.module.mjs";
13
+ import { SplitterPane } from "./SplitterPane/SplitterPane.mjs";
14
+ import { Children, cloneElement, createElement, useImperativeHandle } from "react";
15
+ import { useMergedRef, useSplitter } from "@mantine/hooks";
16
+ import { jsx } from "react/jsx-runtime";
17
+ //#region packages/@mantine/core/src/components/Splitter/Splitter.tsx
18
+ const defaultProps = {
19
+ orientation: "horizontal",
20
+ lineSize: 2,
21
+ withHandle: true
22
+ };
23
+ const varsResolver = createVarsResolver((theme, { lineSize, handleColor }) => ({ root: {
24
+ "--splitter-line-size": rem(lineSize),
25
+ "--splitter-handle-color": handleColor ? getThemeColor(handleColor, theme) : void 0
26
+ } }));
27
+ const Splitter = factory((_props) => {
28
+ const props = useProps("Splitter", defaultProps, _props);
29
+ const { orientation, sizes: controlledSizes, onSizeChange, onResizeStart, onResizeEnd, onCollapseChange, redistribute, step, shiftStep, lineSize, handleColor, handleIcon, withHandle, splitterRef, children, className, classNames, style, styles, unstyled, vars, mod, attributes, ref, ...others } = props;
30
+ const { dir } = useDirection();
31
+ const paneChildren = Children.toArray(children);
32
+ const splitter = useSplitter({
33
+ panels: paneChildren.map((child) => ({
34
+ defaultSize: child.props.defaultSize,
35
+ min: child.props.min,
36
+ max: child.props.max,
37
+ collapsible: child.props.collapsible,
38
+ collapseThreshold: child.props.collapseThreshold
39
+ })),
40
+ orientation,
41
+ sizes: controlledSizes,
42
+ onSizeChange,
43
+ onResizeStart,
44
+ onResizeEnd,
45
+ onCollapseChange,
46
+ redistribute,
47
+ step,
48
+ shiftStep,
49
+ dir
50
+ });
51
+ useImperativeHandle(splitterRef, () => splitter, [splitter]);
52
+ const mergedRef = useMergedRef(ref, splitter.ref);
53
+ const getStyles = useStyles({
54
+ name: "Splitter",
55
+ classes: Splitter_module_default,
56
+ props,
57
+ className,
58
+ style,
59
+ classNames,
60
+ styles,
61
+ unstyled,
62
+ attributes,
63
+ vars,
64
+ varsResolver
65
+ });
66
+ const thumbIcon = handleIcon !== void 0 ? handleIcon : orientation === "vertical" ? /* @__PURE__ */ jsx(GripHorizontalIcon, {}) : /* @__PURE__ */ jsx(GripVerticalIcon, {});
67
+ const items = [];
68
+ paneChildren.forEach((child, index) => {
69
+ if (index > 0) {
70
+ const handleProps = splitter.getHandleProps({ index: index - 1 });
71
+ const isActive = splitter.activeHandle === index - 1;
72
+ items.push(/* @__PURE__ */ createElement(Box, {
73
+ ...getStyles("handle"),
74
+ key: `handle-${index - 1}`,
75
+ ...handleProps
76
+ }, withHandle && /* @__PURE__ */ jsx("div", {
77
+ ...getStyles("thumb"),
78
+ "data-orientation": orientation,
79
+ "data-active": isActive || void 0,
80
+ children: thumbIcon
81
+ })));
82
+ }
83
+ items.push(cloneElement(child, {
84
+ key: `pane-${index}`,
85
+ __index: index
86
+ }));
87
+ });
88
+ return /* @__PURE__ */ jsx(SplitterProvider, {
89
+ value: {
90
+ getStyles,
91
+ sizes: splitter.sizes,
92
+ collapsed: splitter.collapsed,
93
+ orientation
94
+ },
95
+ children: /* @__PURE__ */ jsx(Box, {
96
+ ref: mergedRef,
97
+ ...getStyles("root"),
98
+ mod: [{ orientation }, mod],
99
+ ...others,
100
+ children: items
101
+ })
102
+ });
103
+ });
104
+ Splitter.classes = Splitter_module_default;
105
+ Splitter.varsResolver = varsResolver;
106
+ Splitter.displayName = "@mantine/core/Splitter";
107
+ Splitter.Pane = SplitterPane;
108
+ //#endregion
109
+ export { Splitter };
110
+
111
+ //# sourceMappingURL=Splitter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Splitter.mjs","names":["classes"],"sources":["../../../src/components/Splitter/Splitter.tsx"],"sourcesContent":["import { Children, cloneElement, useImperativeHandle } from 'react';\nimport {\n useMergedRef,\n useSplitter,\n UseSplitterRedistributeFn,\n UseSplitterReturnValue,\n} from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { GripHorizontalIcon, GripVerticalIcon } from './GripIcon';\nimport { SplitterProvider } from './Splitter.context';\nimport {\n SplitterPane,\n SplitterPaneProps,\n SplitterPaneStylesNames,\n} from './SplitterPane/SplitterPane';\nimport classes from './Splitter.module.css';\n\nexport type SplitterStylesNames = 'root' | 'handle' | 'thumb' | SplitterPaneStylesNames;\n\nexport type SplitterCssVariables = {\n root: '--splitter-line-size' | '--splitter-handle-color';\n};\n\nexport interface SplitterProps\n extends BoxProps, StylesApiProps<SplitterFactory>, ElementProps<'div'> {\n /** Layout direction @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n\n /** Controlled sizes (percentages summing to 100) */\n sizes?: number[];\n\n /** Called during resize with updated sizes */\n onSizeChange?: (sizes: number[]) => void;\n\n /** Called when drag starts */\n onResizeStart?: (handleIndex: number) => void;\n\n /** Called when drag ends */\n onResizeEnd?: (handleIndex: number, sizes: number[]) => void;\n\n /** Called when a panel collapses or expands */\n onCollapseChange?: (panelIndex: number, collapsed: boolean) => void;\n\n /** How to redistribute space when immediate neighbor is at its min/max */\n redistribute?: 'nearest' | 'equal' | UseSplitterRedistributeFn;\n\n /** Keyboard step size in percentage @default 1 */\n step?: number;\n\n /** Shift+arrow step size in percentage @default 10 */\n shiftStep?: number;\n\n /** CSS value for separator line thickness between panes @default 2 */\n lineSize?: number | string;\n\n /** Key of `theme.colors` or any valid CSS color for the separator line */\n handleColor?: MantineColor;\n\n /** Custom icon displayed in the handle thumb, by default uses grip icon based on orientation */\n handleIcon?: React.ReactNode;\n\n /** Determines whether the thumb with grip icon is displayed on the handle @default true */\n withHandle?: boolean;\n\n /** Ref to imperative splitter API (sizes, collapse, expand, etc.) */\n splitterRef?: React.RefObject<UseSplitterReturnValue | null>;\n\n /** Splitter panes */\n children?: React.ReactNode;\n}\n\nexport type SplitterFactory = Factory<{\n props: SplitterProps;\n ref: HTMLDivElement;\n stylesNames: SplitterStylesNames;\n vars: SplitterCssVariables;\n staticComponents: {\n Pane: typeof SplitterPane;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n lineSize: 2,\n withHandle: true,\n} satisfies Partial<SplitterProps>;\n\nconst varsResolver = createVarsResolver<SplitterFactory>((theme, { lineSize, handleColor }) => ({\n root: {\n '--splitter-line-size': rem(lineSize),\n '--splitter-handle-color': handleColor ? getThemeColor(handleColor, theme) : undefined,\n },\n}));\n\nexport const Splitter = factory<SplitterFactory>((_props) => {\n const props = useProps('Splitter', defaultProps, _props);\n const {\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n lineSize,\n handleColor,\n handleIcon,\n withHandle,\n splitterRef,\n children,\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n mod,\n attributes,\n ref,\n ...others\n } = props;\n\n const { dir } = useDirection();\n\n const paneChildren = Children.toArray(children) as React.ReactElement<SplitterPaneProps>[];\n\n const panels = paneChildren.map((child) => ({\n defaultSize: child.props.defaultSize,\n min: child.props.min,\n max: child.props.max,\n collapsible: child.props.collapsible,\n collapseThreshold: child.props.collapseThreshold,\n }));\n\n const splitter = useSplitter({\n panels,\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n dir,\n });\n\n useImperativeHandle(splitterRef, () => splitter, [splitter]);\n\n const mergedRef = useMergedRef(ref, splitter.ref);\n\n const getStyles = useStyles<SplitterFactory>({\n name: 'Splitter',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const defaultIcon = orientation === 'vertical' ? <GripHorizontalIcon /> : <GripVerticalIcon />;\n const thumbIcon = handleIcon !== undefined ? handleIcon : defaultIcon;\n\n const items: React.ReactNode[] = [];\n\n paneChildren.forEach((child, index) => {\n if (index > 0) {\n const handleProps = splitter.getHandleProps({ index: index - 1 });\n const isActive = splitter.activeHandle === index - 1;\n items.push(\n <Box {...getStyles('handle')} key={`handle-${index - 1}`} {...handleProps}>\n {withHandle && (\n <div\n {...getStyles('thumb')}\n data-orientation={orientation}\n data-active={isActive || undefined}\n >\n {thumbIcon}\n </div>\n )}\n </Box>\n );\n }\n\n items.push(\n cloneElement(child, {\n key: `pane-${index}`,\n __index: index,\n })\n );\n });\n\n return (\n <SplitterProvider\n value={{\n getStyles,\n sizes: splitter.sizes,\n collapsed: splitter.collapsed,\n orientation: orientation!,\n }}\n >\n <Box ref={mergedRef} {...getStyles('root')} mod={[{ orientation }, mod]} {...others}>\n {items}\n </Box>\n </SplitterProvider>\n );\n});\n\nSplitter.classes = classes;\nSplitter.varsResolver = varsResolver;\nSplitter.displayName = '@mantine/core/Splitter';\nSplitter.Pane = SplitterPane;\n"],"mappings":";;;;;;;;;;;;;;;;;AA+FA,MAAM,eAAe;CACnB,aAAa;CACb,UAAU;CACV,YAAY;AACd;AAEA,MAAM,eAAe,oBAAqC,OAAO,EAAE,UAAU,mBAAmB,EAC9F,MAAM;CACJ,wBAAwB,IAAI,QAAQ;CACpC,2BAA2B,cAAc,cAAc,aAAa,KAAK,IAAI,KAAA;AAC/E,EACF,EAAE;AAEF,MAAa,WAAW,SAA0B,WAAW;CAC3D,MAAM,QAAQ,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,aACA,OAAO,iBACP,cACA,eACA,aACA,kBACA,cACA,MACA,WACA,UACA,aACA,YACA,YACA,aACA,UACA,WACA,YACA,OACA,QACA,UACA,MACA,KACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,EAAE,QAAQ,aAAa;CAE7B,MAAM,eAAe,SAAS,QAAQ,QAAQ;CAU9C,MAAM,WAAW,YAAY;EAC3B,QATa,aAAa,KAAK,WAAW;GAC1C,aAAa,MAAM,MAAM;GACzB,KAAK,MAAM,MAAM;GACjB,KAAK,MAAM,MAAM;GACjB,aAAa,MAAM,MAAM;GACzB,mBAAmB,MAAM,MAAM;EACjC,EAGO;EACL;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,oBAAoB,mBAAmB,UAAU,CAAC,QAAQ,CAAC;CAE3D,MAAM,YAAY,aAAa,KAAK,SAAS,GAAG;CAEhD,MAAM,YAAY,UAA2B;EAC3C,MAAM;EACN,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAGD,MAAM,YAAY,eAAe,KAAA,IAAY,aADzB,gBAAgB,aAAa,oBAAC,oBAAD,CAAqB,CAAA,IAAI,oBAAC,kBAAD,CAAmB,CAAA;CAG7F,MAAM,QAA2B,CAAC;CAElC,aAAa,SAAS,OAAO,UAAU;EACrC,IAAI,QAAQ,GAAG;GACb,MAAM,cAAc,SAAS,eAAe,EAAE,OAAO,QAAQ,EAAE,CAAC;GAChE,MAAM,WAAW,SAAS,iBAAiB,QAAQ;GACnD,MAAM,KACJ,8BAAC,KAAD;IAAK,GAAI,UAAU,QAAQ;IAAG,KAAK,UAAU,QAAQ;IAAK,GAAI;GAUzD,GATF,cACC,oBAAC,OAAD;IACE,GAAI,UAAU,OAAO;IACrB,oBAAkB;IAClB,eAAa,YAAY,KAAA;cAExB;GACE,CAAA,CAEJ,CACP;EACF;EAEA,MAAM,KACJ,aAAa,OAAO;GAClB,KAAK,QAAQ;GACb,SAAS;EACX,CAAC,CACH;CACF,CAAC;CAED,OACE,oBAAC,kBAAD;EACE,OAAO;GACL;GACA,OAAO,SAAS;GAChB,WAAW,SAAS;GACP;EACf;YAEA,oBAAC,KAAD;GAAK,KAAK;GAAW,GAAI,UAAU,MAAM;GAAG,KAAK,CAAC,EAAE,YAAY,GAAG,GAAG;GAAG,GAAI;aAC1E;EACE,CAAA;CACW,CAAA;AAEtB,CAAC;AAED,SAAS,UAAUA;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,OAAO"}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ //#region packages/@mantine/core/src/components/Splitter/Splitter.module.css
3
+ var Splitter_module_default = {
4
+ "root": "m_19e66008",
5
+ "pane": "m_19e5428e",
6
+ "handle": "m_27f81bce",
7
+ "thumb": "m_22feb770"
8
+ };
9
+ //#endregion
10
+ export { Splitter_module_default as default };
11
+
12
+ //# sourceMappingURL=Splitter.module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Splitter.module.mjs","names":[],"sources":["../../../src/components/Splitter/Splitter.module.css"],"sourcesContent":[".root {\n display: flex;\n\n &:where([data-orientation='horizontal']) {\n flex-direction: row;\n }\n\n &:where([data-orientation='vertical']) {\n flex-direction: column;\n }\n}\n\n.pane {\n flex-grow: 0;\n flex-shrink: 1;\n overflow: auto;\n}\n\n.handle {\n flex: 0 0 var(--splitter-line-size, rem(2px));\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n touch-action: none;\n outline: none;\n background-color: var(--splitter-handle-color, var(--mantine-color-body));\n\n &:where([data-orientation='horizontal']) {\n cursor: col-resize;\n }\n\n &:where([data-orientation='vertical']) {\n cursor: row-resize;\n }\n}\n\n.thumb {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 1000px;\n color: var(--mantine-color-dimmed);\n transition: color 100ms ease;\n\n @mixin where-light {\n background-color: var(--mantine-color-white);\n border: rem(1px) solid var(--mantine-color-gray-3);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-6);\n border: rem(1px) solid var(--mantine-color-dark-4);\n }\n\n &:where([data-orientation='horizontal']) {\n width: rem(12px);\n height: rem(60px);\n }\n\n &:where([data-orientation='vertical']) {\n width: rem(60px);\n height: rem(12px);\n }\n\n & > svg {\n width: 100%;\n height: 100%;\n }\n\n .handle:focus-visible & {\n box-shadow: 0 0 0 rem(2px) var(--mantine-primary-color-filled);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
3
+ import { factory } from "../../../core/factory/factory.mjs";
4
+ import { Box } from "../../../core/Box/Box.mjs";
5
+ import { useSplitterContext } from "../Splitter.context.mjs";
6
+ import Splitter_module_default from "../Splitter.module.mjs";
7
+ import { jsx } from "react/jsx-runtime";
8
+ //#region packages/@mantine/core/src/components/Splitter/SplitterPane/SplitterPane.tsx
9
+ const SplitterPane = factory((_props) => {
10
+ const props = useProps("SplitterPane", null, _props);
11
+ const { className, classNames, style, styles, vars, children, defaultSize, min, max, collapsible, collapseThreshold, __index, mod, ...others } = props;
12
+ const ctx = useSplitterContext();
13
+ const size = ctx.sizes[__index];
14
+ const isCollapsed = ctx.collapsed[__index];
15
+ const sizeStyle = { flexBasis: `${size}%` };
16
+ return /* @__PURE__ */ jsx(Box, {
17
+ ...ctx.getStyles("pane", {
18
+ className,
19
+ classNames,
20
+ style: [sizeStyle, style],
21
+ styles,
22
+ props
23
+ }),
24
+ mod: [{ collapsed: isCollapsed || void 0 }, mod],
25
+ ...others,
26
+ children
27
+ });
28
+ });
29
+ SplitterPane.classes = Splitter_module_default;
30
+ SplitterPane.displayName = "@mantine/core/SplitterPane";
31
+ //#endregion
32
+ export { SplitterPane };
33
+
34
+ //# sourceMappingURL=SplitterPane.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitterPane.mjs","names":["classes"],"sources":["../../../../src/components/Splitter/SplitterPane/SplitterPane.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useSplitterContext } from '../Splitter.context';\nimport classes from '../Splitter.module.css';\n\nexport type SplitterPaneStylesNames = 'pane';\n\nexport interface SplitterPaneProps\n extends BoxProps, CompoundStylesApiProps<SplitterPaneFactory>, ElementProps<'div'> {\n /** Initial size as percentage (0-100). All panes must sum to 100. */\n defaultSize: number;\n\n /** Minimum size percentage @default 0 */\n min?: number;\n\n /** Maximum size percentage @default 100 */\n max?: number;\n\n /** Whether this pane can be collapsed @default false */\n collapsible?: boolean;\n\n /** Size below which the pane snaps to collapsed (percentage), defaults to `min` */\n collapseThreshold?: number;\n\n /** Pane content */\n children?: React.ReactNode;\n\n /** @internal Index set by parent */\n __index?: number;\n}\n\nexport type SplitterPaneFactory = Factory<{\n props: SplitterPaneProps;\n ref: HTMLDivElement;\n stylesNames: SplitterPaneStylesNames;\n compound: true;\n}>;\n\nexport const SplitterPane = factory<SplitterPaneFactory>((_props) => {\n const props = useProps('SplitterPane', null, _props);\n const {\n className,\n classNames,\n style,\n styles,\n vars,\n children,\n defaultSize,\n min,\n max,\n collapsible,\n collapseThreshold,\n __index,\n mod,\n ...others\n } = props;\n\n const ctx = useSplitterContext();\n const size = ctx.sizes[__index!];\n const isCollapsed = ctx.collapsed[__index!];\n\n const sizeStyle = { flexBasis: `${size}%` };\n\n return (\n <Box\n {...ctx.getStyles('pane', {\n className,\n classNames,\n style: [sizeStyle, style],\n styles,\n props,\n })}\n mod={[{ collapsed: isCollapsed || undefined }, mod]}\n {...others}\n >\n {children}\n </Box>\n );\n});\n\nSplitterPane.classes = classes;\nSplitterPane.displayName = '@mantine/core/SplitterPane';\n"],"mappings":";;;;;;;;AA6CA,MAAa,eAAe,SAA8B,WAAW;CACnE,MAAM,QAAQ,SAAS,gBAAgB,MAAM,MAAM;CACnD,MAAM,EACJ,WACA,YACA,OACA,QACA,MACA,UACA,aACA,KACA,KACA,aACA,mBACA,SACA,KACA,GAAG,WACD;CAEJ,MAAM,MAAM,mBAAmB;CAC/B,MAAM,OAAO,IAAI,MAAM;CACvB,MAAM,cAAc,IAAI,UAAU;CAElC,MAAM,YAAY,EAAE,WAAW,GAAG,KAAK,GAAG;CAE1C,OACE,oBAAC,KAAD;EACE,GAAI,IAAI,UAAU,QAAQ;GACxB;GACA;GACA,OAAO,CAAC,WAAW,KAAK;GACxB;GACA;EACF,CAAC;EACD,KAAK,CAAC,EAAE,WAAW,eAAe,KAAA,EAAU,GAAG,GAAG;EAClD,GAAI;EAEH;CACE,CAAA;AAET,CAAC;AAED,aAAa,UAAUA;AACvB,aAAa,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.module.mjs","names":[],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".root {\n --stepper-icon-size-xs: 34px;\n --stepper-icon-size-sm: 36px;\n --stepper-icon-size-md: 42px;\n --stepper-icon-size-lg: 48px;\n --stepper-icon-size-xl: 52px;\n\n --stepper-icon-size: var(--stepper-icon-size-md);\n --stepper-color: var(--mantine-primary-color-filled);\n --stepper-content-padding: var(--mantine-spacing-md);\n --stepper-spacing: var(--mantine-spacing-md);\n --stepper-radius: 1000px;\n --stepper-fz: var(--mantine-font-size-md);\n --stepper-outline-thickness: 2px;\n\n @mixin light {\n --stepper-outline-color: var(--mantine-color-gray-2);\n }\n\n @mixin dark {\n --stepper-outline-color: var(--mantine-color-dark-5);\n }\n}\n\n.steps {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n\n &:where([data-wrap]) {\n flex-wrap: wrap;\n gap: var(--mantine-spacing-md) 0;\n }\n\n &:where([data-orientation='vertical']) {\n flex-direction: column;\n\n &:where([data-icon-position='left']) {\n align-items: flex-start;\n }\n\n &:where([data-icon-position='right']) {\n align-items: flex-end;\n }\n }\n\n &:where([data-orientation='horizontal']) {\n flex-direction: row;\n }\n}\n\n.separator {\n transition: background-color 150ms ease;\n flex: 1;\n height: var(--stepper-outline-thickness);\n margin-inline: var(--mantine-spacing-md);\n background-color: var(--stepper-outline-color);\n\n &:where([data-active]) {\n background-color: var(--stepper-color);\n }\n}\n\n.content {\n padding-top: var(--stepper-content-padding);\n}\n\n.step {\n --step-color: var(--stepper-color);\n\n display: flex;\n cursor: default;\n\n &:where([data-allow-click]) {\n cursor: pointer;\n }\n\n &:where([data-icon-position='left']) {\n flex-direction: row;\n }\n\n &:where([data-icon-position='right']) {\n flex-direction: row-reverse;\n }\n}\n\n.step--horizontal {\n align-items: center;\n}\n\n.step--vertical {\n --separator-spacing: calc(var(--mantine-spacing-xs) / 2);\n\n justify-content: flex-start;\n min-height: calc(var(--stepper-icon-size) + var(--mantine-spacing-xl) + var(--separator-spacing));\n margin-top: var(--separator-spacing);\n overflow: hidden;\n\n &:where(:first-of-type) {\n margin-top: 0;\n }\n\n &:where(:last-of-type) {\n min-height: auto;\n\n & .verticalSeparator {\n display: none;\n }\n }\n}\n\n.stepWrapper {\n position: relative;\n}\n\n.verticalSeparator {\n top: calc(var(--stepper-icon-size) + var(--separator-spacing));\n inset-inline-start: calc(var(--stepper-icon-size) / 2);\n height: 100vh;\n position: absolute;\n border-inline-start: var(--stepper-outline-thickness) solid var(--stepper-outline-color);\n\n &:where([data-active]) {\n border-color: var(--stepper-color);\n }\n}\n\n.stepIcon {\n height: var(--stepper-icon-size);\n width: var(--stepper-icon-size);\n min-height: var(--stepper-icon-size);\n min-width: var(--stepper-icon-size);\n border-radius: var(--stepper-radius);\n font-size: var(--stepper-fz);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n font-weight: bold;\n transition:\n background-color 150ms ease,\n border-color 150ms ease;\n border: var(--stepper-outline-thickness) solid var(--stepper-outline-color);\n background-color: var(--stepper-outline-color);\n\n @mixin where-light {\n color: var(--mantine-color-gray-7);\n }\n\n @mixin where-dark {\n color: var(--mantine-color-dark-1);\n }\n\n &:where([data-progress]) {\n border-color: var(--step-color);\n }\n\n &:where([data-completed]) {\n color: var(--stepper-icon-color, var(--mantine-color-white));\n background-color: var(--step-color);\n border-color: var(--step-color);\n }\n}\n\n.stepIconContent {\n display: flex;\n}\n\n.stepCompletedIcon {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--stepper-icon-color, var(--mantine-color-white));\n}\n\n.stepBody {\n display: flex;\n flex-direction: column;\n\n &:where([data-icon-position='left']) {\n margin-inline-start: var(--mantine-spacing-sm);\n }\n\n &:where([data-icon-position='right']) {\n text-align: right;\n margin-inline-end: var(--mantine-spacing-sm);\n\n @mixin where-rtl {\n text-align: left;\n }\n }\n}\n\n.stepLabel {\n font-weight: var(--mantine-font-weight-medium);\n font-size: var(--stepper-fz);\n line-height: 1;\n}\n\n.stepDescription {\n margin-top: calc(var(--stepper-spacing) / 3);\n margin-bottom: calc(var(--stepper-spacing) / 3);\n font-size: calc(var(--stepper-fz) - rem(2px));\n line-height: 1;\n color: var(--mantine-color-dimmed);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Stepper.module.mjs","names":[],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".root {\n --stepper-icon-size-xs: 34px;\n --stepper-icon-size-sm: 36px;\n --stepper-icon-size-md: 42px;\n --stepper-icon-size-lg: 48px;\n --stepper-icon-size-xl: 52px;\n\n --stepper-icon-size: var(--stepper-icon-size-md);\n --stepper-color: var(--mantine-primary-color-filled);\n --stepper-content-padding: var(--mantine-spacing-md);\n --stepper-spacing: var(--mantine-spacing-md);\n --stepper-radius: 1000px;\n --stepper-fz: var(--mantine-font-size-md);\n --stepper-outline-thickness: 2px;\n\n @mixin light {\n --stepper-outline-color: var(--mantine-color-gray-2);\n }\n\n @mixin dark {\n --stepper-outline-color: var(--mantine-color-dark-5);\n }\n}\n\n.steps {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n\n &:where([data-wrap]) {\n flex-wrap: wrap;\n gap: var(--mantine-spacing-md) 0;\n }\n\n &:where([data-orientation='vertical']) {\n flex-direction: column;\n\n &:where([data-icon-position='left']) {\n align-items: flex-start;\n }\n\n &:where([data-icon-position='right']) {\n align-items: flex-end;\n }\n }\n\n &:where([data-orientation='horizontal']) {\n flex-direction: row;\n }\n}\n\n.separator {\n transition: background-color 150ms ease;\n flex: 1;\n height: var(--stepper-outline-thickness);\n margin-inline: var(--mantine-spacing-md);\n background-color: var(--stepper-outline-color);\n\n &:where([data-active]) {\n background-color: var(--stepper-color);\n }\n}\n\n.content {\n padding-top: var(--stepper-content-padding);\n}\n\n.step {\n --step-color: var(--stepper-color);\n\n display: flex;\n cursor: default;\n\n &:where([data-allow-click]) {\n cursor: pointer;\n }\n\n &:where([data-icon-position='left']) {\n flex-direction: row;\n }\n\n &:where([data-icon-position='right']) {\n flex-direction: row-reverse;\n }\n}\n\n.step--horizontal {\n align-items: center;\n}\n\n.step--vertical {\n --separator-spacing: calc(var(--mantine-spacing-xs) / 2);\n\n justify-content: flex-start;\n min-height: calc(var(--stepper-icon-size) + var(--mantine-spacing-xl) + var(--separator-spacing));\n margin-top: var(--separator-spacing);\n overflow: hidden;\n\n &:where(:first-of-type) {\n margin-top: 0;\n }\n\n &:where(:last-of-type) {\n min-height: auto;\n\n & .verticalSeparator {\n display: none;\n }\n }\n}\n\n.stepWrapper {\n position: relative;\n}\n\n.verticalSeparator {\n top: calc(var(--stepper-icon-size) + var(--separator-spacing));\n inset-inline-start: calc(var(--stepper-icon-size) / 2);\n height: 100vh;\n position: absolute;\n border-inline-start: var(--stepper-outline-thickness) solid var(--stepper-outline-color);\n\n &:where([data-active]) {\n border-color: var(--stepper-color);\n }\n}\n\n.stepIcon {\n height: var(--stepper-icon-size);\n width: var(--stepper-icon-size);\n min-height: var(--stepper-icon-size);\n min-width: var(--stepper-icon-size);\n border-radius: var(--stepper-radius);\n font-size: var(--stepper-fz);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n font-weight: bold;\n transition:\n background-color 150ms ease,\n border-color 150ms ease;\n border: var(--stepper-outline-thickness) solid var(--stepper-outline-color);\n background-color: var(--stepper-outline-color);\n\n @mixin where-light {\n color: var(--mantine-color-gray-7);\n }\n\n @mixin where-dark {\n color: var(--mantine-color-dark-1);\n }\n\n &:where([data-progress]) {\n border-color: var(--step-color);\n }\n\n &:where([data-completed]) {\n color: var(--stepper-icon-color, var(--mantine-color-white));\n background-color: var(--step-color);\n border-color: var(--step-color);\n }\n}\n\n.stepIconContent {\n display: flex;\n}\n\n.stepCompletedIcon {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--stepper-icon-color, var(--mantine-color-white));\n}\n\n.stepBody {\n display: flex;\n flex-direction: column;\n\n &:where([data-icon-position='left']) {\n margin-inline-start: var(--mantine-spacing-sm);\n }\n\n &:where([data-icon-position='right']) {\n text-align: end;\n margin-inline-end: var(--mantine-spacing-sm);\n }\n}\n\n.stepLabel {\n font-weight: var(--mantine-font-weight-medium);\n font-size: var(--stepper-fz);\n line-height: 1;\n}\n\n.stepDescription {\n margin-top: calc(var(--stepper-spacing) / 3);\n margin-bottom: calc(var(--stepper-spacing) / 3);\n font-size: calc(var(--stepper-fz) - rem(2px));\n line-height: 1;\n color: var(--mantine-color-dimmed);\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.module.mjs","names":[],"sources":["../../../src/components/Table/Table.module.css"],"sourcesContent":[".table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n line-height: var(--mantine-line-height);\n font-size: var(--mantine-font-size-sm);\n table-layout: var(--table-layout, auto);\n caption-side: var(--table-caption-side, bottom);\n border: none;\n\n @mixin where-light {\n --table-hover-color: var(--mantine-color-gray-1);\n --table-striped-color: var(--mantine-color-gray-0);\n --table-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin where-dark {\n --table-hover-color: var(--mantine-color-dark-5);\n --table-striped-color: var(--mantine-color-dark-6);\n --table-border-color: var(--mantine-color-dark-4);\n }\n\n &:where([data-with-table-border]) {\n border: rem(1px) solid var(--table-border-color);\n }\n\n &:where([data-tabular-nums]) {\n font-variant-numeric: tabular-nums;\n }\n\n &:where([data-variant='vertical']) :where(.th) {\n font-weight: var(--mantine-font-weight-medium);\n\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-6);\n }\n }\n}\n\n.th {\n text-align: left;\n\n @mixin where-rtl {\n text-align: right;\n }\n}\n\n.tr {\n border-bottom: none;\n background-color: transparent;\n\n @mixin hover {\n &:where([data-hover]) {\n background-color: var(--tr-hover-bg);\n }\n }\n\n &:where([data-with-row-border]) {\n border-bottom: rem(1px) solid var(--table-border-color);\n }\n}\n\n.td,\n.th {\n padding: var(--table-vertical-spacing) var(--table-horizontal-spacing, var(--mantine-spacing-xs));\n\n &:where([data-with-column-border]:not(:first-child)) {\n border-inline-start: rem(1px) solid var(--table-border-color);\n }\n\n &:where([data-with-column-border]:not(:last-child)) {\n border-inline-end: rem(1px) solid var(--table-border-color);\n }\n}\n\n.tbody {\n & > :where(tr) {\n &:where([data-with-row-border]:last-of-type) {\n border-bottom: none;\n }\n\n &:where([data-striped='odd']:nth-of-type(odd)) {\n background-color: var(--table-striped-color);\n }\n\n &:where([data-striped='even']:nth-of-type(even)) {\n background-color: var(--table-striped-color);\n }\n\n &[data-hover] {\n --tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color));\n }\n }\n}\n\n.thead {\n top: var(--table-sticky-header-offset, 0);\n z-index: 3;\n\n &:where([data-sticky]) {\n position: sticky;\n\n & :where(.th) {\n position: sticky;\n top: var(--table-sticky-header-offset, 0);\n background-color: var(--mantine-color-body);\n }\n\n /* border-collapse: collapse drops borders on position: sticky cells —\n the tr's border-bottom scrolls away with the row, so redraw it with\n box-shadow on the (sticky) th. The tr's border-bottom is suppressed\n here so the two don't stack into a double line. */\n & :where(.tr[data-with-row-border]) {\n border-bottom: none;\n }\n\n & :where(.tr[data-with-row-border]) :where(.th) {\n box-shadow: inset 0 -1px 0 var(--table-border-color);\n }\n\n & :where(.th[data-with-column-border]) {\n border-inline-start: none;\n border-inline-end: none;\n }\n\n /* Single pseudo-element per internal boundary, centered on the boundary\n (-0.5px) to align with the body's border-collapse line. */\n & :where(.th[data-with-column-border]:not(:first-child))::before {\n content: '';\n position: absolute;\n inset-block: 0;\n inset-inline-start: -0.5px;\n width: 1px;\n background-color: var(--table-border-color);\n }\n }\n}\n\n:where([data-with-table-border]) .thead[data-sticky] {\n position: sticky;\n top: var(--table-sticky-header-offset, 0);\n z-index: 4;\n border-top: none;\n}\n\n:where([data-with-table-border]) .thead[data-sticky]::before {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: -0.5px;\n width: 100%;\n height: 1px;\n background-color: var(--table-border-color);\n z-index: 5;\n}\n\n:where([data-with-table-border]) .thead[data-sticky] .th:first-child {\n border-top: none;\n}\n\n.caption {\n color: var(--mantine-color-dimmed);\n\n &:where([data-side='top']) {\n margin-bottom: var(--mantine-spacing-xs);\n }\n\n &:where([data-side='bottom']) {\n margin-top: var(--mantine-spacing-xs);\n }\n}\n\n.scrollContainer {\n overflow-x: var(--table-overflow);\n}\n\n.scrollContainerInner {\n min-width: var(--table-min-width);\n max-height: var(--table-max-height);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Table.module.mjs","names":[],"sources":["../../../src/components/Table/Table.module.css"],"sourcesContent":[".table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n line-height: var(--mantine-line-height);\n font-size: var(--mantine-font-size-sm);\n table-layout: var(--table-layout, auto);\n caption-side: var(--table-caption-side, bottom);\n border: none;\n\n @mixin where-light {\n --table-hover-color: var(--mantine-color-gray-1);\n --table-striped-color: var(--mantine-color-gray-0);\n --table-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin where-dark {\n --table-hover-color: var(--mantine-color-dark-5);\n --table-striped-color: var(--mantine-color-dark-6);\n --table-border-color: var(--mantine-color-dark-4);\n }\n\n &:where([data-with-table-border]) {\n border: rem(1px) solid var(--table-border-color);\n }\n\n &:where([data-tabular-nums]) {\n font-variant-numeric: tabular-nums;\n }\n\n &:where([data-variant='vertical']) :where(.th) {\n font-weight: var(--mantine-font-weight-medium);\n\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-6);\n }\n }\n}\n\n.th {\n text-align: start;\n}\n\n.tr {\n border-bottom: none;\n background-color: transparent;\n\n @mixin hover {\n &:where([data-hover]) {\n background-color: var(--tr-hover-bg);\n }\n }\n\n &:where([data-with-row-border]) {\n border-bottom: rem(1px) solid var(--table-border-color);\n }\n}\n\n.td,\n.th {\n padding: var(--table-vertical-spacing) var(--table-horizontal-spacing, var(--mantine-spacing-xs));\n\n &:where([data-with-column-border]:not(:first-child)) {\n border-inline-start: rem(1px) solid var(--table-border-color);\n }\n\n &:where([data-with-column-border]:not(:last-child)) {\n border-inline-end: rem(1px) solid var(--table-border-color);\n }\n}\n\n.tbody {\n & > :where(tr) {\n &:where([data-with-row-border]:last-of-type) {\n border-bottom: none;\n }\n\n &:where([data-striped='odd']:nth-of-type(odd)) {\n background-color: var(--table-striped-color);\n }\n\n &:where([data-striped='even']:nth-of-type(even)) {\n background-color: var(--table-striped-color);\n }\n\n &[data-hover] {\n --tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color));\n }\n }\n}\n\n.thead {\n top: var(--table-sticky-header-offset, 0);\n z-index: 3;\n\n &:where([data-sticky]) {\n position: sticky;\n\n & :where(.th) {\n position: sticky;\n top: var(--table-sticky-header-offset, 0);\n background-color: var(--mantine-color-body);\n }\n\n /* border-collapse: collapse drops borders on position: sticky cells —\n the tr's border-bottom scrolls away with the row, so redraw it with\n box-shadow on the (sticky) th. The tr's border-bottom is suppressed\n here so the two don't stack into a double line. */\n & :where(.tr[data-with-row-border]) {\n border-bottom: none;\n }\n\n & :where(.tr[data-with-row-border]) :where(.th) {\n box-shadow: inset 0 -1px 0 var(--table-border-color);\n }\n\n & :where(.th[data-with-column-border]) {\n border-inline-start: none;\n border-inline-end: none;\n }\n\n /* Single pseudo-element per internal boundary, centered on the boundary\n (-0.5px) to align with the body's border-collapse line. */\n & :where(.th[data-with-column-border]:not(:first-child))::before {\n content: '';\n position: absolute;\n inset-block: 0;\n inset-inline-start: -0.5px;\n width: 1px;\n background-color: var(--table-border-color);\n }\n }\n}\n\n:where([data-with-table-border]) .thead[data-sticky] {\n position: sticky;\n top: var(--table-sticky-header-offset, 0);\n z-index: 4;\n border-top: none;\n}\n\n:where([data-with-table-border]) .thead[data-sticky]::before {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: -0.5px;\n width: 100%;\n height: 1px;\n background-color: var(--table-border-color);\n z-index: 5;\n}\n\n:where([data-with-table-border]) .thead[data-sticky] .th:first-child {\n border-top: none;\n}\n\n.caption {\n color: var(--mantine-color-dimmed);\n\n &:where([data-side='top']) {\n margin-bottom: var(--mantine-spacing-xs);\n }\n\n &:where([data-side='bottom']) {\n margin-top: var(--mantine-spacing-xs);\n }\n}\n\n.scrollContainer {\n overflow-x: var(--table-overflow);\n}\n\n.scrollContainerInner {\n min-width: var(--table-min-width);\n max-height: var(--table-max-height);\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.module.mjs","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":[".root {\n @mixin light {\n --tab-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin dark {\n --tab-border-color: var(--mantine-color-dark-4);\n }\n\n display: var(--tabs-display);\n flex-direction: var(--tabs-flex-direction);\n\n --tabs-list-direction: row;\n --tabs-panel-grow: unset;\n --tabs-display: block;\n --tabs-flex-direction: row;\n --tabs-list-border-width: 0;\n --tabs-list-border-size: 0 0 var(--tabs-list-border-width) 0;\n --tabs-list-gap: unset;\n\n --tabs-list-line-bottom: 0;\n --tabs-list-line-top: unset;\n --tabs-list-line-start: 0;\n --tabs-list-line-end: 0;\n\n --tab-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n --tab-border-width: 0 0 var(--tabs-list-border-width) 0;\n\n &[data-inverted] {\n --tabs-list-line-bottom: unset;\n --tabs-list-line-top: 0;\n --tab-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n --tab-border-width: var(--tabs-list-border-width) 0 0 0;\n\n & .list--default::before {\n top: 0;\n bottom: unset;\n }\n }\n\n &[data-orientation='vertical'] {\n --tabs-list-line-start: unset;\n --tabs-list-line-end: 0;\n --tabs-list-line-top: 0;\n --tabs-list-line-bottom: 0;\n --tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;\n --tab-border-width: 0 var(--tabs-list-border-width) 0 0;\n --tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n --tabs-list-direction: column;\n --tabs-panel-grow: 1;\n --tabs-display: flex;\n\n @mixin rtl {\n --tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);\n --tab-border-width: 0 0 0 var(--tabs-list-border-width);\n --tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n &[data-placement='right'] {\n --tabs-flex-direction: row-reverse;\n --tabs-list-line-start: 0;\n --tabs-list-line-end: unset;\n --tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);\n --tab-border-width: 0 0 0 var(--tabs-list-border-width);\n --tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n\n @mixin rtl {\n --tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;\n --tab-border-width: 0 var(--tabs-list-border-width) 0 0;\n --tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n }\n }\n\n &[data-variant='default'] {\n --tabs-list-border-width: 2px;\n\n @mixin light {\n --tab-hover-color: var(--mantine-color-gray-0);\n }\n\n @mixin dark {\n --tab-hover-color: var(--mantine-color-dark-6);\n }\n }\n\n &[data-variant='outline'] {\n --tabs-list-border-width: 1px;\n }\n\n &[data-variant='pills'] {\n --tabs-list-gap: calc(var(--mantine-spacing-sm) / 2);\n\n @mixin light {\n --tab-hover-color: var(--mantine-color-gray-0);\n }\n\n @mixin dark {\n --tab-hover-color: var(--mantine-color-dark-6);\n }\n }\n}\n\n.list {\n display: flex;\n flex-wrap: wrap;\n justify-content: var(--tabs-justify, flex-start);\n flex-direction: var(--tabs-list-direction);\n gap: var(--tabs-list-gap);\n\n &:where([data-grow]) .tab {\n flex: 1;\n }\n}\n\n.panel {\n flex-grow: var(--tabs-panel-grow);\n}\n\n.tab {\n position: relative;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);\n font-size: var(--mantine-font-size-sm);\n white-space: nowrap;\n z-index: 0;\n display: flex;\n align-items: center;\n line-height: 1;\n user-select: none;\n\n &:where(:disabled, [data-disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:focus {\n z-index: 1;\n }\n}\n\n.tabSection {\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:where([data-position='left']:not(:only-child)) {\n margin-inline-end: var(--mantine-spacing-xs);\n }\n\n &:where([data-position='right']:not(:only-child)) {\n margin-inline-start: var(--mantine-spacing-xs);\n }\n}\n\n.tabLabel {\n flex: 1;\n text-align: center;\n}\n\n/*************************************** default variant ***************************************/\n.list--default {\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n border: 1px solid var(--tab-border-color);\n bottom: var(--tabs-list-line-bottom);\n inset-inline-start: var(--tabs-list-line-start);\n inset-inline-end: var(--tabs-list-line-end);\n top: var(--tabs-list-line-top);\n }\n}\n\n.tab--default {\n border-radius: var(--tab-radius);\n border-width: var(--tab-border-width);\n border-style: solid;\n border-color: transparent;\n background-color: transparent;\n\n &:where([data-active]) {\n border-color: var(--tabs-color);\n }\n\n @mixin hover {\n background-color: var(--tab-hover-color);\n\n &:where(:not([data-active])) {\n border-color: var(--tab-border-color);\n }\n }\n\n &:disabled,\n &[data-disabled] {\n @mixin hover {\n background-color: transparent;\n }\n }\n}\n\n/*************************************** outline variant ***************************************/\n.list--outline {\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n border-color: var(--tab-border-color);\n border-width: var(--tabs-list-border-size);\n border-style: solid;\n bottom: var(--tabs-list-line-bottom);\n inset-inline-start: var(--tabs-list-line-start);\n inset-inline-end: var(--tabs-list-line-end);\n top: var(--tabs-list-line-top);\n }\n}\n\n.tab--outline {\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n border-right: 1px solid transparent;\n border-left: 1px solid transparent;\n border-top-color: var(--tab-border-top-color);\n border-bottom-color: var(--tab-border-bottom-color);\n border-radius: var(--tab-radius);\n position: relative;\n\n --tab-border-bottom-color: transparent;\n --tab-border-top-color: transparent;\n --tab-border-inline-end-color: transparent;\n --tab-border-inline-start-color: transparent;\n\n &:where([data-active]) {\n &::before {\n content: '';\n position: absolute;\n background-color: var(--tab-border-color);\n bottom: var(--tab-before-bottom, rem(-1px));\n left: var(--tab-before-left, rem(-1px));\n right: var(--tab-before-right, auto);\n top: var(--tab-before-top, auto);\n width: 1px;\n height: 1px;\n }\n\n &::after {\n content: '';\n position: absolute;\n background-color: var(--tab-border-color);\n bottom: var(--tab-after-bottom, rem(-1px));\n right: var(--tab-after-right, rem(-1px));\n left: var(--tab-after-left, auto);\n top: var(--tab-after-top, auto);\n width: 1px;\n height: 1px;\n }\n\n border-top-color: var(--tab-border-top-color);\n border-bottom-color: var(--tab-border-bottom-color);\n border-inline-start-color: var(--tab-border-inline-start-color);\n border-inline-end-color: var(--tab-border-inline-end-color);\n\n --tab-border-top-color: var(--tab-border-color);\n --tab-border-inline-start-color: var(--tab-border-color);\n --tab-border-inline-end-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--mantine-color-body);\n\n &[data-inverted] {\n --tab-border-bottom-color: var(--tab-border-color);\n --tab-border-top-color: var(--mantine-color-body);\n\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-bottom: auto;\n --tab-after-top: -1px;\n }\n\n &[data-orientation='vertical'] {\n &[data-placement='left'] {\n --tab-border-inline-end-color: var(--mantine-color-body);\n --tab-border-inline-start-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--tab-border-color);\n\n --tab-before-right: -1px;\n --tab-before-left: auto;\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-left: auto;\n --tab-after-right: -1px;\n\n @mixin rtl {\n --tab-before-right: auto;\n --tab-before-left: -1px;\n --tab-after-left: -1px;\n --tab-after-right: auto;\n }\n }\n\n &[data-placement='right'] {\n --tab-border-inline-start-color: var(--mantine-color-body);\n --tab-border-inline-end-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--tab-border-color);\n\n --tab-before-left: -1px;\n --tab-before-right: auto;\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-right: auto;\n --tab-after-left: -1px;\n\n @mixin rtl {\n --tab-before-left: auto;\n --tab-before-right: -1px;\n --tab-after-right: -1px;\n --tab-after-left: auto;\n }\n }\n }\n }\n}\n\n/*************************************** pills variant ***************************************/\n.tab--pills {\n border-radius: var(--tabs-radius);\n background-color: var(--tab-bg);\n color: var(--tab-color);\n\n --tab-bg: transparent;\n --tab-color: inherit;\n\n &:not([data-disabled]) {\n @mixin hover {\n --tab-bg: var(--tab-hover-color);\n }\n }\n\n &[data-active][data-active] {\n --tab-bg: var(--tabs-color);\n --tab-color: var(--tabs-text-color, var(--mantine-color-white));\n\n @mixin hover {\n --tab-bg: var(--tabs-color);\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Tabs.module.mjs","names":[],"sources":["../../../src/components/Tabs/Tabs.module.css"],"sourcesContent":[".root {\n @mixin light {\n --tab-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin dark {\n --tab-border-color: var(--mantine-color-dark-4);\n }\n\n display: var(--tabs-display);\n flex-direction: var(--tabs-flex-direction);\n\n --tabs-list-direction: row;\n --tabs-panel-grow: unset;\n --tabs-display: block;\n --tabs-flex-direction: row;\n --tabs-list-border-width: 0;\n --tabs-list-border-size: 0 0 var(--tabs-list-border-width) 0;\n --tabs-list-gap: unset;\n\n --tabs-list-line-bottom: 0;\n --tabs-list-line-top: unset;\n --tabs-list-line-start: 0;\n --tabs-list-line-end: 0;\n\n --tab-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n --tab-border-width: 0 0 var(--tabs-list-border-width) 0;\n\n &[data-inverted] {\n --tabs-list-line-bottom: unset;\n --tabs-list-line-top: 0;\n --tab-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n --tab-border-width: var(--tabs-list-border-width) 0 0 0;\n\n & .list--default::before {\n top: 0;\n bottom: unset;\n }\n }\n\n &[data-orientation='vertical'] {\n --tabs-list-line-start: unset;\n --tabs-list-line-end: 0;\n --tabs-list-line-top: 0;\n --tabs-list-line-bottom: 0;\n --tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;\n --tab-border-width: 0 var(--tabs-list-border-width) 0 0;\n --tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n --tabs-list-direction: column;\n --tabs-panel-grow: 1;\n --tabs-display: flex;\n\n @mixin rtl {\n --tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);\n --tab-border-width: 0 0 0 var(--tabs-list-border-width);\n --tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n &[data-placement='right'] {\n --tabs-flex-direction: row-reverse;\n --tabs-list-line-start: 0;\n --tabs-list-line-end: unset;\n --tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);\n --tab-border-width: 0 0 0 var(--tabs-list-border-width);\n --tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n\n @mixin rtl {\n --tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;\n --tab-border-width: 0 var(--tabs-list-border-width) 0 0;\n --tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n }\n }\n\n &[data-variant='default'] {\n --tabs-list-border-width: 2px;\n\n @mixin light {\n --tab-hover-color: var(--mantine-color-gray-0);\n }\n\n @mixin dark {\n --tab-hover-color: var(--mantine-color-dark-6);\n }\n }\n\n &[data-variant='outline'] {\n --tabs-list-border-width: 1px;\n }\n\n &[data-variant='pills'] {\n --tabs-list-gap: calc(var(--mantine-spacing-sm) / 2);\n\n @mixin light {\n --tab-hover-color: var(--mantine-color-gray-0);\n }\n\n @mixin dark {\n --tab-hover-color: var(--mantine-color-dark-6);\n }\n }\n}\n\n.list {\n display: flex;\n flex-wrap: wrap;\n justify-content: var(--tabs-justify, flex-start);\n flex-direction: var(--tabs-list-direction);\n gap: var(--tabs-list-gap);\n\n &:where([data-grow]) .tab {\n flex: 1;\n }\n}\n\n.panel {\n flex-grow: var(--tabs-panel-grow);\n}\n\n.tab {\n position: relative;\n padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);\n font-size: var(--mantine-font-size-sm);\n white-space: nowrap;\n z-index: 0;\n display: flex;\n align-items: center;\n line-height: 1;\n user-select: none;\n\n &:where(:disabled, [data-disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:focus {\n z-index: 1;\n }\n}\n\n.tabSection {\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:where([data-position='left']:not(:only-child)) {\n margin-inline-end: var(--mantine-spacing-xs);\n }\n\n &:where([data-position='right']:not(:only-child)) {\n margin-inline-start: var(--mantine-spacing-xs);\n }\n}\n\n.tabLabel {\n flex: 1;\n text-align: center;\n}\n\n/*************************************** default variant ***************************************/\n.list--default {\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n border: 1px solid var(--tab-border-color);\n bottom: var(--tabs-list-line-bottom);\n inset-inline-start: var(--tabs-list-line-start);\n inset-inline-end: var(--tabs-list-line-end);\n top: var(--tabs-list-line-top);\n }\n}\n\n.tab--default {\n border-radius: var(--tab-radius);\n border-width: var(--tab-border-width);\n border-style: solid;\n border-color: transparent;\n background-color: transparent;\n\n &:where([data-active]) {\n border-color: var(--tabs-color);\n }\n\n @mixin hover {\n background-color: var(--tab-hover-color);\n\n &:where(:not([data-active])) {\n border-color: var(--tab-border-color);\n }\n }\n\n &:disabled,\n &[data-disabled] {\n @mixin hover {\n background-color: transparent;\n }\n }\n}\n\n/*************************************** outline variant ***************************************/\n.list--outline {\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n border-color: var(--tab-border-color);\n border-width: var(--tabs-list-border-size);\n border-style: solid;\n bottom: var(--tabs-list-line-bottom);\n inset-inline-start: var(--tabs-list-line-start);\n inset-inline-end: var(--tabs-list-line-end);\n top: var(--tabs-list-line-top);\n }\n}\n\n.tab--outline {\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n border-inline: 1px solid transparent;\n border-top-color: var(--tab-border-top-color);\n border-bottom-color: var(--tab-border-bottom-color);\n border-radius: var(--tab-radius);\n position: relative;\n\n --tab-border-bottom-color: transparent;\n --tab-border-top-color: transparent;\n --tab-border-inline-end-color: transparent;\n --tab-border-inline-start-color: transparent;\n\n &:where([data-active]) {\n &::before {\n content: '';\n position: absolute;\n background-color: var(--tab-border-color);\n bottom: var(--tab-before-bottom, rem(-1px));\n inset-inline-start: var(--tab-before-start, rem(-1px));\n inset-inline-end: var(--tab-before-end, auto);\n top: var(--tab-before-top, auto);\n width: 1px;\n height: 1px;\n }\n\n &::after {\n content: '';\n position: absolute;\n background-color: var(--tab-border-color);\n bottom: var(--tab-after-bottom, rem(-1px));\n inset-inline-end: var(--tab-after-end, rem(-1px));\n inset-inline-start: var(--tab-after-start, auto);\n top: var(--tab-after-top, auto);\n width: 1px;\n height: 1px;\n }\n\n border-top-color: var(--tab-border-top-color);\n border-bottom-color: var(--tab-border-bottom-color);\n border-inline-start-color: var(--tab-border-inline-start-color);\n border-inline-end-color: var(--tab-border-inline-end-color);\n\n --tab-border-top-color: var(--tab-border-color);\n --tab-border-inline-start-color: var(--tab-border-color);\n --tab-border-inline-end-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--mantine-color-body);\n\n &[data-inverted] {\n --tab-border-bottom-color: var(--tab-border-color);\n --tab-border-top-color: var(--mantine-color-body);\n\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-bottom: auto;\n --tab-after-top: -1px;\n }\n\n &[data-orientation='vertical'] {\n &[data-placement='left'] {\n --tab-border-inline-end-color: var(--mantine-color-body);\n --tab-border-inline-start-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--tab-border-color);\n\n --tab-before-end: -1px;\n --tab-before-start: auto;\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-start: auto;\n --tab-after-end: -1px;\n }\n\n &[data-placement='right'] {\n --tab-border-inline-start-color: var(--mantine-color-body);\n --tab-border-inline-end-color: var(--tab-border-color);\n --tab-border-bottom-color: var(--tab-border-color);\n\n --tab-before-start: -1px;\n --tab-before-end: auto;\n --tab-before-bottom: auto;\n --tab-before-top: -1px;\n --tab-after-end: auto;\n --tab-after-start: -1px;\n }\n }\n }\n}\n\n/*************************************** pills variant ***************************************/\n.tab--pills {\n border-radius: var(--tabs-radius);\n background-color: var(--tab-bg);\n color: var(--tab-color);\n\n --tab-bg: transparent;\n --tab-color: inherit;\n\n &:not([data-disabled]) {\n @mixin hover {\n --tab-bg: var(--tab-hover-color);\n }\n }\n\n &[data-active][data-active] {\n --tab-bg: var(--tabs-color);\n --tab-color: var(--tabs-text-color, var(--mantine-color-white));\n\n @mixin hover {\n --tab-bg: var(--tabs-color);\n }\n }\n}\n"],"mappings":""}