@mantine/core 7.1.3 → 7.1.5
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.context.js.map +1 -1
- package/cjs/components/Accordion/Accordion.js.map +1 -1
- package/cjs/components/Alert/Alert.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/cjs/components/Checkbox/CheckboxGroup.context.js.map +1 -1
- package/cjs/components/Chip/Chip.js.map +1 -1
- package/cjs/components/Chip/ChipGroup/ChipGroup.js.map +1 -1
- package/cjs/components/Chip/ChipGroup.context.js.map +1 -1
- package/cjs/components/Collapse/Collapse.js.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
- package/cjs/components/ColorPicker/Saturation/Saturation.js.map +1 -1
- package/cjs/components/ColorPicker/Swatches/Swatches.js.map +1 -1
- package/cjs/components/Combobox/Combobox.context.js.map +1 -1
- package/cjs/components/Combobox/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.js.map +1 -1
- package/cjs/components/Combobox/use-combobox/use-combobox.js.map +1 -1
- package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.js.map +1 -1
- package/cjs/components/CopyButton/CopyButton.js.map +1 -1
- package/cjs/components/Dialog/Dialog.js.map +1 -1
- package/cjs/components/FileButton/FileButton.js.map +1 -1
- package/cjs/components/FileInput/FileInput.js.map +1 -1
- package/cjs/components/Floating/use-delayed-hover.js.map +1 -1
- package/cjs/components/Floating/use-floating-auto-update.js.map +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.js +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.js.map +1 -1
- package/cjs/components/HoverCard/HoverCard.context.js.map +1 -1
- package/cjs/components/HoverCard/HoverCard.js.map +1 -1
- package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.js +10 -2
- package/cjs/components/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
- package/cjs/components/Image/Image.js.map +1 -1
- package/cjs/components/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/components/JsonInput/JsonInput.js.map +1 -1
- package/cjs/components/Menu/Menu.context.js.map +1 -1
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/ModalBase/ModalBase.context.js.map +1 -1
- package/cjs/components/ModalBase/ModalBase.js.map +1 -1
- package/cjs/components/ModalBase/use-modal.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/NavLink/NavLink.js.map +1 -1
- package/cjs/components/Notification/Notification.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/Pagination/Pagination.context.js.map +1 -1
- package/cjs/components/Pagination/Pagination.js.map +1 -1
- package/cjs/components/Pagination/PaginationRoot/PaginationRoot.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Pill/Pill.js.map +1 -1
- package/cjs/components/PinInput/PinInput.js.map +1 -1
- package/cjs/components/Popover/Popover.context.js.map +1 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Popover/use-popover.js.map +1 -1
- package/cjs/components/Radio/Radio.js +2 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/Radio/RadioGroup.context.js.map +1 -1
- package/cjs/components/Radio/RadioIcon.js +1 -1
- package/cjs/components/Radio/RadioIcon.js.map +1 -1
- package/cjs/components/Rating/Rating.js.map +1 -1
- package/cjs/components/Rating/RatingItem/RatingItem.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.context.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
- package/cjs/components/Stepper/Stepper.js.map +1 -1
- package/cjs/components/Switch/SwitchGroup/SwitchGroup.js.map +1 -1
- package/cjs/components/Switch/SwitchGroup.context.js.map +1 -1
- package/cjs/components/Tabs/Tabs.context.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/TagsInput/TagsInput.js +4 -0
- package/cjs/components/TagsInput/TagsInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/use-tooltip.js.map +1 -1
- package/cjs/components/Transition/Transition.js.map +1 -1
- package/cjs/components/Transition/use-transition.js.map +1 -1
- package/cjs/core/DirectionProvider/DirectionProvider.js.map +1 -1
- package/cjs/core/MantineProvider/Mantine.context.js.map +1 -1
- package/cjs/core/MantineProvider/MantineCssVariables/get-merged-variables.js.map +1 -1
- package/cjs/core/MantineProvider/MantineProvider.js.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.js.map +1 -1
- package/cjs/core/factory/create-polymorphic-component.js.map +1 -1
- package/cjs/core/utils/close-on-escape/close-on-escape.js.map +1 -1
- package/cjs/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.js.map +1 -1
- package/cjs/index.css +1 -1
- package/esm/components/Accordion/Accordion.context.mjs.map +1 -1
- package/esm/components/Accordion/Accordion.mjs.map +1 -1
- package/esm/components/Alert/Alert.mjs.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
- package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
- package/esm/components/Checkbox/CheckboxGroup.context.mjs.map +1 -1
- package/esm/components/Chip/Chip.mjs.map +1 -1
- package/esm/components/Chip/ChipGroup/ChipGroup.mjs.map +1 -1
- package/esm/components/Chip/ChipGroup.context.mjs.map +1 -1
- package/esm/components/Collapse/Collapse.mjs.map +1 -1
- package/esm/components/ColorPicker/ColorPicker.mjs.map +1 -1
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs.map +1 -1
- package/esm/components/ColorPicker/Saturation/Saturation.mjs.map +1 -1
- package/esm/components/ColorPicker/Swatches/Swatches.mjs.map +1 -1
- package/esm/components/Combobox/Combobox.context.mjs.map +1 -1
- package/esm/components/Combobox/Combobox.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs.map +1 -1
- package/esm/components/CopyButton/CopyButton.mjs.map +1 -1
- package/esm/components/Dialog/Dialog.mjs.map +1 -1
- package/esm/components/FileButton/FileButton.mjs.map +1 -1
- package/esm/components/FileInput/FileInput.mjs.map +1 -1
- package/esm/components/Floating/use-delayed-hover.mjs.map +1 -1
- package/esm/components/Floating/use-floating-auto-update.mjs.map +1 -1
- package/esm/components/Highlight/highlighter/highlighter.mjs +1 -1
- package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCard.context.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCard.mjs.map +1 -1
- package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs +10 -2
- package/esm/components/HoverCard/HoverCardTarget/HoverCardTarget.mjs.map +1 -1
- package/esm/components/Image/Image.mjs.map +1 -1
- package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
- package/esm/components/JsonInput/JsonInput.mjs.map +1 -1
- package/esm/components/Menu/Menu.context.mjs.map +1 -1
- package/esm/components/Menu/Menu.mjs.map +1 -1
- package/esm/components/ModalBase/ModalBase.context.mjs.map +1 -1
- package/esm/components/ModalBase/ModalBase.mjs.map +1 -1
- package/esm/components/ModalBase/use-modal.mjs.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
- package/esm/components/NavLink/NavLink.mjs.map +1 -1
- package/esm/components/Notification/Notification.mjs.map +1 -1
- package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
- package/esm/components/Pagination/Pagination.context.mjs.map +1 -1
- package/esm/components/Pagination/Pagination.mjs.map +1 -1
- package/esm/components/Pagination/PaginationRoot/PaginationRoot.mjs.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
- package/esm/components/Pill/Pill.mjs.map +1 -1
- package/esm/components/PinInput/PinInput.mjs.map +1 -1
- package/esm/components/Popover/Popover.context.mjs.map +1 -1
- package/esm/components/Popover/Popover.mjs.map +1 -1
- package/esm/components/Popover/use-popover.mjs.map +1 -1
- package/esm/components/Radio/Radio.mjs +2 -1
- package/esm/components/Radio/Radio.mjs.map +1 -1
- package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
- package/esm/components/Radio/RadioGroup.context.mjs.map +1 -1
- package/esm/components/Radio/RadioIcon.mjs +1 -1
- package/esm/components/Radio/RadioIcon.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/ScrollArea/ScrollArea.context.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.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/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
- package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.mjs.map +1 -1
- package/esm/components/Stepper/Stepper.mjs.map +1 -1
- package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
- package/esm/components/Switch/SwitchGroup.context.mjs.map +1 -1
- package/esm/components/Tabs/Tabs.context.mjs.map +1 -1
- package/esm/components/Tabs/Tabs.mjs.map +1 -1
- package/esm/components/TagsInput/TagsInput.mjs +4 -0
- package/esm/components/TagsInput/TagsInput.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/Transition.mjs.map +1 -1
- package/esm/components/Transition/use-transition.mjs.map +1 -1
- package/esm/core/DirectionProvider/DirectionProvider.mjs.map +1 -1
- package/esm/core/MantineProvider/Mantine.context.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineCssVariables/get-merged-variables.mjs.map +1 -1
- package/esm/core/MantineProvider/MantineProvider.mjs.map +1 -1
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
- package/esm/core/factory/create-polymorphic-component.mjs.map +1 -1
- package/esm/core/utils/close-on-escape/close-on-escape.mjs.map +1 -1
- package/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs.map +1 -1
- package/esm/index.css +1 -1
- package/esm/index.layer.css +1 -1
- package/esm/styles/Radio.css +1 -1
- package/esm/styles/Radio.layer.css +1 -1
- package/esm/styles/Rating.css +1 -1
- package/esm/styles/Rating.layer.css +1 -1
- package/lib/components/Accordion/Accordion.context.d.ts +4 -4
- package/lib/components/Accordion/Accordion.d.ts +1 -1
- package/lib/components/ActionIcon/ActionIcon.d.ts +2 -2
- package/lib/components/Alert/Alert.d.ts +1 -1
- package/lib/components/Anchor/Anchor.d.ts +2 -2
- package/lib/components/AppShell/AppShellSection/AppShellSection.d.ts +2 -2
- package/lib/components/Autocomplete/Autocomplete.d.ts +1 -1
- package/lib/components/Avatar/Avatar.d.ts +2 -2
- package/lib/components/BackgroundImage/BackgroundImage.d.ts +2 -2
- package/lib/components/Badge/Badge.d.ts +3 -3
- package/lib/components/Button/Button.d.ts +2 -2
- package/lib/components/Card/Card.d.ts +2 -2
- package/lib/components/Card/CardSection/CardSection.d.ts +2 -2
- package/lib/components/Center/Center.d.ts +2 -2
- package/lib/components/Checkbox/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/lib/components/Checkbox/CheckboxGroup.context.d.ts +1 -1
- package/lib/components/Chip/Chip.d.ts +1 -1
- package/lib/components/Chip/ChipGroup/ChipGroup.d.ts +1 -1
- package/lib/components/Chip/ChipGroup.context.d.ts +2 -2
- package/lib/components/CloseButton/CloseButton.d.ts +2 -2
- package/lib/components/Collapse/Collapse.d.ts +1 -1
- package/lib/components/ColorPicker/ColorPicker.d.ts +3 -3
- package/lib/components/ColorPicker/ColorSlider/ColorSlider.d.ts +4 -4
- package/lib/components/ColorPicker/Saturation/Saturation.d.ts +4 -4
- package/lib/components/ColorPicker/Swatches/Swatches.d.ts +1 -1
- package/lib/components/ColorSwatch/ColorSwatch.d.ts +2 -2
- package/lib/components/Combobox/Combobox.context.d.ts +1 -1
- package/lib/components/Combobox/Combobox.d.ts +1 -1
- package/lib/components/Combobox/Combobox.types.d.ts +3 -3
- package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +1 -1
- package/lib/components/Combobox/use-combobox/use-combobox.d.ts +17 -17
- package/lib/components/Combobox/use-combobox/use-virtualized-combobox.d.ts +7 -7
- package/lib/components/CopyButton/CopyButton.d.ts +3 -3
- package/lib/components/Dialog/Dialog.d.ts +1 -1
- package/lib/components/FileButton/FileButton.d.ts +4 -4
- package/lib/components/FileInput/FileInput.d.ts +1 -1
- package/lib/components/Floating/use-delayed-hover.d.ts +2 -2
- package/lib/components/Floating/use-floating-auto-update.d.ts +1 -1
- package/lib/components/Highlight/Highlight.d.ts +2 -2
- package/lib/components/HoverCard/HoverCard.context.d.ts +2 -2
- package/lib/components/HoverCard/HoverCard.d.ts +2 -2
- package/lib/components/HoverCard/HoverCardTarget/HoverCardTarget.d.ts +2 -0
- package/lib/components/Image/Image.d.ts +4 -3
- package/lib/components/Input/Input.d.ts +2 -2
- package/lib/components/Input/InputWrapper/InputWrapper.d.ts +1 -1
- package/lib/components/InputBase/InputBase.d.ts +2 -2
- package/lib/components/JsonInput/JsonInput.d.ts +1 -1
- package/lib/components/Menu/Menu.context.d.ts +6 -6
- package/lib/components/Menu/Menu.d.ts +5 -5
- package/lib/components/Menu/MenuItem/MenuItem.d.ts +2 -2
- package/lib/components/ModalBase/ModalBase.context.d.ts +5 -5
- package/lib/components/ModalBase/ModalBase.d.ts +1 -1
- package/lib/components/ModalBase/use-modal.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts +2 -2
- package/lib/components/NavLink/NavLink.d.ts +4 -4
- package/lib/components/Notification/Notification.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.d.ts +4 -4
- package/lib/components/Overlay/Overlay.d.ts +2 -2
- package/lib/components/Pagination/Pagination.context.d.ts +6 -6
- package/lib/components/Pagination/Pagination.d.ts +1 -1
- package/lib/components/Pagination/PaginationEdges/PaginationEdges.d.ts +10 -10
- package/lib/components/Pagination/PaginationRoot/PaginationRoot.d.ts +6 -6
- package/lib/components/Paper/Paper.d.ts +2 -2
- package/lib/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/lib/components/Pill/Pill.d.ts +1 -1
- package/lib/components/PinInput/PinInput.d.ts +2 -2
- package/lib/components/Popover/Popover.context.d.ts +6 -6
- package/lib/components/Popover/Popover.d.ts +4 -4
- package/lib/components/Popover/use-popover.d.ts +4 -4
- package/lib/components/Radio/RadioGroup/RadioGroup.d.ts +1 -1
- package/lib/components/Radio/RadioGroup.context.d.ts +1 -1
- package/lib/components/Rating/Rating.d.ts +2 -2
- package/lib/components/Rating/RatingItem/RatingItem.d.ts +2 -2
- package/lib/components/ScrollArea/ScrollArea.context.d.ts +8 -8
- package/lib/components/ScrollArea/ScrollArea.d.ts +2 -2
- package/lib/components/ScrollArea/ScrollArea.types.d.ts +7 -7
- package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.d.ts +5 -5
- package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.d.ts +4 -4
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/lib/components/Select/Select.d.ts +2 -2
- package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +3 -3
- package/lib/components/Slider/Slider/Slider.d.ts +3 -3
- package/lib/components/Slider/Thumb/Thumb.d.ts +4 -4
- package/lib/components/Stepper/Stepper.d.ts +1 -1
- package/lib/components/Switch/SwitchGroup/SwitchGroup.d.ts +1 -1
- package/lib/components/Switch/SwitchGroup.context.d.ts +1 -1
- package/lib/components/Tabs/Tabs.context.d.ts +3 -3
- package/lib/components/Tabs/Tabs.d.ts +1 -1
- package/lib/components/TagsInput/TagsInput.d.ts +3 -3
- package/lib/components/Text/Text.d.ts +2 -2
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/Tooltip/use-tooltip.d.ts +1 -1
- package/lib/components/Transition/Transition.d.ts +1 -1
- package/lib/components/Transition/use-transition.d.ts +4 -4
- package/lib/components/UnstyledButton/UnstyledButton.d.ts +2 -2
- package/lib/core/Box/Box.d.ts +2 -2
- package/lib/core/DirectionProvider/DirectionProvider.d.ts +2 -2
- package/lib/core/MantineProvider/Mantine.context.d.ts +5 -5
- package/lib/core/MantineProvider/MantineCssVariables/get-merged-variables.d.ts +1 -1
- package/lib/core/MantineProvider/MantineProvider.d.ts +2 -2
- package/lib/core/MantineProvider/color-scheme-managers/types.d.ts +5 -5
- package/lib/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.d.ts +1 -1
- package/lib/core/factory/create-polymorphic-component.d.ts +4 -4
- package/lib/core/factory/polymorphic-factory.d.ts +2 -2
- package/lib/core/utils/close-on-escape/close-on-escape.d.ts +2 -2
- package/lib/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rating.js","sources":["../../../src/components/Rating/Rating.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { clamp, useId, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n MantineColor,\n useDirection,\n getSize,\n getThemeColor,\n} from '../../core';\nimport { RatingProvider } from './Rating.context';\nimport classes from './Rating.module.css';\nimport { RatingItem } from './RatingItem/RatingItem';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames =\n | 'root'\n | 'starSymbol'\n | 'input'\n | 'label'\n | 'symbolBody'\n | 'symbolGroup';\n\nexport type RatingCssVariables = {\n root: '--rating-size' | '--rating-color';\n};\n\nexport interface RatingProps\n extends BoxProps,\n StylesApiProps<RatingFactory>,\n ElementProps<'div', 'onChange'> {\n /** Default value for uncontrolled component */\n defaultValue?: number;\n\n /** Value for controlled component */\n value?: number;\n\n /** Called when value changes */\n onChange?(value: number): void;\n\n /** The icon that is displayed when symbol is empty */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** This icon that is displayed when symbol is full */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, 1 by default */\n fractions?: number;\n\n /** Controls component size */\n size?: MantineSize;\n\n /** Number of controls that should be rendered */\n count?: number;\n\n /** Called when item is hovered */\n onHover?(value: number): void;\n\n /** Function should return labelText for the symbols */\n getSymbolLabel?: (value: number) => string;\n\n /** Name of rating, should be unique within the page */\n name?: string;\n\n /** If true, you won't be able to interact */\n readOnly?: boolean;\n\n /** If true, only the selected symbol will change to full symbol */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, yellow by default */\n color?: MantineColor;\n}\n\nexport type RatingFactory = Factory<{\n props: RatingProps;\n ref: HTMLDivElement;\n stylesNames: RatingStylesNames;\n vars: RatingCssVariables;\n}>;\n\nconst defaultProps: Partial<RatingProps> = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n};\n\nconst varsResolver = createVarsResolver<RatingFactory>((theme, { size, color }) => ({\n root: {\n '--rating-size': getSize(size, 'rating-size'),\n '--rating-color': getThemeColor(color, theme),\n },\n}));\n\nexport const Rating = factory<RatingFactory>((_props, ref) => {\n const props = useProps('Rating', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n name,\n id,\n value,\n defaultValue,\n onChange,\n fractions,\n count,\n onMouseEnter,\n readOnly,\n onMouseMove,\n onHover,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n size,\n variant,\n getSymbolLabel,\n color,\n emptySymbol,\n fullSymbol,\n highlightSelectedOnly,\n ...others\n } = props;\n\n const getStyles = useStyles<RatingFactory>({\n name: 'Rating',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n\n const _name = useId(name);\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const _fractions = Math.floor(fractions!);\n const _count = Math.floor(count!);\n\n const decimalUnit = 1 / _fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const getRatingFromCoordinates = (x: number) => {\n const { left, right, width } = rootRef.current!.getBoundingClientRect();\n const symbolWidth = width / _count;\n\n const hoverPosition = dir === 'rtl' ? right - x : x - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n return clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const rounded = getRatingFromCoordinates(event.clientX);\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleTouchStart = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n const { touches } = event;\n if (touches.length !== 1) {\n return;\n }\n\n const touch = touches[0];\n setValue(getRatingFromCoordinates(touch.clientX));\n\n onTouchStart?.(event);\n };\n\n const handleTouchEnd = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n onTouchEnd?.(event);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setHovered(event);\n } else {\n setHovered(parseFloat(event.target.value));\n }\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setValue(event);\n } else {\n setValue(parseFloat(event.target.value));\n }\n }\n };\n\n const items = Array(_count)\n .fill(0)\n .map((_, index) => {\n const integerValue = index + 1;\n const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div\n key={integerValue}\n data-active={isGroupActive || undefined}\n {...getStyles('symbolGroup')}\n >\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n size={size!}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n onInputChange={handleInputChange}\n id={`${_id}-${index}-${fractionIndex}`}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <RatingProvider value={{ getStyles }}>\n <Box\n ref={useMergedRef(rootRef, ref)}\n {...getStyles('root')}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n variant={variant}\n size={size}\n id={_id}\n {...others}\n >\n {items}\n </Box>\n </RatingProvider>\n );\n});\n\nRating.classes = classes;\nRating.displayName = '@mantine/core/Rating';\n"],"names":["createVarsResolver","getSize","getThemeColor","factory","useProps","useStyles","classes","useDirection","useId","useRef","useUncontrolled","useState","clamp","React","RatingItem","RatingProvider","Box","useMergedRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rating.js","sources":["../../../src/components/Rating/Rating.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { clamp, useId, useMergedRef, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n MantineColor,\n useDirection,\n getSize,\n getThemeColor,\n} from '../../core';\nimport { RatingProvider } from './Rating.context';\nimport classes from './Rating.module.css';\nimport { RatingItem } from './RatingItem/RatingItem';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames =\n | 'root'\n | 'starSymbol'\n | 'input'\n | 'label'\n | 'symbolBody'\n | 'symbolGroup';\n\nexport type RatingCssVariables = {\n root: '--rating-size' | '--rating-color';\n};\n\nexport interface RatingProps\n extends BoxProps,\n StylesApiProps<RatingFactory>,\n ElementProps<'div', 'onChange'> {\n /** Default value for uncontrolled component */\n defaultValue?: number;\n\n /** Value for controlled component */\n value?: number;\n\n /** Called when value changes */\n onChange?: (value: number) => void;\n\n /** The icon that is displayed when symbol is empty */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** This icon that is displayed when symbol is full */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, 1 by default */\n fractions?: number;\n\n /** Controls component size */\n size?: MantineSize;\n\n /** Number of controls that should be rendered */\n count?: number;\n\n /** Called when item is hovered */\n onHover?: (value: number) => void;\n\n /** Function should return labelText for the symbols */\n getSymbolLabel?: (value: number) => string;\n\n /** Name of rating, should be unique within the page */\n name?: string;\n\n /** If true, you won't be able to interact */\n readOnly?: boolean;\n\n /** If true, only the selected symbol will change to full symbol */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, yellow by default */\n color?: MantineColor;\n}\n\nexport type RatingFactory = Factory<{\n props: RatingProps;\n ref: HTMLDivElement;\n stylesNames: RatingStylesNames;\n vars: RatingCssVariables;\n}>;\n\nconst defaultProps: Partial<RatingProps> = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n};\n\nconst varsResolver = createVarsResolver<RatingFactory>((theme, { size, color }) => ({\n root: {\n '--rating-size': getSize(size, 'rating-size'),\n '--rating-color': getThemeColor(color, theme),\n },\n}));\n\nexport const Rating = factory<RatingFactory>((_props, ref) => {\n const props = useProps('Rating', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n name,\n id,\n value,\n defaultValue,\n onChange,\n fractions,\n count,\n onMouseEnter,\n readOnly,\n onMouseMove,\n onHover,\n onMouseLeave,\n onTouchStart,\n onTouchEnd,\n size,\n variant,\n getSymbolLabel,\n color,\n emptySymbol,\n fullSymbol,\n highlightSelectedOnly,\n ...others\n } = props;\n\n const getStyles = useStyles<RatingFactory>({\n name: 'Rating',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n\n const _name = useId(name);\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const _fractions = Math.floor(fractions!);\n const _count = Math.floor(count!);\n\n const decimalUnit = 1 / _fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const getRatingFromCoordinates = (x: number) => {\n const { left, right, width } = rootRef.current!.getBoundingClientRect();\n const symbolWidth = width / _count;\n\n const hoverPosition = dir === 'rtl' ? right - x : x - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n return clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const rounded = getRatingFromCoordinates(event.clientX);\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleTouchStart = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n const { touches } = event;\n if (touches.length !== 1) {\n return;\n }\n\n const touch = touches[0];\n setValue(getRatingFromCoordinates(touch.clientX));\n\n onTouchStart?.(event);\n };\n\n const handleTouchEnd = (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n\n onTouchEnd?.(event);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setHovered(event);\n } else {\n setHovered(parseFloat(event.target.value));\n }\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement> | number) => {\n if (!readOnly) {\n if (typeof event === 'number') {\n setValue(event);\n } else {\n setValue(parseFloat(event.target.value));\n }\n }\n };\n\n const items = Array(_count)\n .fill(0)\n .map((_, index) => {\n const integerValue = index + 1;\n const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div\n key={integerValue}\n data-active={isGroupActive || undefined}\n {...getStyles('symbolGroup')}\n >\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n size={size!}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n onInputChange={handleInputChange}\n id={`${_id}-${index}-${fractionIndex}`}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <RatingProvider value={{ getStyles }}>\n <Box\n ref={useMergedRef(rootRef, ref)}\n {...getStyles('root')}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n variant={variant}\n size={size}\n id={_id}\n {...others}\n >\n {items}\n </Box>\n </RatingProvider>\n );\n});\n\nRating.classes = classes;\nRating.displayName = '@mantine/core/Rating';\n"],"names":["createVarsResolver","getSize","getThemeColor","factory","useProps","useStyles","classes","useDirection","useId","useRef","useUncontrolled","useState","clamp","React","RatingItem","RatingProvider","Box","useMergedRef"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatingItem.js","sources":["../../../../src/components/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize, BoxProps, ElementProps, Box, useDirection } from '../../../core';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\nimport { useRatingContext } from '../Rating.context';\n\nexport interface RatingItemProps extends BoxProps, ElementProps<'input', 'value' | 'size'> {\n size: MantineSize;\n getSymbolLabel: ((value: number) => string) | undefined;\n emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n full: boolean;\n active: boolean;\n fractionValue: number;\n value: number;\n id: string;\n onChange(event: React.ChangeEvent<HTMLInputElement> | number)
|
|
1
|
+
{"version":3,"file":"RatingItem.js","sources":["../../../../src/components/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize, BoxProps, ElementProps, Box, useDirection } from '../../../core';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\nimport { useRatingContext } from '../Rating.context';\n\nexport interface RatingItemProps extends BoxProps, ElementProps<'input', 'value' | 'size'> {\n size: MantineSize;\n getSymbolLabel: ((value: number) => string) | undefined;\n emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n full: boolean;\n active: boolean;\n fractionValue: number;\n value: number;\n id: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n onInputChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n}\n\nexport function RatingItem({\n size,\n getSymbolLabel,\n emptyIcon,\n fullIcon,\n full,\n active,\n value,\n readOnly,\n fractionValue,\n color,\n id,\n onBlur,\n onChange,\n onInputChange,\n style,\n ...others\n}: RatingItemProps) {\n const ctx = useRatingContext();\n const _fullIcon = typeof fullIcon === 'function' ? fullIcon(value) : fullIcon;\n const _emptyIcon = typeof emptyIcon === 'function' ? emptyIcon(value) : emptyIcon;\n const { dir } = useDirection();\n\n return (\n <>\n {!readOnly && (\n <input\n {...ctx.getStyles('input')}\n onKeyDown={(event) => event.key === ' ' && onChange(value)}\n id={id}\n type=\"radio\"\n data-active={active || undefined}\n aria-label={getSymbolLabel?.(value)}\n value={value}\n onBlur={onBlur}\n onChange={onInputChange}\n {...others}\n />\n )}\n\n <Box\n component={readOnly ? 'div' : 'label'}\n {...ctx.getStyles('label')}\n data-read-only={readOnly || undefined}\n htmlFor={id}\n onClick={() => onChange(value)}\n __vars={{\n '--rating-item-z-index': (fractionValue === 1 ? undefined : active ? 2 : 0)?.toString(),\n }}\n >\n <Box\n {...ctx.getStyles('symbolBody')}\n __vars={{\n '--rating-symbol-clip-path':\n fractionValue === 1\n ? undefined\n : dir === 'ltr'\n ? `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)`\n : `inset(0 0 0 ${active ? 100 - fractionValue * 100 : 100}% )`,\n }}\n >\n {full\n ? _fullIcon || <StarSymbol type=\"full\" />\n : _emptyIcon || <StarSymbol type=\"empty\" />}\n </Box>\n </Box>\n </>\n );\n}\n\nRatingItem.displayName = '@mantine/core/RatingItem';\n"],"names":["useRatingContext","useDirection","React","Box","StarSymbol"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.context.js","sources":["../../../src/components/ScrollArea/ScrollArea.context.ts"],"sourcesContent":["import { createSafeContext } from '../../core';\n\nexport interface ScrollAreaContextValue {\n type: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n scrollHideDelay: number;\n scrollArea: HTMLDivElement | null;\n viewport: HTMLDivElement | null;\n onViewportChange(viewport: HTMLDivElement | null)
|
|
1
|
+
{"version":3,"file":"ScrollArea.context.js","sources":["../../../src/components/ScrollArea/ScrollArea.context.ts"],"sourcesContent":["import { createSafeContext } from '../../core';\n\nexport interface ScrollAreaContextValue {\n type: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n scrollHideDelay: number;\n scrollArea: HTMLDivElement | null;\n viewport: HTMLDivElement | null;\n onViewportChange: (viewport: HTMLDivElement | null) => void;\n content: HTMLDivElement | null;\n onContentChange: (content: HTMLDivElement) => void;\n scrollbarX: HTMLDivElement | null;\n onScrollbarXChange: (scrollbar: HTMLDivElement | null) => void;\n scrollbarXEnabled: boolean;\n onScrollbarXEnabledChange: (rendered: boolean) => void;\n scrollbarY: HTMLDivElement | null;\n onScrollbarYChange: (scrollbar: HTMLDivElement | null) => void;\n scrollbarYEnabled: boolean;\n onScrollbarYEnabledChange: (rendered: boolean) => void;\n onCornerWidthChange: (width: number) => void;\n onCornerHeightChange: (height: number) => void;\n}\n\nexport const [ScrollAreaProvider, useScrollAreaContext] = createSafeContext<ScrollAreaContextValue>(\n 'ScrollArea.Root component was not found in tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AACY,MAAC,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,GAAGA,mCAAiB;AAC3E,EAAE,iDAAiD;AACnD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n rem,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { ScrollAreaScrollbar } from './ScrollAreaScrollbar/ScrollAreaScrollbar';\nimport { ScrollAreaCorner } from './ScrollAreaCorner/ScrollAreaCorner';\nimport { ScrollAreaRoot } from './ScrollAreaRoot/ScrollAreaRoot';\nimport { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport';\nimport classes from './ScrollArea.module.css';\nimport { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb';\n\nexport type ScrollAreaStylesNames = 'root' | 'viewport' | 'scrollbar' | 'thumb' | 'corner';\nexport type ScrollAreaCssVariables = {\n root: '--scrollarea-scrollbar-size';\n};\n\nexport interface ScrollAreaProps\n extends BoxProps,\n StylesApiProps<ScrollAreaFactory>,\n ElementProps<'div'> {\n /** Scrollbar size, any valid CSS value for width/height, numbers are converted to rem, default value is 0.75rem */\n scrollbarSize?: number | string;\n\n /**\n * Defines scrollbars behavior, `hover` by default\n * - `hover` – scrollbars are visible when mouse is over the scroll area\n * - `scroll` – scrollbars are visible when the scroll area is scrolled\n * - `always` – scrollbars are always visible\n * - `never` – scrollbars are always hidden\n * - `auto` – similar to `overflow: auto` – scrollbars are always visible when the content is overflowing\n * */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, applicable only when type is set to `hover` or `scroll`, `1000` by default */\n scrollHideDelay?: number;\n\n /** Determines whether scrollbars should be offset with padding on given axis, `false` by default */\n offsetScrollbars?: boolean | 'x' | 'y';\n\n /** Assigns viewport element (scrollable container) ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Props passed down to the viewport element */\n viewportProps?: React.ComponentPropsWithRef<'div'>;\n\n /** Called with current position (`x` and `y` coordinates) when viewport is scrolled */\n onScrollPositionChange?(position: { x: number; y: number }): void;\n}\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {}\n\nexport type ScrollAreaFactory = Factory<{\n props: ScrollAreaProps;\n ref: HTMLDivElement;\n stylesNames: ScrollAreaStylesNames;\n vars: ScrollAreaCssVariables;\n staticComponents: {\n Autosize: typeof ScrollAreaAutosize;\n };\n}>;\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollHideDelay: 1000,\n type: 'hover',\n};\n\nconst varsResolver = createVarsResolver<ScrollAreaFactory>((_, { scrollbarSize }) => ({\n root: {\n '--scrollarea-scrollbar-size': rem(scrollbarSize),\n },\n}));\n\nexport const ScrollArea = factory<ScrollAreaFactory>((_props, ref) => {\n const props = useProps('ScrollArea', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n scrollbarSize,\n vars,\n type,\n scrollHideDelay,\n viewportProps,\n viewportRef,\n onScrollPositionChange,\n children,\n offsetScrollbars,\n ...others\n } = props;\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n\n const getStyles = useStyles<ScrollAreaFactory>({\n name: 'ScrollArea',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ScrollAreaRoot\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n ref={ref}\n {...getStyles('root')}\n {...others}\n >\n <ScrollAreaViewport\n {...viewportProps}\n {...getStyles('viewport')}\n ref={viewportRef}\n data-offset-scrollbars={offsetScrollbars === true ? 'xy' : offsetScrollbars || undefined}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </ScrollAreaViewport>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"horizontal\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"vertical\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaCorner\n {...getStyles('corner')}\n data-hovered={scrollbarHovered || undefined}\n data-hidden={type === 'never' || undefined}\n />\n </ScrollAreaRoot>\n );\n});\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n\nexport const ScrollAreaAutosize = factory<ScrollAreaFactory>((props, ref) => {\n const {\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps,\n style,\n vars,\n ...others\n } = useProps('ScrollAreaAutosize', defaultProps, props);\n\n return (\n <Box {...others} ref={ref} style={[{ display: 'flex' }, style]}>\n <Box style={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n variant={variant}\n viewportProps={viewportProps}\n vars={vars}\n >\n {children}\n </ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollArea.classes = classes;\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\nScrollAreaAutosize.classes = classes;\nScrollArea.Autosize = ScrollAreaAutosize;\n"],"names":["createVarsResolver","rem","factory","useProps","useState","useStyles","classes","React","ScrollAreaRoot","ScrollAreaViewport","ScrollAreaScrollbar","ScrollAreaThumb","ScrollAreaCorner","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n rem,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { ScrollAreaScrollbar } from './ScrollAreaScrollbar/ScrollAreaScrollbar';\nimport { ScrollAreaCorner } from './ScrollAreaCorner/ScrollAreaCorner';\nimport { ScrollAreaRoot } from './ScrollAreaRoot/ScrollAreaRoot';\nimport { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport';\nimport classes from './ScrollArea.module.css';\nimport { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb';\n\nexport type ScrollAreaStylesNames = 'root' | 'viewport' | 'scrollbar' | 'thumb' | 'corner';\nexport type ScrollAreaCssVariables = {\n root: '--scrollarea-scrollbar-size';\n};\n\nexport interface ScrollAreaProps\n extends BoxProps,\n StylesApiProps<ScrollAreaFactory>,\n ElementProps<'div'> {\n /** Scrollbar size, any valid CSS value for width/height, numbers are converted to rem, default value is 0.75rem */\n scrollbarSize?: number | string;\n\n /**\n * Defines scrollbars behavior, `hover` by default\n * - `hover` – scrollbars are visible when mouse is over the scroll area\n * - `scroll` – scrollbars are visible when the scroll area is scrolled\n * - `always` – scrollbars are always visible\n * - `never` – scrollbars are always hidden\n * - `auto` – similar to `overflow: auto` – scrollbars are always visible when the content is overflowing\n * */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, applicable only when type is set to `hover` or `scroll`, `1000` by default */\n scrollHideDelay?: number;\n\n /** Determines whether scrollbars should be offset with padding on given axis, `false` by default */\n offsetScrollbars?: boolean | 'x' | 'y';\n\n /** Assigns viewport element (scrollable container) ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Props passed down to the viewport element */\n viewportProps?: React.ComponentPropsWithRef<'div'>;\n\n /** Called with current position (`x` and `y` coordinates) when viewport is scrolled */\n onScrollPositionChange?: (position: { x: number; y: number }) => void;\n}\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {}\n\nexport type ScrollAreaFactory = Factory<{\n props: ScrollAreaProps;\n ref: HTMLDivElement;\n stylesNames: ScrollAreaStylesNames;\n vars: ScrollAreaCssVariables;\n staticComponents: {\n Autosize: typeof ScrollAreaAutosize;\n };\n}>;\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollHideDelay: 1000,\n type: 'hover',\n};\n\nconst varsResolver = createVarsResolver<ScrollAreaFactory>((_, { scrollbarSize }) => ({\n root: {\n '--scrollarea-scrollbar-size': rem(scrollbarSize),\n },\n}));\n\nexport const ScrollArea = factory<ScrollAreaFactory>((_props, ref) => {\n const props = useProps('ScrollArea', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n scrollbarSize,\n vars,\n type,\n scrollHideDelay,\n viewportProps,\n viewportRef,\n onScrollPositionChange,\n children,\n offsetScrollbars,\n ...others\n } = props;\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n\n const getStyles = useStyles<ScrollAreaFactory>({\n name: 'ScrollArea',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ScrollAreaRoot\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n ref={ref}\n {...getStyles('root')}\n {...others}\n >\n <ScrollAreaViewport\n {...viewportProps}\n {...getStyles('viewport')}\n ref={viewportRef}\n data-offset-scrollbars={offsetScrollbars === true ? 'xy' : offsetScrollbars || undefined}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </ScrollAreaViewport>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"horizontal\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"vertical\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaCorner\n {...getStyles('corner')}\n data-hovered={scrollbarHovered || undefined}\n data-hidden={type === 'never' || undefined}\n />\n </ScrollAreaRoot>\n );\n});\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n\nexport const ScrollAreaAutosize = factory<ScrollAreaFactory>((props, ref) => {\n const {\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps,\n style,\n vars,\n ...others\n } = useProps('ScrollAreaAutosize', defaultProps, props);\n\n return (\n <Box {...others} ref={ref} style={[{ display: 'flex' }, style]}>\n <Box style={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n variant={variant}\n viewportProps={viewportProps}\n vars={vars}\n >\n {children}\n </ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollArea.classes = classes;\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\nScrollAreaAutosize.classes = classes;\nScrollArea.Autosize = ScrollAreaAutosize;\n"],"names":["createVarsResolver","rem","factory","useProps","useState","useStyles","classes","React","ScrollAreaRoot","ScrollAreaViewport","ScrollAreaScrollbar","ScrollAreaThumb","ScrollAreaCorner","Box"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrollbar.context.js","sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.ts"],"sourcesContent":["import { createSafeContext } from '../../../core';\n\nexport interface ScrollbarContextValue {\n hasThumb: boolean;\n scrollbar: HTMLDivElement | null;\n onThumbChange(thumb: HTMLDivElement | null)
|
|
1
|
+
{"version":3,"file":"Scrollbar.context.js","sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.ts"],"sourcesContent":["import { createSafeContext } from '../../../core';\n\nexport interface ScrollbarContextValue {\n hasThumb: boolean;\n scrollbar: HTMLDivElement | null;\n onThumbChange: (thumb: HTMLDivElement | null) => void;\n onThumbPointerUp: () => void;\n onThumbPointerDown: (pointerPos: { x: number; y: number }) => void;\n onThumbPositionChange: () => void;\n}\n\nexport const [ScrollbarProvider, useScrollbarContext] = createSafeContext<ScrollbarContextValue>(\n 'ScrollAreaScrollbar was not found in tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AACY,MAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAGA,mCAAiB;AACzE,EAAE,2CAA2C;AAC7C;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrollbar.js","sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx"],"sourcesContent":["import React, { useEffect, forwardRef } from 'react';\nimport { useMergedRef, useCallbackRef, useDebounceCallback } from '@mantine/hooks';\nimport { useResizeObserver } from '../use-resize-observer';\nimport { useScrollAreaContext } from '../ScrollArea.context';\nimport { Sizes } from '../ScrollArea.types';\nimport { ScrollbarProvider, ScrollbarContextValue } from './Scrollbar.context';\nimport { composeEventHandlers } from '../utils';\n\nexport interface ScrollbarPrivateProps {\n sizes: Sizes;\n hasThumb: boolean;\n onThumbChange: ScrollbarContextValue['onThumbChange'];\n onThumbPointerUp: ScrollbarContextValue['onThumbPointerUp'];\n onThumbPointerDown: ScrollbarContextValue['onThumbPointerDown'];\n onThumbPositionChange: ScrollbarContextValue['onThumbPositionChange'];\n onWheelScroll(event: WheelEvent, maxScrollPos: number): void;\n onDragScroll(pointerPos: { x: number; y: number }): void;\n onResize(): void;\n}\n\ninterface ScrollbarProps\n extends ScrollbarPrivateProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onResize'> {}\n\nexport const Scrollbar = forwardRef<HTMLDivElement, ScrollbarProps>((props, forwardedRef) => {\n const {\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext();\n const [scrollbar, setScrollbar] = React.useState<HTMLDivElement | null>(null);\n const composeRefs = useMergedRef(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React.useRef<ClientRect | null>(null);\n const prevWebkitUserSelectRef = React.useRef<string>('');\n const { viewport } = context;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n\n const handleDragScroll = (event: React.PointerEvent<HTMLElement>) => {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n };\n\n useEffect(() => {\n const handleWheel = (event: WheelEvent) => {\n const element = event.target as HTMLElement;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener('wheel', handleWheel, { passive: false });\n return () => document.removeEventListener('wheel', handleWheel, { passive: false } as any);\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n\n useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n\n return (\n <ScrollbarProvider\n value={{\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n }}\n >\n <div\n {...scrollbarProps}\n ref={composeRefs}\n style={{ position: 'absolute', ...scrollbarProps.style }}\n onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar!.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = 'none';\n handleDragScroll(event);\n }\n })}\n onPointerMove={composeEventHandlers(props.onPointerMove, handleDragScroll)}\n onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target as HTMLElement;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n rectRef.current = null;\n })}\n />\n </ScrollbarProvider>\n );\n});\n"],"names":["forwardRef","useScrollAreaContext","React","useMergedRef","useCallbackRef","useDebounceCallback","useEffect","useResizeObserver","ScrollbarProvider","composeEventHandlers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Scrollbar.js","sources":["../../../../src/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.tsx"],"sourcesContent":["import React, { useEffect, forwardRef } from 'react';\nimport { useMergedRef, useCallbackRef, useDebounceCallback } from '@mantine/hooks';\nimport { useResizeObserver } from '../use-resize-observer';\nimport { useScrollAreaContext } from '../ScrollArea.context';\nimport { Sizes } from '../ScrollArea.types';\nimport { ScrollbarProvider, ScrollbarContextValue } from './Scrollbar.context';\nimport { composeEventHandlers } from '../utils';\n\nexport interface ScrollbarPrivateProps {\n sizes: Sizes;\n hasThumb: boolean;\n onThumbChange: ScrollbarContextValue['onThumbChange'];\n onThumbPointerUp: ScrollbarContextValue['onThumbPointerUp'];\n onThumbPointerDown: ScrollbarContextValue['onThumbPointerDown'];\n onThumbPositionChange: ScrollbarContextValue['onThumbPositionChange'];\n onWheelScroll: (event: WheelEvent, maxScrollPos: number) => void;\n onDragScroll: (pointerPos: { x: number; y: number }) => void;\n onResize: () => void;\n}\n\ninterface ScrollbarProps\n extends ScrollbarPrivateProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onResize'> {}\n\nexport const Scrollbar = forwardRef<HTMLDivElement, ScrollbarProps>((props, forwardedRef) => {\n const {\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext();\n const [scrollbar, setScrollbar] = React.useState<HTMLDivElement | null>(null);\n const composeRefs = useMergedRef(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React.useRef<ClientRect | null>(null);\n const prevWebkitUserSelectRef = React.useRef<string>('');\n const { viewport } = context;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n\n const handleDragScroll = (event: React.PointerEvent<HTMLElement>) => {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n };\n\n useEffect(() => {\n const handleWheel = (event: WheelEvent) => {\n const element = event.target as HTMLElement;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener('wheel', handleWheel, { passive: false });\n return () => document.removeEventListener('wheel', handleWheel, { passive: false } as any);\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n\n useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n\n return (\n <ScrollbarProvider\n value={{\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n }}\n >\n <div\n {...scrollbarProps}\n ref={composeRefs}\n style={{ position: 'absolute', ...scrollbarProps.style }}\n onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar!.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = 'none';\n handleDragScroll(event);\n }\n })}\n onPointerMove={composeEventHandlers(props.onPointerMove, handleDragScroll)}\n onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target as HTMLElement;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n rectRef.current = null;\n })}\n />\n </ScrollbarProvider>\n );\n});\n"],"names":["forwardRef","useScrollAreaContext","React","useMergedRef","useCallbackRef","useDebounceCallback","useEffect","useResizeObserver","ScrollbarProvider","composeEventHandlers"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useId, useMergedRef, useResizeObserver, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineColor,\n MantineSize,\n MantineRadius,\n useMantineTheme,\n getRadius,\n getThemeColor,\n getSize,\n getFontSize,\n useDirection,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport classes from './SegmentedControl.module.css';\n\nconst WRAPPER_PADDING = 4;\n\nexport type SegmentedControlStylesNames = 'root' | 'input' | 'label' | 'control' | 'indicator';\nexport type SegmentedControlCssVariables = {\n root:\n | '--sc-radius'\n | '--sc-color'\n | '--sc-font-size'\n | '--sc-padding'\n | '--sc-shadow'\n | '--sc-transition-duration'\n | '--sc-transition-timing-function';\n};\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n extends BoxProps,\n StylesApiProps<SegmentedControlFactory>,\n ElementProps<'div', 'onChange'> {\n /** Data based on which controls are rendered */\n data: (string | SegmentedControlItem)[];\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Determines whether the component is disabled */\n disabled?: boolean;\n\n /** Name of the radio group, by default random name is generated */\n name?: string;\n\n /** Determines whether the component should take 100% width of its parent, `false` by default */\n fullWidth?: boolean;\n\n /** Key of `theme.colors` or any valid CSS color, changes color of indicator, by default color is based on current color scheme */\n color?: MantineColor;\n\n /** Controls `font-size`, `padding` and `height` properties, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Indicator `transition-duration` in ms, set `0` to turn off transitions, `200` by default */\n transitionDuration?: number;\n\n /** Indicator `transition-timing-function` property, `ease` by default */\n transitionTimingFunction?: string;\n\n /** Determines in which orientation component id displayed, `'horizontal'` by default */\n orientation?: 'vertical' | 'horizontal';\n\n /** Determines whether the value can be changed */\n readOnly?: boolean;\n}\n\nexport type SegmentedControlFactory = Factory<{\n props: SegmentedControlProps;\n ref: HTMLDivElement;\n stylesNames: SegmentedControlStylesNames;\n vars: SegmentedControlCssVariables;\n}>;\n\nconst defaultProps: Partial<SegmentedControlProps> = {};\n\nconst varsResolver = createVarsResolver<SegmentedControlFactory>(\n (theme, { radius, color, transitionDuration, size, transitionTimingFunction }) => ({\n root: {\n '--sc-radius': radius === undefined ? undefined : getRadius(radius),\n '--sc-color': color ? getThemeColor(color, theme) : undefined,\n '--sc-shadow': color ? undefined : 'var(--mantine-shadow-xs)',\n '--sc-transition-duration':\n transitionDuration === undefined ? undefined : `${transitionDuration}ms`,\n '--sc-transition-timing-function': transitionTimingFunction,\n '--sc-padding': getSize(size, 'sc-padding'),\n '--sc-font-size': getFontSize(size),\n },\n })\n);\n\nexport const SegmentedControl = factory<SegmentedControlFactory>((_props, ref) => {\n const props = useProps('SegmentedControl', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n value,\n defaultValue,\n onChange,\n size,\n name,\n disabled,\n readOnly,\n fullWidth,\n orientation,\n radius,\n color,\n transitionDuration,\n transitionTimingFunction,\n variant,\n ...others\n } = props;\n\n const getStyles = useStyles<SegmentedControlFactory>({\n name: 'SegmentedControl',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n const theme = useMantineTheme();\n\n const _data = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? _data.find((item) => !item.disabled)?.value ?? (data[0] as any)?.value ?? null\n : null,\n onChange,\n });\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n if (element) {\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = element.clientWidth * scaledValue || 0;\n const height = element.clientHeight * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement!.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement!.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n dir === 'rtl' ? offsetRight * -1 : offsetLeft,\n element.parentElement!.offsetTop - WRAPPER_PADDING,\n ],\n });\n } else {\n setActivePosition({ width: 0, height: 0, translate: [0, 0] });\n }\n }\n }, [_value, containerRect, dir]);\n\n const controls = _data.map((item) => (\n <Box\n {...getStyles('control')}\n mod={{ active: _value === item.value, orientation }}\n key={item.value}\n >\n <input\n {...getStyles('input')}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => !readOnly && handleValueChange(item.value)}\n data-focus-ring={theme.focusRing}\n />\n\n <Box\n component=\"label\"\n {...getStyles('label')}\n mod={{\n active: _value === item.value && !(disabled || item.disabled),\n disabled: disabled || item.disabled,\n }}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node!;\n }}\n __vars={{\n '--sc-label-color': color !== undefined ? 'var(--mantine-color-white)' : undefined,\n }}\n >\n {item.label}\n </Box>\n </Box>\n ));\n\n const mergedRef = useMergedRef(observerRef, ref);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box\n {...getStyles('root')}\n variant={variant}\n size={size}\n ref={mergedRef}\n mod={{ 'full-width': fullWidth, orientation }}\n {...others}\n role=\"radiogroup\"\n >\n {typeof _value === 'string' && (\n <Box\n component=\"span\"\n {...getStyles('indicator')}\n __vars={{\n '--sc-indicator-width': `${activePosition.width}px`,\n '--sc-indicator-height': `${activePosition.height}px`,\n '--sc-indicator-transform': `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px)`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.classes = classes;\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":["createVarsResolver","getRadius","getThemeColor","getSize","getFontSize","factory","useProps","useStyles","classes","useDirection","useMantineTheme","useUncontrolled","useState","useId","useRef","useResizeObserver","useEffect","React","Box","useMergedRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useId, useMergedRef, useResizeObserver, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineColor,\n MantineSize,\n MantineRadius,\n useMantineTheme,\n getRadius,\n getThemeColor,\n getSize,\n getFontSize,\n useDirection,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport classes from './SegmentedControl.module.css';\n\nconst WRAPPER_PADDING = 4;\n\nexport type SegmentedControlStylesNames = 'root' | 'input' | 'label' | 'control' | 'indicator';\nexport type SegmentedControlCssVariables = {\n root:\n | '--sc-radius'\n | '--sc-color'\n | '--sc-font-size'\n | '--sc-padding'\n | '--sc-shadow'\n | '--sc-transition-duration'\n | '--sc-transition-timing-function';\n};\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps\n extends BoxProps,\n StylesApiProps<SegmentedControlFactory>,\n ElementProps<'div', 'onChange'> {\n /** Data based on which controls are rendered */\n data: (string | SegmentedControlItem)[];\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?: (value: string) => void;\n\n /** Determines whether the component is disabled */\n disabled?: boolean;\n\n /** Name of the radio group, by default random name is generated */\n name?: string;\n\n /** Determines whether the component should take 100% width of its parent, `false` by default */\n fullWidth?: boolean;\n\n /** Key of `theme.colors` or any valid CSS color, changes color of indicator, by default color is based on current color scheme */\n color?: MantineColor;\n\n /** Controls `font-size`, `padding` and `height` properties, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Indicator `transition-duration` in ms, set `0` to turn off transitions, `200` by default */\n transitionDuration?: number;\n\n /** Indicator `transition-timing-function` property, `ease` by default */\n transitionTimingFunction?: string;\n\n /** Determines in which orientation component id displayed, `'horizontal'` by default */\n orientation?: 'vertical' | 'horizontal';\n\n /** Determines whether the value can be changed */\n readOnly?: boolean;\n}\n\nexport type SegmentedControlFactory = Factory<{\n props: SegmentedControlProps;\n ref: HTMLDivElement;\n stylesNames: SegmentedControlStylesNames;\n vars: SegmentedControlCssVariables;\n}>;\n\nconst defaultProps: Partial<SegmentedControlProps> = {};\n\nconst varsResolver = createVarsResolver<SegmentedControlFactory>(\n (theme, { radius, color, transitionDuration, size, transitionTimingFunction }) => ({\n root: {\n '--sc-radius': radius === undefined ? undefined : getRadius(radius),\n '--sc-color': color ? getThemeColor(color, theme) : undefined,\n '--sc-shadow': color ? undefined : 'var(--mantine-shadow-xs)',\n '--sc-transition-duration':\n transitionDuration === undefined ? undefined : `${transitionDuration}ms`,\n '--sc-transition-timing-function': transitionTimingFunction,\n '--sc-padding': getSize(size, 'sc-padding'),\n '--sc-font-size': getFontSize(size),\n },\n })\n);\n\nexport const SegmentedControl = factory<SegmentedControlFactory>((_props, ref) => {\n const props = useProps('SegmentedControl', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n value,\n defaultValue,\n onChange,\n size,\n name,\n disabled,\n readOnly,\n fullWidth,\n orientation,\n radius,\n color,\n transitionDuration,\n transitionTimingFunction,\n variant,\n ...others\n } = props;\n\n const getStyles = useStyles<SegmentedControlFactory>({\n name: 'SegmentedControl',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { dir } = useDirection();\n const theme = useMantineTheme();\n\n const _data = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? _data.find((item) => !item.disabled)?.value ?? (data[0] as any)?.value ?? null\n : null,\n onChange,\n });\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n if (element) {\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = element.clientWidth * scaledValue || 0;\n const height = element.clientHeight * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement!.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement!.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n dir === 'rtl' ? offsetRight * -1 : offsetLeft,\n element.parentElement!.offsetTop - WRAPPER_PADDING,\n ],\n });\n } else {\n setActivePosition({ width: 0, height: 0, translate: [0, 0] });\n }\n }\n }, [_value, containerRect, dir]);\n\n const controls = _data.map((item) => (\n <Box\n {...getStyles('control')}\n mod={{ active: _value === item.value, orientation }}\n key={item.value}\n >\n <input\n {...getStyles('input')}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => !readOnly && handleValueChange(item.value)}\n data-focus-ring={theme.focusRing}\n />\n\n <Box\n component=\"label\"\n {...getStyles('label')}\n mod={{\n active: _value === item.value && !(disabled || item.disabled),\n disabled: disabled || item.disabled,\n }}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node!;\n }}\n __vars={{\n '--sc-label-color': color !== undefined ? 'var(--mantine-color-white)' : undefined,\n }}\n >\n {item.label}\n </Box>\n </Box>\n ));\n\n const mergedRef = useMergedRef(observerRef, ref);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box\n {...getStyles('root')}\n variant={variant}\n size={size}\n ref={mergedRef}\n mod={{ 'full-width': fullWidth, orientation }}\n {...others}\n role=\"radiogroup\"\n >\n {typeof _value === 'string' && (\n <Box\n component=\"span\"\n {...getStyles('indicator')}\n __vars={{\n '--sc-indicator-width': `${activePosition.width}px`,\n '--sc-indicator-height': `${activePosition.height}px`,\n '--sc-indicator-transform': `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px)`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.classes = classes;\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":["createVarsResolver","getRadius","getThemeColor","getSize","getFontSize","factory","useProps","useStyles","classes","useDirection","useMantineTheme","useUncontrolled","useState","useId","useRef","useResizeObserver","useEffect","React","Box","useMergedRef"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?(value: string | null): void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?(value: string): void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value].label : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?: (value: string | null) => void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value].label : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAgBF,MAAM,YAAY,GAAG;AACrB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,iBAAiB,EAAE,MAAM;AAC3B,CAAC,CAAC;AACU,MAAC,MAAM,GAAGA,eAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC/C,EAAE,MAAM,KAAK,GAAGC,iBAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACzD,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,qBAAqB;AACzB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,yBAAyB;AAC7B,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,aAAa;AACjB,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,KAAK;AACT,IAAI,yBAAyB;AAC7B,IAAI,EAAE;AACN,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,uBAAuB;AAC3B,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,2BAA2B;AAC/B,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,eAAe;AACnB,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,oBAAoB;AACxB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,IAAI,2BAA2B;AAC/B,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAMC,2CAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,EAAE,MAAM,aAAa,GAAGD,aAAO,CAAC,MAAME,iCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAClF,EAAE,MAAM,GAAG,GAAGC,WAAK,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,qBAAe,CAAC;AAC9C,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,YAAY,EAAE,kBAAkB;AACpC,IAAI,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC,KAAK,GAAG,EAAE;AAC1D,IAAI,QAAQ,EAAE,cAAc;AAC5B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAGC,uBAAW,CAAC;AAC/B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,aAAa,EAAE,qBAAqB;AACxC,IAAI,cAAc;AAClB,IAAI,eAAe,EAAE,MAAM;AAC3B,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAC3D,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACrC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAGC,yCAAoB,CAAC;AACtE,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,yBAAyB,EAAE;AACnC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,EAAE;AACrD,MAAM,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,KAAK;AACL,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,oBAAoBC,cAAK,CAAC,aAAa;AAC5G,IAAIC,iBAAQ,CAAC,WAAW;AACxB,IAAI,aAAa,CAAC,cAAc,CAAC;AACjC,MAAM,IAAI;AACV,KAAK,EAAE,gBAAgB,CAAC,EAAE;AAC1B,MAAM,OAAO,EAAE,MAAM;AACrB,QAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,QAAQ,SAAS,CAAC,EAAE,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkBA,cAAK,CAAC,aAAa;AACtG,IAAIC,iBAAQ;AACZ,IAAI,cAAc,CAAC;AACnB,MAAM,KAAK,EAAE,QAAQ;AACrB,MAAM,gBAAgB,EAAE,QAAQ;AAChC,MAAM,UAAU,EAAE,kBAAkB;AACpC,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,cAAc,EAAE,CAAC,GAAG,KAAK;AAC/B,QAAQ,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAC9D,QAAQ,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3I,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5B,QAAQ,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC7D,QAAQ,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,OAAO;AACP,MAAM,IAAI;AACV,KAAK,EAAE,aAAa,CAAC;AACrB,oBAAoBD,cAAK,CAAC,aAAa,CAACC,iBAAQ,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EAAE,kBAAkBD,cAAK,CAAC,aAAa;AAC7I,MAAME,mBAAS;AACf,MAAM,aAAa,CAAC,cAAc,CAAC;AACnC,QAAQ,EAAE,EAAE,GAAG;AACf,QAAQ,GAAG;AACX,QAAQ,YAAY,EAAE,YAAY,IAAI,WAAW,oBAAoBF,cAAK,CAAC,aAAa,CAACC,iBAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACrI,QAAQ,yBAAyB,EAAE,yBAAyB,IAAI,WAAW,GAAG,KAAK,GAAG,MAAM;AAC5F,OAAO,EAAE,MAAM,CAAC,EAAE;AAClB,QAAQ,IAAI;AACZ,QAAQ,gBAAgB,EAAE,QAAQ;AAClC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,QAAQ,IAAI,CAAC,UAAU;AACzC,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,QAAQ,EAAE,CAAC,KAAK,KAAK;AAC7B,UAAU,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/C,UAAU,QAAQ,CAAC,YAAY,EAAE,CAAC;AAClC,UAAU,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;AACpE,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;AAChD,UAAU,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,KAAK,KAAK;AAC3B,UAAU,UAAU,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjD,UAAU,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC/D,UAAU,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC3E,UAAU,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE,kBAAkB;AACtC,QAAQ,MAAM,EAAE,cAAc;AAC9B,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,UAAU;AAC5B,QAAQ,KAAK;AACb,OAAO,CAAC;AACR,KAAK,CAAC;AACN,oBAAoBD,cAAK,CAAC,aAAa;AACvC,MAAMG,+BAAe;AACrB,MAAM;AACN,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,MAAM,EAAE,QAAQ,IAAI,QAAQ;AACpC,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,eAAe,EAAE,CAAC,UAAU,IAAI,CAAC,mBAAmB;AAC5D,QAAQ,cAAc;AACtB,QAAQ,iBAAiB;AACzB,QAAQ,aAAa,EAAE,UAAU,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,MAAM,MAAM;AACxG,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,iBAAiB;AACzB,QAAQ,aAAa;AACrB,QAAQ,mBAAmB;AAC3B,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;AAC/B,OAAO;AACP,KAAK;AACL,GAAG,kBAAkBH,cAAK,CAAC,aAAa;AACxC,IAAI,OAAO;AACX,IAAI,cAAc,CAAC;AACnB,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI;AACV,MAAM,KAAK,EAAE,MAAM,IAAI,EAAE;AACzB,MAAM,IAAI;AACV,MAAM,QAAQ;AACd,KAAK,EAAE,gBAAgB,CAAC;AACxB,GAAG,CAAC,CAAC;AACL,CAAC,EAAE;AACH,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAEE,mBAAS,CAAC,OAAO,CAAC,EAAED,iBAAQ,CAAC,OAAO,CAAC,CAAC;AACzF,MAAM,CAAC,WAAW,GAAG,sBAAsB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeSlider.js","sources":["../../../../src/components/Slider/RangeSlider/RangeSlider.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useMove, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n MantineColor,\n MantineRadius,\n MantineSize,\n useDirection,\n Factory,\n createVarsResolver,\n getSize,\n getThemeColor,\n getRadius,\n rem,\n useStyles,\n} from '../../../core';\nimport { TransitionOverride } from '../../Transition';\nimport { SliderStylesNames, SliderProvider, SliderCssVariables } from '../Slider.context';\nimport { SliderRoot } from '../SliderRoot/SliderRoot';\nimport { Track } from '../Track/Track';\nimport { Thumb } from '../Thumb/Thumb';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { getChangeValue } from '../utils/get-change-value/get-change-value';\nimport { getPrecision } from '../utils/get-precision/get-precision';\nimport { getFloatingValue } from '../utils/get-floating-value/get-gloating-value';\nimport { getClientPosition } from '../utils/get-client-position/get-client-position';\nimport classes from '../Slider.module.css';\n\nexport type RangeSliderValue = [number, number];\n\nexport interface RangeSliderProps\n extends BoxProps,\n StylesApiProps<RangeSliderFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n /** Key of `theme.colors` or any valid CSS color, controls color of track and thumb, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Controls size of the track, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n\n /** Minimal possible value, `0` by default */\n min?: number;\n\n /** Maximum possible value, `100` by default */\n max?: number;\n\n /** Number by which value will be incremented/decremented with thumb drag and arrows, `1` by default */\n step?: number;\n\n /** Number of significant digits after the decimal point */\n precision?: number;\n\n /** Controlled component value */\n value?: RangeSliderValue;\n\n /** Uncontrolled component default value */\n defaultValue?: RangeSliderValue;\n\n /** Called when value changes */\n onChange?(value: RangeSliderValue): void;\n\n /** Called when user stops dragging slider or changes value with arrows */\n onChangeEnd?(value: RangeSliderValue): void;\n\n /** Hidden input name, use with uncontrolled component */\n name?: string;\n\n /** Marks displayed on the track */\n marks?: { value: number; label?: React.ReactNode }[];\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, `{ transition: 'fade', duration: 0 }` by default */\n labelTransitionProps?: TransitionOverride;\n\n /** Determines whether the label should be visible when the slider is not being dragged or hovered, `false` by default */\n labelAlwaysOn?: boolean;\n\n /** Determines whether thumb label should be displayed when the slider is hovered, `true` by default */\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 values representation should be inverted, `false` by default */\n inverted?: boolean;\n\n /** Minimal range interval, `10` by default */\n minRange?: number;\n\n /** Maximum range interval, `Infinity` by default */\n maxRange?: number;\n\n /** First thumb `aria-label` */\n thumbFromLabel?: string;\n\n /** Second thumb `aria-label` */\n thumbToLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type RangeSliderFactory = Factory<{\n props: RangeSliderProps;\n ref: HTMLDivElement;\n stylesNames: SliderStylesNames;\n vars: SliderCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<RangeSliderFactory>(\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\nconst defaultProps: Partial<RangeSliderProps> = {\n min: 0,\n max: 100,\n minRange: 10,\n step: 1,\n marks: [],\n label: (f) => f,\n labelTransitionProps: { transition: 'fade', duration: 0 },\n labelAlwaysOn: false,\n showLabelOnHover: true,\n disabled: false,\n scale: (v) => v,\n};\n\nexport const RangeSlider = factory<RangeSliderFactory>((_props, ref) => {\n const props = useProps('RangeSlider', defaultProps, _props);\n const {\n classNames,\n styles,\n value,\n onChange,\n onChangeEnd,\n size,\n min,\n max,\n minRange,\n maxRange,\n step,\n precision: _precision,\n defaultValue,\n name,\n marks,\n label,\n labelTransitionProps,\n labelAlwaysOn,\n thumbFromLabel,\n thumbToLabel,\n showLabelOnHover,\n thumbChildren,\n disabled,\n unstyled,\n scale,\n inverted,\n className,\n style,\n vars,\n hiddenInputProps,\n ...others\n } = props;\n\n const getStyles = useStyles<RangeSliderFactory>({\n name: 'Slider',\n props,\n classes,\n classNames,\n className,\n styles,\n style,\n vars,\n varsResolver,\n unstyled,\n });\n\n const { dir } = useDirection();\n const [focused, setFocused] = useState(-1);\n const [hovered, setHovered] = useState(false);\n const [_value, setValue] = useUncontrolled<RangeSliderValue>({\n value,\n defaultValue,\n finalValue: [min!, max!],\n onChange,\n });\n const valueRef = useRef(_value);\n const thumbs = useRef<HTMLDivElement[]>([]);\n const thumbIndex = useRef<number | undefined>(undefined);\n const positions = [\n getPosition({ value: _value[0], min: min!, max: max! }),\n getPosition({ value: _value[1], min: min!, max: max! }),\n ];\n\n const precision = _precision ?? getPrecision(step!);\n\n const _setValue = (val: RangeSliderValue) => {\n setValue(val);\n valueRef.current = val;\n };\n\n useEffect(\n () => {\n if (Array.isArray(value)) {\n valueRef.current = value;\n }\n },\n Array.isArray(value) ? [value[0], value[1]] : [null, null]\n );\n\n const setRangedValue = (val: number, index: number, triggerChangeEnd: boolean) => {\n const clone: RangeSliderValue = [...valueRef.current];\n clone[index] = val;\n\n if (index === 0) {\n if (val > clone[1] - (minRange! - 0.000000001)) {\n clone[1] = Math.min(val + minRange!, max!);\n }\n\n if (val > (max! - (minRange! - 0.000000001) || min!)) {\n clone[index] = valueRef.current[index];\n }\n\n if (clone[1] - val > maxRange!) {\n clone[1] = val + maxRange!;\n }\n }\n\n if (index === 1) {\n if (val < clone[0] + minRange!) {\n clone[0] = Math.max(val - minRange!, min!);\n }\n\n if (val < clone[0] + minRange!) {\n clone[index] = valueRef.current[index];\n }\n\n if (val - clone[0] > maxRange!) {\n clone[0] = val - maxRange!;\n }\n }\n\n clone[0] = getFloatingValue(clone[0], precision);\n clone[1] = getFloatingValue(clone[1], precision);\n\n _setValue(clone);\n\n if (triggerChangeEnd) {\n onChangeEnd?.(valueRef.current);\n }\n };\n\n const handleChange = (val: number) => {\n if (!disabled) {\n const nextValue = getChangeValue({\n value: val,\n min: min!,\n max: max!,\n step: step!,\n precision,\n });\n setRangedValue(nextValue, thumbIndex.current!, false);\n }\n };\n\n const { ref: container, active } = useMove(\n ({ x }) => handleChange(x),\n { onScrubEnd: () => onChangeEnd?.(valueRef.current) },\n dir\n );\n\n function handleThumbMouseDown(index: number) {\n thumbIndex.current = index;\n }\n\n const handleTrackMouseDownCapture = (\n event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>\n ) => {\n container.current!.focus();\n const rect = container.current!.getBoundingClientRect();\n const changePosition = getClientPosition(event.nativeEvent);\n const changeValue = getChangeValue({\n value: changePosition - rect.left,\n max: max!,\n min: min!,\n step: step!,\n containerWidth: rect.width,\n });\n\n const nearestHandle =\n Math.abs(_value[0] - changeValue) > Math.abs(_value[1] - changeValue) ? 1 : 0;\n const _nearestHandle = dir === 'ltr' ? nearestHandle : nearestHandle === 1 ? 0 : 1;\n\n thumbIndex.current = _nearestHandle;\n };\n\n const getFocusedThumbIndex = () => {\n if (focused !== 1 && focused !== 0) {\n setFocused(0);\n return 0;\n }\n\n return focused;\n };\n\n const handleTrackKeydownCapture = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(Math.max(valueRef.current[focusedIndex] + step!, min!), max!),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(\n Math.max(\n dir === 'rtl'\n ? valueRef.current[focusedIndex] - step!\n : valueRef.current[focusedIndex] + step!,\n min!\n ),\n max!\n ),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(Math.max(valueRef.current[focusedIndex] - step!, min!), max!),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(\n Math.max(\n dir === 'rtl'\n ? valueRef.current[focusedIndex] + step!\n : valueRef.current[focusedIndex] - step!,\n min!\n ),\n max!\n ),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n\n default: {\n break;\n }\n }\n }\n };\n\n const sharedThumbProps = {\n max: max!,\n min: min!,\n size,\n labelTransitionProps,\n labelAlwaysOn,\n onBlur: () => setFocused(-1),\n };\n\n const hasArrayThumbChildren = Array.isArray(thumbChildren);\n\n return (\n <SliderProvider value={{ getStyles }}>\n <SliderRoot {...others} size={size!} ref={ref} disabled={disabled}>\n <Track\n offset={positions[0]}\n marksOffset={_value[0]}\n filled={positions[1] - positions[0]}\n marks={marks}\n inverted={inverted}\n min={min!}\n max={max!}\n value={_value[1]}\n disabled={disabled}\n containerProps={{\n ref: container as any,\n onMouseEnter: showLabelOnHover ? () => setHovered(true) : undefined,\n onMouseLeave: showLabelOnHover ? () => setHovered(false) : undefined,\n onTouchStartCapture: handleTrackMouseDownCapture,\n onTouchEndCapture: () => {\n thumbIndex.current = -1;\n },\n onMouseDownCapture: handleTrackMouseDownCapture,\n onMouseUpCapture: () => {\n thumbIndex.current = -1;\n },\n onKeyDownCapture: handleTrackKeydownCapture,\n }}\n >\n <Thumb\n {...sharedThumbProps}\n value={scale!(_value[0])}\n position={positions[0]}\n dragging={active}\n label={\n typeof label === 'function'\n ? label(getFloatingValue(scale!(_value[0]), precision))\n : label\n }\n ref={(node) => {\n thumbs.current[0] = node!;\n }}\n thumbLabel={thumbFromLabel}\n onMouseDown={() => handleThumbMouseDown(0)}\n onFocus={() => setFocused(0)}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n >\n {hasArrayThumbChildren ? thumbChildren[0] : thumbChildren}\n </Thumb>\n\n <Thumb\n {...sharedThumbProps}\n thumbLabel={thumbToLabel}\n value={scale!(_value[1])}\n position={positions[1]}\n dragging={active}\n label={\n typeof label === 'function'\n ? label(getFloatingValue(scale!(_value[1]), precision))\n : label\n }\n ref={(node) => {\n thumbs.current[1] = node!;\n }}\n onMouseDown={() => handleThumbMouseDown(1)}\n onFocus={() => setFocused(1)}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n >\n {hasArrayThumbChildren ? thumbChildren[1] : thumbChildren}\n </Thumb>\n </Track>\n\n <input type=\"hidden\" name={`${name}_from`} value={_value[0]} {...hiddenInputProps} />\n <input type=\"hidden\" name={`${name}_to`} value={_value[1]} {...hiddenInputProps} />\n </SliderRoot>\n </SliderProvider>\n );\n});\n\nRangeSlider.classes = classes;\nRangeSlider.displayName = '@mantine/core/RangeSlider';\n"],"names":["createVarsResolver","getSize","getThemeColor","getRadius","rem","factory","useProps","useStyles","classes","useDirection","useState","useUncontrolled","useRef","getPosition","getPrecision","useEffect","getFloatingValue","getChangeValue","useMove","getClientPosition","React","SliderProvider","SliderRoot","Track","Thumb"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RangeSlider.js","sources":["../../../../src/components/Slider/RangeSlider/RangeSlider.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { useMove, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n MantineColor,\n MantineRadius,\n MantineSize,\n useDirection,\n Factory,\n createVarsResolver,\n getSize,\n getThemeColor,\n getRadius,\n rem,\n useStyles,\n} from '../../../core';\nimport { TransitionOverride } from '../../Transition';\nimport { SliderStylesNames, SliderProvider, SliderCssVariables } from '../Slider.context';\nimport { SliderRoot } from '../SliderRoot/SliderRoot';\nimport { Track } from '../Track/Track';\nimport { Thumb } from '../Thumb/Thumb';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { getChangeValue } from '../utils/get-change-value/get-change-value';\nimport { getPrecision } from '../utils/get-precision/get-precision';\nimport { getFloatingValue } from '../utils/get-floating-value/get-gloating-value';\nimport { getClientPosition } from '../utils/get-client-position/get-client-position';\nimport classes from '../Slider.module.css';\n\nexport type RangeSliderValue = [number, number];\n\nexport interface RangeSliderProps\n extends BoxProps,\n StylesApiProps<RangeSliderFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n /** Key of `theme.colors` or any valid CSS color, controls color of track and thumb, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Controls size of the track, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n\n /** Minimal possible value, `0` by default */\n min?: number;\n\n /** Maximum possible value, `100` by default */\n max?: number;\n\n /** Number by which value will be incremented/decremented with thumb drag and arrows, `1` by default */\n step?: number;\n\n /** Number of significant digits after the decimal point */\n precision?: number;\n\n /** Controlled component value */\n value?: RangeSliderValue;\n\n /** Uncontrolled component default value */\n defaultValue?: RangeSliderValue;\n\n /** Called when value changes */\n onChange?: (value: RangeSliderValue) => void;\n\n /** Called when user stops dragging slider or changes value with arrows */\n onChangeEnd?: (value: RangeSliderValue) => void;\n\n /** Hidden input name, use with uncontrolled component */\n name?: string;\n\n /** Marks displayed on the track */\n marks?: { value: number; label?: React.ReactNode }[];\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, `{ transition: 'fade', duration: 0 }` by default */\n labelTransitionProps?: TransitionOverride;\n\n /** Determines whether the label should be visible when the slider is not being dragged or hovered, `false` by default */\n labelAlwaysOn?: boolean;\n\n /** Determines whether thumb label should be displayed when the slider is hovered, `true` by default */\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 values representation should be inverted, `false` by default */\n inverted?: boolean;\n\n /** Minimal range interval, `10` by default */\n minRange?: number;\n\n /** Maximum range interval, `Infinity` by default */\n maxRange?: number;\n\n /** First thumb `aria-label` */\n thumbFromLabel?: string;\n\n /** Second thumb `aria-label` */\n thumbToLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type RangeSliderFactory = Factory<{\n props: RangeSliderProps;\n ref: HTMLDivElement;\n stylesNames: SliderStylesNames;\n vars: SliderCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<RangeSliderFactory>(\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\nconst defaultProps: Partial<RangeSliderProps> = {\n min: 0,\n max: 100,\n minRange: 10,\n step: 1,\n marks: [],\n label: (f) => f,\n labelTransitionProps: { transition: 'fade', duration: 0 },\n labelAlwaysOn: false,\n showLabelOnHover: true,\n disabled: false,\n scale: (v) => v,\n};\n\nexport const RangeSlider = factory<RangeSliderFactory>((_props, ref) => {\n const props = useProps('RangeSlider', defaultProps, _props);\n const {\n classNames,\n styles,\n value,\n onChange,\n onChangeEnd,\n size,\n min,\n max,\n minRange,\n maxRange,\n step,\n precision: _precision,\n defaultValue,\n name,\n marks,\n label,\n labelTransitionProps,\n labelAlwaysOn,\n thumbFromLabel,\n thumbToLabel,\n showLabelOnHover,\n thumbChildren,\n disabled,\n unstyled,\n scale,\n inverted,\n className,\n style,\n vars,\n hiddenInputProps,\n ...others\n } = props;\n\n const getStyles = useStyles<RangeSliderFactory>({\n name: 'Slider',\n props,\n classes,\n classNames,\n className,\n styles,\n style,\n vars,\n varsResolver,\n unstyled,\n });\n\n const { dir } = useDirection();\n const [focused, setFocused] = useState(-1);\n const [hovered, setHovered] = useState(false);\n const [_value, setValue] = useUncontrolled<RangeSliderValue>({\n value,\n defaultValue,\n finalValue: [min!, max!],\n onChange,\n });\n const valueRef = useRef(_value);\n const thumbs = useRef<HTMLDivElement[]>([]);\n const thumbIndex = useRef<number | undefined>(undefined);\n const positions = [\n getPosition({ value: _value[0], min: min!, max: max! }),\n getPosition({ value: _value[1], min: min!, max: max! }),\n ];\n\n const precision = _precision ?? getPrecision(step!);\n\n const _setValue = (val: RangeSliderValue) => {\n setValue(val);\n valueRef.current = val;\n };\n\n useEffect(\n () => {\n if (Array.isArray(value)) {\n valueRef.current = value;\n }\n },\n Array.isArray(value) ? [value[0], value[1]] : [null, null]\n );\n\n const setRangedValue = (val: number, index: number, triggerChangeEnd: boolean) => {\n const clone: RangeSliderValue = [...valueRef.current];\n clone[index] = val;\n\n if (index === 0) {\n if (val > clone[1] - (minRange! - 0.000000001)) {\n clone[1] = Math.min(val + minRange!, max!);\n }\n\n if (val > (max! - (minRange! - 0.000000001) || min!)) {\n clone[index] = valueRef.current[index];\n }\n\n if (clone[1] - val > maxRange!) {\n clone[1] = val + maxRange!;\n }\n }\n\n if (index === 1) {\n if (val < clone[0] + minRange!) {\n clone[0] = Math.max(val - minRange!, min!);\n }\n\n if (val < clone[0] + minRange!) {\n clone[index] = valueRef.current[index];\n }\n\n if (val - clone[0] > maxRange!) {\n clone[0] = val - maxRange!;\n }\n }\n\n clone[0] = getFloatingValue(clone[0], precision);\n clone[1] = getFloatingValue(clone[1], precision);\n\n _setValue(clone);\n\n if (triggerChangeEnd) {\n onChangeEnd?.(valueRef.current);\n }\n };\n\n const handleChange = (val: number) => {\n if (!disabled) {\n const nextValue = getChangeValue({\n value: val,\n min: min!,\n max: max!,\n step: step!,\n precision,\n });\n setRangedValue(nextValue, thumbIndex.current!, false);\n }\n };\n\n const { ref: container, active } = useMove(\n ({ x }) => handleChange(x),\n { onScrubEnd: () => onChangeEnd?.(valueRef.current) },\n dir\n );\n\n function handleThumbMouseDown(index: number) {\n thumbIndex.current = index;\n }\n\n const handleTrackMouseDownCapture = (\n event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>\n ) => {\n container.current!.focus();\n const rect = container.current!.getBoundingClientRect();\n const changePosition = getClientPosition(event.nativeEvent);\n const changeValue = getChangeValue({\n value: changePosition - rect.left,\n max: max!,\n min: min!,\n step: step!,\n containerWidth: rect.width,\n });\n\n const nearestHandle =\n Math.abs(_value[0] - changeValue) > Math.abs(_value[1] - changeValue) ? 1 : 0;\n const _nearestHandle = dir === 'ltr' ? nearestHandle : nearestHandle === 1 ? 0 : 1;\n\n thumbIndex.current = _nearestHandle;\n };\n\n const getFocusedThumbIndex = () => {\n if (focused !== 1 && focused !== 0) {\n setFocused(0);\n return 0;\n }\n\n return focused;\n };\n\n const handleTrackKeydownCapture = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(Math.max(valueRef.current[focusedIndex] + step!, min!), max!),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(\n Math.max(\n dir === 'rtl'\n ? valueRef.current[focusedIndex] - step!\n : valueRef.current[focusedIndex] + step!,\n min!\n ),\n max!\n ),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(Math.max(valueRef.current[focusedIndex] - step!, min!), max!),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n const focusedIndex = getFocusedThumbIndex();\n thumbs.current[focusedIndex].focus();\n setRangedValue(\n getFloatingValue(\n Math.min(\n Math.max(\n dir === 'rtl'\n ? valueRef.current[focusedIndex] + step!\n : valueRef.current[focusedIndex] - step!,\n min!\n ),\n max!\n ),\n precision\n ),\n focusedIndex,\n true\n );\n break;\n }\n\n default: {\n break;\n }\n }\n }\n };\n\n const sharedThumbProps = {\n max: max!,\n min: min!,\n size,\n labelTransitionProps,\n labelAlwaysOn,\n onBlur: () => setFocused(-1),\n };\n\n const hasArrayThumbChildren = Array.isArray(thumbChildren);\n\n return (\n <SliderProvider value={{ getStyles }}>\n <SliderRoot {...others} size={size!} ref={ref} disabled={disabled}>\n <Track\n offset={positions[0]}\n marksOffset={_value[0]}\n filled={positions[1] - positions[0]}\n marks={marks}\n inverted={inverted}\n min={min!}\n max={max!}\n value={_value[1]}\n disabled={disabled}\n containerProps={{\n ref: container as any,\n onMouseEnter: showLabelOnHover ? () => setHovered(true) : undefined,\n onMouseLeave: showLabelOnHover ? () => setHovered(false) : undefined,\n onTouchStartCapture: handleTrackMouseDownCapture,\n onTouchEndCapture: () => {\n thumbIndex.current = -1;\n },\n onMouseDownCapture: handleTrackMouseDownCapture,\n onMouseUpCapture: () => {\n thumbIndex.current = -1;\n },\n onKeyDownCapture: handleTrackKeydownCapture,\n }}\n >\n <Thumb\n {...sharedThumbProps}\n value={scale!(_value[0])}\n position={positions[0]}\n dragging={active}\n label={\n typeof label === 'function'\n ? label(getFloatingValue(scale!(_value[0]), precision))\n : label\n }\n ref={(node) => {\n thumbs.current[0] = node!;\n }}\n thumbLabel={thumbFromLabel}\n onMouseDown={() => handleThumbMouseDown(0)}\n onFocus={() => setFocused(0)}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n >\n {hasArrayThumbChildren ? thumbChildren[0] : thumbChildren}\n </Thumb>\n\n <Thumb\n {...sharedThumbProps}\n thumbLabel={thumbToLabel}\n value={scale!(_value[1])}\n position={positions[1]}\n dragging={active}\n label={\n typeof label === 'function'\n ? label(getFloatingValue(scale!(_value[1]), precision))\n : label\n }\n ref={(node) => {\n thumbs.current[1] = node!;\n }}\n onMouseDown={() => handleThumbMouseDown(1)}\n onFocus={() => setFocused(1)}\n showLabelOnHover={showLabelOnHover}\n isHovered={hovered}\n disabled={disabled}\n >\n {hasArrayThumbChildren ? thumbChildren[1] : thumbChildren}\n </Thumb>\n </Track>\n\n <input type=\"hidden\" name={`${name}_from`} value={_value[0]} {...hiddenInputProps} />\n <input type=\"hidden\" name={`${name}_to`} value={_value[1]} {...hiddenInputProps} />\n </SliderRoot>\n </SliderProvider>\n );\n});\n\nRangeSlider.classes = classes;\nRangeSlider.displayName = '@mantine/core/RangeSlider';\n"],"names":["createVarsResolver","getSize","getThemeColor","getRadius","rem","factory","useProps","useStyles","classes","useDirection","useState","useUncontrolled","useRef","getPosition","getPrecision","useEffect","getFloatingValue","getChangeValue","useMove","getClientPosition","React","SliderProvider","SliderRoot","Track","Thumb"],"mappings":"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"}
|