@mantine/core 9.3.2 → 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 (828) 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/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
  46. package/cjs/components/Burger/Burger.cjs.map +1 -1
  47. package/cjs/components/Button/Button.cjs.map +1 -1
  48. package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
  49. package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
  50. package/cjs/components/Card/Card.cjs.map +1 -1
  51. package/cjs/components/Card/Card.context.cjs.map +1 -1
  52. package/cjs/components/Card/CardSection/CardSection.cjs.map +1 -1
  53. package/cjs/components/Center/Center.cjs.map +1 -1
  54. package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
  55. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  56. package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
  57. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  58. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  59. package/cjs/components/Chip/Chip.cjs.map +1 -1
  60. package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
  61. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  62. package/cjs/components/CloseButton/CloseIcon.cjs.map +1 -1
  63. package/cjs/components/Code/Code.cjs.map +1 -1
  64. package/cjs/components/Collapse/Collapse.cjs.map +1 -1
  65. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  66. package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
  67. package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs.map +1 -1
  68. package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  69. package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
  70. package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
  71. package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs.map +1 -1
  72. package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
  73. package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
  74. package/cjs/components/ColorPicker/Thumb/Thumb.cjs.map +1 -1
  75. package/cjs/components/ColorPicker/converters/converters.cjs.map +1 -1
  76. package/cjs/components/ColorPicker/converters/parsers.cjs.map +1 -1
  77. package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
  78. package/cjs/components/Combobox/Combobox.cjs.map +1 -1
  79. package/cjs/components/Combobox/Combobox.context.cjs.map +1 -1
  80. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  81. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  82. package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs.map +1 -1
  83. package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs.map +1 -1
  84. package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
  85. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
  86. package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
  87. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs +3 -2
  88. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
  89. package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
  90. package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs.map +1 -1
  91. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
  92. package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
  93. package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
  94. package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
  95. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs +2 -2
  96. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
  97. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.cjs.map +1 -1
  98. package/cjs/components/Combobox/use-combobox/get-index/get-index.cjs.map +1 -1
  99. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  100. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
  101. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  102. package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -1
  103. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs +218 -0
  104. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs.map +1 -0
  105. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs +45 -0
  106. package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs.map +1 -0
  107. package/cjs/components/Container/Container.cjs.map +1 -1
  108. package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
  109. package/cjs/components/DataList/DataList.cjs +61 -0
  110. package/cjs/components/DataList/DataList.cjs.map +1 -0
  111. package/cjs/components/DataList/DataList.context.cjs +8 -0
  112. package/cjs/components/DataList/DataList.context.cjs.map +1 -0
  113. package/cjs/components/DataList/DataList.module.cjs +12 -0
  114. package/cjs/components/DataList/DataList.module.cjs.map +1 -0
  115. package/cjs/components/DataList/DataListItem/DataListItem.cjs +32 -0
  116. package/cjs/components/DataList/DataListItem/DataListItem.cjs.map +1 -0
  117. package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs +33 -0
  118. package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs.map +1 -0
  119. package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs +33 -0
  120. package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs.map +1 -0
  121. package/cjs/components/Dialog/Dialog.cjs.map +1 -1
  122. package/cjs/components/Divider/Divider.cjs.map +1 -1
  123. package/cjs/components/Drawer/Drawer.cjs.map +1 -1
  124. package/cjs/components/Drawer/Drawer.context.cjs.map +1 -1
  125. package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
  126. package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
  127. package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
  128. package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
  129. package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
  130. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  131. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  132. package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
  133. package/cjs/components/EmptyState/EmptyState.cjs +102 -0
  134. package/cjs/components/EmptyState/EmptyState.cjs.map +1 -0
  135. package/cjs/components/EmptyState/EmptyState.context.cjs +8 -0
  136. package/cjs/components/EmptyState/EmptyState.context.cjs.map +1 -0
  137. package/cjs/components/EmptyState/EmptyState.module.cjs +14 -0
  138. package/cjs/components/EmptyState/EmptyState.module.cjs.map +1 -0
  139. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs +28 -0
  140. package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs.map +1 -0
  141. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs +29 -0
  142. package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs.map +1 -0
  143. package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs +29 -0
  144. package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs.map +1 -0
  145. package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs +30 -0
  146. package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs.map +1 -0
  147. package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
  148. package/cjs/components/FileButton/FileButton.cjs.map +1 -1
  149. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  150. package/cjs/components/Flex/Flex.cjs.map +1 -1
  151. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  152. package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
  153. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  154. package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
  155. package/cjs/components/Grid/Grid.cjs.map +1 -1
  156. package/cjs/components/Grid/Grid.context.cjs.map +1 -1
  157. package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
  158. package/cjs/components/Grid/GridCol/GridColVariables.cjs.map +1 -1
  159. package/cjs/components/Grid/GridVariables.cjs.map +1 -1
  160. package/cjs/components/Group/Group.cjs.map +1 -1
  161. package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs.map +1 -1
  162. package/cjs/components/Highlight/Highlight.cjs.map +1 -1
  163. package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
  164. package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
  165. package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
  166. package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
  167. package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
  168. package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
  169. package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
  170. package/cjs/components/Image/Image.cjs.map +1 -1
  171. package/cjs/components/Indicator/Indicator.cjs.map +1 -1
  172. package/cjs/components/Input/Input.cjs +7 -2
  173. package/cjs/components/Input/Input.cjs.map +1 -1
  174. package/cjs/components/Input/Input.context.cjs.map +1 -1
  175. package/cjs/components/Input/Input.module.cjs +1 -0
  176. package/cjs/components/Input/Input.module.cjs.map +1 -1
  177. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
  178. package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
  179. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  180. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  181. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  182. package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
  183. package/cjs/components/Input/InputSuccess/InputSuccess.cjs +48 -0
  184. package/cjs/components/Input/InputSuccess/InputSuccess.cjs.map +1 -0
  185. package/cjs/components/Input/InputWrapper/InputWrapper.cjs +22 -5
  186. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  187. package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
  188. package/cjs/components/Input/use-input-props.cjs +4 -1
  189. package/cjs/components/Input/use-input-props.cjs.map +1 -1
  190. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  191. package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
  192. package/cjs/components/JsonInput/validate-json/validate-json.cjs.map +1 -1
  193. package/cjs/components/Kbd/Kbd.cjs.map +1 -1
  194. package/cjs/components/List/List.cjs.map +1 -1
  195. package/cjs/components/List/List.context.cjs.map +1 -1
  196. package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
  197. package/cjs/components/Loader/Loader.cjs.map +1 -1
  198. package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
  199. package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
  200. package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
  201. package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
  202. package/cjs/components/Mark/Mark.cjs.map +1 -1
  203. package/cjs/components/Marquee/Marquee.cjs.map +1 -1
  204. package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
  205. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
  206. package/cjs/components/Menu/Menu.cjs.map +1 -1
  207. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  208. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -1
  209. package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -1
  210. package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -1
  211. package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs.map +1 -1
  212. package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
  213. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  214. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  215. package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
  216. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs.map +1 -1
  217. package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs.map +1 -1
  218. package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs.map +1 -1
  219. package/cjs/components/Menu/MenuSearch/MenuSearch.cjs.map +1 -1
  220. package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs.map +1 -1
  221. package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
  222. package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
  223. package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
  224. package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
  225. package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
  226. package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
  227. package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -1
  228. package/cjs/components/Menubar/Menubar.cjs +146 -0
  229. package/cjs/components/Menubar/Menubar.cjs.map +1 -0
  230. package/cjs/components/Menubar/Menubar.context.cjs +12 -0
  231. package/cjs/components/Menubar/Menubar.context.cjs.map +1 -0
  232. package/cjs/components/Menubar/Menubar.module.cjs +10 -0
  233. package/cjs/components/Menubar/Menubar.module.cjs.map +1 -0
  234. package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs +61 -0
  235. package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs.map +1 -0
  236. package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs +59 -0
  237. package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs.map +1 -0
  238. package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs +143 -0
  239. package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs.map +1 -0
  240. package/cjs/components/Modal/Modal.cjs.map +1 -1
  241. package/cjs/components/Modal/Modal.context.cjs.map +1 -1
  242. package/cjs/components/Modal/ModalBody.cjs.map +1 -1
  243. package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
  244. package/cjs/components/Modal/ModalContent.cjs.map +1 -1
  245. package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
  246. package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
  247. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  248. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  249. package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
  250. package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
  251. package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
  252. package/cjs/components/ModalBase/ModalBase.context.cjs.map +1 -1
  253. package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
  254. package/cjs/components/ModalBase/ModalBaseCloseButton.cjs.map +1 -1
  255. package/cjs/components/ModalBase/ModalBaseContent.cjs.map +1 -1
  256. package/cjs/components/ModalBase/ModalBaseHeader.cjs.map +1 -1
  257. package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
  258. package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
  259. package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
  260. package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
  261. package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
  262. package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
  263. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  264. package/cjs/components/MultiSelect/MultiSelect.cjs +4 -1
  265. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  266. package/cjs/components/MultiSelect/filter-picked-values.cjs.map +1 -1
  267. package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
  268. package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
  269. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  270. package/cjs/components/Notification/Notification.cjs.map +1 -1
  271. package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
  272. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  273. package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
  274. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  275. package/cjs/components/OverflowList/get-row-position-data.cjs.map +1 -1
  276. package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
  277. package/cjs/components/Overlay/Overlay.cjs.map +1 -1
  278. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  279. package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
  280. package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
  281. package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
  282. package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
  283. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
  284. package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
  285. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -1
  286. package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
  287. package/cjs/components/Paper/Paper.cjs.map +1 -1
  288. package/cjs/components/PasswordInput/PasswordInput.cjs +11 -2
  289. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  290. package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
  291. package/cjs/components/Pill/Pill.cjs.map +1 -1
  292. package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
  293. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  294. package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
  295. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  296. package/cjs/components/PinInput/PinInput.cjs +2 -1
  297. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  298. package/cjs/components/PinInput/create-pin-array/create-pin-array.cjs.map +1 -1
  299. package/cjs/components/Popover/Popover.cjs.map +1 -1
  300. package/cjs/components/Popover/Popover.context.cjs.map +1 -1
  301. package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -1
  302. package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
  303. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
  304. package/cjs/components/Popover/use-popover.cjs.map +1 -1
  305. package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
  306. package/cjs/components/Portal/Portal.cjs.map +1 -1
  307. package/cjs/components/Progress/Progress.cjs.map +1 -1
  308. package/cjs/components/Progress/Progress.context.cjs.map +1 -1
  309. package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
  310. package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
  311. package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
  312. package/cjs/components/Radio/Radio.cjs.map +1 -1
  313. package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
  314. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  315. package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
  316. package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
  317. package/cjs/components/Rating/Rating.cjs.map +1 -1
  318. package/cjs/components/Rating/Rating.context.cjs.map +1 -1
  319. package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
  320. package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
  321. package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
  322. package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
  323. package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
  324. package/cjs/components/RingProgress/get-curves/get-curves.cjs.map +1 -1
  325. package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
  326. package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
  327. package/cjs/components/RollingNumber/get-digit-parts.cjs.map +1 -1
  328. package/cjs/components/RollingNumber/get-render-slots.cjs.map +1 -1
  329. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  330. package/cjs/components/ScrollArea/ScrollArea.context.cjs.map +1 -1
  331. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
  332. package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
  333. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
  334. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
  335. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
  336. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
  337. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
  338. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  339. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.cjs.map +1 -1
  340. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
  341. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
  342. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  343. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +1 -0
  344. package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
  345. package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
  346. package/cjs/components/ScrollArea/utils/add-unlinked-scroll-listener.cjs.map +1 -1
  347. package/cjs/components/ScrollArea/utils/get-scroll-position-from-pointer.cjs.map +1 -1
  348. package/cjs/components/ScrollArea/utils/get-thumb-offset-from-scroll.cjs.map +1 -1
  349. package/cjs/components/Scroller/Scroller.cjs.map +1 -1
  350. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  351. package/cjs/components/Select/Select.cjs.map +1 -1
  352. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs +4 -1
  353. package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
  354. package/cjs/components/SemiCircleProgress/SemiCircleProgress.module.cjs.map +1 -1
  355. package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  356. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  357. package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  358. package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
  359. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  360. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  361. package/cjs/components/Slider/Slider.context.cjs.map +1 -1
  362. package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
  363. package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
  364. package/cjs/components/Slider/Track/Track.cjs.map +1 -1
  365. package/cjs/components/Slider/utils/get-precision/get-precision.cjs.map +1 -1
  366. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
  367. package/cjs/components/Space/Space.cjs.map +1 -1
  368. package/cjs/components/Splitter/GripIcon.cjs.map +1 -1
  369. package/cjs/components/Splitter/Splitter.cjs +22 -1
  370. package/cjs/components/Splitter/Splitter.cjs.map +1 -1
  371. package/cjs/components/Splitter/Splitter.context.cjs.map +1 -1
  372. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs +1 -2
  373. package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs.map +1 -1
  374. package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
  375. package/cjs/components/Stack/Stack.cjs.map +1 -1
  376. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  377. package/cjs/components/Stepper/Stepper.context.cjs.map +1 -1
  378. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  379. package/cjs/components/Switch/Switch.cjs.map +1 -1
  380. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  381. package/cjs/components/Table/Table.cjs.map +1 -1
  382. package/cjs/components/Table/Table.components.cjs.map +1 -1
  383. package/cjs/components/Table/Table.context.cjs.map +1 -1
  384. package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
  385. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  386. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
  387. package/cjs/components/Tabs/Tabs.cjs +16 -1
  388. package/cjs/components/Tabs/Tabs.cjs.map +1 -1
  389. package/cjs/components/Tabs/Tabs.context.cjs.map +1 -1
  390. package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
  391. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +6 -0
  392. package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
  393. package/cjs/components/Tabs/TabsTab/TabsTab.cjs +1 -1
  394. package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
  395. package/cjs/components/TagsInput/TagsInput.cjs +4 -1
  396. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  397. package/cjs/components/TagsInput/filter-picked-tags.cjs.map +1 -1
  398. package/cjs/components/TagsInput/get-splitted-tags.cjs.map +1 -1
  399. package/cjs/components/Text/Text.cjs.map +1 -1
  400. package/cjs/components/TextInput/TextInput.cjs.map +1 -1
  401. package/cjs/components/Textarea/Autosize.cjs.map +1 -1
  402. package/cjs/components/Textarea/Textarea.cjs.map +1 -1
  403. package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
  404. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  405. package/cjs/components/Timeline/Timeline.context.cjs.map +1 -1
  406. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  407. package/cjs/components/Title/Title.cjs.map +1 -1
  408. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  409. package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
  410. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
  411. package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
  412. package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
  413. package/cjs/components/Transition/Transition.cjs.map +1 -1
  414. package/cjs/components/Transition/get-transition-styles/get-transition-styles.cjs.map +1 -1
  415. package/cjs/components/Transition/use-transition.cjs.map +1 -1
  416. package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
  417. package/cjs/components/Tree/Tree.cjs.map +1 -1
  418. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  419. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +1 -1
  420. package/cjs/components/Tree/is-node-checked/is-node-checked.cjs.map +1 -1
  421. package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs.map +1 -1
  422. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
  423. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  424. package/cjs/components/TreeSelect/TreeSelect.cjs +7 -1
  425. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  426. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
  427. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -1
  428. package/cjs/components/Typography/Typography.cjs.map +1 -1
  429. package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
  430. package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  431. package/cjs/core/Box/Box.cjs.map +1 -1
  432. package/cjs/core/Box/get-box-mod/get-box-mod.cjs.map +1 -1
  433. package/cjs/core/Box/get-box-style/get-box-style.cjs.map +1 -1
  434. package/cjs/core/Box/get-style-object/get-style-object.cjs.map +1 -1
  435. package/cjs/core/Box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
  436. package/cjs/core/Box/style-props/parse-style-props/sort-media-queries.cjs.map +1 -1
  437. package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
  438. package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
  439. package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
  440. package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
  441. package/cjs/core/InlineStyles/css-object-to-string/css-object-to-string.cjs.map +1 -1
  442. package/cjs/core/InlineStyles/hash-styles.cjs.map +1 -1
  443. package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
  444. package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
  445. package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
  446. package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
  447. package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs +5 -1
  448. package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs.map +1 -1
  449. package/cjs/core/MantineProvider/MantineCssVariables/get-css-color-variables.cjs.map +1 -1
  450. package/cjs/core/MantineProvider/MantineCssVariables/remove-default-variables.cjs.map +1 -1
  451. package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs +3 -1
  452. package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs.map +1 -1
  453. package/cjs/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.cjs.map +1 -1
  454. package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
  455. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  456. package/cjs/core/MantineProvider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -1
  457. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs +3 -1
  458. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
  459. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs +19 -3
  460. package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -1
  461. package/cjs/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
  462. package/cjs/core/MantineProvider/color-functions/to-rgba/to-rgba.cjs.map +1 -1
  463. package/cjs/core/MantineProvider/convert-css-variables/convert-css-variables.cjs.map +1 -1
  464. package/cjs/core/MantineProvider/convert-css-variables/css-variables-object-to-string.cjs.map +1 -1
  465. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
  466. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
  467. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  468. package/cjs/core/MantineProvider/use-props/use-props.cjs.map +1 -1
  469. package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
  470. package/cjs/core/factory/factory.cjs.map +1 -1
  471. package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
  472. package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
  473. package/cjs/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.cjs.map +1 -1
  474. package/cjs/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.cjs.map +1 -1
  475. package/cjs/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.cjs.map +1 -1
  476. package/cjs/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.cjs.map +1 -1
  477. package/cjs/core/styles-api/use-styles/get-style/get-style.cjs.map +1 -1
  478. package/cjs/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.cjs.map +1 -1
  479. package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
  480. package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs.map +1 -1
  481. package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
  482. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs +3 -5
  483. package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs.map +1 -1
  484. package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
  485. package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -1
  486. package/cjs/core/utils/filter-props/filter-props.cjs.map +1 -1
  487. package/cjs/core/utils/get-context-item-index/get-context-item-index.cjs.map +1 -1
  488. package/cjs/core/utils/get-safe-id/get-safe-id.cjs.map +1 -1
  489. package/cjs/core/utils/is-number-like/is-number-like.cjs.map +1 -1
  490. package/cjs/core/utils/units-converters/px.cjs.map +1 -1
  491. package/cjs/core/utils/units-converters/rem.cjs.map +1 -1
  492. package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
  493. package/cjs/index.cjs +42 -2
  494. package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
  495. package/cjs/utils/Floating/use-context-menu-handlers.cjs.map +1 -1
  496. package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
  497. package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
  498. package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  499. package/esm/components/Accordion/Accordion.mjs +1 -0
  500. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  501. package/esm/components/ActionIcon/ActionIcon.mjs +1 -0
  502. package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
  503. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs +1 -1
  504. package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  505. package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs.map +1 -1
  506. package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
  507. package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
  508. package/esm/components/AppShell/AppShellMain/AppShellMain.mjs.map +1 -1
  509. package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
  510. package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
  511. package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
  512. package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
  513. package/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs.map +1 -1
  514. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
  515. package/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs.map +1 -1
  516. package/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs.map +1 -1
  517. package/esm/components/AspectRatio/AspectRatio.mjs.map +1 -1
  518. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  519. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
  520. package/esm/components/Avatar/get-initials/get-initials.mjs.map +1 -1
  521. package/esm/components/BackgroundImage/BackgroundImage.mjs.map +1 -1
  522. package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
  523. package/esm/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
  524. package/esm/components/Button/ButtonGroup/ButtonGroup.mjs.map +1 -1
  525. package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs.map +1 -1
  526. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  527. package/esm/components/Collapse/Collapse.mjs.map +1 -1
  528. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  529. package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
  530. package/esm/components/ColorPicker/converters/converters.mjs.map +1 -1
  531. package/esm/components/ColorPicker/converters/parsers.mjs.map +1 -1
  532. package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs.map +1 -1
  533. package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
  534. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs +3 -2
  535. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs.map +1 -1
  536. package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
  537. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +2 -2
  538. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
  539. package/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs.map +1 -1
  540. package/esm/components/Combobox/use-combobox/get-index/get-index.mjs.map +1 -1
  541. package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
  542. package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs.map +1 -1
  543. package/esm/components/ComboboxPopover/ComboboxPopover.mjs +216 -0
  544. package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -0
  545. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs +45 -0
  546. package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs.map +1 -0
  547. package/esm/components/DataList/DataList.context.mjs +8 -0
  548. package/esm/components/DataList/DataList.context.mjs.map +1 -0
  549. package/esm/components/DataList/DataList.mjs +61 -0
  550. package/esm/components/DataList/DataList.mjs.map +1 -0
  551. package/esm/components/DataList/DataList.module.mjs +12 -0
  552. package/esm/components/DataList/DataList.module.mjs.map +1 -0
  553. package/esm/components/DataList/DataListItem/DataListItem.mjs +32 -0
  554. package/esm/components/DataList/DataListItem/DataListItem.mjs.map +1 -0
  555. package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs +33 -0
  556. package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs.map +1 -0
  557. package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs +33 -0
  558. package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs.map +1 -0
  559. package/esm/components/Drawer/DrawerBody.mjs.map +1 -1
  560. package/esm/components/Drawer/DrawerCloseButton.mjs.map +1 -1
  561. package/esm/components/Drawer/DrawerHeader.mjs.map +1 -1
  562. package/esm/components/Drawer/DrawerOverlay.mjs.map +1 -1
  563. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  564. package/esm/components/Drawer/DrawerTitle.mjs.map +1 -1
  565. package/esm/components/EmptyState/EmptyState.context.mjs +8 -0
  566. package/esm/components/EmptyState/EmptyState.context.mjs.map +1 -0
  567. package/esm/components/EmptyState/EmptyState.mjs +102 -0
  568. package/esm/components/EmptyState/EmptyState.mjs.map +1 -0
  569. package/esm/components/EmptyState/EmptyState.module.mjs +14 -0
  570. package/esm/components/EmptyState/EmptyState.module.mjs.map +1 -0
  571. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs +28 -0
  572. package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs.map +1 -0
  573. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs +29 -0
  574. package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs.map +1 -0
  575. package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs +29 -0
  576. package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -0
  577. package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs +30 -0
  578. package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs.map +1 -0
  579. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  580. package/esm/components/Grid/GridCol/GridColVariables.mjs.map +1 -1
  581. package/esm/components/Grid/GridVariables.mjs.map +1 -1
  582. package/esm/components/Group/Group.mjs.map +1 -1
  583. package/esm/components/Group/filter-falsy-children/filter-falsy-children.mjs.map +1 -1
  584. package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
  585. package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
  586. package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
  587. package/esm/components/Input/Input.mjs +7 -2
  588. package/esm/components/Input/Input.mjs.map +1 -1
  589. package/esm/components/Input/Input.module.mjs +1 -0
  590. package/esm/components/Input/Input.module.mjs.map +1 -1
  591. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  592. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  593. package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs.map +1 -1
  594. package/esm/components/Input/InputSuccess/InputSuccess.mjs +48 -0
  595. package/esm/components/Input/InputSuccess/InputSuccess.mjs.map +1 -0
  596. package/esm/components/Input/InputWrapper/InputWrapper.mjs +22 -5
  597. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  598. package/esm/components/Input/use-input-props.mjs +4 -1
  599. package/esm/components/Input/use-input-props.mjs.map +1 -1
  600. package/esm/components/JsonInput/validate-json/validate-json.mjs.map +1 -1
  601. package/esm/components/Kbd/Kbd.mjs.map +1 -1
  602. package/esm/components/Mark/Mark.mjs.map +1 -1
  603. package/esm/components/Marquee/Marquee.mjs.map +1 -1
  604. package/esm/components/Menu/MenuDivider/MenuDivider.mjs.map +1 -1
  605. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  606. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  607. package/esm/components/Menu/MenuLabel/MenuLabel.mjs.map +1 -1
  608. package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -1
  609. package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -1
  610. package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
  611. package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
  612. package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -1
  613. package/esm/components/Menubar/Menubar.context.mjs +9 -0
  614. package/esm/components/Menubar/Menubar.context.mjs.map +1 -0
  615. package/esm/components/Menubar/Menubar.mjs +146 -0
  616. package/esm/components/Menubar/Menubar.mjs.map +1 -0
  617. package/esm/components/Menubar/Menubar.module.mjs +10 -0
  618. package/esm/components/Menubar/Menubar.module.mjs.map +1 -0
  619. package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs +61 -0
  620. package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs.map +1 -0
  621. package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs +59 -0
  622. package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs.map +1 -0
  623. package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs +143 -0
  624. package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs.map +1 -0
  625. package/esm/components/Modal/ModalBody.mjs.map +1 -1
  626. package/esm/components/Modal/ModalCloseButton.mjs.map +1 -1
  627. package/esm/components/Modal/ModalHeader.mjs.map +1 -1
  628. package/esm/components/Modal/ModalOverlay.mjs.map +1 -1
  629. package/esm/components/Modal/ModalTitle.mjs.map +1 -1
  630. package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
  631. package/esm/components/MultiSelect/MultiSelect.mjs +4 -1
  632. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  633. package/esm/components/MultiSelect/filter-picked-values.mjs.map +1 -1
  634. package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
  635. package/esm/components/NativeSelect/NativeSelectOption.mjs.map +1 -1
  636. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  637. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  638. package/esm/components/OverflowList/get-row-position-data.mjs.map +1 -1
  639. package/esm/components/OverflowList/use-dimensions.mjs.map +1 -1
  640. package/esm/components/Overlay/Overlay.mjs.map +1 -1
  641. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  642. package/esm/components/Pagination/PaginationDots/PaginationDots.mjs.map +1 -1
  643. package/esm/components/Pagination/PaginationItems/PaginationItems.mjs.map +1 -1
  644. package/esm/components/PasswordInput/PasswordInput.mjs +11 -2
  645. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  646. package/esm/components/Pill/PillGroup/PillGroup.mjs.map +1 -1
  647. package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
  648. package/esm/components/PinInput/PinInput.mjs +2 -1
  649. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  650. package/esm/components/PinInput/create-pin-array/create-pin-array.mjs.map +1 -1
  651. package/esm/components/Popover/use-popover.mjs.map +1 -1
  652. package/esm/components/Portal/Portal.mjs.map +1 -1
  653. package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs.map +1 -1
  654. package/esm/components/Radio/Radio.mjs.map +1 -1
  655. package/esm/components/Radio/RadioCard/RadioCard.mjs.map +1 -1
  656. package/esm/components/Rating/Rating.mjs.map +1 -1
  657. package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
  658. package/esm/components/Rating/StarSymbol/StarSymbol.mjs.map +1 -1
  659. package/esm/components/RingProgress/RingProgress.mjs.map +1 -1
  660. package/esm/components/RingProgress/get-curves/get-curves.mjs.map +1 -1
  661. package/esm/components/RollingNumber/get-digit-parts.mjs.map +1 -1
  662. package/esm/components/RollingNumber/get-render-slots.mjs.map +1 -1
  663. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs +1 -0
  664. package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs.map +1 -1
  665. package/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs.map +1 -1
  666. package/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs.map +1 -1
  667. package/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs.map +1 -1
  668. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  669. package/esm/components/Select/Select.mjs.map +1 -1
  670. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs +4 -1
  671. package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs.map +1 -1
  672. package/esm/components/SemiCircleProgress/SemiCircleProgress.module.mjs.map +1 -1
  673. package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
  674. package/esm/components/Skeleton/Skeleton.mjs.map +1 -1
  675. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  676. package/esm/components/Slider/utils/get-precision/get-precision.mjs.map +1 -1
  677. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
  678. package/esm/components/Splitter/Splitter.context.mjs.map +1 -1
  679. package/esm/components/Splitter/Splitter.mjs +22 -1
  680. package/esm/components/Splitter/Splitter.mjs.map +1 -1
  681. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +1 -2
  682. package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -1
  683. package/esm/components/Stack/Stack.mjs.map +1 -1
  684. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  685. package/esm/components/Switch/Switch.mjs.map +1 -1
  686. package/esm/components/Table/Table.components.mjs.map +1 -1
  687. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -1
  688. package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
  689. package/esm/components/Tabs/Tabs.mjs +18 -3
  690. package/esm/components/Tabs/Tabs.mjs.map +1 -1
  691. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs +7 -1
  692. package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
  693. package/esm/components/Tabs/TabsTab/TabsTab.mjs +1 -1
  694. package/esm/components/Tabs/TabsTab/TabsTab.mjs.map +1 -1
  695. package/esm/components/TagsInput/TagsInput.mjs +4 -1
  696. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  697. package/esm/components/TagsInput/filter-picked-tags.mjs.map +1 -1
  698. package/esm/components/TagsInput/get-splitted-tags.mjs.map +1 -1
  699. package/esm/components/Text/Text.mjs.map +1 -1
  700. package/esm/components/Textarea/Autosize.mjs.map +1 -1
  701. package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
  702. package/esm/components/Title/Title.mjs.map +1 -1
  703. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  704. package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
  705. package/esm/components/Transition/get-transition-styles/get-transition-styles.mjs.map +1 -1
  706. package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
  707. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  708. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +1 -1
  709. package/esm/components/Tree/is-node-checked/is-node-checked.mjs.map +1 -1
  710. package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs.map +1 -1
  711. package/esm/components/Tree/use-tree.mjs.map +1 -1
  712. package/esm/components/TreeSelect/TreeSelect.mjs +7 -1
  713. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  714. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -1
  715. package/esm/components/Typography/Typography.mjs.map +1 -1
  716. package/esm/components/UnstyledButton/UnstyledButton.mjs.map +1 -1
  717. package/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
  718. package/esm/core/Box/Box.mjs.map +1 -1
  719. package/esm/core/Box/get-box-mod/get-box-mod.mjs.map +1 -1
  720. package/esm/core/Box/get-box-style/get-box-style.mjs.map +1 -1
  721. package/esm/core/Box/get-style-object/get-style-object.mjs.map +1 -1
  722. package/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
  723. package/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs.map +1 -1
  724. package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
  725. package/esm/core/Box/use-random-classname/use-random-classname.mjs.map +1 -1
  726. package/esm/core/InlineStyles/InlineStyles.mjs.map +1 -1
  727. package/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs.map +1 -1
  728. package/esm/core/InlineStyles/hash-styles.mjs.map +1 -1
  729. package/esm/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.mjs.map +1 -1
  730. package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
  731. package/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs.map +1 -1
  732. package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs +6 -2
  733. package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs.map +1 -1
  734. package/esm/core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs.map +1 -1
  735. package/esm/core/MantineProvider/MantineCssVariables/remove-default-variables.mjs.map +1 -1
  736. package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs +3 -1
  737. package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs.map +1 -1
  738. package/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs.map +1 -1
  739. package/esm/core/MantineProvider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -1
  740. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +3 -1
  741. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
  742. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs +19 -4
  743. package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -1
  744. package/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
  745. package/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs.map +1 -1
  746. package/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs.map +1 -1
  747. package/esm/core/MantineProvider/convert-css-variables/css-variables-object-to-string.mjs.map +1 -1
  748. package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
  749. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
  750. package/esm/core/MantineProvider/use-props/use-props.mjs.map +1 -1
  751. package/esm/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -1
  752. package/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs.map +1 -1
  753. package/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs.map +1 -1
  754. package/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs.map +1 -1
  755. package/esm/core/styles-api/use-styles/get-style/get-style.mjs.map +1 -1
  756. package/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs.map +1 -1
  757. package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
  758. package/esm/core/styles-api/use-styles/use-transformed-styles.mjs.map +1 -1
  759. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs +3 -5
  760. package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
  761. package/esm/core/utils/create-use-external-events/create-use-external-events.mjs.map +1 -1
  762. package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -1
  763. package/esm/core/utils/filter-props/filter-props.mjs.map +1 -1
  764. package/esm/core/utils/get-context-item-index/get-context-item-index.mjs.map +1 -1
  765. package/esm/core/utils/get-safe-id/get-safe-id.mjs.map +1 -1
  766. package/esm/core/utils/is-number-like/is-number-like.mjs.map +1 -1
  767. package/esm/core/utils/units-converters/px.mjs.map +1 -1
  768. package/esm/core/utils/units-converters/rem.mjs.map +1 -1
  769. package/esm/index.mjs +23 -4
  770. package/lib/components/Accordion/Accordion.d.ts +4 -4
  771. package/lib/components/ActionIcon/ActionIcon.d.ts +3 -3
  772. package/lib/components/Combobox/Combobox.types.d.ts +4 -3
  773. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +1 -1
  774. package/lib/components/Combobox/index.d.ts +1 -1
  775. package/lib/components/ComboboxPopover/ComboboxPopover.d.ts +110 -0
  776. package/lib/components/ComboboxPopover/ComboboxPopover.types.d.ts +2 -0
  777. package/lib/components/ComboboxPopover/ComboboxPopoverTarget.d.ts +16 -0
  778. package/lib/components/ComboboxPopover/index.d.ts +14 -0
  779. package/lib/components/DataList/DataList.context.d.ts +6 -0
  780. package/lib/components/DataList/DataList.d.ts +44 -0
  781. package/lib/components/DataList/DataListItem/DataListItem.d.ts +18 -0
  782. package/lib/components/DataList/DataListItemLabel/DataListItemLabel.d.ts +18 -0
  783. package/lib/components/DataList/DataListItemValue/DataListItemValue.d.ts +18 -0
  784. package/lib/components/DataList/index.d.ts +32 -0
  785. package/lib/components/EmptyState/EmptyState.context.d.ts +8 -0
  786. package/lib/components/EmptyState/EmptyState.d.ts +83 -0
  787. package/lib/components/EmptyState/EmptyStateActions/EmptyStateActions.d.ts +18 -0
  788. package/lib/components/EmptyState/EmptyStateDescription/EmptyStateDescription.d.ts +18 -0
  789. package/lib/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.d.ts +18 -0
  790. package/lib/components/EmptyState/EmptyStateTitle/EmptyStateTitle.d.ts +20 -0
  791. package/lib/components/EmptyState/index.d.ts +13 -0
  792. package/lib/components/Input/Input.d.ts +11 -0
  793. package/lib/components/Input/InputSuccess/InputSuccess.d.ts +23 -0
  794. package/lib/components/Input/InputWrapper/InputWrapper.d.ts +7 -2
  795. package/lib/components/Input/index.d.ts +3 -1
  796. package/lib/components/Input/use-input-props.d.ts +5 -2
  797. package/lib/components/MaskInput/use-mask-input-props.d.ts +5 -1
  798. package/lib/components/Menubar/Menubar.context.d.ts +51 -0
  799. package/lib/components/Menubar/Menubar.d.ts +56 -0
  800. package/lib/components/Menubar/MenubarDropdown/MenubarDropdown.d.ts +7 -0
  801. package/lib/components/Menubar/MenubarMenu/MenubarMenu.d.ts +9 -0
  802. package/lib/components/Menubar/MenubarTarget/MenubarTarget.d.ts +14 -0
  803. package/lib/components/Menubar/index.d.ts +11 -0
  804. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  805. package/lib/components/NativeSelect/NativeSelect.d.ts +2 -2
  806. package/lib/components/PinInput/PinInput.d.ts +2 -0
  807. package/lib/components/Splitter/Splitter.context.d.ts +3 -1
  808. package/lib/components/Splitter/Splitter.d.ts +10 -10
  809. package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +9 -8
  810. package/lib/components/Tabs/Tabs.context.d.ts +2 -0
  811. package/lib/components/index.d.ts +4 -0
  812. package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +7 -2
  813. package/lib/core/MantineProvider/color-functions/index.d.ts +1 -1
  814. package/package.json +5 -5
  815. package/styles/DataList.css +54 -0
  816. package/styles/DataList.layer.css +55 -0
  817. package/styles/EmptyState.css +121 -0
  818. package/styles/EmptyState.layer.css +122 -0
  819. package/styles/Input.css +21 -2
  820. package/styles/Input.layer.css +21 -2
  821. package/styles/Menubar.css +29 -0
  822. package/styles/Menubar.layer.css +30 -0
  823. package/styles/SemiCircleProgress.css +1 -0
  824. package/styles/SemiCircleProgress.layer.css +1 -0
  825. package/styles/default-css-variables.css +2 -0
  826. package/styles/default-css-variables.layer.css +2 -0
  827. package/styles.css +231 -2
  828. package/styles.layer.css +231 -2
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationEdges.cjs","names":["useProps","usePaginationContext","PaginationControl","polymorphic","PaginationNextIcon","PaginationPreviousIcon","PaginationFirstIcon","PaginationLastIcon"],"sources":["../../../../src/components/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import { BoxProps, polymorphic, useProps } from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationFirstIcon,\n PaginationIconProps,\n PaginationLastIcon,\n PaginationNextIcon,\n PaginationPreviousIcon,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends BoxProps {\n /** An icon component to replace the default icon */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps = { icon } satisfies Partial<PaginationEdgeProps>;\n\n const Component = (props: PaginationEdgeProps) => {\n const { icon: Icon, ...others } = useProps(name, defaultProps, props);\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon\n className=\"mantine-rotate-rtl\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </PaginationControl>\n );\n };\n\n Component.displayName = `@mantine/core/${name}`;\n return polymorphic<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"mappings":";;;;;;;;AAuBA,SAAgB,oBAAoB,EAAE,MAAM,MAAM,QAAQ,QAA6B;CACrF,MAAM,eAAe,EAAE,KAAK;CAE5B,MAAM,aAAa,UAA+B;EAChD,MAAM,EAAE,MAAM,MAAM,GAAG,WAAWA,kBAAAA,SAAS,MAAM,cAAc,KAAK;EACpE,MAAM,MAAMC,2BAAAA,qBAAqB;EACjC,MAAM,WAAW,SAAS,SAAS,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW;EAE7E,OACE,iBAAA,GAAA,kBAAA,KAACC,0BAAAA,mBAAD;GACE,UAAU,IAAI,YAAY;GAC1B,SAAS,IAAI;GACb,aAAa;GACb,GAAI;aAEJ,iBAAA,GAAA,kBAAA,KAAC,MAAD;IACE,WAAU;IACV,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACD,CAAA;EACgB,CAAA;CAEvB;CAEA,UAAU,cAAc,iBAAiB;CACzC,OAAOC,qCAAAA,YAA2C,SAAS;AAC7D;AAEA,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,qBAAqB,oBAAoB;CACpD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,kBAAkB,oBAAoB;CACjD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC"}
1
+ {"version":3,"file":"PaginationEdges.cjs","names":["useProps","usePaginationContext","PaginationControl","polymorphic","PaginationNextIcon","PaginationPreviousIcon","PaginationFirstIcon","PaginationLastIcon"],"sources":["../../../../src/components/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import { BoxProps, polymorphic, useProps } from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationFirstIcon,\n PaginationIconProps,\n PaginationLastIcon,\n PaginationNextIcon,\n PaginationPreviousIcon,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends BoxProps {\n /** An icon component to replace the default icon */\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps = { icon } satisfies Partial<PaginationEdgeProps>;\n\n const Component = (props: PaginationEdgeProps) => {\n const { icon: Icon, ...others } = useProps(name, defaultProps, props);\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon\n className=\"mantine-rotate-rtl\"\n style={{\n width: 'calc(var(--pagination-control-size) / 1.8)',\n height: 'calc(var(--pagination-control-size) / 1.8)',\n }}\n />\n </PaginationControl>\n );\n };\n\n Component.displayName = `@mantine/core/${name}`;\n return polymorphic<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"mappings":";;;;;;;;AAuBA,SAAgB,oBAAoB,EAAE,MAAM,MAAM,QAAQ,QAA6B;CACrF,MAAM,eAAe,EAAE,KAAK;CAE5B,MAAM,aAAa,UAA+B;EAChD,MAAM,EAAE,MAAM,MAAM,GAAG,WAAWA,kBAAAA,SAAS,MAAM,cAAc,KAAK;EACpE,MAAM,MAAMC,2BAAAA,qBAAqB;EACjC,MAAM,WAAW,SAAS,SAAS,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW;EAE7E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GACE,UAAU,IAAI,YAAY;GAC1B,SAAS,IAAI;GACb,aAAa;GACb,GAAI;aAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACE,WAAU;IACV,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACD,CAAA;EACgB,CAAA;CAEvB;CAEA,UAAU,cAAc,iBAAiB;CACzC,OAAOC,qCAAAA,YAA2C,SAAS;AAC7D;AAEA,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,qBAAqB,oBAAoB;CACpD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,kBAAkB,oBAAoB;CACjD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC;AAED,MAAa,iBAAiB,oBAAoB;CAChD,MAAMC,yBAAAA;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationItems.cjs","names":["usePaginationContext","PaginationDots","PaginationControl"],"sources":["../../../../src/components/Pagination/PaginationItems/PaginationItems.tsx"],"sourcesContent":["import { usePaginationContext } from '../Pagination.context';\nimport { PaginationIcon } from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\nimport { PaginationDots } from '../PaginationDots/PaginationDots';\n\nexport interface PaginationItemsProps {\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nexport function PaginationItems({ dotsIcon }: PaginationItemsProps) {\n const ctx = usePaginationContext();\n\n const items = ctx.range.map((page, index) => {\n if (page === 'dots') {\n return <PaginationDots icon={dotsIcon} key={index} />;\n }\n\n return (\n <PaginationControl\n key={index}\n active={page === ctx.active}\n aria-current={page === ctx.active ? 'page' : undefined}\n onClick={() => ctx.onChange(page)}\n disabled={ctx.disabled}\n {...ctx.getItemProps?.(page)}\n >\n {ctx.getItemProps?.(page)?.children ?? page}\n </PaginationControl>\n );\n });\n\n return <>{items}</>;\n}\n\nPaginationItems.displayName = '@mantine/core/PaginationItems';\n"],"mappings":";;;;;;AAUA,SAAgB,gBAAgB,EAAE,YAAkC;CAClE,MAAM,MAAMA,2BAAAA,qBAAqB;CAqBjC,OAAO,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAA,UAnBO,IAAI,MAAM,KAAK,MAAM,UAAU;EAC3C,IAAI,SAAS,QACX,OAAO,iBAAA,GAAA,kBAAA,KAACC,uBAAAA,gBAAD,EAAgB,MAAM,SAAuB,GAAR,KAAQ;EAGtD,OACE,iBAAA,GAAA,kBAAA,KAACC,0BAAAA,mBAAD;GAEE,QAAQ,SAAS,IAAI;GACrB,gBAAc,SAAS,IAAI,SAAS,SAAS,KAAA;GAC7C,eAAe,IAAI,SAAS,IAAI;GAChC,UAAU,IAAI;GACd,GAAI,IAAI,eAAe,IAAI;aAE1B,IAAI,eAAe,IAAI,GAAG,YAAY;EACtB,GARZ,KAQY;CAEvB,CAEc,EAAI,CAAA;AACpB;AAEA,gBAAgB,cAAc"}
1
+ {"version":3,"file":"PaginationItems.cjs","names":["usePaginationContext","PaginationDots","PaginationControl"],"sources":["../../../../src/components/Pagination/PaginationItems/PaginationItems.tsx"],"sourcesContent":["import { usePaginationContext } from '../Pagination.context';\nimport { PaginationIcon } from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\nimport { PaginationDots } from '../PaginationDots/PaginationDots';\n\nexport interface PaginationItemsProps {\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nexport function PaginationItems({ dotsIcon }: PaginationItemsProps) {\n const ctx = usePaginationContext();\n\n const items = ctx.range.map((page, index) => {\n if (page === 'dots') {\n return <PaginationDots icon={dotsIcon} key={index} />;\n }\n\n return (\n <PaginationControl\n key={index}\n active={page === ctx.active}\n aria-current={page === ctx.active ? 'page' : undefined}\n onClick={() => ctx.onChange(page)}\n disabled={ctx.disabled}\n {...ctx.getItemProps?.(page)}\n >\n {ctx.getItemProps?.(page)?.children ?? page}\n </PaginationControl>\n );\n });\n\n return <>{items}</>;\n}\n\nPaginationItems.displayName = '@mantine/core/PaginationItems';\n"],"mappings":";;;;;;AAUA,SAAgB,gBAAgB,EAAE,YAAkC;CAClE,MAAM,MAAMA,2BAAAA,qBAAqB;CAqBjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAA,UAnBO,IAAI,MAAM,KAAK,MAAM,UAAU;EAC3C,IAAI,SAAS,QACX,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,gBAAD,EAAgB,MAAM,SAAuB,GAAR,KAAQ;EAGtD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;GAEE,QAAQ,SAAS,IAAI;GACrB,gBAAc,SAAS,IAAI,SAAS,SAAS,KAAA;GAC7C,eAAe,IAAI,SAAS,IAAI;GAChC,UAAU,IAAI;GACd,GAAI,IAAI,eAAe,IAAI;aAE1B,IAAI,eAAe,IAAI,CAAC,EAAE,YAAY;EACtB,GARZ,KAQY;CAEvB,CAEc,EAAI,CAAA;AACpB;AAEA,gBAAgB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationLabel.cjs","names":["factory","useProps","usePaginationContext","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationLabel/PaginationLabel.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationFormatLabel = (input: { page: number; totalPages: number }) => string;\nexport type PaginationLabelStylesNames = 'label';\n\nexport interface PaginationLabelProps\n extends BoxProps, CompoundStylesApiProps<PaginationLabelFactory>, ElementProps<'div'> {\n /** Function to format the label text */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationLabelFactory = Factory<{\n props: PaginationLabelProps;\n ref: HTMLDivElement;\n stylesNames: PaginationLabelStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n formatLabel: ({ page, totalPages }) => `Page ${page} of ${totalPages}`,\n} satisfies Partial<PaginationLabelProps>;\n\nexport const PaginationLabel = factory<PaginationLabelFactory>((_props) => {\n const props = useProps('PaginationLabel', defaultProps, _props);\n const { classNames, className, style, styles, vars, formatLabel, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('label', { className, style, styles, classNames })} {...others}>\n {formatLabel({ page: ctx.active, totalPages: ctx.total })}\n </Box>\n );\n});\n\nPaginationLabel.classes = classes;\nPaginationLabel.displayName = '@mantine/core/PaginationLabel';\n"],"mappings":";;;;;;;;AA4BA,MAAM,eAAe,EACnB,cAAc,EAAE,MAAM,iBAAiB,QAAQ,KAAK,MAAM,aAC5D;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CAEzE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,aAAa,GAAG,WADtDC,kBAAAA,SAAS,mBAAmB,cAAc,MAC2B;CACnF,MAAM,MAAMC,2BAAAA,qBAAqB;CAEjC,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;YAC5E,YAAY;GAAE,MAAM,IAAI;GAAQ,YAAY,IAAI;EAAM,CAAC;CACrD,CAAA;AAET,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}
1
+ {"version":3,"file":"PaginationLabel.cjs","names":["factory","useProps","usePaginationContext","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationLabel/PaginationLabel.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { usePaginationContext } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationFormatLabel = (input: { page: number; totalPages: number }) => string;\nexport type PaginationLabelStylesNames = 'label';\n\nexport interface PaginationLabelProps\n extends BoxProps, CompoundStylesApiProps<PaginationLabelFactory>, ElementProps<'div'> {\n /** Function to format the label text */\n formatLabel?: PaginationFormatLabel;\n}\n\nexport type PaginationLabelFactory = Factory<{\n props: PaginationLabelProps;\n ref: HTMLDivElement;\n stylesNames: PaginationLabelStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n formatLabel: ({ page, totalPages }) => `Page ${page} of ${totalPages}`,\n} satisfies Partial<PaginationLabelProps>;\n\nexport const PaginationLabel = factory<PaginationLabelFactory>((_props) => {\n const props = useProps('PaginationLabel', defaultProps, _props);\n const { classNames, className, style, styles, vars, formatLabel, ...others } = props;\n const ctx = usePaginationContext();\n\n return (\n <Box {...ctx.getStyles('label', { className, style, styles, classNames })} {...others}>\n {formatLabel({ page: ctx.active, totalPages: ctx.total })}\n </Box>\n );\n});\n\nPaginationLabel.classes = classes;\nPaginationLabel.displayName = '@mantine/core/PaginationLabel';\n"],"mappings":";;;;;;;;AA4BA,MAAM,eAAe,EACnB,cAAc,EAAE,MAAM,iBAAiB,QAAQ,KAAK,MAAM,aAC5D;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CAEzE,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,aAAa,GAAG,WADtDC,kBAAAA,SAAS,mBAAmB,cAAc,MAC2B;CACnF,MAAM,MAAMC,2BAAAA,qBAAqB;CAEjC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,IAAI,UAAU,SAAS;GAAE;GAAW;GAAO;GAAQ;EAAW,CAAC;EAAG,GAAI;YAC5E,YAAY;GAAE,MAAM,IAAI;GAAQ,YAAY,IAAI;EAAM,CAAC;CACrD,CAAA;AAET,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationRoot.cjs","names":["createVarsResolver","getRadius","getSize","getFontSize","getThemeColor","getAutoContrastValue","getContrastColor","factory","useProps","useStyles","PaginationProvider","createEventHandler","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationRoot/PaginationRoot.tsx"],"sourcesContent":["import { usePagination } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createEventHandler,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { PaginationProvider } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationRootStylesNames = 'root' | 'control' | 'dots' | 'items' | 'label';\nexport type PaginationRootCssVariables = {\n root:\n | '--pagination-control-size'\n | '--pagination-control-radius'\n | '--pagination-control-fz'\n | '--pagination-active-bg'\n | '--pagination-active-color';\n};\n\nexport interface PaginationRootProps\n extends\n BoxProps,\n StylesApiProps<PaginationRootFactory>,\n ElementProps<'div', 'value' | 'onChange'> {\n /** `height` and `min-width` of controls @default 'md' */\n size?: MantineSize | `input-${MantineSize}` | (string & {}) | number;\n\n /** Total number of pages, must be an integer */\n total: number;\n\n /** Active page for controlled component, must be an integer in [1, total] interval */\n value?: number;\n\n /** Active page for uncontrolled component, must be an integer in [1, total] interval */\n defaultValue?: number;\n\n /** Called when page changes */\n onChange?: (value: number) => void;\n\n /** Disables all controls, applies disabled styles */\n disabled?: boolean;\n\n /** Number of siblings displayed on the left/right side of the selected page @default 1 */\n siblings?: number;\n\n /** Number of elements visible on the left/right edges @default 1 */\n boundaries?: number;\n\n /** Key of `theme.colors`, active item color @default theme.primaryColor */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Called when next page control is clicked */\n onNextPage?: () => void;\n\n /** Called when previous page control is clicked */\n onPreviousPage?: () => void;\n\n /** Called when first page control is clicked */\n onFirstPage?: () => void;\n\n /** Called when last page control is clicked */\n onLastPage?: () => void;\n\n /** Additional props passed down to controls */\n getItemProps?: (page: number) => Record<string, any>;\n\n /** If set, adjusts text color based on the active page background color to ensure sufficient contrast */\n autoContrast?: boolean;\n\n /** Starting page number, defaults to 1 */\n startValue?: number;\n\n /** Determines how the pagination is displayed, `'responsive'` uses CSS container queries to switch between pages and a compact label @default 'default' */\n layout?: 'default' | 'responsive';\n}\n\nexport type PaginationRootFactory = Factory<{\n props: PaginationRootProps;\n ref: HTMLDivElement;\n stylesNames: PaginationRootStylesNames;\n vars: PaginationRootCssVariables;\n}>;\n\nconst defaultProps = {\n siblings: 1,\n boundaries: 1,\n} satisfies Partial<PaginationRootProps>;\n\nconst varsResolver = createVarsResolver<PaginationRootFactory>(\n (theme, { size, radius, color, autoContrast }) => ({\n root: {\n '--pagination-control-radius': radius === undefined ? undefined : getRadius(radius),\n '--pagination-control-size': getSize(size, 'pagination-control-size'),\n '--pagination-control-fz': getFontSize(size),\n '--pagination-active-bg': color ? getThemeColor(color, theme) : undefined,\n '--pagination-active-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n })\n);\n\nexport const PaginationRoot = factory<PaginationRootFactory>((_props) => {\n const props = useProps('PaginationRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n total,\n value,\n defaultValue,\n onChange,\n disabled,\n siblings,\n boundaries,\n color,\n radius,\n onNextPage,\n onPreviousPage,\n onFirstPage,\n onLastPage,\n getItemProps,\n autoContrast,\n startValue,\n layout,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<PaginationRootFactory>({\n name: 'Pagination',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { range, setPage, next, previous, active, first, last } = usePagination({\n page: value,\n initialPage: defaultValue,\n onChange,\n total,\n siblings,\n boundaries,\n startValue,\n });\n\n return (\n <PaginationProvider\n value={{\n total,\n range,\n active,\n disabled,\n layout,\n getItemProps,\n onChange: setPage,\n onNext: createEventHandler(onNextPage, next),\n onPrevious: createEventHandler(onPreviousPage, previous),\n onFirst: createEventHandler(onFirstPage, first),\n onLast: createEventHandler(onLastPage, last),\n getStyles,\n }}\n >\n <Box {...getStyles('root')} mod={[{ layout }, mod]} {...others} />\n </PaginationProvider>\n );\n});\n\nPaginationRoot.classes = classes;\nPaginationRoot.varsResolver = varsResolver;\nPaginationRoot.displayName = '@mantine/core/PaginationRoot';\n"],"mappings":";;;;;;;;;;;;;;;;AAsGA,MAAM,eAAe;CACnB,UAAU;CACV,YAAY;AACd;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,OAAO,EAAE,MAAM,QAAQ,OAAO,oBAAoB,EACjD,MAAM;CACJ,+BAA+B,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CAClF,6BAA6BC,iBAAAA,QAAQ,MAAM,yBAAyB;CACpE,2BAA2BC,iBAAAA,YAAY,IAAI;CAC3C,0BAA0B,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA;CAChE,6BAA6BC,gCAAAA,qBAAqB,cAAc,KAAK,IACjEC,2BAAAA,iBAAiB;EAAE;EAAO;EAAO;CAAa,CAAC,IAC/C,KAAA;AACN,EACF,EACF;AAEA,MAAa,iBAAiBC,gBAAAA,SAAgC,WAAW;CACvE,MAAM,QAAQC,kBAAAA,SAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,OACA,cACA,UACA,UACA,UACA,YACA,OACA,QACA,YACA,gBACA,aACA,YACA,cACA,cACA,YACA,QACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAiC;EACjD,MAAM;EACN,SAAA,0BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU,QAAQ,OAAO,UAAA,GAAA,eAAA,eAAuB;EAC5E,MAAM;EACN,aAAa;EACb;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,2BAAAA,oBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA,UAAU;GACV,QAAQC,6BAAAA,mBAAmB,YAAY,IAAI;GAC3C,YAAYA,6BAAAA,mBAAmB,gBAAgB,QAAQ;GACvD,SAASA,6BAAAA,mBAAmB,aAAa,KAAK;GAC9C,QAAQA,6BAAAA,mBAAmB,YAAY,IAAI;GAC3C;EACF;YAEA,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GAAK,GAAI,UAAU,MAAM;GAAG,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG;GAAG,GAAI;EAAS,CAAA;CAC/C,CAAA;AAExB,CAAC;AAED,eAAe,UAAUC,0BAAAA;AACzB,eAAe,eAAe;AAC9B,eAAe,cAAc"}
1
+ {"version":3,"file":"PaginationRoot.cjs","names":["createVarsResolver","getRadius","getSize","getFontSize","getThemeColor","getAutoContrastValue","getContrastColor","factory","useProps","useStyles","PaginationProvider","createEventHandler","Box","classes"],"sources":["../../../../src/components/Pagination/PaginationRoot/PaginationRoot.tsx"],"sourcesContent":["import { usePagination } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createEventHandler,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { PaginationProvider } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationRootStylesNames = 'root' | 'control' | 'dots' | 'items' | 'label';\nexport type PaginationRootCssVariables = {\n root:\n | '--pagination-control-size'\n | '--pagination-control-radius'\n | '--pagination-control-fz'\n | '--pagination-active-bg'\n | '--pagination-active-color';\n};\n\nexport interface PaginationRootProps\n extends\n BoxProps,\n StylesApiProps<PaginationRootFactory>,\n ElementProps<'div', 'value' | 'onChange'> {\n /** `height` and `min-width` of controls @default 'md' */\n size?: MantineSize | `input-${MantineSize}` | (string & {}) | number;\n\n /** Total number of pages, must be an integer */\n total: number;\n\n /** Active page for controlled component, must be an integer in [1, total] interval */\n value?: number;\n\n /** Active page for uncontrolled component, must be an integer in [1, total] interval */\n defaultValue?: number;\n\n /** Called when page changes */\n onChange?: (value: number) => void;\n\n /** Disables all controls, applies disabled styles */\n disabled?: boolean;\n\n /** Number of siblings displayed on the left/right side of the selected page @default 1 */\n siblings?: number;\n\n /** Number of elements visible on the left/right edges @default 1 */\n boundaries?: number;\n\n /** Key of `theme.colors`, active item color @default theme.primaryColor */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Called when next page control is clicked */\n onNextPage?: () => void;\n\n /** Called when previous page control is clicked */\n onPreviousPage?: () => void;\n\n /** Called when first page control is clicked */\n onFirstPage?: () => void;\n\n /** Called when last page control is clicked */\n onLastPage?: () => void;\n\n /** Additional props passed down to controls */\n getItemProps?: (page: number) => Record<string, any>;\n\n /** If set, adjusts text color based on the active page background color to ensure sufficient contrast */\n autoContrast?: boolean;\n\n /** Starting page number, defaults to 1 */\n startValue?: number;\n\n /** Determines how the pagination is displayed, `'responsive'` uses CSS container queries to switch between pages and a compact label @default 'default' */\n layout?: 'default' | 'responsive';\n}\n\nexport type PaginationRootFactory = Factory<{\n props: PaginationRootProps;\n ref: HTMLDivElement;\n stylesNames: PaginationRootStylesNames;\n vars: PaginationRootCssVariables;\n}>;\n\nconst defaultProps = {\n siblings: 1,\n boundaries: 1,\n} satisfies Partial<PaginationRootProps>;\n\nconst varsResolver = createVarsResolver<PaginationRootFactory>(\n (theme, { size, radius, color, autoContrast }) => ({\n root: {\n '--pagination-control-radius': radius === undefined ? undefined : getRadius(radius),\n '--pagination-control-size': getSize(size, 'pagination-control-size'),\n '--pagination-control-fz': getFontSize(size),\n '--pagination-active-bg': color ? getThemeColor(color, theme) : undefined,\n '--pagination-active-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n },\n })\n);\n\nexport const PaginationRoot = factory<PaginationRootFactory>((_props) => {\n const props = useProps('PaginationRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n total,\n value,\n defaultValue,\n onChange,\n disabled,\n siblings,\n boundaries,\n color,\n radius,\n onNextPage,\n onPreviousPage,\n onFirstPage,\n onLastPage,\n getItemProps,\n autoContrast,\n startValue,\n layout,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<PaginationRootFactory>({\n name: 'Pagination',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { range, setPage, next, previous, active, first, last } = usePagination({\n page: value,\n initialPage: defaultValue,\n onChange,\n total,\n siblings,\n boundaries,\n startValue,\n });\n\n return (\n <PaginationProvider\n value={{\n total,\n range,\n active,\n disabled,\n layout,\n getItemProps,\n onChange: setPage,\n onNext: createEventHandler(onNextPage, next),\n onPrevious: createEventHandler(onPreviousPage, previous),\n onFirst: createEventHandler(onFirstPage, first),\n onLast: createEventHandler(onLastPage, last),\n getStyles,\n }}\n >\n <Box {...getStyles('root')} mod={[{ layout }, mod]} {...others} />\n </PaginationProvider>\n );\n});\n\nPaginationRoot.classes = classes;\nPaginationRoot.varsResolver = varsResolver;\nPaginationRoot.displayName = '@mantine/core/PaginationRoot';\n"],"mappings":";;;;;;;;;;;;;;;;AAsGA,MAAM,eAAe;CACnB,UAAU;CACV,YAAY;AACd;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,OAAO,EAAE,MAAM,QAAQ,OAAO,oBAAoB,EACjD,MAAM;CACJ,+BAA+B,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CAClF,6BAA6BC,iBAAAA,QAAQ,MAAM,yBAAyB;CACpE,2BAA2BC,iBAAAA,YAAY,IAAI;CAC3C,0BAA0B,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA;CAChE,6BAA6BC,gCAAAA,qBAAqB,cAAc,KAAK,IACjEC,2BAAAA,iBAAiB;EAAE;EAAO;EAAO;CAAa,CAAC,IAC/C,KAAA;AACN,EACF,EACF;AAEA,MAAa,iBAAiBC,gBAAAA,SAAgC,WAAW;CACvE,MAAM,QAAQC,kBAAAA,SAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,OACA,cACA,UACA,UACA,UACA,YACA,OACA,QACA,YACA,gBACA,aACA,YACA,cACA,cACA,YACA,QACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAiC;EACjD,MAAM;EACN,SAAA,0BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU,QAAQ,OAAO,UAAA,GAAA,eAAA,cAAA,CAAuB;EAC5E,MAAM;EACN,aAAa;EACb;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,2BAAAA,oBAAD;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA,UAAU;GACV,QAAQC,6BAAAA,mBAAmB,YAAY,IAAI;GAC3C,YAAYA,6BAAAA,mBAAmB,gBAAgB,QAAQ;GACvD,SAASA,6BAAAA,mBAAmB,aAAa,KAAK;GAC9C,QAAQA,6BAAAA,mBAAmB,YAAY,IAAI;GAC3C;EACF;YAEA,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GAAK,GAAI,UAAU,MAAM;GAAG,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG;GAAG,GAAI;EAAS,CAAA;CAC/C,CAAA;AAExB,CAAC;AAED,eAAe,UAAUC,0BAAAA;AACzB,eAAe,eAAe;AAC9B,eAAe,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paper.cjs","names":["createVarsResolver","getRadius","getShadow","polymorphicFactory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Paper/Paper.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n getRadius,\n getShadow,\n MantineRadius,\n MantineShadow,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Paper.module.css';\n\nexport type PaperStylesNames = 'root';\nexport type PaperCssVariables = {\n root: '--paper-radius' | '--paper-shadow';\n};\n\nexport interface PaperBaseProps {\n /** Key of `theme.shadows` or any valid CSS value to set `box-shadow` */\n shadow?: MantineShadow;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Adds border to the root element */\n withBorder?: boolean;\n}\n\nexport interface PaperProps extends BoxProps, PaperBaseProps, StylesApiProps<PaperFactory> {}\n\nexport type PaperFactory = PolymorphicFactory<{\n props: PaperProps;\n defaultComponent: 'div';\n defaultRef: HTMLDivElement;\n stylesNames: PaperStylesNames;\n vars: PaperCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<PaperFactory>((_, { radius, shadow }) => ({\n root: {\n '--paper-radius': radius === undefined ? undefined : getRadius(radius),\n '--paper-shadow': getShadow(shadow),\n },\n}));\n\nexport const Paper = polymorphicFactory<PaperFactory>((_props) => {\n const props = useProps('Paper', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n withBorder,\n vars,\n radius,\n shadow,\n variant,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<PaperFactory>({\n name: 'Paper',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box\n mod={[{ 'data-with-border': withBorder }, mod]}\n {...getStyles('root')}\n variant={variant}\n {...others}\n />\n );\n});\n\nPaper.classes = classes;\nPaper.varsResolver = varsResolver;\nPaper.displayName = '@mantine/core/Paper';\n\nexport namespace Paper {\n export type Props = PaperProps;\n export type StylesNames = PaperStylesNames;\n export type CssVariables = PaperCssVariables;\n export type Factory = PaperFactory;\n export type BaseProps = PaperBaseProps;\n}\n"],"mappings":";;;;;;;;;;AA0CA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,QAAQ,cAAc,EAChF,MAAM;CACJ,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACrE,kBAAkBC,iBAAAA,UAAU,MAAM;AACpC,EACF,EAAE;AAEF,MAAa,QAAQC,4BAAAA,oBAAkC,WAAW;CAChE,MAAM,QAAQC,kBAAAA,SAAS,SAAS,MAAM,MAAM;CAC5C,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,YACA,MACA,QACA,QACA,SACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAwB;EACxC,MAAM;EACN;EACA,SAAA,qBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,KAAK,CAAC,EAAE,oBAAoB,WAAW,GAAG,GAAG;EAC7C,GAAI,UAAU,MAAM;EACX;EACT,GAAI;CACL,CAAA;AAEL,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
1
+ {"version":3,"file":"Paper.cjs","names":["createVarsResolver","getRadius","getShadow","polymorphicFactory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Paper/Paper.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n getRadius,\n getShadow,\n MantineRadius,\n MantineShadow,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Paper.module.css';\n\nexport type PaperStylesNames = 'root';\nexport type PaperCssVariables = {\n root: '--paper-radius' | '--paper-shadow';\n};\n\nexport interface PaperBaseProps {\n /** Key of `theme.shadows` or any valid CSS value to set `box-shadow` */\n shadow?: MantineShadow;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Adds border to the root element */\n withBorder?: boolean;\n}\n\nexport interface PaperProps extends BoxProps, PaperBaseProps, StylesApiProps<PaperFactory> {}\n\nexport type PaperFactory = PolymorphicFactory<{\n props: PaperProps;\n defaultComponent: 'div';\n defaultRef: HTMLDivElement;\n stylesNames: PaperStylesNames;\n vars: PaperCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<PaperFactory>((_, { radius, shadow }) => ({\n root: {\n '--paper-radius': radius === undefined ? undefined : getRadius(radius),\n '--paper-shadow': getShadow(shadow),\n },\n}));\n\nexport const Paper = polymorphicFactory<PaperFactory>((_props) => {\n const props = useProps('Paper', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n withBorder,\n vars,\n radius,\n shadow,\n variant,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<PaperFactory>({\n name: 'Paper',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box\n mod={[{ 'data-with-border': withBorder }, mod]}\n {...getStyles('root')}\n variant={variant}\n {...others}\n />\n );\n});\n\nPaper.classes = classes;\nPaper.varsResolver = varsResolver;\nPaper.displayName = '@mantine/core/Paper';\n\nexport namespace Paper {\n export type Props = PaperProps;\n export type StylesNames = PaperStylesNames;\n export type CssVariables = PaperCssVariables;\n export type Factory = PaperFactory;\n export type BaseProps = PaperBaseProps;\n}\n"],"mappings":";;;;;;;;;;AA0CA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,QAAQ,cAAc,EAChF,MAAM;CACJ,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACrE,kBAAkBC,iBAAAA,UAAU,MAAM;AACpC,EACF,EAAE;AAEF,MAAa,QAAQC,4BAAAA,oBAAkC,WAAW;CAChE,MAAM,QAAQC,kBAAAA,SAAS,SAAS,MAAM,MAAM;CAC5C,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,YACA,MACA,QACA,QACA,SACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAAwB;EACxC,MAAM;EACN;EACA,SAAA,qBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,KAAK,CAAC,EAAE,oBAAoB,WAAW,GAAG,GAAG;EAC7C,GAAI,UAAU,MAAM;EACX;EACT,GAAI;CACL,CAAA;AAEL,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
@@ -31,7 +31,7 @@ const PasswordInput = require_factory.factory((_props) => {
31
31
  "InputWrapper",
32
32
  "PasswordInput"
33
33
  ], defaultProps, _props);
34
- const { classNames, className, style, styles, unstyled, vars, required, error, leftSection, disabled, id, variant, inputContainer, description, label, size, errorProps, descriptionProps, labelProps, withAsterisk, inputWrapperOrder, wrapperProps, radius, rightSection, rightSectionWidth, rightSectionPointerEvents, leftSectionWidth, visible, defaultVisible, onVisibilityChange, visibilityToggleIcon: VisibilityToggleIcon, visibilityToggleButtonProps, rightSectionProps, leftSectionProps, leftSectionPointerEvents, withErrorStyles, mod, attributes, dir, ...others } = props;
34
+ const { classNames, className, style, styles, unstyled, vars, required, error, success, leftSection, disabled, id, variant, inputContainer, description, label, size, errorProps, successProps, descriptionProps, labelProps, withAsterisk, inputWrapperOrder, wrapperProps, radius, rightSection, rightSectionWidth, rightSectionPointerEvents, leftSectionWidth, visible, defaultVisible, onVisibilityChange, visibilityToggleIcon: VisibilityToggleIcon, visibilityToggleButtonProps, rightSectionProps, leftSectionProps, leftSectionPointerEvents, withErrorStyles, withSuccessStyles, mod, attributes, dir, ...others } = props;
35
35
  const uuid = (0, _mantine_hooks.useId)(id);
36
36
  const [_visible, setVisibility] = (0, _mantine_hooks.useUncontrolled)({
37
37
  value: visible,
@@ -60,8 +60,10 @@ const PasswordInput = require_factory.factory((_props) => {
60
60
  });
61
61
  const { styleProps, rest } = require_extract_style_props.extractStyleProps(others);
62
62
  const errorId = errorProps?.id || `${uuid}-error`;
63
+ const successId = successProps?.id || `${uuid}-success`;
63
64
  const descriptionId = descriptionProps?.id || `${uuid}-description`;
64
- const _describedBy = `${!!error && typeof error !== "boolean" ? errorId : ""} ${!!description ? descriptionId : ""}`;
65
+ const hasError = !!error && typeof error !== "boolean";
66
+ const _describedBy = `${hasError ? errorId : ""} ${!!success && typeof success !== "boolean" && !hasError ? successId : ""} ${!!description ? descriptionId : ""}`;
65
67
  const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : void 0;
66
68
  const visibilityToggleButton = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ActionIcon.ActionIcon, {
67
69
  ...getStyles("visibilityToggle"),
@@ -98,6 +100,7 @@ const PasswordInput = require_factory.factory((_props) => {
98
100
  id: uuid,
99
101
  label,
100
102
  error,
103
+ success,
101
104
  description,
102
105
  size,
103
106
  classNames: resolvedClassNames,
@@ -121,6 +124,10 @@ const PasswordInput = require_factory.factory((_props) => {
121
124
  ...errorProps,
122
125
  id: errorId
123
126
  },
127
+ successProps: {
128
+ ...successProps,
129
+ id: successId
130
+ },
124
131
  mod,
125
132
  attributes,
126
133
  ...getStyles("root"),
@@ -130,6 +137,7 @@ const PasswordInput = require_factory.factory((_props) => {
130
137
  component: "div",
131
138
  dir,
132
139
  error,
140
+ success,
133
141
  leftSection,
134
142
  size,
135
143
  classNames: {
@@ -152,6 +160,7 @@ const PasswordInput = require_factory.factory((_props) => {
152
160
  leftSectionPointerEvents,
153
161
  withAria: false,
154
162
  withErrorStyles,
163
+ withSuccessStyles,
155
164
  attributes,
156
165
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
157
166
  required,
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.cjs","names":["PasswordToggleIcon","createVarsResolver","getSize","factory","useProps","useStyles","useResolvedStylesApi","extractStyleProps","ActionIcon","Input","classes","InputBase"],"sources":["../../../src/components/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n extractStyleProps,\n factory,\n Factory,\n getSize,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { ActionIcon } from '../ActionIcon';\nimport { __BaseInputProps, __InputStylesNames, Input, InputVariant } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport classes from './PasswordInput.module.css';\n\nexport type PasswordInputStylesNames =\n | 'root'\n | 'visibilityToggle'\n | 'innerInput'\n | __InputStylesNames;\nexport type PasswordInputCssVariables = {\n root: '--psi-icon-size' | '--psi-button-size';\n};\n\nexport interface PasswordInputProps\n extends\n BoxProps,\n Omit<__BaseInputProps, 'pointer'>,\n StylesApiProps<PasswordInputFactory>,\n ElementProps<'input', 'size'> {\n /** A component to replace the visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean }>;\n\n /** Props passed down to the visibility toggle button */\n visibilityToggleButtonProps?: Record<string, any>;\n\n /** If set, the input value is visible */\n visible?: boolean;\n\n /** If set, the input value is visible by default */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport type PasswordInputFactory = Factory<{\n props: PasswordInputProps;\n ref: HTMLInputElement;\n stylesNames: PasswordInputStylesNames;\n vars: PasswordInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps = {\n visibilityToggleIcon: PasswordToggleIcon,\n size: 'sm',\n} satisfies Partial<PasswordInputProps>;\n\nconst varsResolver = createVarsResolver<PasswordInputFactory>((_, { size }) => ({\n root: {\n '--psi-icon-size': getSize(size, 'psi-icon-size'),\n '--psi-button-size': getSize(size, 'psi-button-size'),\n },\n}));\n\nexport const PasswordInput = factory<PasswordInputFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'PasswordInput'], defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n required,\n error,\n leftSection,\n disabled,\n id,\n variant,\n inputContainer,\n description,\n label,\n size,\n errorProps,\n descriptionProps,\n labelProps,\n withAsterisk,\n inputWrapperOrder,\n wrapperProps,\n radius,\n rightSection,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionWidth,\n visible,\n defaultVisible,\n onVisibilityChange,\n visibilityToggleIcon: VisibilityToggleIcon,\n visibilityToggleButtonProps,\n rightSectionProps,\n leftSectionProps,\n leftSectionPointerEvents,\n withErrorStyles,\n mod,\n attributes,\n dir,\n ...others\n } = props;\n\n const uuid = useId(id);\n\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const getStyles = useStyles<PasswordInputFactory>({\n name: 'PasswordInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PasswordInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const errorId = errorProps?.id || `${uuid}-error`;\n const descriptionId = descriptionProps?.id || `${uuid}-description`;\n const hasError = !!error && typeof error !== 'boolean';\n const hasDescription = !!description;\n const _describedBy = `${hasError ? errorId : ''} ${hasDescription ? descriptionId : ''}`;\n const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : undefined;\n\n const visibilityToggleButton = (\n <ActionIcon<'button'>\n {...getStyles('visibilityToggle')}\n disabled={disabled}\n radius={radius}\n aria-pressed={_visible}\n tabIndex={-1}\n aria-label=\"Toggle password visibility\"\n {...visibilityToggleButtonProps}\n variant={visibilityToggleButtonProps?.variant ?? 'subtle'}\n color=\"gray\"\n unstyled={unstyled}\n onTouchEnd={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onTouchEnd?.(event);\n toggleVisibility();\n }}\n onMouseDown={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onMouseDown?.(event);\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n visibilityToggleButtonProps?.onKeyDown?.(event);\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector=\"PasswordInput\"\n __stylesApiProps={props}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n variant={variant}\n labelProps={{ ...labelProps, htmlFor: uuid }}\n descriptionProps={{ ...descriptionProps, id: descriptionId }}\n errorProps={{ ...errorProps, id: errorId }}\n mod={mod}\n attributes={attributes}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n dir={dir}\n error={error}\n leftSection={leftSection}\n size={size}\n classNames={{ ...resolvedClassNames, input: cx(classes.input, resolvedClassNames?.input) }}\n styles={resolvedStyles}\n radius={radius}\n disabled={disabled}\n __staticSelector=\"PasswordInput\"\n __stylesApiProps={props}\n rightSectionWidth={rightSectionWidth}\n rightSection={rightSection ?? visibilityToggleButton}\n variant={variant}\n unstyled={unstyled}\n leftSectionWidth={leftSectionWidth}\n rightSectionPointerEvents={rightSectionPointerEvents || 'all'}\n rightSectionProps={rightSectionProps}\n leftSectionProps={leftSectionProps}\n leftSectionPointerEvents={leftSectionPointerEvents}\n withAria={false}\n withErrorStyles={withErrorStyles}\n attributes={attributes}\n >\n <input\n required={required}\n data-invalid={!!error || undefined}\n data-with-left-section={!!leftSection || undefined}\n {...getStyles('innerInput')}\n disabled={disabled}\n id={uuid}\n dir={dir}\n {...rest}\n aria-describedby={describedBy}\n autoComplete={rest.autoComplete || 'off'}\n type={_visible ? 'text' : 'password'}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.classes = { ...InputBase.classes, ...classes };\nPasswordInput.varsResolver = varsResolver;\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n\nexport namespace PasswordInput {\n export type Props = PasswordInputProps;\n export type StylesNames = PasswordInputStylesNames;\n export type CssVariables = PasswordInputCssVariables;\n export type Factory = PasswordInputFactory;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PasswordInput.cjs","names":["PasswordToggleIcon","createVarsResolver","getSize","factory","useProps","useStyles","useResolvedStylesApi","extractStyleProps","ActionIcon","Input","classes","InputBase"],"sources":["../../../src/components/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n extractStyleProps,\n factory,\n Factory,\n getSize,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { ActionIcon } from '../ActionIcon';\nimport { __BaseInputProps, __InputStylesNames, Input, InputVariant } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport classes from './PasswordInput.module.css';\n\nexport type PasswordInputStylesNames =\n | 'root'\n | 'visibilityToggle'\n | 'innerInput'\n | __InputStylesNames;\nexport type PasswordInputCssVariables = {\n root: '--psi-icon-size' | '--psi-button-size';\n};\n\nexport interface PasswordInputProps\n extends\n BoxProps,\n Omit<__BaseInputProps, 'pointer'>,\n StylesApiProps<PasswordInputFactory>,\n ElementProps<'input', 'size'> {\n /** A component to replace the visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean }>;\n\n /** Props passed down to the visibility toggle button */\n visibilityToggleButtonProps?: Record<string, any>;\n\n /** If set, the input value is visible */\n visible?: boolean;\n\n /** If set, the input value is visible by default */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport type PasswordInputFactory = Factory<{\n props: PasswordInputProps;\n ref: HTMLInputElement;\n stylesNames: PasswordInputStylesNames;\n vars: PasswordInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps = {\n visibilityToggleIcon: PasswordToggleIcon,\n size: 'sm',\n} satisfies Partial<PasswordInputProps>;\n\nconst varsResolver = createVarsResolver<PasswordInputFactory>((_, { size }) => ({\n root: {\n '--psi-icon-size': getSize(size, 'psi-icon-size'),\n '--psi-button-size': getSize(size, 'psi-button-size'),\n },\n}));\n\nexport const PasswordInput = factory<PasswordInputFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'PasswordInput'], defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n required,\n error,\n success,\n leftSection,\n disabled,\n id,\n variant,\n inputContainer,\n description,\n label,\n size,\n errorProps,\n successProps,\n descriptionProps,\n labelProps,\n withAsterisk,\n inputWrapperOrder,\n wrapperProps,\n radius,\n rightSection,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionWidth,\n visible,\n defaultVisible,\n onVisibilityChange,\n visibilityToggleIcon: VisibilityToggleIcon,\n visibilityToggleButtonProps,\n rightSectionProps,\n leftSectionProps,\n leftSectionPointerEvents,\n withErrorStyles,\n withSuccessStyles,\n mod,\n attributes,\n dir,\n ...others\n } = props;\n\n const uuid = useId(id);\n\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const getStyles = useStyles<PasswordInputFactory>({\n name: 'PasswordInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PasswordInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const errorId = errorProps?.id || `${uuid}-error`;\n const successId = successProps?.id || `${uuid}-success`;\n const descriptionId = descriptionProps?.id || `${uuid}-description`;\n const hasError = !!error && typeof error !== 'boolean';\n const hasSuccess = !!success && typeof success !== 'boolean';\n const hasDescription = !!description;\n const _describedBy = `${hasError ? errorId : ''} ${hasSuccess && !hasError ? successId : ''} ${hasDescription ? descriptionId : ''}`;\n const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : undefined;\n\n const visibilityToggleButton = (\n <ActionIcon<'button'>\n {...getStyles('visibilityToggle')}\n disabled={disabled}\n radius={radius}\n aria-pressed={_visible}\n tabIndex={-1}\n aria-label=\"Toggle password visibility\"\n {...visibilityToggleButtonProps}\n variant={visibilityToggleButtonProps?.variant ?? 'subtle'}\n color=\"gray\"\n unstyled={unstyled}\n onTouchEnd={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onTouchEnd?.(event);\n toggleVisibility();\n }}\n onMouseDown={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onMouseDown?.(event);\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n visibilityToggleButtonProps?.onKeyDown?.(event);\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n success={success}\n description={description}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector=\"PasswordInput\"\n __stylesApiProps={props}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n variant={variant}\n labelProps={{ ...labelProps, htmlFor: uuid }}\n descriptionProps={{ ...descriptionProps, id: descriptionId }}\n errorProps={{ ...errorProps, id: errorId }}\n successProps={{ ...successProps, id: successId }}\n mod={mod}\n attributes={attributes}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n dir={dir}\n error={error}\n success={success}\n leftSection={leftSection}\n size={size}\n classNames={{ ...resolvedClassNames, input: cx(classes.input, resolvedClassNames?.input) }}\n styles={resolvedStyles}\n radius={radius}\n disabled={disabled}\n __staticSelector=\"PasswordInput\"\n __stylesApiProps={props}\n rightSectionWidth={rightSectionWidth}\n rightSection={rightSection ?? visibilityToggleButton}\n variant={variant}\n unstyled={unstyled}\n leftSectionWidth={leftSectionWidth}\n rightSectionPointerEvents={rightSectionPointerEvents || 'all'}\n rightSectionProps={rightSectionProps}\n leftSectionProps={leftSectionProps}\n leftSectionPointerEvents={leftSectionPointerEvents}\n withAria={false}\n withErrorStyles={withErrorStyles}\n withSuccessStyles={withSuccessStyles}\n attributes={attributes}\n >\n <input\n required={required}\n data-invalid={!!error || undefined}\n data-with-left-section={!!leftSection || undefined}\n {...getStyles('innerInput')}\n disabled={disabled}\n id={uuid}\n dir={dir}\n {...rest}\n aria-describedby={describedBy}\n autoComplete={rest.autoComplete || 'off'}\n type={_visible ? 'text' : 'password'}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.classes = { ...InputBase.classes, ...classes };\nPasswordInput.varsResolver = varsResolver;\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n\nexport namespace PasswordInput {\n export type Props = PasswordInputProps;\n export type StylesNames = PasswordInputStylesNames;\n export type CssVariables = PasswordInputCssVariables;\n export type Factory = PasswordInputFactory;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordToggleIcon.cjs","names":[],"sources":["../../../src/components/PasswordInput/PasswordToggleIcon.tsx"],"sourcesContent":["export interface PasswordToggleIconProps {\n reveal: boolean;\n}\n\nexport type PasswordInputVisibilityToggleIcon = React.FC<PasswordToggleIconProps>;\n\nexport function PasswordToggleIcon({ reveal }: PasswordToggleIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n style={{ width: 'var(--psi-icon-size)', height: 'var(--psi-icon-size)' }}\n >\n {reveal ? (\n <>\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M48 40l160 176M154.91 157.6a40 40 0 01-53.82-59.2M135.53 88.71a40 40 0 0132.3 35.53\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M208.61 169.1C230.41 149.58 240 128 240 128s-32-72-112-72a126 126 0 00-20.68 1.68M74 68.6C33.23 89.24 16 128 16 128s32 72 112 72a118.05 118.05 0 0054-12.6\"\n />\n </>\n ) : (\n <>\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M128 56c-80 0-112 72-112 72s32 72 112 72 112-72 112-72-32-72-112-72z\"\n />\n <circle\n cx=\"128\"\n cy=\"128\"\n r=\"40\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n />\n </>\n )}\n </svg>\n );\n}\n"],"mappings":";;;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAO;GAAE,OAAO;GAAwB,QAAQ;EAAuB;YAEtE,SACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA;GACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,MAAK;IAAO,GAAE;GAAmB,CAAA;GACvC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;GACD,iBAAA,GAAA,kBAAA,KAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;EACD,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA;GACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,MAAK;IAAO,GAAE;GAAmB,CAAA;GACvC,iBAAA,GAAA,kBAAA,KAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;GACD,iBAAA,GAAA,kBAAA,KAAC,UAAD;IACE,IAAG;IACH,IAAG;IACH,GAAE;IACF,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;GACb,CAAA;EACD,EAAA,CAAA;CAED,CAAA;AAET"}
1
+ {"version":3,"file":"PasswordToggleIcon.cjs","names":[],"sources":["../../../src/components/PasswordInput/PasswordToggleIcon.tsx"],"sourcesContent":["export interface PasswordToggleIconProps {\n reveal: boolean;\n}\n\nexport type PasswordInputVisibilityToggleIcon = React.FC<PasswordToggleIconProps>;\n\nexport function PasswordToggleIcon({ reveal }: PasswordToggleIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n style={{ width: 'var(--psi-icon-size)', height: 'var(--psi-icon-size)' }}\n >\n {reveal ? (\n <>\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M48 40l160 176M154.91 157.6a40 40 0 01-53.82-59.2M135.53 88.71a40 40 0 0132.3 35.53\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M208.61 169.1C230.41 149.58 240 128 240 128s-32-72-112-72a126 126 0 00-20.68 1.68M74 68.6C33.23 89.24 16 128 16 128s32 72 112 72a118.05 118.05 0 0054-12.6\"\n />\n </>\n ) : (\n <>\n <path fill=\"none\" d=\"M0 0h256v256H0z\" />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n d=\"M128 56c-80 0-112 72-112 72s32 72 112 72 112-72 112-72-32-72-112-72z\"\n />\n <circle\n cx=\"128\"\n cy=\"128\"\n r=\"40\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"16\"\n />\n </>\n )}\n </svg>\n );\n}\n"],"mappings":";;;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAO;GAAE,OAAO;GAAwB,QAAQ;EAAuB;YAEtE,SACC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,MAAK;IAAO,GAAE;GAAmB,CAAA;GACvC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;GACD,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;EACD,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,MAAK;IAAO,GAAE;GAAmB,CAAA;GACvC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;IACZ,GAAE;GACH,CAAA;GACD,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;IACE,IAAG;IACH,IAAG;IACH,GAAE;IACF,MAAK;IACL,QAAO;IACP,eAAc;IACd,gBAAe;IACf,aAAY;GACb,CAAA;EACD,EAAA,CAAA;CAED,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pill.cjs","names":["createVarsResolver","getSize","getRadius","factory","useProps","PillGroupContext","PillsInputContext","useStyles","Box","CloseButton","classes","PillGroup"],"sources":["../../../src/components/Pill/Pill.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { CloseButton, CloseButtonProps } from '../CloseButton';\nimport { PillsInputContext } from '../PillsInput/PillsInput.context';\nimport {\n PillGroup,\n PillGroupContext,\n type PillGroupProps,\n type PillGroupStylesNames,\n type PillGroupCssVariables,\n type PillGroupFactory,\n} from './PillGroup/PillGroup';\nimport classes from './Pill.module.css';\nexport type PillStylesNames = 'root' | 'label' | 'remove';\nexport type PillVariant = 'default' | 'contrast';\nexport type PillCssVariables = {\n root: '--pill-fz' | '--pill-radius' | '--pill-height';\n};\n\nexport interface PillProps extends BoxProps, StylesApiProps<PillFactory>, ElementProps<'div'> {\n /** Controls pill `font-size` and `padding` @default 'sm' */\n size?: MantineSize;\n\n /** Controls visibility of the remove button @default false */\n withRemoveButton?: boolean;\n\n /** Called when the remove button is clicked */\n onRemove?: () => void;\n\n /** Props passed down to the remove button */\n removeButtonProps?: CloseButtonProps & React.ComponentProps<'button'>;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. @default 'xl' */\n radius?: MantineRadius;\n\n /** Adds disabled attribute, applies disabled styles */\n disabled?: boolean;\n}\n\nexport type PillFactory = Factory<{\n props: PillProps;\n ref: HTMLDivElement;\n stylesNames: PillStylesNames;\n vars: PillCssVariables;\n variant: PillVariant;\n ctx: { size: MantineSize | (string & {}) | undefined };\n staticComponents: {\n Group: typeof PillGroup;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n} satisfies Partial<PillProps>;\n\nconst varsResolver = createVarsResolver<PillFactory>((_, { radius }, { size }) => ({\n root: {\n '--pill-fz': getSize(size, 'pill-fz'),\n '--pill-height': getSize(size, 'pill-height'),\n '--pill-radius': radius === undefined ? undefined : getRadius(radius),\n },\n}));\n\nexport const Pill = factory<PillFactory>((_props) => {\n const props = useProps('Pill', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n variant,\n children,\n withRemoveButton,\n onRemove,\n removeButtonProps,\n radius,\n size,\n disabled,\n mod,\n attributes,\n ...others\n } = props;\n\n const ctx = use(PillGroupContext);\n const pillsInputCtx = use(PillsInputContext);\n const _size = size || ctx?.size || undefined;\n const _variant = pillsInputCtx?.variant === 'filled' ? 'contrast' : variant || 'default';\n\n const getStyles = useStyles<PillFactory>({\n name: 'Pill',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n stylesCtx: { size: _size },\n });\n\n return (\n <Box\n component=\"span\"\n variant={_variant}\n size={_size}\n {...getStyles('root', { variant: _variant })}\n mod={[\n { 'with-remove': withRemoveButton && !disabled, disabled: disabled || ctx?.disabled },\n mod,\n ]}\n {...others}\n >\n <span {...getStyles('label')}>{children}</span>\n {withRemoveButton && (\n <CloseButton\n variant=\"transparent\"\n radius={radius}\n tabIndex={-1}\n aria-hidden\n unstyled={unstyled}\n {...removeButtonProps}\n {...getStyles('remove', {\n className: removeButtonProps?.className,\n style: removeButtonProps?.style,\n })}\n onMouseDown={(event) => {\n event.preventDefault();\n event.stopPropagation();\n removeButtonProps?.onMouseDown?.(event);\n }}\n onClick={(event) => {\n event.stopPropagation();\n onRemove?.();\n removeButtonProps?.onClick?.(event);\n }}\n />\n )}\n </Box>\n );\n});\n\nPill.classes = classes;\nPill.varsResolver = varsResolver;\nPill.displayName = '@mantine/core/Pill';\nPill.Group = PillGroup;\n\nexport namespace Pill {\n export type Props = PillProps;\n export type StylesNames = PillStylesNames;\n export type CssVariables = PillCssVariables;\n export type Factory = PillFactory;\n export type Variant = PillVariant;\n\n export namespace Group {\n export type Props = PillGroupProps;\n export type StylesNames = PillGroupStylesNames;\n export type CssVariables = PillGroupCssVariables;\n export type Factory = PillGroupFactory;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAiEA,MAAM,eAAe,EACnB,SAAS,UACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAiC,GAAG,EAAE,UAAU,EAAE,YAAY,EACjF,MAAM;CACJ,aAAaC,iBAAAA,QAAQ,MAAM,SAAS;CACpC,iBAAiBA,iBAAAA,QAAQ,MAAM,aAAa;CAC5C,iBAAiB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;AACtE,EACF,EAAE;AAEF,MAAa,OAAOC,gBAAAA,SAAsB,WAAW;CACnD,MAAM,QAAQC,kBAAAA,SAAS,QAAQ,cAAc,MAAM;CACnD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,SACA,UACA,kBACA,UACA,mBACA,QACA,MACA,UACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,OAAA,GAAA,MAAA,KAAUC,kBAAAA,gBAAgB;CAChC,MAAM,iBAAA,GAAA,MAAA,KAAoBC,2BAAAA,iBAAiB;CAC3C,MAAM,QAAQ,QAAQ,KAAK,QAAQ,KAAA;CACnC,MAAM,WAAW,eAAe,YAAY,WAAW,aAAa,WAAW;CAE/E,MAAM,YAAYC,mBAAAA,UAAuB;EACvC,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,EAAE,MAAM,MAAM;CAC3B,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,MAACC,YAAAA,KAAD;EACE,WAAU;EACV,SAAS;EACT,MAAM;EACN,GAAI,UAAU,QAAQ,EAAE,SAAS,SAAS,CAAC;EAC3C,KAAK,CACH;GAAE,eAAe,oBAAoB,CAAC;GAAU,UAAU,YAAY,KAAK;EAAS,GACpF,GACF;EACA,GAAI;YATN,CAWE,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,GAAI,UAAU,OAAO;GAAI;EAAe,CAAA,GAC7C,oBACC,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,aAAD;GACE,SAAQ;GACA;GACR,UAAU;GACV,eAAA;GACU;GACV,GAAI;GACJ,GAAI,UAAU,UAAU;IACtB,WAAW,mBAAmB;IAC9B,OAAO,mBAAmB;GAC5B,CAAC;GACD,cAAc,UAAU;IACtB,MAAM,eAAe;IACrB,MAAM,gBAAgB;IACtB,mBAAmB,cAAc,KAAK;GACxC;GACA,UAAU,UAAU;IAClB,MAAM,gBAAgB;IACtB,WAAW;IACX,mBAAmB,UAAU,KAAK;GACpC;EACD,CAAA,CAEA;;AAET,CAAC;AAED,KAAK,UAAUC,oBAAAA;AACf,KAAK,eAAe;AACpB,KAAK,cAAc;AACnB,KAAK,QAAQC,kBAAAA"}
1
+ {"version":3,"file":"Pill.cjs","names":["createVarsResolver","getSize","getRadius","factory","useProps","PillGroupContext","PillsInputContext","useStyles","Box","CloseButton","classes","PillGroup"],"sources":["../../../src/components/Pill/Pill.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { CloseButton, CloseButtonProps } from '../CloseButton';\nimport { PillsInputContext } from '../PillsInput/PillsInput.context';\nimport {\n PillGroup,\n PillGroupContext,\n type PillGroupProps,\n type PillGroupStylesNames,\n type PillGroupCssVariables,\n type PillGroupFactory,\n} from './PillGroup/PillGroup';\nimport classes from './Pill.module.css';\nexport type PillStylesNames = 'root' | 'label' | 'remove';\nexport type PillVariant = 'default' | 'contrast';\nexport type PillCssVariables = {\n root: '--pill-fz' | '--pill-radius' | '--pill-height';\n};\n\nexport interface PillProps extends BoxProps, StylesApiProps<PillFactory>, ElementProps<'div'> {\n /** Controls pill `font-size` and `padding` @default 'sm' */\n size?: MantineSize;\n\n /** Controls visibility of the remove button @default false */\n withRemoveButton?: boolean;\n\n /** Called when the remove button is clicked */\n onRemove?: () => void;\n\n /** Props passed down to the remove button */\n removeButtonProps?: CloseButtonProps & React.ComponentProps<'button'>;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. @default 'xl' */\n radius?: MantineRadius;\n\n /** Adds disabled attribute, applies disabled styles */\n disabled?: boolean;\n}\n\nexport type PillFactory = Factory<{\n props: PillProps;\n ref: HTMLDivElement;\n stylesNames: PillStylesNames;\n vars: PillCssVariables;\n variant: PillVariant;\n ctx: { size: MantineSize | (string & {}) | undefined };\n staticComponents: {\n Group: typeof PillGroup;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n} satisfies Partial<PillProps>;\n\nconst varsResolver = createVarsResolver<PillFactory>((_, { radius }, { size }) => ({\n root: {\n '--pill-fz': getSize(size, 'pill-fz'),\n '--pill-height': getSize(size, 'pill-height'),\n '--pill-radius': radius === undefined ? undefined : getRadius(radius),\n },\n}));\n\nexport const Pill = factory<PillFactory>((_props) => {\n const props = useProps('Pill', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n variant,\n children,\n withRemoveButton,\n onRemove,\n removeButtonProps,\n radius,\n size,\n disabled,\n mod,\n attributes,\n ...others\n } = props;\n\n const ctx = use(PillGroupContext);\n const pillsInputCtx = use(PillsInputContext);\n const _size = size || ctx?.size || undefined;\n const _variant = pillsInputCtx?.variant === 'filled' ? 'contrast' : variant || 'default';\n\n const getStyles = useStyles<PillFactory>({\n name: 'Pill',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n stylesCtx: { size: _size },\n });\n\n return (\n <Box\n component=\"span\"\n variant={_variant}\n size={_size}\n {...getStyles('root', { variant: _variant })}\n mod={[\n { 'with-remove': withRemoveButton && !disabled, disabled: disabled || ctx?.disabled },\n mod,\n ]}\n {...others}\n >\n <span {...getStyles('label')}>{children}</span>\n {withRemoveButton && (\n <CloseButton\n variant=\"transparent\"\n radius={radius}\n tabIndex={-1}\n aria-hidden\n unstyled={unstyled}\n {...removeButtonProps}\n {...getStyles('remove', {\n className: removeButtonProps?.className,\n style: removeButtonProps?.style,\n })}\n onMouseDown={(event) => {\n event.preventDefault();\n event.stopPropagation();\n removeButtonProps?.onMouseDown?.(event);\n }}\n onClick={(event) => {\n event.stopPropagation();\n onRemove?.();\n removeButtonProps?.onClick?.(event);\n }}\n />\n )}\n </Box>\n );\n});\n\nPill.classes = classes;\nPill.varsResolver = varsResolver;\nPill.displayName = '@mantine/core/Pill';\nPill.Group = PillGroup;\n\nexport namespace Pill {\n export type Props = PillProps;\n export type StylesNames = PillStylesNames;\n export type CssVariables = PillCssVariables;\n export type Factory = PillFactory;\n export type Variant = PillVariant;\n\n export namespace Group {\n export type Props = PillGroupProps;\n export type StylesNames = PillGroupStylesNames;\n export type CssVariables = PillGroupCssVariables;\n export type Factory = PillGroupFactory;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAiEA,MAAM,eAAe,EACnB,SAAS,UACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAiC,GAAG,EAAE,UAAU,EAAE,YAAY,EACjF,MAAM;CACJ,aAAaC,iBAAAA,QAAQ,MAAM,SAAS;CACpC,iBAAiBA,iBAAAA,QAAQ,MAAM,aAAa;CAC5C,iBAAiB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;AACtE,EACF,EAAE;AAEF,MAAa,OAAOC,gBAAAA,SAAsB,WAAW;CACnD,MAAM,QAAQC,kBAAAA,SAAS,QAAQ,cAAc,MAAM;CACnD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,SACA,UACA,kBACA,UACA,mBACA,QACA,MACA,UACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,OAAA,GAAA,MAAA,IAAA,CAAUC,kBAAAA,gBAAgB;CAChC,MAAM,iBAAA,GAAA,MAAA,IAAA,CAAoBC,2BAAAA,iBAAiB;CAC3C,MAAM,QAAQ,QAAQ,KAAK,QAAQ,KAAA;CACnC,MAAM,WAAW,eAAe,YAAY,WAAW,aAAa,WAAW;CAE/E,MAAM,YAAYC,mBAAAA,UAAuB;EACvC,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,EAAE,MAAM,MAAM;CAC3B,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EACE,WAAU;EACV,SAAS;EACT,MAAM;EACN,GAAI,UAAU,QAAQ,EAAE,SAAS,SAAS,CAAC;EAC3C,KAAK,CACH;GAAE,eAAe,oBAAoB,CAAC;GAAU,UAAU,YAAY,KAAK;EAAS,GACpF,GACF;EACA,GAAI;YATN,CAWE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,GAAI,UAAU,OAAO;GAAI;EAAe,CAAA,GAC7C,oBACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,aAAD;GACE,SAAQ;GACA;GACR,UAAU;GACV,eAAA;GACU;GACV,GAAI;GACJ,GAAI,UAAU,UAAU;IACtB,WAAW,mBAAmB;IAC9B,OAAO,mBAAmB;GAC5B,CAAC;GACD,cAAc,UAAU;IACtB,MAAM,eAAe;IACrB,MAAM,gBAAgB;IACtB,mBAAmB,cAAc,KAAK;GACxC;GACA,UAAU,UAAU;IAClB,MAAM,gBAAgB;IACtB,WAAW;IACX,mBAAmB,UAAU,KAAK;GACpC;EACD,CAAA,CAEA;;AAET,CAAC;AAED,KAAK,UAAUC,oBAAAA;AACf,KAAK,eAAe;AACpB,KAAK,cAAc;AACnB,KAAK,QAAQC,kBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PillGroup.cjs","names":["createVarsResolver","getSize","factory","useProps","PillsInputContext","useStyles","Box","classes"],"sources":["../../../../src/components/Pill/PillGroup/PillGroup.tsx"],"sourcesContent":["import { createContext, use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSize,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { PillsInputContext } from '../../PillsInput/PillsInput.context';\nimport classes from '../Pill.module.css';\n\nexport interface PillGroupContextValue {\n size: MantineSize | (string & {}) | undefined;\n disabled: boolean | undefined;\n}\n\nexport const PillGroupContext = createContext<PillGroupContextValue | null>(null);\n\nexport type PillGroupStylesNames = 'group';\nexport type PillGroupCssVariables = {\n group: '--pg-gap';\n};\n\nexport interface PillGroupProps\n extends BoxProps, StylesApiProps<PillGroupFactory>, ElementProps<'div'> {\n /** Controls spacing between pills, by default controlled by `size` */\n gap?: MantineSize | (string & {}) | number;\n\n /** Controls size of the child `Pill` components and gap between them @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** If set, adds disabled to all child `Pill` components */\n disabled?: boolean;\n}\n\nexport type PillGroupFactory = Factory<{\n props: PillGroupProps;\n ref: HTMLDivElement;\n stylesNames: PillGroupStylesNames;\n vars: PillGroupCssVariables;\n ctx: { size: MantineSize | (string & {}) | undefined };\n}>;\n\nconst varsResolver = createVarsResolver<PillGroupFactory>((_, { gap }, { size }) => ({\n group: {\n '--pg-gap': gap !== undefined ? getSize(gap) : getSize(size, 'pg-gap'),\n },\n}));\n\nexport const PillGroup = factory<PillGroupFactory>((_props) => {\n const props = useProps('PillGroup', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n size,\n disabled,\n attributes,\n ...others\n } = props;\n const pillsInputCtx = use(PillsInputContext);\n const _size = pillsInputCtx?.size || size || undefined;\n\n const getStyles = useStyles<PillGroupFactory>({\n name: 'PillGroup',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n stylesCtx: { size: _size },\n rootSelector: 'group',\n });\n\n return (\n <PillGroupContext value={{ size: _size, disabled }}>\n <Box size={_size} {...getStyles('group')} {...others} />\n </PillGroupContext>\n );\n});\n\nPillGroup.classes = classes;\nPillGroup.varsResolver = varsResolver;\nPillGroup.displayName = '@mantine/core/PillGroup';\n"],"mappings":";;;;;;;;;;;;AAsBA,MAAa,oBAAA,GAAA,MAAA,eAA+D,IAAI;AA2BhF,MAAM,eAAeA,6BAAAA,oBAAsC,GAAG,EAAE,OAAO,EAAE,YAAY,EACnF,OAAO,EACL,YAAY,QAAQ,KAAA,IAAYC,iBAAAA,QAAQ,GAAG,IAAIA,iBAAAA,QAAQ,MAAM,QAAQ,EACvE,EACF,EAAE;AAEF,MAAa,YAAYC,gBAAAA,SAA2B,WAAW;CAC7D,MAAM,QAAQC,kBAAAA,SAAS,aAAa,MAAM,MAAM;CAChD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,SAAA,GAAA,MAAA,KADoBC,2BAAAA,iBACA,GAAG,QAAQ,QAAQ,KAAA;CAE7C,MAAM,YAAYC,mBAAAA,UAA4B;EAC5C,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,EAAE,MAAM,MAAM;EACzB,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAC,kBAAD;EAAkB,OAAO;GAAE,MAAM;GAAO;EAAS;YAC/C,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;GAAK,MAAM;GAAO,GAAI,UAAU,OAAO;GAAG,GAAI;EAAS,CAAA;CACvC,CAAA;AAEtB,CAAC;AAED,UAAU,UAAUC,oBAAAA;AACpB,UAAU,eAAe;AACzB,UAAU,cAAc"}
1
+ {"version":3,"file":"PillGroup.cjs","names":["createVarsResolver","getSize","factory","useProps","PillsInputContext","useStyles","Box","classes"],"sources":["../../../../src/components/Pill/PillGroup/PillGroup.tsx"],"sourcesContent":["import { createContext, use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSize,\n MantineSize,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { PillsInputContext } from '../../PillsInput/PillsInput.context';\nimport classes from '../Pill.module.css';\n\nexport interface PillGroupContextValue {\n size: MantineSize | (string & {}) | undefined;\n disabled: boolean | undefined;\n}\n\nexport const PillGroupContext = createContext<PillGroupContextValue | null>(null);\n\nexport type PillGroupStylesNames = 'group';\nexport type PillGroupCssVariables = {\n group: '--pg-gap';\n};\n\nexport interface PillGroupProps\n extends BoxProps, StylesApiProps<PillGroupFactory>, ElementProps<'div'> {\n /** Controls spacing between pills, by default controlled by `size` */\n gap?: MantineSize | (string & {}) | number;\n\n /** Controls size of the child `Pill` components and gap between them @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** If set, adds disabled to all child `Pill` components */\n disabled?: boolean;\n}\n\nexport type PillGroupFactory = Factory<{\n props: PillGroupProps;\n ref: HTMLDivElement;\n stylesNames: PillGroupStylesNames;\n vars: PillGroupCssVariables;\n ctx: { size: MantineSize | (string & {}) | undefined };\n}>;\n\nconst varsResolver = createVarsResolver<PillGroupFactory>((_, { gap }, { size }) => ({\n group: {\n '--pg-gap': gap !== undefined ? getSize(gap) : getSize(size, 'pg-gap'),\n },\n}));\n\nexport const PillGroup = factory<PillGroupFactory>((_props) => {\n const props = useProps('PillGroup', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n size,\n disabled,\n attributes,\n ...others\n } = props;\n const pillsInputCtx = use(PillsInputContext);\n const _size = pillsInputCtx?.size || size || undefined;\n\n const getStyles = useStyles<PillGroupFactory>({\n name: 'PillGroup',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n stylesCtx: { size: _size },\n rootSelector: 'group',\n });\n\n return (\n <PillGroupContext value={{ size: _size, disabled }}>\n <Box size={_size} {...getStyles('group')} {...others} />\n </PillGroupContext>\n );\n});\n\nPillGroup.classes = classes;\nPillGroup.varsResolver = varsResolver;\nPillGroup.displayName = '@mantine/core/PillGroup';\n"],"mappings":";;;;;;;;;;;;AAsBA,MAAa,oBAAA,GAAA,MAAA,cAAA,CAA+D,IAAI;AA2BhF,MAAM,eAAeA,6BAAAA,oBAAsC,GAAG,EAAE,OAAO,EAAE,YAAY,EACnF,OAAO,EACL,YAAY,QAAQ,KAAA,IAAYC,iBAAAA,QAAQ,GAAG,IAAIA,iBAAAA,QAAQ,MAAM,QAAQ,EACvE,EACF,EAAE;AAEF,MAAa,YAAYC,gBAAAA,SAA2B,WAAW;CAC7D,MAAM,QAAQC,kBAAAA,SAAS,aAAa,MAAM,MAAM;CAChD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,UACA,YACA,GAAG,WACD;CAEJ,MAAM,SAAA,GAAA,MAAA,IAAA,CADoBC,2BAAAA,iBACA,CAAC,EAAE,QAAQ,QAAQ,KAAA;CAE7C,MAAM,YAAYC,mBAAAA,UAA4B;EAC5C,MAAM;EACN,SAAA,oBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,EAAE,MAAM,MAAM;EACzB,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,OAAO;GAAE,MAAM;GAAO;EAAS;YAC/C,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GAAK,MAAM;GAAO,GAAI,UAAU,OAAO;GAAG,GAAI;EAAS,CAAA;CACvC,CAAA;AAEtB,CAAC;AAED,UAAU,UAAUC,oBAAAA;AACpB,UAAU,eAAe;AACzB,UAAU,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"PillsInput.cjs","names":["factory","useProps","PillsInputContext","InputBase","PillsInputField"],"sources":["../../../src/components/PillsInput/PillsInput.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { BoxProps, ElementProps, factory, Factory, StylesApiProps, useProps } from '../../core';\nimport { __BaseInputProps, __InputStylesNames } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { PillsInputContext, type PillsInputContextValue } from './PillsInput.context';\nimport {\n PillsInputField,\n type PillsInputFieldProps,\n type PillsInputFieldFactory,\n type PillsInputFieldStylesNames,\n} from './PillsInputField/PillsInputField';\nexport interface PillsInputProps\n extends\n BoxProps,\n __BaseInputProps,\n StylesApiProps<PillsInputFactory>,\n ElementProps<'div', 'size'> {\n __stylesApiProps?: Record<string, any>;\n __staticSelector?: string;\n}\n\nexport type PillsInputFactory = Factory<{\n props: PillsInputProps;\n ref: HTMLDivElement;\n stylesNames: __InputStylesNames;\n staticComponents: {\n Field: typeof PillsInputField;\n };\n}>;\n\nconst defaultProps = {\n size: 'sm',\n} satisfies Partial<PillsInputProps>;\n\nexport const PillsInput = factory<PillsInputFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'PillsInput'], defaultProps, _props);\n const {\n children,\n onMouseDown,\n onClick,\n size,\n disabled,\n __staticSelector,\n error,\n variant,\n ...others\n } = props;\n\n const fieldRef = useRef<HTMLInputElement>(null);\n\n return (\n <PillsInputContext value={{ fieldRef, size, disabled, hasError: !!error, variant }}>\n <InputBase\n size={size}\n error={error}\n variant={variant}\n component=\"div\"\n data-no-overflow\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n fieldRef.current?.focus();\n }}\n onClick={(event) => {\n event.preventDefault();\n const fieldset = event.currentTarget.closest('fieldset');\n if (!fieldset?.disabled) {\n fieldRef.current?.focus();\n onClick?.(event);\n }\n }}\n {...others}\n multiline\n disabled={disabled}\n __staticSelector={__staticSelector || 'PillsInput'}\n withAria={false}\n >\n {children}\n </InputBase>\n </PillsInputContext>\n );\n});\n\nPillsInput.displayName = '@mantine/core/PillsInput';\nPillsInput.classes = InputBase.classes;\nPillsInput.Field = PillsInputField;\n\nexport namespace PillsInput {\n export type Props = PillsInputProps;\n export type Factory = PillsInputFactory;\n export type ContextValue = PillsInputContextValue;\n\n export namespace Field {\n export type Props = PillsInputFieldProps;\n export type Factory = PillsInputFieldFactory;\n export type StylesNames = PillsInputFieldStylesNames;\n }\n}\n"],"mappings":";;;;;;;;;AA8BA,MAAM,eAAe,EACnB,MAAM,KACR;AAEA,MAAa,aAAaA,gBAAAA,SAA4B,WAAW;CAE/D,MAAM,EACJ,UACA,aACA,SACA,MACA,UACA,kBACA,OACA,SACA,GAAG,WAVSC,kBAAAA,SAAS;EAAC;EAAS;EAAgB;CAAY,GAAG,cAAc,MAWtE;CAER,MAAM,YAAA,GAAA,MAAA,QAAoC,IAAI;CAE9C,OACE,iBAAA,GAAA,kBAAA,KAACC,2BAAAA,mBAAD;EAAmB,OAAO;GAAE;GAAU;GAAM;GAAU,UAAU,CAAC,CAAC;GAAO;EAAQ;YAC/E,iBAAA,GAAA,kBAAA,KAACC,kBAAAA,WAAD;GACQ;GACC;GACE;GACT,WAAU;GACV,oBAAA;GACA,cAAc,UAAU;IACtB,MAAM,eAAe;IACrB,cAAc,KAAK;IACnB,SAAS,SAAS,MAAM;GAC1B;GACA,UAAU,UAAU;IAClB,MAAM,eAAe;IAErB,IAAI,CADa,MAAM,cAAc,QAAQ,UACjC,GAAG,UAAU;KACvB,SAAS,SAAS,MAAM;KACxB,UAAU,KAAK;IACjB;GACF;GACA,GAAI;GACJ,WAAA;GACU;GACV,kBAAkB,oBAAoB;GACtC,UAAU;GAET;EACQ,CAAA;CACM,CAAA;AAEvB,CAAC;AAED,WAAW,cAAc;AACzB,WAAW,UAAUA,kBAAAA,UAAU;AAC/B,WAAW,QAAQC,wBAAAA"}
1
+ {"version":3,"file":"PillsInput.cjs","names":["factory","useProps","PillsInputContext","InputBase","PillsInputField"],"sources":["../../../src/components/PillsInput/PillsInput.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { BoxProps, ElementProps, factory, Factory, StylesApiProps, useProps } from '../../core';\nimport { __BaseInputProps, __InputStylesNames } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { PillsInputContext, type PillsInputContextValue } from './PillsInput.context';\nimport {\n PillsInputField,\n type PillsInputFieldProps,\n type PillsInputFieldFactory,\n type PillsInputFieldStylesNames,\n} from './PillsInputField/PillsInputField';\nexport interface PillsInputProps\n extends\n BoxProps,\n __BaseInputProps,\n StylesApiProps<PillsInputFactory>,\n ElementProps<'div', 'size'> {\n __stylesApiProps?: Record<string, any>;\n __staticSelector?: string;\n}\n\nexport type PillsInputFactory = Factory<{\n props: PillsInputProps;\n ref: HTMLDivElement;\n stylesNames: __InputStylesNames;\n staticComponents: {\n Field: typeof PillsInputField;\n };\n}>;\n\nconst defaultProps = {\n size: 'sm',\n} satisfies Partial<PillsInputProps>;\n\nexport const PillsInput = factory<PillsInputFactory>((_props) => {\n const props = useProps(['Input', 'InputWrapper', 'PillsInput'], defaultProps, _props);\n const {\n children,\n onMouseDown,\n onClick,\n size,\n disabled,\n __staticSelector,\n error,\n variant,\n ...others\n } = props;\n\n const fieldRef = useRef<HTMLInputElement>(null);\n\n return (\n <PillsInputContext value={{ fieldRef, size, disabled, hasError: !!error, variant }}>\n <InputBase\n size={size}\n error={error}\n variant={variant}\n component=\"div\"\n data-no-overflow\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n fieldRef.current?.focus();\n }}\n onClick={(event) => {\n event.preventDefault();\n const fieldset = event.currentTarget.closest('fieldset');\n if (!fieldset?.disabled) {\n fieldRef.current?.focus();\n onClick?.(event);\n }\n }}\n {...others}\n multiline\n disabled={disabled}\n __staticSelector={__staticSelector || 'PillsInput'}\n withAria={false}\n >\n {children}\n </InputBase>\n </PillsInputContext>\n );\n});\n\nPillsInput.displayName = '@mantine/core/PillsInput';\nPillsInput.classes = InputBase.classes;\nPillsInput.Field = PillsInputField;\n\nexport namespace PillsInput {\n export type Props = PillsInputProps;\n export type Factory = PillsInputFactory;\n export type ContextValue = PillsInputContextValue;\n\n export namespace Field {\n export type Props = PillsInputFieldProps;\n export type Factory = PillsInputFieldFactory;\n export type StylesNames = PillsInputFieldStylesNames;\n }\n}\n"],"mappings":";;;;;;;;;AA8BA,MAAM,eAAe,EACnB,MAAM,KACR;AAEA,MAAa,aAAaA,gBAAAA,SAA4B,WAAW;CAE/D,MAAM,EACJ,UACA,aACA,SACA,MACA,UACA,kBACA,OACA,SACA,GAAG,WAVSC,kBAAAA,SAAS;EAAC;EAAS;EAAgB;CAAY,GAAG,cAAc,MAWtE;CAER,MAAM,YAAA,GAAA,MAAA,OAAA,CAAoC,IAAI;CAE9C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,2BAAAA,mBAAD;EAAmB,OAAO;GAAE;GAAU;GAAM;GAAU,UAAU,CAAC,CAAC;GAAO;EAAQ;YAC/E,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,WAAD;GACQ;GACC;GACE;GACT,WAAU;GACV,oBAAA;GACA,cAAc,UAAU;IACtB,MAAM,eAAe;IACrB,cAAc,KAAK;IACnB,SAAS,SAAS,MAAM;GAC1B;GACA,UAAU,UAAU;IAClB,MAAM,eAAe;IAErB,IAAI,CADa,MAAM,cAAc,QAAQ,UACjC,CAAC,EAAE,UAAU;KACvB,SAAS,SAAS,MAAM;KACxB,UAAU,KAAK;IACjB;GACF;GACA,GAAI;GACJ,WAAA;GACU;GACV,kBAAkB,oBAAoB;GACtC,UAAU;GAET;EACQ,CAAA;CACM,CAAA;AAEvB,CAAC;AAED,WAAW,cAAc;AACzB,WAAW,UAAUA,kBAAAA,UAAU;AAC/B,WAAW,QAAQC,wBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PillsInput.context.cjs","names":[],"sources":["../../../src/components/PillsInput/PillsInput.context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { MantineSize } from '../../core';\nimport { InputVariant } from '../Input';\n\nexport interface PillsInputContextValue {\n fieldRef: React.RefObject<HTMLInputElement | null>;\n size: MantineSize | (string & {});\n disabled: boolean | undefined;\n hasError: boolean | undefined;\n variant: InputVariant | (string & {}) | undefined;\n}\n\nexport const PillsInputContext = createContext<PillsInputContextValue | null>(null);\n"],"mappings":";;AAYA,MAAa,qBAAA,kBAAA,EAAA,eAAiE,IAAI"}
1
+ {"version":3,"file":"PillsInput.context.cjs","names":[],"sources":["../../../src/components/PillsInput/PillsInput.context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { MantineSize } from '../../core';\nimport { InputVariant } from '../Input';\n\nexport interface PillsInputContextValue {\n fieldRef: React.RefObject<HTMLInputElement | null>;\n size: MantineSize | (string & {});\n disabled: boolean | undefined;\n hasError: boolean | undefined;\n variant: InputVariant | (string & {}) | undefined;\n}\n\nexport const PillsInputContext = createContext<PillsInputContextValue | null>(null);\n"],"mappings":";;AAYA,MAAa,qBAAA,kBAAA,CAAA,CAAA,cAAA,CAAiE,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"PillsInputField.cjs","names":["factory","useProps","PillsInputContext","InputWrapperContext","useStyles","Box","classes"],"sources":["../../../../src/components/PillsInput/PillsInputField/PillsInputField.tsx"],"sourcesContent":["import { use } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { InputWrapperContext } from '../../Input';\nimport { PillsInputContext } from '../PillsInput.context';\nimport classes from '../PillsInput.module.css';\n\nexport type PillsInputFieldStylesNames = 'field';\n\nexport interface PillsInputFieldProps\n extends BoxProps, StylesApiProps<PillsInputFieldFactory>, ElementProps<'input', 'type'> {\n /** Controls input styles when focused. If `auto` the input is hidden when not focused. If `visible` the input will always remain visible. @default 'visible' */\n type?: 'auto' | 'visible' | 'hidden';\n\n /** If set, cursor is changed to pointer */\n pointer?: boolean;\n}\n\nexport type PillsInputFieldFactory = Factory<{\n props: PillsInputFieldProps;\n ref: HTMLInputElement;\n stylesNames: PillsInputFieldStylesNames;\n}>;\n\nconst defaultProps = {\n type: 'visible',\n} satisfies Partial<PillsInputFieldProps>;\n\nexport const PillsInputField = factory<PillsInputFieldFactory>((_props) => {\n const props = useProps('PillsInputField', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n type,\n disabled,\n id,\n pointer,\n mod,\n attributes,\n ref,\n ...others\n } = props;\n const ctx = use(PillsInputContext);\n const inputWrapperCtx = use(InputWrapperContext);\n\n const getStyles = useStyles<PillsInputFieldFactory>({\n name: 'PillsInputField',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'field',\n });\n\n const _disabled = disabled || ctx?.disabled;\n\n return (\n <Box\n component=\"input\"\n ref={useMergedRef(ref, ctx?.fieldRef)}\n data-type={type}\n disabled={_disabled}\n mod={[{ disabled: _disabled, pointer }, mod]}\n {...getStyles('field')}\n {...others}\n id={inputWrapperCtx?.inputId || id}\n aria-invalid={ctx?.hasError}\n aria-describedby={inputWrapperCtx?.describedBy}\n type=\"text\"\n onMouseDown={(event) => !pointer && event.stopPropagation()}\n />\n );\n});\n\nPillsInputField.classes = classes;\nPillsInputField.displayName = '@mantine/core/PillsInputField';\n"],"mappings":";;;;;;;;;;;;AAiCA,MAAM,eAAe,EACnB,MAAM,UACR;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CACzE,MAAM,QAAQC,kBAAAA,SAAS,mBAAmB,cAAc,MAAM;CAC9D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,UACA,IACA,SACA,KACA,YACA,KACA,GAAG,WACD;CACJ,MAAM,OAAA,GAAA,MAAA,KAAUC,2BAAAA,iBAAiB;CACjC,MAAM,mBAAA,GAAA,MAAA,KAAsBC,6BAAAA,mBAAmB;CAE/C,MAAM,YAAYC,mBAAAA,UAAkC;EAClD,MAAM;EACN,SAAA,0BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,YAAY,YAAY,KAAK;CAEnC,OACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,WAAU;EACV,MAAA,GAAA,eAAA,cAAkB,KAAK,KAAK,QAAQ;EACpC,aAAW;EACX,UAAU;EACV,KAAK,CAAC;GAAE,UAAU;GAAW;EAAQ,GAAG,GAAG;EAC3C,GAAI,UAAU,OAAO;EACrB,GAAI;EACJ,IAAI,iBAAiB,WAAW;EAChC,gBAAc,KAAK;EACnB,oBAAkB,iBAAiB;EACnC,MAAK;EACL,cAAc,UAAU,CAAC,WAAW,MAAM,gBAAgB;CAC3D,CAAA;AAEL,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}
1
+ {"version":3,"file":"PillsInputField.cjs","names":["factory","useProps","PillsInputContext","InputWrapperContext","useStyles","Box","classes"],"sources":["../../../../src/components/PillsInput/PillsInputField/PillsInputField.tsx"],"sourcesContent":["import { use } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../../core';\nimport { InputWrapperContext } from '../../Input';\nimport { PillsInputContext } from '../PillsInput.context';\nimport classes from '../PillsInput.module.css';\n\nexport type PillsInputFieldStylesNames = 'field';\n\nexport interface PillsInputFieldProps\n extends BoxProps, StylesApiProps<PillsInputFieldFactory>, ElementProps<'input', 'type'> {\n /** Controls input styles when focused. If `auto` the input is hidden when not focused. If `visible` the input will always remain visible. @default 'visible' */\n type?: 'auto' | 'visible' | 'hidden';\n\n /** If set, cursor is changed to pointer */\n pointer?: boolean;\n}\n\nexport type PillsInputFieldFactory = Factory<{\n props: PillsInputFieldProps;\n ref: HTMLInputElement;\n stylesNames: PillsInputFieldStylesNames;\n}>;\n\nconst defaultProps = {\n type: 'visible',\n} satisfies Partial<PillsInputFieldProps>;\n\nexport const PillsInputField = factory<PillsInputFieldFactory>((_props) => {\n const props = useProps('PillsInputField', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n type,\n disabled,\n id,\n pointer,\n mod,\n attributes,\n ref,\n ...others\n } = props;\n const ctx = use(PillsInputContext);\n const inputWrapperCtx = use(InputWrapperContext);\n\n const getStyles = useStyles<PillsInputFieldFactory>({\n name: 'PillsInputField',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'field',\n });\n\n const _disabled = disabled || ctx?.disabled;\n\n return (\n <Box\n component=\"input\"\n ref={useMergedRef(ref, ctx?.fieldRef)}\n data-type={type}\n disabled={_disabled}\n mod={[{ disabled: _disabled, pointer }, mod]}\n {...getStyles('field')}\n {...others}\n id={inputWrapperCtx?.inputId || id}\n aria-invalid={ctx?.hasError}\n aria-describedby={inputWrapperCtx?.describedBy}\n type=\"text\"\n onMouseDown={(event) => !pointer && event.stopPropagation()}\n />\n );\n});\n\nPillsInputField.classes = classes;\nPillsInputField.displayName = '@mantine/core/PillsInputField';\n"],"mappings":";;;;;;;;;;;;AAiCA,MAAM,eAAe,EACnB,MAAM,UACR;AAEA,MAAa,kBAAkBA,gBAAAA,SAAiC,WAAW;CACzE,MAAM,QAAQC,kBAAAA,SAAS,mBAAmB,cAAc,MAAM;CAC9D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,MACA,UACA,IACA,SACA,KACA,YACA,KACA,GAAG,WACD;CACJ,MAAM,OAAA,GAAA,MAAA,IAAA,CAAUC,2BAAAA,iBAAiB;CACjC,MAAM,mBAAA,GAAA,MAAA,IAAA,CAAsBC,6BAAAA,mBAAmB;CAE/C,MAAM,YAAYC,mBAAAA,UAAkC;EAClD,MAAM;EACN,SAAA,0BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,YAAY,YAAY,KAAK;CAEnC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,WAAU;EACV,MAAA,GAAA,eAAA,aAAA,CAAkB,KAAK,KAAK,QAAQ;EACpC,aAAW;EACX,UAAU;EACV,KAAK,CAAC;GAAE,UAAU;GAAW;EAAQ,GAAG,GAAG;EAC3C,GAAI,UAAU,OAAO;EACrB,GAAI;EACJ,IAAI,iBAAiB,WAAW;EAChC,gBAAc,KAAK;EACnB,oBAAkB,iBAAiB;EACnC,MAAK;EACL,cAAc,UAAU,CAAC,WAAW,MAAM,gBAAgB;CAC3D,CAAA;AAEL,CAAC;AAED,gBAAgB,UAAUC,0BAAAA;AAC1B,gBAAgB,cAAc"}
@@ -30,7 +30,7 @@ const defaultProps = {
30
30
  };
31
31
  const varsResolver = require_create_vars_resolver.createVarsResolver((_, { size }) => ({ root: { "--pin-input-size": require_get_size.getSize(size ?? "sm", "pin-input-size") } }));
32
32
  const PinInput = require_factory.factory((props) => {
33
- const { name, form, className, value, defaultValue, variant, gap, style, size, classNames, styles, unstyled, length, onChange, onComplete, manageFocus, autoFocus, error, radius, disabled, oneTimeCode, placeholder, type, mask, readOnly, inputType, inputMode, ariaLabel, vars, id, hiddenInputProps, rootRef, getInputProps, attributes, ref, ...others } = require_use_props.useProps(["Input", "PinInput"], defaultProps, props);
33
+ const { name, form, className, value, defaultValue, variant, gap, style, size, classNames, styles, unstyled, length, onChange, onComplete, manageFocus, autoFocus, error, success, radius, disabled, oneTimeCode, placeholder, type, mask, readOnly, inputType, inputMode, ariaLabel, vars, id, hiddenInputProps, rootRef, getInputProps, attributes, ref, ...others } = require_use_props.useProps(["Input", "PinInput"], defaultProps, props);
34
34
  const uuid = (0, _mantine_hooks.useId)(id);
35
35
  const getStyles = require_use_styles.useStyles({
36
36
  name: "PinInput",
@@ -224,6 +224,7 @@ const PinInput = require_factory.factory((props) => {
224
224
  type: inputType || (mask ? "password" : type === "number" ? "tel" : "text"),
225
225
  radius,
226
226
  error,
227
+ success,
227
228
  variant,
228
229
  disabled,
229
230
  ref: (node) => {
@@ -1 +1 @@
1
- {"version":3,"file":"PinInput.cjs","names":["createVarsResolver","getSize","factory","useProps","useStyles","useResolvedStylesApi","createPinArray","Group","Input","classes","InputBase"],"sources":["../../../src/components/PinInput/PinInput.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { assignRef, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n Factory,\n factory,\n getSize,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { createPinArray } from './create-pin-array/create-pin-array';\nimport classes from './PinInput.module.css';\n\nconst regex = {\n number: /^[0-9]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i,\n};\n\nexport type PinInputStylesNames = 'root' | 'pinInput' | 'input';\n\nexport type PinInputCssVariables = {\n root: '--pin-input-size';\n};\n\nexport interface PinInputProps\n extends BoxProps, StylesApiProps<PinInputFactory>, ElementProps<'div', 'onChange' | 'ref'> {\n ref?: React.Ref<HTMLInputElement>;\n\n /** Hidden input `name` attribute */\n name?: string;\n\n /** Hidden input `form` attribute */\n form?: string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `gap` between inputs, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Controls inputs `width` and `height` @default 'sm' */\n size?: MantineSize;\n\n /** If set, the first input is focused when component is mounted @default false */\n autoFocus?: boolean;\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?: (value: string) => void;\n\n /** Called when all inputs have value */\n onComplete?: (value: string) => void;\n\n /** Inputs placeholder @default '○' */\n placeholder?: string;\n\n /** Determines whether focus should be moved automatically to the next input once filled @default true */\n manageFocus?: boolean;\n\n /** Determines whether `autocomplete=\"one-time-code\"` attribute should be set on all inputs @default true */\n oneTimeCode?: boolean;\n\n /** Base id used to generate unique ids for inputs */\n id?: string;\n\n /** Adds disabled attribute to all inputs */\n disabled?: boolean;\n\n /** Sets `aria-invalid` attribute and applies error styles to all inputs */\n error?: boolean;\n\n /** Determines which values can be entered @default 'alphanumeric' */\n type?: 'alphanumeric' | 'number' | RegExp;\n\n /** Changes input type to `\"password\"` @default false */\n mask?: boolean;\n\n /** Number of inputs @default 4 */\n length?: number;\n\n /** If set, the user cannot edit the value */\n readOnly?: boolean;\n\n /** Inputs `type` attribute, inferred from the `type` prop if not specified */\n inputType?: React.HTMLInputTypeAttribute;\n\n /** `inputmode` attribute, inferred from the `type` prop if not specified */\n inputMode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'\n | undefined;\n\n /** `aria-label` attribute */\n ariaLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentProps<'input'>;\n\n /** Assigns ref of the root element */\n rootRef?: React.Ref<HTMLDivElement>;\n\n /** Props added to the input element depending on its index */\n getInputProps?: (index: number) => InputProps & ElementProps<'input', 'size'> & DataAttributes;\n}\n\nexport type PinInputFactory = Factory<{\n props: PinInputProps;\n ref: HTMLDivElement;\n stylesNames: PinInputStylesNames;\n vars: PinInputCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'sm',\n length: 4,\n manageFocus: true,\n oneTimeCode: true,\n placeholder: '○',\n type: 'alphanumeric',\n ariaLabel: 'PinInput',\n size: 'sm',\n} satisfies Partial<PinInputProps>;\n\nconst varsResolver = createVarsResolver<PinInputFactory>((_, { size }) => ({\n root: {\n '--pin-input-size': getSize(size ?? 'sm', 'pin-input-size'),\n },\n}));\n\nexport const PinInput = factory<PinInputFactory>((props) => {\n const {\n name,\n form,\n className,\n value,\n defaultValue,\n variant,\n gap,\n style,\n size,\n classNames,\n styles,\n unstyled,\n length,\n onChange,\n onComplete,\n manageFocus,\n autoFocus,\n error,\n radius,\n disabled,\n oneTimeCode,\n placeholder,\n type,\n mask,\n readOnly,\n inputType,\n inputMode,\n ariaLabel,\n vars,\n id,\n hiddenInputProps,\n rootRef,\n getInputProps,\n attributes,\n ref,\n ...others\n } = useProps(['Input', 'PinInput'], defaultProps, props);\n\n const uuid = useId(id);\n\n const getStyles = useStyles<PinInputFactory>({\n name: 'PinInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PinInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const inputsRef = useRef<Array<HTMLInputElement>>([]);\n const currentLength = length ?? 4;\n\n const completedRef = useRef(false);\n\n const [_value, setValues] = useUncontrolled<string[]>({\n value: value !== undefined ? createPinArray(currentLength, value) : undefined,\n defaultValue: defaultValue?.split('').slice(0, currentLength),\n finalValue: createPinArray(currentLength, ''),\n onChange: (val) => {\n const stringValue = val.join('').trim();\n onChange?.(stringValue);\n if (stringValue.length === currentLength && !completedRef.current) {\n completedRef.current = true;\n onComplete?.(stringValue);\n } else if (stringValue.length < currentLength) {\n completedRef.current = false;\n }\n },\n });\n\n const currentValue =\n _value.length !== currentLength ? createPinArray(currentLength, _value.join('')) : _value;\n\n const _valueToString = currentValue.join('').trim();\n\n const validate = (code: string) => {\n const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;\n return re?.test(code);\n };\n\n const focusInputField = (dir: 'next' | 'prev', index: number) => {\n if (!manageFocus) {\n return;\n }\n\n if (dir === 'next') {\n const nextIndex = index + 1;\n if (nextIndex < currentLength) {\n inputsRef.current[nextIndex]?.focus();\n }\n } else if (dir === 'prev') {\n const prevIndex = index - 1;\n if (prevIndex >= 0) {\n inputsRef.current[prevIndex]?.focus();\n }\n }\n };\n\n const setFieldValue = (val: string, index: number) => {\n const values = [...currentValue];\n values[index] = val;\n setValues(values);\n return values;\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const inputValue = event.target.value;\n\n if (inputValue.length > 1) {\n const isPaste = inputValue.length > 2;\n if (isPaste) {\n const isValid = validate(inputValue);\n if (isValid) {\n setValues(createPinArray(currentLength, inputValue));\n const filledCount = Math.min(inputValue.length, currentLength);\n if (filledCount < currentLength) {\n focusInputField('next', filledCount - 1);\n }\n }\n return;\n }\n\n const newChar = inputValue.split('')[inputValue.length - 1];\n if (validate(newChar)) {\n setFieldValue(newChar, index);\n focusInputField('next', index);\n }\n return;\n }\n\n if (inputValue.length === 1) {\n if (validate(inputValue)) {\n setFieldValue(inputValue, index);\n focusInputField('next', index);\n } else {\n setFieldValue('', index);\n }\n } else if (inputValue.length === 0) {\n setFieldValue('', index);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n const { ctrlKey, metaKey, key, shiftKey, target } = event;\n const inputValue = (target as HTMLInputElement).value;\n\n if (inputMode === 'numeric') {\n const allowedKeys = ['Backspace', 'Tab', 'Control', 'Delete', 'ArrowLeft', 'ArrowRight'];\n const isModifierShortcut = ctrlKey || metaKey;\n const isAllowedKey =\n allowedKeys.includes(key) || isModifierShortcut || !Number.isNaN(Number(key));\n\n if (!isAllowedKey) {\n event.preventDefault();\n return;\n }\n }\n\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n focusInputField('prev', index);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n focusInputField('next', index);\n break;\n\n case 'Tab':\n if (shiftKey) {\n if (index > 0 && manageFocus) {\n event.preventDefault();\n focusInputField('prev', index);\n }\n }\n break;\n\n case ' ':\n event.preventDefault();\n focusInputField('next', index);\n break;\n\n case 'Delete':\n event.preventDefault();\n setFieldValue('', index);\n break;\n\n case 'Backspace':\n if (inputValue === '') {\n event.preventDefault();\n focusInputField('prev', index);\n } else {\n setFieldValue('', index);\n if (index < currentLength - 1) {\n event.preventDefault();\n focusInputField('prev', index);\n }\n }\n break;\n\n default:\n if (inputValue.length > 0 && key === currentValue[index]) {\n event.preventDefault();\n focusInputField('next', index);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>, index: number) => {\n event.target.select();\n setFocusedIndex(index);\n };\n\n const handleBlur = () => {\n setFocusedIndex(-1);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n const pasteData = event.clipboardData.getData('text/plain').replace(/[\\n\\r\\s]+/g, '');\n const isValid = validate(pasteData.trim());\n\n if (isValid) {\n const pasteArray = createPinArray(currentLength, pasteData);\n setValues(pasteArray);\n const filledCount = pasteArray.filter((val) => val !== '').length;\n if (filledCount >= currentLength) {\n inputsRef.current[currentLength - 1]?.focus();\n } else {\n inputsRef.current[filledCount]?.focus();\n }\n }\n };\n\n return (\n <>\n <Group\n {...others}\n {...getStyles('root')}\n ref={rootRef}\n role=\"group\"\n id={uuid}\n gap={gap}\n unstyled={unstyled}\n wrap=\"nowrap\"\n variant={variant}\n __size={size}\n dir=\"ltr\"\n >\n {currentValue.map((char: string, index: number) => (\n <Input\n component=\"input\"\n {...getStyles('pinInput', {\n style: {\n '--input-padding': '0',\n '--input-text-align': 'center',\n } as React.CSSProperties,\n })}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n size={size}\n __staticSelector=\"PinInput\"\n id={`${uuid}-${index + 1}`}\n key={`${uuid}-${index}`}\n inputMode={inputMode || (type === 'number' ? 'numeric' : 'text')}\n onChange={(event) => handleChange(event, index)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n onFocus={(event) => handleFocus(event, index)}\n onBlur={handleBlur}\n onPaste={handlePaste}\n type={inputType || (mask ? 'password' : type === 'number' ? 'tel' : 'text')}\n radius={radius}\n error={error}\n variant={variant}\n disabled={disabled}\n ref={(node) => {\n if (node) {\n index === 0 && assignRef(ref, node);\n inputsRef.current[index] = node;\n }\n }}\n autoComplete={oneTimeCode ? 'one-time-code' : 'off'}\n placeholder={focusedIndex === index ? '' : placeholder}\n value={char}\n autoFocus={autoFocus && index === 0}\n unstyled={unstyled}\n aria-label={ariaLabel}\n readOnly={readOnly}\n {...getInputProps?.(index)}\n />\n ))}\n </Group>\n\n <input type=\"hidden\" name={name} form={form} value={_valueToString} {...hiddenInputProps} />\n </>\n );\n});\n\nPinInput.classes = { ...classes, ...InputBase.classes };\nPinInput.varsResolver = varsResolver;\nPinInput.displayName = '@mantine/core/PinInput';\n\nexport namespace PinInput {\n export type Props = PinInputProps;\n export type StylesNames = PinInputStylesNames;\n export type Factory = PinInputFactory;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PinInput.cjs","names":["createVarsResolver","getSize","factory","useProps","useStyles","useResolvedStylesApi","createPinArray","Group","Input","classes","InputBase"],"sources":["../../../src/components/PinInput/PinInput.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { assignRef, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n Factory,\n factory,\n getSize,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { InputBase } from '../InputBase';\nimport { createPinArray } from './create-pin-array/create-pin-array';\nimport classes from './PinInput.module.css';\n\nconst regex = {\n number: /^[0-9]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i,\n};\n\nexport type PinInputStylesNames = 'root' | 'pinInput' | 'input';\n\nexport type PinInputCssVariables = {\n root: '--pin-input-size';\n};\n\nexport interface PinInputProps\n extends BoxProps, StylesApiProps<PinInputFactory>, ElementProps<'div', 'onChange' | 'ref'> {\n ref?: React.Ref<HTMLInputElement>;\n\n /** Hidden input `name` attribute */\n name?: string;\n\n /** Hidden input `form` attribute */\n form?: string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `gap` between inputs, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Controls inputs `width` and `height` @default 'sm' */\n size?: MantineSize;\n\n /** If set, the first input is focused when component is mounted @default false */\n autoFocus?: boolean;\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?: (value: string) => void;\n\n /** Called when all inputs have value */\n onComplete?: (value: string) => void;\n\n /** Inputs placeholder @default '○' */\n placeholder?: string;\n\n /** Determines whether focus should be moved automatically to the next input once filled @default true */\n manageFocus?: boolean;\n\n /** Determines whether `autocomplete=\"one-time-code\"` attribute should be set on all inputs @default true */\n oneTimeCode?: boolean;\n\n /** Base id used to generate unique ids for inputs */\n id?: string;\n\n /** Adds disabled attribute to all inputs */\n disabled?: boolean;\n\n /** Sets `aria-invalid` attribute and applies error styles to all inputs */\n error?: boolean;\n\n /** Applies success styles to all inputs */\n success?: boolean;\n\n /** Determines which values can be entered @default 'alphanumeric' */\n type?: 'alphanumeric' | 'number' | RegExp;\n\n /** Changes input type to `\"password\"` @default false */\n mask?: boolean;\n\n /** Number of inputs @default 4 */\n length?: number;\n\n /** If set, the user cannot edit the value */\n readOnly?: boolean;\n\n /** Inputs `type` attribute, inferred from the `type` prop if not specified */\n inputType?: React.HTMLInputTypeAttribute;\n\n /** `inputmode` attribute, inferred from the `type` prop if not specified */\n inputMode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'\n | undefined;\n\n /** `aria-label` attribute */\n ariaLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentProps<'input'>;\n\n /** Assigns ref of the root element */\n rootRef?: React.Ref<HTMLDivElement>;\n\n /** Props added to the input element depending on its index */\n getInputProps?: (index: number) => InputProps & ElementProps<'input', 'size'> & DataAttributes;\n}\n\nexport type PinInputFactory = Factory<{\n props: PinInputProps;\n ref: HTMLDivElement;\n stylesNames: PinInputStylesNames;\n vars: PinInputCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'sm',\n length: 4,\n manageFocus: true,\n oneTimeCode: true,\n placeholder: '○',\n type: 'alphanumeric',\n ariaLabel: 'PinInput',\n size: 'sm',\n} satisfies Partial<PinInputProps>;\n\nconst varsResolver = createVarsResolver<PinInputFactory>((_, { size }) => ({\n root: {\n '--pin-input-size': getSize(size ?? 'sm', 'pin-input-size'),\n },\n}));\n\nexport const PinInput = factory<PinInputFactory>((props) => {\n const {\n name,\n form,\n className,\n value,\n defaultValue,\n variant,\n gap,\n style,\n size,\n classNames,\n styles,\n unstyled,\n length,\n onChange,\n onComplete,\n manageFocus,\n autoFocus,\n error,\n success,\n radius,\n disabled,\n oneTimeCode,\n placeholder,\n type,\n mask,\n readOnly,\n inputType,\n inputMode,\n ariaLabel,\n vars,\n id,\n hiddenInputProps,\n rootRef,\n getInputProps,\n attributes,\n ref,\n ...others\n } = useProps(['Input', 'PinInput'], defaultProps, props);\n\n const uuid = useId(id);\n\n const getStyles = useStyles<PinInputFactory>({\n name: 'PinInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PinInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const inputsRef = useRef<Array<HTMLInputElement>>([]);\n const currentLength = length ?? 4;\n\n const completedRef = useRef(false);\n\n const [_value, setValues] = useUncontrolled<string[]>({\n value: value !== undefined ? createPinArray(currentLength, value) : undefined,\n defaultValue: defaultValue?.split('').slice(0, currentLength),\n finalValue: createPinArray(currentLength, ''),\n onChange: (val) => {\n const stringValue = val.join('').trim();\n onChange?.(stringValue);\n if (stringValue.length === currentLength && !completedRef.current) {\n completedRef.current = true;\n onComplete?.(stringValue);\n } else if (stringValue.length < currentLength) {\n completedRef.current = false;\n }\n },\n });\n\n const currentValue =\n _value.length !== currentLength ? createPinArray(currentLength, _value.join('')) : _value;\n\n const _valueToString = currentValue.join('').trim();\n\n const validate = (code: string) => {\n const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;\n return re?.test(code);\n };\n\n const focusInputField = (dir: 'next' | 'prev', index: number) => {\n if (!manageFocus) {\n return;\n }\n\n if (dir === 'next') {\n const nextIndex = index + 1;\n if (nextIndex < currentLength) {\n inputsRef.current[nextIndex]?.focus();\n }\n } else if (dir === 'prev') {\n const prevIndex = index - 1;\n if (prevIndex >= 0) {\n inputsRef.current[prevIndex]?.focus();\n }\n }\n };\n\n const setFieldValue = (val: string, index: number) => {\n const values = [...currentValue];\n values[index] = val;\n setValues(values);\n return values;\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const inputValue = event.target.value;\n\n if (inputValue.length > 1) {\n const isPaste = inputValue.length > 2;\n if (isPaste) {\n const isValid = validate(inputValue);\n if (isValid) {\n setValues(createPinArray(currentLength, inputValue));\n const filledCount = Math.min(inputValue.length, currentLength);\n if (filledCount < currentLength) {\n focusInputField('next', filledCount - 1);\n }\n }\n return;\n }\n\n const newChar = inputValue.split('')[inputValue.length - 1];\n if (validate(newChar)) {\n setFieldValue(newChar, index);\n focusInputField('next', index);\n }\n return;\n }\n\n if (inputValue.length === 1) {\n if (validate(inputValue)) {\n setFieldValue(inputValue, index);\n focusInputField('next', index);\n } else {\n setFieldValue('', index);\n }\n } else if (inputValue.length === 0) {\n setFieldValue('', index);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n const { ctrlKey, metaKey, key, shiftKey, target } = event;\n const inputValue = (target as HTMLInputElement).value;\n\n if (inputMode === 'numeric') {\n const allowedKeys = ['Backspace', 'Tab', 'Control', 'Delete', 'ArrowLeft', 'ArrowRight'];\n const isModifierShortcut = ctrlKey || metaKey;\n const isAllowedKey =\n allowedKeys.includes(key) || isModifierShortcut || !Number.isNaN(Number(key));\n\n if (!isAllowedKey) {\n event.preventDefault();\n return;\n }\n }\n\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n focusInputField('prev', index);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n focusInputField('next', index);\n break;\n\n case 'Tab':\n if (shiftKey) {\n if (index > 0 && manageFocus) {\n event.preventDefault();\n focusInputField('prev', index);\n }\n }\n break;\n\n case ' ':\n event.preventDefault();\n focusInputField('next', index);\n break;\n\n case 'Delete':\n event.preventDefault();\n setFieldValue('', index);\n break;\n\n case 'Backspace':\n if (inputValue === '') {\n event.preventDefault();\n focusInputField('prev', index);\n } else {\n setFieldValue('', index);\n if (index < currentLength - 1) {\n event.preventDefault();\n focusInputField('prev', index);\n }\n }\n break;\n\n default:\n if (inputValue.length > 0 && key === currentValue[index]) {\n event.preventDefault();\n focusInputField('next', index);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>, index: number) => {\n event.target.select();\n setFocusedIndex(index);\n };\n\n const handleBlur = () => {\n setFocusedIndex(-1);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n const pasteData = event.clipboardData.getData('text/plain').replace(/[\\n\\r\\s]+/g, '');\n const isValid = validate(pasteData.trim());\n\n if (isValid) {\n const pasteArray = createPinArray(currentLength, pasteData);\n setValues(pasteArray);\n const filledCount = pasteArray.filter((val) => val !== '').length;\n if (filledCount >= currentLength) {\n inputsRef.current[currentLength - 1]?.focus();\n } else {\n inputsRef.current[filledCount]?.focus();\n }\n }\n };\n\n return (\n <>\n <Group\n {...others}\n {...getStyles('root')}\n ref={rootRef}\n role=\"group\"\n id={uuid}\n gap={gap}\n unstyled={unstyled}\n wrap=\"nowrap\"\n variant={variant}\n __size={size}\n dir=\"ltr\"\n >\n {currentValue.map((char: string, index: number) => (\n <Input\n component=\"input\"\n {...getStyles('pinInput', {\n style: {\n '--input-padding': '0',\n '--input-text-align': 'center',\n } as React.CSSProperties,\n })}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n size={size}\n __staticSelector=\"PinInput\"\n id={`${uuid}-${index + 1}`}\n key={`${uuid}-${index}`}\n inputMode={inputMode || (type === 'number' ? 'numeric' : 'text')}\n onChange={(event) => handleChange(event, index)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n onFocus={(event) => handleFocus(event, index)}\n onBlur={handleBlur}\n onPaste={handlePaste}\n type={inputType || (mask ? 'password' : type === 'number' ? 'tel' : 'text')}\n radius={radius}\n error={error}\n success={success}\n variant={variant}\n disabled={disabled}\n ref={(node) => {\n if (node) {\n index === 0 && assignRef(ref, node);\n inputsRef.current[index] = node;\n }\n }}\n autoComplete={oneTimeCode ? 'one-time-code' : 'off'}\n placeholder={focusedIndex === index ? '' : placeholder}\n value={char}\n autoFocus={autoFocus && index === 0}\n unstyled={unstyled}\n aria-label={ariaLabel}\n readOnly={readOnly}\n {...getInputProps?.(index)}\n />\n ))}\n </Group>\n\n <input type=\"hidden\" name={name} form={form} value={_valueToString} {...hiddenInputProps} />\n </>\n );\n});\n\nPinInput.classes = { ...classes, ...InputBase.classes };\nPinInput.varsResolver = varsResolver;\nPinInput.displayName = '@mantine/core/PinInput';\n\nexport namespace PinInput {\n export type Props = PinInputProps;\n export type StylesNames = PinInputStylesNames;\n export type Factory = PinInputFactory;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-pin-array.cjs","names":[],"sources":["../../../../src/components/PinInput/create-pin-array/create-pin-array.ts"],"sourcesContent":["export function createPinArray(length: number, value: string): string[] {\n if (length < 1) {\n return [];\n }\n\n const values = new Array<string>(length).fill('');\n\n if (value) {\n const splitted = value.trim().split('');\n for (let i = 0; i < Math.min(length, splitted.length); i += 1) {\n values[i] = splitted[i] === ' ' ? '' : splitted[i];\n }\n }\n\n return values;\n}\n"],"mappings":";;AAAA,SAAgB,eAAe,QAAgB,OAAyB;CACtE,IAAI,SAAS,GACX,OAAO,CAAC;CAGV,MAAM,SAAS,IAAI,MAAc,MAAM,EAAE,KAAK,EAAE;CAEhD,IAAI,OAAO;EACT,MAAM,WAAW,MAAM,KAAK,EAAE,MAAM,EAAE;EACtC,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,QAAQ,SAAS,MAAM,GAAG,KAAK,GAC1D,OAAO,KAAK,SAAS,OAAO,MAAM,KAAK,SAAS;CAEpD;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"create-pin-array.cjs","names":[],"sources":["../../../../src/components/PinInput/create-pin-array/create-pin-array.ts"],"sourcesContent":["export function createPinArray(length: number, value: string): string[] {\n if (length < 1) {\n return [];\n }\n\n const values = new Array<string>(length).fill('');\n\n if (value) {\n const splitted = value.trim().split('');\n for (let i = 0; i < Math.min(length, splitted.length); i += 1) {\n values[i] = splitted[i] === ' ' ? '' : splitted[i];\n }\n }\n\n return values;\n}\n"],"mappings":";;AAAA,SAAgB,eAAe,QAAgB,OAAyB;CACtE,IAAI,SAAS,GACX,OAAO,CAAC;CAGV,MAAM,SAAS,IAAI,MAAc,MAAM,CAAC,CAAC,KAAK,EAAE;CAEhD,IAAI,OAAO;EACT,MAAM,WAAW,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;EACtC,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,QAAQ,SAAS,MAAM,GAAG,KAAK,GAC1D,OAAO,KAAK,SAAS,OAAO,MAAM,KAAK,SAAS;CAEpD;CAEA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","getShadow","useProps","useStyles","useResolvedStylesApi","useDirection","useMantineEnv","usePopover","getFloatingPosition","PopoverContextProvider","Transition","OptionalPortal","Overlay","PopoverTarget","PopoverDropdown","PopoverContextMenu"],"sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { useClickOutside, useId } from '@mantine/hooks';\nimport {\n createVarsResolver,\n ElementProps,\n ExtendComponent,\n Factory,\n getDefaultZIndex,\n getRadius,\n getShadow,\n MantineRadius,\n MantineShadow,\n StylesApiProps,\n useDirection,\n useMantineEnv,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport {\n ArrowPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n FloatingStrategy,\n getFloatingPosition,\n} from '../../utils/Floating';\nimport { Overlay, OverlayProps } from '../Overlay';\nimport { BasePortalProps, OptionalPortal } from '../Portal';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { PopoverContextProvider, PopoverContextValue } from './Popover.context';\nimport { PopoverMiddlewares, PopoverWidth } from './Popover.types';\nimport {\n PopoverContextMenu,\n PopoverContextMenuProps,\n} from './PopoverContextMenu/PopoverContextMenu';\nimport { PopoverDropdown, PopoverDropdownProps } from './PopoverDropdown/PopoverDropdown';\nimport { PopoverTarget, PopoverTargetProps } from './PopoverTarget/PopoverTarget';\nimport { usePopover } from './use-popover';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow' | 'overlay';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element @default 'bottom' */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element @default 8 */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?: (position: FloatingPosition) => void;\n\n /** Called when dropdown closes */\n onClose?: () => void;\n\n /** Called when the popover is dismissed by clicking outside or by pressing escape */\n onDismiss?: () => void;\n\n /** Called when dropdown opens */\n onOpen?: () => void;\n\n /** If set, the dropdown is not unmounted from the DOM when hidden. `display: none` styles are added instead. */\n keepMounted?: boolean;\n\n /**\n * Controls how the dropdown is hidden when `keepMounted` is set:\n * `'activity'` – hidden with React 19 `Activity` component,\n * `'display-none'` – hidden with `display: none` styles\n * @default 'activity'\n */\n keepMountedMode?: 'activity' | 'display-none';\n\n /** Props passed down to the `Transition` component. Use to configure duration and animation type. @default { duration: 150, transition: 'fade' } */\n transitionProps?: TransitionOverride;\n\n /** Called when exit transition ends */\n onExitTransitionEnd?: () => void;\n\n /** Called when enter transition ends */\n onEnterTransitionEnd?: () => void;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element @default 'max-content' */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling @default { flip: true, shift: true, inline: false } */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow @default false */\n withArrow?: boolean;\n\n /** Determines whether the overlay should be displayed when the dropdown is opened @default false */\n withOverlay?: boolean;\n\n /** Props passed down to `Overlay` component */\n overlayProps?: OverlayProps & ElementProps<'div'>;\n\n /** Arrow size in px @default 7 */\n arrowSize?: number;\n\n /** Arrow offset in px @default 5 */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px @default 0 */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal` @default true */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: BasePortalProps;\n\n /** Dropdown `z-index` @default 300 */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes @default false */\n returnFocus?: boolean;\n\n /** Changes floating ui [position strategy](https://floating-ui.com/docs/usefloating#strategy) @default 'absolute' */\n floatingStrategy?: FloatingStrategy;\n\n /** If set, the dropdown is hidden when the element is hidden with styles or not visible on the screen @default true */\n hideDetached?: boolean;\n\n /** If `true`, the dropdown picks its side on open (flip runs once, preferring the `position` prop) and then never changes side — scrolling, resizing, and content size changes will not flip the dropdown. The side is recalculated fresh on the next open. Does not affect the `shift` middleware. Set to `false` to keep flip active and allow the dropdown to re-flip on every change. @default true */\n preventPositionChangeWhenVisible?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?: (opened: boolean) => void;\n\n /** Determines whether dropdown should be closed on outside clicks @default true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown @default false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed @default true */\n closeOnEscape?: boolean;\n\n /** Id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles @default true */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps = {\n position: 'bottom',\n offset: 8,\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n withOverlay: false,\n hideDetached: true,\n preventPositionChangeWhenVisible: true,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n} satisfies Partial<PopoverProps>;\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': radius === undefined ? undefined : getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n opened,\n transitionProps,\n onExitTransitionEnd,\n onEnterTransitionEnd,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onDismiss,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n keepMountedMode,\n vars,\n floatingStrategy,\n withOverlay,\n overlayProps,\n hideDetached,\n attributes,\n preventPositionChangeWhenVisible,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const { resolvedStyles } = useResolvedStylesApi<PopoverFactory>({ classNames, styles, props });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n const env = useMantineEnv();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n onDismiss,\n strategy: floatingStrategy,\n disabled,\n preventPositionChangeWhenVisible,\n keepMounted,\n });\n\n useClickOutside(\n () => {\n if (closeOnClickOutside) {\n popover.onClose();\n onDismiss?.();\n }\n },\n clickOutsideEvents,\n [targetNode, dropdownNode]\n );\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n\n const onExited = useCallback(() => {\n transitionProps?.onExited?.();\n onExitTransitionEnd?.();\n popover.resetLockedPlacement();\n }, [transitionProps?.onExited, onExitTransitionEnd, popover.resetLockedPlacement]);\n\n const onEntered = useCallback(() => {\n transitionProps?.onEntered?.();\n onEnterTransitionEnd?.();\n }, [transitionProps?.onEntered, onEnterTransitionEnd]);\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps: { ...transitionProps, onExited, onEntered },\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onDismiss,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => uid,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n keepMountedMode,\n getStyles,\n resolvedStyles,\n floatingStrategy,\n referenceHidden:\n hideDetached && env !== 'test'\n ? popover.floating.middlewareData.hide?.referenceHidden\n : false,\n }}\n >\n {children}\n {withOverlay && (\n <Transition\n transition=\"fade\"\n mounted={popover.opened}\n duration={transitionProps?.duration || 250}\n exitDuration={transitionProps?.exitDuration || 250}\n >\n {(transitionStyles) => (\n <OptionalPortal withinPortal={withinPortal}>\n <Overlay\n {...overlayProps}\n {...getStyles('overlay', {\n className: overlayProps?.className,\n style: [transitionStyles, overlayProps?.style],\n })}\n />\n </OptionalPortal>\n )}\n </Transition>\n )}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.ContextMenu = PopoverContextMenu;\nPopover.varsResolver = varsResolver;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\nPopover.withProps = (fixedProps: Partial<PopoverProps>) => {\n const Extended = (props: PopoverProps) => <Popover {...fixedProps} {...props} />;\n Extended.extend = Popover.extend;\n Extended.displayName = `WithProps(${Popover.displayName})`;\n return Extended;\n};\n\nexport namespace Popover {\n export type Props = PopoverProps;\n export type __Props = __PopoverProps;\n export type Factory = PopoverFactory;\n export type StylesNames = PopoverStylesNames;\n export type TargetProps = PopoverTargetProps;\n export type DropdownProps = PopoverDropdownProps;\n export type Width = PopoverWidth;\n export type ContextValue = PopoverContextValue;\n\n export namespace Target {\n export type Props = PopoverTargetProps;\n }\n\n export namespace Dropdown {\n export type Props = PopoverDropdownProps;\n }\n\n export namespace ContextMenu {\n export type Props = PopoverContextMenuProps;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.cjs","names":["getDefaultZIndex","createVarsResolver","getRadius","getShadow","useProps","useStyles","useResolvedStylesApi","useDirection","useMantineEnv","usePopover","getFloatingPosition","PopoverContextProvider","Transition","OptionalPortal","Overlay","PopoverTarget","PopoverDropdown","PopoverContextMenu"],"sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { useClickOutside, useId } from '@mantine/hooks';\nimport {\n createVarsResolver,\n ElementProps,\n ExtendComponent,\n Factory,\n getDefaultZIndex,\n getRadius,\n getShadow,\n MantineRadius,\n MantineShadow,\n StylesApiProps,\n useDirection,\n useMantineEnv,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport {\n ArrowPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n FloatingStrategy,\n getFloatingPosition,\n} from '../../utils/Floating';\nimport { Overlay, OverlayProps } from '../Overlay';\nimport { BasePortalProps, OptionalPortal } from '../Portal';\nimport { Transition, TransitionOverride } from '../Transition';\nimport { PopoverContextProvider, PopoverContextValue } from './Popover.context';\nimport { PopoverMiddlewares, PopoverWidth } from './Popover.types';\nimport {\n PopoverContextMenu,\n PopoverContextMenuProps,\n} from './PopoverContextMenu/PopoverContextMenu';\nimport { PopoverDropdown, PopoverDropdownProps } from './PopoverDropdown/PopoverDropdown';\nimport { PopoverTarget, PopoverTargetProps } from './PopoverTarget/PopoverTarget';\nimport { usePopover } from './use-popover';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow' | 'overlay';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element @default 'bottom' */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element @default 8 */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?: (position: FloatingPosition) => void;\n\n /** Called when dropdown closes */\n onClose?: () => void;\n\n /** Called when the popover is dismissed by clicking outside or by pressing escape */\n onDismiss?: () => void;\n\n /** Called when dropdown opens */\n onOpen?: () => void;\n\n /** If set, the dropdown is not unmounted from the DOM when hidden. `display: none` styles are added instead. */\n keepMounted?: boolean;\n\n /**\n * Controls how the dropdown is hidden when `keepMounted` is set:\n * `'activity'` – hidden with React 19 `Activity` component,\n * `'display-none'` – hidden with `display: none` styles\n * @default 'activity'\n */\n keepMountedMode?: 'activity' | 'display-none';\n\n /** Props passed down to the `Transition` component. Use to configure duration and animation type. @default { duration: 150, transition: 'fade' } */\n transitionProps?: TransitionOverride;\n\n /** Called when exit transition ends */\n onExitTransitionEnd?: () => void;\n\n /** Called when enter transition ends */\n onEnterTransitionEnd?: () => void;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element @default 'max-content' */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling @default { flip: true, shift: true, inline: false } */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow @default false */\n withArrow?: boolean;\n\n /** Determines whether the overlay should be displayed when the dropdown is opened @default false */\n withOverlay?: boolean;\n\n /** Props passed down to `Overlay` component */\n overlayProps?: OverlayProps & ElementProps<'div'>;\n\n /** Arrow size in px @default 7 */\n arrowSize?: number;\n\n /** Arrow offset in px @default 5 */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px @default 0 */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal` @default true */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: BasePortalProps;\n\n /** Dropdown `z-index` @default 300 */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes @default false */\n returnFocus?: boolean;\n\n /** Changes floating ui [position strategy](https://floating-ui.com/docs/usefloating#strategy) @default 'absolute' */\n floatingStrategy?: FloatingStrategy;\n\n /** If set, the dropdown is hidden when the element is hidden with styles or not visible on the screen @default true */\n hideDetached?: boolean;\n\n /** If `true`, the dropdown picks its side on open (flip runs once, preferring the `position` prop) and then never changes side — scrolling, resizing, and content size changes will not flip the dropdown. The side is recalculated fresh on the next open. Does not affect the `shift` middleware. Set to `false` to keep flip active and allow the dropdown to re-flip on every change. @default true */\n preventPositionChangeWhenVisible?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?: (opened: boolean) => void;\n\n /** Determines whether dropdown should be closed on outside clicks @default true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown @default false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed @default true */\n closeOnEscape?: boolean;\n\n /** Id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles @default true */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps = {\n position: 'bottom',\n offset: 8,\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n withOverlay: false,\n hideDetached: true,\n preventPositionChangeWhenVisible: true,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n} satisfies Partial<PopoverProps>;\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': radius === undefined ? undefined : getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n opened,\n transitionProps,\n onExitTransitionEnd,\n onEnterTransitionEnd,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onDismiss,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n keepMountedMode,\n vars,\n floatingStrategy,\n withOverlay,\n overlayProps,\n hideDetached,\n attributes,\n preventPositionChangeWhenVisible,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const { resolvedStyles } = useResolvedStylesApi<PopoverFactory>({ classNames, styles, props });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n const env = useMantineEnv();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n onDismiss,\n strategy: floatingStrategy,\n disabled,\n preventPositionChangeWhenVisible,\n keepMounted,\n });\n\n useClickOutside(\n () => {\n if (closeOnClickOutside) {\n popover.onClose();\n onDismiss?.();\n }\n },\n clickOutsideEvents,\n [targetNode, dropdownNode]\n );\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n\n const onExited = useCallback(() => {\n transitionProps?.onExited?.();\n onExitTransitionEnd?.();\n popover.resetLockedPlacement();\n }, [transitionProps?.onExited, onExitTransitionEnd, popover.resetLockedPlacement]);\n\n const onEntered = useCallback(() => {\n transitionProps?.onEntered?.();\n onEnterTransitionEnd?.();\n }, [transitionProps?.onEntered, onEnterTransitionEnd]);\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps: { ...transitionProps, onExited, onEntered },\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onDismiss,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => uid,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n keepMountedMode,\n getStyles,\n resolvedStyles,\n floatingStrategy,\n referenceHidden:\n hideDetached && env !== 'test'\n ? popover.floating.middlewareData.hide?.referenceHidden\n : false,\n }}\n >\n {children}\n {withOverlay && (\n <Transition\n transition=\"fade\"\n mounted={popover.opened}\n duration={transitionProps?.duration || 250}\n exitDuration={transitionProps?.exitDuration || 250}\n >\n {(transitionStyles) => (\n <OptionalPortal withinPortal={withinPortal}>\n <Overlay\n {...overlayProps}\n {...getStyles('overlay', {\n className: overlayProps?.className,\n style: [transitionStyles, overlayProps?.style],\n })}\n />\n </OptionalPortal>\n )}\n </Transition>\n )}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.ContextMenu = PopoverContextMenu;\nPopover.varsResolver = varsResolver;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\nPopover.withProps = (fixedProps: Partial<PopoverProps>) => {\n const Extended = (props: PopoverProps) => <Popover {...fixedProps} {...props} />;\n Extended.extend = Popover.extend;\n Extended.displayName = `WithProps(${Popover.displayName})`;\n return Extended;\n};\n\nexport namespace Popover {\n export type Props = PopoverProps;\n export type __Props = __PopoverProps;\n export type Factory = PopoverFactory;\n export type StylesNames = PopoverStylesNames;\n export type TargetProps = PopoverTargetProps;\n export type DropdownProps = PopoverDropdownProps;\n export type Width = PopoverWidth;\n export type ContextValue = PopoverContextValue;\n\n export namespace Target {\n export type Props = PopoverTargetProps;\n }\n\n export namespace Dropdown {\n export type Props = PopoverDropdownProps;\n }\n\n export namespace ContextMenu {\n export type Props = PopoverContextMenuProps;\n }\n}\n"],"mappings":"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"}