@mantine/core 3.3.5 → 3.4.3
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/ActionIcon/ActionIcon.js +4 -9
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/Affix/Affix.js +3 -3
- package/cjs/components/Affix/Affix.js.map +1 -1
- package/cjs/components/Alert/Alert.js +5 -11
- package/cjs/components/Alert/Alert.js.map +1 -1
- package/cjs/components/Anchor/Anchor.js +2 -2
- package/cjs/components/Anchor/Anchor.js.map +1 -1
- package/cjs/components/AppShell/AppShell.js +5 -6
- package/cjs/components/AppShell/AppShell.js.map +1 -1
- package/cjs/components/AppShell/Header/Header.js +1 -3
- package/cjs/components/AppShell/Header/Header.js.map +1 -1
- package/cjs/components/AppShell/Navbar/Navbar.js +1 -3
- package/cjs/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/cjs/components/AppShell/Navbar/NavbarSection/NavbarSection.js +6 -9
- package/cjs/components/AppShell/Navbar/NavbarSection/NavbarSection.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +11 -5
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Avatar/Avatar.js +7 -16
- package/cjs/components/Avatar/Avatar.js.map +1 -1
- package/cjs/components/Avatar/AvatarsGroup/AvatarsGroup.js +3 -5
- package/cjs/components/Avatar/AvatarsGroup/AvatarsGroup.js.map +1 -1
- package/cjs/components/Badge/Badge.js +7 -16
- package/cjs/components/Badge/Badge.js.map +1 -1
- package/cjs/components/Blockquote/Blockquote.js +7 -12
- package/cjs/components/Blockquote/Blockquote.js.map +1 -1
- package/cjs/components/Box/Box.js +13 -3
- package/cjs/components/Box/Box.js.map +1 -1
- package/cjs/components/Breadcrumbs/Breadcrumbs.js +6 -24
- package/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/cjs/components/Burger/Burger.js +7 -25
- package/cjs/components/Burger/Burger.js.map +1 -1
- package/cjs/components/Button/Button.js +8 -16
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/UnstyledButton/UnstyledButton.js +5 -3
- package/cjs/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
- package/cjs/components/Card/Card.js +8 -5
- package/cjs/components/Card/Card.js.map +1 -1
- package/cjs/components/Card/CardSection/CardSection.js +9 -9
- package/cjs/components/Card/CardSection/CardSection.js.map +1 -1
- package/cjs/components/Card/CardSection/CardSection.styles.js +4 -7
- package/cjs/components/Card/CardSection/CardSection.styles.js.map +1 -1
- package/cjs/components/Center/Center.js +12 -15
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +11 -9
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Chips/Chip/Chip.js +9 -7
- package/cjs/components/Chips/Chip/Chip.js.map +1 -1
- package/cjs/components/Code/Code.js +9 -27
- package/cjs/components/Code/Code.js.map +1 -1
- package/cjs/components/Collapse/Collapse.js +3 -14
- package/cjs/components/Collapse/Collapse.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +8 -8
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.js +2 -5
- package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js +8 -11
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
- package/cjs/components/ColorSwatch/ColorSwatch.js +6 -12
- package/cjs/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/cjs/components/Container/Container.js +5 -25
- package/cjs/components/Container/Container.js.map +1 -1
- package/cjs/components/Dialog/Dialog.js +3 -5
- package/cjs/components/Dialog/Dialog.js.map +1 -1
- package/cjs/components/Divider/Divider.js +8 -13
- package/cjs/components/Divider/Divider.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +12 -18
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Drawer/Drawer.styles.js +0 -7
- package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
- package/cjs/components/Grid/Col/Col.js +5 -6
- package/cjs/components/Grid/Col/Col.js.map +1 -1
- package/cjs/components/Grid/Grid.js +7 -13
- package/cjs/components/Grid/Grid.js.map +1 -1
- package/cjs/components/Group/Group.js +6 -12
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Highlight/Highlight.js +16 -4
- package/cjs/components/Highlight/Highlight.js.map +1 -1
- package/cjs/components/Image/Image.js +12 -22
- package/cjs/components/Image/Image.js.map +1 -1
- package/cjs/components/Input/Input.js +6 -6
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/InputWrapper/InputWrapper.js +6 -12
- package/cjs/components/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/components/Kbd/Kbd.js +6 -7
- package/cjs/components/Kbd/Kbd.js.map +1 -1
- package/cjs/components/List/List.js +12 -17
- package/cjs/components/List/List.js.map +1 -1
- package/cjs/components/List/ListItem/ListItem.js +9 -15
- package/cjs/components/List/ListItem/ListItem.js.map +1 -1
- package/cjs/components/Loader/Loader.js +8 -24
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/LoadingOverlay/LoadingOverlay.js +11 -11
- package/cjs/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/cjs/components/Mark/Mark.js +6 -7
- package/cjs/components/Mark/Mark.js.map +1 -1
- package/cjs/components/MediaQuery/MediaQuery.js.map +1 -1
- package/cjs/components/MediaQuery/MediaQuery.styles.js +11 -5
- package/cjs/components/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/cjs/components/Menu/Menu.js +12 -14
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js +8 -11
- package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.js +19 -15
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.js +3 -7
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +13 -7
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.js +4 -4
- package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/components/Notification/Notification.js +8 -14
- package/cjs/components/Notification/Notification.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +1 -1
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/Overlay/Overlay.js +17 -16
- package/cjs/components/Overlay/Overlay.js.map +1 -1
- package/cjs/components/Paper/Paper.js +8 -14
- package/cjs/components/Paper/Paper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +5 -5
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Popover/Popover.js +9 -6
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Popover/PopoverBody/PopoverBody.js +5 -3
- package/cjs/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
- package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js +3 -2
- package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
- package/cjs/components/Progress/Progress.js +7 -13
- package/cjs/components/Progress/Progress.js.map +1 -1
- package/cjs/components/RadioGroup/Radio/Radio.js +15 -7
- package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +4 -6
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RingProgress/RingProgress.js +7 -10
- package/cjs/components/RingProgress/RingProgress.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.js +10 -14
- package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.js +8 -14
- package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/components/Select/Select.js +13 -7
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js +11 -5
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/cjs/components/Select/SelectDropdown/SelectDropdown.styles.js +3 -2
- package/cjs/components/Select/SelectDropdown/SelectDropdown.styles.js.map +1 -1
- package/cjs/components/SimpleGrid/SimpleGrid.js +5 -14
- package/cjs/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/cjs/components/SimpleGrid/SimpleGrid.styles.js +2 -1
- package/cjs/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/cjs/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -1
- package/cjs/components/Skeleton/Skeleton.js +5 -11
- package/cjs/components/Skeleton/Skeleton.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js +2 -2
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/SliderRoot/SliderRoot.js +5 -7
- package/cjs/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
- package/cjs/components/Space/Space.js +12 -10
- package/cjs/components/Space/Space.js.map +1 -1
- package/cjs/components/Spoiler/Spoiler.js +6 -12
- package/cjs/components/Spoiler/Spoiler.js.map +1 -1
- package/cjs/components/Stepper/Step/Step.js +4 -8
- package/cjs/components/Stepper/Step/Step.js.map +1 -1
- package/cjs/components/Stepper/Stepper.js +7 -13
- package/cjs/components/Stepper/Stepper.js.map +1 -1
- package/cjs/components/Switch/Switch.js +7 -5
- package/cjs/components/Switch/Switch.js.map +1 -1
- package/cjs/components/Table/Table.js +6 -11
- package/cjs/components/Table/Table.js.map +1 -1
- package/cjs/components/Tabs/TabControl/TabControl.js +6 -8
- package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +9 -15
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Text/Text.js +10 -11
- package/cjs/components/Text/Text.js.map +1 -1
- package/cjs/components/TextInput/TextInput.js +4 -4
- package/cjs/components/TextInput/TextInput.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +4 -4
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.js +6 -12
- package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/cjs/components/Timeline/Timeline.js +10 -16
- package/cjs/components/Timeline/Timeline.js.map +1 -1
- package/cjs/components/Timeline/TimelineItem/TimelineItem.js +8 -11
- package/cjs/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
- package/cjs/components/Title/Title.js +10 -11
- package/cjs/components/Title/Title.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +6 -7
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TransferList/DefaultItem/DefaultItem.js +2 -5
- package/cjs/components/TransferList/DefaultItem/DefaultItem.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.js +2 -1
- package/cjs/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.styles.js +2 -2
- package/cjs/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -7
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.js +5 -10
- package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/components/Affix/Affix.js +4 -4
- package/esm/components/Affix/Affix.js.map +1 -1
- package/esm/components/Alert/Alert.js +4 -10
- package/esm/components/Alert/Alert.js.map +1 -1
- package/esm/components/Anchor/Anchor.js +2 -2
- package/esm/components/Anchor/Anchor.js.map +1 -1
- package/esm/components/AppShell/AppShell.js +5 -6
- package/esm/components/AppShell/AppShell.js.map +1 -1
- package/esm/components/AppShell/Header/Header.js +1 -3
- package/esm/components/AppShell/Header/Header.js.map +1 -1
- package/esm/components/AppShell/Navbar/Navbar.js +1 -3
- package/esm/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/esm/components/AppShell/Navbar/NavbarSection/NavbarSection.js +6 -9
- package/esm/components/AppShell/Navbar/NavbarSection/NavbarSection.js.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.js +11 -5
- package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/components/Avatar/Avatar.js +7 -16
- package/esm/components/Avatar/Avatar.js.map +1 -1
- package/esm/components/Avatar/AvatarsGroup/AvatarsGroup.js +3 -5
- package/esm/components/Avatar/AvatarsGroup/AvatarsGroup.js.map +1 -1
- package/esm/components/Badge/Badge.js +7 -16
- package/esm/components/Badge/Badge.js.map +1 -1
- package/esm/components/Blockquote/Blockquote.js +7 -12
- package/esm/components/Blockquote/Blockquote.js.map +1 -1
- package/esm/components/Box/Box.js +14 -4
- package/esm/components/Box/Box.js.map +1 -1
- package/esm/components/Breadcrumbs/Breadcrumbs.js +6 -24
- package/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/esm/components/Burger/Burger.js +8 -26
- package/esm/components/Burger/Burger.js.map +1 -1
- package/esm/components/Button/Button.js +9 -17
- package/esm/components/Button/Button.js.map +1 -1
- package/esm/components/Button/UnstyledButton/UnstyledButton.js +5 -3
- package/esm/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
- package/esm/components/Card/Card.js +8 -5
- package/esm/components/Card/Card.js.map +1 -1
- package/esm/components/Card/CardSection/CardSection.js +10 -10
- package/esm/components/Card/CardSection/CardSection.js.map +1 -1
- package/esm/components/Card/CardSection/CardSection.styles.js +4 -7
- package/esm/components/Card/CardSection/CardSection.styles.js.map +1 -1
- package/esm/components/Center/Center.js +12 -15
- package/esm/components/Center/Center.js.map +1 -1
- package/esm/components/Checkbox/Checkbox.js +12 -10
- package/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/esm/components/Chips/Chip/Chip.js +10 -8
- package/esm/components/Chips/Chip/Chip.js.map +1 -1
- package/esm/components/Code/Code.js +10 -28
- package/esm/components/Code/Code.js.map +1 -1
- package/esm/components/Collapse/Collapse.js +4 -15
- package/esm/components/Collapse/Collapse.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +9 -9
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/ColorPicker/ColorPicker.js +2 -5
- package/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.js +5 -8
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
- package/esm/components/ColorSwatch/ColorSwatch.js +5 -11
- package/esm/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/esm/components/Container/Container.js +5 -25
- package/esm/components/Container/Container.js.map +1 -1
- package/esm/components/Dialog/Dialog.js +3 -5
- package/esm/components/Dialog/Dialog.js.map +1 -1
- package/esm/components/Divider/Divider.js +9 -14
- package/esm/components/Divider/Divider.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +12 -18
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Drawer/Drawer.styles.js +0 -7
- package/esm/components/Drawer/Drawer.styles.js.map +1 -1
- package/esm/components/Grid/Col/Col.js +5 -6
- package/esm/components/Grid/Col/Col.js.map +1 -1
- package/esm/components/Grid/Grid.js +6 -12
- package/esm/components/Grid/Grid.js.map +1 -1
- package/esm/components/Group/Group.js +6 -12
- package/esm/components/Group/Group.js.map +1 -1
- package/esm/components/Highlight/Highlight.js +16 -4
- package/esm/components/Highlight/Highlight.js.map +1 -1
- package/esm/components/Image/Image.js +12 -22
- package/esm/components/Image/Image.js.map +1 -1
- package/esm/components/Input/Input.js +7 -7
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/InputWrapper/InputWrapper.js +5 -11
- package/esm/components/InputWrapper/InputWrapper.js.map +1 -1
- package/esm/components/Kbd/Kbd.js +6 -7
- package/esm/components/Kbd/Kbd.js.map +1 -1
- package/esm/components/List/List.js +11 -16
- package/esm/components/List/List.js.map +1 -1
- package/esm/components/List/ListItem/ListItem.js +7 -13
- package/esm/components/List/ListItem/ListItem.js.map +1 -1
- package/esm/components/Loader/Loader.js +9 -25
- package/esm/components/Loader/Loader.js.map +1 -1
- package/esm/components/LoadingOverlay/LoadingOverlay.js +12 -12
- package/esm/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/esm/components/Mark/Mark.js +6 -7
- package/esm/components/Mark/Mark.js.map +1 -1
- package/esm/components/MediaQuery/MediaQuery.js.map +1 -1
- package/esm/components/MediaQuery/MediaQuery.styles.js +11 -5
- package/esm/components/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/esm/components/Menu/Menu.js +13 -15
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js +6 -9
- package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/components/Modal/Modal.js +19 -15
- package/esm/components/Modal/Modal.js.map +1 -1
- package/esm/components/Modal/Modal.styles.js +3 -7
- package/esm/components/Modal/Modal.styles.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +14 -8
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.js +5 -5
- package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/components/Notification/Notification.js +8 -14
- package/esm/components/Notification/Notification.js.map +1 -1
- package/esm/components/NumberInput/NumberInput.js +1 -1
- package/esm/components/NumberInput/NumberInput.js.map +1 -1
- package/esm/components/Overlay/Overlay.js +18 -17
- package/esm/components/Overlay/Overlay.js.map +1 -1
- package/esm/components/Paper/Paper.js +8 -14
- package/esm/components/Paper/Paper.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +6 -6
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/Popover/Popover.js +9 -6
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/Popover/PopoverBody/PopoverBody.js +5 -3
- package/esm/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
- package/esm/components/Popover/PopoverBody/PopoverBody.styles.js +3 -2
- package/esm/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
- package/esm/components/Progress/Progress.js +6 -12
- package/esm/components/Progress/Progress.js.map +1 -1
- package/esm/components/RadioGroup/Radio/Radio.js +15 -7
- package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/esm/components/RadioGroup/RadioGroup.js +4 -6
- package/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/esm/components/RingProgress/RingProgress.js +7 -10
- package/esm/components/RingProgress/RingProgress.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.js +9 -13
- package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.js +7 -13
- package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/components/Select/Select.js +14 -8
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Select/SelectDropdown/SelectDropdown.js +11 -5
- package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/esm/components/Select/SelectDropdown/SelectDropdown.styles.js +3 -2
- package/esm/components/Select/SelectDropdown/SelectDropdown.styles.js.map +1 -1
- package/esm/components/SimpleGrid/SimpleGrid.js +4 -13
- package/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/esm/components/SimpleGrid/SimpleGrid.styles.js +2 -1
- package/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/esm/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -1
- package/esm/components/Skeleton/Skeleton.js +4 -10
- package/esm/components/Skeleton/Skeleton.js.map +1 -1
- package/esm/components/Slider/Slider/Slider.js +2 -2
- package/esm/components/Slider/Slider/Slider.js.map +1 -1
- package/esm/components/Slider/SliderRoot/SliderRoot.js +5 -7
- package/esm/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
- package/esm/components/Space/Space.js +12 -10
- package/esm/components/Space/Space.js.map +1 -1
- package/esm/components/Spoiler/Spoiler.js +6 -12
- package/esm/components/Spoiler/Spoiler.js.map +1 -1
- package/esm/components/Stepper/Step/Step.js +3 -7
- package/esm/components/Stepper/Step/Step.js.map +1 -1
- package/esm/components/Stepper/Stepper.js +6 -12
- package/esm/components/Stepper/Stepper.js.map +1 -1
- package/esm/components/Switch/Switch.js +8 -6
- package/esm/components/Switch/Switch.js.map +1 -1
- package/esm/components/Table/Table.js +6 -11
- package/esm/components/Table/Table.js.map +1 -1
- package/esm/components/Tabs/TabControl/TabControl.js +4 -6
- package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/esm/components/Tabs/Tabs.js +7 -13
- package/esm/components/Tabs/Tabs.js.map +1 -1
- package/esm/components/Text/Text.js +10 -11
- package/esm/components/Text/Text.js.map +1 -1
- package/esm/components/TextInput/TextInput.js +5 -5
- package/esm/components/TextInput/TextInput.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +5 -5
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.js +6 -12
- package/esm/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/esm/components/Timeline/Timeline.js +10 -16
- package/esm/components/Timeline/Timeline.js.map +1 -1
- package/esm/components/Timeline/TimelineItem/TimelineItem.js +6 -9
- package/esm/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
- package/esm/components/Title/Title.js +8 -9
- package/esm/components/Title/Title.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +6 -7
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/components/TransferList/DefaultItem/DefaultItem.js +2 -5
- package/esm/components/TransferList/DefaultItem/DefaultItem.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.js +2 -1
- package/esm/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.styles.js +2 -2
- package/esm/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -7
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/lib/components/ActionIcon/ActionIcon.d.ts.map +1 -1
- package/lib/components/ActionIcon/ActionIcon.styles.d.ts +2 -2
- package/lib/components/Affix/Affix.d.ts.map +1 -1
- package/lib/components/Alert/Alert.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/AppShell/Header/Header.d.ts.map +1 -1
- package/lib/components/AppShell/Navbar/Navbar.d.ts.map +1 -1
- package/lib/components/AppShell/Navbar/NavbarSection/NavbarSection.d.ts.map +1 -1
- package/lib/components/Autocomplete/Autocomplete.d.ts +5 -41
- package/lib/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/components/Avatar/Avatar.d.ts.map +1 -1
- package/lib/components/Avatar/AvatarsGroup/AvatarsGroup.d.ts.map +1 -1
- package/lib/components/Badge/Badge.d.ts.map +1 -1
- package/lib/components/Blockquote/Blockquote.d.ts.map +1 -1
- package/lib/components/Box/Box.d.ts +5 -2
- package/lib/components/Box/Box.d.ts.map +1 -1
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/lib/components/Burger/Burger.d.ts.map +1 -1
- package/lib/components/Button/Button.d.ts.map +1 -1
- package/lib/components/Button/Button.styles.d.ts +2 -2
- package/lib/components/Button/UnstyledButton/UnstyledButton.d.ts.map +1 -1
- package/lib/components/Card/Card.d.ts +2 -2
- package/lib/components/Card/Card.d.ts.map +1 -1
- package/lib/components/Card/CardSection/CardSection.d.ts +10 -6
- package/lib/components/Card/CardSection/CardSection.d.ts.map +1 -1
- package/lib/components/Card/CardSection/CardSection.styles.d.ts +2 -0
- package/lib/components/Card/CardSection/CardSection.styles.d.ts.map +1 -1
- package/lib/components/Center/Center.d.ts.map +1 -1
- package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/Chips/Chip/Chip.d.ts.map +1 -1
- package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
- package/lib/components/Code/Code.d.ts.map +1 -1
- package/lib/components/Collapse/Collapse.d.ts +1 -1
- package/lib/components/Collapse/Collapse.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.d.ts +2 -2
- package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/components/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/lib/components/ColorPicker/ColorSlider/ColorSlider.d.ts.map +1 -1
- package/lib/components/ColorSwatch/ColorSwatch.d.ts.map +1 -1
- package/lib/components/ColorSwatch/ColorSwatch.styles.d.ts +2 -2
- package/lib/components/Container/Container.d.ts.map +1 -1
- package/lib/components/Dialog/Dialog.d.ts +1 -1
- package/lib/components/Dialog/Dialog.d.ts.map +1 -1
- package/lib/components/Divider/Divider.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.d.ts +2 -2
- package/lib/components/Drawer/Drawer.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
- package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
- package/lib/components/Grid/Col/Col.d.ts +3 -3
- package/lib/components/Grid/Col/Col.d.ts.map +1 -1
- package/lib/components/Grid/Grid.d.ts.map +1 -1
- package/lib/components/Group/Group.d.ts.map +1 -1
- package/lib/components/Highlight/Highlight.d.ts +3 -1
- package/lib/components/Highlight/Highlight.d.ts.map +1 -1
- package/lib/components/Image/Image.d.ts.map +1 -1
- package/lib/components/Input/Input.d.ts.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +2 -2
- package/lib/components/InputWrapper/InputWrapper.d.ts.map +1 -1
- package/lib/components/Kbd/Kbd.d.ts.map +1 -1
- package/lib/components/List/List.d.ts +6 -5
- package/lib/components/List/List.d.ts.map +1 -1
- package/lib/components/List/ListItem/ListItem.d.ts +1 -1
- package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
- package/lib/components/Loader/Loader.d.ts +1 -1
- package/lib/components/Loader/Loader.d.ts.map +1 -1
- package/lib/components/LoadingOverlay/LoadingOverlay.d.ts +2 -5
- package/lib/components/LoadingOverlay/LoadingOverlay.d.ts.map +1 -1
- package/lib/components/Mark/Mark.d.ts.map +1 -1
- package/lib/components/MediaQuery/MediaQuery.d.ts +2 -2
- package/lib/components/MediaQuery/MediaQuery.d.ts.map +1 -1
- package/lib/components/MediaQuery/MediaQuery.styles.d.ts.map +1 -1
- package/lib/components/Menu/Menu.d.ts +1 -1
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/components/Modal/Modal.d.ts +4 -2
- package/lib/components/Modal/Modal.d.ts.map +1 -1
- package/lib/components/Modal/Modal.styles.d.ts +2 -2
- package/lib/components/Modal/Modal.styles.d.ts.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts +4 -44
- package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/components/Notification/Notification.d.ts.map +1 -1
- package/lib/components/Overlay/Overlay.d.ts.map +1 -1
- package/lib/components/Paper/Paper.d.ts.map +1 -1
- package/lib/components/PasswordInput/PasswordInput.d.ts +2 -2
- package/lib/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/components/Popover/Popover.d.ts +6 -4
- package/lib/components/Popover/Popover.d.ts.map +1 -1
- package/lib/components/Popover/PopoverBody/PopoverBody.d.ts +3 -1
- package/lib/components/Popover/PopoverBody/PopoverBody.d.ts.map +1 -1
- package/lib/components/Popover/PopoverBody/PopoverBody.styles.d.ts +1 -0
- package/lib/components/Popover/PopoverBody/PopoverBody.styles.d.ts.map +1 -1
- package/lib/components/Popover/stories/_wrapper.d.ts.map +1 -1
- package/lib/components/Popper/Popper.styles.d.ts +2 -2
- package/lib/components/Progress/Progress.d.ts.map +1 -1
- package/lib/components/RadioGroup/Radio/Radio.d.ts +2 -0
- package/lib/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
- package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/lib/components/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.styles.d.ts +2 -2
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/components/Select/Select.d.ts +32 -26
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts +2 -0
- package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
- package/lib/components/Select/SelectDropdown/SelectDropdown.styles.d.ts +4 -1
- package/lib/components/Select/SelectDropdown/SelectDropdown.styles.d.ts.map +1 -1
- package/lib/components/Select/index.d.ts +1 -0
- package/lib/components/Select/index.d.ts.map +1 -1
- package/lib/components/Select/types.d.ts +1 -2
- package/lib/components/Select/types.d.ts.map +1 -1
- package/lib/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/lib/components/SimpleGrid/SimpleGrid.styles.d.ts.map +1 -1
- package/lib/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.d.ts +1 -1
- package/lib/components/SimpleGrid/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +1 -1
- package/lib/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/lib/components/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
- package/lib/components/Space/Space.d.ts.map +1 -1
- package/lib/components/Spoiler/Spoiler.d.ts.map +1 -1
- package/lib/components/Stepper/Step/Step.d.ts.map +1 -1
- package/lib/components/Stepper/Stepper.d.ts.map +1 -1
- package/lib/components/Stepper/Stepper.styles.d.ts +2 -2
- package/lib/components/Switch/Switch.d.ts.map +1 -1
- package/lib/components/Table/Table.d.ts.map +1 -1
- package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
- package/lib/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
- package/lib/components/Tabs/TabControl/TabControl.styles.d.ts +2 -2
- package/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
- package/lib/components/Text/Text.d.ts.map +1 -1
- package/lib/components/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/Textarea/Textarea.d.ts.map +1 -1
- package/lib/components/ThemeIcon/ThemeIcon.d.ts.map +1 -1
- package/lib/components/Timeline/Timeline.d.ts +6 -5
- package/lib/components/Timeline/Timeline.d.ts.map +1 -1
- package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +1 -1
- package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts.map +1 -1
- package/lib/components/Title/Title.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts +4 -4
- package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/components/TransferList/DefaultItem/DefaultItem.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.styles.d.ts +1 -0
- package/lib/components/TransferList/RenderList/RenderList.styles.d.ts.map +1 -1
- package/lib/components/TypographyStylesProvider/TypographyStylesProvider.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import React, { forwardRef, useState, useRef, cloneElement } from 'react';
|
|
2
2
|
import { useUuid, useUncontrolled, useWindowEvent, useClickOutside, useMergedRef } from '@mantine/hooks';
|
|
3
|
-
import { getDefaultZIndex
|
|
4
|
-
import { Divider } from '../Divider/Divider.js';
|
|
5
|
-
import { Paper } from '../Paper/Paper.js';
|
|
6
|
-
import { Text } from '../Text/Text.js';
|
|
7
|
-
import { ActionIcon } from '../ActionIcon/ActionIcon.js';
|
|
8
|
-
import { Popper } from '../Popper/Popper.js';
|
|
3
|
+
import { getDefaultZIndex } from '@mantine/styles';
|
|
9
4
|
import { MenuIcon } from './MenuIcon.js';
|
|
10
5
|
import { MenuItem } from './MenuItem/MenuItem.js';
|
|
11
6
|
import { MenuLabel } from './MenuLabel/MenuLabel.js';
|
|
12
7
|
import useStyles from './Menu.styles.js';
|
|
8
|
+
import { Divider } from '../Divider/Divider.js';
|
|
9
|
+
import { Text } from '../Text/Text.js';
|
|
10
|
+
import { Box } from '../Box/Box.js';
|
|
11
|
+
import { Popper } from '../Popper/Popper.js';
|
|
12
|
+
import { Paper } from '../Paper/Paper.js';
|
|
13
|
+
import { ActionIcon } from '../ActionIcon/ActionIcon.js';
|
|
13
14
|
|
|
14
15
|
var __defProp = Object.defineProperty;
|
|
15
16
|
var __defProps = Object.defineProperties;
|
|
@@ -77,7 +78,6 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
77
78
|
onClose,
|
|
78
79
|
onOpen,
|
|
79
80
|
opened,
|
|
80
|
-
style,
|
|
81
81
|
menuId,
|
|
82
82
|
closeOnItemClick = true,
|
|
83
83
|
transitionDuration = 250,
|
|
@@ -93,7 +93,7 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
93
93
|
controlRefProp = "ref",
|
|
94
94
|
trigger = "click",
|
|
95
95
|
radius = "sm",
|
|
96
|
-
delay =
|
|
96
|
+
delay = 100,
|
|
97
97
|
zIndex = getDefaultZIndex("popover"),
|
|
98
98
|
withinPortal = true,
|
|
99
99
|
trapFocus = true,
|
|
@@ -111,7 +111,6 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
111
111
|
"onClose",
|
|
112
112
|
"onOpen",
|
|
113
113
|
"opened",
|
|
114
|
-
"style",
|
|
115
114
|
"menuId",
|
|
116
115
|
"closeOnItemClick",
|
|
117
116
|
"transitionDuration",
|
|
@@ -142,13 +141,12 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
142
141
|
]);
|
|
143
142
|
const [hovered, setHovered] = useState(-1);
|
|
144
143
|
const buttonsRefs = useRef({});
|
|
145
|
-
const { classes, cx, theme } = useStyles({ size }, {
|
|
144
|
+
const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: "Menu" });
|
|
146
145
|
const delayTimeout = useRef();
|
|
147
146
|
const [referenceElement, setReferenceElement] = useState(null);
|
|
148
147
|
const [wrapperElement, setWrapperElement] = useState(null);
|
|
149
148
|
const [dropdownElement, setDropdownElement] = useState(null);
|
|
150
149
|
const uuid = useUuid(menuId);
|
|
151
|
-
const { mergedStyles, rest } = useExtractedMargins({ others, style });
|
|
152
150
|
const focusReference = () => window.setTimeout(() => referenceElement == null ? void 0 : referenceElement.focus(), 0);
|
|
153
151
|
const [_opened, setOpened] = useUncontrolled({
|
|
154
152
|
value: opened,
|
|
@@ -263,13 +261,13 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
263
261
|
}
|
|
264
262
|
return null;
|
|
265
263
|
});
|
|
266
|
-
return /* @__PURE__ */ React.createElement(
|
|
264
|
+
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
267
265
|
ref: setWrapperElement,
|
|
268
|
-
style: mergedStyles,
|
|
269
266
|
onMouseLeave: handleMouseLeave,
|
|
270
267
|
onMouseEnter: handleMouseEnter,
|
|
271
|
-
className: cx(classes.root, className)
|
|
272
|
-
|
|
268
|
+
className: cx(classes.root, className),
|
|
269
|
+
sx
|
|
270
|
+
}, others), menuControl, /* @__PURE__ */ React.createElement(Popper, {
|
|
273
271
|
referenceElement,
|
|
274
272
|
transitionDuration,
|
|
275
273
|
transitionTimingFunction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n useExtractedMargins,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Divider } from '../Divider/Divider';\nimport { Paper } from '../Paper/Paper';\nimport { Text } from '../Text/Text';\nimport { ActionIcon } from '../ActionIcon/ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper/Popper';\nimport { MenuIcon } from './MenuIcon';\nimport {\n MenuItem,\n MenuItemComponent,\n MenuItemType,\n MenuItemStylesNames,\n} from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelProps } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize;\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = {\n displayName?: string;\n Item: MenuItemComponent;\n Label: React.FC<MenuLabelProps>;\n} & ((props: MenuProps) => React.ReactElement);\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (\n {\n control = defaultControl,\n children,\n onClose,\n onOpen,\n opened,\n style,\n menuId,\n closeOnItemClick = true,\n transitionDuration = 250,\n size = 'md',\n shadow = 'md',\n position = 'bottom',\n placement = 'start',\n gutter = 5,\n withArrow = false,\n transition = 'pop-top-left',\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp = 'ref',\n trigger = 'click',\n radius = 'sm',\n delay = 0,\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n trapFocus = true,\n classNames,\n styles,\n closeOnScroll = false,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n ...others\n }: MenuProps,\n ref\n ) => {\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { sx, classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(menuId);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), null, [dropdownElement, wrapperElement]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const items = React.Children.toArray(children).filter(\n (item: MenuItemType) =>\n item.type === MenuItem || item.type === Divider || item.type === MenuLabel\n ) as MenuItemType[];\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <div\n ref={setWrapperElement}\n style={mergedStyles}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n {...rest}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </div>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { Paper } from '../Paper';\nimport { Text } from '../Text';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport {\n MenuItem,\n MenuItemComponent,\n MenuItemType,\n MenuItemStylesNames,\n} from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelProps } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize;\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = {\n displayName?: string;\n Item: MenuItemComponent;\n Label: React.FC<MenuLabelProps>;\n} & ((props: MenuProps) => React.ReactElement);\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (\n {\n control = defaultControl,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick = true,\n transitionDuration = 250,\n size = 'md',\n shadow = 'md',\n position = 'bottom',\n placement = 'start',\n gutter = 5,\n withArrow = false,\n transition = 'pop-top-left',\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp = 'ref',\n trigger = 'click',\n radius = 'sm',\n delay = 100,\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n trapFocus = true,\n classNames,\n styles,\n closeOnScroll = false,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n ...others\n }: MenuProps,\n ref\n ) => {\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), null, [dropdownElement, wrapperElement]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const items = React.Children.toArray(children).filter(\n (item: MenuItemType) =>\n item.type === MenuItem || item.type === Divider || item.type === MenuLabel\n ) as MenuItemType[];\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </Box>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { useSx } from '@mantine/styles';
|
|
3
2
|
import useStyles from './MenuItem.styles.js';
|
|
3
|
+
import { Box } from '../../Box/Box.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -43,8 +43,7 @@ const MenuItem = forwardRef((_a, ref) => {
|
|
|
43
43
|
component,
|
|
44
44
|
classNames,
|
|
45
45
|
styles,
|
|
46
|
-
radius
|
|
47
|
-
sx
|
|
46
|
+
radius
|
|
48
47
|
} = _b, others = __objRest(_b, [
|
|
49
48
|
"className",
|
|
50
49
|
"children",
|
|
@@ -57,16 +56,14 @@ const MenuItem = forwardRef((_a, ref) => {
|
|
|
57
56
|
"component",
|
|
58
57
|
"classNames",
|
|
59
58
|
"styles",
|
|
60
|
-
"radius"
|
|
61
|
-
"sx"
|
|
59
|
+
"radius"
|
|
62
60
|
]);
|
|
63
|
-
const { sxClassName } = useSx({ sx });
|
|
64
61
|
const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: "Menu" });
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
63
|
+
component: component || "button",
|
|
67
64
|
type: "button",
|
|
68
65
|
role: "menuitem",
|
|
69
|
-
className: cx(classes.item, { [classes.itemHovered]: hovered },
|
|
66
|
+
className: cx(classes.item, { [classes.itemHovered]: hovered }, className),
|
|
70
67
|
onMouseEnter: () => !disabled && onHover(),
|
|
71
68
|
ref,
|
|
72
69
|
disabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n MantineNumberSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n MantineNumberSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n DefaultProps,\n MantineColor,\n} from '@mantine/styles';\nimport { Box } from '../../Box';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SharedMenuItemProps extends DefaultProps<MenuItemStylesNames> {\n /** Item label */\n children: React.ReactNode;\n\n /** Icon rendered on the left side of label */\n icon?: React.ReactNode;\n\n /** Any color from theme.colors */\n color?: MantineColor;\n\n /** Any react node to render on the right side of item, for example, keyboard shortcut or badge */\n rightSection?: React.ReactNode;\n\n /** Is item disabled */\n disabled?: boolean;\n\n /** Is item hovered, controlled by parent Menu component */\n hovered?: boolean;\n\n /** Called when item is hovered, controlled by parent Menu component */\n onHover?(): void;\n\n /** Border radius, controlled by parent Menu component */\n radius?: MantineNumberSize;\n}\n\nexport type MenuItemProps<C extends React.ElementType> = PolymorphicComponentProps<\n C,\n SharedMenuItemProps\n>;\n\nexport type MenuItemComponent = <C extends React.ElementType = 'button'>(\n props: MenuItemProps<C>\n) => React.ReactElement;\n\nexport interface MenuItemType {\n type: any;\n props: MenuItemProps<'button'>;\n ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement) => void);\n}\n\nexport const MenuItem: MenuItemComponent & { displayName?: string } = forwardRef(\n <C extends React.ElementType = 'button'>(\n {\n className,\n children,\n onHover,\n hovered,\n icon,\n color,\n disabled,\n rightSection,\n component,\n classNames,\n styles,\n radius,\n ...others\n }: MenuItemProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: 'Menu' });\n\n return (\n <Box<any>\n component={component || 'button'}\n type=\"button\"\n role=\"menuitem\"\n className={cx(classes.item, { [classes.itemHovered]: hovered }, className)}\n onMouseEnter={() => !disabled && onHover()}\n ref={ref}\n disabled={disabled}\n {...others}\n >\n <div className={classes.itemInner}>\n {icon && <div className={classes.itemIcon}>{icon}</div>}\n\n <div className={classes.itemBody}>\n <div className={classes.itemLabel}>{children}</div>\n {rightSection}\n </div>\n </div>\n </Box>\n );\n }\n) as any;\n\nMenuItem.displayName = '@mantine/core/MenuItem';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useUuid, useFocusTrap, useScrollLock, useFocusReturn } from '@mantine/hooks';
|
|
3
3
|
import { getDefaultZIndex } from '@mantine/styles';
|
|
4
|
-
import { CloseButton } from '../ActionIcon/CloseButton/CloseButton.js';
|
|
5
|
-
import { Text } from '../Text/Text.js';
|
|
6
|
-
import { Paper } from '../Paper/Paper.js';
|
|
7
|
-
import { Overlay } from '../Overlay/Overlay.js';
|
|
8
|
-
import { Portal } from '../Portal/Portal.js';
|
|
9
4
|
import useStyles from './Modal.styles.js';
|
|
5
|
+
import { Portal } from '../Portal/Portal.js';
|
|
10
6
|
import { GroupedTransition } from '../Transition/GroupedTransition.js';
|
|
7
|
+
import { Box } from '../Box/Box.js';
|
|
8
|
+
import { Paper } from '../Paper/Paper.js';
|
|
9
|
+
import { Text } from '../Text/Text.js';
|
|
10
|
+
import { CloseButton } from '../ActionIcon/CloseButton/CloseButton.js';
|
|
11
|
+
import { Overlay } from '../Overlay/Overlay.js';
|
|
11
12
|
|
|
12
13
|
var __defProp = Object.defineProperty;
|
|
13
14
|
var __defProps = Object.defineProperties;
|
|
@@ -57,10 +58,10 @@ function MantineModal(_a) {
|
|
|
57
58
|
transition = "pop",
|
|
58
59
|
padding = "lg",
|
|
59
60
|
shadow = "lg",
|
|
61
|
+
radius = "sm",
|
|
60
62
|
id,
|
|
61
63
|
classNames,
|
|
62
64
|
styles,
|
|
63
|
-
sx,
|
|
64
65
|
closeOnClickOutside = true,
|
|
65
66
|
centered = false
|
|
66
67
|
} = _b, others = __objRest(_b, [
|
|
@@ -79,17 +80,17 @@ function MantineModal(_a) {
|
|
|
79
80
|
"transition",
|
|
80
81
|
"padding",
|
|
81
82
|
"shadow",
|
|
83
|
+
"radius",
|
|
82
84
|
"id",
|
|
83
85
|
"classNames",
|
|
84
86
|
"styles",
|
|
85
|
-
"sx",
|
|
86
87
|
"closeOnClickOutside",
|
|
87
88
|
"centered"
|
|
88
89
|
]);
|
|
89
90
|
const baseId = useUuid(id);
|
|
90
91
|
const titleId = `${baseId}-title`;
|
|
91
92
|
const bodyId = `${baseId}-body`;
|
|
92
|
-
const { classes, cx, theme } = useStyles({ size, overflow, centered }, {
|
|
93
|
+
const { classes, cx, theme } = useStyles({ size, overflow, centered }, { classNames, styles, name: "Modal" });
|
|
93
94
|
const focusTrapRef = useFocusTrap(opened);
|
|
94
95
|
const _overlayOpacity = typeof overlayOpacity === "number" ? overlayOpacity : theme.colorScheme === "dark" ? 0.85 : 0.75;
|
|
95
96
|
const [, lockScroll] = useScrollLock();
|
|
@@ -100,16 +101,17 @@ function MantineModal(_a) {
|
|
|
100
101
|
mounted: opened,
|
|
101
102
|
transitions: {
|
|
102
103
|
modal: { duration: transitionDuration, transition },
|
|
103
|
-
overlay: {
|
|
104
|
+
overlay: {
|
|
105
|
+
duration: transitionDuration / 2,
|
|
106
|
+
transition: "fade",
|
|
107
|
+
timingFunction: "ease"
|
|
108
|
+
}
|
|
104
109
|
}
|
|
105
|
-
}, (transitionStyles) => /* @__PURE__ */ React.createElement(
|
|
110
|
+
}, (transitionStyles) => /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
106
111
|
className: cx(classes.root, className)
|
|
107
|
-
}, others),
|
|
108
|
-
onClick: onClose,
|
|
109
|
-
className: classes.clickOutsideOverlay,
|
|
110
|
-
style: { zIndex: 2 }
|
|
111
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
112
|
+
}, others), /* @__PURE__ */ React.createElement("div", {
|
|
112
113
|
className: classes.inner,
|
|
114
|
+
onClick: () => closeOnClickOutside && onClose(),
|
|
113
115
|
onKeyDownCapture: (event) => {
|
|
114
116
|
var _a2;
|
|
115
117
|
const shouldTrigger = ((_a2 = event.target) == null ? void 0 : _a2.getAttribute("data-mantine-stop-propagation")) !== "true";
|
|
@@ -117,9 +119,11 @@ function MantineModal(_a) {
|
|
|
117
119
|
},
|
|
118
120
|
ref: focusTrapRef
|
|
119
121
|
}, /* @__PURE__ */ React.createElement(Paper, {
|
|
122
|
+
onClick: (event) => event.stopPropagation(),
|
|
120
123
|
className: classes.modal,
|
|
121
124
|
shadow,
|
|
122
125
|
padding,
|
|
126
|
+
radius,
|
|
123
127
|
role: "dialog",
|
|
124
128
|
"aria-labelledby": titleId,
|
|
125
129
|
"aria-describedby": bodyId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineMargin,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { CloseButton } from '../ActionIcon/CloseButton/CloseButton';\nimport { Text } from '../Text/Text';\nimport { Paper } from '../Paper/Paper';\nimport { Overlay } from '../Overlay/Overlay';\nimport { Portal } from '../Portal/Portal';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles from './Modal.styles';\n\nexport type ModalStylesNames = Exclude<ClassNames<typeof useStyles>, 'clickOutsideOverlay'>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames>, MantineMargin>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Mounts modal if true */\n opened: boolean;\n\n /** Called when close button clicked and when escape key is pressed */\n onClose(): void;\n\n /** Modal title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Modal z-index property */\n zIndex?: number;\n\n /** Control vertical overflow behavior */\n overflow?: 'outside' | 'inside';\n\n /** Hides close button, modal still can be closed with escape key and by clicking outside */\n hideCloseButton?: boolean;\n\n /** Overlay below modal opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Overlay below modal color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Modal body width */\n size?: string | number;\n\n /** Modal body transition */\n transition?: MantineTransition;\n\n /** Duration in ms of modal transitions, set to 0 to disable all animations */\n transitionDuration?: number;\n\n /** Modal body transitionTimingFunction, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** id base, used to generate ids to connect modal title and body with aria- attributes, defaults to random id */\n id?: string;\n\n /** Modal shadow from theme or css value */\n shadow?: MantineShadow;\n\n /** Modal padding from theme or number value for padding in px */\n padding?: MantineNumberSize;\n\n /** Should modal be closed when outside click was registered? */\n closeOnClickOutside?: boolean;\n\n /** Controls if modal should be centered */\n centered?: boolean;\n}\n\nexport function MantineModal({\n className,\n opened,\n title,\n onClose,\n children,\n hideCloseButton = false,\n overlayOpacity,\n size = 'md',\n transitionDuration = 300,\n closeButtonLabel,\n overlayColor,\n overflow = 'outside',\n transition = 'pop',\n padding = 'lg',\n shadow = 'lg',\n id,\n classNames,\n styles,\n sx,\n closeOnClickOutside = true,\n centered = false,\n ...others\n}: ModalProps) {\n const baseId = useUuid(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered },\n { sx, classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(opened);\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const [, lockScroll] = useScrollLock();\n useFocusReturn({ opened, transitionDuration });\n\n return (\n <GroupedTransition\n onExited={() => lockScroll(false)}\n onEntered={() => lockScroll(true)}\n mounted={opened}\n transitions={{\n modal: { duration: transitionDuration, transition },\n overlay: { duration: transitionDuration / 2, transition: 'fade', timingFunction: 'ease' },\n }}\n >\n {(transitionStyles) => (\n <div className={cx(classes.root, className)} {...others}>\n {closeOnClickOutside && (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div onClick={onClose} className={classes.clickOutsideOverlay} style={{ zIndex: 2 }} />\n )}\n\n <div\n className={classes.inner}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.nativeEvent.code === 'Escape' && onClose();\n }}\n ref={focusTrapRef}\n >\n <Paper<'div'>\n className={classes.modal}\n shadow={shadow}\n padding={padding}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={bodyId}\n aria-modal\n tabIndex={-1}\n style={{\n ...transitionStyles.modal,\n marginLeft: 'calc(var(--removed-scroll-width, 0px) * -1)',\n zIndex: 3,\n }}\n >\n {(title || !hideCloseButton) && (\n <div className={classes.header}>\n <Text id={titleId} className={classes.title}>\n {title}\n </Text>\n\n {!hideCloseButton && (\n <CloseButton iconSize={16} onClick={onClose} aria-label={closeButtonLabel} />\n )}\n </div>\n )}\n\n <div id={bodyId} className={classes.body}>\n {children}\n </div>\n </Paper>\n </div>\n\n <div style={transitionStyles.overlay}>\n <Overlay\n zIndex={0}\n color={\n overlayColor || (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n />\n </div>\n </div>\n )}\n </GroupedTransition>\n );\n}\n\nexport function Modal({\n zIndex = getDefaultZIndex('modal'),\n ...props\n}: React.ComponentPropsWithoutRef<typeof MantineModal>) {\n return (\n <Portal zIndex={zIndex}>\n <MantineModal {...props} />\n </Portal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport React from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineMargin,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { CloseButton } from '../ActionIcon';\nimport { Text } from '../Text';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { Portal } from '../Portal';\nimport { Box } from '../Box';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles from './Modal.styles';\n\nexport type ModalStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames>, MantineMargin>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Mounts modal if true */\n opened: boolean;\n\n /** Called when close button clicked and when escape key is pressed */\n onClose(): void;\n\n /** Modal title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Modal z-index property */\n zIndex?: number;\n\n /** Control vertical overflow behavior */\n overflow?: 'outside' | 'inside';\n\n /** Hides close button, modal still can be closed with escape key and by clicking outside */\n hideCloseButton?: boolean;\n\n /** Overlay below modal opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Overlay below modal color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Modal radius */\n radius?: MantineNumberSize;\n\n /** Modal body width */\n size?: string | number;\n\n /** Modal body transition */\n transition?: MantineTransition;\n\n /** Duration in ms of modal transitions, set to 0 to disable all animations */\n transitionDuration?: number;\n\n /** Modal body transitionTimingFunction, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** id base, used to generate ids to connect modal title and body with aria- attributes, defaults to random id */\n id?: string;\n\n /** Modal shadow from theme or css value */\n shadow?: MantineShadow;\n\n /** Modal padding from theme or number value for padding in px */\n padding?: MantineNumberSize;\n\n /** Should modal be closed when outside click was registered? */\n closeOnClickOutside?: boolean;\n\n /** Controls if modal should be centered */\n centered?: boolean;\n}\n\nexport function MantineModal({\n className,\n opened,\n title,\n onClose,\n children,\n hideCloseButton = false,\n overlayOpacity,\n size = 'md',\n transitionDuration = 300,\n closeButtonLabel,\n overlayColor,\n overflow = 'outside',\n transition = 'pop',\n padding = 'lg',\n shadow = 'lg',\n radius = 'sm',\n id,\n classNames,\n styles,\n closeOnClickOutside = true,\n centered = false,\n ...others\n}: ModalProps) {\n const baseId = useUuid(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered },\n { classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(opened);\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const [, lockScroll] = useScrollLock();\n useFocusReturn({ opened, transitionDuration });\n\n return (\n <GroupedTransition\n onExited={() => lockScroll(false)}\n onEntered={() => lockScroll(true)}\n mounted={opened}\n transitions={{\n modal: { duration: transitionDuration, transition },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n <Box className={cx(classes.root, className)} {...others}>\n <div\n className={classes.inner}\n onClick={() => closeOnClickOutside && onClose()}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.nativeEvent.code === 'Escape' && onClose();\n }}\n ref={focusTrapRef}\n >\n <Paper<'div'>\n onClick={(event) => event.stopPropagation()}\n className={classes.modal}\n shadow={shadow}\n padding={padding}\n radius={radius}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={bodyId}\n aria-modal\n tabIndex={-1}\n style={{\n ...transitionStyles.modal,\n marginLeft: 'calc(var(--removed-scroll-width, 0px) * -1)',\n zIndex: 3,\n }}\n >\n {(title || !hideCloseButton) && (\n <div className={classes.header}>\n <Text id={titleId} className={classes.title}>\n {title}\n </Text>\n\n {!hideCloseButton && (\n <CloseButton iconSize={16} onClick={onClose} aria-label={closeButtonLabel} />\n )}\n </div>\n )}\n\n <div id={bodyId} className={classes.body}>\n {children}\n </div>\n </Paper>\n </div>\n\n <div style={transitionStyles.overlay}>\n <Overlay\n zIndex={0}\n color={\n overlayColor || (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n />\n </div>\n </Box>\n )}\n </GroupedTransition>\n );\n}\n\nexport function Modal({\n zIndex = getDefaultZIndex('modal'),\n ...props\n}: React.ComponentPropsWithoutRef<typeof MantineModal>) {\n return (\n <Portal zIndex={zIndex}>\n <MantineModal {...props} />\n </Portal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":[],"mappings":"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"}
|
|
@@ -22,19 +22,13 @@ var useStyles = createStyles((theme, { overflow, size, centered }) => ({
|
|
|
22
22
|
left: 0,
|
|
23
23
|
right: 0,
|
|
24
24
|
bottom: 0,
|
|
25
|
+
zIndex: 4,
|
|
25
26
|
overflowY: "auto",
|
|
26
27
|
padding: `${theme.spacing.xl * 2}px ${theme.spacing.md}px`,
|
|
27
28
|
display: "flex",
|
|
28
29
|
justifyContent: "center",
|
|
29
30
|
alignItems: centered ? "center" : "flex-start"
|
|
30
31
|
},
|
|
31
|
-
clickOutsideOverlay: {
|
|
32
|
-
position: "fixed",
|
|
33
|
-
top: 0,
|
|
34
|
-
left: 0,
|
|
35
|
-
right: 0,
|
|
36
|
-
bottom: 0
|
|
37
|
-
},
|
|
38
32
|
title: {
|
|
39
33
|
marginRight: theme.spacing.md,
|
|
40
34
|
textOverflow: "ellipsis",
|
|
@@ -42,6 +36,8 @@ var useStyles = createStyles((theme, { overflow, size, centered }) => ({
|
|
|
42
36
|
wordBreak: "break-word"
|
|
43
37
|
},
|
|
44
38
|
modal: {
|
|
39
|
+
position: "relative",
|
|
40
|
+
zIndex: 5,
|
|
45
41
|
width: theme.fn.size({ sizes, size }),
|
|
46
42
|
outline: 0,
|
|
47
43
|
backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.styles.js","sources":["../../../src/components/Modal/Modal.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport const sizes = {\n xs: 320,\n sm: 380,\n md: 440,\n lg: 620,\n xl: 780,\n full: '100%',\n};\n\ninterface ModalStyles {\n overflow: 'outside' | 'inside';\n size: string | number;\n centered: boolean;\n}\n\nexport default createStyles((theme, { overflow, size, centered }: ModalStyles) => ({\n root: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n\n inner: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflowY: 'auto',\n padding: `${theme.spacing.xl * 2}px ${theme.spacing.md}px`,\n display: 'flex',\n justifyContent: 'center',\n alignItems: centered ? 'center' : 'flex-start',\n },\n\n
|
|
1
|
+
{"version":3,"file":"Modal.styles.js","sources":["../../../src/components/Modal/Modal.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport const sizes = {\n xs: 320,\n sm: 380,\n md: 440,\n lg: 620,\n xl: 780,\n full: '100%',\n};\n\ninterface ModalStyles {\n overflow: 'outside' | 'inside';\n size: string | number;\n centered: boolean;\n}\n\nexport default createStyles((theme, { overflow, size, centered }: ModalStyles) => ({\n root: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n\n inner: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 4,\n overflowY: 'auto',\n padding: `${theme.spacing.xl * 2}px ${theme.spacing.md}px`,\n display: 'flex',\n justifyContent: 'center',\n alignItems: centered ? 'center' : 'flex-start',\n },\n\n title: {\n marginRight: theme.spacing.md,\n textOverflow: 'ellipsis',\n display: 'block',\n wordBreak: 'break-word',\n },\n\n modal: {\n position: 'relative',\n zIndex: 5,\n width: theme.fn.size({ sizes, size }),\n outline: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n },\n\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.md,\n marginRight: -9,\n },\n\n body: {\n maxHeight: overflow === 'inside' ? 'calc(100vh - 185px)' : null,\n overflowY: overflow === 'inside' ? 'auto' : null,\n wordBreak: 'break-word',\n },\n}));\n"],"names":[],"mappings":";;AACY,MAAC,KAAK,GAAG;AACrB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,IAAI,EAAE,MAAM;AACd,EAAE;AACF,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;AACtE,EAAE,IAAI,EAAE;AACR,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,EAAE,CAAC;AACb,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,cAAc,EAAE,QAAQ;AAC5B,IAAI,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;AAClD,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;AACjC,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzC,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;AAClC,IAAI,WAAW,EAAE,CAAC,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,SAAS,EAAE,QAAQ,KAAK,QAAQ,GAAG,qBAAqB,GAAG,IAAI;AACnE,IAAI,SAAS,EAAE,QAAQ,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;AACpD,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,CAAC,CAAC;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef, useRef, useState } from 'react';
|
|
2
2
|
import { useUuid, useScrollIntoView, useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';
|
|
3
|
-
import { getDefaultZIndex,
|
|
3
|
+
import { getDefaultZIndex, extractMargins } from '@mantine/styles';
|
|
4
4
|
import { DefaultValue } from './DefaultValue/DefaultValue.js';
|
|
5
5
|
import { DefaultItem } from '../Select/DefaultItem/DefaultItem.js';
|
|
6
6
|
import { filterData } from './filter-data/filter-data.js';
|
|
@@ -106,8 +106,10 @@ const MultiSelect = forwardRef((_a, ref) => {
|
|
|
106
106
|
onDropdownOpen,
|
|
107
107
|
maxSelectedValues,
|
|
108
108
|
withinPortal,
|
|
109
|
+
switchDirectionOnFlip = false,
|
|
109
110
|
zIndex = getDefaultZIndex("popover"),
|
|
110
|
-
name
|
|
111
|
+
name,
|
|
112
|
+
dropdownPosition
|
|
111
113
|
} = _b, others = __objRest(_b, [
|
|
112
114
|
"className",
|
|
113
115
|
"style",
|
|
@@ -160,11 +162,13 @@ const MultiSelect = forwardRef((_a, ref) => {
|
|
|
160
162
|
"onDropdownOpen",
|
|
161
163
|
"maxSelectedValues",
|
|
162
164
|
"withinPortal",
|
|
165
|
+
"switchDirectionOnFlip",
|
|
163
166
|
"zIndex",
|
|
164
|
-
"name"
|
|
167
|
+
"name",
|
|
168
|
+
"dropdownPosition"
|
|
165
169
|
]);
|
|
166
170
|
const { classes, cx, theme } = useStyles({ size, invalid: !!error }, { classNames, styles, name: "MultiSelect" });
|
|
167
|
-
const {
|
|
171
|
+
const { margins, rest } = extractMargins(others);
|
|
168
172
|
const dropdownRef = useRef();
|
|
169
173
|
const inputRef = useRef();
|
|
170
174
|
const wrapperRef = useRef();
|
|
@@ -374,7 +378,7 @@ const MultiSelect = forwardRef((_a, ref) => {
|
|
|
374
378
|
filteredData.push({ label: searchValue, value: searchValue, creatable: true });
|
|
375
379
|
}
|
|
376
380
|
const shouldRenderDropdown = filteredData.length > 0 || isCreatable || searchValue.length > 0 && !!nothingFound && filteredData.length === 0;
|
|
377
|
-
return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues({
|
|
381
|
+
return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues(__spreadValues({
|
|
378
382
|
required,
|
|
379
383
|
id: uuid,
|
|
380
384
|
label,
|
|
@@ -382,12 +386,12 @@ const MultiSelect = forwardRef((_a, ref) => {
|
|
|
382
386
|
description,
|
|
383
387
|
size,
|
|
384
388
|
className,
|
|
385
|
-
style
|
|
389
|
+
style,
|
|
386
390
|
classNames,
|
|
387
391
|
styles,
|
|
388
392
|
__staticSelector: "MultiSelect",
|
|
389
393
|
sx
|
|
390
|
-
}, wrapperProps), /* @__PURE__ */ React.createElement("div", {
|
|
394
|
+
}, margins), wrapperProps), /* @__PURE__ */ React.createElement("div", {
|
|
391
395
|
className: classes.wrapper,
|
|
392
396
|
role: "combobox",
|
|
393
397
|
"aria-haspopup": "listbox",
|
|
@@ -465,8 +469,10 @@ const MultiSelect = forwardRef((_a, ref) => {
|
|
|
465
469
|
referenceElement: wrapperRef.current,
|
|
466
470
|
direction,
|
|
467
471
|
onDirectionChange: setDirection,
|
|
472
|
+
switchDirectionOnFlip,
|
|
468
473
|
withinPortal,
|
|
469
|
-
zIndex
|
|
474
|
+
zIndex,
|
|
475
|
+
dropdownPosition
|
|
470
476
|
}, /* @__PURE__ */ React.createElement(SelectItems, {
|
|
471
477
|
data: filteredData,
|
|
472
478
|
hovered,
|