@mantine/core 7.1.2 → 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 +16 -5
- 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 +2 -0
- 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 +38 -9
- package/cjs/components/Rating/Rating.js.map +1 -1
- package/cjs/components/Rating/RatingItem/RatingItem.js +6 -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 +3 -3
- 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 +2 -2
- 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 +17 -6
- 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 +2 -0
- 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 +38 -9
- package/esm/components/Rating/Rating.mjs.map +1 -1
- package/esm/components/Rating/RatingItem/RatingItem.mjs +6 -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 +3 -3
- 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 +2 -2
- package/esm/index.layer.css +2 -2
- package/esm/styles/Paper.css +1 -1
- package/esm/styles/Paper.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 +3 -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":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React from 'react';\nimport { NumericFormat, OnValueChange, NumberFormatValues } from 'react-number-format';\nimport { assignRef, clamp, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n getSize,\n useResolvedStylesApi,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { InputBase } from '../InputBase';\nimport { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';\nimport { NumberInputChevron } from './NumberInputChevron';\nimport classes from './NumberInput.module.css';\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\nfunction isValidNumber(value: number | undefined): value is number {\n return typeof value === 'number' && !Number.isNaN(value);\n}\n\ninterface GetDecrementedValueInput {\n value: number;\n min: number | undefined;\n step: number | undefined;\n allowNegative: boolean | undefined;\n}\n\nfunction getDecrementedValue({ value, min, step = 1, allowNegative }: GetDecrementedValueInput) {\n const nextValue = value - step;\n\n if (min !== undefined && nextValue < min) {\n return min;\n }\n\n if (!allowNegative && nextValue < 0 && min === undefined) {\n return value;\n }\n\n if (min !== undefined && min >= 0 && nextValue <= min) {\n return nextValue;\n }\n\n return nextValue;\n}\n\nfunction isInRange(value: number | undefined, min: number | undefined, max: number | undefined) {\n if (value === undefined) {\n return true;\n }\n\n const minValid = min === undefined || value >= min;\n const maxValid = max === undefined || value <= max;\n\n return minValid && maxValid;\n}\n\nexport type NumberInputStylesNames = 'controls' | 'control' | __InputStylesNames;\nexport type NumberInputCssVariables = {\n controls: '--ni-chevron-size';\n};\n\nexport interface NumberInputProps\n extends BoxProps,\n __BaseInputProps,\n StylesApiProps<NumberInputFactory>,\n ElementProps<'input', 'size' | 'type' | 'onChange'> {\n /** Controlled component value */\n value?: number | string;\n\n /** Uncontrolled component default value */\n defaultValue?: number | string;\n\n /** Called when value changes */\n onChange?(value: number | string): void;\n\n /** Called when value changes with `react-number-format` payload */\n onValueChange?: OnValueChange;\n\n /** Determines whether leading zeros are allowed. If not set, leading zeros are removed when the input is blurred. `false` by default */\n allowLeadingZeros?: boolean;\n\n /** Determines whether negative values are allowed, `true` by default */\n allowNegative?: boolean;\n\n /** Characters which when pressed result in a decimal separator, `['.']` by default */\n allowedDecimalSeparators?: string[];\n\n /** Limits the number of digits that can be entered after the decimal point */\n decimalScale?: number;\n\n /** Character used as a decimal separator, `'.'` by default */\n decimalSeparator?: string;\n\n /** If set, 0s are added after `decimalSeparator` to match given `decimalScale`. `false` by default */\n fixedDecimalScale?: boolean;\n\n /** Prefix added before the input value */\n prefix?: string;\n\n /** Suffix added after the input value */\n suffix?: string;\n\n /** Defines the thousand grouping style. */\n thousandsGroupStyle?: 'thousand' | 'lakh' | 'wan' | 'none';\n\n /** A function to validate the input value. If this function returns `false`, the `onChange` will not be called and the input value will not change. */\n isAllowed?(values: NumberFormatValues): boolean;\n\n /** If value is passed as string representation of numbers (unformatted) and number is used in any format props like in prefix or suffix in numeric format and format prop in pattern format then this should be passed as `true`. `false` by default. */\n valueIsNumericString?: boolean;\n\n /** Controls input `type` attribute, `'text'` by default */\n type?: 'text' | 'tel' | 'password';\n\n /** A character used to separate thousands */\n thousandSeparator?: string | boolean;\n\n /** Minimum possible value */\n min?: number;\n\n /** Maximum possible value */\n max?: number;\n\n /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows, `1` by default */\n step?: number;\n\n /** Determines whether the up/down controls should be hidden, `false` by default */\n hideControls?: boolean;\n\n /** Controls how value is clamped, `strict` – user is not allowed to enter values that are not in `[min, max]` range, `blur` – user is allowed to enter any values, but the value is clamped when the input loses focus (default behavior), `none` – lifts all restrictions, `[min, max]` range is applied only for controls and up/down keys */\n clampBehavior?: 'strict' | 'blur' | 'none';\n\n /** Determines whether decimal values are allowed, `true` by default */\n allowDecimal?: boolean;\n\n /** Increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Value set to the input when increment/decrement buttons are clicked or up/down arrows pressed if the input is empty, `0` by default */\n startValue?: number;\n}\n\nexport type NumberInputFactory = Factory<{\n props: NumberInputProps;\n ref: HTMLDivElement;\n stylesNames: NumberInputStylesNames;\n vars: NumberInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n clampBehavior: 'blur',\n allowDecimal: true,\n allowNegative: true,\n startValue: 0,\n};\n\nconst varsResolver = createVarsResolver<NumberInputFactory>((_, { size }) => ({\n controls: {\n '--ni-chevron-size': getSize(size, 'ni-chevron-size'),\n },\n}));\n\nexport const NumberInput = factory<NumberInputFactory>((_props, ref) => {\n const props = useProps('NumberInput', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n onChange,\n onValueChange,\n value,\n defaultValue,\n max,\n min,\n step,\n hideControls,\n rightSection,\n isAllowed,\n clampBehavior,\n onBlur,\n allowDecimal,\n decimalScale,\n onKeyDown,\n handlersRef,\n startValue,\n disabled,\n rightSectionPointerEvents,\n allowNegative,\n readOnly,\n ...others\n } = props;\n\n const getStyles = useStyles<NumberInputFactory>({\n name: 'NumberInput',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<NumberInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n onChange,\n });\n\n const handleValueChange: OnValueChange = (payload, event) => {\n setValue(\n typeof _value === 'number' && isValidNumber(payload.floatValue)\n ? payload.floatValue\n : payload.value\n );\n onValueChange?.(payload, event);\n };\n\n const increment = () => {\n if (typeof _value !== 'number' || Number.isNaN(_value)) {\n setValue(min ?? clamp(startValue!, min, max));\n } else if (max !== undefined) {\n setValue(_value + step! <= max ? _value + step! : max);\n } else {\n setValue(_value + step!);\n }\n };\n\n const decrement = () => {\n if (typeof _value !== 'number' || Number.isNaN(_value)) {\n setValue(max ?? clamp(startValue!, min, max));\n } else {\n setValue(getDecrementedValue({ value: _value, min, step, allowNegative }));\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (readOnly) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n increment();\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n decrement();\n }\n };\n\n assignRef(handlersRef, { increment, decrement });\n\n const controls = (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={disabled || (typeof _value === 'number' && max !== undefined && _value >= max)}\n mod={{ direction: 'up' }}\n onPointerDown={increment}\n >\n <NumberInputChevron direction=\"up\" />\n </UnstyledButton>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={disabled || (typeof _value === 'number' && min !== undefined && _value <= min)}\n mod={{ direction: 'down' }}\n onPointerDown={decrement}\n >\n <NumberInputChevron direction=\"down\" />\n </UnstyledButton>\n </div>\n );\n\n return (\n <InputBase\n component={NumericFormat}\n allowNegative={allowNegative}\n {...others}\n readOnly={readOnly}\n disabled={disabled}\n value={_value}\n getInputRef={ref}\n onValueChange={handleValueChange}\n rightSection={hideControls || readOnly ? rightSection : rightSection || controls}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n __staticSelector=\"NumberInput\"\n decimalScale={allowDecimal ? decimalScale : 0}\n onKeyDown={handleKeyDown}\n rightSectionPointerEvents={rightSectionPointerEvents ?? disabled ? 'none' : undefined}\n onBlur={(event) => {\n onBlur?.(event);\n if (clampBehavior === 'blur' && typeof _value === 'number') {\n setValue(clamp(_value, min, max));\n }\n }}\n isAllowed={(val) => {\n if (clampBehavior === 'strict') {\n if (isAllowed) {\n return isAllowed(val) && isInRange(val.floatValue, min, max);\n }\n\n return isInRange(val.floatValue, min, max);\n }\n\n return isAllowed ? isAllowed(val) : true;\n }}\n />\n );\n});\n\nNumberInput.classes = { ...InputBase.classes, ...classes };\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["createVarsResolver","getSize","factory","useProps","useStyles","classes","useResolvedStylesApi","useUncontrolled","clamp","assignRef","React","UnstyledButton","NumberInputChevron","InputBase","NumericFormat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React from 'react';\nimport { NumericFormat, OnValueChange, NumberFormatValues } from 'react-number-format';\nimport { assignRef, clamp, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n getSize,\n useResolvedStylesApi,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { InputBase } from '../InputBase';\nimport { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';\nimport { NumberInputChevron } from './NumberInputChevron';\nimport classes from './NumberInput.module.css';\n\nexport interface NumberInputHandlers {\n increment: () => void;\n decrement: () => void;\n}\n\nfunction isValidNumber(value: number | undefined): value is number {\n return typeof value === 'number' && !Number.isNaN(value);\n}\n\ninterface GetDecrementedValueInput {\n value: number;\n min: number | undefined;\n step: number | undefined;\n allowNegative: boolean | undefined;\n}\n\nfunction getDecrementedValue({ value, min, step = 1, allowNegative }: GetDecrementedValueInput) {\n const nextValue = value - step;\n\n if (min !== undefined && nextValue < min) {\n return min;\n }\n\n if (!allowNegative && nextValue < 0 && min === undefined) {\n return value;\n }\n\n if (min !== undefined && min >= 0 && nextValue <= min) {\n return nextValue;\n }\n\n return nextValue;\n}\n\nfunction isInRange(value: number | undefined, min: number | undefined, max: number | undefined) {\n if (value === undefined) {\n return true;\n }\n\n const minValid = min === undefined || value >= min;\n const maxValid = max === undefined || value <= max;\n\n return minValid && maxValid;\n}\n\nexport type NumberInputStylesNames = 'controls' | 'control' | __InputStylesNames;\nexport type NumberInputCssVariables = {\n controls: '--ni-chevron-size';\n};\n\nexport interface NumberInputProps\n extends BoxProps,\n __BaseInputProps,\n StylesApiProps<NumberInputFactory>,\n ElementProps<'input', 'size' | 'type' | 'onChange'> {\n /** Controlled component value */\n value?: number | string;\n\n /** Uncontrolled component default value */\n defaultValue?: number | string;\n\n /** Called when value changes */\n onChange?: (value: number | string) => void;\n\n /** Called when value changes with `react-number-format` payload */\n onValueChange?: OnValueChange;\n\n /** Determines whether leading zeros are allowed. If not set, leading zeros are removed when the input is blurred. `false` by default */\n allowLeadingZeros?: boolean;\n\n /** Determines whether negative values are allowed, `true` by default */\n allowNegative?: boolean;\n\n /** Characters which when pressed result in a decimal separator, `['.']` by default */\n allowedDecimalSeparators?: string[];\n\n /** Limits the number of digits that can be entered after the decimal point */\n decimalScale?: number;\n\n /** Character used as a decimal separator, `'.'` by default */\n decimalSeparator?: string;\n\n /** If set, 0s are added after `decimalSeparator` to match given `decimalScale`. `false` by default */\n fixedDecimalScale?: boolean;\n\n /** Prefix added before the input value */\n prefix?: string;\n\n /** Suffix added after the input value */\n suffix?: string;\n\n /** Defines the thousand grouping style. */\n thousandsGroupStyle?: 'thousand' | 'lakh' | 'wan' | 'none';\n\n /** A function to validate the input value. If this function returns `false`, the `onChange` will not be called and the input value will not change. */\n isAllowed?: (values: NumberFormatValues) => boolean;\n\n /** If value is passed as string representation of numbers (unformatted) and number is used in any format props like in prefix or suffix in numeric format and format prop in pattern format then this should be passed as `true`. `false` by default. */\n valueIsNumericString?: boolean;\n\n /** Controls input `type` attribute, `'text'` by default */\n type?: 'text' | 'tel' | 'password';\n\n /** A character used to separate thousands */\n thousandSeparator?: string | boolean;\n\n /** Minimum possible value */\n min?: number;\n\n /** Maximum possible value */\n max?: number;\n\n /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows, `1` by default */\n step?: number;\n\n /** Determines whether the up/down controls should be hidden, `false` by default */\n hideControls?: boolean;\n\n /** Controls how value is clamped, `strict` – user is not allowed to enter values that are not in `[min, max]` range, `blur` – user is allowed to enter any values, but the value is clamped when the input loses focus (default behavior), `none` – lifts all restrictions, `[min, max]` range is applied only for controls and up/down keys */\n clampBehavior?: 'strict' | 'blur' | 'none';\n\n /** Determines whether decimal values are allowed, `true` by default */\n allowDecimal?: boolean;\n\n /** Increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Value set to the input when increment/decrement buttons are clicked or up/down arrows pressed if the input is empty, `0` by default */\n startValue?: number;\n}\n\nexport type NumberInputFactory = Factory<{\n props: NumberInputProps;\n ref: HTMLDivElement;\n stylesNames: NumberInputStylesNames;\n vars: NumberInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n clampBehavior: 'blur',\n allowDecimal: true,\n allowNegative: true,\n startValue: 0,\n};\n\nconst varsResolver = createVarsResolver<NumberInputFactory>((_, { size }) => ({\n controls: {\n '--ni-chevron-size': getSize(size, 'ni-chevron-size'),\n },\n}));\n\nexport const NumberInput = factory<NumberInputFactory>((_props, ref) => {\n const props = useProps('NumberInput', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n onChange,\n onValueChange,\n value,\n defaultValue,\n max,\n min,\n step,\n hideControls,\n rightSection,\n isAllowed,\n clampBehavior,\n onBlur,\n allowDecimal,\n decimalScale,\n onKeyDown,\n handlersRef,\n startValue,\n disabled,\n rightSectionPointerEvents,\n allowNegative,\n readOnly,\n ...others\n } = props;\n\n const getStyles = useStyles<NumberInputFactory>({\n name: 'NumberInput',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<NumberInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n onChange,\n });\n\n const handleValueChange: OnValueChange = (payload, event) => {\n setValue(\n typeof _value === 'number' && isValidNumber(payload.floatValue)\n ? payload.floatValue\n : payload.value\n );\n onValueChange?.(payload, event);\n };\n\n const increment = () => {\n if (typeof _value !== 'number' || Number.isNaN(_value)) {\n setValue(min ?? clamp(startValue!, min, max));\n } else if (max !== undefined) {\n setValue(_value + step! <= max ? _value + step! : max);\n } else {\n setValue(_value + step!);\n }\n };\n\n const decrement = () => {\n if (typeof _value !== 'number' || Number.isNaN(_value)) {\n setValue(max ?? clamp(startValue!, min, max));\n } else {\n setValue(getDecrementedValue({ value: _value, min, step, allowNegative }));\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (readOnly) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n increment();\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n decrement();\n }\n };\n\n assignRef(handlersRef, { increment, decrement });\n\n const controls = (\n <div {...getStyles('controls')}>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={disabled || (typeof _value === 'number' && max !== undefined && _value >= max)}\n mod={{ direction: 'up' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={increment}\n >\n <NumberInputChevron direction=\"up\" />\n </UnstyledButton>\n <UnstyledButton\n {...getStyles('control')}\n tabIndex={-1}\n aria-hidden\n disabled={disabled || (typeof _value === 'number' && min !== undefined && _value <= min)}\n mod={{ direction: 'down' }}\n onMouseDown={(event) => event.preventDefault()}\n onPointerDown={decrement}\n >\n <NumberInputChevron direction=\"down\" />\n </UnstyledButton>\n </div>\n );\n\n return (\n <InputBase\n component={NumericFormat}\n allowNegative={allowNegative}\n {...others}\n readOnly={readOnly}\n disabled={disabled}\n value={_value}\n getInputRef={ref}\n onValueChange={handleValueChange}\n rightSection={hideControls || readOnly ? rightSection : rightSection || controls}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n __staticSelector=\"NumberInput\"\n decimalScale={allowDecimal ? decimalScale : 0}\n onKeyDown={handleKeyDown}\n rightSectionPointerEvents={rightSectionPointerEvents ?? disabled ? 'none' : undefined}\n onBlur={(event) => {\n onBlur?.(event);\n if (clampBehavior === 'blur' && typeof _value === 'number') {\n setValue(clamp(_value, min, max));\n }\n }}\n isAllowed={(val) => {\n if (clampBehavior === 'strict') {\n if (isAllowed) {\n return isAllowed(val) && isInRange(val.floatValue, min, max);\n }\n\n return isInRange(val.floatValue, min, max);\n }\n\n return isAllowed ? isAllowed(val) : true;\n }}\n />\n );\n});\n\nNumberInput.classes = { ...InputBase.classes, ...classes };\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["createVarsResolver","getSize","factory","useProps","useStyles","classes","useResolvedStylesApi","useUncontrolled","clamp","assignRef","React","UnstyledButton","NumberInputChevron","InputBase","NumericFormat"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.context.js","sources":["../../../src/components/Pagination/Pagination.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { PaginationRootFactory } from './PaginationRoot/PaginationRoot';\n\ninterface PaginationContext {\n total: number;\n range: (number | 'dots')[];\n active: number;\n disabled: boolean | undefined;\n // color: MantineColor;\n // radius: MantineNumberSize;\n getItemProps
|
|
1
|
+
{"version":3,"file":"Pagination.context.js","sources":["../../../src/components/Pagination/Pagination.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '../../core';\nimport type { PaginationRootFactory } from './PaginationRoot/PaginationRoot';\n\ninterface PaginationContext {\n total: number;\n range: (number | 'dots')[];\n active: number;\n disabled: boolean | undefined;\n // color: MantineColor;\n // radius: MantineNumberSize;\n getItemProps?: (page: number) => Record<string, any>;\n onChange: (page: number) => void;\n onNext: () => void;\n onPrevious: () => void;\n onFirst: () => void;\n onLast: () => void;\n getStyles: GetStylesApi<PaginationRootFactory>;\n}\n\nexport const [PaginationProvider, usePaginationContext] = createSafeContext<PaginationContext>(\n 'Pagination.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":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { factory, useProps, Factory, MantineSize } from '../../core';\nimport { Group } from '../Group/Group';\nimport {\n PaginationRoot,\n PaginationRootCssVariables,\n PaginationRootProps,\n PaginationRootStylesNames,\n} from './PaginationRoot/PaginationRoot';\nimport { PaginationControl } from './PaginationControl/PaginationControl';\nimport { PaginationDots } from './PaginationDots/PaginationDots';\nimport {\n PaginationFirst,\n PaginationLast,\n PaginationNext,\n PaginationPrevious,\n} from './PaginationEdges/PaginationEdges';\nimport { PaginationItems } from './PaginationItems/PaginationItems';\nimport { PaginationIcon } from './Pagination.icons';\nimport classes from './Pagination.module.css';\n\nexport type PaginationStylesNames = PaginationRootStylesNames;\nexport type PaginationCssVariables = PaginationRootCssVariables;\n\nexport interface PaginationProps extends PaginationRootProps {\n /** Determines whether first/last controls should be rendered, false by default */\n withEdges?: boolean;\n\n /** Determines whether next/previous controls should be rendered, true by default */\n withControls?: boolean;\n\n /** Adds props to next/previous/first/last controls */\n getControlProps
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { factory, useProps, Factory, MantineSize } from '../../core';\nimport { Group } from '../Group/Group';\nimport {\n PaginationRoot,\n PaginationRootCssVariables,\n PaginationRootProps,\n PaginationRootStylesNames,\n} from './PaginationRoot/PaginationRoot';\nimport { PaginationControl } from './PaginationControl/PaginationControl';\nimport { PaginationDots } from './PaginationDots/PaginationDots';\nimport {\n PaginationFirst,\n PaginationLast,\n PaginationNext,\n PaginationPrevious,\n} from './PaginationEdges/PaginationEdges';\nimport { PaginationItems } from './PaginationItems/PaginationItems';\nimport { PaginationIcon } from './Pagination.icons';\nimport classes from './Pagination.module.css';\n\nexport type PaginationStylesNames = PaginationRootStylesNames;\nexport type PaginationCssVariables = PaginationRootCssVariables;\n\nexport interface PaginationProps extends PaginationRootProps {\n /** Determines whether first/last controls should be rendered, false by default */\n withEdges?: boolean;\n\n /** Determines whether next/previous controls should be rendered, true by default */\n withControls?: boolean;\n\n /** Adds props to next/previous/first/last controls */\n getControlProps?: (control: 'first' | 'previous' | 'last' | 'next') => Record<string, any>;\n\n /** Next control icon component */\n nextIcon?: PaginationIcon;\n\n /** Previous control icon component */\n previousIcon?: PaginationIcon;\n\n /** Last control icon component */\n lastIcon?: PaginationIcon;\n\n /** First control icon component */\n firstIcon?: PaginationIcon;\n\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n\n /** Key of `theme.spacing`, gap between controls, `8` by default */\n gap?: MantineSize | (string & {}) | number;\n}\n\nexport type PaginationFactory = Factory<{\n props: PaginationProps;\n ref: HTMLDivElement;\n stylesNames: PaginationStylesNames;\n vars: PaginationCssVariables;\n staticComponents: {\n Root: typeof PaginationRoot;\n Control: typeof PaginationControl;\n Dots: typeof PaginationDots;\n First: typeof PaginationFirst;\n Last: typeof PaginationLast;\n Next: typeof PaginationNext;\n Previous: typeof PaginationPrevious;\n Items: typeof PaginationItems;\n };\n}>;\n\nconst defaultProps: Partial<PaginationProps> = {\n withControls: true,\n siblings: 1,\n boundaries: 1,\n gap: 8,\n};\n\nexport const Pagination = factory<PaginationFactory>((_props, ref) => {\n const props = useProps('Pagination', defaultProps, _props);\n const {\n withEdges,\n withControls,\n getControlProps,\n nextIcon,\n previousIcon,\n lastIcon,\n firstIcon,\n dotsIcon,\n total,\n gap,\n ...others\n } = props;\n\n if (total <= 0) {\n return null;\n }\n\n return (\n <PaginationRoot ref={ref} total={total} {...others}>\n <Group gap={gap}>\n {withEdges && <PaginationFirst icon={firstIcon} {...getControlProps?.('first')} />}\n {withControls && (\n <PaginationPrevious icon={previousIcon} {...getControlProps?.('previous')} />\n )}\n <PaginationItems dotsIcon={dotsIcon} />\n {withControls && <PaginationNext icon={nextIcon} {...getControlProps?.('next')} />}\n {withEdges && <PaginationLast icon={lastIcon} {...getControlProps?.('last')} />}\n </Group>\n </PaginationRoot>\n );\n});\n\nPagination.classes = classes;\nPagination.displayName = '@mantine/core/Pagination';\nPagination.Root = PaginationRoot;\nPagination.Control = PaginationControl;\nPagination.Dots = PaginationDots;\nPagination.First = PaginationFirst;\nPagination.Last = PaginationLast;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\nPagination.Items = PaginationItems;\n"],"names":["factory","useProps","React","PaginationRoot","Group","PaginationFirst","PaginationPrevious","PaginationItems","PaginationNext","PaginationLast","classes","PaginationControl","PaginationDots"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationRoot.js","sources":["../../../../src/components/Pagination/PaginationRoot/PaginationRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { usePagination } 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 MantineRadius,\n createEventHandler,\n getRadius,\n getSize,\n getFontSize,\n getThemeColor,\n} from '../../../core';\nimport { PaginationProvider } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationRootStylesNames = 'root' | 'control' | 'dots';\nexport type PaginationRootCssVariables = {\n root:\n | '--pagination-control-size'\n | '--pagination-control-radius'\n | '--pagination-control-fz'\n | '--pagination-active-bg';\n};\n\nexport interface PaginationRootProps\n extends BoxProps,\n StylesApiProps<PaginationRootFactory>,\n ElementProps<'div', 'value' | 'onChange'> {\n /** `height` and `min-width` of controls, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n\n /** Total number of pages, must be an integer */\n total: number;\n\n /** Active page for controlled component, must be an integer in [0, total] interval */\n value?: number;\n\n /** Active page for uncontrolled component, must be an integer in [0, total] interval */\n defaultValue?: number;\n\n /** Called when page changes */\n onChange
|
|
1
|
+
{"version":3,"file":"PaginationRoot.js","sources":["../../../../src/components/Pagination/PaginationRoot/PaginationRoot.tsx"],"sourcesContent":["import React from 'react';\nimport { usePagination } 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 MantineRadius,\n createEventHandler,\n getRadius,\n getSize,\n getFontSize,\n getThemeColor,\n} from '../../../core';\nimport { PaginationProvider } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationRootStylesNames = 'root' | 'control' | 'dots';\nexport type PaginationRootCssVariables = {\n root:\n | '--pagination-control-size'\n | '--pagination-control-radius'\n | '--pagination-control-fz'\n | '--pagination-active-bg';\n};\n\nexport interface PaginationRootProps\n extends BoxProps,\n StylesApiProps<PaginationRootFactory>,\n ElementProps<'div', 'value' | 'onChange'> {\n /** `height` and `min-width` of controls, `'md'` by default */\n size?: MantineSize | (string & {}) | number;\n\n /** Total number of pages, must be an integer */\n total: number;\n\n /** Active page for controlled component, must be an integer in [0, total] interval */\n value?: number;\n\n /** Active page for uncontrolled component, must be an integer in [0, total] interval */\n defaultValue?: number;\n\n /** Called when page changes */\n onChange?: (value: number) => void;\n\n /** Determines whether all controls should be disabled, `false` by default */\n disabled?: boolean;\n\n /** Number of siblings displayed on the left/right side of the selected page, `1` by default */\n siblings?: number;\n\n /** Number of elements visible on the left/right edges, `1` by default */\n boundaries?: number;\n\n /** Key of `theme.colors`, active item color, `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, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Called when next page control is clicked */\n onNextPage?: () => void;\n\n /** Called when previous page control is clicked */\n onPreviousPage?: () => void;\n\n /** Called when first page control is clicked */\n onFirstPage?: () => void;\n\n /** Called when last page control is clicked */\n onLastPage?: () => void;\n\n /** Additional props passed down to controls */\n getItemProps?: (page: number) => Record<string, any>;\n}\n\nexport type PaginationRootFactory = Factory<{\n props: PaginationRootProps;\n ref: HTMLDivElement;\n stylesNames: PaginationRootStylesNames;\n vars: PaginationRootCssVariables;\n}>;\n\nconst defaultProps: Partial<PaginationRootProps> = {\n siblings: 1,\n boundaries: 1,\n};\n\nconst varsResolver = createVarsResolver<PaginationRootFactory>(\n (theme, { size, radius, color }) => ({\n root: {\n '--pagination-control-radius': radius === undefined ? undefined : getRadius(radius),\n '--pagination-control-size': getSize(size, 'pagination-control-size'),\n '--pagination-control-fz': getFontSize(size),\n '--pagination-active-bg': color ? getThemeColor(color, theme) : undefined,\n },\n })\n);\n\nexport const PaginationRoot = factory<PaginationRootFactory>((_props, ref) => {\n const props = useProps('PaginationRoot', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n total,\n value,\n defaultValue,\n onChange,\n disabled,\n siblings,\n boundaries,\n color,\n radius,\n onNextPage,\n onPreviousPage,\n onFirstPage,\n onLastPage,\n getItemProps,\n ...others\n } = props;\n\n const getStyles = useStyles<PaginationRootFactory>({\n name: 'Pagination',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { range, setPage, next, previous, active, first, last } = usePagination({\n page: value,\n initialPage: defaultValue,\n onChange,\n total,\n siblings,\n boundaries,\n });\n\n const handleNextPage = createEventHandler(onNextPage, next);\n const handlePreviousPage = createEventHandler(onPreviousPage, previous);\n const handleFirstPage = createEventHandler(onFirstPage, first);\n const handleLastPage = createEventHandler(onLastPage, last);\n\n return (\n <PaginationProvider\n value={{\n total,\n range,\n active,\n disabled,\n getItemProps,\n onChange: setPage,\n onNext: handleNextPage,\n onPrevious: handlePreviousPage,\n onFirst: handleFirstPage,\n onLast: handleLastPage,\n getStyles,\n }}\n >\n <Box ref={ref} {...getStyles('root')} {...others} />\n </PaginationProvider>\n );\n});\n\nPaginationRoot.classes = classes;\nPaginationRoot.displayName = '@mantine/core/PaginationRoot';\n"],"names":["createVarsResolver","getRadius","getSize","getFontSize","getThemeColor","factory","useProps","useStyles","classes","usePagination","createEventHandler","React","PaginationProvider","Box"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordInput.js","sources":["../../../src/components/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n extractStyleProps,\n useResolvedStylesApi,\n getSize,\n} from '../../core';\nimport { InputBase, InputBaseProps } from '../InputBase';\nimport { Input, InputVariant, __InputStylesNames } from '../Input';\nimport { ActionIcon } from '../ActionIcon';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport classes from './PasswordInput.module.css';\n\nexport type PasswordInputStylesNames =\n | 'root'\n | 'visibilityToggle'\n | 'innerInput'\n | __InputStylesNames;\nexport type PasswordInputCssVariables = {\n root: '--psi-icon-size' | '--psi-button-size';\n};\n\nexport interface PasswordInputProps\n extends Omit<InputBaseProps, 'classNames' | 'styles' | 'vars'>,\n StylesApiProps<PasswordInputFactory>,\n ElementProps<'input', 'size'> {\n /** Custom visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean }>;\n\n /** Props passed down to the visibility toggle button */\n visibilityToggleButtonProps?: Record<string, any>;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?(visible: boolean): void;\n}\n\nexport type PasswordInputFactory = Factory<{\n props: PasswordInputProps;\n ref: HTMLInputElement;\n stylesNames: PasswordInputStylesNames;\n vars: PasswordInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<PasswordInputProps> = {\n __staticSelector: 'PasswordInput',\n visibilityToggleIcon: PasswordToggleIcon,\n};\n\nconst varsResolver = createVarsResolver<PasswordInputFactory>((_, { size }) => ({\n root: {\n '--psi-icon-size': getSize(size, 'psi-icon-size'),\n '--psi-button-size': getSize(size, 'psi-button-size'),\n },\n}));\n\nexport const PasswordInput = factory<PasswordInputFactory>((_props, ref) => {\n const props = useProps('PasswordInput', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n required,\n error,\n leftSection,\n disabled,\n id,\n variant,\n inputContainer,\n description,\n label,\n size,\n __staticSelector,\n errorProps,\n descriptionProps,\n labelProps,\n withAsterisk,\n inputWrapperOrder,\n wrapperProps,\n radius,\n rightSection,\n rightSectionWidth,\n leftSectionWidth,\n visible,\n defaultVisible,\n onVisibilityChange,\n visibilityToggleIcon,\n visibilityToggleButtonProps,\n rightSectionProps,\n leftSectionProps,\n leftSectionPointerEvents,\n ...others\n } = props;\n\n const uuid = useId(id);\n\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const getStyles = useStyles<PasswordInputFactory>({\n name: 'PasswordInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PasswordInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const VisibilityToggleIcon = visibilityToggleIcon!;\n\n const visibilityToggleButton = (\n <ActionIcon<'button'>\n {...getStyles('visibilityToggle')}\n radius={radius}\n aria-hidden={!visibilityToggleButtonProps}\n tabIndex={-1}\n {...visibilityToggleButtonProps}\n variant=\"subtle\"\n color=\"gray\"\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onMouseDown?.(event);\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n visibilityToggleButtonProps?.onKeyDown?.(event);\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n variant={variant}\n labelProps={{ ...labelProps, htmlFor: uuid }}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n error={error}\n leftSection={leftSection}\n size={size}\n classNames={{ ...resolvedClassNames, input: cx(classes.input, resolvedClassNames.input) }}\n styles={resolvedStyles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={rightSection ?? visibilityToggleButton}\n variant={variant}\n unstyled={unstyled}\n leftSectionWidth={leftSectionWidth}\n rightSectionPointerEvents=\"all\"\n rightSectionProps={rightSectionProps}\n leftSectionProps={leftSectionProps}\n leftSectionPointerEvents={leftSectionPointerEvents}\n withAria={false}\n >\n <input\n required={required}\n data-invalid={!!error || undefined}\n data-with-left-section={!!leftSection || undefined}\n {...getStyles('innerInput')}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n autoComplete={rest.autoComplete || 'off'}\n type={_visible ? 'text' : 'password'}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.classes = { ...InputBase.classes, ...classes };\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":["PasswordToggleIcon","createVarsResolver","getSize","factory","useProps","useId","useUncontrolled","useStyles","classes","useResolvedStylesApi","extractStyleProps","React","ActionIcon","Input","cx","InputBase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PasswordInput.js","sources":["../../../src/components/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n extractStyleProps,\n useResolvedStylesApi,\n getSize,\n} from '../../core';\nimport { InputBase, InputBaseProps } from '../InputBase';\nimport { Input, InputVariant, __InputStylesNames } from '../Input';\nimport { ActionIcon } from '../ActionIcon';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport classes from './PasswordInput.module.css';\n\nexport type PasswordInputStylesNames =\n | 'root'\n | 'visibilityToggle'\n | 'innerInput'\n | __InputStylesNames;\nexport type PasswordInputCssVariables = {\n root: '--psi-icon-size' | '--psi-button-size';\n};\n\nexport interface PasswordInputProps\n extends Omit<InputBaseProps, 'classNames' | 'styles' | 'vars'>,\n StylesApiProps<PasswordInputFactory>,\n ElementProps<'input', 'size'> {\n /** Custom visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean }>;\n\n /** Props passed down to the visibility toggle button */\n visibilityToggleButtonProps?: Record<string, any>;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport type PasswordInputFactory = Factory<{\n props: PasswordInputProps;\n ref: HTMLInputElement;\n stylesNames: PasswordInputStylesNames;\n vars: PasswordInputCssVariables;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<PasswordInputProps> = {\n __staticSelector: 'PasswordInput',\n visibilityToggleIcon: PasswordToggleIcon,\n};\n\nconst varsResolver = createVarsResolver<PasswordInputFactory>((_, { size }) => ({\n root: {\n '--psi-icon-size': getSize(size, 'psi-icon-size'),\n '--psi-button-size': getSize(size, 'psi-button-size'),\n },\n}));\n\nexport const PasswordInput = factory<PasswordInputFactory>((_props, ref) => {\n const props = useProps('PasswordInput', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n required,\n error,\n leftSection,\n disabled,\n id,\n variant,\n inputContainer,\n description,\n label,\n size,\n __staticSelector,\n errorProps,\n descriptionProps,\n labelProps,\n withAsterisk,\n inputWrapperOrder,\n wrapperProps,\n radius,\n rightSection,\n rightSectionWidth,\n leftSectionWidth,\n visible,\n defaultVisible,\n onVisibilityChange,\n visibilityToggleIcon,\n visibilityToggleButtonProps,\n rightSectionProps,\n leftSectionProps,\n leftSectionPointerEvents,\n ...others\n } = props;\n\n const uuid = useId(id);\n\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const getStyles = useStyles<PasswordInputFactory>({\n name: 'PasswordInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PasswordInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const { styleProps, rest } = extractStyleProps(others);\n const VisibilityToggleIcon = visibilityToggleIcon!;\n\n const visibilityToggleButton = (\n <ActionIcon<'button'>\n {...getStyles('visibilityToggle')}\n radius={radius}\n aria-hidden={!visibilityToggleButtonProps}\n tabIndex={-1}\n {...visibilityToggleButtonProps}\n variant=\"subtle\"\n color=\"gray\"\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n visibilityToggleButtonProps?.onMouseDown?.(event);\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n visibilityToggleButtonProps?.onKeyDown?.(event);\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n variant={variant}\n labelProps={{ ...labelProps, htmlFor: uuid }}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n error={error}\n leftSection={leftSection}\n size={size}\n classNames={{ ...resolvedClassNames, input: cx(classes.input, resolvedClassNames.input) }}\n styles={resolvedStyles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={rightSection ?? visibilityToggleButton}\n variant={variant}\n unstyled={unstyled}\n leftSectionWidth={leftSectionWidth}\n rightSectionPointerEvents=\"all\"\n rightSectionProps={rightSectionProps}\n leftSectionProps={leftSectionProps}\n leftSectionPointerEvents={leftSectionPointerEvents}\n withAria={false}\n >\n <input\n required={required}\n data-invalid={!!error || undefined}\n data-with-left-section={!!leftSection || undefined}\n {...getStyles('innerInput')}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n autoComplete={rest.autoComplete || 'off'}\n type={_visible ? 'text' : 'password'}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.classes = { ...InputBase.classes, ...classes };\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":["PasswordToggleIcon","createVarsResolver","getSize","factory","useProps","useId","useUncontrolled","useStyles","classes","useResolvedStylesApi","extractStyleProps","React","ActionIcon","Input","cx","InputBase"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pill.js","sources":["../../../src/components/Pill/Pill.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n getSize,\n MantineRadius,\n getRadius,\n} from '../../core';\nimport { CloseButton } from '../CloseButton';\nimport { PillGroup } from './PillGroup/PillGroup';\nimport { usePillGroupContext } from './PillGroup.context';\nimport { usePillsInputContext } from '../PillsInput/PillsInput.context';\nimport classes from './Pill.module.css';\n\nexport type PillStylesNames = 'root' | 'label' | 'remove';\nexport type PillVariant = 'default' | 'contrast';\nexport type PillCssVariables = {\n root: '--pill-fz' | '--pill-radius' | '--pill-height';\n};\n\nexport interface PillProps extends BoxProps, StylesApiProps<PillFactory>, ElementProps<'div'> {\n /** Controls pill `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize;\n\n /** Determines whether the remove button should be displayed, `false` by default */\n withRemoveButton?: boolean;\n\n /** Called when the remove button is clicked */\n onRemove
|
|
1
|
+
{"version":3,"file":"Pill.js","sources":["../../../src/components/Pill/Pill.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n getSize,\n MantineRadius,\n getRadius,\n} from '../../core';\nimport { CloseButton } from '../CloseButton';\nimport { PillGroup } from './PillGroup/PillGroup';\nimport { usePillGroupContext } from './PillGroup.context';\nimport { usePillsInputContext } from '../PillsInput/PillsInput.context';\nimport classes from './Pill.module.css';\n\nexport type PillStylesNames = 'root' | 'label' | 'remove';\nexport type PillVariant = 'default' | 'contrast';\nexport type PillCssVariables = {\n root: '--pill-fz' | '--pill-radius' | '--pill-height';\n};\n\nexport interface PillProps extends BoxProps, StylesApiProps<PillFactory>, ElementProps<'div'> {\n /** Controls pill `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize;\n\n /** Determines whether the remove button should be displayed, `false` by default */\n withRemoveButton?: boolean;\n\n /** Called when the remove button is clicked */\n onRemove?: () => void;\n\n /** Props passed down to the remove button */\n removeButtonProps?: React.ComponentPropsWithoutRef<'button'>;\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 /** If pill is disabled it has higher contrast to be visible on the disabled input background and the remove button is hidden */\n disabled?: boolean;\n}\n\nexport type PillFactory = Factory<{\n props: PillProps;\n ref: HTMLDivElement;\n stylesNames: PillStylesNames;\n vars: PillCssVariables;\n variant: PillVariant;\n ctx: { size: MantineSize | (string & {}) | undefined };\n staticComponents: {\n Group: typeof PillGroup;\n };\n}>;\n\nconst defaultProps: Partial<PillProps> = {\n variant: 'default',\n};\n\nconst varsResolver = createVarsResolver<PillFactory>((_, { radius }, { size }) => ({\n root: {\n '--pill-fz': getSize(size, 'pill-fz'),\n '--pill-height': getSize(size, 'pill-height'),\n '--pill-radius': radius === undefined ? undefined : getRadius(radius),\n },\n}));\n\nexport const Pill = factory<PillFactory>((_props, ref) => {\n const props = useProps('Pill', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n variant,\n children,\n withRemoveButton,\n onRemove,\n removeButtonProps,\n radius,\n size,\n disabled,\n ...others\n } = props;\n\n const ctx = usePillGroupContext();\n const pillsInputCtx = usePillsInputContext();\n const _size = size || ctx?.size || undefined;\n const _variant = pillsInputCtx?.variant === 'filled' ? 'contrast' : variant || 'default';\n\n const getStyles = useStyles<PillFactory>({\n name: 'Pill',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n stylesCtx: { size: _size },\n });\n\n return (\n <Box\n component=\"span\"\n ref={ref}\n variant={_variant}\n size={_size}\n {...getStyles('root', { variant: _variant })}\n mod={{ 'with-remove': withRemoveButton, disabled: disabled || ctx?.disabled }}\n {...others}\n >\n <span {...getStyles('label')}>{children}</span>\n {withRemoveButton && (\n <CloseButton\n variant=\"transparent\"\n radius={radius}\n tabIndex={-1}\n aria-hidden\n unstyled={unstyled}\n {...removeButtonProps}\n {...getStyles('remove', {\n className: removeButtonProps?.className,\n style: removeButtonProps?.style,\n })}\n onMouseDown={(event) => {\n event.preventDefault();\n event.stopPropagation();\n removeButtonProps?.onMouseDown?.(event);\n }}\n onClick={(event) => {\n event.stopPropagation();\n onRemove?.();\n removeButtonProps?.onClick?.(event);\n }}\n />\n )}\n </Box>\n );\n});\n\nPill.classes = classes;\nPill.displayName = '@mantine/core/Pill';\nPill.Group = PillGroup;\n"],"names":["createVarsResolver","getSize","getRadius","factory","useProps","usePillGroupContext","usePillsInputContext","useStyles","classes","React","Box","CloseButton","PillGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInput.js","sources":["../../../src/components/PinInput/PinInput.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n Factory,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n StylesApiProps,\n createVarsResolver,\n factory,\n getSize,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Group } from '../Group';\nimport { Input } from '../Input';\nimport { createPinArray } from './create-pin-array/create-pin-array';\nimport classes from './PinInput.module.css';\nimport { InputBase } from '../InputBase';\n\nconst regex = {\n number: /^[0-9]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i,\n};\n\nexport type PinInputStylesNames = 'root' | 'pinInput' | 'input';\n\nexport type PinInputCssVariables = {\n root: '--pin-input-size';\n};\n\nexport interface PinInputProps\n extends BoxProps,\n StylesApiProps<PinInputFactory>,\n ElementProps<'div', 'onChange'> {\n /** Hidden input name attribute */\n name?: string;\n\n /** Hidden input form attribute */\n form?: string;\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem, `'md'` by default */\n gap?: MantineSpacing;\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 /** Controls inputs `width` and `height`, `'sm'` by default */\n size?: MantineSize;\n\n /** If set, the first input is focused when component is mounted, `false` by default */\n autoFocus?: boolean;\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Called when all inputs have value */\n onComplete?(value: string): void;\n\n /** Inputs placeholder, `'○'` by default */\n placeholder?: string;\n\n /** Determines whether focus should be moved automatically to the next input once filled, `true` by default */\n manageFocus?: boolean;\n\n /** Determines whether `autocomplete=\"one-time-code\"` attribute should be set on all inputs, `true` by default */\n oneTimeCode?: boolean;\n\n /** Base id used for all inputs, generated randomly by default */\n id?: string;\n\n /** Disables all inputs */\n disabled?: boolean;\n\n /** Adds error styles to all inputs */\n error?: boolean;\n\n /** Allowed values, `'alphanumeric'` by default */\n type?: 'alphanumeric' | 'number' | RegExp;\n\n /** Changes input type to `\"password\"`, `false` by default */\n mask?: boolean;\n\n /** Number of input boxes, `4` by default */\n length?: number;\n\n /** Determines whether input content can be edited */\n readOnly?: boolean;\n\n /** Inputs `type` attribute, inferred from the `type` prop if not specified */\n inputType?: React.HTMLInputTypeAttribute;\n\n /** `inputmode` attribute, inferred from the `type` prop if not specified */\n inputMode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'\n | undefined;\n\n /** `aria-label` for the inputs */\n ariaLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type PinInputFactory = Factory<{\n props: PinInputProps;\n ref: HTMLInputElement;\n stylesNames: PinInputStylesNames;\n vars: PinInputCssVariables;\n}>;\n\nconst defaultProps: Partial<PinInputProps> = {\n gap: 'sm',\n length: 4,\n manageFocus: true,\n oneTimeCode: true,\n placeholder: '○',\n type: 'alphanumeric',\n ariaLabel: 'PinInput',\n};\n\nconst varsResolver = createVarsResolver<PinInputFactory>((_, { size }) => ({\n root: {\n '--pin-input-size': getSize(size ?? defaultProps.size, 'pin-input-size'),\n },\n}));\n\nexport const PinInput = factory<PinInputFactory>((props, ref) => {\n const {\n name,\n form,\n className,\n value,\n defaultValue,\n variant,\n gap,\n style,\n size,\n classNames,\n styles,\n unstyled,\n length,\n onChange,\n onComplete,\n manageFocus,\n autoFocus,\n error,\n radius,\n disabled,\n oneTimeCode,\n placeholder,\n type,\n mask,\n readOnly,\n inputType,\n inputMode,\n ariaLabel,\n vars,\n id,\n hiddenInputProps,\n ...others\n } = useProps('PinInput', defaultProps, props);\n\n const uuid = useId(id);\n\n const getStyles = useStyles<PinInputFactory>({\n name: 'PinInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PinInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [focusedIndex, setFocusedIndex] = useState(-1);\n\n const [_value, setValues] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const inputsRef = useRef<Array<HTMLInputElement>>([]);\n\n const validate = (code: string) => {\n const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;\n return re?.test(code);\n };\n\n const focusInputField = (dir: 'next' | 'prev', index: number) => {\n if (!manageFocus) return;\n\n if (dir === 'next') {\n const nextIndex = index + 1;\n inputsRef.current[nextIndex < (length ?? 0) ? nextIndex : index].focus();\n }\n\n if (dir === 'prev') {\n const nextIndex = index - 1;\n\n inputsRef.current[nextIndex > -1 ? nextIndex : index].focus();\n }\n };\n\n const setFieldValue = (val: string, index: number) => {\n const values = [...createPinArray(length ?? 0, _value)];\n values[index] = val;\n setValues(values.join(''));\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const inputValue = event.target.value;\n const nextCharOrValue =\n inputValue.length === 2 ? inputValue.split('')[inputValue.length - 1] : inputValue;\n\n const isValid = validate(nextCharOrValue);\n\n if (nextCharOrValue.length < 2) {\n if (isValid) {\n setFieldValue(nextCharOrValue, index);\n focusInputField('next', index);\n } else {\n setFieldValue('', index);\n }\n } else if (isValid) {\n setValues(inputValue);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n focusInputField('prev', index);\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n focusInputField('next', index);\n } else if (event.key === 'Delete') {\n event.preventDefault();\n setFieldValue('', index);\n } else if (event.key === 'Backspace') {\n event.preventDefault();\n setFieldValue('', index);\n if (length === index + 1) {\n if ((event.target as HTMLInputElement).value === '') {\n focusInputField('prev', index);\n }\n } else {\n focusInputField('prev', index);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>, index: number) => {\n event.target.select();\n setFocusedIndex(index);\n };\n\n const handleBlur = () => {\n setFocusedIndex(-1);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n const copyValue = event.clipboardData.getData('Text');\n const isValid = validate(copyValue);\n\n if (isValid) {\n setValues(copyValue);\n }\n };\n\n useEffect(() => {\n if (_value.length !== length) return;\n\n onComplete?.(_value);\n }, [_value]);\n\n return (\n <>\n <Group\n {...others}\n {...getStyles('root')}\n role=\"group\"\n id={uuid}\n gap={gap}\n ref={ref}\n unstyled={unstyled}\n wrap=\"nowrap\"\n variant={variant}\n __size={size}\n >\n {createPinArray(length ?? 0, _value).map((char, index) => (\n <Input\n component=\"input\"\n {...getStyles('pinInput', {\n style: {\n '--_input-padding': '0',\n '--_input-text-align': 'center',\n } as React.CSSProperties,\n })}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n size={size}\n __staticSelector=\"PinInput\"\n id={`${uuid}-${index + 1}`}\n key={`${uuid}-${index}`}\n inputMode={inputMode || (type === 'number' ? 'numeric' : 'text')}\n onChange={(event) => handleChange(event, index)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n onFocus={(event) => handleFocus(event, index)}\n onBlur={handleBlur}\n onPaste={handlePaste}\n type={inputType || (mask ? 'password' : type === 'number' ? 'tel' : 'text')}\n radius={radius}\n error={error}\n variant={variant}\n disabled={disabled}\n ref={(node) => {\n inputsRef.current[index] = node!;\n }}\n autoComplete={oneTimeCode ? 'one-time-code' : 'off'}\n placeholder={focusedIndex === index ? '' : placeholder}\n value={char}\n autoFocus={autoFocus && index === 0}\n unstyled={unstyled}\n aria-label={ariaLabel}\n readOnly={readOnly}\n />\n ))}\n </Group>\n\n <input type=\"hidden\" name={name} form={form} value={_value} {...hiddenInputProps} />\n </>\n );\n});\n\nPinInput.classes = { ...classes, ...InputBase.classes };\nPinInput.displayName = '@mantine/core/PinInput';\n"],"names":["createVarsResolver","getSize","factory","useProps","useId","useStyles","classes","useResolvedStylesApi","useState","useUncontrolled","useRef","createPinArray","useEffect","React","Group","Input","InputBase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PinInput.js","sources":["../../../src/components/PinInput/PinInput.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n Factory,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n StylesApiProps,\n createVarsResolver,\n factory,\n getSize,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Group } from '../Group';\nimport { Input } from '../Input';\nimport { createPinArray } from './create-pin-array/create-pin-array';\nimport classes from './PinInput.module.css';\nimport { InputBase } from '../InputBase';\n\nconst regex = {\n number: /^[0-9]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i,\n};\n\nexport type PinInputStylesNames = 'root' | 'pinInput' | 'input';\n\nexport type PinInputCssVariables = {\n root: '--pin-input-size';\n};\n\nexport interface PinInputProps\n extends BoxProps,\n StylesApiProps<PinInputFactory>,\n ElementProps<'div', 'onChange'> {\n /** Hidden input name attribute */\n name?: string;\n\n /** Hidden input form attribute */\n form?: string;\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem, `'md'` by default */\n gap?: MantineSpacing;\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 /** Controls inputs `width` and `height`, `'sm'` by default */\n size?: MantineSize;\n\n /** If set, the first input is focused when component is mounted, `false` by default */\n autoFocus?: boolean;\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?: (value: string) => void;\n\n /** Called when all inputs have value */\n onComplete?: (value: string) => void;\n\n /** Inputs placeholder, `'○'` by default */\n placeholder?: string;\n\n /** Determines whether focus should be moved automatically to the next input once filled, `true` by default */\n manageFocus?: boolean;\n\n /** Determines whether `autocomplete=\"one-time-code\"` attribute should be set on all inputs, `true` by default */\n oneTimeCode?: boolean;\n\n /** Base id used for all inputs, generated randomly by default */\n id?: string;\n\n /** Disables all inputs */\n disabled?: boolean;\n\n /** Adds error styles to all inputs */\n error?: boolean;\n\n /** Allowed values, `'alphanumeric'` by default */\n type?: 'alphanumeric' | 'number' | RegExp;\n\n /** Changes input type to `\"password\"`, `false` by default */\n mask?: boolean;\n\n /** Number of input boxes, `4` by default */\n length?: number;\n\n /** Determines whether input content can be edited */\n readOnly?: boolean;\n\n /** Inputs `type` attribute, inferred from the `type` prop if not specified */\n inputType?: React.HTMLInputTypeAttribute;\n\n /** `inputmode` attribute, inferred from the `type` prop if not specified */\n inputMode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'\n | undefined;\n\n /** `aria-label` for the inputs */\n ariaLabel?: string;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type PinInputFactory = Factory<{\n props: PinInputProps;\n ref: HTMLInputElement;\n stylesNames: PinInputStylesNames;\n vars: PinInputCssVariables;\n}>;\n\nconst defaultProps: Partial<PinInputProps> = {\n gap: 'sm',\n length: 4,\n manageFocus: true,\n oneTimeCode: true,\n placeholder: '○',\n type: 'alphanumeric',\n ariaLabel: 'PinInput',\n};\n\nconst varsResolver = createVarsResolver<PinInputFactory>((_, { size }) => ({\n root: {\n '--pin-input-size': getSize(size ?? defaultProps.size, 'pin-input-size'),\n },\n}));\n\nexport const PinInput = factory<PinInputFactory>((props, ref) => {\n const {\n name,\n form,\n className,\n value,\n defaultValue,\n variant,\n gap,\n style,\n size,\n classNames,\n styles,\n unstyled,\n length,\n onChange,\n onComplete,\n manageFocus,\n autoFocus,\n error,\n radius,\n disabled,\n oneTimeCode,\n placeholder,\n type,\n mask,\n readOnly,\n inputType,\n inputMode,\n ariaLabel,\n vars,\n id,\n hiddenInputProps,\n ...others\n } = useProps('PinInput', defaultProps, props);\n\n const uuid = useId(id);\n\n const getStyles = useStyles<PinInputFactory>({\n name: 'PinInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PinInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [focusedIndex, setFocusedIndex] = useState(-1);\n\n const [_value, setValues] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const inputsRef = useRef<Array<HTMLInputElement>>([]);\n\n const validate = (code: string) => {\n const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;\n return re?.test(code);\n };\n\n const focusInputField = (dir: 'next' | 'prev', index: number) => {\n if (!manageFocus) return;\n\n if (dir === 'next') {\n const nextIndex = index + 1;\n inputsRef.current[nextIndex < (length ?? 0) ? nextIndex : index].focus();\n }\n\n if (dir === 'prev') {\n const nextIndex = index - 1;\n\n inputsRef.current[nextIndex > -1 ? nextIndex : index].focus();\n }\n };\n\n const setFieldValue = (val: string, index: number) => {\n const values = [...createPinArray(length ?? 0, _value)];\n values[index] = val;\n setValues(values.join(''));\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const inputValue = event.target.value;\n const nextCharOrValue =\n inputValue.length === 2 ? inputValue.split('')[inputValue.length - 1] : inputValue;\n\n const isValid = validate(nextCharOrValue);\n\n if (nextCharOrValue.length < 2) {\n if (isValid) {\n setFieldValue(nextCharOrValue, index);\n focusInputField('next', index);\n } else {\n setFieldValue('', index);\n }\n } else if (isValid) {\n setValues(inputValue);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n focusInputField('prev', index);\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n focusInputField('next', index);\n } else if (event.key === 'Delete') {\n event.preventDefault();\n setFieldValue('', index);\n } else if (event.key === 'Backspace') {\n event.preventDefault();\n setFieldValue('', index);\n if (length === index + 1) {\n if ((event.target as HTMLInputElement).value === '') {\n focusInputField('prev', index);\n }\n } else {\n focusInputField('prev', index);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>, index: number) => {\n event.target.select();\n setFocusedIndex(index);\n };\n\n const handleBlur = () => {\n setFocusedIndex(-1);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n const copyValue = event.clipboardData.getData('Text');\n const isValid = validate(copyValue);\n\n if (isValid) {\n setValues(copyValue);\n }\n };\n\n useEffect(() => {\n if (_value.length !== length) return;\n\n onComplete?.(_value);\n }, [_value]);\n\n return (\n <>\n <Group\n {...others}\n {...getStyles('root')}\n role=\"group\"\n id={uuid}\n gap={gap}\n ref={ref}\n unstyled={unstyled}\n wrap=\"nowrap\"\n variant={variant}\n __size={size}\n >\n {createPinArray(length ?? 0, _value).map((char, index) => (\n <Input\n component=\"input\"\n {...getStyles('pinInput', {\n style: {\n '--_input-padding': '0',\n '--_input-text-align': 'center',\n } as React.CSSProperties,\n })}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n size={size}\n __staticSelector=\"PinInput\"\n id={`${uuid}-${index + 1}`}\n key={`${uuid}-${index}`}\n inputMode={inputMode || (type === 'number' ? 'numeric' : 'text')}\n onChange={(event) => handleChange(event, index)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n onFocus={(event) => handleFocus(event, index)}\n onBlur={handleBlur}\n onPaste={handlePaste}\n type={inputType || (mask ? 'password' : type === 'number' ? 'tel' : 'text')}\n radius={radius}\n error={error}\n variant={variant}\n disabled={disabled}\n ref={(node) => {\n inputsRef.current[index] = node!;\n }}\n autoComplete={oneTimeCode ? 'one-time-code' : 'off'}\n placeholder={focusedIndex === index ? '' : placeholder}\n value={char}\n autoFocus={autoFocus && index === 0}\n unstyled={unstyled}\n aria-label={ariaLabel}\n readOnly={readOnly}\n />\n ))}\n </Group>\n\n <input type=\"hidden\" name={name} form={form} value={_value} {...hiddenInputProps} />\n </>\n );\n});\n\nPinInput.classes = { ...classes, ...InputBase.classes };\nPinInput.displayName = '@mantine/core/PinInput';\n"],"names":["createVarsResolver","getSize","factory","useProps","useId","useStyles","classes","useResolvedStylesApi","useState","useUncontrolled","useRef","createPinArray","useEffect","React","Group","Input","InputBase"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.context.js","sources":["../../../src/components/Popover/Popover.context.ts"],"sourcesContent":["import {\n createSafeContext,\n MantineShadow,\n Styles,\n ClassNames,\n MantineRadius,\n GetStylesApi,\n} from '../../core';\nimport { FloatingPosition, ArrowPosition } from '../Floating';\nimport { TransitionOverride } from '../Transition';\nimport { PortalProps } from '../Portal';\nimport { PopoverWidth } from './Popover.types';\nimport type { PopoverFactory } from './Popover';\n\ninterface PopoverContext {\n x: number;\n y: number;\n arrowX: number;\n arrowY: number;\n arrowRef: React.RefObject<HTMLDivElement>;\n opened: boolean;\n transitionProps?: TransitionOverride;\n reference(node: HTMLElement)
|
|
1
|
+
{"version":3,"file":"Popover.context.js","sources":["../../../src/components/Popover/Popover.context.ts"],"sourcesContent":["import {\n createSafeContext,\n MantineShadow,\n Styles,\n ClassNames,\n MantineRadius,\n GetStylesApi,\n} from '../../core';\nimport { FloatingPosition, ArrowPosition } from '../Floating';\nimport { TransitionOverride } from '../Transition';\nimport { PortalProps } from '../Portal';\nimport { PopoverWidth } from './Popover.types';\nimport type { PopoverFactory } from './Popover';\n\ninterface PopoverContext {\n x: number;\n y: number;\n arrowX: number;\n arrowY: number;\n arrowRef: React.RefObject<HTMLDivElement>;\n opened: boolean;\n transitionProps?: TransitionOverride;\n reference: (node: HTMLElement) => void;\n floating: (node: HTMLElement) => void;\n width?: PopoverWidth;\n withArrow: boolean | undefined;\n arrowSize: number;\n arrowOffset: number;\n arrowRadius: number;\n arrowPosition: ArrowPosition;\n trapFocus: boolean | undefined;\n placement: FloatingPosition;\n withinPortal: boolean | undefined;\n portalProps?: Omit<PortalProps, 'children'>;\n closeOnEscape: boolean | undefined;\n zIndex: string | number | undefined;\n radius?: MantineRadius | undefined;\n shadow?: MantineShadow | undefined;\n onClose?: () => void;\n getDropdownId: () => string;\n getTargetId: () => string;\n controlled: boolean;\n onToggle: () => void;\n withRoles: boolean | undefined;\n targetProps: Record<string, any>;\n disabled: boolean | undefined;\n returnFocus: boolean | undefined;\n classNames: ClassNames<PopoverFactory> | undefined;\n styles: Styles<PopoverFactory> | undefined;\n unstyled: boolean | undefined;\n __staticSelector: string;\n variant: string | undefined;\n keepMounted: boolean | undefined;\n getStyles: GetStylesApi<PopoverFactory>;\n}\n\nexport const [PopoverContextProvider, usePopoverContext] = createSafeContext<PopoverContext>(\n 'Popover component was not found in the tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AAGY,MAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,GAAGA,mCAAiB;AAC5E,EAAE,6CAA6C;AAC/C;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n MantineShadow,\n getDefaultZIndex,\n useProps,\n MantineRadius,\n useDirection,\n useStyles,\n Factory,\n createVarsResolver,\n getRadius,\n getShadow,\n StylesApiProps,\n ExtendComponent,\n} from '../../core';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element, `'bottom'` by default */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element, `8` by default */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** `useEffect` dependencies to force update dropdown position, `[]` by default */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, `display: none` styles will be added instead, `false` by default */\n keepMounted?: boolean;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type, `{ duration: 150, transition: 'fade' }` by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element, `'max-content'` by default */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling, `{ flip: true, shift: true, inline: false }` by default */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow, `false` by default */\n withArrow?: boolean;\n\n /** Arrow size in px, `7` by default */\n arrowSize?: number;\n\n /** Arrow offset in px, `5` by default */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px, `0` by default */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal`, `true` by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: Omit<PortalProps, 'children'>;\n\n /** Dropdown `z-index`, `300` by default */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, `false` by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, `true` by default */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, `false` by default */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed, `true` by default */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles, `true` by default */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': radius === undefined ? undefined : getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector!,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position!),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize! / 2 : 0) : offset!,\n arrowRef,\n arrowOffset: arrowOffset!,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x!,\n y: popover.floating.y!,\n arrowX: popover.floating?.middlewareData?.arrow?.x!,\n arrowY: popover.floating?.middlewareData?.arrow?.y!,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize: arrowSize!,\n arrowOffset: arrowOffset!,\n arrowRadius: arrowRadius!,\n arrowPosition: arrowPosition!,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector: __staticSelector!,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\n"],"names":["getDefaultZIndex","createVarsResolver","getRadius","getShadow","useProps","useStyles","classes","useRef","useState","useDirection","useId","usePopover","getFloatingPosition","useClickOutside","useCallback","React","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n MantineShadow,\n getDefaultZIndex,\n useProps,\n MantineRadius,\n useDirection,\n useStyles,\n Factory,\n createVarsResolver,\n getRadius,\n getShadow,\n StylesApiProps,\n ExtendComponent,\n} from '../../core';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element, `'bottom'` by default */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element, `8` by default */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?: (position: FloatingPosition) => void;\n\n /** `useEffect` dependencies to force update dropdown position, `[]` by default */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?: () => void;\n\n /** Called when dropdown opens */\n onOpen?: () => void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, `display: none` styles will be added instead, `false` by default */\n keepMounted?: boolean;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type, `{ duration: 150, transition: 'fade' }` by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element, `'max-content'` by default */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling, `{ flip: true, shift: true, inline: false }` by default */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow, `false` by default */\n withArrow?: boolean;\n\n /** Arrow size in px, `7` by default */\n arrowSize?: number;\n\n /** Arrow offset in px, `5` by default */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px, `0` by default */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal`, `true` by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: Omit<PortalProps, 'children'>;\n\n /** Dropdown `z-index`, `300` by default */\n zIndex?: string | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, `false` by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?: (opened: boolean) => void;\n\n /** Determines whether dropdown should be closed on outside clicks, `true` by default */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, `false` by default */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed, `true` by default */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles, `true` by default */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': radius === undefined ? undefined : getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector!,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position!),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize! / 2 : 0) : offset!,\n arrowRef,\n arrowOffset: arrowOffset!,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x!,\n y: popover.floating.y!,\n arrowX: popover.floating?.middlewareData?.arrow?.x!,\n arrowY: popover.floating?.middlewareData?.arrow?.y!,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize: arrowSize!,\n arrowOffset: arrowOffset!,\n arrowRadius: arrowRadius!,\n arrowPosition: arrowPosition!,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector: __staticSelector!,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\n"],"names":["getDefaultZIndex","createVarsResolver","getRadius","getShadow","useProps","useStyles","classes","useRef","useState","useDirection","useId","usePopover","getFloatingPosition","useClickOutside","useCallback","React","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.js","sources":["../../../src/components/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[] | undefined;\n onPositionChange
|
|
1
|
+
{"version":3,"file":"use-popover.js","sources":["../../../src/components/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[] | undefined;\n onPositionChange?: (position: FloatingPosition) => void;\n opened: boolean | undefined;\n defaultOpened: boolean | undefined;\n onChange?: (opened: boolean) => void;\n onClose?: () => void;\n onOpen?: () => void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares | undefined;\n arrowRef: React.RefObject<HTMLDivElement>;\n arrowOffset: number;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares?.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares?.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares?.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n }\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware: [\n ...getPopoverMiddlewares(options),\n ...(options.width === 'target'\n ? [\n size({\n apply({ rects }) {\n Object.assign(floating.refs.floating.current?.style ?? {}, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ]\n : []),\n ],\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n position: options.position,\n positionDependencies: options.positionDependencies || [],\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n useDidUpdate(() => {\n if (!options.opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }, [options.opened]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":["offset","shift","limitShift","flip","inline","arrow","useUncontrolled","useFloating","size","useFloatingAutoUpdate","useDidUpdate"],"mappings":"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"}
|
|
@@ -61,7 +61,8 @@ const varsResolver = createVarsResolver.createVarsResolver((theme, { size, radiu
|
|
|
61
61
|
root: {
|
|
62
62
|
"--radio-size": getSize.getSize(size, "radio-size"),
|
|
63
63
|
"--radio-radius": radius === void 0 ? void 0 : getSize.getRadius(radius),
|
|
64
|
-
"--radio-color": color ? getThemeColor.getThemeColor(color, theme) : void 0
|
|
64
|
+
"--radio-color": color ? getThemeColor.getThemeColor(color, theme) : void 0,
|
|
65
|
+
"--radio-icon-size": getSize.getSize(size, "radio-icon-size")
|
|
65
66
|
}
|
|
66
67
|
}));
|
|
67
68
|
const Radio = factory.factory((_props, ref) => {
|