@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":"Slider.cjs","names":["createVarsResolver","getSize","getThemeColor","getRadius","rem","factory","useProps","useStyles","useDirection","getPosition","getPrecision","getChangeValue","findClosestNumber","getNextMarkValue","getFloatingValue","getPreviousMarkValue","getFirstMarkValue","getLastMarkValue","SliderProvider","SliderRoot","Track","Thumb","classes"],"sources":["../../../../src/components/Slider/Slider/Slider.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { clamp, useMergedRef, useMove, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n findClosestNumber,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../../core';\nimport { TransitionOverride } from '../../Transition';\nimport { SliderCssVariables, SliderProvider, SliderStylesNames } from '../Slider.context';\nimport { SliderMark } from '../SliderMark';\nimport { SliderRoot } from '../SliderRoot/SliderRoot';\nimport { Thumb } from '../Thumb/Thumb';\nimport { Track } from '../Track/Track';\nimport { getChangeValue } from '../utils/get-change-value/get-change-value';\nimport { getFloatingValue } from '../utils/get-floating-value/get-floating-value';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { getPrecision } from '../utils/get-precision/get-precision';\nimport {\n getFirstMarkValue,\n getLastMarkValue,\n getNextMarkValue,\n getPreviousMarkValue,\n} from '../utils/get-step-mark-value/get-step-mark-value';\nimport classes from '../Slider.module.css';\n\nexport interface SliderProps\n extends BoxProps, StylesApiProps<SliderFactory>, ElementProps<'div', 'onChange'> {\n /** Key of `theme.colors` or any valid CSS color, controls color of track and thumb @default theme.primaryColor */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default 'xl' */\n radius?: MantineRadius;\n\n /** Controls size of the track @default 'md' */\n size?: MantineSize | (string & {}) | number;\n\n /** Minimal possible value @default 0 */\n min?: number;\n\n /** Maximum possible value @default 100 */\n max?: number;\n\n /** Domain of the slider, defines the selectable value range independently of min/max. Useful when you want to display a wider track range (min/max) but restrict actual selection to a subset (domain). @default [min, max] */\n domain?: [number, number];\n\n /** Number by which value will be incremented/decremented with thumb drag and arrows @default 1 */\n step?: number;\n\n /** Number of significant digits after the decimal point */\n precision?: number;\n\n /** Controlled component value */\n value?: number;\n\n /** Uncontrolled component default value */\n defaultValue?: number;\n\n /** Called when value changes */\n onChange?: (value: number) => void;\n\n /** Called when user stops dragging slider or changes value with arrows */\n onChangeEnd?: (value: number) => void;\n\n /** Hidden input name, use with uncontrolled component */\n name?: string;\n\n /** Marks displayed on the track */\n marks?: SliderMark[];\n\n /** Function to generate label or any react node to render instead, set to null to disable label */\n label?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Props passed down to the `Transition` component @default { transition: 'fade', duration: 0 } */\n labelTransitionProps?: TransitionOverride;\n\n /** Determines whether the label should be visible when the slider is not being dragged or hovered @default false */\n labelAlwaysOn?: boolean;\n\n /** Thumb `aria-label` */\n thumbLabel?: string;\n\n /** Thumb `aria-valuetext`. When a function is provided, it receives the scaled value. */\n thumbValueText?: string | ((value: number) => string);\n\n /** Determines whether the label should be displayed when the slider is hovered @default true */\n showLabelOnHover?: boolean;\n\n /** Content rendered inside thumb */\n thumbChildren?: React.ReactNode;\n\n /** Disables slider */\n disabled?: boolean;\n\n /** Thumb `width` and `height`, by default value is computed based on `size` prop */\n thumbSize?: number | string;\n\n /** A transformation function to change the scale of the slider */\n scale?: (value: number) => number;\n\n /** Determines whether track value representation should be inverted @default false */\n inverted?: boolean;\n\n /** Value at which the filled bar starts. When set, the bar extends from this point toward the current value. Ignored when `inverted` is set. */\n startPointValue?: number;\n\n /** Slider orientation @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentProps<'input'>;\n\n /** Determines whether the selection should be only allowed from the given marks array @default false */\n restrictToMarks?: boolean;\n\n /** Props passed down to thumb element */\n thumbProps?: React.ComponentProps<'div'>;\n}\n\nexport type SliderFactory = Factory<{\n props: SliderProps;\n ref: HTMLDivElement;\n stylesNames: SliderStylesNames;\n vars: SliderCssVariables;\n}>;\n\nconst defaultProps = {\n radius: 'xl',\n min: 0,\n max: 100,\n step: 1,\n marks: [],\n label: (f) => f,\n labelTransitionProps: { transition: 'fade', duration: 0 },\n thumbLabel: '',\n showLabelOnHover: true,\n scale: (v) => v,\n size: 'md',\n} satisfies Partial<SliderProps>;\n\nconst varsResolver = createVarsResolver<SliderFactory>(\n (theme, { size, color, thumbSize, radius }) => ({\n root: {\n '--slider-size': getSize(size, 'slider-size'),\n '--slider-color': color ? getThemeColor(color, theme) : undefined,\n '--slider-radius': radius === undefined ? undefined : getRadius(radius),\n '--slider-thumb-size':\n thumbSize !== undefined ? rem(thumbSize) : 'calc(var(--slider-size) * 2)',\n },\n })\n);\n\nexport const Slider = factory<SliderFactory>((_props) => {\n const props = useProps('Slider', defaultProps, _props);\n const {\n classNames,\n styles,\n value,\n onChange,\n onChangeEnd,\n size,\n min,\n max,\n domain,\n step,\n precision: _precision,\n defaultValue,\n name,\n marks,\n label,\n labelTransitionProps,\n labelAlwaysOn,\n thumbLabel,\n thumbValueText,\n showLabelOnHover,\n thumbChildren,\n disabled,\n unstyled,\n scale,\n inverted,\n startPointValue,\n orientation,\n className,\n style,\n vars,\n hiddenInputProps,\n restrictToMarks,\n thumbProps,\n attributes,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<SliderFactory>({\n name: 'Slider',\n props,\n classes,\n classNames,\n className,\n styles,\n style,\n attributes,\n vars,\n varsResolver,\n unstyled,\n });\n\n const { dir } = useDirection();\n const [hovered, setHovered] = useState(false);\n const [_value, setValue] = useUncontrolled({\n value: typeof value === 'number' ? clamp(value, min, max) : value,\n defaultValue: typeof defaultValue === 'number' ? clamp(defaultValue, min, max) : defaultValue,\n finalValue: clamp(0, min, max),\n onChange,\n });\n\n const valueRef = useRef(_value);\n const onChangeEndRef = useRef(onChangeEnd);\n\n useEffect(() => {\n onChangeEndRef.current = onChangeEnd;\n }, [onChangeEnd]);\n\n const root = useRef<HTMLDivElement>(null);\n const thumb = useRef<HTMLDivElement>(null);\n const [domainMin, domainMax] = domain || [min, max];\n const position = getPosition({ value: _value, min: domainMin, max: domainMax });\n const scaledValue = scale!(_value);\n const _label = typeof label === 'function' ? label(scaledValue) : label;\n const precision = _precision ?? getPrecision(step);\n\n const hasStartPoint = typeof startPointValue === 'number' && !inverted;\n const startPosition = hasStartPoint\n ? getPosition({ value: startPointValue!, min: domainMin, max: domainMax })\n : 0;\n const trackOffset = hasStartPoint ? Math.min(position, startPosition) : 0;\n const trackFilled = hasStartPoint ? Math.abs(position - startPosition) : position;\n\n const handleChange = useCallback(\n ({ x }: { x: number }) => {\n if (!disabled) {\n const nextValue = getChangeValue({\n value: x,\n min: domainMin,\n max: domainMax,\n step,\n precision,\n });\n const clampedValue = clamp(nextValue, min!, max!);\n setValue(\n restrictToMarks && marks?.length\n ? findClosestNumber(\n clampedValue,\n marks.map((mark) => mark.value)\n )\n : clampedValue\n );\n valueRef.current = clampedValue;\n }\n },\n [disabled, min, max, domainMin, domainMax, step, precision, setValue, marks, restrictToMarks]\n );\n\n const handleScrubEnd = useCallback(() => {\n if (!disabled && onChangeEndRef.current) {\n const finalValue =\n restrictToMarks && marks?.length\n ? findClosestNumber(\n valueRef.current,\n marks.map((mark) => mark.value)\n )\n : valueRef.current;\n onChangeEndRef.current(finalValue);\n }\n }, [disabled, marks, restrictToMarks]);\n\n const { ref: container, active } = useMove(\n ({ x, y }) => handleChange({ x: orientation === 'vertical' ? 1 - y : x }),\n { onScrubEnd: handleScrubEnd },\n dir\n );\n\n const callOnChangeEnd = useCallback(\n (value: number) => {\n if (!disabled && onChangeEndRef.current) {\n onChangeEndRef.current(value);\n }\n },\n [disabled]\n );\n\n const handleTrackKeydownCapture = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue = getNextMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(_value + step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue =\n dir === 'rtl' ? getPreviousMarkValue(_value, marks) : getNextMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(dir === 'rtl' ? _value - step : _value + step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue = getPreviousMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(_value - step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue =\n dir === 'rtl' ? getNextMarkValue(_value, marks) : getPreviousMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(dir === 'rtl' ? _value + step : _value - step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n setValue(getFirstMarkValue(marks));\n callOnChangeEnd(getFirstMarkValue(marks));\n break;\n }\n\n setValue(min);\n callOnChangeEnd(min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n setValue(getLastMarkValue(marks));\n callOnChangeEnd(getLastMarkValue(marks));\n break;\n }\n\n setValue(max);\n callOnChangeEnd(max);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n };\n\n return (\n <SliderProvider value={{ getStyles }}>\n <SliderRoot\n {...others}\n ref={useMergedRef(ref, root)}\n onKeyDownCapture={handleTrackKeydownCapture}\n onMouseDownCapture={() => root.current?.focus()}\n size={size}\n disabled={disabled}\n orientation={orientation}\n >\n <Track\n inverted={inverted}\n offset={trackOffset}\n filled={trackFilled}\n marks={marks}\n min={domainMin}\n max={domainMax}\n value={scaledValue}\n startPointValue={hasStartPoint ? startPointValue : undefined}\n disabled={disabled}\n containerProps={{\n ref: container,\n onMouseEnter: showLabelOnHover ? () => setHovered(true) : undefined,\n onMouseLeave: showLabelOnHover ? () => setHovered(false) : undefined,\n }}\n >\n <Thumb\n max={domainMax}\n min={domainMin}\n value={scaledValue}\n position={position}\n dragging={active}\n label={_label}\n ref={thumb as any}\n labelTransitionProps={labelTransitionProps}\n labelAlwaysOn={labelAlwaysOn}\n thumbLabel={thumbLabel}\n thumbValueText={thumbValueText}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n orientation={orientation}\n {...thumbProps}\n >\n {thumbChildren}\n </Thumb>\n </Track>\n\n <input type=\"hidden\" name={name} value={scaledValue} {...hiddenInputProps} />\n </SliderRoot>\n </SliderProvider>\n );\n});\n\nSlider.classes = classes;\nSlider.varsResolver = varsResolver;\nSlider.displayName = '@mantine/core/Slider';\n\nexport namespace Slider {\n export type Props = SliderProps;\n export type StylesNames = SliderStylesNames;\n export type CssVariables = SliderCssVariables;\n export type Factory = SliderFactory;\n export type Mark = SliderMark;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slider.cjs","names":["createVarsResolver","getSize","getThemeColor","getRadius","rem","factory","useProps","useStyles","useDirection","getPosition","getPrecision","getChangeValue","findClosestNumber","getNextMarkValue","getFloatingValue","getPreviousMarkValue","getFirstMarkValue","getLastMarkValue","SliderProvider","SliderRoot","Track","Thumb","classes"],"sources":["../../../../src/components/Slider/Slider/Slider.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { clamp, useMergedRef, useMove, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n findClosestNumber,\n getRadius,\n getSize,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../../core';\nimport { TransitionOverride } from '../../Transition';\nimport { SliderCssVariables, SliderProvider, SliderStylesNames } from '../Slider.context';\nimport { SliderMark } from '../SliderMark';\nimport { SliderRoot } from '../SliderRoot/SliderRoot';\nimport { Thumb } from '../Thumb/Thumb';\nimport { Track } from '../Track/Track';\nimport { getChangeValue } from '../utils/get-change-value/get-change-value';\nimport { getFloatingValue } from '../utils/get-floating-value/get-floating-value';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { getPrecision } from '../utils/get-precision/get-precision';\nimport {\n getFirstMarkValue,\n getLastMarkValue,\n getNextMarkValue,\n getPreviousMarkValue,\n} from '../utils/get-step-mark-value/get-step-mark-value';\nimport classes from '../Slider.module.css';\n\nexport interface SliderProps\n extends BoxProps, StylesApiProps<SliderFactory>, ElementProps<'div', 'onChange'> {\n /** Key of `theme.colors` or any valid CSS color, controls color of track and thumb @default theme.primaryColor */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default 'xl' */\n radius?: MantineRadius;\n\n /** Controls size of the track @default 'md' */\n size?: MantineSize | (string & {}) | number;\n\n /** Minimal possible value @default 0 */\n min?: number;\n\n /** Maximum possible value @default 100 */\n max?: number;\n\n /** Domain of the slider, defines the selectable value range independently of min/max. Useful when you want to display a wider track range (min/max) but restrict actual selection to a subset (domain). @default [min, max] */\n domain?: [number, number];\n\n /** Number by which value will be incremented/decremented with thumb drag and arrows @default 1 */\n step?: number;\n\n /** Number of significant digits after the decimal point */\n precision?: number;\n\n /** Controlled component value */\n value?: number;\n\n /** Uncontrolled component default value */\n defaultValue?: number;\n\n /** Called when value changes */\n onChange?: (value: number) => void;\n\n /** Called when user stops dragging slider or changes value with arrows */\n onChangeEnd?: (value: number) => void;\n\n /** Hidden input name, use with uncontrolled component */\n name?: string;\n\n /** Marks displayed on the track */\n marks?: SliderMark[];\n\n /** Function to generate label or any react node to render instead, set to null to disable label */\n label?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Props passed down to the `Transition` component @default { transition: 'fade', duration: 0 } */\n labelTransitionProps?: TransitionOverride;\n\n /** Determines whether the label should be visible when the slider is not being dragged or hovered @default false */\n labelAlwaysOn?: boolean;\n\n /** Thumb `aria-label` */\n thumbLabel?: string;\n\n /** Thumb `aria-valuetext`. When a function is provided, it receives the scaled value. */\n thumbValueText?: string | ((value: number) => string);\n\n /** Determines whether the label should be displayed when the slider is hovered @default true */\n showLabelOnHover?: boolean;\n\n /** Content rendered inside thumb */\n thumbChildren?: React.ReactNode;\n\n /** Disables slider */\n disabled?: boolean;\n\n /** Thumb `width` and `height`, by default value is computed based on `size` prop */\n thumbSize?: number | string;\n\n /** A transformation function to change the scale of the slider */\n scale?: (value: number) => number;\n\n /** Determines whether track value representation should be inverted @default false */\n inverted?: boolean;\n\n /** Value at which the filled bar starts. When set, the bar extends from this point toward the current value. Ignored when `inverted` is set. */\n startPointValue?: number;\n\n /** Slider orientation @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentProps<'input'>;\n\n /** Determines whether the selection should be only allowed from the given marks array @default false */\n restrictToMarks?: boolean;\n\n /** Props passed down to thumb element */\n thumbProps?: React.ComponentProps<'div'>;\n}\n\nexport type SliderFactory = Factory<{\n props: SliderProps;\n ref: HTMLDivElement;\n stylesNames: SliderStylesNames;\n vars: SliderCssVariables;\n}>;\n\nconst defaultProps = {\n radius: 'xl',\n min: 0,\n max: 100,\n step: 1,\n marks: [],\n label: (f) => f,\n labelTransitionProps: { transition: 'fade', duration: 0 },\n thumbLabel: '',\n showLabelOnHover: true,\n scale: (v) => v,\n size: 'md',\n} satisfies Partial<SliderProps>;\n\nconst varsResolver = createVarsResolver<SliderFactory>(\n (theme, { size, color, thumbSize, radius }) => ({\n root: {\n '--slider-size': getSize(size, 'slider-size'),\n '--slider-color': color ? getThemeColor(color, theme) : undefined,\n '--slider-radius': radius === undefined ? undefined : getRadius(radius),\n '--slider-thumb-size':\n thumbSize !== undefined ? rem(thumbSize) : 'calc(var(--slider-size) * 2)',\n },\n })\n);\n\nexport const Slider = factory<SliderFactory>((_props) => {\n const props = useProps('Slider', defaultProps, _props);\n const {\n classNames,\n styles,\n value,\n onChange,\n onChangeEnd,\n size,\n min,\n max,\n domain,\n step,\n precision: _precision,\n defaultValue,\n name,\n marks,\n label,\n labelTransitionProps,\n labelAlwaysOn,\n thumbLabel,\n thumbValueText,\n showLabelOnHover,\n thumbChildren,\n disabled,\n unstyled,\n scale,\n inverted,\n startPointValue,\n orientation,\n className,\n style,\n vars,\n hiddenInputProps,\n restrictToMarks,\n thumbProps,\n attributes,\n ref,\n ...others\n } = props;\n\n const getStyles = useStyles<SliderFactory>({\n name: 'Slider',\n props,\n classes,\n classNames,\n className,\n styles,\n style,\n attributes,\n vars,\n varsResolver,\n unstyled,\n });\n\n const { dir } = useDirection();\n const [hovered, setHovered] = useState(false);\n const [_value, setValue] = useUncontrolled({\n value: typeof value === 'number' ? clamp(value, min, max) : value,\n defaultValue: typeof defaultValue === 'number' ? clamp(defaultValue, min, max) : defaultValue,\n finalValue: clamp(0, min, max),\n onChange,\n });\n\n const valueRef = useRef(_value);\n const onChangeEndRef = useRef(onChangeEnd);\n\n useEffect(() => {\n onChangeEndRef.current = onChangeEnd;\n }, [onChangeEnd]);\n\n const root = useRef<HTMLDivElement>(null);\n const thumb = useRef<HTMLDivElement>(null);\n const [domainMin, domainMax] = domain || [min, max];\n const position = getPosition({ value: _value, min: domainMin, max: domainMax });\n const scaledValue = scale!(_value);\n const _label = typeof label === 'function' ? label(scaledValue) : label;\n const precision = _precision ?? getPrecision(step);\n\n const hasStartPoint = typeof startPointValue === 'number' && !inverted;\n const startPosition = hasStartPoint\n ? getPosition({ value: startPointValue!, min: domainMin, max: domainMax })\n : 0;\n const trackOffset = hasStartPoint ? Math.min(position, startPosition) : 0;\n const trackFilled = hasStartPoint ? Math.abs(position - startPosition) : position;\n\n const handleChange = useCallback(\n ({ x }: { x: number }) => {\n if (!disabled) {\n const nextValue = getChangeValue({\n value: x,\n min: domainMin,\n max: domainMax,\n step,\n precision,\n });\n const clampedValue = clamp(nextValue, min!, max!);\n setValue(\n restrictToMarks && marks?.length\n ? findClosestNumber(\n clampedValue,\n marks.map((mark) => mark.value)\n )\n : clampedValue\n );\n valueRef.current = clampedValue;\n }\n },\n [disabled, min, max, domainMin, domainMax, step, precision, setValue, marks, restrictToMarks]\n );\n\n const handleScrubEnd = useCallback(() => {\n if (!disabled && onChangeEndRef.current) {\n const finalValue =\n restrictToMarks && marks?.length\n ? findClosestNumber(\n valueRef.current,\n marks.map((mark) => mark.value)\n )\n : valueRef.current;\n onChangeEndRef.current(finalValue);\n }\n }, [disabled, marks, restrictToMarks]);\n\n const { ref: container, active } = useMove(\n ({ x, y }) => handleChange({ x: orientation === 'vertical' ? 1 - y : x }),\n { onScrubEnd: handleScrubEnd },\n dir\n );\n\n const callOnChangeEnd = useCallback(\n (value: number) => {\n if (!disabled && onChangeEndRef.current) {\n onChangeEndRef.current(value);\n }\n },\n [disabled]\n );\n\n const handleTrackKeydownCapture = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue = getNextMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(_value + step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue =\n dir === 'rtl' ? getPreviousMarkValue(_value, marks) : getNextMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(dir === 'rtl' ? _value - step : _value + step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue = getPreviousMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(_value - step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n const nextValue =\n dir === 'rtl' ? getNextMarkValue(_value, marks) : getPreviousMarkValue(_value, marks);\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n const nextValue = getFloatingValue(\n Math.min(Math.max(dir === 'rtl' ? _value + step : _value - step, domainMin), domainMax),\n precision\n );\n setValue(nextValue);\n callOnChangeEnd(nextValue);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n setValue(getFirstMarkValue(marks));\n callOnChangeEnd(getFirstMarkValue(marks));\n break;\n }\n\n setValue(min);\n callOnChangeEnd(min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n thumb.current?.focus();\n\n if (restrictToMarks && marks) {\n setValue(getLastMarkValue(marks));\n callOnChangeEnd(getLastMarkValue(marks));\n break;\n }\n\n setValue(max);\n callOnChangeEnd(max);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n };\n\n return (\n <SliderProvider value={{ getStyles }}>\n <SliderRoot\n {...others}\n ref={useMergedRef(ref, root)}\n onKeyDownCapture={handleTrackKeydownCapture}\n onMouseDownCapture={() => root.current?.focus()}\n size={size}\n disabled={disabled}\n orientation={orientation}\n >\n <Track\n inverted={inverted}\n offset={trackOffset}\n filled={trackFilled}\n marks={marks}\n min={domainMin}\n max={domainMax}\n value={scaledValue}\n startPointValue={hasStartPoint ? startPointValue : undefined}\n disabled={disabled}\n containerProps={{\n ref: container,\n onMouseEnter: showLabelOnHover ? () => setHovered(true) : undefined,\n onMouseLeave: showLabelOnHover ? () => setHovered(false) : undefined,\n }}\n >\n <Thumb\n max={domainMax}\n min={domainMin}\n value={scaledValue}\n position={position}\n dragging={active}\n label={_label}\n ref={thumb as any}\n labelTransitionProps={labelTransitionProps}\n labelAlwaysOn={labelAlwaysOn}\n thumbLabel={thumbLabel}\n thumbValueText={thumbValueText}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n orientation={orientation}\n {...thumbProps}\n >\n {thumbChildren}\n </Thumb>\n </Track>\n\n <input type=\"hidden\" name={name} value={scaledValue} {...hiddenInputProps} />\n </SliderRoot>\n </SliderProvider>\n );\n});\n\nSlider.classes = classes;\nSlider.varsResolver = varsResolver;\nSlider.displayName = '@mantine/core/Slider';\n\nexport namespace Slider {\n export type Props = SliderProps;\n export type StylesNames = SliderStylesNames;\n export type CssVariables = SliderCssVariables;\n export type Factory = SliderFactory;\n export type Mark = SliderMark;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Slider/Slider.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\n\nexport type SliderStylesNames =\n | 'root'\n | 'label'\n | 'thumb'\n | 'trackContainer'\n | 'track'\n | 'bar'\n | 'markWrapper'\n | 'mark'\n | 'markLabel';\n\nexport type SliderCssVariables = {\n root: '--slider-size' | '--slider-color' | '--slider-thumb-size' | '--slider-radius';\n};\n\ninterface SliderContextValue {\n getStyles: GetStylesApi<{\n stylesNames: SliderStylesNames;\n props: any;\n ref: any;\n vars: any;\n variant: any;\n }>;\n}\n\nexport const [SliderProvider, useSliderContext] = createSafeContext<SliderContextValue>(\n 'SliderProvider was not found in tree'\n);\n"],"mappings":";;AA2BA,MAAa,CAAC,gBAAgB,0FAAoBA,
|
|
1
|
+
{"version":3,"file":"Slider.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Slider/Slider.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\n\nexport type SliderStylesNames =\n | 'root'\n | 'label'\n | 'thumb'\n | 'trackContainer'\n | 'track'\n | 'bar'\n | 'markWrapper'\n | 'mark'\n | 'markLabel';\n\nexport type SliderCssVariables = {\n root: '--slider-size' | '--slider-color' | '--slider-thumb-size' | '--slider-radius';\n};\n\ninterface SliderContextValue {\n getStyles: GetStylesApi<{\n stylesNames: SliderStylesNames;\n props: any;\n ref: any;\n vars: any;\n variant: any;\n }>;\n}\n\nexport const [SliderProvider, useSliderContext] = createSafeContext<SliderContextValue>(\n 'SliderProvider was not found in tree'\n);\n"],"mappings":";;AA2BA,MAAa,CAAC,gBAAgB,0FAAoBA,CAAAA,CAAAA,kBAChD,sCACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderRoot.cjs","names":["useSliderContext","Box"],"sources":["../../../../src/components/Slider/SliderRoot/SliderRoot.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n MantineColor,\n MantineRadius,\n MantineSize,\n} from '../../../core';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface SliderRootProps extends BoxProps, ElementProps<'div'> {\n size: MantineSize | (string & {}) | number;\n children: React.ReactNode;\n color?: MantineColor;\n disabled: boolean | undefined;\n variant?: string;\n thumbSize?: string | number;\n radius?: MantineRadius;\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport function SliderRoot({\n size,\n disabled,\n variant,\n color,\n thumbSize,\n radius,\n orientation,\n ...others\n}: SliderRootProps) {\n const { getStyles } = useSliderContext();\n return (\n <Box\n tabIndex={-1}\n variant={variant}\n size={size}\n {...getStyles('root')}\n mod={{ orientation }}\n {...others}\n />\n );\n}\n\nSliderRoot.displayName = '@mantine/core/SliderRoot';\n"],"mappings":";;;;;AAqBA,SAAgB,WAAW,EACzB,MACA,UACA,SACA,OACA,WACA,QACA,aACA,GAAG,UACe;CAClB,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CACvC,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"SliderRoot.cjs","names":["useSliderContext","Box"],"sources":["../../../../src/components/Slider/SliderRoot/SliderRoot.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n MantineColor,\n MantineRadius,\n MantineSize,\n} from '../../../core';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface SliderRootProps extends BoxProps, ElementProps<'div'> {\n size: MantineSize | (string & {}) | number;\n children: React.ReactNode;\n color?: MantineColor;\n disabled: boolean | undefined;\n variant?: string;\n thumbSize?: string | number;\n radius?: MantineRadius;\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport function SliderRoot({\n size,\n disabled,\n variant,\n color,\n thumbSize,\n radius,\n orientation,\n ...others\n}: SliderRootProps) {\n const { getStyles } = useSliderContext();\n return (\n <Box\n tabIndex={-1}\n variant={variant}\n size={size}\n {...getStyles('root')}\n mod={{ orientation }}\n {...others}\n />\n );\n}\n\nSliderRoot.displayName = '@mantine/core/SliderRoot';\n"],"mappings":";;;;;AAqBA,SAAgB,WAAW,EACzB,MACA,UACA,SACA,OACA,WACA,QACA,aACA,GAAG,UACe;CAClB,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CACvC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,UAAU;EACD;EACH;EACN,GAAI,UAAU,MAAM;EACpB,KAAK,EAAE,YAAY;EACnB,GAAI;CACL,CAAA;AAEL;AAEA,WAAW,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumb.cjs","names":["useSliderContext","Box","Transition"],"sources":["../../../../src/components/Slider/Thumb/Thumb.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Box } from '../../../core';\nimport { Transition, TransitionOverride } from '../../Transition';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface ThumbProps extends Omit<React.ComponentProps<'div'>, 'value'> {\n max: number;\n min: number;\n value: number;\n position: number;\n dragging: boolean;\n label: React.ReactNode;\n thumbValueText?: string | ((value: number) => string);\n onKeyDownCapture?: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n onMouseDown?: (event: any) => void;\n labelTransitionProps: TransitionOverride | undefined;\n labelAlwaysOn: boolean | undefined;\n thumbLabel: string | undefined;\n showLabelOnHover: boolean | undefined;\n isHovered?: boolean;\n children?: React.ReactNode;\n disabled: boolean | undefined;\n orientation?: 'horizontal' | 'vertical';\n className?: string | undefined;\n style?: React.CSSProperties;\n}\n\nexport function Thumb({\n max,\n min,\n value,\n position,\n label,\n dragging,\n onMouseDown,\n onKeyDownCapture,\n labelTransitionProps,\n labelAlwaysOn,\n thumbLabel,\n thumbValueText,\n onFocus,\n onBlur,\n showLabelOnHover,\n isHovered,\n children = null,\n disabled,\n orientation = 'horizontal',\n ref,\n}: ThumbProps) {\n const { getStyles } = useSliderContext();\n\n const [focused, setFocused] = useState(false);\n\n const isVisible = labelAlwaysOn || dragging || focused || (showLabelOnHover && isHovered);\n const valueText = typeof thumbValueText === 'function' ? thumbValueText(value) : thumbValueText;\n\n return (\n <Box<'div'>\n tabIndex={disabled ? -1 : 0}\n role=\"slider\"\n aria-label={thumbLabel}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={value}\n aria-valuetext={valueText}\n aria-disabled={disabled}\n aria-orientation={orientation}\n ref={ref}\n __vars={{ '--slider-thumb-offset': `${position}%` }}\n {...getStyles('thumb', { focusable: true })}\n mod={{ dragging, disabled }}\n onFocus={(event) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n }}\n onBlur={(event) => {\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n }}\n onTouchStart={onMouseDown}\n onMouseDown={onMouseDown}\n onKeyDownCapture={onKeyDownCapture}\n onClick={(event) => event.stopPropagation()}\n >\n {children}\n <Transition\n mounted={label != null && !!isVisible}\n transition=\"fade\"\n duration={0}\n {...labelTransitionProps}\n >\n {(transitionStyles) => (\n <div {...getStyles('label', { style: transitionStyles })}>{label}</div>\n )}\n </Transition>\n </Box>\n );\n}\n\nThumb.displayName = '@mantine/core/SliderThumb';\n"],"mappings":";;;;;;;AA2BA,SAAgB,MAAM,EACpB,KACA,KACA,OACA,UACA,OACA,UACA,aACA,kBACA,sBACA,eACA,YACA,gBACA,SACA,QACA,kBACA,WACA,WAAW,MACX,UACA,cAAc,cACd,OACa;CACb,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CAEvC,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,
|
|
1
|
+
{"version":3,"file":"Thumb.cjs","names":["useSliderContext","Box","Transition"],"sources":["../../../../src/components/Slider/Thumb/Thumb.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Box } from '../../../core';\nimport { Transition, TransitionOverride } from '../../Transition';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface ThumbProps extends Omit<React.ComponentProps<'div'>, 'value'> {\n max: number;\n min: number;\n value: number;\n position: number;\n dragging: boolean;\n label: React.ReactNode;\n thumbValueText?: string | ((value: number) => string);\n onKeyDownCapture?: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n onMouseDown?: (event: any) => void;\n labelTransitionProps: TransitionOverride | undefined;\n labelAlwaysOn: boolean | undefined;\n thumbLabel: string | undefined;\n showLabelOnHover: boolean | undefined;\n isHovered?: boolean;\n children?: React.ReactNode;\n disabled: boolean | undefined;\n orientation?: 'horizontal' | 'vertical';\n className?: string | undefined;\n style?: React.CSSProperties;\n}\n\nexport function Thumb({\n max,\n min,\n value,\n position,\n label,\n dragging,\n onMouseDown,\n onKeyDownCapture,\n labelTransitionProps,\n labelAlwaysOn,\n thumbLabel,\n thumbValueText,\n onFocus,\n onBlur,\n showLabelOnHover,\n isHovered,\n children = null,\n disabled,\n orientation = 'horizontal',\n ref,\n}: ThumbProps) {\n const { getStyles } = useSliderContext();\n\n const [focused, setFocused] = useState(false);\n\n const isVisible = labelAlwaysOn || dragging || focused || (showLabelOnHover && isHovered);\n const valueText = typeof thumbValueText === 'function' ? thumbValueText(value) : thumbValueText;\n\n return (\n <Box<'div'>\n tabIndex={disabled ? -1 : 0}\n role=\"slider\"\n aria-label={thumbLabel}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={value}\n aria-valuetext={valueText}\n aria-disabled={disabled}\n aria-orientation={orientation}\n ref={ref}\n __vars={{ '--slider-thumb-offset': `${position}%` }}\n {...getStyles('thumb', { focusable: true })}\n mod={{ dragging, disabled }}\n onFocus={(event) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n }}\n onBlur={(event) => {\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n }}\n onTouchStart={onMouseDown}\n onMouseDown={onMouseDown}\n onKeyDownCapture={onKeyDownCapture}\n onClick={(event) => event.stopPropagation()}\n >\n {children}\n <Transition\n mounted={label != null && !!isVisible}\n transition=\"fade\"\n duration={0}\n {...labelTransitionProps}\n >\n {(transitionStyles) => (\n <div {...getStyles('label', { style: transitionStyles })}>{label}</div>\n )}\n </Transition>\n </Box>\n );\n}\n\nThumb.displayName = '@mantine/core/SliderThumb';\n"],"mappings":";;;;;;;AA2BA,SAAgB,MAAM,EACpB,KACA,KACA,OACA,UACA,OACA,UACA,aACA,kBACA,sBACA,eACA,YACA,gBACA,SACA,QACA,kBACA,WACA,WAAW,MACX,UACA,cAAc,cACd,OACa;CACb,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CAEvC,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,SAAA,CAAuB,KAAK;CAE5C,MAAM,YAAY,iBAAiB,YAAY,WAAY,oBAAoB;CAC/E,MAAM,YAAY,OAAO,mBAAmB,aAAa,eAAe,KAAK,IAAI;CAEjF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EACE,UAAU,WAAW,KAAK;EAC1B,MAAK;EACL,cAAY;EACZ,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,kBAAgB;EAChB,iBAAe;EACf,oBAAkB;EACb;EACL,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAAG;EAClD,GAAI,UAAU,SAAS,EAAE,WAAW,KAAK,CAAC;EAC1C,KAAK;GAAE;GAAU;EAAS;EAC1B,UAAU,UAAU;GAClB,WAAW,IAAI;GACf,OAAO,YAAY,cAAc,QAAQ,KAAK;EAChD;EACA,SAAS,UAAU;GACjB,WAAW,KAAK;GAChB,OAAO,WAAW,cAAc,OAAO,KAAK;EAC9C;EACA,cAAc;EACD;EACK;EAClB,UAAU,UAAU,MAAM,gBAAgB;YAzB5C,CA2BG,UACD,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;GACE,SAAS,SAAS,QAAQ,CAAC,CAAC;GAC5B,YAAW;GACX,UAAU;GACV,GAAI;cAEF,qBACA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,GAAI,UAAU,SAAS,EAAE,OAAO,iBAAiB,CAAC;cAAI;GAAW,CAAA;EAE9D,CAAA,CACT;;AAET;AAEA,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Track.cjs","names":["useSliderContext","Box","Marks"],"sources":["../../../../src/components/Slider/Track/Track.tsx"],"sourcesContent":["import { Box } from '../../../core';\nimport { Marks } from '../Marks/Marks';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface TrackProps {\n filled: number;\n offset?: number;\n marksOffset?: number;\n marks: { value: number; label?: React.ReactNode }[] | undefined;\n min: number;\n max: number;\n value: number;\n startPointValue?: number;\n children: React.ReactNode;\n disabled: boolean | undefined;\n inverted: boolean | undefined;\n containerProps?: React.ComponentProps<'div'>;\n}\n\nexport function Track({\n filled,\n children,\n offset,\n disabled,\n marksOffset,\n inverted,\n startPointValue,\n containerProps,\n ...others\n}: TrackProps) {\n const { getStyles } = useSliderContext();\n\n return (\n <Box {...getStyles('trackContainer')} mod={{ disabled }} {...containerProps}>\n <Box {...getStyles('track')} mod={{ inverted, disabled }}>\n <Box\n mod={{ inverted, disabled }}\n __vars={{\n '--slider-bar-width': `calc(${filled}% + 2 * var(--slider-size))`,\n '--slider-bar-offset': `calc(${offset}% - var(--slider-size))`,\n }}\n {...getStyles('bar')}\n />\n\n {children}\n\n <Marks\n {...others}\n offset={marksOffset}\n disabled={disabled}\n inverted={inverted}\n startPointValue={startPointValue}\n />\n </Box>\n </Box>\n );\n}\n\nTrack.displayName = '@mantine/core/SliderTrack';\n"],"mappings":";;;;;;AAmBA,SAAgB,MAAM,EACpB,QACA,UACA,QACA,UACA,aACA,UACA,iBACA,gBACA,GAAG,UACU;CACb,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CAEvC,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Track.cjs","names":["useSliderContext","Box","Marks"],"sources":["../../../../src/components/Slider/Track/Track.tsx"],"sourcesContent":["import { Box } from '../../../core';\nimport { Marks } from '../Marks/Marks';\nimport { useSliderContext } from '../Slider.context';\n\nexport interface TrackProps {\n filled: number;\n offset?: number;\n marksOffset?: number;\n marks: { value: number; label?: React.ReactNode }[] | undefined;\n min: number;\n max: number;\n value: number;\n startPointValue?: number;\n children: React.ReactNode;\n disabled: boolean | undefined;\n inverted: boolean | undefined;\n containerProps?: React.ComponentProps<'div'>;\n}\n\nexport function Track({\n filled,\n children,\n offset,\n disabled,\n marksOffset,\n inverted,\n startPointValue,\n containerProps,\n ...others\n}: TrackProps) {\n const { getStyles } = useSliderContext();\n\n return (\n <Box {...getStyles('trackContainer')} mod={{ disabled }} {...containerProps}>\n <Box {...getStyles('track')} mod={{ inverted, disabled }}>\n <Box\n mod={{ inverted, disabled }}\n __vars={{\n '--slider-bar-width': `calc(${filled}% + 2 * var(--slider-size))`,\n '--slider-bar-offset': `calc(${offset}% - var(--slider-size))`,\n }}\n {...getStyles('bar')}\n />\n\n {children}\n\n <Marks\n {...others}\n offset={marksOffset}\n disabled={disabled}\n inverted={inverted}\n startPointValue={startPointValue}\n />\n </Box>\n </Box>\n );\n}\n\nTrack.displayName = '@mantine/core/SliderTrack';\n"],"mappings":";;;;;;AAmBA,SAAgB,MAAM,EACpB,QACA,UACA,QACA,UACA,aACA,UACA,iBACA,gBACA,GAAG,UACU;CACb,MAAM,EAAE,cAAcA,uBAAAA,iBAAiB;CAEvC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,gBAAgB;EAAG,KAAK,EAAE,SAAS;EAAG,GAAI;YAC3D,iBAAA,GAAA,kBAAA,KAAA,CAACA,YAAAA,KAAD;GAAK,GAAI,UAAU,OAAO;GAAG,KAAK;IAAE;IAAU;GAAS;aAAvD;IACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,YAAAA,KAAD;KACE,KAAK;MAAE;MAAU;KAAS;KAC1B,QAAQ;MACN,sBAAsB,QAAQ,OAAO;MACrC,uBAAuB,QAAQ,OAAO;KACxC;KACA,GAAI,UAAU,KAAK;IACpB,CAAA;IAEA;IAED,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;KACE,GAAI;KACJ,QAAQ;KACE;KACA;KACO;IAClB,CAAA;GACE;;CACF,CAAA;AAET;AAEA,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-precision.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-precision/get-precision.ts"],"sourcesContent":["export function getPrecision(step: number) {\n if (!step) {\n return 0;\n }\n const split = step.toString().split('.');\n return split.length > 1 ? split[1].length : 0;\n}\n"],"mappings":";;AAAA,SAAgB,aAAa,MAAc;CACzC,IAAI,CAAC,MACH,OAAO;CAET,MAAM,QAAQ,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"get-precision.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-precision/get-precision.ts"],"sourcesContent":["export function getPrecision(step: number) {\n if (!step) {\n return 0;\n }\n const split = step.toString().split('.');\n return split.length > 1 ? split[1].length : 0;\n}\n"],"mappings":";;AAAA,SAAgB,aAAa,MAAc;CACzC,IAAI,CAAC,MACH,OAAO;CAET,MAAM,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG;CACvC,OAAO,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC,SAAS;AAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-step-mark-value.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-step-mark-value/get-step-mark-value.ts"],"sourcesContent":["export function getNextMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n const nextMark = sortedMarks.find((mark) => mark.value > currentValue);\n return nextMark ? nextMark.value : currentValue;\n}\n\nexport function getPreviousMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => b.value - a.value);\n const previousMark = sortedMarks.find((mark) => mark.value < currentValue);\n return previousMark ? previousMark.value : currentValue;\n}\n\nexport function getFirstMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[0].value : 0;\n}\n\nexport function getLastMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[sortedMarks.length - 1].value : 100;\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,cACA,OACA;CAEA,MAAM,WADc,CAAC,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"get-step-mark-value.cjs","names":[],"sources":["../../../../../src/components/Slider/utils/get-step-mark-value/get-step-mark-value.ts"],"sourcesContent":["export function getNextMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n const nextMark = sortedMarks.find((mark) => mark.value > currentValue);\n return nextMark ? nextMark.value : currentValue;\n}\n\nexport function getPreviousMarkValue(\n currentValue: number,\n marks: { value: number; label?: React.ReactNode }[]\n) {\n const sortedMarks = [...marks].sort((a, b) => b.value - a.value);\n const previousMark = sortedMarks.find((mark) => mark.value < currentValue);\n return previousMark ? previousMark.value : currentValue;\n}\n\nexport function getFirstMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[0].value : 0;\n}\n\nexport function getLastMarkValue(marks: { value: number; label?: React.ReactNode }[]) {\n const sortedMarks = [...marks].sort((a, b) => a.value - b.value);\n return sortedMarks.length > 0 ? sortedMarks[sortedMarks.length - 1].value : 100;\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,cACA,OACA;CAEA,MAAM,WADc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC/B,CAAC,CAAC,MAAM,SAAS,KAAK,QAAQ,YAAY;CACrE,OAAO,WAAW,SAAS,QAAQ;AACrC;AAEA,SAAgB,qBACd,cACA,OACA;CAEA,MAAM,eADc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAC3B,CAAC,CAAC,MAAM,SAAS,KAAK,QAAQ,YAAY;CACzE,OAAO,eAAe,aAAa,QAAQ;AAC7C;AAEA,SAAgB,kBAAkB,OAAqD;CACrF,MAAM,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,EAAE,CAAC,QAAQ;AACzD;AAEA,SAAgB,iBAAiB,OAAqD;CACpF,MAAM,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;CAC/D,OAAO,YAAY,SAAS,IAAI,YAAY,YAAY,SAAS,EAAE,CAAC,QAAQ;AAC9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Space.cjs","names":["factory","useProps","Box"],"sources":["../../../src/components/Space/Space.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n} from '../../core';\n\nexport interface SpaceProps extends BoxProps, StylesApiProps<SpaceFactory>, ElementProps<'div'> {}\n\nexport type SpaceFactory = Factory<{\n props: SpaceProps;\n ref: HTMLDivElement;\n}>;\n\nexport const Space = factory<SpaceFactory>((props) => {\n const { w, h, miw, mih, ...others } = useProps('Space', null, props);\n return <Box {...others} w={w} miw={miw ?? w} h={h} mih={mih ?? h} />;\n});\n\nSpace.displayName = '@mantine/core/Space';\n\nexport namespace Space {\n export type Props = SpaceProps;\n export type Factory = SpaceFactory;\n}\n"],"mappings":";;;;;;AAiBA,MAAa,QAAQA,gBAAAA,SAAuB,UAAU;CACpD,MAAM,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,WAAWC,kBAAAA,SAAS,SAAS,MAAM,KAAK;CACnE,OAAO,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Space.cjs","names":["factory","useProps","Box"],"sources":["../../../src/components/Space/Space.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n} from '../../core';\n\nexport interface SpaceProps extends BoxProps, StylesApiProps<SpaceFactory>, ElementProps<'div'> {}\n\nexport type SpaceFactory = Factory<{\n props: SpaceProps;\n ref: HTMLDivElement;\n}>;\n\nexport const Space = factory<SpaceFactory>((props) => {\n const { w, h, miw, mih, ...others } = useProps('Space', null, props);\n return <Box {...others} w={w} miw={miw ?? w} h={h} mih={mih ?? h} />;\n});\n\nSpace.displayName = '@mantine/core/Space';\n\nexport namespace Space {\n export type Props = SpaceProps;\n export type Factory = SpaceFactory;\n}\n"],"mappings":";;;;;;AAiBA,MAAa,QAAQA,gBAAAA,SAAuB,UAAU;CACpD,MAAM,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,WAAWC,kBAAAA,SAAS,SAAS,MAAM,KAAK;CACnE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAAI;EAAW;EAAG,KAAK,OAAO;EAAM;EAAG,KAAK,OAAO;CAAI,CAAA;AACrE,CAAC;AAED,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GripIcon.cjs","names":[],"sources":["../../../src/components/Splitter/GripIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function GripVerticalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n\nexport function GripHorizontalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M4 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M4 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n"],"mappings":";;;;;;AAEA,SAAgB,iBAAiB,OAA8C;CAC7E,OACE,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"GripIcon.cjs","names":[],"sources":["../../../src/components/Splitter/GripIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function GripVerticalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n\nexport function GripHorizontalIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M4 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M4 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M11 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n <path d=\"M18 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\" />\n </svg>\n );\n}\n"],"mappings":";;;;;;AAEA,SAAgB,iBAAiB,OAA8C;CAC7E,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET;AAEA,SAAgB,mBAAmB,OAA8C;CAC/E,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,GAAI;YAVN;GAYE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,oCAAqC,CAAA;GAC7C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC/C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,qCAAsC,CAAA;GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;EAC5C;;AAET"}
|
|
@@ -15,6 +15,25 @@ let react = require("react");
|
|
|
15
15
|
let _mantine_hooks = require("@mantine/hooks");
|
|
16
16
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
17
17
|
//#region packages/@mantine/core/src/components/Splitter/Splitter.tsx
|
|
18
|
+
const PX_RE = /^(-?[\d.]+)px$/;
|
|
19
|
+
const REM_RE = /^(-?[\d.]+)rem$/;
|
|
20
|
+
function isFixedPaneSize(size) {
|
|
21
|
+
return typeof size === "string" && (PX_RE.test(size) || REM_RE.test(size));
|
|
22
|
+
}
|
|
23
|
+
function getPaneFlexStyle(size, pixelMode) {
|
|
24
|
+
const magnitude = typeof size === "number" ? size : parseFloat(size);
|
|
25
|
+
if (!pixelMode) return { flexBasis: `${magnitude}%` };
|
|
26
|
+
if (isFixedPaneSize(size)) return {
|
|
27
|
+
flexGrow: 0,
|
|
28
|
+
flexShrink: 1,
|
|
29
|
+
flexBasis: size
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
flexGrow: magnitude,
|
|
33
|
+
flexShrink: 1,
|
|
34
|
+
flexBasis: 0
|
|
35
|
+
};
|
|
36
|
+
}
|
|
18
37
|
const defaultProps = {
|
|
19
38
|
orientation: "horizontal",
|
|
20
39
|
lineSize: 2,
|
|
@@ -51,6 +70,7 @@ const Splitter = require_factory.factory((_props) => {
|
|
|
51
70
|
resetOnDoubleClick
|
|
52
71
|
});
|
|
53
72
|
(0, react.useImperativeHandle)(splitterRef, () => splitter, [splitter]);
|
|
73
|
+
const getPaneStyle = (index) => getPaneFlexStyle(splitter.sizes[index], splitter.pixelMode);
|
|
54
74
|
const mergedRef = (0, _mantine_hooks.useMergedRef)(ref, splitter.ref);
|
|
55
75
|
const getStyles = require_use_styles.useStyles({
|
|
56
76
|
name: "Splitter",
|
|
@@ -92,7 +112,8 @@ const Splitter = require_factory.factory((_props) => {
|
|
|
92
112
|
getStyles,
|
|
93
113
|
sizes: splitter.sizes,
|
|
94
114
|
collapsed: splitter.collapsed,
|
|
95
|
-
orientation
|
|
115
|
+
orientation,
|
|
116
|
+
getPaneStyle
|
|
96
117
|
},
|
|
97
118
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
|
|
98
119
|
ref: mergedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Splitter.cjs","names":["createVarsResolver","rem","getThemeColor","factory","useProps","useDirection","Children","useStyles","GripHorizontalIcon","GripVerticalIcon","Box","SplitterProvider","classes","SplitterPane"],"sources":["../../../src/components/Splitter/Splitter.tsx"],"sourcesContent":["import { Children, cloneElement, useImperativeHandle } from 'react';\nimport {\n useMergedRef,\n useSplitter,\n UseSplitterRedistributeFn,\n UseSplitterReturnValue,\n} from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { GripHorizontalIcon, GripVerticalIcon } from './GripIcon';\nimport { SplitterProvider } from './Splitter.context';\nimport {\n SplitterPane,\n SplitterPaneProps,\n SplitterPaneStylesNames,\n} from './SplitterPane/SplitterPane';\nimport classes from './Splitter.module.css';\n\nexport type SplitterStylesNames = 'root' | 'handle' | 'thumb' | SplitterPaneStylesNames;\n\nexport type SplitterCssVariables = {\n root: '--splitter-line-size' | '--splitter-handle-color';\n};\n\nexport interface SplitterProps\n extends BoxProps, StylesApiProps<SplitterFactory>, ElementProps<'div'> {\n /** Layout direction @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n\n /** Controlled sizes (percentages summing to 100) */\n sizes?: number[];\n\n /** Called during resize with updated sizes */\n onSizeChange?: (sizes: number[]) => void;\n\n /** Called when drag starts */\n onResizeStart?: (handleIndex: number) => void;\n\n /** Called when drag ends */\n onResizeEnd?: (handleIndex: number, sizes: number[]) => void;\n\n /** Called when a panel collapses or expands */\n onCollapseChange?: (panelIndex: number, collapsed: boolean) => void;\n\n /** How to redistribute space when immediate neighbor is at its min/max */\n redistribute?: 'nearest' | 'equal' | UseSplitterRedistributeFn;\n\n /** Keyboard step size in percentage @default 1 */\n step?: number;\n\n /** Shift+arrow step size in percentage @default 10 */\n shiftStep?: number;\n\n /** CSS value for separator line thickness between panes @default 2 */\n lineSize?: number | string;\n\n /** Key of `theme.colors` or any valid CSS color for the separator line */\n handleColor?: MantineColor;\n\n /** Custom icon displayed in the handle thumb, by default uses grip icon based on orientation */\n handleIcon?: React.ReactNode;\n\n /** Determines whether the thumb with grip icon is displayed on the handle @default true */\n withHandle?: boolean;\n\n /** Restore the two panes adjacent to a handle to their default ratio (preserving their combined size) when the handle is double-clicked @default true */\n resetOnDoubleClick?: boolean;\n\n /** Ref to imperative splitter API (sizes, collapse, expand, etc.) */\n splitterRef?: React.RefObject<UseSplitterReturnValue | null>;\n\n /** Splitter panes */\n children?: React.ReactNode;\n}\n\nexport type SplitterFactory = Factory<{\n props: SplitterProps;\n ref: HTMLDivElement;\n stylesNames: SplitterStylesNames;\n vars: SplitterCssVariables;\n staticComponents: {\n Pane: typeof SplitterPane;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n lineSize: 2,\n withHandle: true,\n resetOnDoubleClick: true,\n} satisfies Partial<SplitterProps>;\n\nconst varsResolver = createVarsResolver<SplitterFactory>((theme, { lineSize, handleColor }) => ({\n root: {\n '--splitter-line-size': rem(lineSize),\n '--splitter-handle-color': handleColor ? getThemeColor(handleColor, theme) : undefined,\n },\n}));\n\nexport const Splitter = factory<SplitterFactory>((_props) => {\n const props = useProps('Splitter', defaultProps, _props);\n const {\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n lineSize,\n handleColor,\n handleIcon,\n withHandle,\n resetOnDoubleClick,\n splitterRef,\n children,\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n mod,\n attributes,\n ref,\n ...others\n } = props;\n\n const { dir } = useDirection();\n\n const paneChildren = Children.toArray(children) as React.ReactElement<SplitterPaneProps>[];\n\n const panels = paneChildren.map((child) => ({\n defaultSize: child.props.defaultSize,\n min: child.props.min,\n max: child.props.max,\n collapsible: child.props.collapsible,\n collapseThreshold: child.props.collapseThreshold,\n }));\n\n const splitter = useSplitter({\n panels,\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n dir,\n resetOnDoubleClick,\n });\n\n useImperativeHandle(splitterRef, () => splitter, [splitter]);\n\n const mergedRef = useMergedRef(ref, splitter.ref);\n\n const getStyles = useStyles<SplitterFactory>({\n name: 'Splitter',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const defaultIcon = orientation === 'vertical' ? <GripHorizontalIcon /> : <GripVerticalIcon />;\n const thumbIcon = handleIcon !== undefined ? handleIcon : defaultIcon;\n\n const items: React.ReactNode[] = [];\n\n paneChildren.forEach((child, index) => {\n if (index > 0) {\n const handleProps = splitter.getHandleProps({ index: index - 1 });\n const isActive = splitter.activeHandle === index - 1;\n items.push(\n <Box {...getStyles('handle')} key={`handle-${index - 1}`} {...handleProps}>\n {withHandle && (\n <div\n {...getStyles('thumb')}\n data-orientation={orientation}\n data-active={isActive || undefined}\n >\n {thumbIcon}\n </div>\n )}\n </Box>\n );\n }\n\n items.push(\n cloneElement(child, {\n key: `pane-${index}`,\n __index: index,\n })\n );\n });\n\n return (\n <SplitterProvider\n value={{\n getStyles,\n sizes: splitter.sizes,\n collapsed: splitter.collapsed,\n orientation: orientation!,\n }}\n >\n <Box ref={mergedRef} {...getStyles('root')} mod={[{ orientation }, mod]} {...others}>\n {items}\n </Box>\n </SplitterProvider>\n );\n});\n\nSplitter.classes = classes;\nSplitter.varsResolver = varsResolver;\nSplitter.displayName = '@mantine/core/Splitter';\nSplitter.Pane = SplitterPane;\n"],"mappings":";;;;;;;;;;;;;;;;;AAkGA,MAAM,eAAe;CACnB,aAAa;CACb,UAAU;CACV,YAAY;CACZ,oBAAoB;AACtB;AAEA,MAAM,eAAeA,6BAAAA,oBAAqC,OAAO,EAAE,UAAU,mBAAmB,EAC9F,MAAM;CACJ,wBAAwBC,YAAAA,IAAI,QAAQ;CACpC,2BAA2B,cAAcC,wBAAAA,cAAc,aAAa,KAAK,IAAI,KAAA;AAC/E,EACF,EAAE;AAEF,MAAa,WAAWC,gBAAAA,SAA0B,WAAW;CAC3D,MAAM,QAAQC,kBAAAA,SAAS,YAAY,cAAc,MAAM;CACvD,MAAM,EACJ,aACA,OAAO,iBACP,cACA,eACA,aACA,kBACA,cACA,MACA,WACA,UACA,aACA,YACA,YACA,oBACA,aACA,UACA,WACA,YACA,OACA,QACA,UACA,MACA,KACA,YACA,KACA,GAAG,WACD;CAEJ,MAAM,EAAE,QAAQC,0BAAAA,aAAa;CAE7B,MAAM,eAAeC,MAAAA,SAAS,QAAQ,QAAQ;CAU9C,MAAM,YAAA,GAAA,eAAA,aAAuB;EAC3B,QATa,aAAa,KAAK,WAAW;GAC1C,aAAa,MAAM,MAAM;GACzB,KAAK,MAAM,MAAM;GACjB,KAAK,MAAM,MAAM;GACjB,aAAa,MAAM,MAAM;GACzB,mBAAmB,MAAM,MAAM;EACjC,EAGO;EACL;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,CAAA,GAAA,MAAA,qBAAoB,mBAAmB,UAAU,CAAC,QAAQ,CAAC;CAE3D,MAAM,aAAA,GAAA,eAAA,cAAyB,KAAK,SAAS,GAAG;CAEhD,MAAM,YAAYC,mBAAAA,UAA2B;EAC3C,MAAM;EACN,SAAA,wBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAGD,MAAM,YAAY,eAAe,KAAA,IAAY,aADzB,gBAAgB,aAAa,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,oBAAD,CAAqB,CAAA,IAAI,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,kBAAD,CAAmB,CAAA;CAG7F,MAAM,QAA2B,CAAC;CAElC,aAAa,SAAS,OAAO,UAAU;EACrC,IAAI,QAAQ,GAAG;GACb,MAAM,cAAc,SAAS,eAAe,EAAE,OAAO,QAAQ,EAAE,CAAC;GAChE,MAAM,WAAW,SAAS,iBAAiB,QAAQ;GACnD,MAAM,KACJ,iBAAA,GAAA,MAAA,eAACC,YAAAA,KAAD;IAAK,GAAI,UAAU,QAAQ;IAAG,KAAK,UAAU,QAAQ;IAAK,GAAI;GAUzD,GATF,cACC,iBAAA,GAAA,kBAAA,KAAC,OAAD;IACE,GAAI,UAAU,OAAO;IACrB,oBAAkB;IAClB,eAAa,YAAY,KAAA;cAExB;GACE,CAAA,CAEJ,CACP;EACF;EAEA,MAAM,MAAA,GAAA,MAAA,cACS,OAAO;GAClB,KAAK,QAAQ;GACb,SAAS;EACX,CAAC,CACH;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,kBAAD;EACE,OAAO;GACL;GACA,OAAO,SAAS;GAChB,WAAW,SAAS;GACP;EACf;YAEA,iBAAA,GAAA,kBAAA,KAACD,YAAAA,KAAD;GAAK,KAAK;GAAW,GAAI,UAAU,MAAM;GAAG,KAAK,CAAC,EAAE,YAAY,GAAG,GAAG;GAAG,GAAI;aAC1E;EACE,CAAA;CACW,CAAA;AAEtB,CAAC;AAED,SAAS,UAAUE,wBAAAA;AACnB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,OAAOC,qBAAAA"}
|
|
1
|
+
{"version":3,"file":"Splitter.cjs","names":["createVarsResolver","rem","getThemeColor","factory","useProps","useDirection","Children","useStyles","GripHorizontalIcon","GripVerticalIcon","Box","SplitterProvider","classes","SplitterPane"],"sources":["../../../src/components/Splitter/Splitter.tsx"],"sourcesContent":["import { Children, cloneElement, useImperativeHandle } from 'react';\nimport {\n SplitterPaneSize,\n SplitterStep,\n useMergedRef,\n useSplitter,\n UseSplitterRedistributeFn,\n UseSplitterReturnValue,\n} from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n rem,\n StylesApiProps,\n useDirection,\n useProps,\n useStyles,\n} from '../../core';\nimport { GripHorizontalIcon, GripVerticalIcon } from './GripIcon';\nimport { SplitterProvider } from './Splitter.context';\nimport {\n SplitterPane,\n SplitterPaneProps,\n SplitterPaneStylesNames,\n} from './SplitterPane/SplitterPane';\nimport classes from './Splitter.module.css';\n\nconst PX_RE = /^(-?[\\d.]+)px$/;\nconst REM_RE = /^(-?[\\d.]+)rem$/;\n\nfunction isFixedPaneSize(size: SplitterPaneSize): boolean {\n return typeof size === 'string' && (PX_RE.test(size) || REM_RE.test(size));\n}\n\nfunction getPaneFlexStyle(size: SplitterPaneSize, pixelMode: boolean): React.CSSProperties {\n const magnitude = typeof size === 'number' ? size : parseFloat(size);\n\n if (!pixelMode) {\n return { flexBasis: `${magnitude}%` };\n }\n\n if (isFixedPaneSize(size)) {\n return { flexGrow: 0, flexShrink: 1, flexBasis: size as string };\n }\n\n return { flexGrow: magnitude, flexShrink: 1, flexBasis: 0 };\n}\n\nexport type SplitterStylesNames = 'root' | 'handle' | 'thumb' | SplitterPaneStylesNames;\n\nexport type SplitterCssVariables = {\n root: '--splitter-line-size' | '--splitter-handle-color';\n};\n\nexport interface SplitterProps\n extends BoxProps, StylesApiProps<SplitterFactory>, ElementProps<'div'> {\n /** Layout direction @default 'horizontal' */\n orientation?: 'horizontal' | 'vertical';\n\n /** Controlled sizes, each value keeps the unit it was declared in (number/`%` flexible, `px`/`rem` fixed) */\n sizes?: SplitterPaneSize[];\n\n /** Called during resize with updated sizes, each value keeps its declared unit */\n onSizeChange?: (sizes: SplitterPaneSize[]) => void;\n\n /** Called when drag starts */\n onResizeStart?: (handleIndex: number) => void;\n\n /** Called when drag ends */\n onResizeEnd?: (handleIndex: number, sizes: SplitterPaneSize[]) => void;\n\n /** Called when a panel collapses or expands */\n onCollapseChange?: (panelIndex: number, collapsed: boolean) => void;\n\n /** How to redistribute space when immediate neighbor is at its min/max */\n redistribute?: 'nearest' | 'equal' | UseSplitterRedistributeFn;\n\n /** Keyboard step size, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels @default 1 */\n step?: SplitterStep;\n\n /** Shift+arrow step size, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels @default 10 */\n shiftStep?: SplitterStep;\n\n /** CSS value for separator line thickness between panes @default 2 */\n lineSize?: number | string;\n\n /** Key of `theme.colors` or any valid CSS color for the separator line */\n handleColor?: MantineColor;\n\n /** Custom icon displayed in the handle thumb, by default uses grip icon based on orientation */\n handleIcon?: React.ReactNode;\n\n /** Determines whether the thumb with grip icon is displayed on the handle @default true */\n withHandle?: boolean;\n\n /** Restore the two panes adjacent to a handle to their default ratio (preserving their combined size) when the handle is double-clicked @default true */\n resetOnDoubleClick?: boolean;\n\n /** Ref to imperative splitter API (sizes, collapse, expand, etc.) */\n splitterRef?: React.RefObject<UseSplitterReturnValue | null>;\n\n /** Splitter panes */\n children?: React.ReactNode;\n}\n\nexport type SplitterFactory = Factory<{\n props: SplitterProps;\n ref: HTMLDivElement;\n stylesNames: SplitterStylesNames;\n vars: SplitterCssVariables;\n staticComponents: {\n Pane: typeof SplitterPane;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n lineSize: 2,\n withHandle: true,\n resetOnDoubleClick: true,\n} satisfies Partial<SplitterProps>;\n\nconst varsResolver = createVarsResolver<SplitterFactory>((theme, { lineSize, handleColor }) => ({\n root: {\n '--splitter-line-size': rem(lineSize),\n '--splitter-handle-color': handleColor ? getThemeColor(handleColor, theme) : undefined,\n },\n}));\n\nexport const Splitter = factory<SplitterFactory>((_props) => {\n const props = useProps('Splitter', defaultProps, _props);\n const {\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n lineSize,\n handleColor,\n handleIcon,\n withHandle,\n resetOnDoubleClick,\n splitterRef,\n children,\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n mod,\n attributes,\n ref,\n ...others\n } = props;\n\n const { dir } = useDirection();\n\n const paneChildren = Children.toArray(children) as React.ReactElement<SplitterPaneProps>[];\n\n const panels = paneChildren.map((child) => ({\n defaultSize: child.props.defaultSize,\n min: child.props.min,\n max: child.props.max,\n collapsible: child.props.collapsible,\n collapseThreshold: child.props.collapseThreshold,\n }));\n\n const splitter = useSplitter({\n panels,\n orientation,\n sizes: controlledSizes,\n onSizeChange,\n onResizeStart,\n onResizeEnd,\n onCollapseChange,\n redistribute,\n step,\n shiftStep,\n dir,\n resetOnDoubleClick,\n });\n\n useImperativeHandle(splitterRef, () => splitter, [splitter]);\n\n const getPaneStyle = (index: number) =>\n getPaneFlexStyle(splitter.sizes[index], splitter.pixelMode);\n\n const mergedRef = useMergedRef(ref, splitter.ref);\n\n const getStyles = useStyles<SplitterFactory>({\n name: 'Splitter',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const defaultIcon = orientation === 'vertical' ? <GripHorizontalIcon /> : <GripVerticalIcon />;\n const thumbIcon = handleIcon !== undefined ? handleIcon : defaultIcon;\n\n const items: React.ReactNode[] = [];\n\n paneChildren.forEach((child, index) => {\n if (index > 0) {\n const handleProps = splitter.getHandleProps({ index: index - 1 });\n const isActive = splitter.activeHandle === index - 1;\n items.push(\n <Box {...getStyles('handle')} key={`handle-${index - 1}`} {...handleProps}>\n {withHandle && (\n <div\n {...getStyles('thumb')}\n data-orientation={orientation}\n data-active={isActive || undefined}\n >\n {thumbIcon}\n </div>\n )}\n </Box>\n );\n }\n\n items.push(\n cloneElement(child, {\n key: `pane-${index}`,\n __index: index,\n })\n );\n });\n\n return (\n <SplitterProvider\n value={{\n getStyles,\n sizes: splitter.sizes,\n collapsed: splitter.collapsed,\n orientation: orientation!,\n getPaneStyle,\n }}\n >\n <Box ref={mergedRef} {...getStyles('root')} mod={[{ orientation }, mod]} {...others}>\n {items}\n </Box>\n </SplitterProvider>\n );\n});\n\nSplitter.classes = classes;\nSplitter.varsResolver = varsResolver;\nSplitter.displayName = '@mantine/core/Splitter';\nSplitter.Pane = SplitterPane;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Splitter.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Splitter/Splitter.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { SplitterFactory } from './Splitter';\n\nexport interface SplitterContextValue {\n getStyles: GetStylesApi<SplitterFactory>;\n sizes:
|
|
1
|
+
{"version":3,"file":"Splitter.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Splitter/Splitter.context.ts"],"sourcesContent":["import type { SplitterPaneSize } from '@mantine/hooks';\nimport { createSafeContext, GetStylesApi } from '../../core';\nimport type { SplitterFactory } from './Splitter';\n\nexport interface SplitterContextValue {\n getStyles: GetStylesApi<SplitterFactory>;\n sizes: SplitterPaneSize[];\n collapsed: boolean[];\n orientation: 'horizontal' | 'vertical';\n getPaneStyle: (index: number) => React.CSSProperties;\n}\n\nexport const [SplitterProvider, useSplitterContext] = createSafeContext<SplitterContextValue>(\n 'Splitter component was not found in the tree'\n);\n"],"mappings":";;AAYA,MAAa,CAAC,kBAAkB,4FAAsBA,CAAAA,CAAAA,kBACpD,8CACF"}
|
|
@@ -10,9 +10,8 @@ const SplitterPane = require_factory.factory((_props) => {
|
|
|
10
10
|
const props = require_use_props.useProps("SplitterPane", null, _props);
|
|
11
11
|
const { className, classNames, style, styles, vars, children, defaultSize, min, max, collapsible, collapseThreshold, __index, mod, ...others } = props;
|
|
12
12
|
const ctx = require_Splitter_context.useSplitterContext();
|
|
13
|
-
const size = ctx.sizes[__index];
|
|
14
13
|
const isCollapsed = ctx.collapsed[__index];
|
|
15
|
-
const sizeStyle =
|
|
14
|
+
const sizeStyle = ctx.getPaneStyle(__index);
|
|
16
15
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
|
|
17
16
|
...ctx.getStyles("pane", {
|
|
18
17
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitterPane.cjs","names":["factory","useProps","useSplitterContext","Box","classes"],"sources":["../../../../src/components/Splitter/SplitterPane/SplitterPane.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useSplitterContext } from '../Splitter.context';\nimport classes from '../Splitter.module.css';\n\nexport type SplitterPaneStylesNames = 'pane';\n\nexport interface SplitterPaneProps\n extends BoxProps, CompoundStylesApiProps<SplitterPaneFactory>, ElementProps<'div'> {\n /** Initial size
|
|
1
|
+
{"version":3,"file":"SplitterPane.cjs","names":["factory","useProps","useSplitterContext","Box","classes"],"sources":["../../../../src/components/Splitter/SplitterPane/SplitterPane.tsx"],"sourcesContent":["import type { SplitterPaneSize } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useSplitterContext } from '../Splitter.context';\nimport classes from '../Splitter.module.css';\n\nexport type SplitterPaneStylesNames = 'pane';\n\nexport interface SplitterPaneProps\n extends BoxProps, CompoundStylesApiProps<SplitterPaneFactory>, ElementProps<'div'> {\n /** Initial size, a `number`/`%` is a flexible size (shares leftover space), `px`/`rem` is a fixed size. A bare number is treated as a percentage. */\n defaultSize: SplitterPaneSize;\n\n /** Minimum size in the same units as `defaultSize` @default 0 */\n min?: SplitterPaneSize;\n\n /** Maximum size in the same units as `defaultSize`, no limit by default */\n max?: SplitterPaneSize;\n\n /** Whether this pane can be collapsed @default false */\n collapsible?: boolean;\n\n /** Size below which the pane snaps to collapsed, defaults to `min` */\n collapseThreshold?: SplitterPaneSize;\n\n /** Pane content */\n children?: React.ReactNode;\n\n /** @internal Index set by parent */\n __index?: number;\n}\n\nexport type SplitterPaneFactory = Factory<{\n props: SplitterPaneProps;\n ref: HTMLDivElement;\n stylesNames: SplitterPaneStylesNames;\n compound: true;\n}>;\n\nexport const SplitterPane = factory<SplitterPaneFactory>((_props) => {\n const props = useProps('SplitterPane', null, _props);\n const {\n className,\n classNames,\n style,\n styles,\n vars,\n children,\n defaultSize,\n min,\n max,\n collapsible,\n collapseThreshold,\n __index,\n mod,\n ...others\n } = props;\n\n const ctx = useSplitterContext();\n const isCollapsed = ctx.collapsed[__index!];\n\n const sizeStyle = ctx.getPaneStyle(__index!);\n\n return (\n <Box\n {...ctx.getStyles('pane', {\n className,\n classNames,\n style: [sizeStyle, style],\n styles,\n props,\n })}\n mod={[{ collapsed: isCollapsed || undefined }, mod]}\n {...others}\n >\n {children}\n </Box>\n );\n});\n\nSplitterPane.classes = classes;\nSplitterPane.displayName = '@mantine/core/SplitterPane';\n"],"mappings":";;;;;;;;AA8CA,MAAa,eAAeA,gBAAAA,SAA8B,WAAW;CACnE,MAAM,QAAQC,kBAAAA,SAAS,gBAAgB,MAAM,MAAM;CACnD,MAAM,EACJ,WACA,YACA,OACA,QACA,MACA,UACA,aACA,KACA,KACA,aACA,mBACA,SACA,KACA,GAAG,WACD;CAEJ,MAAM,MAAMC,yBAAAA,mBAAmB;CAC/B,MAAM,cAAc,IAAI,UAAU;CAElC,MAAM,YAAY,IAAI,aAAa,OAAQ;CAE3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EACE,GAAI,IAAI,UAAU,QAAQ;GACxB;GACA;GACA,OAAO,CAAC,WAAW,KAAK;GACxB;GACA;EACF,CAAC;EACD,KAAK,CAAC,EAAE,WAAW,eAAe,KAAA,EAAU,GAAG,GAAG;EAClD,GAAI;EAEH;CACE,CAAA;AAET,CAAC;AAED,aAAa,UAAUC,wBAAAA;AACvB,aAAa,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spoiler.cjs","names":["createVarsResolver","factory","useProps","useStyles","Box","Anchor","rem","classes"],"sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import { useElementSize, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps, StylesApiProps<SpoilerFactory>, ElementProps<'div'> {\n /** Maximum height of visible content in px. When content exceeds this height, the toggle control appears @default 100 */\n maxHeight?: number;\n\n /** Content displayed in the toggle button when content is collapsed (to expand) */\n showLabel: React.ReactNode;\n\n /** Content displayed in the toggle button when content is expanded (to collapse) */\n hideLabel: React.ReactNode;\n\n /** Ref of the toggle button element */\n controlRef?: React.Ref<HTMLButtonElement>;\n\n /** Initial expanded state in uncontrolled mode. If `true`, content starts expanded. If `false`, content starts collapsed @default false */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state value */\n expanded?: boolean;\n\n /** Called when expanded state changes (when spoiler visibility is toggled by the user) */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Spoiler reveal transition duration in ms. Set to 0 to disable animation @default 200 */\n transitionDuration?: number;\n\n /** Accessible label for the toggle button when collapsed. If not set, `showLabel` is used */\n showAriaLabel?: string;\n\n /** Accessible label for the toggle button when expanded. If not set, `hideLabel` is used */\n hideAriaLabel?: string;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps = {\n maxHeight: 100,\n defaultExpanded: false,\n} satisfies Partial<SpoilerProps>;\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n defaultExpanded,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n expanded,\n onExpandedChange,\n showAriaLabel,\n hideAriaLabel,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: false,\n onChange: onExpandedChange,\n });\n const { ref: contentRef, height } = useElementSize();\n const spoilerMoreContent = show ? hideLabel : showLabel;\n const spoiler = spoilerMoreContent !== null && maxHeight! < height;\n const ariaLabel = show ? hideAriaLabel : showAriaLabel;\n\n return (\n <Box {...getStyles('root')} id={_id} data-has-spoiler={spoiler || undefined} {...others}>\n {spoiler && (\n <Anchor\n component=\"button\"\n type=\"button\"\n ref={controlRef}\n onClick={() => setShowState(!show)}\n aria-expanded={show}\n aria-controls={regionId}\n aria-label={ariaLabel}\n {...getStyles('control')}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n <div\n {...getStyles('content', {\n style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : undefined },\n })}\n data-reduce-motion\n role=\"region\"\n id={regionId}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n </Box>\n );\n});\n\nSpoiler.classes = classes;\nSpoiler.varsResolver = varsResolver;\nSpoiler.displayName = '@mantine/core/Spoiler';\n\nexport namespace Spoiler {\n export type Props = SpoilerProps;\n export type StylesNames = SpoilerStylesNames;\n export type CssVariables = SpoilerCssVariables;\n export type Factory = SpoilerFactory;\n}\n"],"mappings":";;;;;;;;;;;;AA6DA,MAAM,eAAe;CACnB,WAAW;CACX,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAAoC,GAAG,EAAE,0BAA0B,EACtF,MAAM,EACJ,iCACE,uBAAuB,KAAA,IAAY,GAAG,mBAAmB,MAAM,KAAA,EACnE,EACF,EAAE;AAEF,MAAa,UAAUC,gBAAAA,SAAyB,WAAW;CACzD,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,iBACA,WACA,WACA,WACA,UACA,YACA,oBACA,IACA,UACA,kBACA,eACA,eACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA0B;EAC1C,MAAM;EACN,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,OAAA,GAAA,eAAA,
|
|
1
|
+
{"version":3,"file":"Spoiler.cjs","names":["createVarsResolver","factory","useProps","useStyles","Box","Anchor","rem","classes"],"sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import { useElementSize, useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps, StylesApiProps<SpoilerFactory>, ElementProps<'div'> {\n /** Maximum height of visible content in px. When content exceeds this height, the toggle control appears @default 100 */\n maxHeight?: number;\n\n /** Content displayed in the toggle button when content is collapsed (to expand) */\n showLabel: React.ReactNode;\n\n /** Content displayed in the toggle button when content is expanded (to collapse) */\n hideLabel: React.ReactNode;\n\n /** Ref of the toggle button element */\n controlRef?: React.Ref<HTMLButtonElement>;\n\n /** Initial expanded state in uncontrolled mode. If `true`, content starts expanded. If `false`, content starts collapsed @default false */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state value */\n expanded?: boolean;\n\n /** Called when expanded state changes (when spoiler visibility is toggled by the user) */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Spoiler reveal transition duration in ms. Set to 0 to disable animation @default 200 */\n transitionDuration?: number;\n\n /** Accessible label for the toggle button when collapsed. If not set, `showLabel` is used */\n showAriaLabel?: string;\n\n /** Accessible label for the toggle button when expanded. If not set, `hideLabel` is used */\n hideAriaLabel?: string;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps = {\n maxHeight: 100,\n defaultExpanded: false,\n} satisfies Partial<SpoilerProps>;\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n defaultExpanded,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n expanded,\n onExpandedChange,\n showAriaLabel,\n hideAriaLabel,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: false,\n onChange: onExpandedChange,\n });\n const { ref: contentRef, height } = useElementSize();\n const spoilerMoreContent = show ? hideLabel : showLabel;\n const spoiler = spoilerMoreContent !== null && maxHeight! < height;\n const ariaLabel = show ? hideAriaLabel : showAriaLabel;\n\n return (\n <Box {...getStyles('root')} id={_id} data-has-spoiler={spoiler || undefined} {...others}>\n {spoiler && (\n <Anchor\n component=\"button\"\n type=\"button\"\n ref={controlRef}\n onClick={() => setShowState(!show)}\n aria-expanded={show}\n aria-controls={regionId}\n aria-label={ariaLabel}\n {...getStyles('control')}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n <div\n {...getStyles('content', {\n style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : undefined },\n })}\n data-reduce-motion\n role=\"region\"\n id={regionId}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n </Box>\n );\n});\n\nSpoiler.classes = classes;\nSpoiler.varsResolver = varsResolver;\nSpoiler.displayName = '@mantine/core/Spoiler';\n\nexport namespace Spoiler {\n export type Props = SpoilerProps;\n export type StylesNames = SpoilerStylesNames;\n export type CssVariables = SpoilerCssVariables;\n export type Factory = SpoilerFactory;\n}\n"],"mappings":";;;;;;;;;;;;AA6DA,MAAM,eAAe;CACnB,WAAW;CACX,iBAAiB;AACnB;AAEA,MAAM,eAAeA,6BAAAA,oBAAoC,GAAG,EAAE,0BAA0B,EACtF,MAAM,EACJ,iCACE,uBAAuB,KAAA,IAAY,GAAG,mBAAmB,MAAM,KAAA,EACnE,EACF,EAAE;AAEF,MAAa,UAAUC,gBAAAA,SAAyB,WAAW;CACzD,MAAM,QAAQC,kBAAAA,SAAS,WAAW,cAAc,MAAM;CACtD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,iBACA,WACA,WACA,WACA,UACA,YACA,oBACA,IACA,UACA,kBACA,eACA,eACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA0B;EAC1C,MAAM;EACN,SAAA,uBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,OAAA,GAAA,eAAA,MAAA,CAAY,EAAE;CACpB,MAAM,WAAW,GAAG,IAAI;CACxB,MAAM,CAAC,MAAM,iBAAA,GAAA,eAAA,gBAAA,CAAgC;EAC3C,OAAO;EACP,cAAc;EACd,YAAY;EACZ,UAAU;CACZ,CAAC;CACD,MAAM,EAAE,KAAK,YAAY,YAAA,GAAA,eAAA,eAAA,CAA0B;CACnD,MAAM,qBAAqB,OAAO,YAAY;CAC9C,MAAM,UAAU,uBAAuB,QAAQ,YAAa;CAC5D,MAAM,YAAY,OAAO,gBAAgB;CAEzC,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAG,IAAI;EAAK,oBAAkB,WAAW,KAAA;EAAW,GAAI;YAAjF,CACG,WACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GACE,WAAU;GACV,MAAK;GACL,KAAK;GACL,eAAe,aAAa,CAAC,IAAI;GACjC,iBAAe;GACf,iBAAe;GACf,cAAY;GACZ,GAAI,UAAU,SAAS;aAEtB;EACK,CAAA,GAEV,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GACE,GAAI,UAAU,WAAW,EACvB,OAAO,EAAE,WAAW,CAAC,OAAOC,YAAAA,IAAI,SAAS,IAAI,SAASA,YAAAA,IAAI,MAAM,IAAI,KAAA,EAAU,EAChF,CAAC;GACD,sBAAA;GACA,MAAK;GACL,IAAI;aAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,KAAK;IAAa;GAAc,CAAA;EAClC,CAAA,CACF;;AAET,CAAC;AAED,QAAQ,UAAUC,uBAAAA;AAClB,QAAQ,eAAe;AACvB,QAAQ,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.cjs","names":["createVarsResolver","getSpacing","factory","useProps","Box","useStyles","classes"],"sources":["../../../src/components/Stack/Stack.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Stack.module.css';\n\nexport type StackStylesNames = 'root';\nexport type StackCssVariables = {\n root: '--stack-gap' | '--stack-align' | '--stack-justify';\n};\n\nexport interface StackProps extends BoxProps, StylesApiProps<StackFactory>, ElementProps<'div'> {\n /** Key of `theme.spacing` or any valid CSS value to set `gap` property, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Controls `align-items` CSS property @default 'stretch' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n}\n\nexport type StackFactory = Factory<{\n props: StackProps;\n ref: HTMLDivElement;\n stylesNames: StackStylesNames;\n vars: StackCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'md',\n align: 'stretch',\n justify: 'flex-start',\n} satisfies Partial<StackProps>;\n\nconst varsResolver = createVarsResolver<StackFactory>((_, { gap, align, justify }) => ({\n root: {\n '--stack-gap': getSpacing(gap),\n '--stack-align': align,\n '--stack-justify': justify,\n },\n}));\n\nexport const Stack = factory<StackFactory>((_props) => {\n const props = useProps('Stack', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StackFactory>({\n name: 'Stack',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return <Box {...getStyles('root')} variant={variant} {...others} />;\n});\n\nStack.classes = classes;\nStack.varsResolver = varsResolver;\nStack.displayName = '@mantine/core/Stack';\n\nexport namespace Stack {\n export type Props = StackProps;\n export type StylesNames = StackStylesNames;\n export type CssVariables = StackCssVariables;\n export type Factory = StackFactory;\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAM,eAAe;CACnB,KAAK;CACL,OAAO;CACP,SAAS;AACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,KAAK,OAAO,eAAe,EACrF,MAAM;CACJ,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;AACrB,EACF,EAAE;AAEF,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,SACA,KACA,SACA,YACA,GAAG,WACD;CAgBJ,OAAO,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"Stack.cjs","names":["createVarsResolver","getSpacing","factory","useProps","Box","useStyles","classes"],"sources":["../../../src/components/Stack/Stack.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getSpacing,\n MantineSpacing,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport classes from './Stack.module.css';\n\nexport type StackStylesNames = 'root';\nexport type StackCssVariables = {\n root: '--stack-gap' | '--stack-align' | '--stack-justify';\n};\n\nexport interface StackProps extends BoxProps, StylesApiProps<StackFactory>, ElementProps<'div'> {\n /** Key of `theme.spacing` or any valid CSS value to set `gap` property, numbers are converted to rem @default 'md' */\n gap?: MantineSpacing;\n\n /** Controls `align-items` CSS property @default 'stretch' */\n align?: React.CSSProperties['alignItems'];\n\n /** Controls `justify-content` CSS property @default 'flex-start' */\n justify?: React.CSSProperties['justifyContent'];\n}\n\nexport type StackFactory = Factory<{\n props: StackProps;\n ref: HTMLDivElement;\n stylesNames: StackStylesNames;\n vars: StackCssVariables;\n}>;\n\nconst defaultProps = {\n gap: 'md',\n align: 'stretch',\n justify: 'flex-start',\n} satisfies Partial<StackProps>;\n\nconst varsResolver = createVarsResolver<StackFactory>((_, { gap, align, justify }) => ({\n root: {\n '--stack-gap': getSpacing(gap),\n '--stack-align': align,\n '--stack-justify': justify,\n },\n}));\n\nexport const Stack = factory<StackFactory>((_props) => {\n const props = useProps('Stack', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StackFactory>({\n name: 'Stack',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n return <Box {...getStyles('root')} variant={variant} {...others} />;\n});\n\nStack.classes = classes;\nStack.varsResolver = varsResolver;\nStack.displayName = '@mantine/core/Stack';\n\nexport namespace Stack {\n export type Props = StackProps;\n export type StylesNames = StackStylesNames;\n export type CssVariables = StackCssVariables;\n export type Factory = StackFactory;\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAM,eAAe;CACnB,KAAK;CACL,OAAO;CACP,SAAS;AACX;AAEA,MAAM,eAAeA,6BAAAA,oBAAkC,GAAG,EAAE,KAAK,OAAO,eAAe,EACrF,MAAM;CACJ,eAAeC,iBAAAA,WAAW,GAAG;CAC7B,iBAAiB;CACjB,mBAAmB;AACrB,EACF,EAAE;AAEF,MAAa,QAAQC,gBAAAA,SAAuB,WAAW;CACrD,MAAM,QAAQC,kBAAAA,SAAS,SAAS,cAAc,MAAM;CACpD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,OACA,SACA,KACA,SACA,YACA,GAAG,WACD;CAgBJ,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;EAAK,GAdMC,mBAAAA,UAAwB;GACxC,MAAM;GACN;GACA,SAAA,qBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAEwB,CAAC,CAAC,MAAM;EAAY;EAAS,GAAI;CAAS,CAAA;AACpE,CAAC;AAED,MAAM,UAAUC,qBAAAA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","getSize","rem","getSpacing","getRadius","getFontSize","factory","useProps","useStyles","Children","StepperCompleted","Activity","StepperProvider","Box","classes","StepperStep"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Activity, Children, cloneElement } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { StepperProvider, type StepperContextValue } from './Stepper.context';\nimport { StepperCompleted, StepperCompletedProps } from './StepperCompleted/StepperCompleted';\nimport { StepperStep, StepperStepProps } from './StepperStep/StepperStep';\nimport classes from './Stepper.module.css';\nexport type StepFragmentComponent = React.FC<{ step: number }>;\n\nexport type StepperStylesNames =\n | 'root'\n | 'separator'\n | 'steps'\n | 'content'\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport type StepperCssVariables = {\n root:\n | '--stepper-color'\n | '--stepper-icon-color'\n | '--stepper-icon-size'\n | '--stepper-content-padding'\n | '--stepper-radius'\n | '--stepper-fz'\n | '--stepper-spacing';\n};\n\nexport interface StepperProps\n extends BoxProps, StylesApiProps<StepperFactory>, ElementProps<'div'> {\n /** `Stepper.Step` components */\n children: React.ReactNode;\n\n /** Called when a clickable step is clicked with its 0-based index. Not called for the currently active step. */\n onStepClick?: (stepIndex: number) => void;\n\n /** Index of the active step */\n active: number;\n\n /** Step icon @default step index + 1 */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed @default CheckIcon */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress @default step index + 1 */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Key of `theme.colors` or any valid CSS color, controls colors of active and progress steps @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the step icon, by default icon size is inferred from `size` prop */\n iconSize?: number | string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `padding-top` of the content @default 'md' */\n contentPadding?: MantineSpacing;\n\n /** Stepper orientation @default 'horizontal' */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to the step body @default 'left' */\n iconPosition?: 'right' | 'left';\n\n /** Controls size of various Stepper elements */\n size?: MantineSize;\n\n /** Key of `theme.radius` or any valid CSS value to set steps border-radius @default \"xl\" */\n radius?: MantineRadius;\n\n /** When true, users can click and jump to any step. When false, users can only navigate to completed steps @default true */\n allowNextStepsSelect?: boolean;\n\n /** Determines whether steps should wrap to the next line if no space is available @default true */\n wrap?: boolean;\n\n /** When true, automatically adjusts the icon color in completed steps to ensure sufficient contrast against the step background color */\n autoContrast?: boolean;\n\n /** If set, all step content is kept mounted. React 19 `Activity` is used to preserve state while content is hidden. @default false */\n keepMounted?: boolean;\n}\n\nexport type StepperFactory = Factory<{\n props: StepperProps;\n ref: HTMLDivElement;\n stylesNames: StepperStylesNames;\n vars: StepperCssVariables;\n staticComponents: {\n Step: typeof StepperStep;\n Completed: typeof StepperCompleted;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n iconPosition: 'left',\n allowNextStepsSelect: true,\n wrap: true,\n} satisfies Partial<StepperProps>;\n\nconst varsResolver = createVarsResolver<StepperFactory>(\n (theme, { color, iconSize, size, contentPadding, radius, autoContrast }) => ({\n root: {\n '--stepper-color': color ? getThemeColor(color, theme) : undefined,\n '--stepper-icon-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--stepper-icon-size':\n iconSize === undefined ? getSize(size, 'stepper-icon-size') : rem(iconSize),\n '--stepper-content-padding': getSpacing(contentPadding),\n '--stepper-radius': radius === undefined ? undefined : getRadius(radius),\n '--stepper-fz': getFontSize(size),\n '--stepper-spacing': getSpacing(size),\n },\n })\n);\n\nexport const Stepper = factory<StepperFactory>((_props) => {\n const props = useProps('Stepper', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n onStepClick,\n active,\n icon,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n orientation,\n iconPosition,\n size,\n radius,\n allowNextStepsSelect,\n wrap,\n autoContrast,\n keepMounted,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StepperFactory>({\n name: 'Stepper',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter(\n (child) => child.type !== StepperCompleted\n ) as React.ReactElement<StepperStepProps>[];\n const completedStep = convertedChildren.find(\n (item) => item.type === StepperCompleted\n ) as React.ReactElement<StepperCompletedProps>;\n\n const items = _children.reduce<React.ReactElement<StepperStepProps>[]>(\n (acc, item: React.ReactElement<StepperStepProps>, index) => {\n const state =\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive';\n\n const shouldAllowSelect = () => {\n if (typeof onStepClick !== 'function') {\n return false;\n }\n\n if (typeof item.props.allowStepSelect === 'boolean') {\n return item.props.allowStepSelect;\n }\n\n return state === 'stepCompleted' || allowNextStepsSelect;\n };\n\n const isStepSelectionEnabled = shouldAllowSelect();\n\n acc.push(\n cloneElement(item, {\n icon: item.props.icon || icon || index + 1,\n key: index,\n step: index,\n state,\n onClick: () => isStepSelectionEnabled && onStepClick?.(index),\n allowStepClick: isStepSelectionEnabled,\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n {...getStyles('separator')}\n data-active={index < active || undefined}\n data-orientation={orientation}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n },\n []\n );\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n const contentSection = keepMounted ? (\n <>\n {_children.map((child, index) => (\n <Activity key={index} mode={active === index ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{child.props.children}</div>\n </Activity>\n ))}\n {completedStep && (\n <Activity mode={active > _children.length - 1 ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{completedStep.props.children}</div>\n </Activity>\n )}\n </>\n ) : (\n content && <div {...getStyles('content')}>{content}</div>\n );\n\n return (\n <StepperProvider value={{ getStyles, orientation, iconPosition }}>\n <Box {...getStyles('root')} size={size} {...others}>\n <Box\n {...getStyles('steps')}\n mod={{\n orientation,\n 'icon-position': iconPosition,\n wrap: wrap && orientation !== 'vertical',\n }}\n >\n {items}\n </Box>\n {contentSection}\n </Box>\n </StepperProvider>\n );\n});\n\nStepper.classes = classes;\nStepper.varsResolver = varsResolver;\nStepper.displayName = '@mantine/core/Stepper';\nStepper.Completed = StepperCompleted;\nStepper.Step = StepperStep;\n\nexport namespace Stepper {\n export type Props = StepperProps;\n export type StylesNames = StepperStylesNames;\n export type CssVariables = StepperCssVariables;\n export type Factory = StepperFactory;\n export type Step = StepFragmentComponent;\n export type ContextValue = StepperContextValue;\n\n export namespace Step {\n export type Props = StepperStepProps;\n }\n\n export namespace Completed {\n export type Props = StepperCompletedProps;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Stepper.cjs","names":["createVarsResolver","getThemeColor","getAutoContrastValue","getContrastColor","getSize","rem","getSpacing","getRadius","getFontSize","factory","useProps","useStyles","Children","StepperCompleted","Activity","StepperProvider","Box","classes","StepperStep"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Activity, Children, cloneElement } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getAutoContrastValue,\n getContrastColor,\n getFontSize,\n getRadius,\n getSize,\n getSpacing,\n getThemeColor,\n MantineColor,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n rem,\n StylesApiProps,\n useProps,\n useStyles,\n} from '../../core';\nimport { StepperProvider, type StepperContextValue } from './Stepper.context';\nimport { StepperCompleted, StepperCompletedProps } from './StepperCompleted/StepperCompleted';\nimport { StepperStep, StepperStepProps } from './StepperStep/StepperStep';\nimport classes from './Stepper.module.css';\nexport type StepFragmentComponent = React.FC<{ step: number }>;\n\nexport type StepperStylesNames =\n | 'root'\n | 'separator'\n | 'steps'\n | 'content'\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport type StepperCssVariables = {\n root:\n | '--stepper-color'\n | '--stepper-icon-color'\n | '--stepper-icon-size'\n | '--stepper-content-padding'\n | '--stepper-radius'\n | '--stepper-fz'\n | '--stepper-spacing';\n};\n\nexport interface StepperProps\n extends BoxProps, StylesApiProps<StepperFactory>, ElementProps<'div'> {\n /** `Stepper.Step` components */\n children: React.ReactNode;\n\n /** Called when a clickable step is clicked with its 0-based index. Not called for the currently active step. */\n onStepClick?: (stepIndex: number) => void;\n\n /** Index of the active step */\n active: number;\n\n /** Step icon @default step index + 1 */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed @default CheckIcon */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress @default step index + 1 */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Key of `theme.colors` or any valid CSS color, controls colors of active and progress steps @default theme.primaryColor */\n color?: MantineColor;\n\n /** Controls size of the step icon, by default icon size is inferred from `size` prop */\n iconSize?: number | string;\n\n /** Key of `theme.spacing` or any valid CSS value to set `padding-top` of the content @default 'md' */\n contentPadding?: MantineSpacing;\n\n /** Stepper orientation @default 'horizontal' */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to the step body @default 'left' */\n iconPosition?: 'right' | 'left';\n\n /** Controls size of various Stepper elements */\n size?: MantineSize;\n\n /** Key of `theme.radius` or any valid CSS value to set steps border-radius @default \"xl\" */\n radius?: MantineRadius;\n\n /** When true, users can click and jump to any step. When false, users can only navigate to completed steps @default true */\n allowNextStepsSelect?: boolean;\n\n /** Determines whether steps should wrap to the next line if no space is available @default true */\n wrap?: boolean;\n\n /** When true, automatically adjusts the icon color in completed steps to ensure sufficient contrast against the step background color */\n autoContrast?: boolean;\n\n /** If set, all step content is kept mounted. React 19 `Activity` is used to preserve state while content is hidden. @default false */\n keepMounted?: boolean;\n}\n\nexport type StepperFactory = Factory<{\n props: StepperProps;\n ref: HTMLDivElement;\n stylesNames: StepperStylesNames;\n vars: StepperCssVariables;\n staticComponents: {\n Step: typeof StepperStep;\n Completed: typeof StepperCompleted;\n };\n}>;\n\nconst defaultProps = {\n orientation: 'horizontal',\n iconPosition: 'left',\n allowNextStepsSelect: true,\n wrap: true,\n} satisfies Partial<StepperProps>;\n\nconst varsResolver = createVarsResolver<StepperFactory>(\n (theme, { color, iconSize, size, contentPadding, radius, autoContrast }) => ({\n root: {\n '--stepper-color': color ? getThemeColor(color, theme) : undefined,\n '--stepper-icon-color': getAutoContrastValue(autoContrast, theme)\n ? getContrastColor({ color, theme, autoContrast })\n : undefined,\n '--stepper-icon-size':\n iconSize === undefined ? getSize(size, 'stepper-icon-size') : rem(iconSize),\n '--stepper-content-padding': getSpacing(contentPadding),\n '--stepper-radius': radius === undefined ? undefined : getRadius(radius),\n '--stepper-fz': getFontSize(size),\n '--stepper-spacing': getSpacing(size),\n },\n })\n);\n\nexport const Stepper = factory<StepperFactory>((_props) => {\n const props = useProps('Stepper', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n onStepClick,\n active,\n icon,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n orientation,\n iconPosition,\n size,\n radius,\n allowNextStepsSelect,\n wrap,\n autoContrast,\n keepMounted,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<StepperFactory>({\n name: 'Stepper',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n });\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter(\n (child) => child.type !== StepperCompleted\n ) as React.ReactElement<StepperStepProps>[];\n const completedStep = convertedChildren.find(\n (item) => item.type === StepperCompleted\n ) as React.ReactElement<StepperCompletedProps>;\n\n const items = _children.reduce<React.ReactElement<StepperStepProps>[]>(\n (acc, item: React.ReactElement<StepperStepProps>, index) => {\n const state =\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive';\n\n const shouldAllowSelect = () => {\n if (typeof onStepClick !== 'function') {\n return false;\n }\n\n if (typeof item.props.allowStepSelect === 'boolean') {\n return item.props.allowStepSelect;\n }\n\n return state === 'stepCompleted' || allowNextStepsSelect;\n };\n\n const isStepSelectionEnabled = shouldAllowSelect();\n\n acc.push(\n cloneElement(item, {\n icon: item.props.icon || icon || index + 1,\n key: index,\n step: index,\n state,\n onClick: () => isStepSelectionEnabled && onStepClick?.(index),\n allowStepClick: isStepSelectionEnabled,\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n {...getStyles('separator')}\n data-active={index < active || undefined}\n data-orientation={orientation}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n },\n []\n );\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n const contentSection = keepMounted ? (\n <>\n {_children.map((child, index) => (\n <Activity key={index} mode={active === index ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{child.props.children}</div>\n </Activity>\n ))}\n {completedStep && (\n <Activity mode={active > _children.length - 1 ? 'visible' : 'hidden'}>\n <div {...getStyles('content')}>{completedStep.props.children}</div>\n </Activity>\n )}\n </>\n ) : (\n content && <div {...getStyles('content')}>{content}</div>\n );\n\n return (\n <StepperProvider value={{ getStyles, orientation, iconPosition }}>\n <Box {...getStyles('root')} size={size} {...others}>\n <Box\n {...getStyles('steps')}\n mod={{\n orientation,\n 'icon-position': iconPosition,\n wrap: wrap && orientation !== 'vertical',\n }}\n >\n {items}\n </Box>\n {contentSection}\n </Box>\n </StepperProvider>\n );\n});\n\nStepper.classes = classes;\nStepper.varsResolver = varsResolver;\nStepper.displayName = '@mantine/core/Stepper';\nStepper.Completed = StepperCompleted;\nStepper.Step = StepperStep;\n\nexport namespace Stepper {\n export type Props = StepperProps;\n export type StylesNames = StepperStylesNames;\n export type CssVariables = StepperCssVariables;\n export type Factory = StepperFactory;\n export type Step = StepFragmentComponent;\n export type ContextValue = StepperContextValue;\n\n export namespace Step {\n export type Props = StepperStepProps;\n }\n\n export namespace Completed {\n export type Props = StepperCompletedProps;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Stepper/Stepper.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { StepperFactory } from './Stepper';\n\nexport interface StepperContextValue {\n getStyles: GetStylesApi<StepperFactory>;\n orientation: 'horizontal' | 'vertical' | undefined;\n iconPosition: 'left' | 'right' | undefined;\n}\n\nexport const [StepperProvider, useStepperContext] = createSafeContext<StepperContextValue>(\n 'Stepper component was not found in tree'\n);\n"],"mappings":";;AASA,MAAa,CAAC,iBAAiB,2FAAqBA,
|
|
1
|
+
{"version":3,"file":"Stepper.context.cjs","names":["createSafeContext"],"sources":["../../../src/components/Stepper/Stepper.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { StepperFactory } from './Stepper';\n\nexport interface StepperContextValue {\n getStyles: GetStylesApi<StepperFactory>;\n orientation: 'horizontal' | 'vertical' | undefined;\n iconPosition: 'left' | 'right' | undefined;\n}\n\nexport const [StepperProvider, useStepperContext] = createSafeContext<StepperContextValue>(\n 'Stepper component was not found in tree'\n);\n"],"mappings":";;AASA,MAAa,CAAC,iBAAiB,2FAAqBA,CAAAA,CAAAA,kBAClD,yCACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperStep.cjs","names":["factory","useProps","useStepperContext","useMantineTheme","UnstyledButton","getThemeColor","Transition","Loader","CheckIcon","classes"],"sources":["../../../../src/components/Stepper/StepperStep/StepperStep.tsx"],"sourcesContent":["import {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { Loader } from '../../Loader';\nimport { Transition } from '../../Transition';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport type { StepFragmentComponent } from '../Stepper';\nimport { useStepperContext } from '../Stepper.context';\nimport classes from '../Stepper.module.css';\n\nconst getStepFragment = (\n Fragment: StepFragmentComponent | React.ReactNode,\n step: number | undefined\n) => {\n if (typeof Fragment === 'function') {\n return <Fragment step={step || 0} />;\n }\n\n return Fragment;\n};\n\nexport type StepperStepStylesNames =\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport interface StepperStepProps\n extends BoxProps, CompoundStylesApiProps<StepperStepFactory>, ElementProps<'button'> {\n /** 0-based step index, automatically set by Stepper component */\n step?: number;\n\n /** Step state, automatically set by Stepper component based on active prop. stepInactive: not reached, stepProgress: current, stepCompleted: passed */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Key of `theme.colors`, by default controlled by Stepper component */\n color?: MantineColor;\n\n /** When false, hides the step icon. Useful for creating compact steppers with only labels @default true */\n withIcon?: boolean;\n\n /** Step icon, defaults to `step index + 1` when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step label, render after icon */\n label?: React.ReactNode | StepFragmentComponent;\n\n /** Step description */\n description?: React.ReactNode | StepFragmentComponent;\n\n /** Icon wrapper size */\n iconSize?: string | number;\n\n /** Icon position relative to step body, controlled by Stepper component */\n iconPosition?: 'right' | 'left';\n\n /** Indicates loading state of the step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport type StepperStepFactory = Factory<{\n props: StepperStepProps;\n ref: HTMLButtonElement;\n stylesNames: StepperStepStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n withIcon: true,\n allowStepClick: true,\n iconPosition: 'left',\n} satisfies Partial<StepperStepProps>;\n\nexport const StepperStep = factory<StepperStepFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n step,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n orientation,\n mod,\n ...others\n } = useProps('StepperStep', defaultProps, props);\n\n const ctx = useStepperContext();\n const theme = useMantineTheme();\n const stylesApi = { classNames, styles };\n\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n {...ctx.getStyles('step', { className, style, variant: ctx.orientation, ...stylesApi })}\n mod={[\n { 'icon-position': iconPosition || ctx.iconPosition, 'allow-click': allowStepClick },\n mod,\n ]}\n {...dataAttributes}\n {...others}\n __vars={{ '--step-color': color ? getThemeColor(color, theme) : undefined }}\n tabIndex={allowStepClick ? 0 : -1}\n >\n {withIcon && (\n <span {...ctx.getStyles('stepWrapper', stylesApi)}>\n <span {...ctx.getStyles('stepIcon', stylesApi)} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <span\n {...ctx.getStyles('stepCompletedIcon', { style: transitionStyles, ...stylesApi })}\n >\n {loading ? (\n <Loader\n color=\"var(--mantine-color-white)\"\n size=\"calc(var(--stepper-icon-size) / 2)\"\n {...ctx.getStyles('stepLoader', stylesApi)}\n />\n ) : (\n getStepFragment(completedIcon, step) || <CheckIcon size=\"60%\" />\n )}\n </span>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n <span {...ctx.getStyles('stepIconContent', stylesApi)}>\n {loading ? (\n <Loader\n {...ctx.getStyles('stepLoader', stylesApi)}\n size=\"calc(var(--stepper-icon-size) / 2)\"\n color={color}\n />\n ) : (\n getStepFragment(_icon || icon, step)\n )}\n </span>\n ) : null}\n </span>\n {orientation === 'vertical' && (\n <span\n {...ctx.getStyles('verticalSeparator', stylesApi)}\n data-active={state === 'stepCompleted' || undefined}\n />\n )}\n </span>\n )}\n\n {(label || description) && (\n <span\n {...ctx.getStyles('stepBody', stylesApi)}\n data-orientation={ctx.orientation}\n data-icon-position={iconPosition || ctx.iconPosition}\n >\n {label && (\n <span {...ctx.getStyles('stepLabel', stylesApi)}>{getStepFragment(label, step)}</span>\n )}\n {description && (\n <span {...ctx.getStyles('stepDescription', stylesApi)}>\n {getStepFragment(description, step)}\n </span>\n )}\n </span>\n )}\n </UnstyledButton>\n );\n});\n\nStepperStep.classes = classes;\nStepperStep.displayName = '@mantine/core/StepperStep';\n"],"mappings":";;;;;;;;;;;;;AAmBA,MAAM,mBACJ,UACA,SACG;CACH,IAAI,OAAO,aAAa,YACtB,OAAO,iBAAA,GAAA,kBAAA,
|
|
1
|
+
{"version":3,"file":"StepperStep.cjs","names":["factory","useProps","useStepperContext","useMantineTheme","UnstyledButton","getThemeColor","Transition","Loader","CheckIcon","classes"],"sources":["../../../../src/components/Stepper/StepperStep/StepperStep.tsx"],"sourcesContent":["import {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n useMantineTheme,\n useProps,\n} from '../../../core';\nimport { CheckIcon } from '../../Checkbox';\nimport { Loader } from '../../Loader';\nimport { Transition } from '../../Transition';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport type { StepFragmentComponent } from '../Stepper';\nimport { useStepperContext } from '../Stepper.context';\nimport classes from '../Stepper.module.css';\n\nconst getStepFragment = (\n Fragment: StepFragmentComponent | React.ReactNode,\n step: number | undefined\n) => {\n if (typeof Fragment === 'function') {\n return <Fragment step={step || 0} />;\n }\n\n return Fragment;\n};\n\nexport type StepperStepStylesNames =\n | 'step'\n | 'stepLoader'\n | 'verticalSeparator'\n | 'stepWrapper'\n | 'stepIcon'\n | 'stepCompletedIcon'\n | 'stepIconContent'\n | 'stepBody'\n | 'stepLabel'\n | 'stepDescription';\n\nexport interface StepperStepProps\n extends BoxProps, CompoundStylesApiProps<StepperStepFactory>, ElementProps<'button'> {\n /** 0-based step index, automatically set by Stepper component */\n step?: number;\n\n /** Step state, automatically set by Stepper component based on active prop. stepInactive: not reached, stepProgress: current, stepCompleted: passed */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Key of `theme.colors`, by default controlled by Stepper component */\n color?: MantineColor;\n\n /** When false, hides the step icon. Useful for creating compact steppers with only labels @default true */\n withIcon?: boolean;\n\n /** Step icon, defaults to `step index + 1` when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step label, render after icon */\n label?: React.ReactNode | StepFragmentComponent;\n\n /** Step description */\n description?: React.ReactNode | StepFragmentComponent;\n\n /** Icon wrapper size */\n iconSize?: string | number;\n\n /** Icon position relative to step body, controlled by Stepper component */\n iconPosition?: 'right' | 'left';\n\n /** Indicates loading state of the step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nexport type StepperStepFactory = Factory<{\n props: StepperStepProps;\n ref: HTMLButtonElement;\n stylesNames: StepperStepStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n withIcon: true,\n allowStepClick: true,\n iconPosition: 'left',\n} satisfies Partial<StepperStepProps>;\n\nexport const StepperStep = factory<StepperStepFactory>((props) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n step,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n orientation,\n mod,\n ...others\n } = useProps('StepperStep', defaultProps, props);\n\n const ctx = useStepperContext();\n const theme = useMantineTheme();\n const stylesApi = { classNames, styles };\n\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n {...ctx.getStyles('step', { className, style, variant: ctx.orientation, ...stylesApi })}\n mod={[\n { 'icon-position': iconPosition || ctx.iconPosition, 'allow-click': allowStepClick },\n mod,\n ]}\n {...dataAttributes}\n {...others}\n __vars={{ '--step-color': color ? getThemeColor(color, theme) : undefined }}\n tabIndex={allowStepClick ? 0 : -1}\n >\n {withIcon && (\n <span {...ctx.getStyles('stepWrapper', stylesApi)}>\n <span {...ctx.getStyles('stepIcon', stylesApi)} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <span\n {...ctx.getStyles('stepCompletedIcon', { style: transitionStyles, ...stylesApi })}\n >\n {loading ? (\n <Loader\n color=\"var(--mantine-color-white)\"\n size=\"calc(var(--stepper-icon-size) / 2)\"\n {...ctx.getStyles('stepLoader', stylesApi)}\n />\n ) : (\n getStepFragment(completedIcon, step) || <CheckIcon size=\"60%\" />\n )}\n </span>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n <span {...ctx.getStyles('stepIconContent', stylesApi)}>\n {loading ? (\n <Loader\n {...ctx.getStyles('stepLoader', stylesApi)}\n size=\"calc(var(--stepper-icon-size) / 2)\"\n color={color}\n />\n ) : (\n getStepFragment(_icon || icon, step)\n )}\n </span>\n ) : null}\n </span>\n {orientation === 'vertical' && (\n <span\n {...ctx.getStyles('verticalSeparator', stylesApi)}\n data-active={state === 'stepCompleted' || undefined}\n />\n )}\n </span>\n )}\n\n {(label || description) && (\n <span\n {...ctx.getStyles('stepBody', stylesApi)}\n data-orientation={ctx.orientation}\n data-icon-position={iconPosition || ctx.iconPosition}\n >\n {label && (\n <span {...ctx.getStyles('stepLabel', stylesApi)}>{getStepFragment(label, step)}</span>\n )}\n {description && (\n <span {...ctx.getStyles('stepDescription', stylesApi)}>\n {getStepFragment(description, step)}\n </span>\n )}\n </span>\n )}\n </UnstyledButton>\n );\n});\n\nStepperStep.classes = classes;\nStepperStep.displayName = '@mantine/core/StepperStep';\n"],"mappings":"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"}
|