@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.
- package/cjs/components/Accordion/Accordion.cjs +1 -0
- package/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/cjs/components/Accordion/Accordion.context.cjs.map +1 -1
- package/cjs/components/Accordion/AccordionChevron.cjs.map +1 -1
- package/cjs/components/Accordion/AccordionControl/AccordionControl.cjs.map +1 -1
- package/cjs/components/Accordion/AccordionItem/AccordionItem.cjs.map +1 -1
- package/cjs/components/Accordion/AccordionItem.context.cjs.map +1 -1
- package/cjs/components/Accordion/AccordionPanel/AccordionPanel.cjs.map +1 -1
- package/cjs/components/ActionIcon/ActionIcon.cjs +1 -0
- package/cjs/components/ActionIcon/ActionIcon.cjs.map +1 -1
- package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs +1 -1
- package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.cjs.map +1 -1
- package/cjs/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.cjs.map +1 -1
- package/cjs/components/Affix/Affix.cjs.map +1 -1
- package/cjs/components/Alert/Alert.cjs.map +1 -1
- package/cjs/components/Anchor/Anchor.cjs.map +1 -1
- package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
- package/cjs/components/AppShell/AppShell.cjs.map +1 -1
- package/cjs/components/AppShell/AppShell.context.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellAside/AppShellAside.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellFooter/AppShellFooter.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellHeader/AppShellHeader.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMain/AppShellMain.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellNavbar/AppShellNavbar.cjs.map +1 -1
- package/cjs/components/AppShell/AppShellSection/AppShellSection.cjs.map +1 -1
- package/cjs/components/AppShell/use-resizing/use-resizing.cjs.map +1 -1
- package/cjs/components/AspectRatio/AspectRatio.cjs.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
- package/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
- package/cjs/components/Avatar/AvatarPlaceholderIcon.cjs.map +1 -1
- package/cjs/components/Avatar/get-initials/get-initials.cjs.map +1 -1
- package/cjs/components/BackgroundImage/BackgroundImage.cjs.map +1 -1
- package/cjs/components/Badge/Badge.cjs.map +1 -1
- package/cjs/components/Blockquote/Blockquote.cjs.map +1 -1
- package/cjs/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/cjs/components/Burger/Burger.cjs.map +1 -1
- package/cjs/components/Button/Button.cjs.map +1 -1
- package/cjs/components/Button/ButtonGroup/ButtonGroup.cjs.map +1 -1
- package/cjs/components/Button/ButtonGroupSection/ButtonGroupSection.cjs.map +1 -1
- package/cjs/components/Card/Card.cjs.map +1 -1
- package/cjs/components/Card/Card.context.cjs.map +1 -1
- package/cjs/components/Card/CardSection/CardSection.cjs.map +1 -1
- package/cjs/components/Center/Center.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckIcon.cjs.map +1 -1
- package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckboxCard/CheckboxCard.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
- package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
- package/cjs/components/Chip/Chip.cjs.map +1 -1
- package/cjs/components/Chip/ChipGroup/ChipGroup.cjs.map +1 -1
- package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
- package/cjs/components/CloseButton/CloseIcon.cjs.map +1 -1
- package/cjs/components/Code/Code.cjs.map +1 -1
- package/cjs/components/Collapse/Collapse.cjs.map +1 -1
- package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
- package/cjs/components/ColorInput/EyeDropperIcon.cjs.map +1 -1
- package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.cjs.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.context.cjs.map +1 -1
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.cjs.map +1 -1
- package/cjs/components/ColorPicker/HueSlider/HueSlider.cjs.map +1 -1
- package/cjs/components/ColorPicker/Saturation/Saturation.cjs.map +1 -1
- package/cjs/components/ColorPicker/Swatches/Swatches.cjs.map +1 -1
- package/cjs/components/ColorPicker/Thumb/Thumb.cjs.map +1 -1
- package/cjs/components/ColorPicker/converters/converters.cjs.map +1 -1
- package/cjs/components/ColorPicker/converters/parsers.cjs.map +1 -1
- package/cjs/components/ColorSwatch/ColorSwatch.cjs.map +1 -1
- package/cjs/components/Combobox/Combobox.cjs.map +1 -1
- package/cjs/components/Combobox/Combobox.context.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxDropdown/ComboboxDropdown.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxDropdownTarget/ComboboxDropdownTarget.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxEmpty/ComboboxEmpty.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs +3 -2
- package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxHiddenInput/ComboboxHiddenInput.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxOption/ComboboxOption.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs +2 -2
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.cjs.map +1 -1
- package/cjs/components/Combobox/OptionsDropdown/default-options-filter.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox/get-index/get-index.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
- package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -1
- package/cjs/components/ComboboxPopover/ComboboxPopover.cjs +218 -0
- package/cjs/components/ComboboxPopover/ComboboxPopover.cjs.map +1 -0
- package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs +45 -0
- package/cjs/components/ComboboxPopover/ComboboxPopoverTarget.cjs.map +1 -0
- package/cjs/components/Container/Container.cjs.map +1 -1
- package/cjs/components/CopyButton/CopyButton.cjs.map +1 -1
- package/cjs/components/DataList/DataList.cjs +61 -0
- package/cjs/components/DataList/DataList.cjs.map +1 -0
- package/cjs/components/DataList/DataList.context.cjs +8 -0
- package/cjs/components/DataList/DataList.context.cjs.map +1 -0
- package/cjs/components/DataList/DataList.module.cjs +12 -0
- package/cjs/components/DataList/DataList.module.cjs.map +1 -0
- package/cjs/components/DataList/DataListItem/DataListItem.cjs +32 -0
- package/cjs/components/DataList/DataListItem/DataListItem.cjs.map +1 -0
- package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs +33 -0
- package/cjs/components/DataList/DataListItemLabel/DataListItemLabel.cjs.map +1 -0
- package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs +33 -0
- package/cjs/components/DataList/DataListItemValue/DataListItemValue.cjs.map +1 -0
- package/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/cjs/components/Divider/Divider.cjs.map +1 -1
- package/cjs/components/Drawer/Drawer.cjs.map +1 -1
- package/cjs/components/Drawer/Drawer.context.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerBody.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerCloseButton.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerContent.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerHeader.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerOverlay.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
- package/cjs/components/Drawer/DrawerTitle.cjs.map +1 -1
- package/cjs/components/EmptyState/EmptyState.cjs +102 -0
- package/cjs/components/EmptyState/EmptyState.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyState.context.cjs +8 -0
- package/cjs/components/EmptyState/EmptyState.context.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyState.module.cjs +14 -0
- package/cjs/components/EmptyState/EmptyState.module.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs +28 -0
- package/cjs/components/EmptyState/EmptyStateActions/EmptyStateActions.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs +29 -0
- package/cjs/components/EmptyState/EmptyStateDescription/EmptyStateDescription.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs +29 -0
- package/cjs/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.cjs.map +1 -0
- package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs +30 -0
- package/cjs/components/EmptyState/EmptyStateTitle/EmptyStateTitle.cjs.map +1 -0
- package/cjs/components/Fieldset/Fieldset.cjs.map +1 -1
- package/cjs/components/FileButton/FileButton.cjs.map +1 -1
- package/cjs/components/FileInput/FileInput.cjs.map +1 -1
- package/cjs/components/Flex/Flex.cjs.map +1 -1
- package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
- package/cjs/components/FloatingIndicator/use-floating-indicator.cjs.map +1 -1
- package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
- package/cjs/components/FocusTrap/FocusTrap.cjs.map +1 -1
- package/cjs/components/Grid/Grid.cjs.map +1 -1
- package/cjs/components/Grid/Grid.context.cjs.map +1 -1
- package/cjs/components/Grid/GridCol/GridCol.cjs.map +1 -1
- package/cjs/components/Grid/GridCol/GridColVariables.cjs.map +1 -1
- package/cjs/components/Grid/GridVariables.cjs.map +1 -1
- package/cjs/components/Group/Group.cjs.map +1 -1
- package/cjs/components/Group/filter-falsy-children/filter-falsy-children.cjs.map +1 -1
- package/cjs/components/Highlight/Highlight.cjs.map +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCard.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCard.context.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCardDropdown/HoverCardDropdown.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCardGroup/HoverCardGroup.cjs.map +1 -1
- package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.cjs.map +1 -1
- package/cjs/components/HoverCard/use-hover-card.cjs.map +1 -1
- package/cjs/components/Image/Image.cjs.map +1 -1
- package/cjs/components/Indicator/Indicator.cjs.map +1 -1
- package/cjs/components/Input/Input.cjs +7 -2
- package/cjs/components/Input/Input.cjs.map +1 -1
- package/cjs/components/Input/Input.context.cjs.map +1 -1
- package/cjs/components/Input/Input.module.cjs +1 -0
- package/cjs/components/Input/Input.module.cjs.map +1 -1
- package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -1
- package/cjs/components/Input/InputClearSection/InputClearSection.cjs.map +1 -1
- package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
- package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
- package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
- package/cjs/components/Input/InputPlaceholder/InputPlaceholder.cjs.map +1 -1
- package/cjs/components/Input/InputSuccess/InputSuccess.cjs +48 -0
- package/cjs/components/Input/InputSuccess/InputSuccess.cjs.map +1 -0
- package/cjs/components/Input/InputWrapper/InputWrapper.cjs +22 -5
- package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
- package/cjs/components/Input/InputWrapper.context.cjs.map +1 -1
- package/cjs/components/Input/use-input-props.cjs +4 -1
- package/cjs/components/Input/use-input-props.cjs.map +1 -1
- package/cjs/components/InputBase/InputBase.cjs.map +1 -1
- package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
- package/cjs/components/JsonInput/validate-json/validate-json.cjs.map +1 -1
- package/cjs/components/Kbd/Kbd.cjs.map +1 -1
- package/cjs/components/List/List.cjs.map +1 -1
- package/cjs/components/List/List.context.cjs.map +1 -1
- package/cjs/components/List/ListItem/ListItem.cjs.map +1 -1
- package/cjs/components/Loader/Loader.cjs.map +1 -1
- package/cjs/components/Loader/loaders/Bars.cjs.map +1 -1
- package/cjs/components/Loader/loaders/Dots.cjs.map +1 -1
- package/cjs/components/Loader/loaders/Oval.cjs.map +1 -1
- package/cjs/components/LoadingOverlay/LoadingOverlay.cjs.map +1 -1
- package/cjs/components/Mark/Mark.cjs.map +1 -1
- package/cjs/components/Marquee/Marquee.cjs.map +1 -1
- package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
- package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
- package/cjs/components/Menu/Menu.cjs.map +1 -1
- package/cjs/components/Menu/Menu.context.cjs.map +1 -1
- package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.cjs.map +1 -1
- package/cjs/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.context.cjs.map +1 -1
- package/cjs/components/Menu/MenuCheckboxItem/MenuCheckboxItem.cjs.map +1 -1
- package/cjs/components/Menu/MenuContextMenu/MenuContextMenu.cjs.map +1 -1
- package/cjs/components/Menu/MenuDivider/MenuDivider.cjs.map +1 -1
- package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.cjs.map +1 -1
- package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.cjs.map +1 -1
- package/cjs/components/Menu/MenuRadioGroup/MenuRadioGroup.context.cjs.map +1 -1
- package/cjs/components/Menu/MenuRadioItem/MenuRadioItem.cjs.map +1 -1
- package/cjs/components/Menu/MenuSearch/MenuSearch.cjs.map +1 -1
- package/cjs/components/Menu/MenuSelectableItem/MenuSelectableItem.cjs.map +1 -1
- package/cjs/components/Menu/MenuSub/MenuSub.cjs.map +1 -1
- package/cjs/components/Menu/MenuSub/MenuSub.context.cjs.map +1 -1
- package/cjs/components/Menu/MenuSubDropdown/MenuSubDropdown.cjs.map +1 -1
- package/cjs/components/Menu/MenuSubItem/MenuSubItem.cjs.map +1 -1
- package/cjs/components/Menu/MenuSubTarget/MenuSubTarget.cjs.map +1 -1
- package/cjs/components/Menu/MenuTarget/MenuTarget.cjs.map +1 -1
- package/cjs/components/Menu/use-menu-type-ahead.cjs.map +1 -1
- package/cjs/components/Menubar/Menubar.cjs +146 -0
- package/cjs/components/Menubar/Menubar.cjs.map +1 -0
- package/cjs/components/Menubar/Menubar.context.cjs +12 -0
- package/cjs/components/Menubar/Menubar.context.cjs.map +1 -0
- package/cjs/components/Menubar/Menubar.module.cjs +10 -0
- package/cjs/components/Menubar/Menubar.module.cjs.map +1 -0
- package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs +61 -0
- package/cjs/components/Menubar/MenubarDropdown/MenubarDropdown.cjs.map +1 -0
- package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs +59 -0
- package/cjs/components/Menubar/MenubarMenu/MenubarMenu.cjs.map +1 -0
- package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs +143 -0
- package/cjs/components/Menubar/MenubarTarget/MenubarTarget.cjs.map +1 -0
- package/cjs/components/Modal/Modal.cjs.map +1 -1
- package/cjs/components/Modal/Modal.context.cjs.map +1 -1
- package/cjs/components/Modal/ModalBody.cjs.map +1 -1
- package/cjs/components/Modal/ModalCloseButton.cjs.map +1 -1
- package/cjs/components/Modal/ModalContent.cjs.map +1 -1
- package/cjs/components/Modal/ModalHeader.cjs.map +1 -1
- package/cjs/components/Modal/ModalOverlay.cjs.map +1 -1
- package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
- package/cjs/components/Modal/ModalStack.cjs.map +1 -1
- package/cjs/components/Modal/ModalTitle.cjs.map +1 -1
- package/cjs/components/Modal/use-modals-stack.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBase.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBase.context.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseBody.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseCloseButton.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseContent.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseHeader.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseOverlay.cjs.map +1 -1
- package/cjs/components/ModalBase/ModalBaseTitle.cjs.map +1 -1
- package/cjs/components/ModalBase/NativeScrollArea.cjs.map +1 -1
- package/cjs/components/ModalBase/use-lock-scroll.cjs.map +1 -1
- package/cjs/components/ModalBase/use-modal-body-id.cjs.map +1 -1
- package/cjs/components/ModalBase/use-modal-title-id.cjs.map +1 -1
- package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.cjs +4 -1
- package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
- package/cjs/components/MultiSelect/filter-picked-values.cjs.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
- package/cjs/components/NativeSelect/NativeSelectOption.cjs.map +1 -1
- package/cjs/components/NavLink/NavLink.cjs.map +1 -1
- package/cjs/components/Notification/Notification.cjs.map +1 -1
- package/cjs/components/NumberFormatter/NumberFormatter.cjs.map +1 -1
- package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
- package/cjs/components/NumberInput/NumberInputChevron.cjs.map +1 -1
- package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
- package/cjs/components/OverflowList/get-row-position-data.cjs.map +1 -1
- package/cjs/components/OverflowList/use-dimensions.cjs.map +1 -1
- package/cjs/components/Overlay/Overlay.cjs.map +1 -1
- package/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/cjs/components/Pagination/Pagination.context.cjs.map +1 -1
- package/cjs/components/Pagination/Pagination.icons.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationControl/PaginationControl.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationDots/PaginationDots.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationItems/PaginationItems.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +1 -1
- package/cjs/components/Pagination/PaginationRoot/PaginationRoot.cjs.map +1 -1
- package/cjs/components/Paper/Paper.cjs.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.cjs +11 -2
- package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/cjs/components/PasswordInput/PasswordToggleIcon.cjs.map +1 -1
- package/cjs/components/Pill/Pill.cjs.map +1 -1
- package/cjs/components/Pill/PillGroup/PillGroup.cjs.map +1 -1
- package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
- package/cjs/components/PillsInput/PillsInput.context.cjs.map +1 -1
- package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
- package/cjs/components/PinInput/PinInput.cjs +2 -1
- package/cjs/components/PinInput/PinInput.cjs.map +1 -1
- package/cjs/components/PinInput/create-pin-array/create-pin-array.cjs.map +1 -1
- package/cjs/components/Popover/Popover.cjs.map +1 -1
- package/cjs/components/Popover/Popover.context.cjs.map +1 -1
- package/cjs/components/Popover/PopoverContextMenu/PopoverContextMenu.cjs.map +1 -1
- package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
- package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
- package/cjs/components/Popover/use-popover.cjs.map +1 -1
- package/cjs/components/Portal/OptionalPortal.cjs.map +1 -1
- package/cjs/components/Portal/Portal.cjs.map +1 -1
- package/cjs/components/Progress/Progress.cjs.map +1 -1
- package/cjs/components/Progress/Progress.context.cjs.map +1 -1
- package/cjs/components/Progress/ProgressLabel/ProgressLabel.cjs.map +1 -1
- package/cjs/components/Progress/ProgressRoot/ProgressRoot.cjs.map +1 -1
- package/cjs/components/Progress/ProgressSection/ProgressSection.cjs.map +1 -1
- package/cjs/components/Radio/Radio.cjs.map +1 -1
- package/cjs/components/Radio/RadioCard/RadioCard.cjs.map +1 -1
- package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
- package/cjs/components/Radio/RadioIcon.cjs.map +1 -1
- package/cjs/components/Radio/RadioIndicator/RadioIndicator.cjs.map +1 -1
- package/cjs/components/Rating/Rating.cjs.map +1 -1
- package/cjs/components/Rating/Rating.context.cjs.map +1 -1
- package/cjs/components/Rating/RatingItem/RatingItem.cjs.map +1 -1
- package/cjs/components/Rating/StarSymbol/StarIcon.cjs.map +1 -1
- package/cjs/components/Rating/StarSymbol/StarSymbol.cjs.map +1 -1
- package/cjs/components/RingProgress/Curve/Curve.cjs.map +1 -1
- package/cjs/components/RingProgress/RingProgress.cjs.map +1 -1
- package/cjs/components/RingProgress/get-curves/get-curves.cjs.map +1 -1
- package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -1
- package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -1
- package/cjs/components/RollingNumber/get-digit-parts.cjs.map +1 -1
- package/cjs/components/RollingNumber/get-render-slots.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.context.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaRoot/ScrollAreaRoot.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarHover.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarScroll.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollbarY.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs +1 -0
- package/cjs/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.cjs.map +1 -1
- package/cjs/components/ScrollArea/use-resize-observer.cjs.map +1 -1
- package/cjs/components/ScrollArea/utils/add-unlinked-scroll-listener.cjs.map +1 -1
- package/cjs/components/ScrollArea/utils/get-scroll-position-from-pointer.cjs.map +1 -1
- package/cjs/components/ScrollArea/utils/get-thumb-offset-from-scroll.cjs.map +1 -1
- package/cjs/components/Scroller/Scroller.cjs.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/cjs/components/Select/Select.cjs.map +1 -1
- package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs +4 -1
- package/cjs/components/SemiCircleProgress/SemiCircleProgress.cjs.map +1 -1
- package/cjs/components/SemiCircleProgress/SemiCircleProgress.module.cjs.map +1 -1
- package/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
- package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
- package/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
- package/cjs/components/Slider/Marks/Marks.cjs.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
- package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
- package/cjs/components/Slider/Slider.context.cjs.map +1 -1
- package/cjs/components/Slider/SliderRoot/SliderRoot.cjs.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.cjs.map +1 -1
- package/cjs/components/Slider/Track/Track.cjs.map +1 -1
- package/cjs/components/Slider/utils/get-precision/get-precision.cjs.map +1 -1
- package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
- package/cjs/components/Space/Space.cjs.map +1 -1
- package/cjs/components/Splitter/GripIcon.cjs.map +1 -1
- package/cjs/components/Splitter/Splitter.cjs +22 -1
- package/cjs/components/Splitter/Splitter.cjs.map +1 -1
- package/cjs/components/Splitter/Splitter.context.cjs.map +1 -1
- package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs +1 -2
- package/cjs/components/Splitter/SplitterPane/SplitterPane.cjs.map +1 -1
- package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
- package/cjs/components/Stack/Stack.cjs.map +1 -1
- package/cjs/components/Stepper/Stepper.cjs.map +1 -1
- package/cjs/components/Stepper/Stepper.context.cjs.map +1 -1
- package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
- package/cjs/components/Switch/Switch.cjs.map +1 -1
- package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
- package/cjs/components/Table/Table.cjs.map +1 -1
- package/cjs/components/Table/Table.components.cjs.map +1 -1
- package/cjs/components/Table/Table.context.cjs.map +1 -1
- package/cjs/components/Table/TableDataRenderer.cjs.map +1 -1
- package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
- package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -1
- package/cjs/components/Tabs/Tabs.cjs +16 -1
- package/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/cjs/components/Tabs/Tabs.context.cjs.map +1 -1
- package/cjs/components/Tabs/TabsList/TabsList.cjs.map +1 -1
- package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs +6 -0
- package/cjs/components/Tabs/TabsPanel/TabsPanel.cjs.map +1 -1
- package/cjs/components/Tabs/TabsTab/TabsTab.cjs +1 -1
- package/cjs/components/Tabs/TabsTab/TabsTab.cjs.map +1 -1
- package/cjs/components/TagsInput/TagsInput.cjs +4 -1
- package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/cjs/components/TagsInput/filter-picked-tags.cjs.map +1 -1
- package/cjs/components/TagsInput/get-splitted-tags.cjs.map +1 -1
- package/cjs/components/Text/Text.cjs.map +1 -1
- package/cjs/components/TextInput/TextInput.cjs.map +1 -1
- package/cjs/components/Textarea/Autosize.cjs.map +1 -1
- package/cjs/components/Textarea/Textarea.cjs.map +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.cjs.map +1 -1
- package/cjs/components/Timeline/Timeline.cjs.map +1 -1
- package/cjs/components/Timeline/Timeline.context.cjs.map +1 -1
- package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
- package/cjs/components/Title/Title.cjs.map +1 -1
- package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.cjs.map +1 -1
- package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.cjs.map +1 -1
- package/cjs/components/Tooltip/TooltipGroup/TooltipGroup.cjs.map +1 -1
- package/cjs/components/Tooltip/use-tooltip.cjs.map +1 -1
- package/cjs/components/Transition/Transition.cjs.map +1 -1
- package/cjs/components/Transition/get-transition-styles/get-transition-styles.cjs.map +1 -1
- package/cjs/components/Transition/use-transition.cjs.map +1 -1
- package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
- package/cjs/components/Tree/Tree.cjs.map +1 -1
- package/cjs/components/Tree/TreeNode.cjs.map +1 -1
- package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +1 -1
- package/cjs/components/Tree/is-node-checked/is-node-checked.cjs.map +1 -1
- package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs.map +1 -1
- package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
- package/cjs/components/Tree/use-tree.cjs.map +1 -1
- package/cjs/components/TreeSelect/TreeSelect.cjs +7 -1
- package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
- package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -1
- package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -1
- package/cjs/components/Typography/Typography.cjs.map +1 -1
- package/cjs/components/UnstyledButton/UnstyledButton.cjs.map +1 -1
- package/cjs/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
- package/cjs/core/Box/Box.cjs.map +1 -1
- package/cjs/core/Box/get-box-mod/get-box-mod.cjs.map +1 -1
- package/cjs/core/Box/get-box-style/get-box-style.cjs.map +1 -1
- package/cjs/core/Box/get-style-object/get-style-object.cjs.map +1 -1
- package/cjs/core/Box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
- package/cjs/core/Box/style-props/parse-style-props/sort-media-queries.cjs.map +1 -1
- package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
- package/cjs/core/Box/use-random-classname/use-random-classname.cjs.map +1 -1
- package/cjs/core/DirectionProvider/DirectionProvider.cjs.map +1 -1
- package/cjs/core/InlineStyles/InlineStyles.cjs.map +1 -1
- package/cjs/core/InlineStyles/css-object-to-string/css-object-to-string.cjs.map +1 -1
- package/cjs/core/InlineStyles/hash-styles.cjs.map +1 -1
- package/cjs/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.cjs.map +1 -1
- package/cjs/core/MantineProvider/Mantine.context.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineClasses/MantineClasses.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs +5 -1
- package/cjs/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/get-css-color-variables.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/remove-default-variables.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs +3 -1
- package/cjs/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineProvider.cjs.map +1 -1
- package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
- package/cjs/core/MantineProvider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -1
- package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs +3 -1
- package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
- package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs +19 -3
- package/cjs/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -1
- package/cjs/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
- package/cjs/core/MantineProvider/color-functions/to-rgba/to-rgba.cjs.map +1 -1
- package/cjs/core/MantineProvider/convert-css-variables/convert-css-variables.cjs.map +1 -1
- package/cjs/core/MantineProvider/convert-css-variables/css-variables-object-to-string.cjs.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.cjs.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.cjs.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
- package/cjs/core/MantineProvider/use-props/use-props.cjs.map +1 -1
- package/cjs/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -1
- package/cjs/core/factory/factory.cjs.map +1 -1
- package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-class-name.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-style/get-style.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/use-transformed-styles.cjs.map +1 -1
- package/cjs/core/utils/create-safe-context/create-safe-context.cjs.map +1 -1
- package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs +3 -5
- package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.cjs.map +1 -1
- package/cjs/core/utils/create-use-external-events/create-use-external-events.cjs.map +1 -1
- package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -1
- package/cjs/core/utils/filter-props/filter-props.cjs.map +1 -1
- package/cjs/core/utils/get-context-item-index/get-context-item-index.cjs.map +1 -1
- package/cjs/core/utils/get-safe-id/get-safe-id.cjs.map +1 -1
- package/cjs/core/utils/is-number-like/is-number-like.cjs.map +1 -1
- package/cjs/core/utils/units-converters/px.cjs.map +1 -1
- package/cjs/core/utils/units-converters/rem.cjs.map +1 -1
- package/cjs/core/utils/use-hovered/use-hovered.cjs.map +1 -1
- package/cjs/index.cjs +42 -2
- package/cjs/utils/Floating/FloatingArrow/FloatingArrow.cjs.map +1 -1
- package/cjs/utils/Floating/use-context-menu-handlers.cjs.map +1 -1
- package/cjs/utils/Floating/use-delayed-hover.cjs.map +1 -1
- package/cjs/utils/InlineInput/InlineInput.cjs.map +1 -1
- package/cjs/utils/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
- package/esm/components/Accordion/Accordion.mjs +1 -0
- package/esm/components/Accordion/Accordion.mjs.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.mjs +1 -0
- package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
- package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs +1 -1
- package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
- package/esm/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.mjs.map +1 -1
- package/esm/components/AppShell/AppShellFooter/AppShellFooter.mjs.map +1 -1
- package/esm/components/AppShell/AppShellHeader/AppShellHeader.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMain/AppShellMain.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-footer-variables/assign-footer-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-navbar-variables/assign-navbar-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs.map +1 -1
- package/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs.map +1 -1
- package/esm/components/AspectRatio/AspectRatio.mjs.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
- package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
- package/esm/components/Avatar/get-initials/get-initials.mjs.map +1 -1
- package/esm/components/BackgroundImage/BackgroundImage.mjs.map +1 -1
- package/esm/components/Blockquote/Blockquote.mjs.map +1 -1
- package/esm/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/esm/components/Button/ButtonGroup/ButtonGroup.mjs.map +1 -1
- package/esm/components/Button/ButtonGroupSection/ButtonGroupSection.mjs.map +1 -1
- package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
- package/esm/components/Collapse/Collapse.mjs.map +1 -1
- package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
- package/esm/components/ColorPicker/converters/converters.mjs.map +1 -1
- package/esm/components/ColorPicker/converters/parsers.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxEmpty/ComboboxEmpty.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs +3 -2
- package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs +2 -2
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
- package/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox/get-index/get-index.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
- package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs.map +1 -1
- package/esm/components/ComboboxPopover/ComboboxPopover.mjs +216 -0
- package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -0
- package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs +45 -0
- package/esm/components/ComboboxPopover/ComboboxPopoverTarget.mjs.map +1 -0
- package/esm/components/DataList/DataList.context.mjs +8 -0
- package/esm/components/DataList/DataList.context.mjs.map +1 -0
- package/esm/components/DataList/DataList.mjs +61 -0
- package/esm/components/DataList/DataList.mjs.map +1 -0
- package/esm/components/DataList/DataList.module.mjs +12 -0
- package/esm/components/DataList/DataList.module.mjs.map +1 -0
- package/esm/components/DataList/DataListItem/DataListItem.mjs +32 -0
- package/esm/components/DataList/DataListItem/DataListItem.mjs.map +1 -0
- package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs +33 -0
- package/esm/components/DataList/DataListItemLabel/DataListItemLabel.mjs.map +1 -0
- package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs +33 -0
- package/esm/components/DataList/DataListItemValue/DataListItemValue.mjs.map +1 -0
- package/esm/components/Drawer/DrawerBody.mjs.map +1 -1
- package/esm/components/Drawer/DrawerCloseButton.mjs.map +1 -1
- package/esm/components/Drawer/DrawerHeader.mjs.map +1 -1
- package/esm/components/Drawer/DrawerOverlay.mjs.map +1 -1
- package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
- package/esm/components/Drawer/DrawerTitle.mjs.map +1 -1
- package/esm/components/EmptyState/EmptyState.context.mjs +8 -0
- package/esm/components/EmptyState/EmptyState.context.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyState.mjs +102 -0
- package/esm/components/EmptyState/EmptyState.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyState.module.mjs +14 -0
- package/esm/components/EmptyState/EmptyState.module.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs +28 -0
- package/esm/components/EmptyState/EmptyStateActions/EmptyStateActions.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs +29 -0
- package/esm/components/EmptyState/EmptyStateDescription/EmptyStateDescription.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs +29 -0
- package/esm/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -0
- package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs +30 -0
- package/esm/components/EmptyState/EmptyStateTitle/EmptyStateTitle.mjs.map +1 -0
- package/esm/components/FileInput/FileInput.mjs.map +1 -1
- package/esm/components/Grid/GridCol/GridColVariables.mjs.map +1 -1
- package/esm/components/Grid/GridVariables.mjs.map +1 -1
- package/esm/components/Group/Group.mjs.map +1 -1
- package/esm/components/Group/filter-falsy-children/filter-falsy-children.mjs.map +1 -1
- package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCardDropdown/HoverCardDropdown.mjs.map +1 -1
- package/esm/components/HoverCard/use-hover-card.mjs.map +1 -1
- package/esm/components/Input/Input.mjs +7 -2
- package/esm/components/Input/Input.mjs.map +1 -1
- package/esm/components/Input/Input.module.mjs +1 -0
- package/esm/components/Input/Input.module.mjs.map +1 -1
- package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
- package/esm/components/Input/InputError/InputError.mjs.map +1 -1
- package/esm/components/Input/InputPlaceholder/InputPlaceholder.mjs.map +1 -1
- package/esm/components/Input/InputSuccess/InputSuccess.mjs +48 -0
- package/esm/components/Input/InputSuccess/InputSuccess.mjs.map +1 -0
- package/esm/components/Input/InputWrapper/InputWrapper.mjs +22 -5
- package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
- package/esm/components/Input/use-input-props.mjs +4 -1
- package/esm/components/Input/use-input-props.mjs.map +1 -1
- package/esm/components/JsonInput/validate-json/validate-json.mjs.map +1 -1
- package/esm/components/Kbd/Kbd.mjs.map +1 -1
- package/esm/components/Mark/Mark.mjs.map +1 -1
- package/esm/components/Marquee/Marquee.mjs.map +1 -1
- package/esm/components/Menu/MenuDivider/MenuDivider.mjs.map +1 -1
- package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.mjs.map +1 -1
- package/esm/components/Menu/MenuSearch/MenuSearch.mjs.map +1 -1
- package/esm/components/Menu/MenuSelectableItem/MenuSelectableItem.mjs.map +1 -1
- package/esm/components/Menu/MenuSub/MenuSub.mjs.map +1 -1
- package/esm/components/Menu/MenuSubItem/MenuSubItem.mjs.map +1 -1
- package/esm/components/Menu/use-menu-type-ahead.mjs.map +1 -1
- package/esm/components/Menubar/Menubar.context.mjs +9 -0
- package/esm/components/Menubar/Menubar.context.mjs.map +1 -0
- package/esm/components/Menubar/Menubar.mjs +146 -0
- package/esm/components/Menubar/Menubar.mjs.map +1 -0
- package/esm/components/Menubar/Menubar.module.mjs +10 -0
- package/esm/components/Menubar/Menubar.module.mjs.map +1 -0
- package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs +61 -0
- package/esm/components/Menubar/MenubarDropdown/MenubarDropdown.mjs.map +1 -0
- package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs +59 -0
- package/esm/components/Menubar/MenubarMenu/MenubarMenu.mjs.map +1 -0
- package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs +143 -0
- package/esm/components/Menubar/MenubarTarget/MenubarTarget.mjs.map +1 -0
- package/esm/components/Modal/ModalBody.mjs.map +1 -1
- package/esm/components/Modal/ModalCloseButton.mjs.map +1 -1
- package/esm/components/Modal/ModalHeader.mjs.map +1 -1
- package/esm/components/Modal/ModalOverlay.mjs.map +1 -1
- package/esm/components/Modal/ModalTitle.mjs.map +1 -1
- package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.mjs +4 -1
- package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
- package/esm/components/MultiSelect/filter-picked-values.mjs.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
- package/esm/components/NativeSelect/NativeSelectOption.mjs.map +1 -1
- package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
- package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
- package/esm/components/OverflowList/get-row-position-data.mjs.map +1 -1
- package/esm/components/OverflowList/use-dimensions.mjs.map +1 -1
- package/esm/components/Overlay/Overlay.mjs.map +1 -1
- package/esm/components/Pagination/Pagination.mjs.map +1 -1
- package/esm/components/Pagination/PaginationDots/PaginationDots.mjs.map +1 -1
- package/esm/components/Pagination/PaginationItems/PaginationItems.mjs.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs +11 -2
- package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
- package/esm/components/Pill/PillGroup/PillGroup.mjs.map +1 -1
- package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
- package/esm/components/PinInput/PinInput.mjs +2 -1
- package/esm/components/PinInput/PinInput.mjs.map +1 -1
- package/esm/components/PinInput/create-pin-array/create-pin-array.mjs.map +1 -1
- package/esm/components/Popover/use-popover.mjs.map +1 -1
- package/esm/components/Portal/Portal.mjs.map +1 -1
- package/esm/components/Progress/ProgressLabel/ProgressLabel.mjs.map +1 -1
- package/esm/components/Radio/Radio.mjs.map +1 -1
- package/esm/components/Radio/RadioCard/RadioCard.mjs.map +1 -1
- package/esm/components/Rating/Rating.mjs.map +1 -1
- package/esm/components/Rating/RatingItem/RatingItem.mjs.map +1 -1
- package/esm/components/Rating/StarSymbol/StarSymbol.mjs.map +1 -1
- package/esm/components/RingProgress/RingProgress.mjs.map +1 -1
- package/esm/components/RingProgress/get-curves/get-curves.mjs.map +1 -1
- package/esm/components/RollingNumber/get-digit-parts.mjs.map +1 -1
- package/esm/components/RollingNumber/get-render-slots.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs +1 -0
- package/esm/components/ScrollArea/ScrollAreaViewport/ScrollAreaViewport.mjs.map +1 -1
- package/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs.map +1 -1
- package/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs.map +1 -1
- package/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs +4 -1
- package/esm/components/SemiCircleProgress/SemiCircleProgress.mjs.map +1 -1
- package/esm/components/SemiCircleProgress/SemiCircleProgress.module.mjs.map +1 -1
- package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
- package/esm/components/Skeleton/Skeleton.mjs.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
- package/esm/components/Slider/utils/get-precision/get-precision.mjs.map +1 -1
- package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
- package/esm/components/Splitter/Splitter.context.mjs.map +1 -1
- package/esm/components/Splitter/Splitter.mjs +22 -1
- package/esm/components/Splitter/Splitter.mjs.map +1 -1
- package/esm/components/Splitter/SplitterPane/SplitterPane.mjs +1 -2
- package/esm/components/Splitter/SplitterPane/SplitterPane.mjs.map +1 -1
- package/esm/components/Stack/Stack.mjs.map +1 -1
- package/esm/components/Stepper/Stepper.mjs.map +1 -1
- package/esm/components/Switch/Switch.mjs.map +1 -1
- package/esm/components/Table/Table.components.mjs.map +1 -1
- package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -1
- package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
- package/esm/components/Tabs/Tabs.mjs +18 -3
- package/esm/components/Tabs/Tabs.mjs.map +1 -1
- package/esm/components/Tabs/TabsPanel/TabsPanel.mjs +7 -1
- package/esm/components/Tabs/TabsPanel/TabsPanel.mjs.map +1 -1
- package/esm/components/Tabs/TabsTab/TabsTab.mjs +1 -1
- package/esm/components/Tabs/TabsTab/TabsTab.mjs.map +1 -1
- package/esm/components/TagsInput/TagsInput.mjs +4 -1
- package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
- package/esm/components/TagsInput/filter-picked-tags.mjs.map +1 -1
- package/esm/components/TagsInput/get-splitted-tags.mjs.map +1 -1
- package/esm/components/Text/Text.mjs.map +1 -1
- package/esm/components/Textarea/Autosize.mjs.map +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
- package/esm/components/Title/Title.mjs.map +1 -1
- package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/esm/components/Tooltip/use-tooltip.mjs.map +1 -1
- package/esm/components/Transition/get-transition-styles/get-transition-styles.mjs.map +1 -1
- package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
- package/esm/components/Tree/TreeNode.mjs.map +1 -1
- package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +1 -1
- package/esm/components/Tree/is-node-checked/is-node-checked.mjs.map +1 -1
- package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs.map +1 -1
- package/esm/components/Tree/use-tree.mjs.map +1 -1
- package/esm/components/TreeSelect/TreeSelect.mjs +7 -1
- package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
- package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -1
- package/esm/components/Typography/Typography.mjs.map +1 -1
- package/esm/components/UnstyledButton/UnstyledButton.mjs.map +1 -1
- package/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
- package/esm/core/Box/Box.mjs.map +1 -1
- package/esm/core/Box/get-box-mod/get-box-mod.mjs.map +1 -1
- package/esm/core/Box/get-box-style/get-box-style.mjs.map +1 -1
- package/esm/core/Box/get-style-object/get-style-object.mjs.map +1 -1
- package/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
- package/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs.map +1 -1
- package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
- package/esm/core/Box/use-random-classname/use-random-classname.mjs.map +1 -1
- package/esm/core/InlineStyles/InlineStyles.mjs.map +1 -1
- package/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs.map +1 -1
- package/esm/core/InlineStyles/hash-styles.mjs.map +1 -1
- package/esm/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.mjs.map +1 -1
- package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs +6 -2
- package/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/remove-default-variables.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs +3 -1
- package/esm/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +3 -1
- package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs +19 -4
- package/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs.map +1 -1
- package/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs.map +1 -1
- package/esm/core/MantineProvider/convert-css-variables/css-variables-object-to-string.mjs.map +1 -1
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
- package/esm/core/MantineProvider/use-props/use-props.mjs.map +1 -1
- package/esm/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-style/get-style.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/use-transformed-styles.mjs.map +1 -1
- package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs +3 -5
- package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
- package/esm/core/utils/create-use-external-events/create-use-external-events.mjs.map +1 -1
- package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -1
- package/esm/core/utils/filter-props/filter-props.mjs.map +1 -1
- package/esm/core/utils/get-context-item-index/get-context-item-index.mjs.map +1 -1
- package/esm/core/utils/get-safe-id/get-safe-id.mjs.map +1 -1
- package/esm/core/utils/is-number-like/is-number-like.mjs.map +1 -1
- package/esm/core/utils/units-converters/px.mjs.map +1 -1
- package/esm/core/utils/units-converters/rem.mjs.map +1 -1
- package/esm/index.mjs +23 -4
- package/lib/components/Accordion/Accordion.d.ts +4 -4
- package/lib/components/ActionIcon/ActionIcon.d.ts +3 -3
- package/lib/components/Combobox/Combobox.types.d.ts +4 -3
- package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +1 -1
- package/lib/components/Combobox/index.d.ts +1 -1
- package/lib/components/ComboboxPopover/ComboboxPopover.d.ts +110 -0
- package/lib/components/ComboboxPopover/ComboboxPopover.types.d.ts +2 -0
- package/lib/components/ComboboxPopover/ComboboxPopoverTarget.d.ts +16 -0
- package/lib/components/ComboboxPopover/index.d.ts +14 -0
- package/lib/components/DataList/DataList.context.d.ts +6 -0
- package/lib/components/DataList/DataList.d.ts +44 -0
- package/lib/components/DataList/DataListItem/DataListItem.d.ts +18 -0
- package/lib/components/DataList/DataListItemLabel/DataListItemLabel.d.ts +18 -0
- package/lib/components/DataList/DataListItemValue/DataListItemValue.d.ts +18 -0
- package/lib/components/DataList/index.d.ts +32 -0
- package/lib/components/EmptyState/EmptyState.context.d.ts +8 -0
- package/lib/components/EmptyState/EmptyState.d.ts +83 -0
- package/lib/components/EmptyState/EmptyStateActions/EmptyStateActions.d.ts +18 -0
- package/lib/components/EmptyState/EmptyStateDescription/EmptyStateDescription.d.ts +18 -0
- package/lib/components/EmptyState/EmptyStateIndicator/EmptyStateIndicator.d.ts +18 -0
- package/lib/components/EmptyState/EmptyStateTitle/EmptyStateTitle.d.ts +20 -0
- package/lib/components/EmptyState/index.d.ts +13 -0
- package/lib/components/Input/Input.d.ts +11 -0
- package/lib/components/Input/InputSuccess/InputSuccess.d.ts +23 -0
- package/lib/components/Input/InputWrapper/InputWrapper.d.ts +7 -2
- package/lib/components/Input/index.d.ts +3 -1
- package/lib/components/Input/use-input-props.d.ts +5 -2
- package/lib/components/MaskInput/use-mask-input-props.d.ts +5 -1
- package/lib/components/Menubar/Menubar.context.d.ts +51 -0
- package/lib/components/Menubar/Menubar.d.ts +56 -0
- package/lib/components/Menubar/MenubarDropdown/MenubarDropdown.d.ts +7 -0
- package/lib/components/Menubar/MenubarMenu/MenubarMenu.d.ts +9 -0
- package/lib/components/Menubar/MenubarTarget/MenubarTarget.d.ts +14 -0
- package/lib/components/Menubar/index.d.ts +11 -0
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/NativeSelect/NativeSelect.d.ts +2 -2
- package/lib/components/PinInput/PinInput.d.ts +2 -0
- package/lib/components/Splitter/Splitter.context.d.ts +3 -1
- package/lib/components/Splitter/Splitter.d.ts +10 -10
- package/lib/components/Splitter/SplitterPane/SplitterPane.d.ts +9 -8
- package/lib/components/Tabs/Tabs.context.d.ts +2 -0
- package/lib/components/index.d.ts +4 -0
- package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +7 -2
- package/lib/core/MantineProvider/color-functions/index.d.ts +1 -1
- package/package.json +5 -5
- package/styles/DataList.css +54 -0
- package/styles/DataList.layer.css +55 -0
- package/styles/EmptyState.css +121 -0
- package/styles/EmptyState.layer.css +122 -0
- package/styles/Input.css +21 -2
- package/styles/Input.layer.css +21 -2
- package/styles/Menubar.css +29 -0
- package/styles/Menubar.layer.css +30 -0
- package/styles/SemiCircleProgress.css +1 -0
- package/styles/SemiCircleProgress.layer.css +1 -0
- package/styles/default-css-variables.css +2 -0
- package/styles/default-css-variables.layer.css +2 -0
- package/styles.css +231 -2
- package/styles.layer.css +231 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Grid/Grid.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi, MantineSize } from '../../core';\nimport type { GridFactory } from './Grid';\n\nexport type GridBreakpoints = Record<MantineSize, string>;\n\nexport interface GridContextValue {\n getStyles: GetStylesApi<GridFactory>;\n grow: boolean | undefined;\n columns: number;\n breakpoints: GridBreakpoints | undefined;\n type: 'container' | 'media' | undefined;\n}\n\nexport const [GridProvider, useGridContext] = createSafeContext<GridContextValue>(\n 'Grid component was not found in tree'\n);\n"],"mappings":";;AAaA,MAAa,CAAC,cAAc,wFAAkBA,
|
|
1
|
+
{"version":3,"file":"Grid.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Grid/Grid.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi, MantineSize } from '../../core';\nimport type { GridFactory } from './Grid';\n\nexport type GridBreakpoints = Record<MantineSize, string>;\n\nexport interface GridContextValue {\n getStyles: GetStylesApi<GridFactory>;\n grow: boolean | undefined;\n columns: number;\n breakpoints: GridBreakpoints | undefined;\n type: 'container' | 'media' | undefined;\n}\n\nexport const [GridProvider, useGridContext] = createSafeContext<GridContextValue>(\n 'Grid component was not found in tree'\n);\n"],"mappings":";;AAaA,MAAa,CAAC,cAAc,wFAAkBA,CAAAA,CAAAA,kBAC5C,sCACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridCol.cjs","names":["factory","useProps","useGridContext","useRandomClassName","GridColVariables","Box","classes"],"sources":["../../../../src/components/Grid/GridCol/GridCol.tsx"],"sourcesContent":["import cx from 'clsx';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n StyleProp,\n useProps,\n useRandomClassName,\n} from '../../../core';\nimport { useGridContext } from '../Grid.context';\nimport { GridColVariables } from './GridColVariables';\nimport classes from '../Grid.module.css';\n\nexport type GridColStylesNames = 'col';\nexport type ColSpan = number | 'auto' | 'content';\n\nexport interface GridColProps\n extends BoxProps, CompoundStylesApiProps<GridColFactory>, ElementProps<'div'> {\n /** Column span @default 12 */\n span?: StyleProp<ColSpan>;\n\n /** Column order, use to reorder columns at different viewport sizes */\n order?: StyleProp<number>;\n\n /** Column start offset – number of empty columns before this column */\n offset?: StyleProp<number>;\n\n /** Vertical alignment of the column, controls `align-self` CSS property */\n align?: StyleProp<React.CSSProperties['alignSelf']>;\n}\n\nexport type GridColFactory = Factory<{\n props: GridColProps;\n ref: HTMLDivElement;\n stylesNames: GridColStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n span: 12,\n} satisfies Partial<GridColProps>;\n\nexport const GridCol = factory<GridColFactory>((_props) => {\n const props = useProps('GridCol', defaultProps, _props);\n const { classNames, className, style, styles, vars, span, order, offset, align, ...others } =\n props;\n const ctx = useGridContext();\n const responsiveClassName = useRandomClassName();\n return (\n <>\n <GridColVariables\n selector={`.${responsiveClassName}`}\n span={span}\n order={order}\n offset={offset}\n align={align}\n />\n\n <Box\n {...ctx.getStyles('col', {\n className: cx(className, responsiveClassName),\n style,\n classNames,\n styles,\n })}\n {...others}\n />\n </>\n );\n});\n\nGridCol.classes = classes;\nGridCol.displayName = '@mantine/core/GridCol';\n"],"mappings":";;;;;;;;;;;;;AAyCA,MAAM,eAAe,EACnB,MAAM,GACR;AAEA,MAAa,UAAUA,gBAAAA,SAAyB,WAAW;CAEzD,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,MAAM,OAAO,QAAQ,OAAO,GAAG,WADrEC,kBAAAA,SAAS,WAAW,cAAc,MAE1C;CACN,MAAM,MAAMC,qBAAAA,eAAe;CAC3B,MAAM,sBAAsBC,6BAAAA,mBAAmB;CAC/C,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"GridCol.cjs","names":["factory","useProps","useGridContext","useRandomClassName","GridColVariables","Box","classes"],"sources":["../../../../src/components/Grid/GridCol/GridCol.tsx"],"sourcesContent":["import cx from 'clsx';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n StyleProp,\n useProps,\n useRandomClassName,\n} from '../../../core';\nimport { useGridContext } from '../Grid.context';\nimport { GridColVariables } from './GridColVariables';\nimport classes from '../Grid.module.css';\n\nexport type GridColStylesNames = 'col';\nexport type ColSpan = number | 'auto' | 'content';\n\nexport interface GridColProps\n extends BoxProps, CompoundStylesApiProps<GridColFactory>, ElementProps<'div'> {\n /** Column span @default 12 */\n span?: StyleProp<ColSpan>;\n\n /** Column order, use to reorder columns at different viewport sizes */\n order?: StyleProp<number>;\n\n /** Column start offset – number of empty columns before this column */\n offset?: StyleProp<number>;\n\n /** Vertical alignment of the column, controls `align-self` CSS property */\n align?: StyleProp<React.CSSProperties['alignSelf']>;\n}\n\nexport type GridColFactory = Factory<{\n props: GridColProps;\n ref: HTMLDivElement;\n stylesNames: GridColStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n span: 12,\n} satisfies Partial<GridColProps>;\n\nexport const GridCol = factory<GridColFactory>((_props) => {\n const props = useProps('GridCol', defaultProps, _props);\n const { classNames, className, style, styles, vars, span, order, offset, align, ...others } =\n props;\n const ctx = useGridContext();\n const responsiveClassName = useRandomClassName();\n return (\n <>\n <GridColVariables\n selector={`.${responsiveClassName}`}\n span={span}\n order={order}\n offset={offset}\n align={align}\n />\n\n <Box\n {...ctx.getStyles('col', {\n className: cx(className, responsiveClassName),\n style,\n classNames,\n styles,\n })}\n {...others}\n />\n </>\n );\n});\n\nGridCol.classes = classes;\nGridCol.displayName = '@mantine/core/GridCol';\n"],"mappings":";;;;;;;;;;;;;AAyCA,MAAM,eAAe,EACnB,MAAM,GACR;AAEA,MAAa,UAAUA,gBAAAA,SAAyB,WAAW;CAEzD,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,MAAM,OAAO,QAAQ,OAAO,GAAG,WADrEC,kBAAAA,SAAS,WAAW,cAAc,MAE1C;CACN,MAAM,MAAMC,qBAAAA,eAAe;CAC3B,MAAM,sBAAsBC,6BAAAA,mBAAmB;CAC/C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,kBAAD;EACE,UAAU,IAAI;EACR;EACC;EACC;EACD;CACR,CAAA,GAED,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,GAAI,IAAI,UAAU,OAAO;GACvB,YAAA,GAAA,KAAA,QAAA,CAAc,WAAW,mBAAmB;GAC5C;GACA;GACA;EACF,CAAC;EACD,GAAI;CACL,CAAA,CACD,EAAA,CAAA;AAEN,CAAC;AAED,QAAQ,UAAUC,oBAAAA;AAClB,QAAQ,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColVariables.cjs","names":["useMantineTheme","useGridContext","getBaseValue","filterProps","keys","getSortedBreakpoints","InlineStyles"],"sources":["../../../../src/components/Grid/GridCol/GridColVariables.tsx"],"sourcesContent":["import {\n filterProps,\n getBaseValue,\n getSortedBreakpoints,\n InlineStyles,\n keys,\n useMantineTheme,\n} from '../../../core';\nimport { GridBreakpoints, useGridContext } from '../Grid.context';\nimport type { ColSpan, GridColProps } from './GridCol';\n\ninterface GridColVariablesProps {\n selector: string;\n span: GridColProps['span'] | undefined;\n order?: GridColProps['order'] | undefined;\n offset?: GridColProps['offset'] | undefined;\n align?: GridColProps['align'] | undefined;\n}\n\nconst getColumnFlexBasis = (colSpan: ColSpan | undefined, columns: number) => {\n if (colSpan === 'content') {\n return 'auto';\n }\n\n if (colSpan === 'auto') {\n return '0rem';\n }\n\n if (!colSpan) {\n return undefined;\n }\n\n if (colSpan === columns) {\n return '100%';\n }\n\n const percentage = (100 * colSpan) / columns;\n const gapFactor = (columns - colSpan) / columns;\n return `calc(${percentage}% - ${gapFactor} * var(--grid-column-gap))`;\n};\n\nconst getColumnMaxWidth = (\n colSpan: ColSpan | undefined,\n columns: number,\n grow: boolean | undefined\n) => {\n if (grow || colSpan === 'auto') {\n return '100%';\n }\n\n if (colSpan === 'content') {\n return 'unset';\n }\n\n return getColumnFlexBasis(colSpan, columns);\n};\n\nconst getColumnFlexGrow = (colSpan: ColSpan | undefined, grow: boolean | undefined) => {\n if (!colSpan) {\n return undefined;\n }\n\n return colSpan === 'auto' || grow ? '1' : 'auto';\n};\n\nconst getColumnOffset = (offset: number | undefined, columns: number) => {\n if (offset === 0) {\n return '0';\n }\n\n if (!offset) {\n return undefined;\n }\n\n const percentage = (100 * offset) / columns;\n const gapFactor = offset / columns;\n return `calc(${percentage}% + ${gapFactor} * var(--grid-column-gap))`;\n};\n\nexport function GridColVariables({ span, order, offset, align, selector }: GridColVariablesProps) {\n const theme = useMantineTheme();\n const ctx = useGridContext();\n const _breakpoints = ctx.breakpoints || theme.breakpoints;\n\n const baseValue = getBaseValue(span);\n const baseSpan = baseValue === undefined ? 12 : baseValue;\n\n const baseStyles: Record<string, string | undefined> = filterProps({\n '--col-order': getBaseValue(order)?.toString(),\n '--col-flex-grow': getColumnFlexGrow(baseSpan, ctx.grow),\n '--col-flex-basis': getColumnFlexBasis(baseSpan, ctx.columns),\n '--col-width': baseSpan === 'content' ? 'auto' : undefined,\n '--col-max-width': getColumnMaxWidth(baseSpan, ctx.columns, ctx.grow),\n '--col-offset': getColumnOffset(getBaseValue(offset), ctx.columns),\n '--col-align-self': getBaseValue(align),\n });\n\n const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n (acc, breakpoint) => {\n if (!acc[breakpoint]) {\n acc[breakpoint] = {};\n }\n\n if (typeof order === 'object' && order[breakpoint] !== undefined) {\n acc[breakpoint]['--col-order'] = order[breakpoint]?.toString();\n }\n\n if (typeof span === 'object' && span[breakpoint] !== undefined) {\n acc[breakpoint]['--col-flex-grow'] = getColumnFlexGrow(span[breakpoint], ctx.grow);\n acc[breakpoint]['--col-flex-basis'] = getColumnFlexBasis(span[breakpoint], ctx.columns);\n acc[breakpoint]['--col-width'] = span[breakpoint] === 'content' ? 'auto' : undefined;\n acc[breakpoint]['--col-max-width'] = getColumnMaxWidth(\n span[breakpoint],\n ctx.columns,\n ctx.grow\n );\n }\n\n if (typeof offset === 'object' && offset[breakpoint] !== undefined) {\n acc[breakpoint]['--col-offset'] = getColumnOffset(offset[breakpoint], ctx.columns);\n }\n\n if (typeof align === 'object' && align[breakpoint] !== undefined) {\n acc[breakpoint]['--col-align-self'] = align[breakpoint];\n }\n\n return acc;\n },\n {}\n );\n\n const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n (breakpoint) => keys(queries[breakpoint.value]).length > 0\n );\n\n const values = sortedBreakpoints.map((breakpoint) => ({\n query:\n ctx.type === 'container'\n ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n styles: queries[breakpoint.value],\n }));\n\n return (\n <InlineStyles\n styles={baseStyles}\n media={ctx.type === 'container' ? undefined : values}\n container={ctx.type === 'container' ? values : undefined}\n selector={selector}\n />\n );\n}\n"],"mappings":";;;;;;;;;;AAmBA,MAAM,sBAAsB,SAA8B,YAAoB;CAC5E,IAAI,YAAY,WACd,OAAO;CAGT,IAAI,YAAY,QACd,OAAO;CAGT,IAAI,CAAC,SACH;CAGF,IAAI,YAAY,SACd,OAAO;CAKT,OAAO,QAFa,MAAM,UAAW,QAEX,OADP,UAAU,WAAW,QACE;AAC5C;AAEA,MAAM,qBACJ,SACA,SACA,SACG;CACH,IAAI,QAAQ,YAAY,QACtB,OAAO;CAGT,IAAI,YAAY,WACd,OAAO;CAGT,OAAO,mBAAmB,SAAS,OAAO;AAC5C;AAEA,MAAM,qBAAqB,SAA8B,SAA8B;CACrF,IAAI,CAAC,SACH;CAGF,OAAO,YAAY,UAAU,OAAO,MAAM;AAC5C;AAEA,MAAM,mBAAmB,QAA4B,YAAoB;CACvE,IAAI,WAAW,GACb,OAAO;CAGT,IAAI,CAAC,QACH;CAKF,OAAO,QAFa,MAAM,SAAU,QAEV,MADR,SAAS,QACe;AAC5C;AAEA,SAAgB,iBAAiB,EAAE,MAAM,OAAO,QAAQ,OAAO,YAAmC;CAChG,MAAM,QAAQA,6BAAAA,gBAAgB;CAC9B,MAAM,MAAMC,qBAAAA,eAAe;CAC3B,MAAM,eAAe,IAAI,eAAe,MAAM;CAE9C,MAAM,YAAYC,uBAAAA,aAAa,IAAI;CACnC,MAAM,WAAW,cAAc,KAAA,IAAY,KAAK;CAEhD,MAAM,aAAiDC,qBAAAA,YAAY;EACjE,eAAeD,uBAAAA,aAAa,KAAK,
|
|
1
|
+
{"version":3,"file":"GridColVariables.cjs","names":["useMantineTheme","useGridContext","getBaseValue","filterProps","keys","getSortedBreakpoints","InlineStyles"],"sources":["../../../../src/components/Grid/GridCol/GridColVariables.tsx"],"sourcesContent":["import {\n filterProps,\n getBaseValue,\n getSortedBreakpoints,\n InlineStyles,\n keys,\n useMantineTheme,\n} from '../../../core';\nimport { GridBreakpoints, useGridContext } from '../Grid.context';\nimport type { ColSpan, GridColProps } from './GridCol';\n\ninterface GridColVariablesProps {\n selector: string;\n span: GridColProps['span'] | undefined;\n order?: GridColProps['order'] | undefined;\n offset?: GridColProps['offset'] | undefined;\n align?: GridColProps['align'] | undefined;\n}\n\nconst getColumnFlexBasis = (colSpan: ColSpan | undefined, columns: number) => {\n if (colSpan === 'content') {\n return 'auto';\n }\n\n if (colSpan === 'auto') {\n return '0rem';\n }\n\n if (!colSpan) {\n return undefined;\n }\n\n if (colSpan === columns) {\n return '100%';\n }\n\n const percentage = (100 * colSpan) / columns;\n const gapFactor = (columns - colSpan) / columns;\n return `calc(${percentage}% - ${gapFactor} * var(--grid-column-gap))`;\n};\n\nconst getColumnMaxWidth = (\n colSpan: ColSpan | undefined,\n columns: number,\n grow: boolean | undefined\n) => {\n if (grow || colSpan === 'auto') {\n return '100%';\n }\n\n if (colSpan === 'content') {\n return 'unset';\n }\n\n return getColumnFlexBasis(colSpan, columns);\n};\n\nconst getColumnFlexGrow = (colSpan: ColSpan | undefined, grow: boolean | undefined) => {\n if (!colSpan) {\n return undefined;\n }\n\n return colSpan === 'auto' || grow ? '1' : 'auto';\n};\n\nconst getColumnOffset = (offset: number | undefined, columns: number) => {\n if (offset === 0) {\n return '0';\n }\n\n if (!offset) {\n return undefined;\n }\n\n const percentage = (100 * offset) / columns;\n const gapFactor = offset / columns;\n return `calc(${percentage}% + ${gapFactor} * var(--grid-column-gap))`;\n};\n\nexport function GridColVariables({ span, order, offset, align, selector }: GridColVariablesProps) {\n const theme = useMantineTheme();\n const ctx = useGridContext();\n const _breakpoints = ctx.breakpoints || theme.breakpoints;\n\n const baseValue = getBaseValue(span);\n const baseSpan = baseValue === undefined ? 12 : baseValue;\n\n const baseStyles: Record<string, string | undefined> = filterProps({\n '--col-order': getBaseValue(order)?.toString(),\n '--col-flex-grow': getColumnFlexGrow(baseSpan, ctx.grow),\n '--col-flex-basis': getColumnFlexBasis(baseSpan, ctx.columns),\n '--col-width': baseSpan === 'content' ? 'auto' : undefined,\n '--col-max-width': getColumnMaxWidth(baseSpan, ctx.columns, ctx.grow),\n '--col-offset': getColumnOffset(getBaseValue(offset), ctx.columns),\n '--col-align-self': getBaseValue(align),\n });\n\n const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n (acc, breakpoint) => {\n if (!acc[breakpoint]) {\n acc[breakpoint] = {};\n }\n\n if (typeof order === 'object' && order[breakpoint] !== undefined) {\n acc[breakpoint]['--col-order'] = order[breakpoint]?.toString();\n }\n\n if (typeof span === 'object' && span[breakpoint] !== undefined) {\n acc[breakpoint]['--col-flex-grow'] = getColumnFlexGrow(span[breakpoint], ctx.grow);\n acc[breakpoint]['--col-flex-basis'] = getColumnFlexBasis(span[breakpoint], ctx.columns);\n acc[breakpoint]['--col-width'] = span[breakpoint] === 'content' ? 'auto' : undefined;\n acc[breakpoint]['--col-max-width'] = getColumnMaxWidth(\n span[breakpoint],\n ctx.columns,\n ctx.grow\n );\n }\n\n if (typeof offset === 'object' && offset[breakpoint] !== undefined) {\n acc[breakpoint]['--col-offset'] = getColumnOffset(offset[breakpoint], ctx.columns);\n }\n\n if (typeof align === 'object' && align[breakpoint] !== undefined) {\n acc[breakpoint]['--col-align-self'] = align[breakpoint];\n }\n\n return acc;\n },\n {}\n );\n\n const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n (breakpoint) => keys(queries[breakpoint.value]).length > 0\n );\n\n const values = sortedBreakpoints.map((breakpoint) => ({\n query:\n ctx.type === 'container'\n ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n styles: queries[breakpoint.value],\n }));\n\n return (\n <InlineStyles\n styles={baseStyles}\n media={ctx.type === 'container' ? undefined : values}\n container={ctx.type === 'container' ? values : undefined}\n selector={selector}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridVariables.cjs","names":["useMantineTheme","filterProps","getSpacing","getBaseValue","keys","getSortedBreakpoints","InlineStyles"],"sources":["../../../src/components/Grid/GridVariables.tsx"],"sourcesContent":["import {\n filterProps,\n getBaseValue,\n getSortedBreakpoints,\n getSpacing,\n InlineStyles,\n keys,\n useMantineTheme,\n} from '../../core';\nimport type { GridProps } from './Grid';\nimport type { GridBreakpoints } from './Grid.context';\n\ninterface GridVariablesProps extends GridProps {\n selector: string;\n}\n\nexport function GridVariables({\n gap,\n rowGap,\n columnGap,\n selector,\n breakpoints,\n type,\n}: GridVariablesProps) {\n const theme = useMantineTheme();\n const _breakpoints = breakpoints || theme.breakpoints;\n\n const baseStyles: Record<string, string | undefined> = filterProps({\n '--grid-gap': getSpacing(getBaseValue(gap)),\n '--grid-row-gap': getSpacing(getBaseValue(rowGap)),\n '--grid-column-gap': getSpacing(getBaseValue(columnGap)),\n });\n\n const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n (acc, breakpoint) => {\n if (!acc[breakpoint]) {\n acc[breakpoint] = {};\n }\n\n if (typeof gap === 'object' && gap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-gap'] = getSpacing(gap[breakpoint]);\n }\n\n if (typeof rowGap === 'object' && rowGap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-row-gap'] = getSpacing(rowGap[breakpoint]);\n }\n\n if (typeof columnGap === 'object' && columnGap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-column-gap'] = getSpacing(columnGap[breakpoint]);\n }\n\n return acc;\n },\n {}\n );\n\n const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n (breakpoint) => keys(queries[breakpoint.value]).length > 0\n );\n\n const values = sortedBreakpoints.map((breakpoint) => ({\n query:\n type === 'container'\n ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n styles: queries[breakpoint.value],\n }));\n\n return (\n <InlineStyles\n styles={baseStyles}\n media={type === 'container' ? undefined : values}\n container={type === 'container' ? values : undefined}\n selector={selector}\n />\n );\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,cAAc,EAC5B,KACA,QACA,WACA,UACA,aACA,QACqB;CACrB,MAAM,QAAQA,6BAAAA,gBAAgB;CAC9B,MAAM,eAAe,eAAe,MAAM;CAE1C,MAAM,aAAiDC,qBAAAA,YAAY;EACjE,cAAcC,iBAAAA,WAAWC,uBAAAA,aAAa,GAAG,CAAC;EAC1C,kBAAkBD,iBAAAA,WAAWC,uBAAAA,aAAa,MAAM,CAAC;EACjD,qBAAqBD,iBAAAA,WAAWC,uBAAAA,aAAa,SAAS,CAAC;CACzD,CAAC;CAED,MAAM,UAAUC,aAAAA,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"GridVariables.cjs","names":["useMantineTheme","filterProps","getSpacing","getBaseValue","keys","getSortedBreakpoints","InlineStyles"],"sources":["../../../src/components/Grid/GridVariables.tsx"],"sourcesContent":["import {\n filterProps,\n getBaseValue,\n getSortedBreakpoints,\n getSpacing,\n InlineStyles,\n keys,\n useMantineTheme,\n} from '../../core';\nimport type { GridProps } from './Grid';\nimport type { GridBreakpoints } from './Grid.context';\n\ninterface GridVariablesProps extends GridProps {\n selector: string;\n}\n\nexport function GridVariables({\n gap,\n rowGap,\n columnGap,\n selector,\n breakpoints,\n type,\n}: GridVariablesProps) {\n const theme = useMantineTheme();\n const _breakpoints = breakpoints || theme.breakpoints;\n\n const baseStyles: Record<string, string | undefined> = filterProps({\n '--grid-gap': getSpacing(getBaseValue(gap)),\n '--grid-row-gap': getSpacing(getBaseValue(rowGap)),\n '--grid-column-gap': getSpacing(getBaseValue(columnGap)),\n });\n\n const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n (acc, breakpoint) => {\n if (!acc[breakpoint]) {\n acc[breakpoint] = {};\n }\n\n if (typeof gap === 'object' && gap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-gap'] = getSpacing(gap[breakpoint]);\n }\n\n if (typeof rowGap === 'object' && rowGap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-row-gap'] = getSpacing(rowGap[breakpoint]);\n }\n\n if (typeof columnGap === 'object' && columnGap[breakpoint] !== undefined) {\n acc[breakpoint]['--grid-column-gap'] = getSpacing(columnGap[breakpoint]);\n }\n\n return acc;\n },\n {}\n );\n\n const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n (breakpoint) => keys(queries[breakpoint.value]).length > 0\n );\n\n const values = sortedBreakpoints.map((breakpoint) => ({\n query:\n type === 'container'\n ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n styles: queries[breakpoint.value],\n }));\n\n return (\n <InlineStyles\n styles={baseStyles}\n media={type === 'container' ? undefined : values}\n container={type === 'container' ? values : undefined}\n selector={selector}\n />\n );\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,cAAc,EAC5B,KACA,QACA,WACA,UACA,aACA,QACqB;CACrB,MAAM,QAAQA,6BAAAA,gBAAgB;CAC9B,MAAM,eAAe,eAAe,MAAM;CAE1C,MAAM,aAAiDC,qBAAAA,YAAY;EACjE,cAAcC,iBAAAA,WAAWC,uBAAAA,aAAa,GAAG,CAAC;EAC1C,kBAAkBD,iBAAAA,WAAWC,uBAAAA,aAAa,MAAM,CAAC;EACjD,qBAAqBD,iBAAAA,WAAWC,uBAAAA,aAAa,SAAS,CAAC;CACzD,CAAC;CAED,MAAM,UAAUC,aAAAA,KAAK,YAAY,CAAC,CAAC,QAChC,KAAK,eAAe;EACnB,IAAI,CAAC,IAAI,aACP,IAAI,cAAc,CAAC;EAGrB,IAAI,OAAO,QAAQ,YAAY,IAAI,gBAAgB,KAAA,GACjD,IAAI,WAAW,CAAC,gBAAgBF,iBAAAA,WAAW,IAAI,WAAW;EAG5D,IAAI,OAAO,WAAW,YAAY,OAAO,gBAAgB,KAAA,GACvD,IAAI,WAAW,CAAC,oBAAoBA,iBAAAA,WAAW,OAAO,WAAW;EAGnE,IAAI,OAAO,cAAc,YAAY,UAAU,gBAAgB,KAAA,GAC7D,IAAI,WAAW,CAAC,uBAAuBA,iBAAAA,WAAW,UAAU,WAAW;EAGzE,OAAO;CACT,GACA,CAAC,CACH;CAMA,MAAM,SAJoBG,+BAAAA,qBAAqBD,aAAAA,KAAK,OAAO,GAAG,YAAY,CAAC,CAAC,QACzE,eAAeA,aAAAA,KAAK,QAAQ,WAAW,MAAM,CAAC,CAAC,SAAS,CAG5B,CAAC,CAAC,KAAK,gBAAgB;EACpD,OACE,SAAS,cACL,4BAA4B,aAAa,WAAW,OAAgC,KACpF,eAAe,aAAa,WAAW,OAAgC;EAC7E,QAAQ,QAAQ,WAAW;CAC7B,EAAE;CAEF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,qBAAAA,cAAD;EACE,QAAQ;EACR,OAAO,SAAS,cAAc,KAAA,IAAY;EAC1C,WAAW,SAAS,cAAc,SAAS,KAAA;EACjC;CACX,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.cjs","names":["createVarsResolver","getSpacing","factory","useProps","filterFalsyChildren","Box","useStyles","classes"],"sources":["../../../src/components/Group/Group.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { filterFalsyChildren } from './filter-falsy-children/filter-falsy-children';\nimport classes from './Group.module.css';\n\nexport type GroupStylesNames = 'root';\nexport type GroupCssVariables = {\n root:\n | '--group-gap'\n | '--group-align'\n | '--group-justify'\n | '--group-wrap'\n | '--group-child-width';\n};\n\nexport interface GroupStylesCtx {\n childWidth: string;\n}\n\nexport interface GroupProps extends BoxProps, StylesApiProps<GroupFactory>, ElementProps<'div'> {\n __size?: any;\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Controls `align-items` CSS property @default 'center' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `flex-wrap` CSS property @default 'wrap' */\n wrap?: React.CSSProperties['flexWrap'];\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Determines whether each child element should have `flex-grow: 1` style @default false */\n grow?: boolean;\n\n /** Determines whether children should take only dedicated amount of space (`max-width` style is set based on the number of children) @default true */\n preventGrowOverflow?: boolean;\n}\n\nexport type GroupFactory = Factory<{\n props: GroupProps;\n ref: HTMLDivElement;\n stylesNames: GroupStylesNames;\n vars: GroupCssVariables;\n ctx: GroupStylesCtx;\n}>;\n\nconst defaultProps = {\n preventGrowOverflow: true,\n gap: 'md',\n align: 'center',\n justify: 'flex-start',\n wrap: 'wrap',\n} satisfies Partial<GroupProps>;\n\nconst varsResolver = createVarsResolver<GroupFactory>(\n (_, { grow, preventGrowOverflow, gap, align, justify, wrap }, { childWidth }) => ({\n root: {\n '--group-child-width': grow && preventGrowOverflow ? childWidth : undefined,\n '--group-gap': getSpacing(gap),\n '--group-align': align,\n '--group-justify': justify,\n '--group-wrap': wrap,\n },\n })\n);\n\nexport const Group = factory<GroupFactory>((_props) => {\n const props = useProps('Group', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n children,\n gap,\n align,\n justify,\n wrap,\n grow,\n preventGrowOverflow,\n vars,\n variant,\n __size,\n mod,\n attributes,\n ...others\n } = props;\n\n const filteredChildren = filterFalsyChildren(children);\n const childrenCount = filteredChildren.length;\n const resolvedGap = getSpacing(gap ?? 'md');\n const childWidth = `calc(${\n 100 / childrenCount\n }% - (${resolvedGap} - ${resolvedGap} / ${childrenCount}))`;\n\n const stylesCtx: GroupStylesCtx = { childWidth };\n\n const getStyles = useStyles<GroupFactory>({\n name: 'Group',\n props,\n stylesCtx,\n className,\n style,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box {...getStyles('root')} variant={variant} mod={[{ grow }, mod]} size={__size} {...others}>\n {filteredChildren}\n </Box>\n );\n});\n\nGroup.classes = classes;\nGroup.varsResolver = varsResolver;\nGroup.displayName = '@mantine/core/Group';\n\nexport namespace Group {\n export type Props = GroupProps;\n export type StylesNames = GroupStylesNames;\n export type CssVariables = GroupCssVariables;\n export type StylesCtx = GroupStylesCtx;\n export type Factory = GroupFactory;\n}\n"],"mappings":";;;;;;;;;;;AA4DA,MAAM,eAAe;CACnB,qBAAqB;CACrB,KAAK;CACL,OAAO;CACP,SAAS;CACT,MAAM;AACR;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,GAAG,EAAE,MAAM,qBAAqB,KAAK,OAAO,SAAS,QAAQ,EAAE,kBAAkB,EAChF,MAAM;CACJ,uBAAuB,QAAQ,sBAAsB,aAAa,KAAA;CAClE,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;CACnB,gBAAgB;AAClB,EACF,EACF;AAEA,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,UACA,KACA,OACA,SACA,MACA,MACA,qBACA,MACA,SACA,QACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,mBAAmBC,8BAAAA,oBAAoB,QAAQ;CACrD,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,cAAcH,iBAAAA,WAAW,OAAO,IAAI;CAsB1C,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Group.cjs","names":["createVarsResolver","getSpacing","factory","useProps","filterFalsyChildren","Box","useStyles","classes"],"sources":["../../../src/components/Group/Group.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { filterFalsyChildren } from './filter-falsy-children/filter-falsy-children';\nimport classes from './Group.module.css';\n\nexport type GroupStylesNames = 'root';\nexport type GroupCssVariables = {\n root:\n | '--group-gap'\n | '--group-align'\n | '--group-justify'\n | '--group-wrap'\n | '--group-child-width';\n};\n\nexport interface GroupStylesCtx {\n childWidth: string;\n}\n\nexport interface GroupProps extends BoxProps, StylesApiProps<GroupFactory>, ElementProps<'div'> {\n __size?: any;\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Controls `align-items` CSS property @default 'center' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `flex-wrap` CSS property @default 'wrap' */\n wrap?: React.CSSProperties['flexWrap'];\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Determines whether each child element should have `flex-grow: 1` style @default false */\n grow?: boolean;\n\n /** Determines whether children should take only dedicated amount of space (`max-width` style is set based on the number of children) @default true */\n preventGrowOverflow?: boolean;\n}\n\nexport type GroupFactory = Factory<{\n props: GroupProps;\n ref: HTMLDivElement;\n stylesNames: GroupStylesNames;\n vars: GroupCssVariables;\n ctx: GroupStylesCtx;\n}>;\n\nconst defaultProps = {\n preventGrowOverflow: true,\n gap: 'md',\n align: 'center',\n justify: 'flex-start',\n wrap: 'wrap',\n} satisfies Partial<GroupProps>;\n\nconst varsResolver = createVarsResolver<GroupFactory>(\n (_, { grow, preventGrowOverflow, gap, align, justify, wrap }, { childWidth }) => ({\n root: {\n '--group-child-width': grow && preventGrowOverflow ? childWidth : undefined,\n '--group-gap': getSpacing(gap),\n '--group-align': align,\n '--group-justify': justify,\n '--group-wrap': wrap,\n },\n })\n);\n\nexport const Group = factory<GroupFactory>((_props) => {\n const props = useProps('Group', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n children,\n gap,\n align,\n justify,\n wrap,\n grow,\n preventGrowOverflow,\n vars,\n variant,\n __size,\n mod,\n attributes,\n ...others\n } = props;\n\n const filteredChildren = filterFalsyChildren(children);\n const childrenCount = filteredChildren.length;\n const resolvedGap = getSpacing(gap ?? 'md');\n const childWidth = `calc(${\n 100 / childrenCount\n }% - (${resolvedGap} - ${resolvedGap} / ${childrenCount}))`;\n\n const stylesCtx: GroupStylesCtx = { childWidth };\n\n const getStyles = useStyles<GroupFactory>({\n name: 'Group',\n props,\n stylesCtx,\n className,\n style,\n classes,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return (\n <Box {...getStyles('root')} variant={variant} mod={[{ grow }, mod]} size={__size} {...others}>\n {filteredChildren}\n </Box>\n );\n});\n\nGroup.classes = classes;\nGroup.varsResolver = varsResolver;\nGroup.displayName = '@mantine/core/Group';\n\nexport namespace Group {\n export type Props = GroupProps;\n export type StylesNames = GroupStylesNames;\n export type CssVariables = GroupCssVariables;\n export type StylesCtx = GroupStylesCtx;\n export type Factory = GroupFactory;\n}\n"],"mappings":";;;;;;;;;;;AA4DA,MAAM,eAAe;CACnB,qBAAqB;CACrB,KAAK;CACL,OAAO;CACP,SAAS;CACT,MAAM;AACR;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,GAAG,EAAE,MAAM,qBAAqB,KAAK,OAAO,SAAS,QAAQ,EAAE,kBAAkB,EAChF,MAAM;CACJ,uBAAuB,QAAQ,sBAAsB,aAAa,KAAA;CAClE,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;CACnB,gBAAgB;AAClB,EACF,EACF;AAEA,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,UACA,KACA,OACA,SACA,MACA,MACA,qBACA,MACA,SACA,QACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,mBAAmBC,8BAAAA,oBAAoB,QAAQ;CACrD,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,cAAcH,iBAAAA,WAAW,OAAO,IAAI;CAsB1C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACI,YAAAA,KAAD;EAAK,GAhBWC,mBAAAA,UAAwB;GACxC,MAAM;GACN;GACA,WAAA,EALkC,YAAA,QAHlC,MAAM,cACP,OAAO,YAAY,KAAK,YAAY,KAAK,cAAc,IAO9C;GACR;GACA;GACA,SAAA,qBAAA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGmB,CAAC,CAAC,MAAM;EAAY;EAAS,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG;EAAG,MAAM;EAAQ,GAAI;YACnF;CACE,CAAA;AAET,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-falsy-children.cjs","names":["Children"],"sources":["../../../../src/components/Group/filter-falsy-children/filter-falsy-children.ts"],"sourcesContent":["import { Children, ReactElement, ReactNode } from 'react';\n\nexport function filterFalsyChildren(children: ReactNode) {\n return (Children.toArray(children) as ReactElement[]).filter(Boolean);\n}\n"],"mappings":";;;AAEA,SAAgB,oBAAoB,UAAqB;CACvD,OAAQA,MAAAA,SAAS,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"file":"filter-falsy-children.cjs","names":["Children"],"sources":["../../../../src/components/Group/filter-falsy-children/filter-falsy-children.ts"],"sourcesContent":["import { Children, ReactElement, ReactNode } from 'react';\n\nexport function filterFalsyChildren(children: ReactNode) {\n return (Children.toArray(children) as ReactElement[]).filter(Boolean);\n}\n"],"mappings":";;;AAEA,SAAgB,oBAAoB,UAAqB;CACvD,OAAQA,MAAAA,SAAS,QAAQ,QAAQ,CAAC,CAAoB,OAAO,OAAO;AACtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Highlight.cjs","names":["polymorphicFactory","useProps","foldAccents","highlighter","Text","Mark"],"sources":["../../../src/components/Highlight/Highlight.tsx"],"sourcesContent":["import {\n MantineColor,\n MantineTheme,\n polymorphicFactory,\n PolymorphicFactory,\n useProps,\n} from '../../core';\nimport { Mark } from '../Mark';\nimport { Text, TextProps, TextStylesNames, TextVariant } from '../Text';\nimport { foldAccents, highlighter } from './highlighter/highlighter';\n\nexport interface HighlightTerm {\n /** Text to highlight */\n text: string;\n\n /** Background color for this specific term. Key of `theme.colors` or any valid CSS color */\n color?: MantineColor | string;\n}\n\nexport interface HighlightProps extends Omit<TextProps, 'color'> {\n /**\n * Substring(s) to highlight in `children`. Can be:\n * - string: single term\n * - string[]: multiple terms with same color\n * - HighlightTerm[]: multiple terms with custom colors per term\n *\n * - Matching is case-insensitive and accent-insensitive by default, use `caseInsensitive` and `accentInsensitive` props to control this behavior\n * - Regex special characters are automatically escaped\n * - When multiple substrings are provided, longer matches take precedence\n * - Empty strings and whitespace-only strings are ignored\n */\n highlight: string | string[] | HighlightTerm[];\n\n /**\n * Default background color for all highlighted text.\n * Key of `theme.colors` or any valid CSS color, passed to `Mark` component.\n * Can be overridden per term when using HighlightTerm objects.\n * @default 'yellow'\n */\n color?: MantineColor | string;\n\n /** Styles applied to `mark` elements */\n highlightStyles?: React.CSSProperties | ((theme: MantineTheme) => React.CSSProperties);\n\n /** String in which to highlight substrings */\n children: string;\n\n /**\n * Only match whole words (adds word boundaries to regex).\n * When enabled, 'the' will not match 'there'.\n * @default false\n */\n wholeWord?: boolean;\n\n /**\n * Perform case-insensitive matching.\n * @default true\n */\n caseInsensitive?: boolean;\n\n /**\n * Perform accent-insensitive matching.\n * When enabled cafe will match cafe, café, cafè, etc.\n * @default true\n */\n accentInsensitive?: boolean;\n}\n\nexport type HighlightFactory = PolymorphicFactory<{\n props: HighlightProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: TextStylesNames;\n variant: TextVariant;\n}>;\n\nconst defaultProps = {\n color: 'yellow',\n wholeWord: false,\n caseInsensitive: true,\n accentInsensitive: true,\n} satisfies Partial<HighlightProps>;\n\nexport const Highlight = polymorphicFactory<HighlightFactory>((_props) => {\n const {\n unstyled,\n children,\n highlight,\n highlightStyles,\n color,\n wholeWord,\n caseInsensitive,\n accentInsensitive,\n ...others\n } = useProps('Highlight', defaultProps, _props);\n\n const isTermArray = Array.isArray(highlight) && typeof highlight[0] === 'object';\n const colorMap = new Map<string, string>();\n\n const normalizeKey = (s: string) => {\n let key = s;\n if (caseInsensitive) {\n key = key.toLowerCase();\n }\n if (accentInsensitive) {\n key = foldAccents(key);\n }\n return key;\n };\n\n let highlightStrings: string[];\n if (isTermArray) {\n highlightStrings = (highlight as HighlightTerm[]).map((term) => {\n if (term.color) {\n colorMap.set(normalizeKey(term.text), term.color);\n }\n return term.text;\n });\n } else if (Array.isArray(highlight)) {\n highlightStrings = highlight as string[];\n } else {\n highlightStrings = [highlight as string];\n }\n\n const highlightChunks = highlighter(children, highlightStrings, {\n wholeWord,\n caseInsensitive,\n accentInsensitive,\n });\n\n return (\n <Text unstyled={unstyled} {...others} __staticSelector=\"Highlight\">\n {highlightChunks.map(({ chunk, highlighted }, i) =>\n highlighted ? (\n <Mark\n unstyled={unstyled}\n key={i}\n color={colorMap.get(normalizeKey(chunk)) || color}\n style={highlightStyles}\n data-highlight={chunk}\n >\n {chunk}\n </Mark>\n ) : (\n <span key={i}>{chunk}</span>\n )\n )}\n </Text>\n );\n});\n\nHighlight.classes = Text.classes;\nHighlight.displayName = '@mantine/core/Highlight';\n\nexport namespace Highlight {\n export type Props = HighlightProps;\n export type Factory = HighlightFactory;\n export type Term = HighlightTerm;\n}\n"],"mappings":";;;;;;;;AA4EA,MAAM,eAAe;CACnB,OAAO;CACP,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACrB;AAEA,MAAa,YAAYA,4BAAAA,oBAAsC,WAAW;CACxE,MAAM,EACJ,UACA,UACA,WACA,iBACA,OACA,WACA,iBACA,mBACA,GAAG,WACDC,kBAAAA,SAAS,aAAa,cAAc,MAAM;CAE9C,MAAM,cAAc,MAAM,QAAQ,SAAS,KAAK,OAAO,UAAU,OAAO;CACxE,MAAM,2BAAW,IAAI,IAAoB;CAEzC,MAAM,gBAAgB,MAAc;EAClC,IAAI,MAAM;EACV,IAAI,iBACF,MAAM,IAAI,YAAY;EAExB,IAAI,mBACF,MAAMC,oBAAAA,YAAY,GAAG;EAEvB,OAAO;CACT;CAEA,IAAI;CACJ,IAAI,aACF,mBAAoB,UAA8B,KAAK,SAAS;EAC9D,IAAI,KAAK,OACP,SAAS,IAAI,aAAa,KAAK,IAAI,GAAG,KAAK,KAAK;EAElD,OAAO,KAAK;CACd,CAAC;MACI,IAAI,MAAM,QAAQ,SAAS,GAChC,mBAAmB;MAEnB,mBAAmB,CAAC,SAAmB;CAGzC,MAAM,kBAAkBC,oBAAAA,YAAY,UAAU,kBAAkB;EAC9D;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Highlight.cjs","names":["polymorphicFactory","useProps","foldAccents","highlighter","Text","Mark"],"sources":["../../../src/components/Highlight/Highlight.tsx"],"sourcesContent":["import {\n MantineColor,\n MantineTheme,\n polymorphicFactory,\n PolymorphicFactory,\n useProps,\n} from '../../core';\nimport { Mark } from '../Mark';\nimport { Text, TextProps, TextStylesNames, TextVariant } from '../Text';\nimport { foldAccents, highlighter } from './highlighter/highlighter';\n\nexport interface HighlightTerm {\n /** Text to highlight */\n text: string;\n\n /** Background color for this specific term. Key of `theme.colors` or any valid CSS color */\n color?: MantineColor | string;\n}\n\nexport interface HighlightProps extends Omit<TextProps, 'color'> {\n /**\n * Substring(s) to highlight in `children`. Can be:\n * - string: single term\n * - string[]: multiple terms with same color\n * - HighlightTerm[]: multiple terms with custom colors per term\n *\n * - Matching is case-insensitive and accent-insensitive by default, use `caseInsensitive` and `accentInsensitive` props to control this behavior\n * - Regex special characters are automatically escaped\n * - When multiple substrings are provided, longer matches take precedence\n * - Empty strings and whitespace-only strings are ignored\n */\n highlight: string | string[] | HighlightTerm[];\n\n /**\n * Default background color for all highlighted text.\n * Key of `theme.colors` or any valid CSS color, passed to `Mark` component.\n * Can be overridden per term when using HighlightTerm objects.\n * @default 'yellow'\n */\n color?: MantineColor | string;\n\n /** Styles applied to `mark` elements */\n highlightStyles?: React.CSSProperties | ((theme: MantineTheme) => React.CSSProperties);\n\n /** String in which to highlight substrings */\n children: string;\n\n /**\n * Only match whole words (adds word boundaries to regex).\n * When enabled, 'the' will not match 'there'.\n * @default false\n */\n wholeWord?: boolean;\n\n /**\n * Perform case-insensitive matching.\n * @default true\n */\n caseInsensitive?: boolean;\n\n /**\n * Perform accent-insensitive matching.\n * When enabled cafe will match cafe, café, cafè, etc.\n * @default true\n */\n accentInsensitive?: boolean;\n}\n\nexport type HighlightFactory = PolymorphicFactory<{\n props: HighlightProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: TextStylesNames;\n variant: TextVariant;\n}>;\n\nconst defaultProps = {\n color: 'yellow',\n wholeWord: false,\n caseInsensitive: true,\n accentInsensitive: true,\n} satisfies Partial<HighlightProps>;\n\nexport const Highlight = polymorphicFactory<HighlightFactory>((_props) => {\n const {\n unstyled,\n children,\n highlight,\n highlightStyles,\n color,\n wholeWord,\n caseInsensitive,\n accentInsensitive,\n ...others\n } = useProps('Highlight', defaultProps, _props);\n\n const isTermArray = Array.isArray(highlight) && typeof highlight[0] === 'object';\n const colorMap = new Map<string, string>();\n\n const normalizeKey = (s: string) => {\n let key = s;\n if (caseInsensitive) {\n key = key.toLowerCase();\n }\n if (accentInsensitive) {\n key = foldAccents(key);\n }\n return key;\n };\n\n let highlightStrings: string[];\n if (isTermArray) {\n highlightStrings = (highlight as HighlightTerm[]).map((term) => {\n if (term.color) {\n colorMap.set(normalizeKey(term.text), term.color);\n }\n return term.text;\n });\n } else if (Array.isArray(highlight)) {\n highlightStrings = highlight as string[];\n } else {\n highlightStrings = [highlight as string];\n }\n\n const highlightChunks = highlighter(children, highlightStrings, {\n wholeWord,\n caseInsensitive,\n accentInsensitive,\n });\n\n return (\n <Text unstyled={unstyled} {...others} __staticSelector=\"Highlight\">\n {highlightChunks.map(({ chunk, highlighted }, i) =>\n highlighted ? (\n <Mark\n unstyled={unstyled}\n key={i}\n color={colorMap.get(normalizeKey(chunk)) || color}\n style={highlightStyles}\n data-highlight={chunk}\n >\n {chunk}\n </Mark>\n ) : (\n <span key={i}>{chunk}</span>\n )\n )}\n </Text>\n );\n});\n\nHighlight.classes = Text.classes;\nHighlight.displayName = '@mantine/core/Highlight';\n\nexport namespace Highlight {\n export type Props = HighlightProps;\n export type Factory = HighlightFactory;\n export type Term = HighlightTerm;\n}\n"],"mappings":";;;;;;;;AA4EA,MAAM,eAAe;CACnB,OAAO;CACP,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACrB;AAEA,MAAa,YAAYA,4BAAAA,oBAAsC,WAAW;CACxE,MAAM,EACJ,UACA,UACA,WACA,iBACA,OACA,WACA,iBACA,mBACA,GAAG,WACDC,kBAAAA,SAAS,aAAa,cAAc,MAAM;CAE9C,MAAM,cAAc,MAAM,QAAQ,SAAS,KAAK,OAAO,UAAU,OAAO;CACxE,MAAM,2BAAW,IAAI,IAAoB;CAEzC,MAAM,gBAAgB,MAAc;EAClC,IAAI,MAAM;EACV,IAAI,iBACF,MAAM,IAAI,YAAY;EAExB,IAAI,mBACF,MAAMC,oBAAAA,YAAY,GAAG;EAEvB,OAAO;CACT;CAEA,IAAI;CACJ,IAAI,aACF,mBAAoB,UAA8B,KAAK,SAAS;EAC9D,IAAI,KAAK,OACP,SAAS,IAAI,aAAa,KAAK,IAAI,GAAG,KAAK,KAAK;EAElD,OAAO,KAAK;CACd,CAAC;MACI,IAAI,MAAM,QAAQ,SAAS,GAChC,mBAAmB;MAEnB,mBAAmB,CAAC,SAAmB;CAGzC,MAAM,kBAAkBC,oBAAAA,YAAY,UAAU,kBAAkB;EAC9D;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;EAAgB;EAAU,GAAI;EAAQ,kBAAiB;YACpD,gBAAgB,KAAK,EAAE,OAAO,eAAe,MAC5C,cACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;GACY;GAEV,OAAO,SAAS,IAAI,aAAa,KAAK,CAAC,KAAK;GAC5C,OAAO;GACP,kBAAgB;aAEf;EACG,GANC,CAMD,IAEN,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAA,UAAe,MAAY,GAAhB,CAAgB,CAE/B;CACI,CAAA;AAEV,CAAC;AAED,UAAU,UAAUD,aAAAA,KAAK;AACzB,UAAU,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlighter.cjs","names":[],"sources":["../../../../src/components/Highlight/highlighter/highlighter.ts"],"sourcesContent":["function escapeRegex(value: string) {\n return value.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&');\n}\n\nexport function foldAccents(text: string): string {\n return text.normalize('NFD').replace(/\\p{M}/gu, '');\n}\n\nfunction foldAccentsWithMap(text: string): { folded: string; map: number[] } {\n let folded = '';\n const map: number[] = [];\n let i = 0;\n\n while (i < text.length) {\n const cp = text.codePointAt(i)!;\n const cpStr = String.fromCodePoint(cp);\n const foldedCp = foldAccents(cpStr);\n for (let j = 0; j < foldedCp.length; j += 1) {\n map.push(i);\n }\n folded += foldedCp;\n i += cpStr.length;\n }\n\n map.push(text.length);\n return { folded, map };\n}\n\nfunction getAccentInsensitiveChunks(value: string, re: RegExp): HighlightChunk[] {\n const { folded, map } = foldAccentsWithMap(value);\n const chunks: HighlightChunk[] = [];\n let lastOrigEnd = 0;\n let match: RegExpExecArray | null;\n\n while ((match = re.exec(folded)) !== null) {\n const foldedStart = match.index;\n const foldedEnd = foldedStart + match[0].length;\n const origStart = map[foldedStart];\n const origEnd = map[foldedEnd];\n\n if (origStart > lastOrigEnd) {\n chunks.push({ chunk: value.slice(lastOrigEnd, origStart), highlighted: false });\n }\n chunks.push({ chunk: value.slice(origStart, origEnd), highlighted: true });\n lastOrigEnd = origEnd;\n\n if (match[0].length === 0) {\n re.lastIndex += 1;\n }\n }\n\n if (lastOrigEnd < value.length) {\n chunks.push({ chunk: value.slice(lastOrigEnd), highlighted: false });\n }\n\n return chunks.filter(({ chunk }) => chunk);\n}\n\nexport interface HighlightChunk {\n chunk: string;\n highlighted: boolean;\n color?: string;\n}\n\nexport interface HighlighterOptions {\n wholeWord?: boolean;\n caseInsensitive?: boolean;\n accentInsensitive?: boolean;\n}\n\nexport function highlighter(\n value: string,\n _highlight: string | string[],\n options: HighlighterOptions = {}\n): HighlightChunk[] {\n if (_highlight == null) {\n return [{ chunk: value, highlighted: false }];\n }\n\n const { wholeWord = false, caseInsensitive = true, accentInsensitive = true } = options;\n\n const prepareTerm = (term: string) =>\n accentInsensitive ? foldAccents(escapeRegex(term)) : escapeRegex(term);\n\n const highlight = Array.isArray(_highlight)\n ? _highlight.map(prepareTerm)\n : prepareTerm(_highlight);\n\n const shouldHighlight = Array.isArray(highlight)\n ? highlight.filter((part) => part.trim().length > 0).length > 0\n : highlight.trim() !== '';\n\n if (!shouldHighlight) {\n return [{ chunk: value, highlighted: false }];\n }\n\n const matcher =\n typeof highlight === 'string'\n ? highlight.trim()\n : highlight\n .filter((part) => part.trim().length !== 0)\n .map((part) => part.trim())\n .sort((a, b) => b.length - a.length)\n .join('|');\n\n const pattern = wholeWord\n ? `(?<![\\\\p{L}\\\\p{N}_])(${matcher})(?![\\\\p{L}\\\\p{N}_])`\n : `(${matcher})`;\n const flags = ['g', caseInsensitive ? 'i' : '', wholeWord ? 'u' : ''].join('');\n const re = new RegExp(pattern, flags);\n\n if (accentInsensitive) {\n return getAccentInsensitiveChunks(value, re);\n }\n\n return value\n .split(re)\n .map((part, index) => ({ chunk: part, highlighted: index % 2 === 1 }))\n .filter(({ chunk }) => chunk);\n}\n"],"mappings":";;AAAA,SAAS,YAAY,OAAe;CAClC,OAAO,MAAM,QAAQ,uBAAuB,MAAM;AACpD;AAEA,SAAgB,YAAY,MAAsB;CAChD,OAAO,KAAK,UAAU,KAAK,
|
|
1
|
+
{"version":3,"file":"highlighter.cjs","names":[],"sources":["../../../../src/components/Highlight/highlighter/highlighter.ts"],"sourcesContent":["function escapeRegex(value: string) {\n return value.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&');\n}\n\nexport function foldAccents(text: string): string {\n return text.normalize('NFD').replace(/\\p{M}/gu, '');\n}\n\nfunction foldAccentsWithMap(text: string): { folded: string; map: number[] } {\n let folded = '';\n const map: number[] = [];\n let i = 0;\n\n while (i < text.length) {\n const cp = text.codePointAt(i)!;\n const cpStr = String.fromCodePoint(cp);\n const foldedCp = foldAccents(cpStr);\n for (let j = 0; j < foldedCp.length; j += 1) {\n map.push(i);\n }\n folded += foldedCp;\n i += cpStr.length;\n }\n\n map.push(text.length);\n return { folded, map };\n}\n\nfunction getAccentInsensitiveChunks(value: string, re: RegExp): HighlightChunk[] {\n const { folded, map } = foldAccentsWithMap(value);\n const chunks: HighlightChunk[] = [];\n let lastOrigEnd = 0;\n let match: RegExpExecArray | null;\n\n while ((match = re.exec(folded)) !== null) {\n const foldedStart = match.index;\n const foldedEnd = foldedStart + match[0].length;\n const origStart = map[foldedStart];\n const origEnd = map[foldedEnd];\n\n if (origStart > lastOrigEnd) {\n chunks.push({ chunk: value.slice(lastOrigEnd, origStart), highlighted: false });\n }\n chunks.push({ chunk: value.slice(origStart, origEnd), highlighted: true });\n lastOrigEnd = origEnd;\n\n if (match[0].length === 0) {\n re.lastIndex += 1;\n }\n }\n\n if (lastOrigEnd < value.length) {\n chunks.push({ chunk: value.slice(lastOrigEnd), highlighted: false });\n }\n\n return chunks.filter(({ chunk }) => chunk);\n}\n\nexport interface HighlightChunk {\n chunk: string;\n highlighted: boolean;\n color?: string;\n}\n\nexport interface HighlighterOptions {\n wholeWord?: boolean;\n caseInsensitive?: boolean;\n accentInsensitive?: boolean;\n}\n\nexport function highlighter(\n value: string,\n _highlight: string | string[],\n options: HighlighterOptions = {}\n): HighlightChunk[] {\n if (_highlight == null) {\n return [{ chunk: value, highlighted: false }];\n }\n\n const { wholeWord = false, caseInsensitive = true, accentInsensitive = true } = options;\n\n const prepareTerm = (term: string) =>\n accentInsensitive ? foldAccents(escapeRegex(term)) : escapeRegex(term);\n\n const highlight = Array.isArray(_highlight)\n ? _highlight.map(prepareTerm)\n : prepareTerm(_highlight);\n\n const shouldHighlight = Array.isArray(highlight)\n ? highlight.filter((part) => part.trim().length > 0).length > 0\n : highlight.trim() !== '';\n\n if (!shouldHighlight) {\n return [{ chunk: value, highlighted: false }];\n }\n\n const matcher =\n typeof highlight === 'string'\n ? highlight.trim()\n : highlight\n .filter((part) => part.trim().length !== 0)\n .map((part) => part.trim())\n .sort((a, b) => b.length - a.length)\n .join('|');\n\n const pattern = wholeWord\n ? `(?<![\\\\p{L}\\\\p{N}_])(${matcher})(?![\\\\p{L}\\\\p{N}_])`\n : `(${matcher})`;\n const flags = ['g', caseInsensitive ? 'i' : '', wholeWord ? 'u' : ''].join('');\n const re = new RegExp(pattern, flags);\n\n if (accentInsensitive) {\n return getAccentInsensitiveChunks(value, re);\n }\n\n return value\n .split(re)\n .map((part, index) => ({ chunk: part, highlighted: index % 2 === 1 }))\n .filter(({ chunk }) => chunk);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCard.cjs","names":["useProps","useHoverCard","HoverCardContext","Popover","HoverCardTarget","HoverCardDropdown","HoverCardGroup"],"sources":["../../../src/components/HoverCard/HoverCard.tsx"],"sourcesContent":["import { ExtendComponent, Factory, useProps } from '../../core';\nimport { Popover, PopoverProps, PopoverStylesNames } from '../Popover';\nimport { PopoverCssVariables } from '../Popover/Popover';\nimport { HoverCardContext, HoverCardContextValue } from './HoverCard.context';\nimport { HoverCardDropdown, HoverCardDropdownProps } from './HoverCardDropdown/HoverCardDropdown';\nimport {\n HoverCardGroup,\n HoverCardGroupContextValue,\n HoverCardGroupProps,\n} from './HoverCardGroup/HoverCardGroup';\nimport { HoverCardTarget, HoverCardTargetProps } from './HoverCardTarget/HoverCardTarget';\nimport { useHoverCard } from './use-hover-card';\n\nexport interface HoverCardProps extends Omit<PopoverProps, 'opened' | 'onChange'> {\n /** Initial opened state */\n initiallyOpened?: boolean;\n\n /** Called when the dropdown is opened */\n onOpen?: () => void;\n\n /** Called when the dropdown is closed */\n onClose?: () => void;\n\n /**\n * Delay in ms before the dropdown opens after mouse enters the target.\n * Overridden by HoverCard.Group delay if used within a group.\n * @default 0\n */\n openDelay?: number;\n\n /**\n * Delay in ms before the dropdown closes after mouse leaves the target or dropdown.\n * Overridden by HoverCard.Group delay if used within a group.\n * @default 150\n */\n closeDelay?: number;\n}\n\nexport type HoverCardFactory = Factory<{\n props: HoverCardProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 150,\n initiallyOpened: false,\n} satisfies Partial<HoverCardProps>;\n\nexport function HoverCard(props: HoverCardProps) {\n const { children, onOpen, onClose, openDelay, closeDelay, initiallyOpened, ...others } = useProps(\n 'HoverCard',\n defaultProps,\n props\n );\n\n const hoverCard = useHoverCard({\n openDelay,\n closeDelay,\n defaultOpened: initiallyOpened,\n onOpen,\n onClose,\n });\n\n return (\n <HoverCardContext\n value={{\n openDropdown: hoverCard.openDropdown,\n closeDropdown: hoverCard.closeDropdown,\n assignTarget: hoverCard.assignTarget,\n getReferenceProps: hoverCard.getReferenceProps,\n getFloatingProps: hoverCard.getFloatingProps,\n reference: hoverCard.reference,\n floating: hoverCard.floating,\n }}\n >\n <Popover {...others} opened={hoverCard.opened} __staticSelector=\"HoverCard\">\n {children}\n </Popover>\n </HoverCardContext>\n );\n}\n\nHoverCard.displayName = '@mantine/core/HoverCard';\nHoverCard.Target = HoverCardTarget;\nHoverCard.Dropdown = HoverCardDropdown;\nHoverCard.Group = HoverCardGroup;\nHoverCard.extend = (input: ExtendComponent<HoverCardFactory>) => input;\n\nexport namespace HoverCard {\n export type Props = HoverCardProps;\n export type DropdownProps = HoverCardDropdownProps;\n export type TargetProps = HoverCardTargetProps;\n export type GroupProps = HoverCardGroupProps;\n export type ContextValue = HoverCardContextValue;\n\n export namespace Group {\n export type Props = HoverCardGroupProps;\n export type ContextValue = HoverCardGroupContextValue;\n }\n}\n"],"mappings":";;;;;;;;;;AA4CA,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;CACZ,iBAAiB;AACnB;AAEA,SAAgB,UAAU,OAAuB;CAC/C,MAAM,EAAE,UAAU,QAAQ,SAAS,WAAW,YAAY,iBAAiB,GAAG,WAAWA,kBAAAA,SACvF,aACA,cACA,KACF;CAEA,MAAM,YAAYC,uBAAAA,aAAa;EAC7B;EACA;EACA,eAAe;EACf;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"HoverCard.cjs","names":["useProps","useHoverCard","HoverCardContext","Popover","HoverCardTarget","HoverCardDropdown","HoverCardGroup"],"sources":["../../../src/components/HoverCard/HoverCard.tsx"],"sourcesContent":["import { ExtendComponent, Factory, useProps } from '../../core';\nimport { Popover, PopoverProps, PopoverStylesNames } from '../Popover';\nimport { PopoverCssVariables } from '../Popover/Popover';\nimport { HoverCardContext, HoverCardContextValue } from './HoverCard.context';\nimport { HoverCardDropdown, HoverCardDropdownProps } from './HoverCardDropdown/HoverCardDropdown';\nimport {\n HoverCardGroup,\n HoverCardGroupContextValue,\n HoverCardGroupProps,\n} from './HoverCardGroup/HoverCardGroup';\nimport { HoverCardTarget, HoverCardTargetProps } from './HoverCardTarget/HoverCardTarget';\nimport { useHoverCard } from './use-hover-card';\n\nexport interface HoverCardProps extends Omit<PopoverProps, 'opened' | 'onChange'> {\n /** Initial opened state */\n initiallyOpened?: boolean;\n\n /** Called when the dropdown is opened */\n onOpen?: () => void;\n\n /** Called when the dropdown is closed */\n onClose?: () => void;\n\n /**\n * Delay in ms before the dropdown opens after mouse enters the target.\n * Overridden by HoverCard.Group delay if used within a group.\n * @default 0\n */\n openDelay?: number;\n\n /**\n * Delay in ms before the dropdown closes after mouse leaves the target or dropdown.\n * Overridden by HoverCard.Group delay if used within a group.\n * @default 150\n */\n closeDelay?: number;\n}\n\nexport type HoverCardFactory = Factory<{\n props: HoverCardProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 150,\n initiallyOpened: false,\n} satisfies Partial<HoverCardProps>;\n\nexport function HoverCard(props: HoverCardProps) {\n const { children, onOpen, onClose, openDelay, closeDelay, initiallyOpened, ...others } = useProps(\n 'HoverCard',\n defaultProps,\n props\n );\n\n const hoverCard = useHoverCard({\n openDelay,\n closeDelay,\n defaultOpened: initiallyOpened,\n onOpen,\n onClose,\n });\n\n return (\n <HoverCardContext\n value={{\n openDropdown: hoverCard.openDropdown,\n closeDropdown: hoverCard.closeDropdown,\n assignTarget: hoverCard.assignTarget,\n getReferenceProps: hoverCard.getReferenceProps,\n getFloatingProps: hoverCard.getFloatingProps,\n reference: hoverCard.reference,\n floating: hoverCard.floating,\n }}\n >\n <Popover {...others} opened={hoverCard.opened} __staticSelector=\"HoverCard\">\n {children}\n </Popover>\n </HoverCardContext>\n );\n}\n\nHoverCard.displayName = '@mantine/core/HoverCard';\nHoverCard.Target = HoverCardTarget;\nHoverCard.Dropdown = HoverCardDropdown;\nHoverCard.Group = HoverCardGroup;\nHoverCard.extend = (input: ExtendComponent<HoverCardFactory>) => input;\n\nexport namespace HoverCard {\n export type Props = HoverCardProps;\n export type DropdownProps = HoverCardDropdownProps;\n export type TargetProps = HoverCardTargetProps;\n export type GroupProps = HoverCardGroupProps;\n export type ContextValue = HoverCardContextValue;\n\n export namespace Group {\n export type Props = HoverCardGroupProps;\n export type ContextValue = HoverCardGroupContextValue;\n }\n}\n"],"mappings":";;;;;;;;;;AA4CA,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;CACZ,iBAAiB;AACnB;AAEA,SAAgB,UAAU,OAAuB;CAC/C,MAAM,EAAE,UAAU,QAAQ,SAAS,WAAW,YAAY,iBAAiB,GAAG,WAAWA,kBAAAA,SACvF,aACA,cACA,KACF;CAEA,MAAM,YAAYC,uBAAAA,aAAa;EAC7B;EACA;EACA,eAAe;EACf;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,kBAAD;EACE,OAAO;GACL,cAAc,UAAU;GACxB,eAAe,UAAU;GACzB,cAAc,UAAU;GACxB,mBAAmB,UAAU;GAC7B,kBAAkB,UAAU;GAC5B,WAAW,UAAU;GACrB,UAAU,UAAU;EACtB;YAEA,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD;GAAS,GAAI;GAAQ,QAAQ,UAAU;GAAQ,kBAAiB;GAC7D;EACM,CAAA;CACO,CAAA;AAEtB;AAEA,UAAU,cAAc;AACxB,UAAU,SAASC,wBAAAA;AACnB,UAAU,WAAWC,0BAAAA;AACrB,UAAU,QAAQC,uBAAAA;AAClB,UAAU,UAAU,UAA6C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCard.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/HoverCard/HoverCard.context.ts"],"sourcesContent":["import { createSafeContext } from '../../core';\n\nexport interface HoverCardContextValue {\n openDropdown: () => void;\n closeDropdown: () => void;\n assignTarget: (node: HTMLElement | null) => void;\n getReferenceProps?: () => any;\n getFloatingProps?: () => any;\n reference?: (node: HTMLElement | null) => void;\n floating?: (node: HTMLElement | null) => void;\n}\n\nexport const [HoverCardContext, useHoverCardContext] = createSafeContext<HoverCardContextValue>(\n 'HoverCard component was not found in the tree'\n);\n"],"mappings":";;AAYA,MAAa,CAAC,kBAAkB,6FAAuBA,
|
|
1
|
+
{"version":3,"file":"HoverCard.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/HoverCard/HoverCard.context.ts"],"sourcesContent":["import { createSafeContext } from '../../core';\n\nexport interface HoverCardContextValue {\n openDropdown: () => void;\n closeDropdown: () => void;\n assignTarget: (node: HTMLElement | null) => void;\n getReferenceProps?: () => any;\n getFloatingProps?: () => any;\n reference?: (node: HTMLElement | null) => void;\n floating?: (node: HTMLElement | null) => void;\n}\n\nexport const [HoverCardContext, useHoverCardContext] = createSafeContext<HoverCardContextValue>(\n 'HoverCard component was not found in the tree'\n);\n"],"mappings":";;AAYA,MAAa,CAAC,kBAAkB,6FAAuBA,CAAAA,CAAAA,kBACrD,+CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCardDropdown.cjs","names":["useProps","useHoverCardContext","HoverCardGroupContext","Popover","createEventHandler"],"sources":["../../../../src/components/HoverCard/HoverCardDropdown/HoverCardDropdown.tsx"],"sourcesContent":["import { use } from 'react';\nimport { createEventHandler, useProps } from '../../../core';\nimport { Popover, PopoverDropdownProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HoverCardGroupContext } from '../HoverCardGroup/HoverCardGroup';\n\nexport interface HoverCardDropdownProps extends PopoverDropdownProps {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nexport function HoverCardDropdown(props: HoverCardDropdownProps) {\n const { children, onMouseEnter, onMouseLeave, ...others } = useProps(\n 'HoverCardDropdown',\n null,\n props\n );\n\n const ctx = useHoverCardContext();\n const groupCtx = use(HoverCardGroupContext);\n\n if (groupCtx.withinGroup && ctx.getFloatingProps && ctx.floating) {\n const floatingProps = ctx.getFloatingProps();\n\n return (\n <Popover.Dropdown\n ref={ctx.floating}\n {...floatingProps}\n onMouseEnter={createEventHandler<any>(onMouseEnter, floatingProps.onMouseEnter)}\n onMouseLeave={createEventHandler<any>(onMouseLeave, floatingProps.onMouseLeave)}\n {...others}\n >\n {children}\n </Popover.Dropdown>\n );\n }\n\n const handleMouseEnter = createEventHandler<any>(onMouseEnter, ctx.openDropdown);\n const handleMouseLeave = createEventHandler<any>(onMouseLeave!, ctx.closeDropdown);\n\n return (\n <Popover.Dropdown onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave} {...others}>\n {children}\n </Popover.Dropdown>\n );\n}\n\nHoverCardDropdown.displayName = '@mantine/core/HoverCardDropdown';\n"],"mappings":";;;;;;;;;AAWA,SAAgB,kBAAkB,OAA+B;CAC/D,MAAM,EAAE,UAAU,cAAc,cAAc,GAAG,WAAWA,kBAAAA,SAC1D,qBACA,MACA,KACF;CAEA,MAAM,MAAMC,0BAAAA,oBAAoB;CAGhC,KAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"HoverCardDropdown.cjs","names":["useProps","useHoverCardContext","HoverCardGroupContext","Popover","createEventHandler"],"sources":["../../../../src/components/HoverCard/HoverCardDropdown/HoverCardDropdown.tsx"],"sourcesContent":["import { use } from 'react';\nimport { createEventHandler, useProps } from '../../../core';\nimport { Popover, PopoverDropdownProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HoverCardGroupContext } from '../HoverCardGroup/HoverCardGroup';\n\nexport interface HoverCardDropdownProps extends PopoverDropdownProps {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nexport function HoverCardDropdown(props: HoverCardDropdownProps) {\n const { children, onMouseEnter, onMouseLeave, ...others } = useProps(\n 'HoverCardDropdown',\n null,\n props\n );\n\n const ctx = useHoverCardContext();\n const groupCtx = use(HoverCardGroupContext);\n\n if (groupCtx.withinGroup && ctx.getFloatingProps && ctx.floating) {\n const floatingProps = ctx.getFloatingProps();\n\n return (\n <Popover.Dropdown\n ref={ctx.floating}\n {...floatingProps}\n onMouseEnter={createEventHandler<any>(onMouseEnter, floatingProps.onMouseEnter)}\n onMouseLeave={createEventHandler<any>(onMouseLeave, floatingProps.onMouseLeave)}\n {...others}\n >\n {children}\n </Popover.Dropdown>\n );\n }\n\n const handleMouseEnter = createEventHandler<any>(onMouseEnter, ctx.openDropdown);\n const handleMouseLeave = createEventHandler<any>(onMouseLeave!, ctx.closeDropdown);\n\n return (\n <Popover.Dropdown onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave} {...others}>\n {children}\n </Popover.Dropdown>\n );\n}\n\nHoverCardDropdown.displayName = '@mantine/core/HoverCardDropdown';\n"],"mappings":";;;;;;;;;AAWA,SAAgB,kBAAkB,OAA+B;CAC/D,MAAM,EAAE,UAAU,cAAc,cAAc,GAAG,WAAWA,kBAAAA,SAC1D,qBACA,MACA,KACF;CAEA,MAAM,MAAMC,0BAAAA,oBAAoB;CAGhC,KAAA,GAAA,MAAA,IAAA,CAFqBC,uBAAAA,qBAEV,CAAC,CAAC,eAAe,IAAI,oBAAoB,IAAI,UAAU;EAChE,MAAM,gBAAgB,IAAI,iBAAiB;EAE3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,QAAQ,UAAT;GACE,KAAK,IAAI;GACT,GAAI;GACJ,cAAcC,6BAAAA,mBAAwB,cAAc,cAAc,YAAY;GAC9E,cAAcA,6BAAAA,mBAAwB,cAAc,cAAc,YAAY;GAC9E,GAAI;GAEH;EACe,CAAA;CAEtB;CAEA,MAAM,mBAAmBA,6BAAAA,mBAAwB,cAAc,IAAI,YAAY;CAC/E,MAAM,mBAAmBA,6BAAAA,mBAAwB,cAAe,IAAI,aAAa;CAEjF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,gBAAAA,QAAQ,UAAT;EAAkB,cAAc;EAAkB,cAAc;EAAkB,GAAI;EACnF;CACe,CAAA;AAEtB;AAEA,kBAAkB,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCardGroup.cjs","names":["useProps","FloatingDelayGroup"],"sources":["../../../../src/components/HoverCard/HoverCardGroup/HoverCardGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { ExtendComponent, Factory, MantineThemeComponent, useProps } from '../../../core';\n\nexport interface HoverCardGroupContextValue {\n withinGroup: boolean;\n}\n\nexport const HoverCardGroupContext = createContext<HoverCardGroupContextValue>({\n withinGroup: false,\n});\n\nexport interface HoverCardGroupProps {\n /** `HoverCard` components */\n children: React.ReactNode;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n}\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 0,\n} satisfies Partial<HoverCardGroupProps>;\n\nexport function HoverCardGroup(props: HoverCardGroupProps) {\n const { openDelay, closeDelay, children } = useProps('HoverCardGroup', defaultProps, props);\n\n return (\n <HoverCardGroupContext value={{ withinGroup: true }}>\n <FloatingDelayGroup delay={{ open: openDelay, close: closeDelay }}>\n {children}\n </FloatingDelayGroup>\n </HoverCardGroupContext>\n );\n}\n\nexport type HoverCardGroupFactory = Factory<{\n props: HoverCardGroupProps;\n}>;\n\nHoverCardGroup.displayName = '@mantine/core/HoverCardGroup';\nHoverCardGroup.extend = (c: ExtendComponent<HoverCardGroupFactory>): MantineThemeComponent => c;\n"],"mappings":";;;;;;AAQA,MAAa,yBAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"HoverCardGroup.cjs","names":["useProps","FloatingDelayGroup"],"sources":["../../../../src/components/HoverCard/HoverCardGroup/HoverCardGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { ExtendComponent, Factory, MantineThemeComponent, useProps } from '../../../core';\n\nexport interface HoverCardGroupContextValue {\n withinGroup: boolean;\n}\n\nexport const HoverCardGroupContext = createContext<HoverCardGroupContextValue>({\n withinGroup: false,\n});\n\nexport interface HoverCardGroupProps {\n /** `HoverCard` components */\n children: React.ReactNode;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n}\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 0,\n} satisfies Partial<HoverCardGroupProps>;\n\nexport function HoverCardGroup(props: HoverCardGroupProps) {\n const { openDelay, closeDelay, children } = useProps('HoverCardGroup', defaultProps, props);\n\n return (\n <HoverCardGroupContext value={{ withinGroup: true }}>\n <FloatingDelayGroup delay={{ open: openDelay, close: closeDelay }}>\n {children}\n </FloatingDelayGroup>\n </HoverCardGroupContext>\n );\n}\n\nexport type HoverCardGroupFactory = Factory<{\n props: HoverCardGroupProps;\n}>;\n\nHoverCardGroup.displayName = '@mantine/core/HoverCardGroup';\nHoverCardGroup.extend = (c: ExtendComponent<HoverCardGroupFactory>): MantineThemeComponent => c;\n"],"mappings":";;;;;;AAQA,MAAa,yBAAA,GAAA,MAAA,cAAA,CAAkE,EAC7E,aAAa,MACf,CAAC;AAaD,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;AACd;AAEA,SAAgB,eAAe,OAA4B;CACzD,MAAM,EAAE,WAAW,YAAY,aAAaA,kBAAAA,SAAS,kBAAkB,cAAc,KAAK;CAE1F,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EAAuB,OAAO,EAAE,aAAa,KAAK;YAChD,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,oBAAD;GAAoB,OAAO;IAAE,MAAM;IAAW,OAAO;GAAW;GAC7D;EACiB,CAAA;CACC,CAAA;AAE3B;AAMA,eAAe,cAAc;AAC7B,eAAe,UAAU,MAAqE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCardTarget.cjs","names":["useProps","getSingleElementChild","useHoverCardContext","HoverCardGroupContext","getRefProp","Popover","createEventHandler"],"sources":["../../../../src/components/HoverCard/HoverCardTarget/HoverCardTarget.tsx"],"sourcesContent":["import { cloneElement, use } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createEventHandler, getRefProp, getSingleElementChild, useProps } from '../../../core';\nimport { Popover, PopoverTargetProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HoverCardGroupContext } from '../HoverCardGroup/HoverCardGroup';\n\nexport interface HoverCardTargetProps extends PopoverTargetProps {\n /**\n * Name of the prop to wrap event listeners in.\n * Use when the target component expects event listeners in a nested object.\n * For example, some components expect `componentProps={{ onMouseEnter, onMouseLeave }}`.\n * @default undefined (event listeners passed directly to component)\n */\n eventPropsWrapperName?: string;\n}\n\nconst defaultProps = {\n refProp: 'ref',\n} satisfies Partial<HoverCardTargetProps>;\n\nexport function HoverCardTarget(props: HoverCardTargetProps) {\n const { children, refProp, eventPropsWrapperName, ...others } = useProps(\n 'HoverCardTarget',\n defaultProps,\n props\n );\n\n const child = getSingleElementChild(children);\n if (!child) {\n throw new Error(\n 'HoverCard.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useHoverCardContext();\n const groupContext = use(HoverCardGroupContext);\n const targetRef = useMergedRef(getRefProp(child), ctx.assignTarget);\n\n if (groupContext.withinGroup && ctx.getReferenceProps && ctx.reference) {\n const referenceProps = ctx.getReferenceProps();\n\n return (\n <Popover.Target refProp={refProp} {...others}>\n {cloneElement(\n child,\n eventPropsWrapperName\n ? { [eventPropsWrapperName]: { ...referenceProps, ref: ctx.reference } }\n : { ...referenceProps, ref: ctx.reference }\n )}\n </Popover.Target>\n );\n }\n\n const onMouseEnter = createEventHandler((child.props as any).onMouseEnter, ctx.openDropdown);\n const onMouseLeave = createEventHandler((child.props as any).onMouseLeave, ctx.closeDropdown);\n\n const eventListeners = { onMouseEnter, onMouseLeave };\n\n const clonedProps: any = {\n ...(eventPropsWrapperName ? { [eventPropsWrapperName]: eventListeners } : eventListeners),\n ref: targetRef,\n };\n\n return (\n <Popover.Target refProp={refProp} {...others}>\n {cloneElement(child, clonedProps)}\n </Popover.Target>\n );\n}\n\nHoverCardTarget.displayName = '@mantine/core/HoverCardTarget';\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,eAAe,EACnB,SAAS,MACX;AAEA,SAAgB,gBAAgB,OAA6B;CAC3D,MAAM,EAAE,UAAU,SAAS,uBAAuB,GAAG,WAAWA,kBAAAA,SAC9D,mBACA,cACA,KACF;CAEA,MAAM,QAAQC,iCAAAA,sBAAsB,QAAQ;CAC5C,IAAI,CAAC,OACH,MAAM,IAAI,MACR,oKACF;CAGF,MAAM,MAAMC,0BAAAA,oBAAoB;CAChC,MAAM,gBAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"HoverCardTarget.cjs","names":["useProps","getSingleElementChild","useHoverCardContext","HoverCardGroupContext","getRefProp","Popover","createEventHandler"],"sources":["../../../../src/components/HoverCard/HoverCardTarget/HoverCardTarget.tsx"],"sourcesContent":["import { cloneElement, use } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createEventHandler, getRefProp, getSingleElementChild, useProps } from '../../../core';\nimport { Popover, PopoverTargetProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HoverCardGroupContext } from '../HoverCardGroup/HoverCardGroup';\n\nexport interface HoverCardTargetProps extends PopoverTargetProps {\n /**\n * Name of the prop to wrap event listeners in.\n * Use when the target component expects event listeners in a nested object.\n * For example, some components expect `componentProps={{ onMouseEnter, onMouseLeave }}`.\n * @default undefined (event listeners passed directly to component)\n */\n eventPropsWrapperName?: string;\n}\n\nconst defaultProps = {\n refProp: 'ref',\n} satisfies Partial<HoverCardTargetProps>;\n\nexport function HoverCardTarget(props: HoverCardTargetProps) {\n const { children, refProp, eventPropsWrapperName, ...others } = useProps(\n 'HoverCardTarget',\n defaultProps,\n props\n );\n\n const child = getSingleElementChild(children);\n if (!child) {\n throw new Error(\n 'HoverCard.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useHoverCardContext();\n const groupContext = use(HoverCardGroupContext);\n const targetRef = useMergedRef(getRefProp(child), ctx.assignTarget);\n\n if (groupContext.withinGroup && ctx.getReferenceProps && ctx.reference) {\n const referenceProps = ctx.getReferenceProps();\n\n return (\n <Popover.Target refProp={refProp} {...others}>\n {cloneElement(\n child,\n eventPropsWrapperName\n ? { [eventPropsWrapperName]: { ...referenceProps, ref: ctx.reference } }\n : { ...referenceProps, ref: ctx.reference }\n )}\n </Popover.Target>\n );\n }\n\n const onMouseEnter = createEventHandler((child.props as any).onMouseEnter, ctx.openDropdown);\n const onMouseLeave = createEventHandler((child.props as any).onMouseLeave, ctx.closeDropdown);\n\n const eventListeners = { onMouseEnter, onMouseLeave };\n\n const clonedProps: any = {\n ...(eventPropsWrapperName ? { [eventPropsWrapperName]: eventListeners } : eventListeners),\n ref: targetRef,\n };\n\n return (\n <Popover.Target refProp={refProp} {...others}>\n {cloneElement(child, clonedProps)}\n </Popover.Target>\n );\n}\n\nHoverCardTarget.displayName = '@mantine/core/HoverCardTarget';\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,eAAe,EACnB,SAAS,MACX;AAEA,SAAgB,gBAAgB,OAA6B;CAC3D,MAAM,EAAE,UAAU,SAAS,uBAAuB,GAAG,WAAWA,kBAAAA,SAC9D,mBACA,cACA,KACF;CAEA,MAAM,QAAQC,iCAAAA,sBAAsB,QAAQ;CAC5C,IAAI,CAAC,OACH,MAAM,IAAI,MACR,oKACF;CAGF,MAAM,MAAMC,0BAAAA,oBAAoB;CAChC,MAAM,gBAAA,GAAA,MAAA,IAAA,CAAmBC,uBAAAA,qBAAqB;CAC9C,MAAM,aAAA,GAAA,eAAA,aAAA,CAAyBC,qBAAAA,WAAW,KAAK,GAAG,IAAI,YAAY;CAElE,IAAI,aAAa,eAAe,IAAI,qBAAqB,IAAI,WAAW;EACtE,MAAM,iBAAiB,IAAI,kBAAkB;EAE7C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,QAAQ,QAAT;GAAyB;GAAS,GAAI;qCAElC,OACA,wBACI,GAAG,wBAAwB;IAAE,GAAG;IAAgB,KAAK,IAAI;GAAU,EAAE,IACrE;IAAE,GAAG;IAAgB,KAAK,IAAI;GAAU,CAC9C;EACc,CAAA;CAEpB;CAKA,MAAM,iBAAiB;EAAE,cAHJC,6BAAAA,mBAAoB,MAAM,MAAc,cAAc,IAAI,YAG3C;EAAG,cAFlBA,6BAAAA,mBAAoB,MAAM,MAAc,cAAc,IAAI,aAE7B;CAAE;CAEpD,MAAM,cAAmB;EACvB,GAAI,wBAAwB,GAAG,wBAAwB,eAAe,IAAI;EAC1E,KAAK;CACP;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,gBAAAA,QAAQ,QAAT;EAAyB;EAAS,GAAI;oCACtB,OAAO,WAAW;CAClB,CAAA;AAEpB;AAEA,gBAAgB,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-hover-card.cjs","names":["HoverCardGroupContext"],"sources":["../../../src/components/HoverCard/use-hover-card.ts"],"sourcesContent":["import { use, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useDelayGroup,\n useDismiss,\n useFloating,\n useHover,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useId } from '@mantine/hooks';\nimport { HoverCardGroupContext } from './HoverCardGroup/HoverCardGroup';\n\ninterface UseHoverCard {\n openDelay?: number;\n closeDelay?: number;\n opened?: boolean;\n defaultOpened?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport function useHoverCard(settings: UseHoverCard) {\n const [uncontrolledOpened, setUncontrolledOpened] = useState(settings.defaultOpened);\n const controlled = typeof settings.opened === 'boolean';\n const opened = controlled ? settings.opened : uncontrolledOpened;\n const withinGroup = use(HoverCardGroupContext).withinGroup;\n const uid = useId();\n\n const openTimeout = useRef(-1);\n const closeTimeout = useRef(-1);\n const targetRef = useRef<HTMLElement | null>(null);\n\n const assignTarget = useCallback((node: HTMLElement | null) => {\n targetRef.current = node;\n }, []);\n\n const clearTimeouts = useCallback(() => {\n window.clearTimeout(openTimeout.current);\n window.clearTimeout(closeTimeout.current);\n }, []);\n\n const onChange = useCallback(\n (_opened: boolean) => {\n setUncontrolledOpened(_opened);\n\n if (_opened) {\n setCurrentId(uid);\n settings.onOpen?.();\n } else {\n settings.onClose?.();\n }\n },\n [uid, settings.onOpen, settings.onClose]\n );\n\n const { context, refs } = useFloating({\n open: opened,\n onOpenChange: onChange,\n });\n\n const { delay: groupDelay, setCurrentId } = useDelayGroup(context, { id: uid });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n enabled: true,\n delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },\n }),\n useRole(context, { role: 'dialog' }),\n useDismiss(context, { enabled: withinGroup }),\n ]);\n\n const openDropdown = useCallback(() => {\n if (withinGroup) {\n return; // Group mode handles this automatically\n }\n\n clearTimeouts();\n if (settings.openDelay === 0 || settings.openDelay === undefined) {\n onChange(true);\n } else {\n openTimeout.current = window.setTimeout(() => onChange(true), settings.openDelay);\n }\n }, [withinGroup, clearTimeouts, settings.openDelay, onChange]);\n\n const closeDropdown = useCallback(() => {\n if (withinGroup) {\n return; // Group mode handles this automatically\n }\n\n clearTimeouts();\n if (settings.closeDelay === 0 || settings.closeDelay === undefined) {\n onChange(false);\n } else {\n closeTimeout.current = window.setTimeout(() => onChange(false), settings.closeDelay);\n }\n }, [withinGroup, clearTimeouts, settings.closeDelay, onChange]);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => () => clearTimeouts(), [clearTimeouts]);\n\n useEffect(() => {\n if (!opened || withinGroup || typeof IntersectionObserver === 'undefined') {\n return undefined;\n }\n\n const node = targetRef.current;\n if (!node) {\n return undefined;\n }\n\n const observer = new IntersectionObserver(() => {\n if (!node.isConnected || node.getClientRects().length === 0) {\n clearTimeouts();\n onChangeRef.current(false);\n }\n });\n\n observer.observe(node);\n return () => observer.disconnect();\n }, [opened, withinGroup, clearTimeouts]);\n\n return {\n opened,\n reference: refs.setReference,\n floating: refs.setFloating,\n assignTarget,\n getReferenceProps,\n getFloatingProps,\n openDropdown,\n closeDropdown,\n };\n}\n"],"mappings":";;;;;;AAqBA,SAAgB,aAAa,UAAwB;CACnD,MAAM,CAAC,oBAAoB,0BAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"use-hover-card.cjs","names":["HoverCardGroupContext"],"sources":["../../../src/components/HoverCard/use-hover-card.ts"],"sourcesContent":["import { use, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useDelayGroup,\n useDismiss,\n useFloating,\n useHover,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { useId } from '@mantine/hooks';\nimport { HoverCardGroupContext } from './HoverCardGroup/HoverCardGroup';\n\ninterface UseHoverCard {\n openDelay?: number;\n closeDelay?: number;\n opened?: boolean;\n defaultOpened?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport function useHoverCard(settings: UseHoverCard) {\n const [uncontrolledOpened, setUncontrolledOpened] = useState(settings.defaultOpened);\n const controlled = typeof settings.opened === 'boolean';\n const opened = controlled ? settings.opened : uncontrolledOpened;\n const withinGroup = use(HoverCardGroupContext).withinGroup;\n const uid = useId();\n\n const openTimeout = useRef(-1);\n const closeTimeout = useRef(-1);\n const targetRef = useRef<HTMLElement | null>(null);\n\n const assignTarget = useCallback((node: HTMLElement | null) => {\n targetRef.current = node;\n }, []);\n\n const clearTimeouts = useCallback(() => {\n window.clearTimeout(openTimeout.current);\n window.clearTimeout(closeTimeout.current);\n }, []);\n\n const onChange = useCallback(\n (_opened: boolean) => {\n setUncontrolledOpened(_opened);\n\n if (_opened) {\n setCurrentId(uid);\n settings.onOpen?.();\n } else {\n settings.onClose?.();\n }\n },\n [uid, settings.onOpen, settings.onClose]\n );\n\n const { context, refs } = useFloating({\n open: opened,\n onOpenChange: onChange,\n });\n\n const { delay: groupDelay, setCurrentId } = useDelayGroup(context, { id: uid });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n enabled: true,\n delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },\n }),\n useRole(context, { role: 'dialog' }),\n useDismiss(context, { enabled: withinGroup }),\n ]);\n\n const openDropdown = useCallback(() => {\n if (withinGroup) {\n return; // Group mode handles this automatically\n }\n\n clearTimeouts();\n if (settings.openDelay === 0 || settings.openDelay === undefined) {\n onChange(true);\n } else {\n openTimeout.current = window.setTimeout(() => onChange(true), settings.openDelay);\n }\n }, [withinGroup, clearTimeouts, settings.openDelay, onChange]);\n\n const closeDropdown = useCallback(() => {\n if (withinGroup) {\n return; // Group mode handles this automatically\n }\n\n clearTimeouts();\n if (settings.closeDelay === 0 || settings.closeDelay === undefined) {\n onChange(false);\n } else {\n closeTimeout.current = window.setTimeout(() => onChange(false), settings.closeDelay);\n }\n }, [withinGroup, clearTimeouts, settings.closeDelay, onChange]);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => () => clearTimeouts(), [clearTimeouts]);\n\n useEffect(() => {\n if (!opened || withinGroup || typeof IntersectionObserver === 'undefined') {\n return undefined;\n }\n\n const node = targetRef.current;\n if (!node) {\n return undefined;\n }\n\n const observer = new IntersectionObserver(() => {\n if (!node.isConnected || node.getClientRects().length === 0) {\n clearTimeouts();\n onChangeRef.current(false);\n }\n });\n\n observer.observe(node);\n return () => observer.disconnect();\n }, [opened, withinGroup, clearTimeouts]);\n\n return {\n opened,\n reference: refs.setReference,\n floating: refs.setFloating,\n assignTarget,\n getReferenceProps,\n getFloatingProps,\n openDropdown,\n closeDropdown,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.cjs","names":["createVarsResolver","getRadius","polymorphicFactory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n getRadius,\n MantineRadius,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Image.module.css';\n\nexport type ImageStylesNames = 'root';\nexport type ImageCssVariables = {\n root: '--image-radius' | '--image-object-fit';\n};\n\nexport interface ImageProps extends BoxProps, StylesApiProps<ImageFactory> {\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 0 */\n radius?: MantineRadius;\n\n /** Controls `object-fit` style @default 'cover' */\n fit?: React.CSSProperties['objectFit'];\n\n /** Image url used as a fallback if the image cannot be loaded */\n fallbackSrc?: string;\n\n /** Image url */\n src?: any;\n\n /** Called when image fails to load */\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;\n}\n\nexport type ImageFactory = PolymorphicFactory<{\n props: ImageProps;\n defaultRef: HTMLImageElement;\n defaultComponent: 'img';\n stylesNames: ImageStylesNames;\n vars: ImageCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<ImageFactory>((_, { radius, fit }) => ({\n root: {\n '--image-radius': radius === undefined ? undefined : getRadius(radius),\n '--image-object-fit': fit,\n },\n}));\n\nexport const Image = polymorphicFactory<ImageFactory>((_props) => {\n const props = useProps('Image', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n onError,\n src,\n radius,\n fit,\n fallbackSrc,\n mod,\n attributes,\n ...others\n } = props;\n\n const [error, setError] = useState(!src);\n\n useEffect(() => setError(!src), [src]);\n\n const getStyles = useStyles<ImageFactory>({\n name: 'Image',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n if (error && fallbackSrc) {\n return (\n <Box\n component=\"img\"\n src={fallbackSrc}\n {...getStyles('root')}\n onError={onError}\n mod={['fallback', mod]}\n {...others}\n />\n );\n }\n\n return (\n <Box\n component=\"img\"\n {...getStyles('root')}\n src={src}\n onError={(event) => {\n onError?.(event);\n setError(true);\n }}\n mod={mod}\n {...others}\n />\n );\n});\n\nImage.classes = classes;\nImage.varsResolver = varsResolver;\nImage.displayName = '@mantine/core/Image';\n\nexport namespace Image {\n export type Props = ImageProps;\n export type StylesNames = ImageStylesNames;\n export type CssVariables = ImageCssVariables;\n export type Factory = ImageFactory;\n}\n"],"mappings":";;;;;;;;;;;AA6CA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,QAAQ,WAAW,EAC7E,MAAM;CACJ,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACrE,sBAAsB;AACxB,EACF,EAAE;AAEF,MAAa,QAAQC,4BAAAA,oBAAkC,WAAW;CAChE,MAAM,QAAQC,kBAAAA,SAAS,SAAS,MAAM,MAAM;CAC5C,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,SACA,KACA,QACA,KACA,aACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"Image.cjs","names":["createVarsResolver","getRadius","polymorphicFactory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n getRadius,\n MantineRadius,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Image.module.css';\n\nexport type ImageStylesNames = 'root';\nexport type ImageCssVariables = {\n root: '--image-radius' | '--image-object-fit';\n};\n\nexport interface ImageProps extends BoxProps, StylesApiProps<ImageFactory> {\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 0 */\n radius?: MantineRadius;\n\n /** Controls `object-fit` style @default 'cover' */\n fit?: React.CSSProperties['objectFit'];\n\n /** Image url used as a fallback if the image cannot be loaded */\n fallbackSrc?: string;\n\n /** Image url */\n src?: any;\n\n /** Called when image fails to load */\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;\n}\n\nexport type ImageFactory = PolymorphicFactory<{\n props: ImageProps;\n defaultRef: HTMLImageElement;\n defaultComponent: 'img';\n stylesNames: ImageStylesNames;\n vars: ImageCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<ImageFactory>((_, { radius, fit }) => ({\n root: {\n '--image-radius': radius === undefined ? undefined : getRadius(radius),\n '--image-object-fit': fit,\n },\n}));\n\nexport const Image = polymorphicFactory<ImageFactory>((_props) => {\n const props = useProps('Image', null, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n onError,\n src,\n radius,\n fit,\n fallbackSrc,\n mod,\n attributes,\n ...others\n } = props;\n\n const [error, setError] = useState(!src);\n\n useEffect(() => setError(!src), [src]);\n\n const getStyles = useStyles<ImageFactory>({\n name: 'Image',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n if (error && fallbackSrc) {\n return (\n <Box\n component=\"img\"\n src={fallbackSrc}\n {...getStyles('root')}\n onError={onError}\n mod={['fallback', mod]}\n {...others}\n />\n );\n }\n\n return (\n <Box\n component=\"img\"\n {...getStyles('root')}\n src={src}\n onError={(event) => {\n onError?.(event);\n setError(true);\n }}\n mod={mod}\n {...others}\n />\n );\n});\n\nImage.classes = classes;\nImage.varsResolver = varsResolver;\nImage.displayName = '@mantine/core/Image';\n\nexport namespace Image {\n export type Props = ImageProps;\n export type StylesNames = ImageStylesNames;\n export type CssVariables = ImageCssVariables;\n export type Factory = ImageFactory;\n}\n"],"mappings":";;;;;;;;;;;AA6CA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,QAAQ,WAAW,EAC7E,MAAM;CACJ,kBAAkB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACrE,sBAAsB;AACxB,EACF,EAAE;AAEF,MAAa,QAAQC,4BAAAA,oBAAkC,WAAW;CAChE,MAAM,QAAQC,kBAAAA,SAAS,SAAS,MAAM,MAAM;CAC5C,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,SACA,KACA,QACA,KACA,aACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,SAAA,CAAqB,CAAC,GAAG;CAEvC,CAAA,GAAA,MAAA,UAAA,OAAgB,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;CAErC,MAAM,YAAYC,mBAAAA,UAAwB;EACxC,MAAM;EACN,SAAA,qBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,IAAI,SAAS,aACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,WAAU;EACV,KAAK;EACL,GAAI,UAAU,MAAM;EACX;EACT,KAAK,CAAC,YAAY,GAAG;EACrB,GAAI;CACL,CAAA;CAIL,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,YAAAA,KAAD;EACE,WAAU;EACV,GAAI,UAAU,MAAM;EACf;EACL,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,SAAS,IAAI;EACf;EACK;EACL,GAAI;CACL,CAAA;AAEL,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","rem","getRadius","getPositionVariables","factory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Indicator/Indicator.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getThemeColor,\n MantineColor,\n MantineRadius,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { getPositionVariables } from './get-position-variables/get-position-variables';\nimport { IndicatorPosition } from './Indicator.types';\nimport classes from './Indicator.module.css';\n\nexport type IndicatorPositionVariables =\n | '--indicator-top'\n | '--indicator-bottom'\n | '--indicator-left'\n | '--indicator-right'\n | '--indicator-translate-x'\n | '--indicator-translate-y';\n\nexport type IndicatorStylesNames = 'root' | 'indicator';\nexport type IndicatorCssVariables = {\n root:\n | '--indicator-color'\n | '--indicator-text-color'\n | '--indicator-size'\n | '--indicator-radius'\n | '--indicator-z-index'\n | IndicatorPositionVariables;\n};\n\nexport interface IndicatorProps\n extends BoxProps, StylesApiProps<IndicatorFactory>, ElementProps<'div'> {\n /** Indicator position relative to the target element @default 'top-end' */\n position?: IndicatorPosition;\n\n /** Distance in pixels to offset the indicator from its default position, useful for elements with border-radius. Can be a number for uniform offset or an object with `x` and `y` properties for separate horizontal and vertical offsets @default 0 */\n offset?: number | { x: number; y: number };\n\n /** Changes container display from block to inline-block, use when wrapping elements with fixed width @default false */\n inline?: boolean;\n\n /** Indicator width and height @default 10 */\n size?: number | string;\n\n /** Label displayed inside the indicator, for example, notification count */\n label?: React.ReactNode;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 100 */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color value @default theme.primaryColor */\n color?: MantineColor;\n\n /** Adds border to the root element */\n withBorder?: boolean;\n\n /** Hides the indicator when set */\n disabled?: boolean;\n\n /** If set, the indicator has processing animation @default false */\n processing?: boolean;\n\n /** Indicator z-index @default 200 */\n zIndex?: string | number;\n\n /** If set, adjusts text color based on background color */\n autoContrast?: boolean;\n\n /** Maximum value to display. If label is a number greater than this value, it will be displayed as `{maxValue}+` */\n maxValue?: number;\n\n /** Determines whether indicator with label `0` should be displayed @default true */\n showZero?: boolean;\n}\n\nexport type IndicatorFactory = Factory<{\n props: IndicatorProps;\n ref: HTMLDivElement;\n stylesNames: IndicatorStylesNames;\n vars: IndicatorCssVariables;\n}>;\n\nconst defaultProps = {\n position: 'top-end',\n offset: 0,\n showZero: true,\n} satisfies Partial<IndicatorProps>;\n\nconst varsResolver = createVarsResolver<IndicatorFactory>(\n (theme, { color, position, offset, size, radius, zIndex, autoContrast }) => ({\n root: {\n '--indicator-color': color ? getThemeColor(color, theme) : undefined,\n '--indicator-text-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--indicator-size': rem(size),\n '--indicator-radius': radius === undefined ? undefined : getRadius(radius),\n '--indicator-z-index': zIndex?.toString(),\n ...getPositionVariables(position, offset),\n },\n })\n);\n\nexport const Indicator = factory<IndicatorFactory>((_props) => {\n const props = useProps('Indicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n position,\n offset,\n inline,\n label,\n radius,\n color,\n withBorder,\n disabled,\n processing,\n zIndex,\n autoContrast,\n maxValue,\n showZero,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<IndicatorFactory>({\n name: 'Indicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const shouldHideZero = !showZero && (label === 0 || label === '0');\n const formattedLabel =\n maxValue !== undefined && typeof label === 'number' && label > maxValue\n ? `${maxValue}+`\n : label;\n\n return (\n <Box {...getStyles('root')} mod={[{ inline }, mod]} {...others}>\n {!disabled && !shouldHideZero && (\n <Box\n mod={{ 'with-label': !!label, 'with-border': withBorder, processing }}\n {...getStyles('indicator')}\n >\n {formattedLabel}\n </Box>\n )}\n {children}\n </Box>\n );\n});\n\nIndicator.classes = classes;\nIndicator.varsResolver = varsResolver;\nIndicator.displayName = '@mantine/core/Indicator';\n\nexport namespace Indicator {\n export type Props = IndicatorProps;\n export type StylesNames = IndicatorStylesNames;\n export type CssVariables = IndicatorCssVariables;\n export type Factory = IndicatorFactory;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6FA,MAAM,eAAe;CACnB,UAAU;CACV,QAAQ;CACR,UAAU;AACZ;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,OAAO,EAAE,OAAO,UAAU,QAAQ,MAAM,QAAQ,QAAQ,oBAAoB,EAC3E,MAAM;CACJ,qBAAqB,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA;CAC3D,0BAA0BC,gCAAAA,qBAAqB,cAAc,KAAK,IAC9DC,2BAAAA,iBAAiB;EAAE;EAAO;EAAO;CAAa,CAAC,IAC/C,KAAA;CACJ,oBAAoBC,YAAAA,IAAI,IAAI;CAC5B,sBAAsB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACzE,uBAAuB,QAAQ,SAAS;CACxC,GAAGC,+BAAAA,qBAAqB,UAAU,MAAM;AAC1C,EACF,EACF;AAEA,MAAa,YAAYC,gBAAAA,SAA2B,WAAW;CAC7D,MAAM,QAAQC,kBAAAA,SAAS,aAAa,cAAc,MAAM;CACxD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,UACA,UACA,QACA,QACA,OACA,QACA,OACA,YACA,UACA,YACA,QACA,cACA,UACA,UACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA4B;EAC5C,MAAM;EACN,SAAA,yBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,iBAAiB,CAAC,aAAa,UAAU,KAAK,UAAU;CAC9D,MAAM,iBACJ,aAAa,KAAA,KAAa,OAAO,UAAU,YAAY,QAAQ,WAC3D,GAAG,SAAS,KACZ;CAEN,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Indicator.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","rem","getRadius","getPositionVariables","factory","useProps","useStyles","Box","classes"],"sources":["../../../src/components/Indicator/Indicator.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getRadius,\n getThemeColor,\n MantineColor,\n MantineRadius,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { getPositionVariables } from './get-position-variables/get-position-variables';\nimport { IndicatorPosition } from './Indicator.types';\nimport classes from './Indicator.module.css';\n\nexport type IndicatorPositionVariables =\n | '--indicator-top'\n | '--indicator-bottom'\n | '--indicator-left'\n | '--indicator-right'\n | '--indicator-translate-x'\n | '--indicator-translate-y';\n\nexport type IndicatorStylesNames = 'root' | 'indicator';\nexport type IndicatorCssVariables = {\n root:\n | '--indicator-color'\n | '--indicator-text-color'\n | '--indicator-size'\n | '--indicator-radius'\n | '--indicator-z-index'\n | IndicatorPositionVariables;\n};\n\nexport interface IndicatorProps\n extends BoxProps, StylesApiProps<IndicatorFactory>, ElementProps<'div'> {\n /** Indicator position relative to the target element @default 'top-end' */\n position?: IndicatorPosition;\n\n /** Distance in pixels to offset the indicator from its default position, useful for elements with border-radius. Can be a number for uniform offset or an object with `x` and `y` properties for separate horizontal and vertical offsets @default 0 */\n offset?: number | { x: number; y: number };\n\n /** Changes container display from block to inline-block, use when wrapping elements with fixed width @default false */\n inline?: boolean;\n\n /** Indicator width and height @default 10 */\n size?: number | string;\n\n /** Label displayed inside the indicator, for example, notification count */\n label?: React.ReactNode;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default 100 */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color value @default theme.primaryColor */\n color?: MantineColor;\n\n /** Adds border to the root element */\n withBorder?: boolean;\n\n /** Hides the indicator when set */\n disabled?: boolean;\n\n /** If set, the indicator has processing animation @default false */\n processing?: boolean;\n\n /** Indicator z-index @default 200 */\n zIndex?: string | number;\n\n /** If set, adjusts text color based on background color */\n autoContrast?: boolean;\n\n /** Maximum value to display. If label is a number greater than this value, it will be displayed as `{maxValue}+` */\n maxValue?: number;\n\n /** Determines whether indicator with label `0` should be displayed @default true */\n showZero?: boolean;\n}\n\nexport type IndicatorFactory = Factory<{\n props: IndicatorProps;\n ref: HTMLDivElement;\n stylesNames: IndicatorStylesNames;\n vars: IndicatorCssVariables;\n}>;\n\nconst defaultProps = {\n position: 'top-end',\n offset: 0,\n showZero: true,\n} satisfies Partial<IndicatorProps>;\n\nconst varsResolver = createVarsResolver<IndicatorFactory>(\n (theme, { color, position, offset, size, radius, zIndex, autoContrast }) => ({\n root: {\n '--indicator-color': color ? getThemeColor(color, theme) : undefined,\n '--indicator-text-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--indicator-size': rem(size),\n '--indicator-radius': radius === undefined ? undefined : getRadius(radius),\n '--indicator-z-index': zIndex?.toString(),\n ...getPositionVariables(position, offset),\n },\n })\n);\n\nexport const Indicator = factory<IndicatorFactory>((_props) => {\n const props = useProps('Indicator', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n position,\n offset,\n inline,\n label,\n radius,\n color,\n withBorder,\n disabled,\n processing,\n zIndex,\n autoContrast,\n maxValue,\n showZero,\n mod,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<IndicatorFactory>({\n name: 'Indicator',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const shouldHideZero = !showZero && (label === 0 || label === '0');\n const formattedLabel =\n maxValue !== undefined && typeof label === 'number' && label > maxValue\n ? `${maxValue}+`\n : label;\n\n return (\n <Box {...getStyles('root')} mod={[{ inline }, mod]} {...others}>\n {!disabled && !shouldHideZero && (\n <Box\n mod={{ 'with-label': !!label, 'with-border': withBorder, processing }}\n {...getStyles('indicator')}\n >\n {formattedLabel}\n </Box>\n )}\n {children}\n </Box>\n );\n});\n\nIndicator.classes = classes;\nIndicator.varsResolver = varsResolver;\nIndicator.displayName = '@mantine/core/Indicator';\n\nexport namespace Indicator {\n export type Props = IndicatorProps;\n export type StylesNames = IndicatorStylesNames;\n export type CssVariables = IndicatorCssVariables;\n export type Factory = IndicatorFactory;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6FA,MAAM,eAAe;CACnB,UAAU;CACV,QAAQ;CACR,UAAU;AACZ;AAEA,MAAM,eAAeA,6BAAAA,oBAClB,OAAO,EAAE,OAAO,UAAU,QAAQ,MAAM,QAAQ,QAAQ,oBAAoB,EAC3E,MAAM;CACJ,qBAAqB,QAAQC,wBAAAA,cAAc,OAAO,KAAK,IAAI,KAAA;CAC3D,0BAA0BC,gCAAAA,qBAAqB,cAAc,KAAK,IAC9DC,2BAAAA,iBAAiB;EAAE;EAAO;EAAO;CAAa,CAAC,IAC/C,KAAA;CACJ,oBAAoBC,YAAAA,IAAI,IAAI;CAC5B,sBAAsB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,MAAM;CACzE,uBAAuB,QAAQ,SAAS;CACxC,GAAGC,+BAAAA,qBAAqB,UAAU,MAAM;AAC1C,EACF,EACF;AAEA,MAAa,YAAYC,gBAAAA,SAA2B,WAAW;CAC7D,MAAM,QAAQC,kBAAAA,SAAS,aAAa,cAAc,MAAM;CACxD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,UACA,UACA,QACA,QACA,OACA,QACA,OACA,YACA,UACA,YACA,QACA,cACA,UACA,UACA,KACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA4B;EAC5C,MAAM;EACN,SAAA,yBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,iBAAiB,CAAC,aAAa,UAAU,KAAK,UAAU;CAC9D,MAAM,iBACJ,aAAa,KAAA,KAAa,OAAO,UAAU,YAAY,QAAQ,WAC3D,GAAG,SAAS,KACZ;CAEN,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAG,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG;EAAG,GAAI;YAAxD,CACG,CAAC,YAAY,CAAC,kBACb,iBAAA,GAAA,kBAAA,IAAA,CAACA,YAAAA,KAAD;GACE,KAAK;IAAE,cAAc,CAAC,CAAC;IAAO,eAAe;IAAY;GAAW;GACpE,GAAI,UAAU,WAAW;aAExB;EACE,CAAA,GAEN,QACE;;AAET,CAAC;AAED,UAAU,UAAUC,yBAAAA;AACpB,UAAU,eAAe;AACzB,UAAU,cAAc"}
|
|
@@ -17,6 +17,7 @@ const require_InputDescription = require("./InputDescription/InputDescription.cj
|
|
|
17
17
|
const require_InputError = require("./InputError/InputError.cjs");
|
|
18
18
|
const require_InputLabel = require("./InputLabel/InputLabel.cjs");
|
|
19
19
|
const require_InputPlaceholder = require("./InputPlaceholder/InputPlaceholder.cjs");
|
|
20
|
+
const require_InputSuccess = require("./InputSuccess/InputSuccess.cjs");
|
|
20
21
|
const require_InputWrapper = require("./InputWrapper/InputWrapper.cjs");
|
|
21
22
|
let react = require("react");
|
|
22
23
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -27,6 +28,7 @@ const defaultProps = {
|
|
|
27
28
|
rightSectionPointerEvents: "none",
|
|
28
29
|
withAria: true,
|
|
29
30
|
withErrorStyles: true,
|
|
31
|
+
withSuccessStyles: true,
|
|
30
32
|
size: "sm",
|
|
31
33
|
loading: false,
|
|
32
34
|
loadingPosition: "right"
|
|
@@ -45,7 +47,7 @@ const varsResolver = require_create_vars_resolver.createVarsResolver((_, props,
|
|
|
45
47
|
} }));
|
|
46
48
|
const Input = require_polymorphic_factory.polymorphicFactory((_props) => {
|
|
47
49
|
const props = require_use_props.useProps("Input", defaultProps, _props);
|
|
48
|
-
const { classNames, className, style, styles, unstyled, required, __staticSelector, __stylesApiProps, size, wrapperProps, error, disabled, leftSection, leftSectionProps, leftSectionWidth, rightSection, rightSectionProps, rightSectionWidth, rightSectionPointerEvents, leftSectionPointerEvents, variant, vars, pointer, multiline, radius, id, withAria, withErrorStyles, mod, inputSize, attributes, __clearSection, __clearable, __clearSectionMode, __defaultRightSection, loading, loadingPosition, __bottomSection, __bottomSectionProps, rootRef, dir, ...others } = props;
|
|
50
|
+
const { classNames, className, style, styles, unstyled, required, __staticSelector, __stylesApiProps, size, wrapperProps, error, success, disabled, leftSection, leftSectionProps, leftSectionWidth, rightSection, rightSectionProps, rightSectionWidth, rightSectionPointerEvents, leftSectionPointerEvents, variant, vars, pointer, multiline, radius, id, withAria, withErrorStyles, withSuccessStyles, mod, inputSize, attributes, __clearSection, __clearable, __clearSectionMode, __defaultRightSection, loading, loadingPosition, __bottomSection, __bottomSectionProps, rootRef, dir, ...others } = props;
|
|
49
51
|
const { styleProps, rest } = require_extract_style_props.extractStyleProps(others);
|
|
50
52
|
const ctx = (0, react.use)(require_InputWrapper_context.InputWrapperContext);
|
|
51
53
|
const stylesCtx = {
|
|
@@ -94,6 +96,7 @@ const Input = require_polymorphic_factory.polymorphicFactory((_props) => {
|
|
|
94
96
|
...wrapperProps,
|
|
95
97
|
mod: [{
|
|
96
98
|
error: !!error && withErrorStyles,
|
|
99
|
+
success: !!success && !error && withSuccessStyles,
|
|
97
100
|
pointer,
|
|
98
101
|
disabled,
|
|
99
102
|
multiline,
|
|
@@ -120,7 +123,8 @@ const Input = require_polymorphic_factory.polymorphicFactory((_props) => {
|
|
|
120
123
|
required,
|
|
121
124
|
mod: {
|
|
122
125
|
disabled,
|
|
123
|
-
error: !!error && withErrorStyles
|
|
126
|
+
error: !!error && withErrorStyles,
|
|
127
|
+
success: !!success && !error && withSuccessStyles
|
|
124
128
|
},
|
|
125
129
|
variant,
|
|
126
130
|
__size: inputSize,
|
|
@@ -152,6 +156,7 @@ Input.varsResolver = varsResolver;
|
|
|
152
156
|
Input.Wrapper = require_InputWrapper.InputWrapper;
|
|
153
157
|
Input.Label = require_InputLabel.InputLabel;
|
|
154
158
|
Input.Error = require_InputError.InputError;
|
|
159
|
+
Input.Success = require_InputSuccess.InputSuccess;
|
|
155
160
|
Input.Description = require_InputDescription.InputDescription;
|
|
156
161
|
Input.Placeholder = require_InputPlaceholder.InputPlaceholder;
|
|
157
162
|
Input.ClearButton = require_InputClearButton.InputClearButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.cjs","names":["createVarsResolver","getSize","getFontSize","getRadius","rem","polymorphicFactory","useProps","extractStyleProps","InputWrapperContext","useStyles","Loader","InputClearSection","InputContext","Box","classes","InputWrapper","InputLabel","InputError","InputDescription","InputPlaceholder","InputClearButton"],"sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n extractStyleProps,\n getFontSize,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Loader } from '../Loader/Loader';\nimport { InputContext } from './Input.context';\nimport {\n InputClearButton,\n type InputClearButtonProps,\n type InputClearButtonFactory,\n} from './InputClearButton/InputClearButton';\nimport {\n ClearSectionMode,\n InputClearSection,\n type InputClearSectionProps,\n} from './InputClearSection/InputClearSection';\nimport {\n InputDescription,\n type InputDescriptionProps,\n type InputDescriptionStylesNames,\n type InputDescriptionCssVariables,\n type InputDescriptionFactory,\n} from './InputDescription/InputDescription';\nimport {\n InputError,\n type InputErrorProps,\n type InputErrorStylesNames,\n type InputErrorCssVariables,\n type InputErrorFactory,\n} from './InputError/InputError';\nimport {\n InputLabel,\n type InputLabelProps,\n type InputLabelStylesNames,\n type InputLabelCssVariables,\n type InputLabelFactory,\n} from './InputLabel/InputLabel';\nimport {\n InputPlaceholder,\n type InputPlaceholderProps,\n type InputPlaceholderStylesNames,\n type InputPlaceholderFactory,\n} from './InputPlaceholder/InputPlaceholder';\nimport { InputWrapperContext } from './InputWrapper.context';\nimport {\n __InputWrapperProps,\n InputWrapper,\n InputWrapperStylesNames,\n type InputWrapperProps,\n type InputWrapperFactory,\n} from './InputWrapper/InputWrapper';\nimport classes from './Input.module.css';\n// Required to be a separate type for docgen script\ntype WrapperProps = React.ComponentProps<'div'> & DataAttributes;\n\nexport interface __BaseInputProps extends __InputWrapperProps, __InputProps {\n /** Props passed down to the root element */\n wrapperProps?: WrapperProps;\n}\n\nexport type __InputStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport type InputStylesNames = 'input' | 'wrapper' | 'section' | 'bottomSection';\nexport type InputVariant = 'default' | 'filled' | 'unstyled';\nexport type InputCssVariables = {\n wrapper:\n | '--input-height'\n | '--input-fz'\n | '--input-radius'\n | '--input-left-section-width'\n | '--input-right-section-width'\n | '--input-left-section-pointer-events'\n | '--input-right-section-pointer-events'\n | '--input-padding-y'\n | '--input-margin-top'\n | '--input-margin-bottom';\n};\n\nexport interface InputStylesCtx {\n offsetTop: boolean | undefined;\n offsetBottom: boolean | undefined;\n}\n\nexport interface __InputProps {\n /** Content section displayed on the left side of the input */\n leftSection?: React.ReactNode;\n\n /** Left section width, used to set `width` of the section and input `padding-left`, by default equals to the input height */\n leftSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `leftSection` element */\n leftSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `leftSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n leftSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Content section displayed on the right side of the input */\n rightSection?: React.ReactNode;\n\n /** Right section width, used to set `width` of the section and input `padding-right`, by default equals to the input height */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `rightSection` element */\n rightSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `rightSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n rightSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Sets `required` attribute on the `input` element */\n required?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Sets `disabled` attribute on the `input` element */\n disabled?: boolean;\n\n /** Controls input `height`, horizontal `padding`, and `font-size` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Determines whether the input should have `cursor: pointer` style. Use when input acts as a button-like trigger (e.g., `component=\"button\"` for Select/DatePicker). @default false */\n pointer?: boolean;\n\n /** Determines whether the input should have red border and red text color when the `error` prop is set @default true */\n withErrorStyles?: boolean;\n\n /** HTML `size` attribute for the input element (number of visible characters) */\n inputSize?: string;\n\n /** Section to be displayed when the input is `__clearable` and `rightSection` is not defined */\n __clearSection?: React.ReactNode;\n\n /** Determines whether the `__clearSection` should be displayed if it is passed to the component, has no effect if `rightSection` is defined */\n __clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n __clearSectionMode?: ClearSectionMode;\n\n /** Right section displayed when both `__clearSection` and `rightSection` are not defined */\n __defaultRightSection?: React.ReactNode;\n\n /** Displays loading indicator in the left or right section @default false */\n loading?: boolean;\n\n /** Position of the loading indicator @default 'right' */\n loadingPosition?: 'left' | 'right';\n\n /** Content section displayed at the bottom of the input, inside the border */\n __bottomSection?: React.ReactNode;\n\n /** Props passed down to the `__bottomSection` element */\n __bottomSectionProps?: React.ComponentProps<'div'>;\n}\n\nexport interface InputProps extends BoxProps, __InputProps, StylesApiProps<InputFactory> {\n __staticSelector?: string;\n\n /** Props passed to Styles API context, replaces `Input.Wrapper` props */\n __stylesApiProps?: Record<string, any>;\n\n /** Determines whether the input should have error styles and `aria-invalid` attribute */\n error?: React.ReactNode;\n\n /** Adjusts padding and sizing calculations for multiline inputs (use with `component=\"textarea\"`). Does not make the input multiline by itself. @default false */\n multiline?: boolean;\n\n /** Input element id */\n id?: string;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input. Only disable when implementing custom accessibility handling. @default true */\n withAria?: boolean;\n\n /** Props passed down to the root element of the `Input` component */\n wrapperProps?: WrapperProps;\n\n /** Root element ref */\n rootRef?: React.Ref<HTMLDivElement>;\n}\n\nexport type InputFactory = PolymorphicFactory<{\n props: InputProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: InputStylesNames;\n variant: InputVariant;\n vars: InputCssVariables;\n ctx: InputStylesCtx;\n staticComponents: {\n Label: typeof InputLabel;\n Error: typeof InputError;\n Description: typeof InputDescription;\n Placeholder: typeof InputPlaceholder;\n Wrapper: typeof InputWrapper;\n ClearButton: typeof InputClearButton;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n leftSectionPointerEvents: 'none',\n rightSectionPointerEvents: 'none',\n withAria: true,\n withErrorStyles: true,\n size: 'sm',\n loading: false,\n loadingPosition: 'right',\n} satisfies Partial<InputProps>;\n\nconst varsResolver = createVarsResolver<InputFactory>((_, props, ctx) => ({\n wrapper: {\n '--input-margin-top': ctx.offsetTop ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-margin-bottom': ctx.offsetBottom ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-height': getSize(props.size, 'input-height'),\n '--input-fz': getFontSize(props.size),\n '--input-radius': props.radius === undefined ? undefined : getRadius(props.radius),\n '--input-left-section-width':\n props.leftSectionWidth !== undefined ? rem(props.leftSectionWidth) : undefined,\n '--input-right-section-width':\n props.rightSectionWidth !== undefined ? rem(props.rightSectionWidth) : undefined,\n '--input-padding-y': props.multiline ? getSize(props.size, 'input-padding-y') : undefined,\n '--input-left-section-pointer-events': props.leftSectionPointerEvents,\n '--input-right-section-pointer-events': props.rightSectionPointerEvents,\n },\n}));\n\nexport const Input = polymorphicFactory<InputFactory>((_props) => {\n const props = useProps('Input', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n required,\n __staticSelector,\n __stylesApiProps,\n size,\n wrapperProps,\n error,\n disabled,\n leftSection,\n leftSectionProps,\n leftSectionWidth,\n rightSection,\n rightSectionProps,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionPointerEvents,\n variant,\n vars,\n pointer,\n multiline,\n radius,\n id,\n withAria,\n withErrorStyles,\n mod,\n inputSize,\n attributes,\n __clearSection,\n __clearable,\n __clearSectionMode,\n __defaultRightSection,\n loading,\n loadingPosition,\n __bottomSection,\n __bottomSectionProps,\n rootRef,\n dir,\n ...others\n } = props as typeof props & Pick<React.HTMLAttributes<HTMLDivElement>, 'dir'>;\n\n const { styleProps, rest } = extractStyleProps(others);\n const ctx = use(InputWrapperContext);\n const stylesCtx: InputStylesCtx = { offsetBottom: ctx?.offsetBottom, offsetTop: ctx?.offsetTop };\n\n const getStyles = useStyles<InputFactory>({\n name: ['Input', __staticSelector],\n props: __stylesApiProps || props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n stylesCtx,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const ariaAttributes = withAria\n ? {\n required,\n disabled,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': ctx?.describedBy,\n id: ctx?.inputId || id,\n }\n : {};\n\n const loadingIndicator = loading ? (\n <Loader\n size={\n loadingPosition === 'left'\n ? 'calc(var(--input-left-section-size) / 2)'\n : 'calc(var(--input-right-section-size) / 2)'\n }\n />\n ) : null;\n\n const _leftSection = loading && loadingPosition === 'left' ? loadingIndicator : leftSection;\n const _rightSection: React.ReactNode = InputClearSection({\n __clearable,\n __clearSection,\n rightSection: loading && loadingPosition === 'right' ? loadingIndicator : rightSection,\n __defaultRightSection,\n size,\n __clearSectionMode,\n });\n\n return (\n <InputContext value={{ size: size || 'sm' }}>\n <Box\n ref={rootRef}\n dir={dir}\n {...getStyles('wrapper')}\n {...styleProps}\n {...wrapperProps}\n mod={[\n {\n error: !!error && withErrorStyles,\n pointer,\n disabled,\n multiline,\n 'data-with-right-section': !!_rightSection,\n 'data-with-left-section': !!_leftSection,\n 'data-with-bottom-section': !!__bottomSection,\n },\n mod,\n ]}\n variant={variant}\n size={size}\n >\n {_leftSection && (\n <div\n {...leftSectionProps}\n data-position=\"left\"\n {...getStyles('section', {\n className: leftSectionProps?.className,\n style: leftSectionProps?.style,\n })}\n >\n {_leftSection}\n </div>\n )}\n\n <Box\n component=\"input\"\n {...rest}\n {...ariaAttributes}\n required={required}\n mod={{ disabled, error: !!error && withErrorStyles }}\n variant={variant}\n __size={inputSize}\n {...getStyles('input')}\n />\n\n {__bottomSection && (\n <div\n {...__bottomSectionProps}\n {...getStyles('bottomSection', {\n className: __bottomSectionProps?.className,\n style: __bottomSectionProps?.style,\n })}\n >\n {__bottomSection}\n </div>\n )}\n\n {_rightSection && (\n <div\n {...rightSectionProps}\n data-position=\"right\"\n {...getStyles('section', {\n className: rightSectionProps?.className,\n style: rightSectionProps?.style,\n })}\n >\n {_rightSection}\n </div>\n )}\n </Box>\n </InputContext>\n );\n});\n\nInput.classes = classes;\nInput.varsResolver = varsResolver;\nInput.Wrapper = InputWrapper;\nInput.Label = InputLabel;\nInput.Error = InputError;\nInput.Description = InputDescription;\nInput.Placeholder = InputPlaceholder;\nInput.ClearButton = InputClearButton;\nInput.displayName = '@mantine/core/Input';\n\nexport namespace Input {\n export type Props = InputProps;\n export type StylesNames = InputStylesNames;\n export type CssVariables = InputCssVariables;\n export type Factory = InputFactory;\n\n export namespace Wrapper {\n export type Props = InputWrapperProps;\n export type StylesNames = InputWrapperStylesNames;\n export type Factory = InputWrapperFactory;\n }\n\n export namespace Description {\n export type Props = InputDescriptionProps;\n export type StylesNames = InputDescriptionStylesNames;\n export type CssVariables = InputDescriptionCssVariables;\n export type Factory = InputDescriptionFactory;\n }\n\n export namespace Error {\n export type Props = InputErrorProps;\n export type StylesNames = InputErrorStylesNames;\n export type CssVariables = InputErrorCssVariables;\n export type Factory = InputErrorFactory;\n }\n\n export namespace Label {\n export type Props = InputLabelProps;\n export type StylesNames = InputLabelStylesNames;\n export type CssVariables = InputLabelCssVariables;\n export type Factory = InputLabelFactory;\n }\n\n export namespace Placeholder {\n export type Props = InputPlaceholderProps;\n export type StylesNames = InputPlaceholderStylesNames;\n export type Factory = InputPlaceholderFactory;\n }\n\n export namespace ClearButton {\n export type Props = InputClearButtonProps;\n export type Factory = InputClearButtonFactory;\n }\n\n export namespace ClearSection {\n export type Props = InputClearSectionProps;\n export type Mode = ClearSectionMode;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.cjs","names":["createVarsResolver","getSize","getFontSize","getRadius","rem","polymorphicFactory","useProps","extractStyleProps","InputWrapperContext","useStyles","Loader","InputClearSection","InputContext","Box","classes","InputWrapper","InputLabel","InputError","InputSuccess","InputDescription","InputPlaceholder","InputClearButton"],"sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import { use } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n extractStyleProps,\n getFontSize,\n getRadius,\n getSize,\n MantineRadius,\n MantineSize,\n polymorphicFactory,\n PolymorphicFactory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Loader } from '../Loader/Loader';\nimport { InputContext } from './Input.context';\nimport {\n InputClearButton,\n type InputClearButtonProps,\n type InputClearButtonFactory,\n} from './InputClearButton/InputClearButton';\nimport {\n ClearSectionMode,\n InputClearSection,\n type InputClearSectionProps,\n} from './InputClearSection/InputClearSection';\nimport {\n InputDescription,\n type InputDescriptionProps,\n type InputDescriptionStylesNames,\n type InputDescriptionCssVariables,\n type InputDescriptionFactory,\n} from './InputDescription/InputDescription';\nimport {\n InputError,\n type InputErrorProps,\n type InputErrorStylesNames,\n type InputErrorCssVariables,\n type InputErrorFactory,\n} from './InputError/InputError';\nimport {\n InputLabel,\n type InputLabelProps,\n type InputLabelStylesNames,\n type InputLabelCssVariables,\n type InputLabelFactory,\n} from './InputLabel/InputLabel';\nimport {\n InputPlaceholder,\n type InputPlaceholderProps,\n type InputPlaceholderStylesNames,\n type InputPlaceholderFactory,\n} from './InputPlaceholder/InputPlaceholder';\nimport { InputSuccess } from './InputSuccess/InputSuccess';\nimport { InputWrapperContext } from './InputWrapper.context';\nimport {\n __InputWrapperProps,\n InputWrapper,\n InputWrapperStylesNames,\n type InputWrapperProps,\n type InputWrapperFactory,\n} from './InputWrapper/InputWrapper';\nimport classes from './Input.module.css';\n// Required to be a separate type for docgen script\ntype WrapperProps = React.ComponentProps<'div'> & DataAttributes;\n\nexport interface __BaseInputProps extends __InputWrapperProps, __InputProps {\n /** Props passed down to the root element */\n wrapperProps?: WrapperProps;\n}\n\nexport type __InputStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport type InputStylesNames = 'input' | 'wrapper' | 'section' | 'bottomSection';\nexport type InputVariant = 'default' | 'filled' | 'unstyled';\nexport type InputCssVariables = {\n wrapper:\n | '--input-height'\n | '--input-fz'\n | '--input-radius'\n | '--input-left-section-width'\n | '--input-right-section-width'\n | '--input-left-section-pointer-events'\n | '--input-right-section-pointer-events'\n | '--input-padding-y'\n | '--input-margin-top'\n | '--input-margin-bottom';\n};\n\nexport interface InputStylesCtx {\n offsetTop: boolean | undefined;\n offsetBottom: boolean | undefined;\n}\n\nexport interface __InputProps {\n /** Content section displayed on the left side of the input */\n leftSection?: React.ReactNode;\n\n /** Left section width, used to set `width` of the section and input `padding-left`, by default equals to the input height */\n leftSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `leftSection` element */\n leftSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `leftSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n leftSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Content section displayed on the right side of the input */\n rightSection?: React.ReactNode;\n\n /** Right section width, used to set `width` of the section and input `padding-right`, by default equals to the input height */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props passed down to the `rightSection` element */\n rightSectionProps?: React.ComponentProps<'div'>;\n\n /** Sets `pointer-events` styles on the `rightSection` element. Use `'all'` when section contains interactive elements (buttons, links). @default 'none' */\n rightSectionPointerEvents?: React.CSSProperties['pointerEvents'];\n\n /** Sets `required` attribute on the `input` element */\n required?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Sets `disabled` attribute on the `input` element */\n disabled?: boolean;\n\n /** Controls input `height`, horizontal `padding`, and `font-size` @default 'sm' */\n size?: MantineSize | (string & {});\n\n /** Determines whether the input should have `cursor: pointer` style. Use when input acts as a button-like trigger (e.g., `component=\"button\"` for Select/DatePicker). @default false */\n pointer?: boolean;\n\n /** Determines whether the input should have red border and red text color when the `error` prop is set @default true */\n withErrorStyles?: boolean;\n\n /** Determines whether the input should have green border when the `success` prop is set @default true */\n withSuccessStyles?: boolean;\n\n /** HTML `size` attribute for the input element (number of visible characters) */\n inputSize?: string;\n\n /** Section to be displayed when the input is `__clearable` and `rightSection` is not defined */\n __clearSection?: React.ReactNode;\n\n /** Determines whether the `__clearSection` should be displayed if it is passed to the component, has no effect if `rightSection` is defined */\n __clearable?: boolean;\n\n /** Determines how the clear button and rightSection are rendered @default 'both' */\n __clearSectionMode?: ClearSectionMode;\n\n /** Right section displayed when both `__clearSection` and `rightSection` are not defined */\n __defaultRightSection?: React.ReactNode;\n\n /** Displays loading indicator in the left or right section @default false */\n loading?: boolean;\n\n /** Position of the loading indicator @default 'right' */\n loadingPosition?: 'left' | 'right';\n\n /** Content section displayed at the bottom of the input, inside the border */\n __bottomSection?: React.ReactNode;\n\n /** Props passed down to the `__bottomSection` element */\n __bottomSectionProps?: React.ComponentProps<'div'>;\n}\n\nexport interface InputProps extends BoxProps, __InputProps, StylesApiProps<InputFactory> {\n __staticSelector?: string;\n\n /** Props passed to Styles API context, replaces `Input.Wrapper` props */\n __stylesApiProps?: Record<string, any>;\n\n /** Determines whether the input should have error styles and `aria-invalid` attribute */\n error?: React.ReactNode;\n\n /** Determines whether the input should have success styles */\n success?: React.ReactNode;\n\n /** Adjusts padding and sizing calculations for multiline inputs (use with `component=\"textarea\"`). Does not make the input multiline by itself. @default false */\n multiline?: boolean;\n\n /** Input element id */\n id?: string;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input. Only disable when implementing custom accessibility handling. @default true */\n withAria?: boolean;\n\n /** Props passed down to the root element of the `Input` component */\n wrapperProps?: WrapperProps;\n\n /** Root element ref */\n rootRef?: React.Ref<HTMLDivElement>;\n}\n\nexport type InputFactory = PolymorphicFactory<{\n props: InputProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: InputStylesNames;\n variant: InputVariant;\n vars: InputCssVariables;\n ctx: InputStylesCtx;\n staticComponents: {\n Label: typeof InputLabel;\n Error: typeof InputError;\n Success: typeof InputSuccess;\n Description: typeof InputDescription;\n Placeholder: typeof InputPlaceholder;\n Wrapper: typeof InputWrapper;\n ClearButton: typeof InputClearButton;\n };\n}>;\n\nconst defaultProps = {\n variant: 'default',\n leftSectionPointerEvents: 'none',\n rightSectionPointerEvents: 'none',\n withAria: true,\n withErrorStyles: true,\n withSuccessStyles: true,\n size: 'sm',\n loading: false,\n loadingPosition: 'right',\n} satisfies Partial<InputProps>;\n\nconst varsResolver = createVarsResolver<InputFactory>((_, props, ctx) => ({\n wrapper: {\n '--input-margin-top': ctx.offsetTop ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-margin-bottom': ctx.offsetBottom ? 'calc(var(--mantine-spacing-xs) / 2)' : undefined,\n '--input-height': getSize(props.size, 'input-height'),\n '--input-fz': getFontSize(props.size),\n '--input-radius': props.radius === undefined ? undefined : getRadius(props.radius),\n '--input-left-section-width':\n props.leftSectionWidth !== undefined ? rem(props.leftSectionWidth) : undefined,\n '--input-right-section-width':\n props.rightSectionWidth !== undefined ? rem(props.rightSectionWidth) : undefined,\n '--input-padding-y': props.multiline ? getSize(props.size, 'input-padding-y') : undefined,\n '--input-left-section-pointer-events': props.leftSectionPointerEvents,\n '--input-right-section-pointer-events': props.rightSectionPointerEvents,\n },\n}));\n\nexport const Input = polymorphicFactory<InputFactory>((_props) => {\n const props = useProps('Input', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n required,\n __staticSelector,\n __stylesApiProps,\n size,\n wrapperProps,\n error,\n success,\n disabled,\n leftSection,\n leftSectionProps,\n leftSectionWidth,\n rightSection,\n rightSectionProps,\n rightSectionWidth,\n rightSectionPointerEvents,\n leftSectionPointerEvents,\n variant,\n vars,\n pointer,\n multiline,\n radius,\n id,\n withAria,\n withErrorStyles,\n withSuccessStyles,\n mod,\n inputSize,\n attributes,\n __clearSection,\n __clearable,\n __clearSectionMode,\n __defaultRightSection,\n loading,\n loadingPosition,\n __bottomSection,\n __bottomSectionProps,\n rootRef,\n dir,\n ...others\n } = props as typeof props & Pick<React.HTMLAttributes<HTMLDivElement>, 'dir'>;\n\n const { styleProps, rest } = extractStyleProps(others);\n const ctx = use(InputWrapperContext);\n const stylesCtx: InputStylesCtx = { offsetBottom: ctx?.offsetBottom, offsetTop: ctx?.offsetTop };\n\n const getStyles = useStyles<InputFactory>({\n name: ['Input', __staticSelector],\n props: __stylesApiProps || props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n stylesCtx,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const ariaAttributes = withAria\n ? {\n required,\n disabled,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': ctx?.describedBy,\n id: ctx?.inputId || id,\n }\n : {};\n\n const loadingIndicator = loading ? (\n <Loader\n size={\n loadingPosition === 'left'\n ? 'calc(var(--input-left-section-size) / 2)'\n : 'calc(var(--input-right-section-size) / 2)'\n }\n />\n ) : null;\n\n const _leftSection = loading && loadingPosition === 'left' ? loadingIndicator : leftSection;\n const _rightSection: React.ReactNode = InputClearSection({\n __clearable,\n __clearSection,\n rightSection: loading && loadingPosition === 'right' ? loadingIndicator : rightSection,\n __defaultRightSection,\n size,\n __clearSectionMode,\n });\n\n return (\n <InputContext value={{ size: size || 'sm' }}>\n <Box\n ref={rootRef}\n dir={dir}\n {...getStyles('wrapper')}\n {...styleProps}\n {...wrapperProps}\n mod={[\n {\n error: !!error && withErrorStyles,\n success: !!success && !error && withSuccessStyles,\n pointer,\n disabled,\n multiline,\n 'data-with-right-section': !!_rightSection,\n 'data-with-left-section': !!_leftSection,\n 'data-with-bottom-section': !!__bottomSection,\n },\n mod,\n ]}\n variant={variant}\n size={size}\n >\n {_leftSection && (\n <div\n {...leftSectionProps}\n data-position=\"left\"\n {...getStyles('section', {\n className: leftSectionProps?.className,\n style: leftSectionProps?.style,\n })}\n >\n {_leftSection}\n </div>\n )}\n\n <Box\n component=\"input\"\n {...rest}\n {...ariaAttributes}\n required={required}\n mod={{\n disabled,\n error: !!error && withErrorStyles,\n success: !!success && !error && withSuccessStyles,\n }}\n variant={variant}\n __size={inputSize}\n {...getStyles('input')}\n />\n\n {__bottomSection && (\n <div\n {...__bottomSectionProps}\n {...getStyles('bottomSection', {\n className: __bottomSectionProps?.className,\n style: __bottomSectionProps?.style,\n })}\n >\n {__bottomSection}\n </div>\n )}\n\n {_rightSection && (\n <div\n {...rightSectionProps}\n data-position=\"right\"\n {...getStyles('section', {\n className: rightSectionProps?.className,\n style: rightSectionProps?.style,\n })}\n >\n {_rightSection}\n </div>\n )}\n </Box>\n </InputContext>\n );\n});\n\nInput.classes = classes;\nInput.varsResolver = varsResolver;\nInput.Wrapper = InputWrapper;\nInput.Label = InputLabel;\nInput.Error = InputError;\nInput.Success = InputSuccess;\nInput.Description = InputDescription;\nInput.Placeholder = InputPlaceholder;\nInput.ClearButton = InputClearButton;\nInput.displayName = '@mantine/core/Input';\n\nexport namespace Input {\n export type Props = InputProps;\n export type StylesNames = InputStylesNames;\n export type CssVariables = InputCssVariables;\n export type Factory = InputFactory;\n\n export namespace Wrapper {\n export type Props = InputWrapperProps;\n export type StylesNames = InputWrapperStylesNames;\n export type Factory = InputWrapperFactory;\n }\n\n export namespace Description {\n export type Props = InputDescriptionProps;\n export type StylesNames = InputDescriptionStylesNames;\n export type CssVariables = InputDescriptionCssVariables;\n export type Factory = InputDescriptionFactory;\n }\n\n export namespace Error {\n export type Props = InputErrorProps;\n export type StylesNames = InputErrorStylesNames;\n export type CssVariables = InputErrorCssVariables;\n export type Factory = InputErrorFactory;\n }\n\n export namespace Label {\n export type Props = InputLabelProps;\n export type StylesNames = InputLabelStylesNames;\n export type CssVariables = InputLabelCssVariables;\n export type Factory = InputLabelFactory;\n }\n\n export namespace Placeholder {\n export type Props = InputPlaceholderProps;\n export type StylesNames = InputPlaceholderStylesNames;\n export type Factory = InputPlaceholderFactory;\n }\n\n export namespace ClearButton {\n export type Props = InputClearButtonProps;\n export type Factory = InputClearButtonFactory;\n }\n\n export namespace ClearSection {\n export type Props = InputClearSectionProps;\n export type Mode = ClearSectionMode;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.context.cjs","names":[],"sources":["../../../src/components/Input/Input.context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { MantineSize } from '../../core';\n\ninterface InputContextValue {\n size: MantineSize | (string & {});\n}\n\nexport const InputContext = createContext<InputContextValue>({ size: 'sm' });\n"],"mappings":";;AAOA,MAAa,gBAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Input.context.cjs","names":[],"sources":["../../../src/components/Input/Input.context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { MantineSize } from '../../core';\n\ninterface InputContextValue {\n size: MantineSize | (string & {});\n}\n\nexport const InputContext = createContext<InputContextValue>({ size: 'sm' });\n"],"mappings":";;AAOA,MAAa,gBAAA,kBAAA,CAAA,CAAA,cAAA,CAAgD,EAAE,MAAM,KAAK,CAAC"}
|