@mantine/core 9.3.1 → 9.4.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 (876) hide show
  1. package/cjs/components/Accordion/Accordion.cjs +1 -0
  2. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/cjs/components/Accordion/Accordion.context.cjs.map +1 -1
  4. package/cjs/components/Accordion/AccordionChevron.cjs.map +1 -1
  5. package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs.map +1 -1
  6. package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs.map +1 -1
  7. package/cjs/components/Accordion/AccordionItem.context.cjs.map +1 -1
  8. package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
  9. package/cjs/components/ActionIcon/ActionIcon.cjs +1 -0
  10. package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
  11. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs +1 -1
  12. package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs.map +1 -1
  13. package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs.map +1 -1
  14. package/cjs/components/Affix/Affix.cjs.map +1 -1
  15. package/cjs/components/Alert/Alert.cjs.map +1 -1
  16. package/cjs/components/Anchor/Anchor.cjs.map +1 -1
  17. package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
  18. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  19. package/cjs/components/AppShell/AppShell.context.cjs.map +1 -1
  20. package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
  21. package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
  22. package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
  23. package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs.map +1 -1
  24. package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
  25. package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs.map +1 -1
  26. package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs.map +1 -1
  27. package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs.map +1 -1
  28. package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs.map +1 -1
  29. package/cjs/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.cjs.map +1 -1
  30. package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs.map +1 -1
  31. package/cjs/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.cjs.map +1 -1
  32. package/cjs/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.cjs.map +1 -1
  33. package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
  34. package/cjs/components/AppShell/AppShellSection/AppShellSection.cjs.map +1 -1
  35. package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
  36. package/cjs/components/AspectRatio/AspectRatio.cjs.map +1 -1
  37. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  38. package/cjs/components/Avatar/Avatar.cjs.map +1 -1
  39. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
  40. package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs.map +1 -1
  41. package/cjs/components/Avatar/get-initials/get-initials.cjs.map +1 -1
  42. package/cjs/components/BackgroundImage/BackgroundImage.cjs.map +1 -1
  43. package/cjs/components/Badge/Badge.cjs.map +1 -1
  44. package/cjs/components/Blockquote/Blockquote.cjs.map +1 -1
  45. package/cjs/components/Blockquote/Blockquote.module.cjs.map +1 -1
  46. package/cjs/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  47. package/cjs/components/Burger/Burger.cjs.map +1 -1
  48. package/cjs/components/Button/Button.cjs.map +1 -1
  49. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
  50. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
  51. package/cjs/components/Card/Card.cjs.map +1 -1
  52. package/cjs/components/Card/Card.context.cjs.map +1 -1
  53. package/cjs/components/Card/CardSection/CardSection.cjs.map +1 -1
  54. package/cjs/components/Center/Center.cjs.map +1 -1
  55. package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
  56. package/cjs/components/Checkbox/Checkbox.cjs +2 -1
  57. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  58. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
  59. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  60. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  61. package/cjs/components/Chip/Chip.cjs.map +1 -1
  62. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
  63. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  64. package/cjs/components/CloseButton/CloseIcon.cjs.map +1 -1
  65. package/cjs/components/Code/Code.cjs.map +1 -1
  66. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  67. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  68. package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
  69. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs.map +1 -1
  70. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  71. package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
  72. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  73. package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs.map +1 -1
  74. package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
  75. package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
  76. package/cjs/components/ColorPicker/Thumb/Thumb.cjs.map +1 -1
  77. package/cjs/components/ColorPicker/converters/converters.cjs.map +1 -1
  78. package/cjs/components/ColorPicker/converters/parsers.cjs.map +1 -1
  79. package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
  80. package/cjs/components/Combobox/Combobox.cjs +1 -0
  81. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  82. package/cjs/components/Combobox/Combobox.context.cjs.map +1 -1
  83. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  84. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  85. package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs.map +1 -1
  86. package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs.map +1 -1
  87. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
  88. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
  89. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
  90. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs +3 -2
  91. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
  92. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
  93. package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs.map +1 -1
  94. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
  95. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
  96. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  97. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
  98. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs +2 -2
  99. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  100. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.cjs.map +1 -1
  101. package/cjs/components/Combobox/use-combobox/get-index/get-index.cjs.map +1 -1
  102. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  103. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  104. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  105. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -1
  106. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs +218 -0
  107. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs.map +1 -0
  108. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs +45 -0
  109. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs.map +1 -0
  110. package/cjs/components/Container/Container.cjs.map +1 -1
  111. package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
  112. package/cjs/components/DataList/DataList.cjs +61 -0
  113. package/cjs/components/DataList/DataList.cjs.map +1 -0
  114. package/cjs/components/DataList/DataList.context.cjs +8 -0
  115. package/cjs/components/DataList/DataList.context.cjs.map +1 -0
  116. package/cjs/components/DataList/DataList.module.cjs +12 -0
  117. package/cjs/components/DataList/DataList.module.cjs.map +1 -0
  118. package/cjs/components/DataList/DataListItem/DataListItem.cjs +32 -0
  119. package/cjs/components/DataList/DataListItem/DataListItem.cjs.map +1 -0
  120. package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs +33 -0
  121. package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs.map +1 -0
  122. package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs +33 -0
  123. package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs.map +1 -0
  124. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  125. package/cjs/components/Divider/Divider.cjs.map +1 -1
  126. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  127. package/cjs/components/Drawer/Drawer.context.cjs.map +1 -1
  128. package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
  129. package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
  130. package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
  131. package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
  132. package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
  133. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  134. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  135. package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
  136. package/cjs/components/EmptyState/EmptyState.cjs +102 -0
  137. package/cjs/components/EmptyState/EmptyState.cjs.map +1 -0
  138. package/cjs/components/EmptyState/EmptyState.context.cjs +8 -0
  139. package/cjs/components/EmptyState/EmptyState.context.cjs.map +1 -0
  140. package/cjs/components/EmptyState/EmptyState.module.cjs +14 -0
  141. package/cjs/components/EmptyState/EmptyState.module.cjs.map +1 -0
  142. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs +28 -0
  143. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs.map +1 -0
  144. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs +29 -0
  145. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs.map +1 -0
  146. package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs +29 -0
  147. package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs.map +1 -0
  148. package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs +30 -0
  149. package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs.map +1 -0
  150. package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
  151. package/cjs/components/FileButton/FileButton.cjs.map +1 -1
  152. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  153. package/cjs/components/Flex/Flex.cjs.map +1 -1
  154. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  155. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
  156. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  157. package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
  158. package/cjs/components/Grid/Grid.cjs.map +1 -1
  159. package/cjs/components/Grid/Grid.context.cjs.map +1 -1
  160. package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
  161. package/cjs/components/Grid/GridCol/GridColVariables.cjs.map +1 -1
  162. package/cjs/components/Grid/GridVariables.cjs.map +1 -1
  163. package/cjs/components/Group/Group.cjs.map +1 -1
  164. package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs.map +1 -1
  165. package/cjs/components/Highlight/Highlight.cjs.map +1 -1
  166. package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
  167. package/cjs/components/HoverCard/HoverCard.cjs +1 -0
  168. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  169. package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
  170. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  171. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
  172. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs +10 -2
  173. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  174. package/cjs/components/HoverCard/use-hover-card.cjs +24 -0
  175. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  176. package/cjs/components/Image/Image.cjs.map +1 -1
  177. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  178. package/cjs/components/Input/Input.cjs +7 -2
  179. package/cjs/components/Input/Input.cjs.map +1 -1
  180. package/cjs/components/Input/Input.context.cjs.map +1 -1
  181. package/cjs/components/Input/Input.module.cjs +1 -0
  182. package/cjs/components/Input/Input.module.cjs.map +1 -1
  183. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  184. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  185. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  186. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  187. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  188. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  189. package/cjs/components/Input/InputSuccess/InputSuccess.cjs +48 -0
  190. package/cjs/components/Input/InputSuccess/InputSuccess.cjs.map +1 -0
  191. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +22 -5
  192. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  193. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  194. package/cjs/components/Input/use-input-props.cjs +4 -1
  195. package/cjs/components/Input/use-input-props.cjs.map +1 -1
  196. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  197. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  198. package/cjs/components/JsonInput/validate-json/validate-json.cjs.map +1 -1
  199. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  200. package/cjs/components/List/List.cjs.map +1 -1
  201. package/cjs/components/List/List.context.cjs.map +1 -1
  202. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  203. package/cjs/components/Loader/Loader.cjs.map +1 -1
  204. package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
  205. package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
  206. package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
  207. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  208. package/cjs/components/Mark/Mark.cjs.map +1 -1
  209. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  210. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  211. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  212. package/cjs/components/Menu/Menu.cjs.map +1 -1
  213. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  214. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -1
  215. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -1
  216. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -1
  217. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs.map +1 -1
  218. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
  219. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  220. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  221. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
  222. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs.map +1 -1
  223. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs.map +1 -1
  224. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs.map +1 -1
  225. package/cjs/components/Menu/MenuSearch/MenuSearch.cjs.map +1 -1
  226. package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs.map +1 -1
  227. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  228. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  229. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  230. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  231. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
  232. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  233. package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -1
  234. package/cjs/components/Menubar/Menubar.cjs +146 -0
  235. package/cjs/components/Menubar/Menubar.cjs.map +1 -0
  236. package/cjs/components/Menubar/Menubar.context.cjs +12 -0
  237. package/cjs/components/Menubar/Menubar.context.cjs.map +1 -0
  238. package/cjs/components/Menubar/Menubar.module.cjs +10 -0
  239. package/cjs/components/Menubar/Menubar.module.cjs.map +1 -0
  240. package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs +61 -0
  241. package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs.map +1 -0
  242. package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs +59 -0
  243. package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs.map +1 -0
  244. package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs +143 -0
  245. package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs.map +1 -0
  246. package/cjs/components/Modal/Modal.cjs.map +1 -1
  247. package/cjs/components/Modal/Modal.context.cjs.map +1 -1
  248. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  249. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  250. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  251. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  252. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  253. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  254. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  255. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  256. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  257. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  258. package/cjs/components/ModalBase/ModalBase.context.cjs.map +1 -1
  259. package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
  260. package/cjs/components/ModalBase/ModalBaseCloseButton.cjs.map +1 -1
  261. package/cjs/components/ModalBase/ModalBaseContent.cjs.map +1 -1
  262. package/cjs/components/ModalBase/ModalBaseHeader.cjs.map +1 -1
  263. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  264. package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
  265. package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
  266. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  267. package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
  268. package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
  269. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  270. package/cjs/components/MultiSelect/MultiSelect.cjs +4 -1
  271. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  272. package/cjs/components/MultiSelect/filter-picked-values.cjs.map +1 -1
  273. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  274. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  275. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  276. package/cjs/components/Notification/Notification.cjs.map +1 -1
  277. package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
  278. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  279. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  280. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  281. package/cjs/components/OverflowList/get-row-position-data.cjs.map +1 -1
  282. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  283. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  284. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  285. package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
  286. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  287. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
  288. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  289. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  290. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  291. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -1
  292. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  293. package/cjs/components/Paper/Paper.cjs.map +1 -1
  294. package/cjs/components/PasswordInput/PasswordInput.cjs +13 -2
  295. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  296. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  297. package/cjs/components/Pill/Pill.cjs.map +1 -1
  298. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  299. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  300. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  301. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  302. package/cjs/components/PinInput/PinInput.cjs +2 -1
  303. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  304. package/cjs/components/PinInput/create-pin-array/create-pin-array.cjs.map +1 -1
  305. package/cjs/components/Popover/Popover.cjs +2 -1
  306. package/cjs/components/Popover/Popover.cjs.map +1 -1
  307. package/cjs/components/Popover/Popover.context.cjs.map +1 -1
  308. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -1
  309. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +1 -0
  310. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  311. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
  312. package/cjs/components/Popover/use-popover.cjs +23 -11
  313. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  314. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  315. package/cjs/components/Portal/Portal.cjs.map +1 -1
  316. package/cjs/components/Progress/Progress.cjs.map +1 -1
  317. package/cjs/components/Progress/Progress.context.cjs.map +1 -1
  318. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  319. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  320. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  321. package/cjs/components/Radio/Radio.cjs.map +1 -1
  322. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  323. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  324. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  325. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  326. package/cjs/components/Rating/Rating.cjs.map +1 -1
  327. package/cjs/components/Rating/Rating.context.cjs.map +1 -1
  328. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  329. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  330. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  331. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  332. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  333. package/cjs/components/RingProgress/get-curves/get-curves.cjs.map +1 -1
  334. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  335. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  336. package/cjs/components/RollingNumber/get-digit-parts.cjs.map +1 -1
  337. package/cjs/components/RollingNumber/get-render-slots.cjs.map +1 -1
  338. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  339. package/cjs/components/ScrollArea/ScrollArea.context.cjs.map +1 -1
  340. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  341. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  342. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
  343. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  344. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  345. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  346. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  347. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  348. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.cjs.map +1 -1
  349. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  350. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  351. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  352. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +1 -0
  353. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  354. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  355. package/cjs/components/ScrollArea/utils/add-unlinked-scroll-listener.cjs.map +1 -1
  356. package/cjs/components/ScrollArea/utils/get-scroll-position-from-pointer.cjs.map +1 -1
  357. package/cjs/components/ScrollArea/utils/get-thumb-offset-from-scroll.cjs.map +1 -1
  358. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  359. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  360. package/cjs/components/Select/Select.cjs.map +1 -1
  361. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs +4 -1
  362. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  363. package/cjs/components/SemiCircleProgress/SemiCircleProgress.module.cjs.map +1 -1
  364. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  365. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  366. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  367. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  368. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  369. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  370. package/cjs/components/Slider/Slider.context.cjs.map +1 -1
  371. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
  372. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  373. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  374. package/cjs/components/Slider/utils/get-precision/get-precision.cjs.map +1 -1
  375. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
  376. package/cjs/components/Space/Space.cjs.map +1 -1
  377. package/cjs/components/Splitter/GripIcon.cjs.map +1 -1
  378. package/cjs/components/Splitter/Splitter.cjs +27 -4
  379. package/cjs/components/Splitter/Splitter.cjs.map +1 -1
  380. package/cjs/components/Splitter/Splitter.context.cjs.map +1 -1
  381. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs +1 -2
  382. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs.map +1 -1
  383. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  384. package/cjs/components/Stack/Stack.cjs.map +1 -1
  385. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  386. package/cjs/components/Stepper/Stepper.context.cjs.map +1 -1
  387. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  388. package/cjs/components/Switch/Switch.cjs.map +1 -1
  389. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  390. package/cjs/components/Table/Table.cjs.map +1 -1
  391. package/cjs/components/Table/Table.components.cjs.map +1 -1
  392. package/cjs/components/Table/Table.context.cjs.map +1 -1
  393. package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
  394. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  395. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  396. package/cjs/components/Tabs/Tabs.cjs +16 -1
  397. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  398. package/cjs/components/Tabs/Tabs.context.cjs.map +1 -1
  399. package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
  400. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +6 -0
  401. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  402. package/cjs/components/Tabs/TabsTab/TabsTab.cjs +1 -1
  403. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  404. package/cjs/components/TagsInput/TagsInput.cjs +4 -1
  405. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  406. package/cjs/components/TagsInput/filter-picked-tags.cjs.map +1 -1
  407. package/cjs/components/TagsInput/get-splitted-tags.cjs.map +1 -1
  408. package/cjs/components/Text/Text.cjs.map +1 -1
  409. package/cjs/components/Text/Text.module.cjs.map +1 -1
  410. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  411. package/cjs/components/Textarea/Autosize.cjs +14 -0
  412. package/cjs/components/Textarea/Autosize.cjs.map +1 -1
  413. package/cjs/components/Textarea/Textarea.cjs.map +1 -1
  414. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  415. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  416. package/cjs/components/Timeline/Timeline.context.cjs.map +1 -1
  417. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  418. package/cjs/components/Title/Title.cjs.map +1 -1
  419. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  420. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  421. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  422. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  423. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  424. package/cjs/components/Transition/Transition.cjs +17 -10
  425. package/cjs/components/Transition/Transition.cjs.map +1 -1
  426. package/cjs/components/Transition/get-transition-styles/get-transition-styles.cjs.map +1 -1
  427. package/cjs/components/Transition/use-transition.cjs.map +1 -1
  428. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  429. package/cjs/components/Tree/Tree.cjs.map +1 -1
  430. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  431. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +1 -1
  432. package/cjs/components/Tree/is-node-checked/is-node-checked.cjs.map +1 -1
  433. package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs.map +1 -1
  434. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  435. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  436. package/cjs/components/TreeSelect/TreeSelect.cjs +7 -1
  437. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  438. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
  439. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -1
  440. package/cjs/components/Typography/Typography.cjs.map +1 -1
  441. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  442. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  443. package/cjs/core/Box/Box.cjs.map +1 -1
  444. package/cjs/core/Box/get-box-mod/get-box-mod.cjs.map +1 -1
  445. package/cjs/core/Box/get-box-style/get-box-style.cjs.map +1 -1
  446. package/cjs/core/Box/get-style-object/get-style-object.cjs.map +1 -1
  447. package/cjs/core/Box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
  448. package/cjs/core/Box/style-props/parse-style-props/sort-media-queries.cjs.map +1 -1
  449. package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
  450. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  451. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  452. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  453. package/cjs/core/InlineStyles/css-object-to-string/css-object-to-string.cjs.map +1 -1
  454. package/cjs/core/InlineStyles/hash-styles.cjs.map +1 -1
  455. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
  456. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  457. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
  458. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  459. package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs +5 -1
  460. package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs.map +1 -1
  461. package/cjs/core/MantineProvider/MantineCssVariables/get-css-color-variables.cjs.map +1 -1
  462. package/cjs/core/MantineProvider/MantineCssVariables/remove-default-variables.cjs.map +1 -1
  463. package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs +3 -1
  464. package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs.map +1 -1
  465. package/cjs/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.cjs.map +1 -1
  466. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  467. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  468. package/cjs/core/MantineProvider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -1
  469. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs +3 -1
  470. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
  471. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs +19 -3
  472. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -1
  473. package/cjs/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
  474. package/cjs/core/MantineProvider/color-functions/to-rgba/to-rgba.cjs.map +1 -1
  475. package/cjs/core/MantineProvider/convert-css-variables/convert-css-variables.cjs.map +1 -1
  476. package/cjs/core/MantineProvider/convert-css-variables/css-variables-object-to-string.cjs.map +1 -1
  477. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  478. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  479. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  480. package/cjs/core/MantineProvider/use-props/use-props.cjs.map +1 -1
  481. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
  482. package/cjs/core/factory/factory.cjs.map +1 -1
  483. package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
  484. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
  485. package/cjs/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.cjs.map +1 -1
  486. package/cjs/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.cjs.map +1 -1
  487. package/cjs/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.cjs.map +1 -1
  488. package/cjs/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.cjs.map +1 -1
  489. package/cjs/core/styles-api/use-styles/get-style/get-style.cjs.map +1 -1
  490. package/cjs/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.cjs.map +1 -1
  491. package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
  492. package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs.map +1 -1
  493. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  494. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs +3 -5
  495. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs.map +1 -1
  496. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
  497. package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -1
  498. package/cjs/core/utils/filter-props/filter-props.cjs.map +1 -1
  499. package/cjs/core/utils/get-context-item-index/get-context-item-index.cjs.map +1 -1
  500. package/cjs/core/utils/get-safe-id/get-safe-id.cjs.map +1 -1
  501. package/cjs/core/utils/is-number-like/is-number-like.cjs.map +1 -1
  502. package/cjs/core/utils/units-converters/px.cjs.map +1 -1
  503. package/cjs/core/utils/units-converters/rem.cjs.map +1 -1
  504. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  505. package/cjs/index.cjs +42 -2
  506. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
  507. package/cjs/utils/Floating/use-context-menu-handlers.cjs.map +1 -1
  508. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  509. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  510. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  511. package/esm/components/Accordion/Accordion.mjs +1 -0
  512. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  513. package/esm/components/ActionIcon/ActionIcon.mjs +1 -0
  514. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  515. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs +1 -1
  516. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  517. package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs.map +1 -1
  518. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  519. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  520. package/esm/components/AppShell/AppShellMain/AppShellMain.mjs.map +1 -1
  521. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
  522. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
  523. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
  524. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
  525. package/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs.map +1 -1
  526. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
  527. package/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs.map +1 -1
  528. package/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs.map +1 -1
  529. package/esm/components/AspectRatio/AspectRatio.mjs.map +1 -1
  530. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  531. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
  532. package/esm/components/Avatar/get-initials/get-initials.mjs.map +1 -1
  533. package/esm/components/BackgroundImage/BackgroundImage.mjs.map +1 -1
  534. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  535. package/esm/components/Blockquote/Blockquote.module.mjs.map +1 -1
  536. package/esm/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
  537. package/esm/components/Button/ButtonGroup/ButtonGroup.mjs.map +1 -1
  538. package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs.map +1 -1
  539. package/esm/components/Checkbox/Checkbox.mjs +2 -1
  540. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  541. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  542. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  543. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  544. package/esm/components/ColorPicker/converters/converters.mjs.map +1 -1
  545. package/esm/components/ColorPicker/converters/parsers.mjs.map +1 -1
  546. package/esm/components/Combobox/Combobox.mjs +1 -0
  547. package/esm/components/Combobox/Combobox.mjs.map +1 -1
  548. package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs.map +1 -1
  549. package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
  550. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs +3 -2
  551. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs.map +1 -1
  552. package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
  553. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +2 -2
  554. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  555. package/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs.map +1 -1
  556. package/esm/components/Combobox/use-combobox/get-index/get-index.mjs.map +1 -1
  557. package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
  558. package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs.map +1 -1
  559. package/esm/components/ComboboxPopover/ComboboxPopover.mjs +216 -0
  560. package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -0
  561. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs +45 -0
  562. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs.map +1 -0
  563. package/esm/components/DataList/DataList.context.mjs +8 -0
  564. package/esm/components/DataList/DataList.context.mjs.map +1 -0
  565. package/esm/components/DataList/DataList.mjs +61 -0
  566. package/esm/components/DataList/DataList.mjs.map +1 -0
  567. package/esm/components/DataList/DataList.module.mjs +12 -0
  568. package/esm/components/DataList/DataList.module.mjs.map +1 -0
  569. package/esm/components/DataList/DataListItem/DataListItem.mjs +32 -0
  570. package/esm/components/DataList/DataListItem/DataListItem.mjs.map +1 -0
  571. package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs +33 -0
  572. package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs.map +1 -0
  573. package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs +33 -0
  574. package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs.map +1 -0
  575. package/esm/components/Drawer/DrawerBody.mjs.map +1 -1
  576. package/esm/components/Drawer/DrawerCloseButton.mjs.map +1 -1
  577. package/esm/components/Drawer/DrawerHeader.mjs.map +1 -1
  578. package/esm/components/Drawer/DrawerOverlay.mjs.map +1 -1
  579. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  580. package/esm/components/Drawer/DrawerTitle.mjs.map +1 -1
  581. package/esm/components/EmptyState/EmptyState.context.mjs +8 -0
  582. package/esm/components/EmptyState/EmptyState.context.mjs.map +1 -0
  583. package/esm/components/EmptyState/EmptyState.mjs +102 -0
  584. package/esm/components/EmptyState/EmptyState.mjs.map +1 -0
  585. package/esm/components/EmptyState/EmptyState.module.mjs +14 -0
  586. package/esm/components/EmptyState/EmptyState.module.mjs.map +1 -0
  587. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs +28 -0
  588. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs.map +1 -0
  589. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs +29 -0
  590. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs.map +1 -0
  591. package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs +29 -0
  592. package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -0
  593. package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs +30 -0
  594. package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs.map +1 -0
  595. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  596. package/esm/components/Grid/GridCol/GridColVariables.mjs.map +1 -1
  597. package/esm/components/Grid/GridVariables.mjs.map +1 -1
  598. package/esm/components/Group/Group.mjs.map +1 -1
  599. package/esm/components/Group/filter-falsy-children/filter-falsy-children.mjs.map +1 -1
  600. package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
  601. package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
  602. package/esm/components/HoverCard/HoverCard.mjs +1 -0
  603. package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
  604. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
  605. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +10 -2
  606. package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
  607. package/esm/components/HoverCard/use-hover-card.mjs +24 -0
  608. package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
  609. package/esm/components/Input/Input.mjs +7 -2
  610. package/esm/components/Input/Input.mjs.map +1 -1
  611. package/esm/components/Input/Input.module.mjs +1 -0
  612. package/esm/components/Input/Input.module.mjs.map +1 -1
  613. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  614. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  615. package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs.map +1 -1
  616. package/esm/components/Input/InputSuccess/InputSuccess.mjs +48 -0
  617. package/esm/components/Input/InputSuccess/InputSuccess.mjs.map +1 -0
  618. package/esm/components/Input/InputWrapper/InputWrapper.mjs +22 -5
  619. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  620. package/esm/components/Input/use-input-props.mjs +4 -1
  621. package/esm/components/Input/use-input-props.mjs.map +1 -1
  622. package/esm/components/JsonInput/validate-json/validate-json.mjs.map +1 -1
  623. package/esm/components/Kbd/Kbd.mjs.map +1 -1
  624. package/esm/components/Mark/Mark.mjs.map +1 -1
  625. package/esm/components/Marquee/Marquee.mjs.map +1 -1
  626. package/esm/components/Menu/MenuDivider/MenuDivider.mjs.map +1 -1
  627. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  628. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  629. package/esm/components/Menu/MenuLabel/MenuLabel.mjs.map +1 -1
  630. package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -1
  631. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -1
  632. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  633. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  634. package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -1
  635. package/esm/components/Menubar/Menubar.context.mjs +9 -0
  636. package/esm/components/Menubar/Menubar.context.mjs.map +1 -0
  637. package/esm/components/Menubar/Menubar.mjs +146 -0
  638. package/esm/components/Menubar/Menubar.mjs.map +1 -0
  639. package/esm/components/Menubar/Menubar.module.mjs +10 -0
  640. package/esm/components/Menubar/Menubar.module.mjs.map +1 -0
  641. package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs +61 -0
  642. package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs.map +1 -0
  643. package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs +59 -0
  644. package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs.map +1 -0
  645. package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs +143 -0
  646. package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs.map +1 -0
  647. package/esm/components/Modal/ModalBody.mjs.map +1 -1
  648. package/esm/components/Modal/ModalCloseButton.mjs.map +1 -1
  649. package/esm/components/Modal/ModalHeader.mjs.map +1 -1
  650. package/esm/components/Modal/ModalOverlay.mjs.map +1 -1
  651. package/esm/components/Modal/ModalTitle.mjs.map +1 -1
  652. package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
  653. package/esm/components/MultiSelect/MultiSelect.mjs +4 -1
  654. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  655. package/esm/components/MultiSelect/filter-picked-values.mjs.map +1 -1
  656. package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
  657. package/esm/components/NativeSelect/NativeSelectOption.mjs.map +1 -1
  658. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  659. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  660. package/esm/components/OverflowList/get-row-position-data.mjs.map +1 -1
  661. package/esm/components/OverflowList/use-dimensions.mjs.map +1 -1
  662. package/esm/components/Overlay/Overlay.mjs.map +1 -1
  663. package/esm/components/Pagination/Pagination.icons.mjs.map +1 -1
  664. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  665. package/esm/components/Pagination/PaginationDots/PaginationDots.mjs.map +1 -1
  666. package/esm/components/Pagination/PaginationItems/PaginationItems.mjs.map +1 -1
  667. package/esm/components/PasswordInput/PasswordInput.mjs +13 -2
  668. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  669. package/esm/components/Pill/PillGroup/PillGroup.mjs.map +1 -1
  670. package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
  671. package/esm/components/PinInput/PinInput.mjs +2 -1
  672. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  673. package/esm/components/PinInput/create-pin-array/create-pin-array.mjs.map +1 -1
  674. package/esm/components/Popover/Popover.context.mjs.map +1 -1
  675. package/esm/components/Popover/Popover.mjs +2 -1
  676. package/esm/components/Popover/Popover.mjs.map +1 -1
  677. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs +1 -0
  678. package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
  679. package/esm/components/Popover/use-popover.mjs +23 -11
  680. package/esm/components/Popover/use-popover.mjs.map +1 -1
  681. package/esm/components/Portal/Portal.mjs.map +1 -1
  682. package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs.map +1 -1
  683. package/esm/components/Radio/Radio.mjs.map +1 -1
  684. package/esm/components/Radio/RadioCard/RadioCard.mjs.map +1 -1
  685. package/esm/components/Rating/Rating.mjs.map +1 -1
  686. package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
  687. package/esm/components/Rating/StarSymbol/StarSymbol.mjs.map +1 -1
  688. package/esm/components/RingProgress/RingProgress.mjs.map +1 -1
  689. package/esm/components/RingProgress/get-curves/get-curves.mjs.map +1 -1
  690. package/esm/components/RollingNumber/get-digit-parts.mjs.map +1 -1
  691. package/esm/components/RollingNumber/get-render-slots.mjs.map +1 -1
  692. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs +1 -0
  693. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs.map +1 -1
  694. package/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs.map +1 -1
  695. package/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs.map +1 -1
  696. package/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs.map +1 -1
  697. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  698. package/esm/components/Select/Select.mjs.map +1 -1
  699. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs +4 -1
  700. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs.map +1 -1
  701. package/esm/components/SemiCircleProgress/SemiCircleProgress.module.mjs.map +1 -1
  702. package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
  703. package/esm/components/Skeleton/Skeleton.mjs.map +1 -1
  704. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  705. package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
  706. package/esm/components/Slider/utils/get-precision/get-precision.mjs.map +1 -1
  707. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
  708. package/esm/components/Splitter/Splitter.context.mjs.map +1 -1
  709. package/esm/components/Splitter/Splitter.mjs +27 -4
  710. package/esm/components/Splitter/Splitter.mjs.map +1 -1
  711. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +1 -2
  712. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -1
  713. package/esm/components/Stack/Stack.mjs.map +1 -1
  714. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  715. package/esm/components/Switch/Switch.mjs.map +1 -1
  716. package/esm/components/Table/Table.components.mjs.map +1 -1
  717. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -1
  718. package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
  719. package/esm/components/Tabs/Tabs.mjs +18 -3
  720. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  721. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs +7 -1
  722. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
  723. package/esm/components/Tabs/TabsTab/TabsTab.mjs +1 -1
  724. package/esm/components/Tabs/TabsTab/TabsTab.mjs.map +1 -1
  725. package/esm/components/TagsInput/TagsInput.mjs +4 -1
  726. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  727. package/esm/components/TagsInput/filter-picked-tags.mjs.map +1 -1
  728. package/esm/components/TagsInput/get-splitted-tags.mjs.map +1 -1
  729. package/esm/components/Text/Text.mjs.map +1 -1
  730. package/esm/components/Text/Text.module.mjs.map +1 -1
  731. package/esm/components/Textarea/Autosize.mjs +14 -0
  732. package/esm/components/Textarea/Autosize.mjs.map +1 -1
  733. package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
  734. package/esm/components/Title/Title.mjs.map +1 -1
  735. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  736. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  737. package/esm/components/Transition/Transition.mjs +17 -10
  738. package/esm/components/Transition/Transition.mjs.map +1 -1
  739. package/esm/components/Transition/get-transition-styles/get-transition-styles.mjs.map +1 -1
  740. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  741. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  742. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +1 -1
  743. package/esm/components/Tree/is-node-checked/is-node-checked.mjs.map +1 -1
  744. package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs.map +1 -1
  745. package/esm/components/Tree/use-tree.mjs.map +1 -1
  746. package/esm/components/TreeSelect/TreeSelect.mjs +7 -1
  747. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  748. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -1
  749. package/esm/components/Typography/Typography.mjs.map +1 -1
  750. package/esm/components/UnstyledButton/UnstyledButton.mjs.map +1 -1
  751. package/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
  752. package/esm/core/Box/Box.mjs.map +1 -1
  753. package/esm/core/Box/get-box-mod/get-box-mod.mjs.map +1 -1
  754. package/esm/core/Box/get-box-style/get-box-style.mjs.map +1 -1
  755. package/esm/core/Box/get-style-object/get-style-object.mjs.map +1 -1
  756. package/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
  757. package/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs.map +1 -1
  758. package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
  759. package/esm/core/Box/use-random-classname/use-random-classname.mjs.map +1 -1
  760. package/esm/core/InlineStyles/InlineStyles.mjs.map +1 -1
  761. package/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs.map +1 -1
  762. package/esm/core/InlineStyles/hash-styles.mjs.map +1 -1
  763. package/esm/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.mjs.map +1 -1
  764. package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
  765. package/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs.map +1 -1
  766. package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs +6 -2
  767. package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs.map +1 -1
  768. package/esm/core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs.map +1 -1
  769. package/esm/core/MantineProvider/MantineCssVariables/remove-default-variables.mjs.map +1 -1
  770. package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs +3 -1
  771. package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs.map +1 -1
  772. package/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs.map +1 -1
  773. package/esm/core/MantineProvider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -1
  774. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +3 -1
  775. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
  776. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs +19 -4
  777. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -1
  778. package/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
  779. package/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs.map +1 -1
  780. package/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs.map +1 -1
  781. package/esm/core/MantineProvider/convert-css-variables/css-variables-object-to-string.mjs.map +1 -1
  782. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
  783. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
  784. package/esm/core/MantineProvider/use-props/use-props.mjs.map +1 -1
  785. package/esm/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -1
  786. package/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs.map +1 -1
  787. package/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs.map +1 -1
  788. package/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs.map +1 -1
  789. package/esm/core/styles-api/use-styles/get-style/get-style.mjs.map +1 -1
  790. package/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs.map +1 -1
  791. package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
  792. package/esm/core/styles-api/use-styles/use-transformed-styles.mjs.map +1 -1
  793. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs +3 -5
  794. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
  795. package/esm/core/utils/create-use-external-events/create-use-external-events.mjs.map +1 -1
  796. package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -1
  797. package/esm/core/utils/filter-props/filter-props.mjs.map +1 -1
  798. package/esm/core/utils/get-context-item-index/get-context-item-index.mjs.map +1 -1
  799. package/esm/core/utils/get-safe-id/get-safe-id.mjs.map +1 -1
  800. package/esm/core/utils/is-number-like/is-number-like.mjs.map +1 -1
  801. package/esm/core/utils/units-converters/px.mjs.map +1 -1
  802. package/esm/core/utils/units-converters/rem.mjs.map +1 -1
  803. package/esm/index.mjs +23 -4
  804. package/lib/components/Accordion/Accordion.d.ts +4 -4
  805. package/lib/components/ActionIcon/ActionIcon.d.ts +3 -3
  806. package/lib/components/Combobox/Combobox.types.d.ts +4 -3
  807. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +1 -1
  808. package/lib/components/Combobox/index.d.ts +1 -1
  809. package/lib/components/ComboboxPopover/ComboboxPopover.d.ts +110 -0
  810. package/lib/components/ComboboxPopover/ComboboxPopover.types.d.ts +2 -0
  811. package/lib/components/ComboboxPopover/ComboboxPopoverTarget.d.ts +16 -0
  812. package/lib/components/ComboboxPopover/index.d.ts +14 -0
  813. package/lib/components/DataList/DataList.context.d.ts +6 -0
  814. package/lib/components/DataList/DataList.d.ts +44 -0
  815. package/lib/components/DataList/DataListItem/DataListItem.d.ts +18 -0
  816. package/lib/components/DataList/DataListItemLabel/DataListItemLabel.d.ts +18 -0
  817. package/lib/components/DataList/DataListItemValue/DataListItemValue.d.ts +18 -0
  818. package/lib/components/DataList/index.d.ts +32 -0
  819. package/lib/components/EmptyState/EmptyState.context.d.ts +8 -0
  820. package/lib/components/EmptyState/EmptyState.d.ts +83 -0
  821. package/lib/components/EmptyState/EmptyStateActions/EmptyStateActions.d.ts +18 -0
  822. package/lib/components/EmptyState/EmptyStateDescription/EmptyStateDescription.d.ts +18 -0
  823. package/lib/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.d.ts +18 -0
  824. package/lib/components/EmptyState/EmptyStateTitle/EmptyStateTitle.d.ts +20 -0
  825. package/lib/components/EmptyState/index.d.ts +13 -0
  826. package/lib/components/HoverCard/HoverCard.context.d.ts +1 -0
  827. package/lib/components/HoverCard/use-hover-card.d.ts +1 -0
  828. package/lib/components/Input/Input.d.ts +11 -0
  829. package/lib/components/Input/InputSuccess/InputSuccess.d.ts +23 -0
  830. package/lib/components/Input/InputWrapper/InputWrapper.d.ts +7 -2
  831. package/lib/components/Input/index.d.ts +3 -1
  832. package/lib/components/Input/use-input-props.d.ts +8 -5
  833. package/lib/components/MaskInput/use-mask-input-props.d.ts +7 -3
  834. package/lib/components/Menubar/Menubar.context.d.ts +51 -0
  835. package/lib/components/Menubar/Menubar.d.ts +56 -0
  836. package/lib/components/Menubar/MenubarDropdown/MenubarDropdown.d.ts +7 -0
  837. package/lib/components/Menubar/MenubarMenu/MenubarMenu.d.ts +9 -0
  838. package/lib/components/Menubar/MenubarTarget/MenubarTarget.d.ts +14 -0
  839. package/lib/components/Menubar/index.d.ts +11 -0
  840. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  841. package/lib/components/NativeSelect/NativeSelect.d.ts +2 -2
  842. package/lib/components/Pagination/Pagination.icons.d.ts +1 -1
  843. package/lib/components/PinInput/PinInput.d.ts +2 -0
  844. package/lib/components/Popover/Popover.context.d.ts +1 -0
  845. package/lib/components/Popover/Popover.d.ts +7 -0
  846. package/lib/components/Slider/Thumb/Thumb.d.ts +1 -1
  847. package/lib/components/Splitter/Splitter.context.d.ts +3 -1
  848. package/lib/components/Splitter/Splitter.d.ts +12 -10
  849. package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +9 -8
  850. package/lib/components/Tabs/Tabs.context.d.ts +2 -0
  851. package/lib/components/Transition/Transition.d.ts +8 -1
  852. package/lib/components/index.d.ts +4 -0
  853. package/lib/core/Box/Box.d.ts +1 -1
  854. package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +7 -2
  855. package/lib/core/MantineProvider/color-functions/index.d.ts +1 -1
  856. package/lib/core/styles-api/styles-api.types.d.ts +2 -2
  857. package/lib/core/styles-api/use-styles/use-styles.d.ts +1 -1
  858. package/package.json +5 -5
  859. package/styles/Blockquote.css +1 -1
  860. package/styles/Blockquote.layer.css +1 -1
  861. package/styles/DataList.css +54 -0
  862. package/styles/DataList.layer.css +55 -0
  863. package/styles/EmptyState.css +121 -0
  864. package/styles/EmptyState.layer.css +122 -0
  865. package/styles/Input.css +21 -2
  866. package/styles/Input.layer.css +21 -2
  867. package/styles/Menubar.css +29 -0
  868. package/styles/Menubar.layer.css +30 -0
  869. package/styles/SemiCircleProgress.css +1 -0
  870. package/styles/SemiCircleProgress.layer.css +1 -0
  871. package/styles/Text.css +1 -1
  872. package/styles/Text.layer.css +1 -1
  873. package/styles/default-css-variables.css +2 -0
  874. package/styles/default-css-variables.layer.css +2 -0
  875. package/styles.css +233 -4
  876. package/styles.layer.css +233 -4
@@ -1 +1 @@
1
- {"version":3,"file":"get-step-mark-value.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-step-mark-value/get-step-mark-value.ts"],"sourcesContent":["export function getNextMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n const nextMark = sortedMarks.find((mark) => mark.value > currentValue);\n return nextMark ? nextMark.value : currentValue;\n}\n\nexport function getPreviousMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => b.value - a.value);\n const previousMark = sortedMarks.find((mark) => mark.value < currentValue);\n return previousMark ? previousMark.value : currentValue;\n}\n\nexport function getFirstMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[0].value : 0;\n}\n\nexport function getLastMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[sortedMarks.length - 1].value : 100;\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,cACA,OACA;CAEA,MAAM,WADc,CAAC,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC/B,EAAE,MAAM,SAAS,KAAK,QAAQ,YAAY;CACrE,OAAO,WAAW,SAAS,QAAQ;AACrC;AAEA,SAAgB,qBACd,cACA,OACA;CAEA,MAAM,eADc,CAAC,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC3B,EAAE,MAAM,SAAS,KAAK,QAAQ,YAAY;CACzE,OAAO,eAAe,aAAa,QAAQ;AAC7C;AAEA,SAAgB,kBAAkB,OAAqD;CACrF,MAAM,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,GAAG,QAAQ;AACzD;AAEA,SAAgB,iBAAiB,OAAqD;CACpF,MAAM,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,YAAY,SAAS,GAAG,QAAQ;AAC9E"}
1
+ {"version":3,"file":"get-step-mark-value.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-step-mark-value/get-step-mark-value.ts"],"sourcesContent":["export function getNextMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n const nextMark = sortedMarks.find((mark) => mark.value > currentValue);\n return nextMark ? nextMark.value : currentValue;\n}\n\nexport function getPreviousMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => b.value - a.value);\n const previousMark = sortedMarks.find((mark) => mark.value < currentValue);\n return previousMark ? previousMark.value : currentValue;\n}\n\nexport function getFirstMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[0].value : 0;\n}\n\nexport function getLastMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[sortedMarks.length - 1].value : 100;\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,cACA,OACA;CAEA,MAAM,WADc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC/B,CAAC,CAAC,MAAM,SAAS,KAAK,QAAQ,YAAY;CACrE,OAAO,WAAW,SAAS,QAAQ;AACrC;AAEA,SAAgB,qBACd,cACA,OACA;CAEA,MAAM,eADc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC3B,CAAC,CAAC,MAAM,SAAS,KAAK,QAAQ,YAAY;CACzE,OAAO,eAAe,aAAa,QAAQ;AAC7C;AAEA,SAAgB,kBAAkB,OAAqD;CACrF,MAAM,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,EAAE,CAAC,QAAQ;AACzD;AAEA,SAAgB,iBAAiB,OAAqD;CACpF,MAAM,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,YAAY,SAAS,EAAE,CAAC,QAAQ;AAC9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Space.cjs","names":["factory","useProps","Box"],"sources":["../../../src/components/Space/Space.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n} from '../../core';\n\nexport interface SpaceProps extends BoxProps, StylesApiProps<SpaceFactory>, ElementProps<'div'> {}\n\nexport type SpaceFactory = Factory<{\n props: SpaceProps;\n ref: HTMLDivElement;\n}>;\n\nexport const Space = factory<SpaceFactory>((props) => {\n const { w, h, miw, mih, ...others } = useProps('Space', null, props);\n return <Box {...others} w={w} miw={miw ?? w} h={h} mih={mih ?? h} />;\n});\n\nSpace.displayName = '@mantine/core/Space';\n\nexport namespace Space {\n export type Props = SpaceProps;\n export type Factory = SpaceFactory;\n}\n"],"mappings":";;;;;;AAiBA,MAAa,QAAQA,gBAAAA,SAAuB,UAAU;CACpD,MAAM,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,WAAWC,kBAAAA,SAAS,SAAS,MAAM,KAAK;CACnE,OAAO,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EAAK,GAAI;EAAW;EAAG,KAAK,OAAO;EAAM;EAAG,KAAK,OAAO;CAAI,CAAA;AACrE,CAAC;AAED,MAAM,cAAc"}
1
+ {"version":3,"file":"Space.cjs","names":["factory","useProps","Box"],"sources":["../../../src/components/Space/Space.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n} from '../../core';\n\nexport interface SpaceProps extends BoxProps, StylesApiProps<SpaceFactory>, ElementProps<'div'> {}\n\nexport type SpaceFactory = Factory<{\n props: SpaceProps;\n ref: HTMLDivElement;\n}>;\n\nexport const Space = factory<SpaceFactory>((props) => {\n const { w, h, miw, mih, ...others } = useProps('Space', null, props);\n return <Box {...others} w={w} miw={miw ?? w} h={h} mih={mih ?? h} />;\n});\n\nSpace.displayName = '@mantine/core/Space';\n\nexport namespace Space {\n export type Props = SpaceProps;\n export type Factory = SpaceFactory;\n}\n"],"mappings":";;;;;;AAiBA,MAAa,QAAQA,gBAAAA,SAAuB,UAAU;CACpD,MAAM,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,WAAWC,kBAAAA,SAAS,SAAS,MAAM,KAAK;CACnE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI;EAAW;EAAG,KAAK,OAAO;EAAM;EAAG,KAAK,OAAO;CAAI,CAAA;AACrE,CAAC;AAED,MAAM,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"GripIcon.cjs","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,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET;AAEA,SAAgB,mBAAmB,OAA8C;CAC/E,OACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET"}
1
+ {"version":3,"file":"GripIcon.cjs","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,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET;AAEA,SAAgB,mBAAmB,OAA8C;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET"}
@@ -15,10 +15,30 @@ let react = require("react");
15
15
  let _mantine_hooks = require("@mantine/hooks");
16
16
  let react_jsx_runtime = require("react/jsx-runtime");
17
17
  //#region packages/@mantine/core/src/components/Splitter/Splitter.tsx
18
+ const PX_RE = /^(-?[\d.]+)px$/;
19
+ const REM_RE = /^(-?[\d.]+)rem$/;
20
+ function isFixedPaneSize(size) {
21
+ return typeof size === "string" && (PX_RE.test(size) || REM_RE.test(size));
22
+ }
23
+ function getPaneFlexStyle(size, pixelMode) {
24
+ const magnitude = typeof size === "number" ? size : parseFloat(size);
25
+ if (!pixelMode) return { flexBasis: `${magnitude}%` };
26
+ if (isFixedPaneSize(size)) return {
27
+ flexGrow: 0,
28
+ flexShrink: 1,
29
+ flexBasis: size
30
+ };
31
+ return {
32
+ flexGrow: magnitude,
33
+ flexShrink: 1,
34
+ flexBasis: 0
35
+ };
36
+ }
18
37
  const defaultProps = {
19
38
  orientation: "horizontal",
20
39
  lineSize: 2,
21
- withHandle: true
40
+ withHandle: true,
41
+ resetOnDoubleClick: true
22
42
  };
23
43
  const varsResolver = require_create_vars_resolver.createVarsResolver((theme, { lineSize, handleColor }) => ({ root: {
24
44
  "--splitter-line-size": require_rem.rem(lineSize),
@@ -26,7 +46,7 @@ const varsResolver = require_create_vars_resolver.createVarsResolver((theme, { l
26
46
  } }));
27
47
  const Splitter = require_factory.factory((_props) => {
28
48
  const props = require_use_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;
49
+ const { orientation, sizes: controlledSizes, onSizeChange, onResizeStart, onResizeEnd, onCollapseChange, redistribute, step, shiftStep, lineSize, handleColor, handleIcon, withHandle, resetOnDoubleClick, splitterRef, children, className, classNames, style, styles, unstyled, vars, mod, attributes, ref, ...others } = props;
30
50
  const { dir } = require_DirectionProvider.useDirection();
31
51
  const paneChildren = react.Children.toArray(children);
32
52
  const splitter = (0, _mantine_hooks.useSplitter)({
@@ -46,9 +66,11 @@ const Splitter = require_factory.factory((_props) => {
46
66
  redistribute,
47
67
  step,
48
68
  shiftStep,
49
- dir
69
+ dir,
70
+ resetOnDoubleClick
50
71
  });
51
72
  (0, react.useImperativeHandle)(splitterRef, () => splitter, [splitter]);
73
+ const getPaneStyle = (index) => getPaneFlexStyle(splitter.sizes[index], splitter.pixelMode);
52
74
  const mergedRef = (0, _mantine_hooks.useMergedRef)(ref, splitter.ref);
53
75
  const getStyles = require_use_styles.useStyles({
54
76
  name: "Splitter",
@@ -90,7 +112,8 @@ const Splitter = require_factory.factory((_props) => {
90
112
  getStyles,
91
113
  sizes: splitter.sizes,
92
114
  collapsed: splitter.collapsed,
93
- orientation
115
+ orientation,
116
+ getPaneStyle
94
117
  },
95
118
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
96
119
  ref: mergedRef,
@@ -1 +1 @@
1
- {"version":3,"file":"Splitter.cjs","names":["createVarsResolver","rem","getThemeColor","factory","useProps","useDirection","Children","useStyles","GripHorizontalIcon","GripVerticalIcon","Box","SplitterProvider","classes","SplitterPane"],"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,eAAeA,6BAAAA,oBAAqC,OAAO,EAAE,UAAU,mBAAmB,EAC9F,MAAM;CACJ,wBAAwBC,YAAAA,IAAI,QAAQ;CACpC,2BAA2B,cAAcC,wBAAAA,cAAc,aAAa,KAAK,IAAI,KAAA;AAC/E,EACF,EAAE;AAEF,MAAa,WAAWC,gBAAAA,SAA0B,WAAW;CAC3D,MAAM,QAAQC,kBAAAA,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,QAAQC,0BAAAA,aAAa;CAE7B,MAAM,eAAeC,MAAAA,SAAS,QAAQ,QAAQ;CAU9C,MAAM,YAAA,GAAA,eAAA,aAAuB;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,CAAA,GAAA,MAAA,qBAAoB,mBAAmB,UAAU,CAAC,QAAQ,CAAC;CAE3D,MAAM,aAAA,GAAA,eAAA,cAAyB,KAAK,SAAS,GAAG;CAEhD,MAAM,YAAYC,mBAAAA,UAA2B;EAC3C,MAAM;EACN,SAAA,wBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAGD,MAAM,YAAY,eAAe,KAAA,IAAY,aADzB,gBAAgB,aAAa,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,oBAAD,CAAqB,CAAA,IAAI,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,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,iBAAA,GAAA,MAAA,eAACC,YAAAA,KAAD;IAAK,GAAI,UAAU,QAAQ;IAAG,KAAK,UAAU,QAAQ;IAAK,GAAI;GAUzD,GATF,cACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;IACE,GAAI,UAAU,OAAO;IACrB,oBAAkB;IAClB,eAAa,YAAY,KAAA;cAExB;GACE,CAAA,CAEJ,CACP;EACF;EAEA,MAAM,MAAA,GAAA,MAAA,cACS,OAAO;GAClB,KAAK,QAAQ;GACb,SAAS;EACX,CAAC,CACH;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,kBAAD;EACE,OAAO;GACL;GACA,OAAO,SAAS;GAChB,WAAW,SAAS;GACP;EACf;YAEA,iBAAA,GAAA,kBAAA,KAACD,YAAAA,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,UAAUE,wBAAAA;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,OAAOC,qBAAAA"}
1
+ {"version":3,"file":"Splitter.cjs","names":["createVarsResolver","rem","getThemeColor","factory","useProps","useDirection","Children","useStyles","GripHorizontalIcon","GripVerticalIcon","Box","SplitterProvider","classes","SplitterPane"],"sources":["../../../src/components/Splitter/Splitter.tsx"],"sourcesContent":["import { Children, cloneElement, useImperativeHandle } from 'react';\nimport {\n SplitterPaneSize,\n SplitterStep,\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\nconst PX_RE = /^(-?[\\d.]+)px$/;\nconst REM_RE = /^(-?[\\d.]+)rem$/;\n\nfunction isFixedPaneSize(size: SplitterPaneSize): boolean {\n return typeof size === 'string' && (PX_RE.test(size) || REM_RE.test(size));\n}\n\nfunction getPaneFlexStyle(size: SplitterPaneSize, pixelMode: boolean): React.CSSProperties {\n const magnitude = typeof size === 'number' ? size : parseFloat(size);\n\n if (!pixelMode) {\n return { flexBasis: `${magnitude}%` };\n }\n\n if (isFixedPaneSize(size)) {\n return { flexGrow: 0, flexShrink: 1, flexBasis: size as string };\n }\n\n return { flexGrow: magnitude, flexShrink: 1, flexBasis: 0 };\n}\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, each value keeps the unit it was declared in (number/`%` flexible, `px`/`rem` fixed) */\n sizes?: SplitterPaneSize[];\n\n /** Called during resize with updated sizes, each value keeps its declared unit */\n onSizeChange?: (sizes: SplitterPaneSize[]) => void;\n\n /** Called when drag starts */\n onResizeStart?: (handleIndex: number) => void;\n\n /** Called when drag ends */\n onResizeEnd?: (handleIndex: number, sizes: SplitterPaneSize[]) => 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, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels @default 1 */\n step?: SplitterStep;\n\n /** Shift+arrow step size, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels @default 10 */\n shiftStep?: SplitterStep;\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 /** Restore the two panes adjacent to a handle to their default ratio (preserving their combined size) when the handle is double-clicked @default true */\n resetOnDoubleClick?: 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 resetOnDoubleClick: 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 resetOnDoubleClick,\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 resetOnDoubleClick,\n });\n\n useImperativeHandle(splitterRef, () => splitter, [splitter]);\n\n const getPaneStyle = (index: number) =>\n getPaneFlexStyle(splitter.sizes[index], splitter.pixelMode);\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 getPaneStyle,\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Splitter.context.cjs","names":["createSafeContext"],"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,4FAAsBA,EAAAA,kBACpD,8CACF"}
1
+ {"version":3,"file":"Splitter.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Splitter/Splitter.context.ts"],"sourcesContent":["import type { SplitterPaneSize } from '@mantine/hooks';\nimport { createSafeContext, GetStylesApi } from '../../core';\nimport type { SplitterFactory } from './Splitter';\n\nexport interface SplitterContextValue {\n getStyles: GetStylesApi<SplitterFactory>;\n sizes: SplitterPaneSize[];\n collapsed: boolean[];\n orientation: 'horizontal' | 'vertical';\n getPaneStyle: (index: number) => React.CSSProperties;\n}\n\nexport const [SplitterProvider, useSplitterContext] = createSafeContext<SplitterContextValue>(\n 'Splitter component was not found in the tree'\n);\n"],"mappings":";;AAYA,MAAa,CAAC,kBAAkB,4FAAsBA,CAAAA,CAAAA,kBACpD,8CACF"}
@@ -10,9 +10,8 @@ const SplitterPane = require_factory.factory((_props) => {
10
10
  const props = require_use_props.useProps("SplitterPane", null, _props);
11
11
  const { className, classNames, style, styles, vars, children, defaultSize, min, max, collapsible, collapseThreshold, __index, mod, ...others } = props;
12
12
  const ctx = require_Splitter_context.useSplitterContext();
13
- const size = ctx.sizes[__index];
14
13
  const isCollapsed = ctx.collapsed[__index];
15
- const sizeStyle = { flexBasis: `${size}%` };
14
+ const sizeStyle = ctx.getPaneStyle(__index);
16
15
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
17
16
  ...ctx.getStyles("pane", {
18
17
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"SplitterPane.cjs","names":["factory","useProps","useSplitterContext","Box","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,eAAeA,gBAAAA,SAA8B,WAAW;CACnE,MAAM,QAAQC,kBAAAA,SAAS,gBAAgB,MAAM,MAAM;CACnD,MAAM,EACJ,WACA,YACA,OACA,QACA,MACA,UACA,aACA,KACA,KACA,aACA,mBACA,SACA,KACA,GAAG,WACD;CAEJ,MAAM,MAAMC,yBAAAA,mBAAmB;CAC/B,MAAM,OAAO,IAAI,MAAM;CACvB,MAAM,cAAc,IAAI,UAAU;CAElC,MAAM,YAAY,EAAE,WAAW,GAAG,KAAK,GAAG;CAE1C,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,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,UAAUC,wBAAAA;AACvB,aAAa,cAAc"}
1
+ {"version":3,"file":"SplitterPane.cjs","names":["factory","useProps","useSplitterContext","Box","classes"],"sources":["../../../../src/components/Splitter/SplitterPane/SplitterPane.tsx"],"sourcesContent":["import type { SplitterPaneSize } from '@mantine/hooks';\nimport {\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, a `number`/`%` is a flexible size (shares leftover space), `px`/`rem` is a fixed size. A bare number is treated as a percentage. */\n defaultSize: SplitterPaneSize;\n\n /** Minimum size in the same units as `defaultSize` @default 0 */\n min?: SplitterPaneSize;\n\n /** Maximum size in the same units as `defaultSize`, no limit by default */\n max?: SplitterPaneSize;\n\n /** Whether this pane can be collapsed @default false */\n collapsible?: boolean;\n\n /** Size below which the pane snaps to collapsed, defaults to `min` */\n collapseThreshold?: SplitterPaneSize;\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 isCollapsed = ctx.collapsed[__index!];\n\n const sizeStyle = ctx.getPaneStyle(__index!);\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":";;;;;;;;AA8CA,MAAa,eAAeA,gBAAAA,SAA8B,WAAW;CACnE,MAAM,QAAQC,kBAAAA,SAAS,gBAAgB,MAAM,MAAM;CACnD,MAAM,EACJ,WACA,YACA,OACA,QACA,MACA,UACA,aACA,KACA,KACA,aACA,mBACA,SACA,KACA,GAAG,WACD;CAEJ,MAAM,MAAMC,yBAAAA,mBAAmB;CAC/B,MAAM,cAAc,IAAI,UAAU;CAElC,MAAM,YAAY,IAAI,aAAa,OAAQ;CAE3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,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,UAAUC,wBAAAA;AACvB,aAAa,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spoiler.cjs","names":["createVarsResolver","factory","useProps","useStyles","Box","Anchor","rem","classes"],"sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import { useElementSize, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps, StylesApiProps<SpoilerFactory>, ElementProps<'div'> {\n /** Maximum height of visible content in px. When content exceeds this height, the toggle control appears @default 100 */\n maxHeight?: number;\n\n /** Content displayed in the toggle button when content is collapsed (to expand) */\n showLabel: React.ReactNode;\n\n /** Content displayed in the toggle button when content is expanded (to collapse) */\n hideLabel: React.ReactNode;\n\n /** Ref of the toggle button element */\n controlRef?: React.Ref<HTMLButtonElement>;\n\n /** Initial expanded state in uncontrolled mode. If `true`, content starts expanded. If `false`, content starts collapsed @default false */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state value */\n expanded?: boolean;\n\n /** Called when expanded state changes (when spoiler visibility is toggled by the user) */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Spoiler reveal transition duration in ms. Set to 0 to disable animation @default 200 */\n transitionDuration?: number;\n\n /** Accessible label for the toggle button when collapsed. If not set, `showLabel` is used */\n showAriaLabel?: string;\n\n /** Accessible label for the toggle button when expanded. If not set, `hideLabel` is used */\n hideAriaLabel?: string;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps = {\n maxHeight: 100,\n defaultExpanded: false,\n} satisfies Partial<SpoilerProps>;\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n defaultExpanded,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n expanded,\n onExpandedChange,\n showAriaLabel,\n hideAriaLabel,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: false,\n onChange: onExpandedChange,\n });\n const { ref: contentRef, height } = useElementSize();\n const spoilerMoreContent = show ? hideLabel : showLabel;\n const spoiler = spoilerMoreContent !== null && maxHeight! < height;\n const ariaLabel = show ? hideAriaLabel : showAriaLabel;\n\n return (\n <Box {...getStyles('root')} id={_id} data-has-spoiler={spoiler || undefined} {...others}>\n {spoiler && (\n <Anchor\n component=\"button\"\n type=\"button\"\n ref={controlRef}\n onClick={() => setShowState(!show)}\n aria-expanded={show}\n aria-controls={regionId}\n aria-label={ariaLabel}\n {...getStyles('control')}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n <div\n {...getStyles('content', {\n style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : undefined },\n })}\n data-reduce-motion\n role=\"region\"\n id={regionId}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n </Box>\n );\n});\n\nSpoiler.classes = classes;\nSpoiler.varsResolver = varsResolver;\nSpoiler.displayName = '@mantine/core/Spoiler';\n\nexport namespace Spoiler {\n export type Props = SpoilerProps;\n export type StylesNames = SpoilerStylesNames;\n export type CssVariables = SpoilerCssVariables;\n export type Factory = SpoilerFactory;\n}\n"],"mappings":";;;;;;;;;;;;AA6DA,MAAM,eAAe;CACnB,WAAW;CACX,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAAoC,GAAG,EAAE,0BAA0B,EACtF,MAAM,EACJ,iCACE,uBAAuB,KAAA,IAAY,GAAG,mBAAmB,MAAM,KAAA,EACnE,EACF,EAAE;AAEF,MAAa,UAAUC,gBAAAA,SAAyB,WAAW;CACzD,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,iBACA,WACA,WACA,WACA,UACA,YACA,oBACA,IACA,UACA,kBACA,eACA,eACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA0B;EAC1C,MAAM;EACN,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,OAAA,GAAA,eAAA,OAAY,EAAE;CACpB,MAAM,WAAW,GAAG,IAAI;CACxB,MAAM,CAAC,MAAM,iBAAA,GAAA,eAAA,iBAAgC;EAC3C,OAAO;EACP,cAAc;EACd,YAAY;EACZ,UAAU;CACZ,CAAC;CACD,MAAM,EAAE,KAAK,YAAY,YAAA,GAAA,eAAA,gBAA0B;CACnD,MAAM,qBAAqB,OAAO,YAAY;CAC9C,MAAM,UAAU,uBAAuB,QAAQ,YAAa;CAC5D,MAAM,YAAY,OAAO,gBAAgB;CAEzC,OACE,iBAAA,GAAA,kBAAA,MAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAG,IAAI;EAAK,oBAAkB,WAAW,KAAA;EAAW,GAAI;YAAjF,CACG,WACC,iBAAA,GAAA,kBAAA,KAACC,eAAAA,QAAD;GACE,WAAU;GACV,MAAK;GACL,KAAK;GACL,eAAe,aAAa,CAAC,IAAI;GACjC,iBAAe;GACf,iBAAe;GACf,cAAY;GACZ,GAAI,UAAU,SAAS;aAEtB;EACK,CAAA,GAEV,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,GAAI,UAAU,WAAW,EACvB,OAAO,EAAE,WAAW,CAAC,OAAOC,YAAAA,IAAI,SAAS,IAAI,SAASA,YAAAA,IAAI,MAAM,IAAI,KAAA,EAAU,EAChF,CAAC;GACD,sBAAA;GACA,MAAK;GACL,IAAI;aAEJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,KAAK;IAAa;GAAc,CAAA;EAClC,CAAA,CACF;;AAET,CAAC;AAED,QAAQ,UAAUC,uBAAAA;AAClB,QAAQ,eAAe;AACvB,QAAQ,cAAc"}
1
+ {"version":3,"file":"Spoiler.cjs","names":["createVarsResolver","factory","useProps","useStyles","Box","Anchor","rem","classes"],"sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import { useElementSize, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps, StylesApiProps<SpoilerFactory>, ElementProps<'div'> {\n /** Maximum height of visible content in px. When content exceeds this height, the toggle control appears @default 100 */\n maxHeight?: number;\n\n /** Content displayed in the toggle button when content is collapsed (to expand) */\n showLabel: React.ReactNode;\n\n /** Content displayed in the toggle button when content is expanded (to collapse) */\n hideLabel: React.ReactNode;\n\n /** Ref of the toggle button element */\n controlRef?: React.Ref<HTMLButtonElement>;\n\n /** Initial expanded state in uncontrolled mode. If `true`, content starts expanded. If `false`, content starts collapsed @default false */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state value */\n expanded?: boolean;\n\n /** Called when expanded state changes (when spoiler visibility is toggled by the user) */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Spoiler reveal transition duration in ms. Set to 0 to disable animation @default 200 */\n transitionDuration?: number;\n\n /** Accessible label for the toggle button when collapsed. If not set, `showLabel` is used */\n showAriaLabel?: string;\n\n /** Accessible label for the toggle button when expanded. If not set, `hideLabel` is used */\n hideAriaLabel?: string;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps = {\n maxHeight: 100,\n defaultExpanded: false,\n} satisfies Partial<SpoilerProps>;\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n defaultExpanded,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n expanded,\n onExpandedChange,\n showAriaLabel,\n hideAriaLabel,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: false,\n onChange: onExpandedChange,\n });\n const { ref: contentRef, height } = useElementSize();\n const spoilerMoreContent = show ? hideLabel : showLabel;\n const spoiler = spoilerMoreContent !== null && maxHeight! < height;\n const ariaLabel = show ? hideAriaLabel : showAriaLabel;\n\n return (\n <Box {...getStyles('root')} id={_id} data-has-spoiler={spoiler || undefined} {...others}>\n {spoiler && (\n <Anchor\n component=\"button\"\n type=\"button\"\n ref={controlRef}\n onClick={() => setShowState(!show)}\n aria-expanded={show}\n aria-controls={regionId}\n aria-label={ariaLabel}\n {...getStyles('control')}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n <div\n {...getStyles('content', {\n style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : undefined },\n })}\n data-reduce-motion\n role=\"region\"\n id={regionId}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n </Box>\n );\n});\n\nSpoiler.classes = classes;\nSpoiler.varsResolver = varsResolver;\nSpoiler.displayName = '@mantine/core/Spoiler';\n\nexport namespace Spoiler {\n export type Props = SpoilerProps;\n export type StylesNames = SpoilerStylesNames;\n export type CssVariables = SpoilerCssVariables;\n export type Factory = SpoilerFactory;\n}\n"],"mappings":";;;;;;;;;;;;AA6DA,MAAM,eAAe;CACnB,WAAW;CACX,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAAoC,GAAG,EAAE,0BAA0B,EACtF,MAAM,EACJ,iCACE,uBAAuB,KAAA,IAAY,GAAG,mBAAmB,MAAM,KAAA,EACnE,EACF,EAAE;AAEF,MAAa,UAAUC,gBAAAA,SAAyB,WAAW;CACzD,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,iBACA,WACA,WACA,WACA,UACA,YACA,oBACA,IACA,UACA,kBACA,eACA,eACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA0B;EAC1C,MAAM;EACN,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,OAAA,GAAA,eAAA,MAAA,CAAY,EAAE;CACpB,MAAM,WAAW,GAAG,IAAI;CACxB,MAAM,CAAC,MAAM,iBAAA,GAAA,eAAA,gBAAA,CAAgC;EAC3C,OAAO;EACP,cAAc;EACd,YAAY;EACZ,UAAU;CACZ,CAAC;CACD,MAAM,EAAE,KAAK,YAAY,YAAA,GAAA,eAAA,eAAA,CAA0B;CACnD,MAAM,qBAAqB,OAAO,YAAY;CAC9C,MAAM,UAAU,uBAAuB,QAAQ,YAAa;CAC5D,MAAM,YAAY,OAAO,gBAAgB;CAEzC,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAG,IAAI;EAAK,oBAAkB,WAAW,KAAA;EAAW,GAAI;YAAjF,CACG,WACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GACE,WAAU;GACV,MAAK;GACL,KAAK;GACL,eAAe,aAAa,CAAC,IAAI;GACjC,iBAAe;GACf,iBAAe;GACf,cAAY;GACZ,GAAI,UAAU,SAAS;aAEtB;EACK,CAAA,GAEV,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GACE,GAAI,UAAU,WAAW,EACvB,OAAO,EAAE,WAAW,CAAC,OAAOC,YAAAA,IAAI,SAAS,IAAI,SAASA,YAAAA,IAAI,MAAM,IAAI,KAAA,EAAU,EAChF,CAAC;GACD,sBAAA;GACA,MAAK;GACL,IAAI;aAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,KAAK;IAAa;GAAc,CAAA;EAClC,CAAA,CACF;;AAET,CAAC;AAED,QAAQ,UAAUC,uBAAAA;AAClB,QAAQ,eAAe;AACvB,QAAQ,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.cjs","names":["createVarsResolver","getSpacing","factory","useProps","Box","useStyles","classes"],"sources":["../../../src/components/Stack/Stack.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Stack.module.css';\n\nexport type StackStylesNames = 'root';\nexport type StackCssVariables = {\n root: '--stack-gap' | '--stack-align' | '--stack-justify';\n};\n\nexport interface StackProps extends BoxProps, StylesApiProps<StackFactory>, ElementProps<'div'> {\n /** Key of `theme.spacing` or any valid CSS value to set `gap` property, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Controls `align-items` CSS property @default 'stretch' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n}\n\nexport type StackFactory = Factory<{\n props: StackProps;\n ref: HTMLDivElement;\n stylesNames: StackStylesNames;\n vars: StackCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'md',\n align: 'stretch',\n justify: 'flex-start',\n} satisfies Partial<StackProps>;\n\nconst varsResolver = createVarsResolver<StackFactory>((_, { gap, align, justify }) => ({\n root: {\n '--stack-gap': getSpacing(gap),\n '--stack-align': align,\n '--stack-justify': justify,\n },\n}));\n\nexport const Stack = factory<StackFactory>((_props) => {\n const props = useProps('Stack', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StackFactory>({\n name: 'Stack',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return <Box {...getStyles('root')} variant={variant} {...others} />;\n});\n\nStack.classes = classes;\nStack.varsResolver = varsResolver;\nStack.displayName = '@mantine/core/Stack';\n\nexport namespace Stack {\n export type Props = StackProps;\n export type StylesNames = StackStylesNames;\n export type CssVariables = StackCssVariables;\n export type Factory = StackFactory;\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAM,eAAe;CACnB,KAAK;CACL,OAAO;CACP,SAAS;AACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,KAAK,OAAO,eAAe,EACrF,MAAM;CACJ,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;AACrB,EACF,EAAE;AAEF,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,SACA,KACA,SACA,YACA,GAAG,WACD;CAgBJ,OAAO,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EAAK,GAdMC,mBAAAA,UAAwB;GACxC,MAAM;GACN;GACA,SAAA,qBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAEwB,EAAE,MAAM;EAAY;EAAS,GAAI;CAAS,CAAA;AACpE,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
1
+ {"version":3,"file":"Stack.cjs","names":["createVarsResolver","getSpacing","factory","useProps","Box","useStyles","classes"],"sources":["../../../src/components/Stack/Stack.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Stack.module.css';\n\nexport type StackStylesNames = 'root';\nexport type StackCssVariables = {\n root: '--stack-gap' | '--stack-align' | '--stack-justify';\n};\n\nexport interface StackProps extends BoxProps, StylesApiProps<StackFactory>, ElementProps<'div'> {\n /** Key of `theme.spacing` or any valid CSS value to set `gap` property, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Controls `align-items` CSS property @default 'stretch' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n}\n\nexport type StackFactory = Factory<{\n props: StackProps;\n ref: HTMLDivElement;\n stylesNames: StackStylesNames;\n vars: StackCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'md',\n align: 'stretch',\n justify: 'flex-start',\n} satisfies Partial<StackProps>;\n\nconst varsResolver = createVarsResolver<StackFactory>((_, { gap, align, justify }) => ({\n root: {\n '--stack-gap': getSpacing(gap),\n '--stack-align': align,\n '--stack-justify': justify,\n },\n}));\n\nexport const Stack = factory<StackFactory>((_props) => {\n const props = useProps('Stack', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StackFactory>({\n name: 'Stack',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return <Box {...getStyles('root')} variant={variant} {...others} />;\n});\n\nStack.classes = classes;\nStack.varsResolver = varsResolver;\nStack.displayName = '@mantine/core/Stack';\n\nexport namespace Stack {\n export type Props = StackProps;\n export type StylesNames = StackStylesNames;\n export type CssVariables = StackCssVariables;\n export type Factory = StackFactory;\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAM,eAAe;CACnB,KAAK;CACL,OAAO;CACP,SAAS;AACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,KAAK,OAAO,eAAe,EACrF,MAAM;CACJ,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;AACrB,EACF,EAAE;AAEF,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,SACA,KACA,SACA,YACA,GAAG,WACD;CAgBJ,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAdMC,mBAAAA,UAAwB;GACxC,MAAM;GACN;GACA,SAAA,qBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAEwB,CAAC,CAAC,MAAM;EAAY;EAAS,GAAI;CAAS,CAAA;AACpE,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","getSize","rem","getSpacing","getRadius","getFontSize","factory","useProps","useStyles","Children","StepperCompleted","Activity","StepperProvider","Box","classes","StepperStep"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Activity, Children, cloneElement } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { StepperProvider, type StepperContextValue } from './Stepper.context';\nimport { StepperCompleted, StepperCompletedProps } from './StepperCompleted/StepperCompleted';\nimport { StepperStep, StepperStepProps } from './StepperStep/StepperStep';\nimport classes from './Stepper.module.css';\nexport type StepFragmentComponent = React.FC<{ step: number }>;\n\nexport type StepperStylesNames =\n | 'root'\n | 'separator'\n | 'steps'\n | 'content'\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport type StepperCssVariables = {\n root:\n | '--stepper-color'\n | '--stepper-icon-color'\n | '--stepper-icon-size'\n | '--stepper-content-padding'\n | '--stepper-radius'\n | '--stepper-fz'\n | '--stepper-spacing';\n};\n\nexport interface StepperProps\n extends BoxProps, StylesApiProps<StepperFactory>, ElementProps<'div'> {\n /** `Stepper.Step` components */\n children: React.ReactNode;\n\n /** Called when a clickable step is clicked with its 0-based index. Not called for the currently active step. */\n onStepClick?: (stepIndex: number) => void;\n\n /** Index of the active step */\n active: number;\n\n /** Step icon @default step index + 1 */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed @default CheckIcon */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress @default step index + 1 */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Key of `theme.colors` or any valid CSS color, controls colors of active and progress steps @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the step icon, by default icon size is inferred from `size` prop */\n iconSize?: number | string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `padding-top` of the content @default 'md' */\n contentPadding?: MantineSpacing;\n\n /** Stepper orientation @default 'horizontal' */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to the step body @default 'left' */\n iconPosition?: 'right' | 'left';\n\n /** Controls size of various Stepper elements */\n size?: MantineSize;\n\n /** Key of `theme.radius` or any valid CSS value to set steps border-radius @default \"xl\" */\n radius?: MantineRadius;\n\n /** When true, users can click and jump to any step. When false, users can only navigate to completed steps @default true */\n allowNextStepsSelect?: boolean;\n\n /** Determines whether steps should wrap to the next line if no space is available @default true */\n wrap?: boolean;\n\n /** When true, automatically adjusts the icon color in completed steps to ensure sufficient contrast against the step background color */\n autoContrast?: boolean;\n\n /** If set, all step content is kept mounted. React 19 `Activity` is used to preserve state while content is hidden. @default false */\n keepMounted?: boolean;\n}\n\nexport type StepperFactory = Factory<{\n props: StepperProps;\n ref: HTMLDivElement;\n stylesNames: StepperStylesNames;\n vars: StepperCssVariables;\n staticComponents: {\n Step: typeof StepperStep;\n Completed: typeof StepperCompleted;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n iconPosition: 'left',\n allowNextStepsSelect: true,\n wrap: true,\n} satisfies Partial<StepperProps>;\n\nconst varsResolver = createVarsResolver<StepperFactory>(\n (theme, { color, iconSize, size, contentPadding, radius, autoContrast }) => ({\n root: {\n '--stepper-color': color ? getThemeColor(color, theme) : undefined,\n '--stepper-icon-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--stepper-icon-size':\n iconSize === undefined ? getSize(size, 'stepper-icon-size') : rem(iconSize),\n '--stepper-content-padding': getSpacing(contentPadding),\n '--stepper-radius': radius === undefined ? undefined : getRadius(radius),\n '--stepper-fz': getFontSize(size),\n '--stepper-spacing': getSpacing(size),\n },\n })\n);\n\nexport const Stepper = factory<StepperFactory>((_props) => {\n const props = useProps('Stepper', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n onStepClick,\n active,\n icon,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n orientation,\n iconPosition,\n size,\n radius,\n allowNextStepsSelect,\n wrap,\n autoContrast,\n keepMounted,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StepperFactory>({\n name: 'Stepper',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter(\n (child) => child.type !== StepperCompleted\n ) as React.ReactElement<StepperStepProps>[];\n const completedStep = convertedChildren.find(\n (item) => item.type === StepperCompleted\n ) as React.ReactElement<StepperCompletedProps>;\n\n const items = _children.reduce<React.ReactElement<StepperStepProps>[]>(\n (acc, item: React.ReactElement<StepperStepProps>, index) => {\n const state =\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive';\n\n const shouldAllowSelect = () => {\n if (typeof onStepClick !== 'function') {\n return false;\n }\n\n if (typeof item.props.allowStepSelect === 'boolean') {\n return item.props.allowStepSelect;\n }\n\n return state === 'stepCompleted' || allowNextStepsSelect;\n };\n\n const isStepSelectionEnabled = shouldAllowSelect();\n\n acc.push(\n cloneElement(item, {\n icon: item.props.icon || icon || index + 1,\n key: index,\n step: index,\n state,\n onClick: () => isStepSelectionEnabled && onStepClick?.(index),\n allowStepClick: isStepSelectionEnabled,\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n {...getStyles('separator')}\n data-active={index < active || undefined}\n data-orientation={orientation}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n },\n []\n );\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n const contentSection = keepMounted ? (\n <>\n {_children.map((child, index) => (\n <Activity key={index} mode={active === index ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{child.props.children}</div>\n </Activity>\n ))}\n {completedStep && (\n <Activity mode={active > _children.length - 1 ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{completedStep.props.children}</div>\n </Activity>\n )}\n </>\n ) : (\n content && <div {...getStyles('content')}>{content}</div>\n );\n\n return (\n <StepperProvider value={{ getStyles, orientation, iconPosition }}>\n <Box {...getStyles('root')} size={size} {...others}>\n <Box\n {...getStyles('steps')}\n mod={{\n orientation,\n 'icon-position': iconPosition,\n wrap: wrap && orientation !== 'vertical',\n }}\n >\n {items}\n </Box>\n {contentSection}\n </Box>\n </StepperProvider>\n );\n});\n\nStepper.classes = classes;\nStepper.varsResolver = varsResolver;\nStepper.displayName = '@mantine/core/Stepper';\nStepper.Completed = StepperCompleted;\nStepper.Step = StepperStep;\n\nexport namespace Stepper {\n export type Props = StepperProps;\n export type StylesNames = StepperStylesNames;\n export type CssVariables = StepperCssVariables;\n export type Factory = StepperFactory;\n export type Step = StepFragmentComponent;\n export type ContextValue = StepperContextValue;\n\n export namespace Step {\n export type Props = StepperStepProps;\n }\n\n export namespace Completed {\n export type Props = StepperCompletedProps;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Stepper.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","getSize","rem","getSpacing","getRadius","getFontSize","factory","useProps","useStyles","Children","StepperCompleted","Activity","StepperProvider","Box","classes","StepperStep"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Activity, Children, cloneElement } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { StepperProvider, type StepperContextValue } from './Stepper.context';\nimport { StepperCompleted, StepperCompletedProps } from './StepperCompleted/StepperCompleted';\nimport { StepperStep, StepperStepProps } from './StepperStep/StepperStep';\nimport classes from './Stepper.module.css';\nexport type StepFragmentComponent = React.FC<{ step: number }>;\n\nexport type StepperStylesNames =\n | 'root'\n | 'separator'\n | 'steps'\n | 'content'\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport type StepperCssVariables = {\n root:\n | '--stepper-color'\n | '--stepper-icon-color'\n | '--stepper-icon-size'\n | '--stepper-content-padding'\n | '--stepper-radius'\n | '--stepper-fz'\n | '--stepper-spacing';\n};\n\nexport interface StepperProps\n extends BoxProps, StylesApiProps<StepperFactory>, ElementProps<'div'> {\n /** `Stepper.Step` components */\n children: React.ReactNode;\n\n /** Called when a clickable step is clicked with its 0-based index. Not called for the currently active step. */\n onStepClick?: (stepIndex: number) => void;\n\n /** Index of the active step */\n active: number;\n\n /** Step icon @default step index + 1 */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed @default CheckIcon */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress @default step index + 1 */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Key of `theme.colors` or any valid CSS color, controls colors of active and progress steps @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the step icon, by default icon size is inferred from `size` prop */\n iconSize?: number | string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `padding-top` of the content @default 'md' */\n contentPadding?: MantineSpacing;\n\n /** Stepper orientation @default 'horizontal' */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to the step body @default 'left' */\n iconPosition?: 'right' | 'left';\n\n /** Controls size of various Stepper elements */\n size?: MantineSize;\n\n /** Key of `theme.radius` or any valid CSS value to set steps border-radius @default \"xl\" */\n radius?: MantineRadius;\n\n /** When true, users can click and jump to any step. When false, users can only navigate to completed steps @default true */\n allowNextStepsSelect?: boolean;\n\n /** Determines whether steps should wrap to the next line if no space is available @default true */\n wrap?: boolean;\n\n /** When true, automatically adjusts the icon color in completed steps to ensure sufficient contrast against the step background color */\n autoContrast?: boolean;\n\n /** If set, all step content is kept mounted. React 19 `Activity` is used to preserve state while content is hidden. @default false */\n keepMounted?: boolean;\n}\n\nexport type StepperFactory = Factory<{\n props: StepperProps;\n ref: HTMLDivElement;\n stylesNames: StepperStylesNames;\n vars: StepperCssVariables;\n staticComponents: {\n Step: typeof StepperStep;\n Completed: typeof StepperCompleted;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n iconPosition: 'left',\n allowNextStepsSelect: true,\n wrap: true,\n} satisfies Partial<StepperProps>;\n\nconst varsResolver = createVarsResolver<StepperFactory>(\n (theme, { color, iconSize, size, contentPadding, radius, autoContrast }) => ({\n root: {\n '--stepper-color': color ? getThemeColor(color, theme) : undefined,\n '--stepper-icon-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--stepper-icon-size':\n iconSize === undefined ? getSize(size, 'stepper-icon-size') : rem(iconSize),\n '--stepper-content-padding': getSpacing(contentPadding),\n '--stepper-radius': radius === undefined ? undefined : getRadius(radius),\n '--stepper-fz': getFontSize(size),\n '--stepper-spacing': getSpacing(size),\n },\n })\n);\n\nexport const Stepper = factory<StepperFactory>((_props) => {\n const props = useProps('Stepper', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n onStepClick,\n active,\n icon,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n orientation,\n iconPosition,\n size,\n radius,\n allowNextStepsSelect,\n wrap,\n autoContrast,\n keepMounted,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StepperFactory>({\n name: 'Stepper',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter(\n (child) => child.type !== StepperCompleted\n ) as React.ReactElement<StepperStepProps>[];\n const completedStep = convertedChildren.find(\n (item) => item.type === StepperCompleted\n ) as React.ReactElement<StepperCompletedProps>;\n\n const items = _children.reduce<React.ReactElement<StepperStepProps>[]>(\n (acc, item: React.ReactElement<StepperStepProps>, index) => {\n const state =\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive';\n\n const shouldAllowSelect = () => {\n if (typeof onStepClick !== 'function') {\n return false;\n }\n\n if (typeof item.props.allowStepSelect === 'boolean') {\n return item.props.allowStepSelect;\n }\n\n return state === 'stepCompleted' || allowNextStepsSelect;\n };\n\n const isStepSelectionEnabled = shouldAllowSelect();\n\n acc.push(\n cloneElement(item, {\n icon: item.props.icon || icon || index + 1,\n key: index,\n step: index,\n state,\n onClick: () => isStepSelectionEnabled && onStepClick?.(index),\n allowStepClick: isStepSelectionEnabled,\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n {...getStyles('separator')}\n data-active={index < active || undefined}\n data-orientation={orientation}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n },\n []\n );\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n const contentSection = keepMounted ? (\n <>\n {_children.map((child, index) => (\n <Activity key={index} mode={active === index ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{child.props.children}</div>\n </Activity>\n ))}\n {completedStep && (\n <Activity mode={active > _children.length - 1 ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{completedStep.props.children}</div>\n </Activity>\n )}\n </>\n ) : (\n content && <div {...getStyles('content')}>{content}</div>\n );\n\n return (\n <StepperProvider value={{ getStyles, orientation, iconPosition }}>\n <Box {...getStyles('root')} size={size} {...others}>\n <Box\n {...getStyles('steps')}\n mod={{\n orientation,\n 'icon-position': iconPosition,\n wrap: wrap && orientation !== 'vertical',\n }}\n >\n {items}\n </Box>\n {contentSection}\n </Box>\n </StepperProvider>\n );\n});\n\nStepper.classes = classes;\nStepper.varsResolver = varsResolver;\nStepper.displayName = '@mantine/core/Stepper';\nStepper.Completed = StepperCompleted;\nStepper.Step = StepperStep;\n\nexport namespace Stepper {\n export type Props = StepperProps;\n export type StylesNames = StepperStylesNames;\n export type CssVariables = StepperCssVariables;\n export type Factory = StepperFactory;\n export type Step = StepFragmentComponent;\n export type ContextValue = StepperContextValue;\n\n export namespace Step {\n export type Props = StepperStepProps;\n }\n\n export namespace Completed {\n export type Props = StepperCompletedProps;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Stepper/Stepper.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { StepperFactory } from './Stepper';\n\nexport interface StepperContextValue {\n getStyles: GetStylesApi<StepperFactory>;\n orientation: 'horizontal' | 'vertical' | undefined;\n iconPosition: 'left' | 'right' | undefined;\n}\n\nexport const [StepperProvider, useStepperContext] = createSafeContext<StepperContextValue>(\n 'Stepper component was not found in tree'\n);\n"],"mappings":";;AASA,MAAa,CAAC,iBAAiB,2FAAqBA,EAAAA,kBAClD,yCACF"}
1
+ {"version":3,"file":"Stepper.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Stepper/Stepper.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { StepperFactory } from './Stepper';\n\nexport interface StepperContextValue {\n getStyles: GetStylesApi<StepperFactory>;\n orientation: 'horizontal' | 'vertical' | undefined;\n iconPosition: 'left' | 'right' | undefined;\n}\n\nexport const [StepperProvider, useStepperContext] = createSafeContext<StepperContextValue>(\n 'Stepper component was not found in tree'\n);\n"],"mappings":";;AASA,MAAa,CAAC,iBAAiB,2FAAqBA,CAAAA,CAAAA,kBAClD,yCACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepperStep.cjs","names":["factory","useProps","useStepperContext","useMantineTheme","UnstyledButton","getThemeColor","Transition","Loader","CheckIcon","classes"],"sources":["../../../../src/components/Stepper/StepperStep/StepperStep.tsx"],"sourcesContent":["import {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { Loader } from '../../Loader';\nimport { Transition } from '../../Transition';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport type { StepFragmentComponent } from '../Stepper';\nimport { useStepperContext } from '../Stepper.context';\nimport classes from '../Stepper.module.css';\n\nconst getStepFragment = (\n Fragment: StepFragmentComponent | React.ReactNode,\n step: number | undefined\n) => {\n if (typeof Fragment === 'function') {\n return <Fragment step={step || 0} />;\n }\n\n return Fragment;\n};\n\nexport type StepperStepStylesNames =\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport interface StepperStepProps\n extends BoxProps, CompoundStylesApiProps<StepperStepFactory>, ElementProps<'button'> {\n /** 0-based step index, automatically set by Stepper component */\n step?: number;\n\n /** Step state, automatically set by Stepper component based on active prop. stepInactive: not reached, stepProgress: current, stepCompleted: passed */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Key of `theme.colors`, by default controlled by Stepper component */\n color?: MantineColor;\n\n /** When false, hides the step icon. Useful for creating compact steppers with only labels @default true */\n withIcon?: boolean;\n\n /** Step icon, defaults to `step index + 1` when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step label, render after icon */\n label?: React.ReactNode | StepFragmentComponent;\n\n /** Step description */\n description?: React.ReactNode | StepFragmentComponent;\n\n /** Icon wrapper size */\n iconSize?: string | number;\n\n /** Icon position relative to step body, controlled by Stepper component */\n iconPosition?: 'right' | 'left';\n\n /** Indicates loading state of the step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport type StepperStepFactory = Factory<{\n props: StepperStepProps;\n ref: HTMLButtonElement;\n stylesNames: StepperStepStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n withIcon: true,\n allowStepClick: true,\n iconPosition: 'left',\n} satisfies Partial<StepperStepProps>;\n\nexport const StepperStep = factory<StepperStepFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n step,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n orientation,\n mod,\n ...others\n } = useProps('StepperStep', defaultProps, props);\n\n const ctx = useStepperContext();\n const theme = useMantineTheme();\n const stylesApi = { classNames, styles };\n\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n {...ctx.getStyles('step', { className, style, variant: ctx.orientation, ...stylesApi })}\n mod={[\n { 'icon-position': iconPosition || ctx.iconPosition, 'allow-click': allowStepClick },\n mod,\n ]}\n {...dataAttributes}\n {...others}\n __vars={{ '--step-color': color ? getThemeColor(color, theme) : undefined }}\n tabIndex={allowStepClick ? 0 : -1}\n >\n {withIcon && (\n <span {...ctx.getStyles('stepWrapper', stylesApi)}>\n <span {...ctx.getStyles('stepIcon', stylesApi)} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <span\n {...ctx.getStyles('stepCompletedIcon', { style: transitionStyles, ...stylesApi })}\n >\n {loading ? (\n <Loader\n color=\"var(--mantine-color-white)\"\n size=\"calc(var(--stepper-icon-size) / 2)\"\n {...ctx.getStyles('stepLoader', stylesApi)}\n />\n ) : (\n getStepFragment(completedIcon, step) || <CheckIcon size=\"60%\" />\n )}\n </span>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n <span {...ctx.getStyles('stepIconContent', stylesApi)}>\n {loading ? (\n <Loader\n {...ctx.getStyles('stepLoader', stylesApi)}\n size=\"calc(var(--stepper-icon-size) / 2)\"\n color={color}\n />\n ) : (\n getStepFragment(_icon || icon, step)\n )}\n </span>\n ) : null}\n </span>\n {orientation === 'vertical' && (\n <span\n {...ctx.getStyles('verticalSeparator', stylesApi)}\n data-active={state === 'stepCompleted' || undefined}\n />\n )}\n </span>\n )}\n\n {(label || description) && (\n <span\n {...ctx.getStyles('stepBody', stylesApi)}\n data-orientation={ctx.orientation}\n data-icon-position={iconPosition || ctx.iconPosition}\n >\n {label && (\n <span {...ctx.getStyles('stepLabel', stylesApi)}>{getStepFragment(label, step)}</span>\n )}\n {description && (\n <span {...ctx.getStyles('stepDescription', stylesApi)}>\n {getStepFragment(description, step)}\n </span>\n )}\n </span>\n )}\n </UnstyledButton>\n );\n});\n\nStepperStep.classes = classes;\nStepperStep.displayName = '@mantine/core/StepperStep';\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepperStep.cjs","names":["factory","useProps","useStepperContext","useMantineTheme","UnstyledButton","getThemeColor","Transition","Loader","CheckIcon","classes"],"sources":["../../../../src/components/Stepper/StepperStep/StepperStep.tsx"],"sourcesContent":["import {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { Loader } from '../../Loader';\nimport { Transition } from '../../Transition';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport type { StepFragmentComponent } from '../Stepper';\nimport { useStepperContext } from '../Stepper.context';\nimport classes from '../Stepper.module.css';\n\nconst getStepFragment = (\n Fragment: StepFragmentComponent | React.ReactNode,\n step: number | undefined\n) => {\n if (typeof Fragment === 'function') {\n return <Fragment step={step || 0} />;\n }\n\n return Fragment;\n};\n\nexport type StepperStepStylesNames =\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport interface StepperStepProps\n extends BoxProps, CompoundStylesApiProps<StepperStepFactory>, ElementProps<'button'> {\n /** 0-based step index, automatically set by Stepper component */\n step?: number;\n\n /** Step state, automatically set by Stepper component based on active prop. stepInactive: not reached, stepProgress: current, stepCompleted: passed */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Key of `theme.colors`, by default controlled by Stepper component */\n color?: MantineColor;\n\n /** When false, hides the step icon. Useful for creating compact steppers with only labels @default true */\n withIcon?: boolean;\n\n /** Step icon, defaults to `step index + 1` when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step label, render after icon */\n label?: React.ReactNode | StepFragmentComponent;\n\n /** Step description */\n description?: React.ReactNode | StepFragmentComponent;\n\n /** Icon wrapper size */\n iconSize?: string | number;\n\n /** Icon position relative to step body, controlled by Stepper component */\n iconPosition?: 'right' | 'left';\n\n /** Indicates loading state of the step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport type StepperStepFactory = Factory<{\n props: StepperStepProps;\n ref: HTMLButtonElement;\n stylesNames: StepperStepStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n withIcon: true,\n allowStepClick: true,\n iconPosition: 'left',\n} satisfies Partial<StepperStepProps>;\n\nexport const StepperStep = factory<StepperStepFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n step,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n orientation,\n mod,\n ...others\n } = useProps('StepperStep', defaultProps, props);\n\n const ctx = useStepperContext();\n const theme = useMantineTheme();\n const stylesApi = { classNames, styles };\n\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n {...ctx.getStyles('step', { className, style, variant: ctx.orientation, ...stylesApi })}\n mod={[\n { 'icon-position': iconPosition || ctx.iconPosition, 'allow-click': allowStepClick },\n mod,\n ]}\n {...dataAttributes}\n {...others}\n __vars={{ '--step-color': color ? getThemeColor(color, theme) : undefined }}\n tabIndex={allowStepClick ? 0 : -1}\n >\n {withIcon && (\n <span {...ctx.getStyles('stepWrapper', stylesApi)}>\n <span {...ctx.getStyles('stepIcon', stylesApi)} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <span\n {...ctx.getStyles('stepCompletedIcon', { style: transitionStyles, ...stylesApi })}\n >\n {loading ? (\n <Loader\n color=\"var(--mantine-color-white)\"\n size=\"calc(var(--stepper-icon-size) / 2)\"\n {...ctx.getStyles('stepLoader', stylesApi)}\n />\n ) : (\n getStepFragment(completedIcon, step) || <CheckIcon size=\"60%\" />\n )}\n </span>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n <span {...ctx.getStyles('stepIconContent', stylesApi)}>\n {loading ? (\n <Loader\n {...ctx.getStyles('stepLoader', stylesApi)}\n size=\"calc(var(--stepper-icon-size) / 2)\"\n color={color}\n />\n ) : (\n getStepFragment(_icon || icon, step)\n )}\n </span>\n ) : null}\n </span>\n {orientation === 'vertical' && (\n <span\n {...ctx.getStyles('verticalSeparator', stylesApi)}\n data-active={state === 'stepCompleted' || undefined}\n />\n )}\n </span>\n )}\n\n {(label || description) && (\n <span\n {...ctx.getStyles('stepBody', stylesApi)}\n data-orientation={ctx.orientation}\n data-icon-position={iconPosition || ctx.iconPosition}\n >\n {label && (\n <span {...ctx.getStyles('stepLabel', stylesApi)}>{getStepFragment(label, step)}</span>\n )}\n {description && (\n <span {...ctx.getStyles('stepDescription', stylesApi)}>\n {getStepFragment(description, step)}\n </span>\n )}\n </span>\n )}\n </UnstyledButton>\n );\n});\n\nStepperStep.classes = classes;\nStepperStep.displayName = '@mantine/core/StepperStep';\n"],"mappings":";;;;;;;;;;;;;AAmBA,MAAM,mBACJ,UACA,SACG;CACH,IAAI,OAAO,aAAa,YACtB,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD,EAAU,MAAM,QAAQ,EAAI,CAAA;CAGrC,OAAO;AACT;AAwEA,MAAM,eAAe;CACnB,UAAU;CACV,gBAAgB;CAChB,cAAc;AAChB;AAEA,MAAa,cAAcA,gBAAAA,SAA6B,UAAU;CAChE,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,MACA,OACA,OACA,MACA,eACA,cACA,OACA,aACA,UACA,UACA,SACA,gBACA,iBACA,cACA,aACA,KACA,GAAG,WACDC,kBAAAA,SAAS,eAAe,cAAc,KAAK;CAE/C,MAAM,MAAMC,wBAAAA,kBAAkB;CAC9B,MAAM,QAAQC,6BAAAA,gBAAgB;CAC9B,MAAM,YAAY;EAAE;EAAY;CAAO;CAEvC,MAAM,QAAQ,UAAU,kBAAkB,OAAO,UAAU,iBAAiB,eAAe;CAC3F,MAAM,iBAAiB;EACrB,iBAAiB,UAAU,kBAAkB,KAAA;EAC7C,kBAAkB,UAAU,mBAAmB,KAAA;CACjD;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,uBAAAA,gBAAD;EACE,GAAI,IAAI,UAAU,QAAQ;GAAE;GAAW;GAAO,SAAS,IAAI;GAAa,GAAG;EAAU,CAAC;EACtF,KAAK,CACH;GAAE,iBAAiB,gBAAgB,IAAI;GAAc,eAAe;EAAe,GACnF,GACF;EACA,GAAI;EACJ,GAAI;EACJ,QAAQ,EAAE,gBAAgB,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA,EAAU;EAC1E,UAAU,iBAAiB,IAAI;YATjC,CAWG,YACC,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;GAAM,GAAI,IAAI,UAAU,eAAe,SAAS;aAAhD,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;IAAM,GAAI,IAAI,UAAU,YAAY,SAAS;IAAG,GAAI;cAApD,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;KAAY,SAAS,UAAU;KAAiB,YAAW;KAAM,UAAU;gBACvE,qBACA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;MACE,GAAI,IAAI,UAAU,qBAAqB;OAAE,OAAO;OAAkB,GAAG;MAAU,CAAC;gBAE/E,UACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;OACE,OAAM;OACN,MAAK;OACL,GAAI,IAAI,UAAU,cAAc,SAAS;MAC1C,CAAA,IAED,gBAAgB,eAAe,IAAI,KAAK,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,WAAD,EAAW,MAAK,MAAO,CAAA;KAE7D,CAAA;IAEE,CAAA,GAEX,UAAU,kBACT,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,GAAI,IAAI,UAAU,mBAAmB,SAAS;eACjD,UACC,iBAAA,GAAA,kBAAA,IAAA,CAACD,eAAAA,QAAD;MACE,GAAI,IAAI,UAAU,cAAc,SAAS;MACzC,MAAK;MACE;KACR,CAAA,IAED,gBAAgB,SAAS,MAAM,IAAI;IAEjC,CAAA,IACJ,IACA;OACL,gBAAgB,cACf,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,GAAI,IAAI,UAAU,qBAAqB,SAAS;IAChD,eAAa,UAAU,mBAAmB,KAAA;GAC3C,CAAA,CAEC;OAGN,SAAS,gBACT,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;GACE,GAAI,IAAI,UAAU,YAAY,SAAS;GACvC,oBAAkB,IAAI;GACtB,sBAAoB,gBAAgB,IAAI;aAH1C,CAKG,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,GAAI,IAAI,UAAU,aAAa,SAAS;cAAI,gBAAgB,OAAO,IAAI;GAAQ,CAAA,GAEtF,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,GAAI,IAAI,UAAU,mBAAmB,SAAS;cACjD,gBAAgB,aAAa,IAAI;GAC9B,CAAA,CAEJ;IAEM;;AAEpB,CAAC;AAED,YAAY,UAAUE,uBAAAA;AACtB,YAAY,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.cjs","names":["createVarsResolver","getRadius","getSize","getThemeColor","factory","useProps","SwitchGroupContext","useStyles","extractStyleProps","InlineInput","Box","classes","InlineInputClasses","SwitchGroup"],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { use } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n extractStyleProps,\n factory,\n Factory,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { InlineInput, InlineInputClasses, InlineInputStylesNames } from '../../utils/InlineInput';\nimport {\n SwitchGroup,\n SwitchGroupContext,\n type SwitchGroupProps,\n type SwitchGroupStylesNames,\n type SwitchGroupFactory,\n type SwitchGroupContextValue,\n} from './SwitchGroup/SwitchGroup';\nimport classes from './Switch.module.css';\nexport type SwitchStylesNames =\n | 'root'\n | 'track'\n | 'trackLabel'\n | 'thumb'\n | 'input'\n | InlineInputStylesNames;\n\nexport type SwitchCssVariables = {\n root:\n | '--switch-radius'\n | '--switch-height'\n | '--switch-width'\n | '--switch-thumb-size'\n | '--switch-label-font-size'\n | '--switch-track-label-padding'\n | '--switch-color';\n};\n\nexport interface SwitchProps\n extends BoxProps, StylesApiProps<SwitchFactory>, ElementProps<'input', 'size' | 'children'> {\n /** Id used to bind input and label, if not passed, unique id will be generated instead */\n id?: string;\n\n /** Content of the label associated with the switch */\n label?: React.ReactNode;\n\n /** Inner label when the `Switch` is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when the `Switch` is in checked state */\n onLabel?: React.ReactNode;\n\n /** Key of `theme.colors` or any valid CSS color to set input color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of all elements */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 'xl' */\n radius?: MantineRadius;\n\n /** Props passed down to the root element */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Icon inside the thumb of the switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of the label relative to the input @default 'right' */\n labelPosition?: 'left' | 'right';\n\n /** Description displayed below the label */\n description?: React.ReactNode;\n\n /** Error displayed below the label */\n error?: React.ReactNode;\n\n /** Assigns ref of the root element */\n rootRef?: React.Ref<HTMLDivElement>;\n\n /** If set, displays a colored dot inside the thumb that matches the track background color @default true */\n withThumbIndicator?: boolean;\n}\n\nexport type SwitchFactory = Factory<{\n props: SwitchProps;\n ref: HTMLInputElement;\n stylesNames: SwitchStylesNames;\n vars: SwitchCssVariables;\n staticComponents: {\n Group: typeof SwitchGroup;\n };\n}>;\n\nconst defaultProps = {\n labelPosition: 'right',\n withThumbIndicator: true,\n} satisfies Partial<SwitchProps>;\n\nconst varsResolver = createVarsResolver<SwitchFactory>((theme, { radius, color, size }) => ({\n root: {\n '--switch-radius': radius === undefined ? undefined : getRadius(radius),\n '--switch-height': getSize(size, 'switch-height'),\n '--switch-width': getSize(size, 'switch-width'),\n '--switch-thumb-size': getSize(size, 'switch-thumb-size'),\n '--switch-label-font-size': getSize(size, 'switch-label-font-size'),\n '--switch-track-label-padding': getSize(size, 'switch-track-label-padding'),\n '--switch-color': color ? getThemeColor(color, theme) : undefined,\n },\n}));\n\nexport const Switch = factory<SwitchFactory>((_props) => {\n const props = useProps('Switch', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n color,\n label,\n offLabel,\n onLabel,\n id,\n size,\n radius,\n wrapperProps,\n thumbIcon,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n rootRef,\n mod,\n withThumbIndicator,\n attributes,\n ...others\n } = props;\n\n const ctx = use(SwitchGroupContext);\n const _size = size || ctx?.size;\n\n const getStyles = useStyles<SwitchFactory>({\n name: 'Switch',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const uuid = useId(id);\n const descriptionId = description ? `${uuid}-description` : undefined;\n const errorId = error && typeof error !== 'boolean' ? `${uuid}-error` : undefined;\n const describedBy =\n [descriptionId, errorId, rest['aria-describedby']].filter(Boolean).join(' ') || undefined;\n\n const withContextProps = {\n checked: ctx?.value.includes(rest.value as string) ?? checked,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n ctx?.onChange(event);\n onChange?.(event);\n },\n };\n\n const _disabled = disabled || ctx?.isDisabled?.(rest.value as string);\n\n const [_checked, handleChange] = useUncontrolled({\n value: withContextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n {...getStyles('root')}\n __staticSelector=\"Switch\"\n __stylesApiProps={props}\n id={uuid}\n size={_size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={_disabled}\n bodyElement=\"label\"\n labelElement=\"span\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={withContextProps.checked}\n variant={variant}\n ref={rootRef}\n mod={mod}\n attributes={attributes}\n inert={rest.inert}\n {...styleProps}\n {...wrapperProps}\n >\n <input\n {...rest}\n {...withContextProps}\n disabled={_disabled}\n checked={_checked}\n data-checked={withContextProps.checked}\n onChange={(event) => {\n withContextProps.onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n type=\"checkbox\"\n role=\"switch\"\n inert={rest.inert}\n aria-describedby={describedBy}\n {...getStyles('input')}\n />\n\n <Box\n aria-hidden=\"true\"\n component=\"span\"\n mod={{ error, 'label-position': labelPosition, 'without-labels': !onLabel && !offLabel }}\n {...getStyles('track')}\n >\n <Box\n component=\"span\"\n mod={{ 'reduce-motion': true, 'with-thumb-indicator': withThumbIndicator && !thumbIcon }}\n {...getStyles('thumb')}\n >\n {thumbIcon}\n </Box>\n <span {...getStyles('trackLabel')}>{_checked ? onLabel : offLabel}</span>\n </Box>\n </InlineInput>\n );\n});\n\nSwitch.classes = { ...classes, ...InlineInputClasses };\nSwitch.varsResolver = varsResolver;\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n\nexport namespace Switch {\n export type Props = SwitchProps;\n export type StylesNames = SwitchStylesNames;\n export type CssVariables = SwitchCssVariables;\n export type Factory = SwitchFactory;\n\n export namespace Group {\n export type Props = SwitchGroupProps;\n export type StylesNames = SwitchGroupStylesNames;\n export type Factory = SwitchGroupFactory;\n export type Context = SwitchGroupContextValue;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.cjs","names":["createVarsResolver","getRadius","getSize","getThemeColor","factory","useProps","SwitchGroupContext","useStyles","extractStyleProps","InlineInput","Box","classes","InlineInputClasses","SwitchGroup"],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { use } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n extractStyleProps,\n factory,\n Factory,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { InlineInput, InlineInputClasses, InlineInputStylesNames } from '../../utils/InlineInput';\nimport {\n SwitchGroup,\n SwitchGroupContext,\n type SwitchGroupProps,\n type SwitchGroupStylesNames,\n type SwitchGroupFactory,\n type SwitchGroupContextValue,\n} from './SwitchGroup/SwitchGroup';\nimport classes from './Switch.module.css';\nexport type SwitchStylesNames =\n | 'root'\n | 'track'\n | 'trackLabel'\n | 'thumb'\n | 'input'\n | InlineInputStylesNames;\n\nexport type SwitchCssVariables = {\n root:\n | '--switch-radius'\n | '--switch-height'\n | '--switch-width'\n | '--switch-thumb-size'\n | '--switch-label-font-size'\n | '--switch-track-label-padding'\n | '--switch-color';\n};\n\nexport interface SwitchProps\n extends BoxProps, StylesApiProps<SwitchFactory>, ElementProps<'input', 'size' | 'children'> {\n /** Id used to bind input and label, if not passed, unique id will be generated instead */\n id?: string;\n\n /** Content of the label associated with the switch */\n label?: React.ReactNode;\n\n /** Inner label when the `Switch` is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when the `Switch` is in checked state */\n onLabel?: React.ReactNode;\n\n /** Key of `theme.colors` or any valid CSS color to set input color in checked state @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of all elements */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 'xl' */\n radius?: MantineRadius;\n\n /** Props passed down to the root element */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Icon inside the thumb of the switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of the label relative to the input @default 'right' */\n labelPosition?: 'left' | 'right';\n\n /** Description displayed below the label */\n description?: React.ReactNode;\n\n /** Error displayed below the label */\n error?: React.ReactNode;\n\n /** Assigns ref of the root element */\n rootRef?: React.Ref<HTMLDivElement>;\n\n /** If set, displays a colored dot inside the thumb that matches the track background color @default true */\n withThumbIndicator?: boolean;\n}\n\nexport type SwitchFactory = Factory<{\n props: SwitchProps;\n ref: HTMLInputElement;\n stylesNames: SwitchStylesNames;\n vars: SwitchCssVariables;\n staticComponents: {\n Group: typeof SwitchGroup;\n };\n}>;\n\nconst defaultProps = {\n labelPosition: 'right',\n withThumbIndicator: true,\n} satisfies Partial<SwitchProps>;\n\nconst varsResolver = createVarsResolver<SwitchFactory>((theme, { radius, color, size }) => ({\n root: {\n '--switch-radius': radius === undefined ? undefined : getRadius(radius),\n '--switch-height': getSize(size, 'switch-height'),\n '--switch-width': getSize(size, 'switch-width'),\n '--switch-thumb-size': getSize(size, 'switch-thumb-size'),\n '--switch-label-font-size': getSize(size, 'switch-label-font-size'),\n '--switch-track-label-padding': getSize(size, 'switch-track-label-padding'),\n '--switch-color': color ? getThemeColor(color, theme) : undefined,\n },\n}));\n\nexport const Switch = factory<SwitchFactory>((_props) => {\n const props = useProps('Switch', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n color,\n label,\n offLabel,\n onLabel,\n id,\n size,\n radius,\n wrapperProps,\n thumbIcon,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n rootRef,\n mod,\n withThumbIndicator,\n attributes,\n ...others\n } = props;\n\n const ctx = use(SwitchGroupContext);\n const _size = size || ctx?.size;\n\n const getStyles = useStyles<SwitchFactory>({\n name: 'Switch',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const uuid = useId(id);\n const descriptionId = description ? `${uuid}-description` : undefined;\n const errorId = error && typeof error !== 'boolean' ? `${uuid}-error` : undefined;\n const describedBy =\n [descriptionId, errorId, rest['aria-describedby']].filter(Boolean).join(' ') || undefined;\n\n const withContextProps = {\n checked: ctx?.value.includes(rest.value as string) ?? checked,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n ctx?.onChange(event);\n onChange?.(event);\n },\n };\n\n const _disabled = disabled || ctx?.isDisabled?.(rest.value as string);\n\n const [_checked, handleChange] = useUncontrolled({\n value: withContextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n {...getStyles('root')}\n __staticSelector=\"Switch\"\n __stylesApiProps={props}\n id={uuid}\n size={_size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={_disabled}\n bodyElement=\"label\"\n labelElement=\"span\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={withContextProps.checked}\n variant={variant}\n ref={rootRef}\n mod={mod}\n attributes={attributes}\n inert={rest.inert}\n {...styleProps}\n {...wrapperProps}\n >\n <input\n {...rest}\n {...withContextProps}\n disabled={_disabled}\n checked={_checked}\n data-checked={withContextProps.checked}\n onChange={(event) => {\n withContextProps.onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n type=\"checkbox\"\n role=\"switch\"\n inert={rest.inert}\n aria-describedby={describedBy}\n {...getStyles('input')}\n />\n\n <Box\n aria-hidden=\"true\"\n component=\"span\"\n mod={{ error, 'label-position': labelPosition, 'without-labels': !onLabel && !offLabel }}\n {...getStyles('track')}\n >\n <Box\n component=\"span\"\n mod={{ 'reduce-motion': true, 'with-thumb-indicator': withThumbIndicator && !thumbIcon }}\n {...getStyles('thumb')}\n >\n {thumbIcon}\n </Box>\n <span {...getStyles('trackLabel')}>{_checked ? onLabel : offLabel}</span>\n </Box>\n </InlineInput>\n );\n});\n\nSwitch.classes = { ...classes, ...InlineInputClasses };\nSwitch.varsResolver = varsResolver;\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n\nexport namespace Switch {\n export type Props = SwitchProps;\n export type StylesNames = SwitchStylesNames;\n export type CssVariables = SwitchCssVariables;\n export type Factory = SwitchFactory;\n\n export namespace Group {\n export type Props = SwitchGroupProps;\n export type StylesNames = SwitchGroupStylesNames;\n export type Factory = SwitchGroupFactory;\n export type Context = SwitchGroupContextValue;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchGroup.cjs","names":["genericFactory","useProps","Input","InputsGroupFieldset"],"sources":["../../../../src/components/Switch/SwitchGroup/SwitchGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n DataAttributes,\n Factory,\n genericFactory,\n MantineSize,\n Primitive,\n useProps,\n} from '../../../core';\nimport { InputsGroupFieldset } from '../../../utils/InputsGroupFieldset';\nimport { Input, InputWrapperProps, InputWrapperStylesNames } from '../../Input';\n\nexport interface SwitchGroupContextValue<Value extends Primitive = string> {\n value: Value[];\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n size: MantineSize | (string & {}) | undefined;\n isDisabled?: (value: Value) => boolean;\n}\n\nexport const SwitchGroupContext = createContext<SwitchGroupContextValue | null>(null);\n\nexport type SwitchGroupStylesNames = InputWrapperStylesNames;\n\nexport interface SwitchGroupProps<Value extends Primitive = string> extends Omit<\n InputWrapperProps,\n 'onChange' | 'value' | 'defaultValue'\n> {\n /** `Switch` components */\n children: React.ReactNode;\n\n /** Controlled component value */\n value?: Value[];\n\n /** Default value for uncontrolled component */\n defaultValue?: Value[];\n\n /** Called when value changes */\n onChange?: (value: Value[]) => void;\n\n /** Props passed down to the `Input.Wrapper` */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Controls size of the `Input.Wrapper` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** If set, value cannot be changed */\n readOnly?: boolean;\n\n /** `name` attribute of the hidden input for uncontrolled forms */\n name?: string;\n\n /** Props passed down to the hidden input for uncontrolled forms */\n hiddenInputProps?: React.ComponentProps<'input'> & DataAttributes;\n\n /** Separator for values in the hidden input for uncontrolled forms @default ',' */\n hiddenInputValuesSeparator?: string;\n\n /** Maximum number of switches that can be selected. When the limit is reached, unselected switches will be disabled */\n maxSelectedValues?: number;\n\n /** Sets `disabled` attribute, prevents interactions */\n disabled?: boolean;\n}\n\nexport type SwitchGroupFactory = Factory<{\n props: SwitchGroupProps;\n ref: HTMLDivElement;\n stylesNames: SwitchGroupStylesNames;\n signature: <Value extends Primitive = string>(\n props: SwitchGroupProps<Value>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n hiddenInputValuesSeparator: ',',\n} satisfies Partial<SwitchGroupProps>;\n\nexport const SwitchGroup = genericFactory<SwitchGroupFactory>(((\n props: SwitchGroupProps<string>\n) => {\n const {\n value,\n defaultValue,\n onChange,\n size,\n wrapperProps,\n children,\n readOnly,\n name,\n hiddenInputValuesSeparator,\n hiddenInputProps,\n maxSelectedValues,\n disabled,\n ...others\n } = useProps('SwitchGroup', defaultProps, props);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const itemValue = event.currentTarget.value;\n\n if (readOnly) {\n return;\n }\n\n const isCurrentlySelected = _value.includes(itemValue);\n\n if (!isCurrentlySelected && maxSelectedValues && _value.length >= maxSelectedValues) {\n return;\n }\n\n setValue(\n isCurrentlySelected ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]\n );\n };\n\n const isDisabled = (switchValue: string) => {\n if (disabled) {\n return true;\n }\n\n if (!maxSelectedValues) {\n return false;\n }\n\n const isCurrentlySelected = _value.includes(switchValue);\n const hasReachedLimit = _value.length >= maxSelectedValues;\n return !isCurrentlySelected && hasReachedLimit;\n };\n\n const hiddenInputValue = _value.join(hiddenInputValuesSeparator);\n\n return (\n <SwitchGroupContext value={{ value: _value, onChange: handleChange, size, isDisabled }}>\n <Input.Wrapper\n size={size}\n {...wrapperProps}\n {...others}\n labelElement=\"div\"\n __staticSelector=\"SwitchGroup\"\n >\n <InputsGroupFieldset role=\"group\">{children}</InputsGroupFieldset>\n <input type=\"hidden\" name={name} value={hiddenInputValue} {...hiddenInputProps} />\n </Input.Wrapper>\n </SwitchGroupContext>\n );\n}) as any);\n\nSwitchGroup.classes = Input.Wrapper.classes;\nSwitchGroup.displayName = '@mantine/core/SwitchGroup';\n"],"mappings":";;;;;;;;;AAoBA,MAAa,sBAAA,GAAA,MAAA,eAAmE,IAAI;AAsDpF,MAAM,eAAe,EACnB,4BAA4B,IAC9B;AAEA,MAAa,cAAcA,gBAAAA,iBACzB,UACG;CACH,MAAM,EACJ,OACA,cACA,UACA,MACA,cACA,UACA,UACA,MACA,4BACA,kBACA,mBACA,UACA,GAAG,WACDC,kBAAAA,SAAS,eAAe,cAAc,KAAK;CAE/C,MAAM,CAAC,QAAQ,aAAA,GAAA,eAAA,iBAA4B;EACzC;EACA;EACA,YAAY,CAAC;EACb;CACF,CAAC;CAED,MAAM,gBAAgB,UAA+C;EACnE,MAAM,YAAY,MAAM,cAAc;EAEtC,IAAI,UACF;EAGF,MAAM,sBAAsB,OAAO,SAAS,SAAS;EAErD,IAAI,CAAC,uBAAuB,qBAAqB,OAAO,UAAU,mBAChE;EAGF,SACE,sBAAsB,OAAO,QAAQ,SAAS,SAAS,SAAS,IAAI,CAAC,GAAG,QAAQ,SAAS,CAC3F;CACF;CAEA,MAAM,cAAc,gBAAwB;EAC1C,IAAI,UACF,OAAO;EAGT,IAAI,CAAC,mBACH,OAAO;EAGT,MAAM,sBAAsB,OAAO,SAAS,WAAW;EACvD,MAAM,kBAAkB,OAAO,UAAU;EACzC,OAAO,CAAC,uBAAuB;CACjC;CAEA,MAAM,mBAAmB,OAAO,KAAK,0BAA0B;CAE/D,OACE,iBAAA,GAAA,kBAAA,KAAC,oBAAD;EAAoB,OAAO;GAAE,OAAO;GAAQ,UAAU;GAAc;GAAM;EAAW;YACnF,iBAAA,GAAA,kBAAA,MAACC,cAAAA,MAAM,SAAP;GACQ;GACN,GAAI;GACJ,GAAI;GACJ,cAAa;GACb,kBAAiB;aALnB,CAOE,iBAAA,GAAA,kBAAA,KAACC,4BAAAA,qBAAD;IAAqB,MAAK;IAAS;GAA8B,CAAA,GACjE,iBAAA,GAAA,kBAAA,KAAC,SAAD;IAAO,MAAK;IAAe;IAAM,OAAO;IAAkB,GAAI;GAAmB,CAAA,CACpE;;CACG,CAAA;AAExB,EAAS;AAET,YAAY,UAAUD,cAAAA,MAAM,QAAQ;AACpC,YAAY,cAAc"}
1
+ {"version":3,"file":"SwitchGroup.cjs","names":["genericFactory","useProps","Input","InputsGroupFieldset"],"sources":["../../../../src/components/Switch/SwitchGroup/SwitchGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n DataAttributes,\n Factory,\n genericFactory,\n MantineSize,\n Primitive,\n useProps,\n} from '../../../core';\nimport { InputsGroupFieldset } from '../../../utils/InputsGroupFieldset';\nimport { Input, InputWrapperProps, InputWrapperStylesNames } from '../../Input';\n\nexport interface SwitchGroupContextValue<Value extends Primitive = string> {\n value: Value[];\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n size: MantineSize | (string & {}) | undefined;\n isDisabled?: (value: Value) => boolean;\n}\n\nexport const SwitchGroupContext = createContext<SwitchGroupContextValue | null>(null);\n\nexport type SwitchGroupStylesNames = InputWrapperStylesNames;\n\nexport interface SwitchGroupProps<Value extends Primitive = string> extends Omit<\n InputWrapperProps,\n 'onChange' | 'value' | 'defaultValue'\n> {\n /** `Switch` components */\n children: React.ReactNode;\n\n /** Controlled component value */\n value?: Value[];\n\n /** Default value for uncontrolled component */\n defaultValue?: Value[];\n\n /** Called when value changes */\n onChange?: (value: Value[]) => void;\n\n /** Props passed down to the `Input.Wrapper` */\n wrapperProps?: React.ComponentProps<'div'> & DataAttributes;\n\n /** Controls size of the `Input.Wrapper` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** If set, value cannot be changed */\n readOnly?: boolean;\n\n /** `name` attribute of the hidden input for uncontrolled forms */\n name?: string;\n\n /** Props passed down to the hidden input for uncontrolled forms */\n hiddenInputProps?: React.ComponentProps<'input'> & DataAttributes;\n\n /** Separator for values in the hidden input for uncontrolled forms @default ',' */\n hiddenInputValuesSeparator?: string;\n\n /** Maximum number of switches that can be selected. When the limit is reached, unselected switches will be disabled */\n maxSelectedValues?: number;\n\n /** Sets `disabled` attribute, prevents interactions */\n disabled?: boolean;\n}\n\nexport type SwitchGroupFactory = Factory<{\n props: SwitchGroupProps;\n ref: HTMLDivElement;\n stylesNames: SwitchGroupStylesNames;\n signature: <Value extends Primitive = string>(\n props: SwitchGroupProps<Value>\n ) => React.JSX.Element;\n}>;\n\nconst defaultProps = {\n hiddenInputValuesSeparator: ',',\n} satisfies Partial<SwitchGroupProps>;\n\nexport const SwitchGroup = genericFactory<SwitchGroupFactory>(((\n props: SwitchGroupProps<string>\n) => {\n const {\n value,\n defaultValue,\n onChange,\n size,\n wrapperProps,\n children,\n readOnly,\n name,\n hiddenInputValuesSeparator,\n hiddenInputProps,\n maxSelectedValues,\n disabled,\n ...others\n } = useProps('SwitchGroup', defaultProps, props);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const itemValue = event.currentTarget.value;\n\n if (readOnly) {\n return;\n }\n\n const isCurrentlySelected = _value.includes(itemValue);\n\n if (!isCurrentlySelected && maxSelectedValues && _value.length >= maxSelectedValues) {\n return;\n }\n\n setValue(\n isCurrentlySelected ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]\n );\n };\n\n const isDisabled = (switchValue: string) => {\n if (disabled) {\n return true;\n }\n\n if (!maxSelectedValues) {\n return false;\n }\n\n const isCurrentlySelected = _value.includes(switchValue);\n const hasReachedLimit = _value.length >= maxSelectedValues;\n return !isCurrentlySelected && hasReachedLimit;\n };\n\n const hiddenInputValue = _value.join(hiddenInputValuesSeparator);\n\n return (\n <SwitchGroupContext value={{ value: _value, onChange: handleChange, size, isDisabled }}>\n <Input.Wrapper\n size={size}\n {...wrapperProps}\n {...others}\n labelElement=\"div\"\n __staticSelector=\"SwitchGroup\"\n >\n <InputsGroupFieldset role=\"group\">{children}</InputsGroupFieldset>\n <input type=\"hidden\" name={name} value={hiddenInputValue} {...hiddenInputProps} />\n </Input.Wrapper>\n </SwitchGroupContext>\n );\n}) as any);\n\nSwitchGroup.classes = Input.Wrapper.classes;\nSwitchGroup.displayName = '@mantine/core/SwitchGroup';\n"],"mappings":";;;;;;;;;AAoBA,MAAa,sBAAA,GAAA,MAAA,cAAA,CAAmE,IAAI;AAsDpF,MAAM,eAAe,EACnB,4BAA4B,IAC9B;AAEA,MAAa,cAAcA,gBAAAA,iBACzB,UACG;CACH,MAAM,EACJ,OACA,cACA,UACA,MACA,cACA,UACA,UACA,MACA,4BACA,kBACA,mBACA,UACA,GAAG,WACDC,kBAAAA,SAAS,eAAe,cAAc,KAAK;CAE/C,MAAM,CAAC,QAAQ,aAAA,GAAA,eAAA,gBAAA,CAA4B;EACzC;EACA;EACA,YAAY,CAAC;EACb;CACF,CAAC;CAED,MAAM,gBAAgB,UAA+C;EACnE,MAAM,YAAY,MAAM,cAAc;EAEtC,IAAI,UACF;EAGF,MAAM,sBAAsB,OAAO,SAAS,SAAS;EAErD,IAAI,CAAC,uBAAuB,qBAAqB,OAAO,UAAU,mBAChE;EAGF,SACE,sBAAsB,OAAO,QAAQ,SAAS,SAAS,SAAS,IAAI,CAAC,GAAG,QAAQ,SAAS,CAC3F;CACF;CAEA,MAAM,cAAc,gBAAwB;EAC1C,IAAI,UACF,OAAO;EAGT,IAAI,CAAC,mBACH,OAAO;EAGT,MAAM,sBAAsB,OAAO,SAAS,WAAW;EACvD,MAAM,kBAAkB,OAAO,UAAU;EACzC,OAAO,CAAC,uBAAuB;CACjC;CAEA,MAAM,mBAAmB,OAAO,KAAK,0BAA0B;CAE/D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD;EAAoB,OAAO;GAAE,OAAO;GAAQ,UAAU;GAAc;GAAM;EAAW;YACnF,iBAAA,GAAA,kBAAA,KAAA,CAACC,cAAAA,MAAM,SAAP;GACQ;GACN,GAAI;GACJ,GAAI;GACJ,cAAa;GACb,kBAAiB;aALnB,CAOE,iBAAA,GAAA,kBAAA,IAAA,CAACC,4BAAAA,qBAAD;IAAqB,MAAK;IAAS;GAA8B,CAAA,GACjE,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;IAAO,MAAK;IAAe;IAAM,OAAO;IAAkB,GAAI;GAAmB,CAAA,CACpE;;CACG,CAAA;AAExB,EAAS;AAET,YAAY,UAAUD,cAAAA,MAAM,QAAQ;AACpC,YAAY,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","names":["createVarsResolver","getSpacing","getThemeColor","rem","factory","useProps","useStyles","TableProvider","Box","TableDataRenderer","classes","TableTd","TableTh","TableTr","TableThead","TableTbody","TableTfoot","TableCaption","TableScrollContainer"],"sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport {\n TableCaption,\n TableTbody,\n TableTd,\n TableTfoot,\n TableTh,\n TableThead,\n TableTr,\n type TableCaptionProps,\n type TableTbodyProps,\n type TableTdProps,\n type TableThProps,\n type TableTrProps,\n type TableTheadProps,\n type TableTfootProps,\n} from './Table.components';\nimport { TableProvider, type TableContextValue } from './Table.context';\nimport { TableDataRenderer } from './TableDataRenderer';\nimport { TableScrollContainer, type TableScrollContainerProps } from './TableScrollContainer';\nimport classes from './Table.module.css';\nexport type TableVariant = 'default' | 'vertical';\n\nexport type TableStylesNames =\n | 'table'\n | 'thead'\n | 'tbody'\n | 'tfoot'\n | 'tr'\n | 'th'\n | 'td'\n | 'caption';\n\nexport type TableCssVariables = {\n table:\n | '--table-layout'\n | '--table-border-color'\n | '--table-caption-side'\n | '--table-horizontal-spacing'\n | '--table-vertical-spacing'\n | '--table-striped-color'\n | '--table-highlight-on-hover-color'\n | '--table-sticky-header-offset';\n};\n\nexport interface TableData {\n head?: React.ReactNode[];\n body?: React.ReactNode[][];\n foot?: React.ReactNode[];\n caption?: string;\n}\n\nexport interface TableProps extends BoxProps, StylesApiProps<TableFactory>, ElementProps<'table'> {\n /** Value of `table-layout` style @default auto */\n layout?: React.CSSProperties['tableLayout'];\n\n /** Side of the `Table.Caption` @default bottom */\n captionSide?: 'top' | 'bottom';\n\n /** Color of table borders, key of `theme.colors` or any valid CSS color */\n borderColor?: MantineColor;\n\n /** If set, the table has the outer border @default false */\n withTableBorder?: boolean;\n\n /** If set, the table has borders between columns @default false */\n withColumnBorders?: boolean;\n\n /** If set, the table has borders between rows @default true */\n withRowBorders?: boolean;\n\n /** Horizontal cells spacing, key of `theme.spacing` or any valid CSS value for padding, numbers are converted to rem @default xs */\n horizontalSpacing?: MantineSpacing;\n\n /** Vertical cells spacing, key of `theme.spacing` or any valid CSS value for padding, numbers are converted to rem @default xs */\n verticalSpacing?: MantineSpacing;\n\n /** If set, every odd/even row background changes to `stripedColor`, if set to `true`, then `odd` value will be used @default false */\n striped?: boolean | 'odd' | 'even';\n\n /** Background color of striped rows, key of `theme.colors` or any valid CSS color */\n stripedColor?: MantineColor;\n\n /** If set, table rows background changes to `highlightOnHoverColor` when hovered @default false */\n highlightOnHover?: boolean;\n\n /** Background color of table rows when hovered, key of `theme.colors` or any valid CSS color */\n highlightOnHoverColor?: MantineColor;\n\n /** Data used to generate table, ignored if `children` prop is set */\n data?: TableData;\n\n /** If set, `Table.Thead` is sticky @default false */\n stickyHeader?: boolean;\n\n /** Offset from top at which `Table.Thead` should become sticky @default 0 */\n stickyHeaderOffset?: number | string;\n\n /** If set, `font-variant-numeric: tabular-nums` style is applied @default false */\n tabularNums?: boolean;\n}\n\nexport type TableFactory = Factory<{\n props: TableProps;\n ref: HTMLTableElement;\n stylesNames: TableStylesNames;\n vars: TableCssVariables;\n variant: TableVariant;\n staticComponents: {\n Thead: typeof TableThead;\n Tbody: typeof TableTbody;\n Tfoot: typeof TableTfoot;\n Td: typeof TableTd;\n Th: typeof TableTh;\n Tr: typeof TableTr;\n Caption: typeof TableCaption;\n ScrollContainer: typeof TableScrollContainer;\n DataRenderer: typeof TableDataRenderer;\n };\n}>;\n\nconst defaultProps = {\n withRowBorders: true,\n verticalSpacing: 7,\n} satisfies Partial<TableProps>;\n\nconst varsResolver = createVarsResolver<TableFactory>(\n (\n theme,\n {\n layout,\n captionSide,\n horizontalSpacing,\n verticalSpacing,\n borderColor,\n stripedColor,\n highlightOnHoverColor,\n striped,\n highlightOnHover,\n stickyHeaderOffset,\n stickyHeader,\n }\n ) => ({\n table: {\n '--table-layout': layout,\n '--table-caption-side': captionSide,\n '--table-horizontal-spacing': getSpacing(horizontalSpacing),\n '--table-vertical-spacing': getSpacing(verticalSpacing),\n '--table-border-color': borderColor ? getThemeColor(borderColor, theme) : undefined,\n '--table-striped-color':\n striped && stripedColor ? getThemeColor(stripedColor, theme) : undefined,\n '--table-highlight-on-hover-color':\n highlightOnHover && highlightOnHoverColor\n ? getThemeColor(highlightOnHoverColor, theme)\n : undefined,\n '--table-sticky-header-offset': stickyHeader ? rem(stickyHeaderOffset) : undefined,\n },\n })\n);\n\nexport const Table = factory<TableFactory>((_props) => {\n const props = useProps('Table', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n horizontalSpacing,\n verticalSpacing,\n captionSide,\n stripedColor,\n highlightOnHoverColor,\n striped,\n highlightOnHover,\n withColumnBorders,\n withRowBorders,\n withTableBorder,\n borderColor,\n layout,\n data,\n children,\n stickyHeader,\n stickyHeaderOffset,\n mod,\n tabularNums,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<TableFactory>({\n name: 'Table',\n props,\n className,\n style,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'table',\n vars,\n varsResolver,\n });\n\n return (\n <TableProvider\n value={{\n getStyles,\n stickyHeader,\n striped: striped === true ? 'odd' : striped || undefined,\n highlightOnHover,\n withColumnBorders,\n withRowBorders,\n captionSide: captionSide || 'bottom',\n }}\n >\n <Box\n component=\"table\"\n mod={[{ 'data-with-table-border': withTableBorder, 'data-tabular-nums': tabularNums }, mod]}\n {...getStyles('table')}\n {...others}\n >\n {children || (!!data && <TableDataRenderer data={data} />)}\n </Box>\n </TableProvider>\n );\n});\n\nTable.classes = classes;\nTable.varsResolver = varsResolver;\nTable.displayName = '@mantine/core/Table';\nTable.Td = TableTd;\nTable.Th = TableTh;\nTable.Tr = TableTr;\nTable.Thead = TableThead;\nTable.Tbody = TableTbody;\nTable.Tfoot = TableTfoot;\nTable.Caption = TableCaption;\nTable.ScrollContainer = TableScrollContainer;\nTable.DataRenderer = TableDataRenderer;\n\nexport namespace Table {\n export type Props = TableProps;\n export type StylesNames = TableStylesNames;\n export type CssVariables = TableCssVariables;\n export type Factory = TableFactory;\n export type Data = TableData;\n export type ContextValue = TableContextValue;\n\n export namespace Caption {\n export type Props = TableCaptionProps;\n }\n\n export namespace Tbody {\n export type Props = TableTbodyProps;\n }\n\n export namespace Td {\n export type Props = TableTdProps;\n }\n\n export namespace Th {\n export type Props = TableThProps;\n }\n\n export namespace Tr {\n export type Props = TableTrProps;\n }\n\n export namespace Thead {\n export type Props = TableTheadProps;\n }\n\n export namespace Tfoot {\n export type Props = TableTfootProps;\n }\n\n export namespace ScrollContainer {\n export type Props = TableScrollContainerProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwIA,MAAM,eAAe;CACnB,gBAAgB;CAChB,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAEjB,OACA,EACE,QACA,aACA,mBACA,iBACA,aACA,cACA,uBACA,SACA,kBACA,oBACA,oBAEE,EACJ,OAAO;CACL,kBAAkB;CAClB,wBAAwB;CACxB,8BAA8BC,iBAAAA,WAAW,iBAAiB;CAC1D,4BAA4BA,iBAAAA,WAAW,eAAe;CACtD,wBAAwB,cAAcC,wBAAAA,cAAc,aAAa,KAAK,IAAI,KAAA;CAC1E,yBACE,WAAW,eAAeA,wBAAAA,cAAc,cAAc,KAAK,IAAI,KAAA;CACjE,oCACE,oBAAoB,wBAChBA,wBAAAA,cAAc,uBAAuB,KAAK,IAC1C,KAAA;CACN,gCAAgC,eAAeC,YAAAA,IAAI,kBAAkB,IAAI,KAAA;AAC3E,EACF,EACF;AAEA,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,mBACA,iBACA,aACA,cACA,uBACA,SACA,kBACA,mBACA,gBACA,iBACA,aACA,QACA,MACA,UACA,cACA,oBACA,KACA,aACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAwB;EACxC,MAAM;EACN;EACA;EACA;EACA,SAAA,qBAAA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,sBAAAA,eAAD;EACE,OAAO;GACL;GACA;GACA,SAAS,YAAY,OAAO,QAAQ,WAAW,KAAA;GAC/C;GACA;GACA;GACA,aAAa,eAAe;EAC9B;YAEA,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GACE,WAAU;GACV,KAAK,CAAC;IAAE,0BAA0B;IAAiB,qBAAqB;GAAY,GAAG,GAAG;GAC1F,GAAI,UAAU,OAAO;GACrB,GAAI;aAEH,YAAa,CAAC,CAAC,QAAQ,iBAAA,GAAA,kBAAA,KAACC,0BAAAA,mBAAD,EAAyB,KAAO,CAAA;EACrD,CAAA;CACQ,CAAA;AAEnB,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,KAAKC,yBAAAA;AACX,MAAM,KAAKC,yBAAAA;AACX,MAAM,KAAKC,yBAAAA;AACX,MAAM,QAAQC,yBAAAA;AACd,MAAM,QAAQC,yBAAAA;AACd,MAAM,QAAQC,yBAAAA;AACd,MAAM,UAAUC,yBAAAA;AAChB,MAAM,kBAAkBC,6BAAAA;AACxB,MAAM,eAAeT,0BAAAA"}
1
+ {"version":3,"file":"Table.cjs","names":["createVarsResolver","getSpacing","getThemeColor","rem","factory","useProps","useStyles","TableProvider","Box","TableDataRenderer","classes","TableTd","TableTh","TableTr","TableThead","TableTbody","TableTfoot","TableCaption","TableScrollContainer"],"sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport {\n TableCaption,\n TableTbody,\n TableTd,\n TableTfoot,\n TableTh,\n TableThead,\n TableTr,\n type TableCaptionProps,\n type TableTbodyProps,\n type TableTdProps,\n type TableThProps,\n type TableTrProps,\n type TableTheadProps,\n type TableTfootProps,\n} from './Table.components';\nimport { TableProvider, type TableContextValue } from './Table.context';\nimport { TableDataRenderer } from './TableDataRenderer';\nimport { TableScrollContainer, type TableScrollContainerProps } from './TableScrollContainer';\nimport classes from './Table.module.css';\nexport type TableVariant = 'default' | 'vertical';\n\nexport type TableStylesNames =\n | 'table'\n | 'thead'\n | 'tbody'\n | 'tfoot'\n | 'tr'\n | 'th'\n | 'td'\n | 'caption';\n\nexport type TableCssVariables = {\n table:\n | '--table-layout'\n | '--table-border-color'\n | '--table-caption-side'\n | '--table-horizontal-spacing'\n | '--table-vertical-spacing'\n | '--table-striped-color'\n | '--table-highlight-on-hover-color'\n | '--table-sticky-header-offset';\n};\n\nexport interface TableData {\n head?: React.ReactNode[];\n body?: React.ReactNode[][];\n foot?: React.ReactNode[];\n caption?: string;\n}\n\nexport interface TableProps extends BoxProps, StylesApiProps<TableFactory>, ElementProps<'table'> {\n /** Value of `table-layout` style @default auto */\n layout?: React.CSSProperties['tableLayout'];\n\n /** Side of the `Table.Caption` @default bottom */\n captionSide?: 'top' | 'bottom';\n\n /** Color of table borders, key of `theme.colors` or any valid CSS color */\n borderColor?: MantineColor;\n\n /** If set, the table has the outer border @default false */\n withTableBorder?: boolean;\n\n /** If set, the table has borders between columns @default false */\n withColumnBorders?: boolean;\n\n /** If set, the table has borders between rows @default true */\n withRowBorders?: boolean;\n\n /** Horizontal cells spacing, key of `theme.spacing` or any valid CSS value for padding, numbers are converted to rem @default xs */\n horizontalSpacing?: MantineSpacing;\n\n /** Vertical cells spacing, key of `theme.spacing` or any valid CSS value for padding, numbers are converted to rem @default xs */\n verticalSpacing?: MantineSpacing;\n\n /** If set, every odd/even row background changes to `stripedColor`, if set to `true`, then `odd` value will be used @default false */\n striped?: boolean | 'odd' | 'even';\n\n /** Background color of striped rows, key of `theme.colors` or any valid CSS color */\n stripedColor?: MantineColor;\n\n /** If set, table rows background changes to `highlightOnHoverColor` when hovered @default false */\n highlightOnHover?: boolean;\n\n /** Background color of table rows when hovered, key of `theme.colors` or any valid CSS color */\n highlightOnHoverColor?: MantineColor;\n\n /** Data used to generate table, ignored if `children` prop is set */\n data?: TableData;\n\n /** If set, `Table.Thead` is sticky @default false */\n stickyHeader?: boolean;\n\n /** Offset from top at which `Table.Thead` should become sticky @default 0 */\n stickyHeaderOffset?: number | string;\n\n /** If set, `font-variant-numeric: tabular-nums` style is applied @default false */\n tabularNums?: boolean;\n}\n\nexport type TableFactory = Factory<{\n props: TableProps;\n ref: HTMLTableElement;\n stylesNames: TableStylesNames;\n vars: TableCssVariables;\n variant: TableVariant;\n staticComponents: {\n Thead: typeof TableThead;\n Tbody: typeof TableTbody;\n Tfoot: typeof TableTfoot;\n Td: typeof TableTd;\n Th: typeof TableTh;\n Tr: typeof TableTr;\n Caption: typeof TableCaption;\n ScrollContainer: typeof TableScrollContainer;\n DataRenderer: typeof TableDataRenderer;\n };\n}>;\n\nconst defaultProps = {\n withRowBorders: true,\n verticalSpacing: 7,\n} satisfies Partial<TableProps>;\n\nconst varsResolver = createVarsResolver<TableFactory>(\n (\n theme,\n {\n layout,\n captionSide,\n horizontalSpacing,\n verticalSpacing,\n borderColor,\n stripedColor,\n highlightOnHoverColor,\n striped,\n highlightOnHover,\n stickyHeaderOffset,\n stickyHeader,\n }\n ) => ({\n table: {\n '--table-layout': layout,\n '--table-caption-side': captionSide,\n '--table-horizontal-spacing': getSpacing(horizontalSpacing),\n '--table-vertical-spacing': getSpacing(verticalSpacing),\n '--table-border-color': borderColor ? getThemeColor(borderColor, theme) : undefined,\n '--table-striped-color':\n striped && stripedColor ? getThemeColor(stripedColor, theme) : undefined,\n '--table-highlight-on-hover-color':\n highlightOnHover && highlightOnHoverColor\n ? getThemeColor(highlightOnHoverColor, theme)\n : undefined,\n '--table-sticky-header-offset': stickyHeader ? rem(stickyHeaderOffset) : undefined,\n },\n })\n);\n\nexport const Table = factory<TableFactory>((_props) => {\n const props = useProps('Table', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n horizontalSpacing,\n verticalSpacing,\n captionSide,\n stripedColor,\n highlightOnHoverColor,\n striped,\n highlightOnHover,\n withColumnBorders,\n withRowBorders,\n withTableBorder,\n borderColor,\n layout,\n data,\n children,\n stickyHeader,\n stickyHeaderOffset,\n mod,\n tabularNums,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<TableFactory>({\n name: 'Table',\n props,\n className,\n style,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'table',\n vars,\n varsResolver,\n });\n\n return (\n <TableProvider\n value={{\n getStyles,\n stickyHeader,\n striped: striped === true ? 'odd' : striped || undefined,\n highlightOnHover,\n withColumnBorders,\n withRowBorders,\n captionSide: captionSide || 'bottom',\n }}\n >\n <Box\n component=\"table\"\n mod={[{ 'data-with-table-border': withTableBorder, 'data-tabular-nums': tabularNums }, mod]}\n {...getStyles('table')}\n {...others}\n >\n {children || (!!data && <TableDataRenderer data={data} />)}\n </Box>\n </TableProvider>\n );\n});\n\nTable.classes = classes;\nTable.varsResolver = varsResolver;\nTable.displayName = '@mantine/core/Table';\nTable.Td = TableTd;\nTable.Th = TableTh;\nTable.Tr = TableTr;\nTable.Thead = TableThead;\nTable.Tbody = TableTbody;\nTable.Tfoot = TableTfoot;\nTable.Caption = TableCaption;\nTable.ScrollContainer = TableScrollContainer;\nTable.DataRenderer = TableDataRenderer;\n\nexport namespace Table {\n export type Props = TableProps;\n export type StylesNames = TableStylesNames;\n export type CssVariables = TableCssVariables;\n export type Factory = TableFactory;\n export type Data = TableData;\n export type ContextValue = TableContextValue;\n\n export namespace Caption {\n export type Props = TableCaptionProps;\n }\n\n export namespace Tbody {\n export type Props = TableTbodyProps;\n }\n\n export namespace Td {\n export type Props = TableTdProps;\n }\n\n export namespace Th {\n export type Props = TableThProps;\n }\n\n export namespace Tr {\n export type Props = TableTrProps;\n }\n\n export namespace Thead {\n export type Props = TableTheadProps;\n }\n\n export namespace Tfoot {\n export type Props = TableTfootProps;\n }\n\n export namespace ScrollContainer {\n export type Props = TableScrollContainerProps;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwIA,MAAM,eAAe;CACnB,gBAAgB;CAChB,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAEjB,OACA,EACE,QACA,aACA,mBACA,iBACA,aACA,cACA,uBACA,SACA,kBACA,oBACA,oBAEE,EACJ,OAAO;CACL,kBAAkB;CAClB,wBAAwB;CACxB,8BAA8BC,iBAAAA,WAAW,iBAAiB;CAC1D,4BAA4BA,iBAAAA,WAAW,eAAe;CACtD,wBAAwB,cAAcC,wBAAAA,cAAc,aAAa,KAAK,IAAI,KAAA;CAC1E,yBACE,WAAW,eAAeA,wBAAAA,cAAc,cAAc,KAAK,IAAI,KAAA;CACjE,oCACE,oBAAoB,wBAChBA,wBAAAA,cAAc,uBAAuB,KAAK,IAC1C,KAAA;CACN,gCAAgC,eAAeC,YAAAA,IAAI,kBAAkB,IAAI,KAAA;AAC3E,EACF,EACF;AAEA,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,mBACA,iBACA,aACA,cACA,uBACA,SACA,kBACA,mBACA,gBACA,iBACA,aACA,QACA,MACA,UACA,cACA,oBACA,KACA,aACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAwB;EACxC,MAAM;EACN;EACA;EACA;EACA,SAAA,qBAAA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;EACE,OAAO;GACL;GACA;GACA,SAAS,YAAY,OAAO,QAAQ,WAAW,KAAA;GAC/C;GACA;GACA;GACA,aAAa,eAAe;EAC9B;YAEA,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GACE,WAAU;GACV,KAAK,CAAC;IAAE,0BAA0B;IAAiB,qBAAqB;GAAY,GAAG,GAAG;GAC1F,GAAI,UAAU,OAAO;GACrB,GAAI;aAEH,YAAa,CAAC,CAAC,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD,EAAyB,KAAO,CAAA;EACrD,CAAA;CACQ,CAAA;AAEnB,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,KAAKC,yBAAAA;AACX,MAAM,KAAKC,yBAAAA;AACX,MAAM,KAAKC,yBAAAA;AACX,MAAM,QAAQC,yBAAAA;AACd,MAAM,QAAQC,yBAAAA;AACd,MAAM,QAAQC,yBAAAA;AACd,MAAM,UAAUC,yBAAAA;AAChB,MAAM,kBAAkBC,6BAAAA;AACxB,MAAM,eAAeT,0BAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.components.cjs","names":["factory","useProps","useTableContext","Box","classes"],"sources":["../../../src/components/Table/Table.components.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n FactoryPayload,\n useProps,\n} from '../../core';\nimport type { TableFactory } from './Table';\nimport { TableContextValue, useTableContext } from './Table.context';\nimport classes from './Table.module.css';\n\nexport interface TableElementProps<Selector extends string>\n extends\n BoxProps,\n CompoundStylesApiProps<Omit<TableFactory, 'stylesNames'> & { stylesNames: Selector }> {}\n\nexport interface TableThProps extends TableElementProps<'th'>, ElementProps<'th'> {}\nexport interface TableTdProps extends TableElementProps<'td'>, ElementProps<'td'> {}\nexport interface TableTrProps extends TableElementProps<'tr'>, ElementProps<'tr'> {}\nexport interface TableTheadProps extends TableElementProps<'thead'>, ElementProps<'thead'> {}\nexport interface TableTbodyProps extends TableElementProps<'tbody'>, ElementProps<'tbody'> {}\nexport interface TableTfootProps extends TableElementProps<'tfoot'>, ElementProps<'tfoot'> {}\nexport interface TableCaptionProps extends TableElementProps<'caption'>, ElementProps<'caption'> {}\n\nexport type TableThFactory = Factory<{\n props: TableThProps;\n ref: HTMLTableCellElement;\n stylesNames: 'th';\n compound: true;\n}>;\n\nexport type TableTdFactory = Factory<{\n props: TableTdProps;\n ref: HTMLTableCellElement;\n stylesNames: 'td';\n compound: true;\n}>;\n\nexport type TableTrFactory = Factory<{\n props: TableTrProps;\n ref: HTMLTableRowElement;\n stylesNames: 'tr';\n compound: true;\n}>;\n\nexport type TableTheadFactory = Factory<{\n props: TableTheadProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'thead';\n compound: true;\n}>;\n\nexport type TableTbodyFactory = Factory<{\n props: TableTbodyProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'tbody';\n compound: true;\n}>;\n\nexport type TableTfootFactory = Factory<{\n props: TableTfootProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'tfoot';\n compound: true;\n}>;\n\nexport type TableCaptionFactory = Factory<{\n props: TableCaptionProps;\n ref: HTMLTableCaptionElement;\n stylesNames: 'caption';\n compound: true;\n}>;\n\ninterface TableElementOptions {\n columnBorder?: true;\n rowBorder?: true;\n striped?: true;\n highlightOnHover?: true;\n captionSide?: true;\n stickyHeader?: true;\n}\n\nfunction getDataAttributes(ctx: TableContextValue, options?: TableElementOptions) {\n if (!options) {\n return undefined;\n }\n\n const data: Record<string, boolean | string> = {};\n\n if (options.columnBorder && ctx.withColumnBorders) {\n data['data-with-column-border'] = true;\n }\n\n if (options.rowBorder && ctx.withRowBorders) {\n data['data-with-row-border'] = true;\n }\n\n if (options.striped && ctx.striped) {\n data['data-striped'] = ctx.striped;\n }\n\n if (options.highlightOnHover && ctx.highlightOnHover) {\n data['data-hover'] = true;\n }\n\n if (options.captionSide && ctx.captionSide) {\n data['data-side'] = ctx.captionSide;\n }\n\n if (options.stickyHeader && ctx.stickyHeader) {\n data['data-sticky'] = true;\n }\n\n return data;\n}\n\nexport function tableElement<Factory extends FactoryPayload>(\n element: 'th' | 'td' | 'tr' | 'thead' | 'tbody' | 'tfoot' | 'caption',\n options?: TableElementOptions\n) {\n const name = `Table${element.charAt(0).toUpperCase()}${element.slice(1)}`;\n const Component = factory<Factory>((_props) => {\n const props = useProps(name, {}, _props);\n const { classNames, className, style, styles, ...others } = props;\n\n const ctx = useTableContext();\n\n return (\n <Box\n component={element}\n {...getDataAttributes(ctx, options)}\n {...ctx.getStyles(element, { className, classNames, style, styles, props })}\n {...others}\n />\n );\n });\n\n Component.displayName = `@mantine/core/${name}`;\n Component.classes = classes;\n return Component;\n}\n\nexport const TableTh = tableElement<TableThFactory>('th', { columnBorder: true });\nexport const TableTd = tableElement<TableTdFactory>('td', { columnBorder: true });\nexport const TableTr = tableElement<TableTrFactory>('tr', {\n rowBorder: true,\n striped: true,\n highlightOnHover: true,\n});\nexport const TableThead = tableElement<TableTheadFactory>('thead', { stickyHeader: true });\nexport const TableTbody = tableElement<TableTbodyFactory>('tbody');\nexport const TableTfoot = tableElement<TableTfootFactory>('tfoot');\nexport const TableCaption = tableElement<TableCaptionFactory>('caption', { captionSide: true });\n"],"mappings":";;;;;;;;AAqFA,SAAS,kBAAkB,KAAwB,SAA+B;CAChF,IAAI,CAAC,SACH;CAGF,MAAM,OAAyC,CAAC;CAEhD,IAAI,QAAQ,gBAAgB,IAAI,mBAC9B,KAAK,6BAA6B;CAGpC,IAAI,QAAQ,aAAa,IAAI,gBAC3B,KAAK,0BAA0B;CAGjC,IAAI,QAAQ,WAAW,IAAI,SACzB,KAAK,kBAAkB,IAAI;CAG7B,IAAI,QAAQ,oBAAoB,IAAI,kBAClC,KAAK,gBAAgB;CAGvB,IAAI,QAAQ,eAAe,IAAI,aAC7B,KAAK,eAAe,IAAI;CAG1B,IAAI,QAAQ,gBAAgB,IAAI,cAC9B,KAAK,iBAAiB;CAGxB,OAAO;AACT;AAEA,SAAgB,aACd,SACA,SACA;CACA,MAAM,OAAO,QAAQ,QAAQ,OAAO,CAAC,EAAE,YAAY,IAAI,QAAQ,MAAM,CAAC;CACtE,MAAM,YAAYA,gBAAAA,SAAkB,WAAW;EAC7C,MAAM,QAAQC,kBAAAA,SAAS,MAAM,CAAC,GAAG,MAAM;EACvC,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,GAAG,WAAW;EAE5D,MAAM,MAAMC,sBAAAA,gBAAgB;EAE5B,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GACE,WAAW;GACX,GAAI,kBAAkB,KAAK,OAAO;GAClC,GAAI,IAAI,UAAU,SAAS;IAAE;IAAW;IAAY;IAAO;IAAQ;GAAM,CAAC;GAC1E,GAAI;EACL,CAAA;CAEL,CAAC;CAED,UAAU,cAAc,iBAAiB;CACzC,UAAU,UAAUC,qBAAAA;CACpB,OAAO;AACT;AAEA,MAAa,UAAU,aAA6B,MAAM,EAAE,cAAc,KAAK,CAAC;AAChF,MAAa,UAAU,aAA6B,MAAM,EAAE,cAAc,KAAK,CAAC;AAChF,MAAa,UAAU,aAA6B,MAAM;CACxD,WAAW;CACX,SAAS;CACT,kBAAkB;AACpB,CAAC;AACD,MAAa,aAAa,aAAgC,SAAS,EAAE,cAAc,KAAK,CAAC;AACzF,MAAa,aAAa,aAAgC,OAAO;AACjE,MAAa,aAAa,aAAgC,OAAO;AACjE,MAAa,eAAe,aAAkC,WAAW,EAAE,aAAa,KAAK,CAAC"}
1
+ {"version":3,"file":"Table.components.cjs","names":["factory","useProps","useTableContext","Box","classes"],"sources":["../../../src/components/Table/Table.components.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n FactoryPayload,\n useProps,\n} from '../../core';\nimport type { TableFactory } from './Table';\nimport { TableContextValue, useTableContext } from './Table.context';\nimport classes from './Table.module.css';\n\nexport interface TableElementProps<Selector extends string>\n extends\n BoxProps,\n CompoundStylesApiProps<Omit<TableFactory, 'stylesNames'> & { stylesNames: Selector }> {}\n\nexport interface TableThProps extends TableElementProps<'th'>, ElementProps<'th'> {}\nexport interface TableTdProps extends TableElementProps<'td'>, ElementProps<'td'> {}\nexport interface TableTrProps extends TableElementProps<'tr'>, ElementProps<'tr'> {}\nexport interface TableTheadProps extends TableElementProps<'thead'>, ElementProps<'thead'> {}\nexport interface TableTbodyProps extends TableElementProps<'tbody'>, ElementProps<'tbody'> {}\nexport interface TableTfootProps extends TableElementProps<'tfoot'>, ElementProps<'tfoot'> {}\nexport interface TableCaptionProps extends TableElementProps<'caption'>, ElementProps<'caption'> {}\n\nexport type TableThFactory = Factory<{\n props: TableThProps;\n ref: HTMLTableCellElement;\n stylesNames: 'th';\n compound: true;\n}>;\n\nexport type TableTdFactory = Factory<{\n props: TableTdProps;\n ref: HTMLTableCellElement;\n stylesNames: 'td';\n compound: true;\n}>;\n\nexport type TableTrFactory = Factory<{\n props: TableTrProps;\n ref: HTMLTableRowElement;\n stylesNames: 'tr';\n compound: true;\n}>;\n\nexport type TableTheadFactory = Factory<{\n props: TableTheadProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'thead';\n compound: true;\n}>;\n\nexport type TableTbodyFactory = Factory<{\n props: TableTbodyProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'tbody';\n compound: true;\n}>;\n\nexport type TableTfootFactory = Factory<{\n props: TableTfootProps;\n ref: HTMLTableSectionElement;\n stylesNames: 'tfoot';\n compound: true;\n}>;\n\nexport type TableCaptionFactory = Factory<{\n props: TableCaptionProps;\n ref: HTMLTableCaptionElement;\n stylesNames: 'caption';\n compound: true;\n}>;\n\ninterface TableElementOptions {\n columnBorder?: true;\n rowBorder?: true;\n striped?: true;\n highlightOnHover?: true;\n captionSide?: true;\n stickyHeader?: true;\n}\n\nfunction getDataAttributes(ctx: TableContextValue, options?: TableElementOptions) {\n if (!options) {\n return undefined;\n }\n\n const data: Record<string, boolean | string> = {};\n\n if (options.columnBorder && ctx.withColumnBorders) {\n data['data-with-column-border'] = true;\n }\n\n if (options.rowBorder && ctx.withRowBorders) {\n data['data-with-row-border'] = true;\n }\n\n if (options.striped && ctx.striped) {\n data['data-striped'] = ctx.striped;\n }\n\n if (options.highlightOnHover && ctx.highlightOnHover) {\n data['data-hover'] = true;\n }\n\n if (options.captionSide && ctx.captionSide) {\n data['data-side'] = ctx.captionSide;\n }\n\n if (options.stickyHeader && ctx.stickyHeader) {\n data['data-sticky'] = true;\n }\n\n return data;\n}\n\nexport function tableElement<Factory extends FactoryPayload>(\n element: 'th' | 'td' | 'tr' | 'thead' | 'tbody' | 'tfoot' | 'caption',\n options?: TableElementOptions\n) {\n const name = `Table${element.charAt(0).toUpperCase()}${element.slice(1)}`;\n const Component = factory<Factory>((_props) => {\n const props = useProps(name, {}, _props);\n const { classNames, className, style, styles, ...others } = props;\n\n const ctx = useTableContext();\n\n return (\n <Box\n component={element}\n {...getDataAttributes(ctx, options)}\n {...ctx.getStyles(element, { className, classNames, style, styles, props })}\n {...others}\n />\n );\n });\n\n Component.displayName = `@mantine/core/${name}`;\n Component.classes = classes;\n return Component;\n}\n\nexport const TableTh = tableElement<TableThFactory>('th', { columnBorder: true });\nexport const TableTd = tableElement<TableTdFactory>('td', { columnBorder: true });\nexport const TableTr = tableElement<TableTrFactory>('tr', {\n rowBorder: true,\n striped: true,\n highlightOnHover: true,\n});\nexport const TableThead = tableElement<TableTheadFactory>('thead', { stickyHeader: true });\nexport const TableTbody = tableElement<TableTbodyFactory>('tbody');\nexport const TableTfoot = tableElement<TableTfootFactory>('tfoot');\nexport const TableCaption = tableElement<TableCaptionFactory>('caption', { captionSide: true });\n"],"mappings":";;;;;;;;AAqFA,SAAS,kBAAkB,KAAwB,SAA+B;CAChF,IAAI,CAAC,SACH;CAGF,MAAM,OAAyC,CAAC;CAEhD,IAAI,QAAQ,gBAAgB,IAAI,mBAC9B,KAAK,6BAA6B;CAGpC,IAAI,QAAQ,aAAa,IAAI,gBAC3B,KAAK,0BAA0B;CAGjC,IAAI,QAAQ,WAAW,IAAI,SACzB,KAAK,kBAAkB,IAAI;CAG7B,IAAI,QAAQ,oBAAoB,IAAI,kBAClC,KAAK,gBAAgB;CAGvB,IAAI,QAAQ,eAAe,IAAI,aAC7B,KAAK,eAAe,IAAI;CAG1B,IAAI,QAAQ,gBAAgB,IAAI,cAC9B,KAAK,iBAAiB;CAGxB,OAAO;AACT;AAEA,SAAgB,aACd,SACA,SACA;CACA,MAAM,OAAO,QAAQ,QAAQ,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,QAAQ,MAAM,CAAC;CACtE,MAAM,YAAYA,gBAAAA,SAAkB,WAAW;EAC7C,MAAM,QAAQC,kBAAAA,SAAS,MAAM,CAAC,GAAG,MAAM;EACvC,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,GAAG,WAAW;EAE5D,MAAM,MAAMC,sBAAAA,gBAAgB;EAE5B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GACE,WAAW;GACX,GAAI,kBAAkB,KAAK,OAAO;GAClC,GAAI,IAAI,UAAU,SAAS;IAAE;IAAW;IAAY;IAAO;IAAQ;GAAM,CAAC;GAC1E,GAAI;EACL,CAAA;CAEL,CAAC;CAED,UAAU,cAAc,iBAAiB;CACzC,UAAU,UAAUC,qBAAAA;CACpB,OAAO;AACT;AAEA,MAAa,UAAU,aAA6B,MAAM,EAAE,cAAc,KAAK,CAAC;AAChF,MAAa,UAAU,aAA6B,MAAM,EAAE,cAAc,KAAK,CAAC;AAChF,MAAa,UAAU,aAA6B,MAAM;CACxD,WAAW;CACX,SAAS;CACT,kBAAkB;AACpB,CAAC;AACD,MAAa,aAAa,aAAgC,SAAS,EAAE,cAAc,KAAK,CAAC;AACzF,MAAa,aAAa,aAAgC,OAAO;AACjE,MAAa,aAAa,aAAgC,OAAO;AACjE,MAAa,eAAe,aAAkC,WAAW,EAAE,aAAa,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Table/Table.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { TableFactory } from './Table';\n\nexport interface TableContextValue {\n getStyles: GetStylesApi<TableFactory>;\n stickyHeader: boolean | undefined;\n striped: 'odd' | 'even' | undefined;\n highlightOnHover: boolean | undefined;\n withColumnBorders: boolean | undefined;\n withRowBorders: boolean | undefined;\n captionSide: 'top' | 'bottom';\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree'\n);\n"],"mappings":";;AAaA,MAAa,CAAC,eAAe,yFAAmBA,EAAAA,kBAC9C,2CACF"}
1
+ {"version":3,"file":"Table.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Table/Table.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { TableFactory } from './Table';\n\nexport interface TableContextValue {\n getStyles: GetStylesApi<TableFactory>;\n stickyHeader: boolean | undefined;\n striped: 'odd' | 'even' | undefined;\n highlightOnHover: boolean | undefined;\n withColumnBorders: boolean | undefined;\n withRowBorders: boolean | undefined;\n captionSide: 'top' | 'bottom';\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree'\n);\n"],"mappings":";;AAaA,MAAa,CAAC,eAAe,yFAAmBA,CAAAA,CAAAA,kBAC9C,2CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableDataRenderer.cjs","names":["TableCaption","TableThead","TableTr","TableTh","TableTbody","TableTd","TableTfoot"],"sources":["../../../src/components/Table/TableDataRenderer.tsx"],"sourcesContent":["import type { TableData } from './Table';\nimport {\n TableCaption,\n TableTbody,\n TableTd,\n TableTfoot,\n TableTh,\n TableThead,\n TableTr,\n} from './Table.components';\n\nexport interface TableDataRendererProps {\n data: TableData;\n}\n\nexport function TableDataRenderer({ data }: TableDataRendererProps) {\n return (\n <>\n {data.caption && <TableCaption>{data.caption}</TableCaption>}\n\n {data.head && (\n <TableThead>\n <TableTr>\n {data.head.map((item, index) => (\n <TableTh key={index}>{item}</TableTh>\n ))}\n </TableTr>\n </TableThead>\n )}\n\n {data.body && (\n <TableTbody>\n {data.body.map((row, rowIndex) => (\n <TableTr key={rowIndex}>\n {row.map((item, index) => (\n <TableTd key={index}>{item}</TableTd>\n ))}\n </TableTr>\n ))}\n </TableTbody>\n )}\n\n {data.foot && (\n <TableTfoot>\n <TableTr>\n {data.foot.map((item, index) => (\n <TableTh key={index}>{item}</TableTh>\n ))}\n </TableTr>\n </TableTfoot>\n )}\n </>\n );\n}\n\nTableDataRenderer.displayName = '@mantine/core/TableDataRenderer';\n"],"mappings":";;;;AAeA,SAAgB,kBAAkB,EAAE,QAAgC;CAClE,OACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA;EACG,KAAK,WAAW,iBAAA,GAAA,kBAAA,KAACA,yBAAAA,cAAD,EAAA,UAAe,KAAK,QAAsB,CAAA;EAE1D,KAAK,QACJ,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,SAAD,EAAA,UACG,KAAK,KAAK,KAAK,MAAM,UACpB,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,CAAA,EACC,CAAA;EAGb,KAAK,QACJ,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,YAAD,EAAA,UACG,KAAK,KAAK,KAAK,KAAK,aACnB,iBAAA,GAAA,kBAAA,KAACF,yBAAAA,SAAD,EAAA,UACG,IAAI,KAAK,MAAM,UACd,iBAAA,GAAA,kBAAA,KAACG,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,GAJK,QAIL,CACV,EACS,CAAA;EAGb,KAAK,QACJ,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACJ,yBAAAA,SAAD,EAAA,UACG,KAAK,KAAK,KAAK,MAAM,UACpB,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,CAAA,EACC,CAAA;CAEd,EAAA,CAAA;AAEN;AAEA,kBAAkB,cAAc"}
1
+ {"version":3,"file":"TableDataRenderer.cjs","names":["TableCaption","TableThead","TableTr","TableTh","TableTbody","TableTd","TableTfoot"],"sources":["../../../src/components/Table/TableDataRenderer.tsx"],"sourcesContent":["import type { TableData } from './Table';\nimport {\n TableCaption,\n TableTbody,\n TableTd,\n TableTfoot,\n TableTh,\n TableThead,\n TableTr,\n} from './Table.components';\n\nexport interface TableDataRendererProps {\n data: TableData;\n}\n\nexport function TableDataRenderer({ data }: TableDataRendererProps) {\n return (\n <>\n {data.caption && <TableCaption>{data.caption}</TableCaption>}\n\n {data.head && (\n <TableThead>\n <TableTr>\n {data.head.map((item, index) => (\n <TableTh key={index}>{item}</TableTh>\n ))}\n </TableTr>\n </TableThead>\n )}\n\n {data.body && (\n <TableTbody>\n {data.body.map((row, rowIndex) => (\n <TableTr key={rowIndex}>\n {row.map((item, index) => (\n <TableTd key={index}>{item}</TableTd>\n ))}\n </TableTr>\n ))}\n </TableTbody>\n )}\n\n {data.foot && (\n <TableTfoot>\n <TableTr>\n {data.foot.map((item, index) => (\n <TableTh key={index}>{item}</TableTh>\n ))}\n </TableTr>\n </TableTfoot>\n )}\n </>\n );\n}\n\nTableDataRenderer.displayName = '@mantine/core/TableDataRenderer';\n"],"mappings":";;;;AAeA,SAAgB,kBAAkB,EAAE,QAAgC;CAClE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;EACG,KAAK,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAACA,yBAAAA,cAAD,EAAA,UAAe,KAAK,QAAsB,CAAA;EAE1D,KAAK,QACJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,EAAA,UACG,KAAK,KAAK,KAAK,MAAM,UACpB,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,CAAA,EACC,CAAA;EAGb,KAAK,QACJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UACG,KAAK,KAAK,KAAK,KAAK,aACnB,iBAAA,GAAA,kBAAA,IAAA,CAACF,yBAAAA,SAAD,EAAA,UACG,IAAI,KAAK,MAAM,UACd,iBAAA,GAAA,kBAAA,IAAA,CAACG,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,GAJK,QAIL,CACV,EACS,CAAA;EAGb,KAAK,QACJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACJ,yBAAAA,SAAD,EAAA,UACG,KAAK,KAAK,KAAK,MAAM,UACpB,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,EAAA,UAAsB,KAAc,GAAtB,KAAsB,CACrC,EACM,CAAA,EACC,CAAA;CAEd,EAAA,CAAA;AAEN;AAEA,kBAAkB,cAAc"}