@mantine/core 2.6.0-alpha.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/Accordion/AccordionItem/ChevronIcon.js.map +1 -1
- package/cjs/components/ActionIcon/ActionIcon.js +3 -5
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/ActionIcon/CloseButton/CloseButton.js +4 -3
- package/cjs/components/ActionIcon/CloseButton/CloseButton.js.map +1 -1
- package/cjs/components/ActionIcon/CloseButton/CloseIcon.js.map +1 -1
- package/cjs/components/Affix/Affix.js +5 -14
- package/cjs/components/Affix/Affix.js.map +1 -1
- package/cjs/components/Alert/Alert.js +4 -3
- package/cjs/components/Alert/Alert.js.map +1 -1
- package/cjs/components/Alert/Alert.styles.js +1 -0
- package/cjs/components/Alert/Alert.styles.js.map +1 -1
- package/cjs/components/Anchor/Anchor.js +4 -3
- package/cjs/components/Anchor/Anchor.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +3 -7
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Avatar/Avatar.js +5 -7
- package/cjs/components/Avatar/Avatar.js.map +1 -1
- package/cjs/components/Avatar/AvatarPlaceholderIcon.js.map +1 -1
- package/cjs/components/Badge/Badge.js +3 -5
- package/cjs/components/Badge/Badge.js.map +1 -1
- package/cjs/components/Blockquote/Blockquote.js +4 -3
- package/cjs/components/Blockquote/Blockquote.js.map +1 -1
- package/cjs/components/Blockquote/QuoteIcon.js.map +1 -1
- package/cjs/components/Breadcrumbs/Breadcrumbs.js +4 -3
- package/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/cjs/components/Burger/Burger.js +4 -22
- package/cjs/components/Burger/Burger.js.map +1 -1
- package/cjs/components/Button/Button.js +3 -5
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/UnstyledButton/UnstyledButton.js +4 -4
- package/cjs/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
- package/cjs/components/Card/Card.js +5 -16
- package/cjs/components/Card/Card.js.map +1 -1
- package/cjs/components/Center/Center.js +3 -2
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +3 -5
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Chips/Chip/Chip.js +3 -5
- package/cjs/components/Chips/Chip/Chip.js.map +1 -1
- package/cjs/components/Chips/Chip/Chip.styles.js +3 -1
- package/cjs/components/Chips/Chip/Chip.styles.js.map +1 -1
- package/cjs/components/Code/Code.js +6 -4
- package/cjs/components/Code/Code.js.map +1 -1
- package/cjs/components/Collapse/Collapse.js +3 -3
- package/cjs/components/Collapse/Collapse.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +3 -2
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.js +3 -2
- package/cjs/components/ColorPicker/AlphaSlider/AlphaSlider.js.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.js +4 -3
- package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js +4 -6
- package/cjs/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
- package/cjs/components/ColorPicker/HueSlider/HueSlider.js +3 -2
- package/cjs/components/ColorPicker/HueSlider/HueSlider.js.map +1 -1
- package/cjs/components/ColorSwatch/ColorSwatch.js +4 -3
- package/cjs/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/cjs/components/Container/Container.js +5 -16
- package/cjs/components/Container/Container.js.map +1 -1
- package/cjs/components/Container/Container.styles.js +5 -5
- package/cjs/components/Container/Container.styles.js.map +1 -1
- package/cjs/components/Dialog/Dialog.js +4 -3
- package/cjs/components/Dialog/Dialog.js.map +1 -1
- package/cjs/components/Divider/Divider.js +3 -2
- package/cjs/components/Divider/Divider.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +1 -1
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Grid/Col/Col.js.map +1 -1
- package/cjs/components/Grid/Grid.js +4 -3
- package/cjs/components/Grid/Grid.js.map +1 -1
- package/cjs/components/Group/Group.js +4 -3
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Highlight/Highlight.js +22 -17
- package/cjs/components/Highlight/Highlight.js.map +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.js +17 -0
- package/cjs/components/Highlight/highlighter/highlighter.js.map +1 -0
- package/cjs/components/Image/Image.js +3 -5
- package/cjs/components/Image/Image.js.map +1 -1
- package/cjs/components/Image/Image.styles.js +3 -3
- package/cjs/components/Image/Image.styles.js.map +1 -1
- package/cjs/components/Image/ImageIcon.js.map +1 -1
- package/cjs/components/Input/Input.js +5 -7
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/InputWrapper/InputWrapper.js +4 -3
- package/cjs/components/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/components/JsonInput/JsonInput.js.map +1 -1
- package/cjs/components/Kbd/Kbd.js +4 -3
- package/cjs/components/Kbd/Kbd.js.map +1 -1
- package/cjs/components/LoadingOverlay/LoadingOverlay.js +5 -2
- package/cjs/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/cjs/components/Mark/Mark.js +3 -2
- package/cjs/components/Mark/Mark.js.map +1 -1
- package/cjs/components/Menu/Menu.js +5 -7
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/MenuBody/MenuBody.js +6 -8
- package/cjs/components/Menu/MenuBody/MenuBody.js.map +1 -1
- package/cjs/components/Menu/MenuButton/MenuButton.js +3 -5
- package/cjs/components/Menu/MenuButton/MenuButton.js.map +1 -1
- package/cjs/components/Menu/MenuIcon.js.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js +1 -3
- package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/MultiSelect/DefaultValue/DefaultValue.styles.js +3 -3
- package/cjs/components/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +61 -17
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/MultiSelect/filter-data/filter-data.js +2 -2
- package/cjs/components/MultiSelect/filter-data/filter-data.js.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.js +3 -5
- package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/components/Notification/Notification.js +4 -3
- package/cjs/components/Notification/Notification.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +3 -5
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/Overlay/Overlay.js +8 -5
- package/cjs/components/Overlay/Overlay.js.map +1 -1
- package/cjs/components/Pagination/Pagination.js +10 -7
- package/cjs/components/Pagination/Pagination.js.map +1 -1
- package/cjs/components/Paper/Paper.js +3 -5
- package/cjs/components/Paper/Paper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +9 -23
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Popover/Popover.js +1 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Popover/PopoverBody/PopoverBody.js +3 -5
- package/cjs/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
- package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js +17 -1
- package/cjs/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
- package/cjs/components/Popper/Popper.js +2 -11
- package/cjs/components/Popper/Popper.js.map +1 -1
- package/cjs/components/Popper/parse-popper-position/parse-popper-position.js +17 -0
- package/cjs/components/Popper/parse-popper-position/parse-popper-position.js.map +1 -0
- package/cjs/components/Portal/Portal.js +5 -5
- package/cjs/components/Portal/Portal.js.map +1 -1
- package/cjs/components/Progress/Progress.js +4 -3
- package/cjs/components/Progress/Progress.js.map +1 -1
- package/cjs/components/RadioGroup/Radio/Radio.js +3 -5
- package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +4 -3
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RingProgress/RingProgress.js +4 -3
- package/cjs/components/RingProgress/RingProgress.js.map +1 -1
- package/cjs/components/Select/DefaultItem/DefaultItem.js +4 -4
- package/cjs/components/Select/DefaultItem/DefaultItem.js.map +1 -1
- package/cjs/components/Select/Select.js +61 -22
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js +4 -5
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/cjs/components/Select/SelectItems/SelectItems.js +70 -9
- package/cjs/components/Select/SelectItems/SelectItems.js.map +1 -1
- package/cjs/components/Select/SelectItems/SelectItems.styles.js +16 -0
- package/cjs/components/Select/SelectItems/SelectItems.styles.js.map +1 -1
- package/cjs/components/Select/SelectRightSection/ChevronIcon.js.map +1 -1
- package/cjs/components/Select/filter-data/filter-data.js +9 -2
- package/cjs/components/Select/filter-data/filter-data.js.map +1 -1
- package/cjs/components/Select/group-sort-data/group-sort-data.js +27 -0
- package/cjs/components/Select/group-sort-data/group-sort-data.js.map +1 -0
- package/cjs/components/SimpleGrid/SimpleGrid.js +5 -8
- package/cjs/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/cjs/components/SimpleGrid/SimpleGrid.styles.js +12 -26
- package/cjs/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js +3 -3
- package/cjs/components/Slider/RangeSlider/RangeSlider.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 +4 -18
- package/cjs/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.js +4 -5
- package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.styles.js +1 -1
- package/cjs/components/Slider/Thumb/Thumb.styles.js.map +1 -1
- package/cjs/components/Space/Space.js +62 -0
- package/cjs/components/Space/Space.js.map +1 -0
- package/cjs/components/Spoiler/Spoiler.js +5 -4
- package/cjs/components/Spoiler/Spoiler.js.map +1 -1
- package/cjs/components/Switch/Switch.js +3 -5
- package/cjs/components/Switch/Switch.js.map +1 -1
- package/cjs/components/Table/Table.js +3 -2
- package/cjs/components/Table/Table.js.map +1 -1
- package/cjs/components/Tabs/Tab/Tab.js +3 -3
- package/cjs/components/Tabs/Tab/Tab.js.map +1 -1
- package/cjs/components/Tabs/TabControl/TabControl.js +4 -5
- package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +5 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Text/Text.js +4 -6
- package/cjs/components/Text/Text.js.map +1 -1
- package/cjs/components/TextInput/TextInput.js +3 -5
- package/cjs/components/TextInput/TextInput.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +4 -6
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.js +4 -3
- package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/cjs/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
- package/cjs/components/Title/Title.js +5 -16
- package/cjs/components/Title/Title.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +0 -3
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js +5 -10
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.styles.js +6 -6
- package/cjs/components/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/esm/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/esm/components/Accordion/AccordionItem/ChevronIcon.js.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.js +4 -6
- package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/components/ActionIcon/CloseButton/CloseButton.js +5 -4
- package/esm/components/ActionIcon/CloseButton/CloseButton.js.map +1 -1
- package/esm/components/ActionIcon/CloseButton/CloseIcon.js.map +1 -1
- package/esm/components/Affix/Affix.js +6 -15
- package/esm/components/Affix/Affix.js.map +1 -1
- package/esm/components/Alert/Alert.js +5 -4
- package/esm/components/Alert/Alert.js.map +1 -1
- package/esm/components/Alert/Alert.styles.js +1 -0
- package/esm/components/Alert/Alert.styles.js.map +1 -1
- package/esm/components/Anchor/Anchor.js +5 -4
- package/esm/components/Anchor/Anchor.js.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.js +5 -9
- package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/components/Avatar/Avatar.js +6 -8
- package/esm/components/Avatar/Avatar.js.map +1 -1
- package/esm/components/Avatar/AvatarPlaceholderIcon.js.map +1 -1
- package/esm/components/Badge/Badge.js +4 -6
- package/esm/components/Badge/Badge.js.map +1 -1
- package/esm/components/Blockquote/Blockquote.js +5 -4
- package/esm/components/Blockquote/Blockquote.js.map +1 -1
- package/esm/components/Blockquote/QuoteIcon.js.map +1 -1
- package/esm/components/Breadcrumbs/Breadcrumbs.js +5 -4
- package/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/esm/components/Burger/Burger.js +5 -23
- package/esm/components/Burger/Burger.js.map +1 -1
- package/esm/components/Button/Button.js +4 -6
- package/esm/components/Button/Button.js.map +1 -1
- package/esm/components/Button/UnstyledButton/UnstyledButton.js +5 -5
- package/esm/components/Button/UnstyledButton/UnstyledButton.js.map +1 -1
- package/esm/components/Card/Card.js +6 -17
- package/esm/components/Card/Card.js.map +1 -1
- package/esm/components/Center/Center.js +4 -3
- package/esm/components/Center/Center.js.map +1 -1
- package/esm/components/Checkbox/Checkbox.js +4 -6
- package/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/esm/components/Chips/Chip/Chip.js +4 -6
- package/esm/components/Chips/Chip/Chip.js.map +1 -1
- package/esm/components/Chips/Chip/Chip.styles.js +3 -1
- package/esm/components/Chips/Chip/Chip.styles.js.map +1 -1
- package/esm/components/Code/Code.js +7 -5
- package/esm/components/Code/Code.js.map +1 -1
- package/esm/components/Collapse/Collapse.js +5 -5
- package/esm/components/Collapse/Collapse.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +4 -3
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/ColorPicker/AlphaSlider/AlphaSlider.js +4 -3
- package/esm/components/ColorPicker/AlphaSlider/AlphaSlider.js.map +1 -1
- package/esm/components/ColorPicker/ColorPicker.js +5 -4
- package/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.js +5 -7
- package/esm/components/ColorPicker/ColorSlider/ColorSlider.js.map +1 -1
- package/esm/components/ColorPicker/HueSlider/HueSlider.js +4 -3
- package/esm/components/ColorPicker/HueSlider/HueSlider.js.map +1 -1
- package/esm/components/ColorSwatch/ColorSwatch.js +5 -4
- package/esm/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/esm/components/Container/Container.js +6 -17
- package/esm/components/Container/Container.js.map +1 -1
- package/esm/components/Container/Container.styles.js +5 -5
- package/esm/components/Container/Container.styles.js.map +1 -1
- package/esm/components/Dialog/Dialog.js +5 -4
- package/esm/components/Dialog/Dialog.js.map +1 -1
- package/esm/components/Divider/Divider.js +4 -3
- package/esm/components/Divider/Divider.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +1 -1
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Grid/Col/Col.js.map +1 -1
- package/esm/components/Grid/Grid.js +5 -4
- package/esm/components/Grid/Grid.js.map +1 -1
- package/esm/components/Group/Group.js +5 -4
- package/esm/components/Group/Group.js.map +1 -1
- package/esm/components/Highlight/Highlight.js +23 -17
- package/esm/components/Highlight/Highlight.js.map +1 -1
- package/esm/components/Highlight/highlighter/highlighter.js +13 -0
- package/esm/components/Highlight/highlighter/highlighter.js.map +1 -0
- package/esm/components/Image/Image.js +4 -6
- package/esm/components/Image/Image.js.map +1 -1
- package/esm/components/Image/Image.styles.js +3 -3
- package/esm/components/Image/Image.styles.js.map +1 -1
- package/esm/components/Image/ImageIcon.js.map +1 -1
- package/esm/components/Input/Input.js +6 -8
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/InputWrapper/InputWrapper.js +5 -4
- package/esm/components/InputWrapper/InputWrapper.js.map +1 -1
- package/esm/components/JsonInput/JsonInput.js.map +1 -1
- package/esm/components/Kbd/Kbd.js +5 -4
- package/esm/components/Kbd/Kbd.js.map +1 -1
- package/esm/components/LoadingOverlay/LoadingOverlay.js +5 -2
- package/esm/components/LoadingOverlay/LoadingOverlay.js.map +1 -1
- package/esm/components/Mark/Mark.js +4 -3
- package/esm/components/Mark/Mark.js.map +1 -1
- package/esm/components/Menu/Menu.js +6 -8
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/MenuBody/MenuBody.js +7 -9
- package/esm/components/Menu/MenuBody/MenuBody.js.map +1 -1
- package/esm/components/Menu/MenuButton/MenuButton.js +4 -6
- package/esm/components/Menu/MenuButton/MenuButton.js.map +1 -1
- package/esm/components/Menu/MenuIcon.js.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js +1 -3
- package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/components/Modal/Modal.js.map +1 -1
- package/esm/components/MultiSelect/DefaultValue/DefaultValue.styles.js +3 -3
- package/esm/components/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +63 -20
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/MultiSelect/filter-data/filter-data.js +2 -2
- package/esm/components/MultiSelect/filter-data/filter-data.js.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.js +4 -6
- package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/components/Notification/Notification.js +5 -4
- package/esm/components/Notification/Notification.js.map +1 -1
- package/esm/components/NumberInput/NumberInput.js +4 -6
- package/esm/components/NumberInput/NumberInput.js.map +1 -1
- package/esm/components/Overlay/Overlay.js +9 -6
- package/esm/components/Overlay/Overlay.js.map +1 -1
- package/esm/components/Pagination/Pagination.js +11 -8
- package/esm/components/Pagination/Pagination.js.map +1 -1
- package/esm/components/Paper/Paper.js +4 -6
- package/esm/components/Paper/Paper.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +10 -24
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/Popover/Popover.js +1 -1
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/Popover/PopoverBody/PopoverBody.js +4 -6
- package/esm/components/Popover/PopoverBody/PopoverBody.js.map +1 -1
- package/esm/components/Popover/PopoverBody/PopoverBody.styles.js +18 -2
- package/esm/components/Popover/PopoverBody/PopoverBody.styles.js.map +1 -1
- package/esm/components/Popper/Popper.js +1 -10
- package/esm/components/Popper/Popper.js.map +1 -1
- package/esm/components/Popper/parse-popper-position/parse-popper-position.js +13 -0
- package/esm/components/Popper/parse-popper-position/parse-popper-position.js.map +1 -0
- package/esm/components/Portal/Portal.js +5 -5
- package/esm/components/Portal/Portal.js.map +1 -1
- package/esm/components/Progress/Progress.js +5 -4
- package/esm/components/Progress/Progress.js.map +1 -1
- package/esm/components/RadioGroup/Radio/Radio.js +4 -6
- package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/esm/components/RadioGroup/RadioGroup.js +5 -4
- package/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/esm/components/RingProgress/RingProgress.js +5 -4
- package/esm/components/RingProgress/RingProgress.js.map +1 -1
- package/esm/components/Select/DefaultItem/DefaultItem.js +5 -5
- package/esm/components/Select/DefaultItem/DefaultItem.js.map +1 -1
- package/esm/components/Select/Select.js +63 -25
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Select/SelectDropdown/SelectDropdown.js +5 -6
- package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/esm/components/Select/SelectItems/SelectItems.js +70 -9
- package/esm/components/Select/SelectItems/SelectItems.js.map +1 -1
- package/esm/components/Select/SelectItems/SelectItems.styles.js +16 -0
- package/esm/components/Select/SelectItems/SelectItems.styles.js.map +1 -1
- package/esm/components/Select/SelectRightSection/ChevronIcon.js.map +1 -1
- package/esm/components/Select/filter-data/filter-data.js +9 -2
- package/esm/components/Select/filter-data/filter-data.js.map +1 -1
- package/esm/components/Select/group-sort-data/group-sort-data.js +23 -0
- package/esm/components/Select/group-sort-data/group-sort-data.js.map +1 -0
- package/esm/components/SimpleGrid/SimpleGrid.js +6 -9
- package/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/esm/components/SimpleGrid/SimpleGrid.styles.js +12 -26
- package/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js +3 -3
- package/esm/components/Slider/RangeSlider/RangeSlider.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 -19
- package/esm/components/Slider/SliderRoot/SliderRoot.js.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.js +5 -6
- package/esm/components/Slider/Thumb/Thumb.js.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.styles.js +2 -2
- package/esm/components/Slider/Thumb/Thumb.styles.js.map +1 -1
- package/esm/components/Space/Space.js +54 -0
- package/esm/components/Space/Space.js.map +1 -0
- package/esm/components/Spoiler/Spoiler.js +6 -5
- package/esm/components/Spoiler/Spoiler.js.map +1 -1
- package/esm/components/Switch/Switch.js +4 -6
- package/esm/components/Switch/Switch.js.map +1 -1
- package/esm/components/Table/Table.js +4 -3
- package/esm/components/Table/Table.js.map +1 -1
- package/esm/components/Tabs/Tab/Tab.js +3 -3
- package/esm/components/Tabs/Tab/Tab.js.map +1 -1
- package/esm/components/Tabs/TabControl/TabControl.js +4 -5
- package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/esm/components/Tabs/Tabs.js +7 -6
- package/esm/components/Tabs/Tabs.js.map +1 -1
- package/esm/components/Text/Text.js +5 -7
- package/esm/components/Text/Text.js.map +1 -1
- package/esm/components/TextInput/TextInput.js +4 -6
- package/esm/components/TextInput/TextInput.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +5 -7
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.js +5 -4
- package/esm/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/esm/components/Timeline/TimelineItem/TimelineItem.js.map +1 -1
- package/esm/components/Title/Title.js +6 -17
- package/esm/components/Title/Title.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +0 -3
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js +6 -11
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.js.map +1 -1
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.styles.js +6 -6
- package/esm/components/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/lib/src/components/Accordion/AccordionItem/AccordionItem.d.ts +0 -1
- package/lib/src/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/lib/src/components/Accordion/AccordionItem/ChevronIcon.d.ts +1 -1
- package/lib/src/components/Accordion/AccordionItem/ChevronIcon.d.ts.map +1 -1
- package/lib/src/components/Accordion/index.d.ts +1 -1
- package/lib/src/components/Accordion/index.d.ts.map +1 -1
- package/lib/src/components/ActionIcon/ActionIcon.d.ts +7 -11
- package/lib/src/components/ActionIcon/ActionIcon.d.ts.map +1 -1
- package/lib/src/components/ActionIcon/CloseButton/CloseButton.d.ts +3 -6
- package/lib/src/components/ActionIcon/CloseButton/CloseButton.d.ts.map +1 -1
- package/lib/src/components/ActionIcon/CloseButton/CloseIcon.d.ts +1 -1
- package/lib/src/components/ActionIcon/CloseButton/CloseIcon.d.ts.map +1 -1
- package/lib/src/components/Affix/Affix.d.ts +1 -4
- package/lib/src/components/Affix/Affix.d.ts.map +1 -1
- package/lib/src/components/Alert/Alert.d.ts +1 -4
- package/lib/src/components/Alert/Alert.d.ts.map +1 -1
- package/lib/src/components/Alert/Alert.styles.d.ts.map +1 -1
- package/lib/src/components/Anchor/Anchor.d.ts +6 -11
- package/lib/src/components/Anchor/Anchor.d.ts.map +1 -1
- package/lib/src/components/Autocomplete/Autocomplete.d.ts +1 -6
- package/lib/src/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/src/components/Avatar/Avatar.d.ts +7 -11
- package/lib/src/components/Avatar/Avatar.d.ts.map +1 -1
- package/lib/src/components/Avatar/AvatarPlaceholderIcon.d.ts +1 -1
- package/lib/src/components/Avatar/AvatarPlaceholderIcon.d.ts.map +1 -1
- package/lib/src/components/Badge/Badge.d.ts +7 -11
- package/lib/src/components/Badge/Badge.d.ts.map +1 -1
- package/lib/src/components/Blockquote/Blockquote.d.ts +1 -4
- package/lib/src/components/Blockquote/Blockquote.d.ts.map +1 -1
- package/lib/src/components/Blockquote/QuoteIcon.d.ts +1 -1
- package/lib/src/components/Blockquote/QuoteIcon.d.ts.map +1 -1
- package/lib/src/components/Breadcrumbs/Breadcrumbs.d.ts +1 -4
- package/lib/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/lib/src/components/Burger/Burger.d.ts +1 -6
- package/lib/src/components/Burger/Burger.d.ts.map +1 -1
- package/lib/src/components/Button/Button.d.ts +7 -11
- package/lib/src/components/Button/Button.d.ts.map +1 -1
- package/lib/src/components/Button/UnstyledButton/UnstyledButton.d.ts +1 -6
- package/lib/src/components/Button/UnstyledButton/UnstyledButton.d.ts.map +1 -1
- package/lib/src/components/Button/index.d.ts +2 -1
- package/lib/src/components/Button/index.d.ts.map +1 -1
- package/lib/src/components/Card/Card.d.ts +9 -12
- package/lib/src/components/Card/Card.d.ts.map +1 -1
- package/lib/src/components/Center/Center.d.ts +1 -4
- package/lib/src/components/Center/Center.d.ts.map +1 -1
- package/lib/src/components/Checkbox/Checkbox.d.ts +1 -6
- package/lib/src/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/src/components/Chips/Chip/Chip.d.ts +1 -6
- package/lib/src/components/Chips/Chip/Chip.d.ts.map +1 -1
- package/lib/src/components/Chips/Chip/Chip.styles.d.ts.map +1 -1
- package/lib/src/components/Code/Code.d.ts +1 -4
- package/lib/src/components/Code/Code.d.ts.map +1 -1
- package/lib/src/components/Collapse/Collapse.d.ts +2 -5
- package/lib/src/components/Collapse/Collapse.d.ts.map +1 -1
- package/lib/src/components/ColorInput/ColorInput.d.ts +1 -4
- package/lib/src/components/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/src/components/ColorPicker/AlphaSlider/AlphaSlider.d.ts +2 -5
- package/lib/src/components/ColorPicker/AlphaSlider/AlphaSlider.d.ts.map +1 -1
- package/lib/src/components/ColorPicker/ColorPicker.d.ts +1 -4
- package/lib/src/components/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/lib/src/components/ColorPicker/ColorSlider/ColorSlider.d.ts +1 -5
- package/lib/src/components/ColorPicker/ColorSlider/ColorSlider.d.ts.map +1 -1
- package/lib/src/components/ColorPicker/HueSlider/HueSlider.d.ts +2 -5
- package/lib/src/components/ColorPicker/HueSlider/HueSlider.d.ts.map +1 -1
- package/lib/src/components/ColorSwatch/ColorSwatch.d.ts +7 -11
- package/lib/src/components/ColorSwatch/ColorSwatch.d.ts.map +1 -1
- package/lib/src/components/Container/Container.d.ts +1 -4
- package/lib/src/components/Container/Container.d.ts.map +1 -1
- package/lib/src/components/Dialog/Dialog.d.ts +2 -5
- package/lib/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/lib/src/components/Divider/Divider.d.ts +1 -4
- package/lib/src/components/Divider/Divider.d.ts.map +1 -1
- package/lib/src/components/Grid/Col/Col.d.ts +10 -0
- package/lib/src/components/Grid/Col/Col.d.ts.map +1 -1
- package/lib/src/components/Grid/Grid.d.ts +1 -4
- package/lib/src/components/Grid/Grid.d.ts.map +1 -1
- package/lib/src/components/Group/Group.d.ts +1 -4
- package/lib/src/components/Group/Group.d.ts.map +1 -1
- package/lib/src/components/Highlight/Highlight.d.ts +7 -15
- package/lib/src/components/Highlight/Highlight.d.ts.map +1 -1
- package/lib/src/components/Highlight/highlighter/highlighter.d.ts +5 -0
- package/lib/src/components/Highlight/highlighter/highlighter.d.ts.map +1 -0
- package/lib/src/components/Image/Image.d.ts +1 -6
- package/lib/src/components/Image/Image.d.ts.map +1 -1
- package/lib/src/components/Image/ImageIcon.d.ts +1 -1
- package/lib/src/components/Image/ImageIcon.d.ts.map +1 -1
- package/lib/src/components/Input/Input.d.ts +10 -13
- package/lib/src/components/Input/Input.d.ts.map +1 -1
- package/lib/src/components/InputWrapper/InputWrapper.d.ts +1 -4
- package/lib/src/components/InputWrapper/InputWrapper.d.ts.map +1 -1
- package/lib/src/components/JsonInput/JsonInput.d.ts +3 -2
- package/lib/src/components/JsonInput/JsonInput.d.ts.map +1 -1
- package/lib/src/components/Kbd/Kbd.d.ts +1 -4
- package/lib/src/components/Kbd/Kbd.d.ts.map +1 -1
- package/lib/src/components/LoadingOverlay/LoadingOverlay.d.ts +4 -2
- package/lib/src/components/LoadingOverlay/LoadingOverlay.d.ts.map +1 -1
- package/lib/src/components/Mark/Mark.d.ts +1 -4
- package/lib/src/components/Mark/Mark.d.ts.map +1 -1
- package/lib/src/components/Menu/Menu.d.ts +9 -10
- package/lib/src/components/Menu/Menu.d.ts.map +1 -1
- package/lib/src/components/Menu/MenuBody/MenuBody.d.ts +1 -6
- package/lib/src/components/Menu/MenuBody/MenuBody.d.ts.map +1 -1
- package/lib/src/components/Menu/MenuButton/MenuButton.d.ts +7 -11
- package/lib/src/components/Menu/MenuButton/MenuButton.d.ts.map +1 -1
- package/lib/src/components/Menu/MenuIcon.d.ts +1 -1
- package/lib/src/components/Menu/MenuIcon.d.ts.map +1 -1
- package/lib/src/components/Menu/MenuItem/MenuItem.d.ts +7 -14
- package/lib/src/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/src/components/MultiSelect/DefaultValue/DefaultValue.styles.d.ts.map +1 -1
- package/lib/src/components/MultiSelect/MultiSelect.d.ts +10 -4
- package/lib/src/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/src/components/NativeSelect/NativeSelect.d.ts +1 -6
- package/lib/src/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/src/components/Notification/Notification.d.ts +1 -4
- package/lib/src/components/Notification/Notification.d.ts.map +1 -1
- package/lib/src/components/NumberInput/NumberInput.d.ts +1 -4
- package/lib/src/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/lib/src/components/Overlay/Overlay.d.ts +9 -10
- package/lib/src/components/Overlay/Overlay.d.ts.map +1 -1
- package/lib/src/components/Pagination/Pagination.d.ts +4 -5
- package/lib/src/components/Pagination/Pagination.d.ts.map +1 -1
- package/lib/src/components/Paper/Paper.d.ts +6 -12
- package/lib/src/components/Paper/Paper.d.ts.map +1 -1
- package/lib/src/components/PasswordInput/PasswordInput.d.ts +1 -11
- package/lib/src/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/src/components/PasswordInput/index.d.ts +1 -1
- package/lib/src/components/PasswordInput/index.d.ts.map +1 -1
- package/lib/src/components/Popover/PopoverBody/PopoverBody.d.ts +1 -5
- package/lib/src/components/Popover/PopoverBody/PopoverBody.d.ts.map +1 -1
- package/lib/src/components/Popover/PopoverBody/PopoverBody.styles.d.ts.map +1 -1
- package/lib/src/components/Popper/Popper.d.ts.map +1 -1
- package/lib/src/components/Popper/parse-popper-position/parse-popper-position.d.ts +5 -0
- package/lib/src/components/Popper/parse-popper-position/parse-popper-position.d.ts.map +1 -0
- package/lib/src/components/Portal/Portal.d.ts.map +1 -1
- package/lib/src/components/Progress/Progress.d.ts +1 -4
- package/lib/src/components/Progress/Progress.d.ts.map +1 -1
- package/lib/src/components/RadioGroup/Radio/Radio.d.ts +1 -6
- package/lib/src/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
- package/lib/src/components/RadioGroup/RadioGroup.d.ts +1 -4
- package/lib/src/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/lib/src/components/RingProgress/RingProgress.d.ts +1 -4
- package/lib/src/components/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/src/components/Select/DefaultItem/DefaultItem.d.ts +1 -5
- package/lib/src/components/Select/DefaultItem/DefaultItem.d.ts.map +1 -1
- package/lib/src/components/Select/Select.d.ts +10 -6
- package/lib/src/components/Select/Select.d.ts.map +1 -1
- package/lib/src/components/Select/SelectDropdown/SelectDropdown.d.ts +1 -5
- package/lib/src/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
- package/lib/src/components/Select/SelectItems/SelectItems.d.ts +3 -1
- package/lib/src/components/Select/SelectItems/SelectItems.d.ts.map +1 -1
- package/lib/src/components/Select/SelectItems/SelectItems.styles.d.ts +2 -2
- package/lib/src/components/Select/SelectItems/SelectItems.styles.d.ts.map +1 -1
- package/lib/src/components/Select/SelectRightSection/ChevronIcon.d.ts +1 -1
- package/lib/src/components/Select/SelectRightSection/ChevronIcon.d.ts.map +1 -1
- package/lib/src/components/Select/filter-data/filter-data.d.ts +2 -1
- package/lib/src/components/Select/filter-data/filter-data.d.ts.map +1 -1
- package/lib/src/components/Select/group-sort-data/group-sort-data.d.ts +7 -0
- package/lib/src/components/Select/group-sort-data/group-sort-data.d.ts.map +1 -0
- package/lib/src/components/Select/types.d.ts +2 -0
- package/lib/src/components/Select/types.d.ts.map +1 -1
- package/lib/src/components/SimpleGrid/SimpleGrid.d.ts +1 -4
- package/lib/src/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/lib/src/components/SimpleGrid/SimpleGrid.styles.d.ts +2 -2
- package/lib/src/components/SimpleGrid/SimpleGrid.styles.d.ts.map +1 -1
- package/lib/src/components/Slider/SliderRoot/SliderRoot.d.ts +1 -5
- package/lib/src/components/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
- package/lib/src/components/Slider/Thumb/Thumb.d.ts +1 -5
- package/lib/src/components/Slider/Thumb/Thumb.d.ts.map +1 -1
- package/lib/src/components/Space/Space.d.ts +10 -0
- package/lib/src/components/Space/Space.d.ts.map +1 -0
- package/lib/src/components/Space/index.d.ts +3 -0
- package/lib/src/components/Space/index.d.ts.map +1 -0
- package/lib/src/components/Spoiler/Spoiler.d.ts +1 -4
- package/lib/src/components/Spoiler/Spoiler.d.ts.map +1 -1
- package/lib/src/components/Switch/Switch.d.ts +1 -6
- package/lib/src/components/Switch/Switch.d.ts.map +1 -1
- package/lib/src/components/Table/Table.d.ts +1 -4
- package/lib/src/components/Table/Table.d.ts.map +1 -1
- package/lib/src/components/Tabs/Tab/Tab.d.ts +4 -6
- package/lib/src/components/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/src/components/Tabs/TabControl/TabControl.d.ts +2 -2
- package/lib/src/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
- package/lib/src/components/Tabs/Tabs.d.ts +1 -4
- package/lib/src/components/Tabs/Tabs.d.ts.map +1 -1
- package/lib/src/components/Text/Text.d.ts +6 -12
- package/lib/src/components/Text/Text.d.ts.map +1 -1
- package/lib/src/components/TextInput/TextInput.d.ts +1 -6
- package/lib/src/components/TextInput/TextInput.d.ts.map +1 -1
- package/lib/src/components/Textarea/Textarea.d.ts +5 -10
- package/lib/src/components/Textarea/Textarea.d.ts.map +1 -1
- package/lib/src/components/Textarea/index.d.ts +1 -1
- package/lib/src/components/Textarea/index.d.ts.map +1 -1
- package/lib/src/components/ThemeIcon/ThemeIcon.d.ts +2 -5
- package/lib/src/components/ThemeIcon/ThemeIcon.d.ts.map +1 -1
- package/lib/src/components/Timeline/TimelineItem/TimelineItem.d.ts +5 -5
- package/lib/src/components/Timeline/TimelineItem/TimelineItem.d.ts.map +1 -1
- package/lib/src/components/Title/Title.d.ts +1 -4
- package/lib/src/components/Title/Title.d.ts.map +1 -1
- package/lib/src/components/Tooltip/Tooltip.d.ts +1 -3
- package/lib/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/src/components/TypographyStylesProvider/TypographyStylesProvider.d.ts +1 -4
- package/lib/src/components/TypographyStylesProvider/TypographyStylesProvider.d.ts.map +1 -1
- package/lib/src/demos.d.ts.map +1 -1
- package/lib/src/index.d.ts +1 -0
- package/lib/src/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useRef, useState } from 'react';
|
|
2
|
-
import { useUncontrolled, useMergedRef } from '@mantine/hooks';
|
|
1
|
+
import React, { forwardRef, useRef, useState } from 'react';
|
|
2
|
+
import { useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';
|
|
3
3
|
import { mergeStyles, useExtractedMargins, useUuid } from '@mantine/styles';
|
|
4
4
|
import { DefaultValue } from './DefaultValue/DefaultValue.js';
|
|
5
5
|
import { DefaultItem } from '../Select/DefaultItem/DefaultItem.js';
|
|
@@ -7,6 +7,7 @@ import { filterData } from './filter-data/filter-data.js';
|
|
|
7
7
|
import { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props.js';
|
|
8
8
|
import { SelectItems } from '../Select/SelectItems/SelectItems.js';
|
|
9
9
|
import { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown.js';
|
|
10
|
+
import { groupSortData } from '../Select/group-sort-data/group-sort-data.js';
|
|
10
11
|
import useStyles from './MultiSelect.styles.js';
|
|
11
12
|
import { InputWrapper } from '../InputWrapper/InputWrapper.js';
|
|
12
13
|
import { Input } from '../Input/Input.js';
|
|
@@ -49,7 +50,10 @@ function defaultFilter(value, selected, item) {
|
|
|
49
50
|
}
|
|
50
51
|
return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());
|
|
51
52
|
}
|
|
52
|
-
function
|
|
53
|
+
function defaultShouldCreate(query, data) {
|
|
54
|
+
return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());
|
|
55
|
+
}
|
|
56
|
+
const MultiSelect = forwardRef((_a, ref) => {
|
|
53
57
|
var _b = _a, {
|
|
54
58
|
className,
|
|
55
59
|
style,
|
|
@@ -89,10 +93,13 @@ function MultiSelect(_a) {
|
|
|
89
93
|
disabled = false,
|
|
90
94
|
initiallyOpened = false,
|
|
91
95
|
radius = "sm",
|
|
92
|
-
elementRef,
|
|
93
96
|
icon,
|
|
94
97
|
rightSection,
|
|
95
|
-
rightSectionWidth
|
|
98
|
+
rightSectionWidth,
|
|
99
|
+
creatable = false,
|
|
100
|
+
getCreateLabel,
|
|
101
|
+
shouldCreate = defaultShouldCreate,
|
|
102
|
+
onCreate
|
|
96
103
|
} = _b, others = __objRest(_b, [
|
|
97
104
|
"className",
|
|
98
105
|
"style",
|
|
@@ -132,10 +139,13 @@ function MultiSelect(_a) {
|
|
|
132
139
|
"disabled",
|
|
133
140
|
"initiallyOpened",
|
|
134
141
|
"radius",
|
|
135
|
-
"elementRef",
|
|
136
142
|
"icon",
|
|
137
143
|
"rightSection",
|
|
138
|
-
"rightSectionWidth"
|
|
144
|
+
"rightSectionWidth",
|
|
145
|
+
"creatable",
|
|
146
|
+
"getCreateLabel",
|
|
147
|
+
"shouldCreate",
|
|
148
|
+
"onCreate"
|
|
139
149
|
]);
|
|
140
150
|
const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, "multi-select");
|
|
141
151
|
const _styles = mergeStyles(classes, styles);
|
|
@@ -147,10 +157,14 @@ function MultiSelect(_a) {
|
|
|
147
157
|
const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);
|
|
148
158
|
const [hovered, setHovered] = useState(-1);
|
|
149
159
|
const [searchValue, setSearchValue] = useState("");
|
|
160
|
+
const isCreatable = creatable && typeof getCreateLabel === "function";
|
|
161
|
+
let createLabel = null;
|
|
150
162
|
const handleSearchChange = (val) => {
|
|
151
163
|
typeof onSearchChange === "function" && onSearchChange(val);
|
|
152
164
|
setSearchValue(val);
|
|
153
165
|
};
|
|
166
|
+
const formattedData = data.map((item) => typeof item === "string" ? { label: item, value: item } : item);
|
|
167
|
+
const sortedData = groupSortData({ data: formattedData });
|
|
154
168
|
const [_value, setValue] = useUncontrolled({
|
|
155
169
|
value,
|
|
156
170
|
defaultValue,
|
|
@@ -158,10 +172,8 @@ function MultiSelect(_a) {
|
|
|
158
172
|
rule: (val) => Array.isArray(val),
|
|
159
173
|
onChange
|
|
160
174
|
});
|
|
161
|
-
const formattedData = data.map((item) => typeof item === "string" ? { label: item, value: item } : item);
|
|
162
175
|
const handleValueRemove = (_val) => setValue(_value.filter((val) => val !== _val));
|
|
163
176
|
const handleInputChange = (event) => {
|
|
164
|
-
setHovered(0);
|
|
165
177
|
handleSearchChange(event.currentTarget.value);
|
|
166
178
|
setDropdownOpened(true);
|
|
167
179
|
};
|
|
@@ -174,13 +186,25 @@ function MultiSelect(_a) {
|
|
|
174
186
|
setDropdownOpened(false);
|
|
175
187
|
};
|
|
176
188
|
const filteredData = filterData({
|
|
177
|
-
data:
|
|
189
|
+
data: sortedData,
|
|
178
190
|
searchable,
|
|
179
191
|
searchValue,
|
|
180
192
|
limit,
|
|
181
193
|
filter,
|
|
182
194
|
value: _value
|
|
183
195
|
});
|
|
196
|
+
const getNextIndex = (index, nextItem, compareFn) => {
|
|
197
|
+
let i = index;
|
|
198
|
+
while (compareFn(i)) {
|
|
199
|
+
i = nextItem(i);
|
|
200
|
+
if (!filteredData[i].disabled)
|
|
201
|
+
return i;
|
|
202
|
+
}
|
|
203
|
+
return index;
|
|
204
|
+
};
|
|
205
|
+
useDidUpdate(() => {
|
|
206
|
+
setHovered(getNextIndex(-1, (index) => index + 1, (index) => index < filteredData.length - 1));
|
|
207
|
+
}, [searchValue]);
|
|
184
208
|
const handleItemSelect = (item) => {
|
|
185
209
|
setTimeout(() => {
|
|
186
210
|
clearSearchOnChange && handleSearchChange("");
|
|
@@ -192,6 +216,9 @@ function MultiSelect(_a) {
|
|
|
192
216
|
setHovered(filteredData.length - 2);
|
|
193
217
|
}
|
|
194
218
|
}
|
|
219
|
+
if (item.creatable) {
|
|
220
|
+
typeof onCreate === "function" && onCreate(item.value);
|
|
221
|
+
}
|
|
195
222
|
});
|
|
196
223
|
};
|
|
197
224
|
const handleInputKeydown = (event) => {
|
|
@@ -201,7 +228,7 @@ function MultiSelect(_a) {
|
|
|
201
228
|
setDropdownOpened(true);
|
|
202
229
|
setHovered((current) => {
|
|
203
230
|
var _a2;
|
|
204
|
-
const nextIndex = current
|
|
231
|
+
const nextIndex = getNextIndex(current, (index) => index - 1, (index) => index > 0);
|
|
205
232
|
scrollIntoView(dropdownRef.current, itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value]);
|
|
206
233
|
return nextIndex;
|
|
207
234
|
});
|
|
@@ -212,7 +239,7 @@ function MultiSelect(_a) {
|
|
|
212
239
|
setDropdownOpened(true);
|
|
213
240
|
setHovered((current) => {
|
|
214
241
|
var _a2;
|
|
215
|
-
const nextIndex = current
|
|
242
|
+
const nextIndex = getNextIndex(current, (index) => index + 1, (index) => index < filteredData.length - 1);
|
|
216
243
|
scrollIntoView(dropdownRef.current, itemsRefs.current[(_a2 = filteredData[nextIndex]) == null ? void 0 : _a2.value]);
|
|
217
244
|
return nextIndex;
|
|
218
245
|
});
|
|
@@ -237,7 +264,16 @@ function MultiSelect(_a) {
|
|
|
237
264
|
}
|
|
238
265
|
}
|
|
239
266
|
};
|
|
240
|
-
const selectedItems = _value.map((val) =>
|
|
267
|
+
const selectedItems = _value.map((val) => {
|
|
268
|
+
let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);
|
|
269
|
+
if (!selectedItem && isCreatable) {
|
|
270
|
+
selectedItem = {
|
|
271
|
+
value: val,
|
|
272
|
+
label: val
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
return selectedItem;
|
|
276
|
+
}).filter((val) => !!val).map((item) => /* @__PURE__ */ React.createElement(Value, __spreadProps(__spreadValues({}, item), {
|
|
241
277
|
disabled,
|
|
242
278
|
className: classes.value,
|
|
243
279
|
style: _styles.value,
|
|
@@ -254,7 +290,11 @@ function MultiSelect(_a) {
|
|
|
254
290
|
setValue([]);
|
|
255
291
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
256
292
|
};
|
|
257
|
-
|
|
293
|
+
if (isCreatable && shouldCreate(searchValue, filteredData)) {
|
|
294
|
+
createLabel = getCreateLabel(searchValue);
|
|
295
|
+
filteredData.push({ label: searchValue, value: searchValue, creatable: true });
|
|
296
|
+
}
|
|
297
|
+
const shouldRenderDropdown = filteredData.length > 0 || isCreatable || searchValue.length > 0 && !!nothingFound && filteredData.length === 0;
|
|
258
298
|
return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues({
|
|
259
299
|
required,
|
|
260
300
|
id: uuid,
|
|
@@ -313,7 +353,7 @@ function MultiSelect(_a) {
|
|
|
313
353
|
className: classes.values,
|
|
314
354
|
style: _styles.values
|
|
315
355
|
}, selectedItems, /* @__PURE__ */ React.createElement("input", __spreadValues({
|
|
316
|
-
ref: useMergedRef(
|
|
356
|
+
ref: useMergedRef(ref, inputRef),
|
|
317
357
|
type: "text",
|
|
318
358
|
id: uuid,
|
|
319
359
|
style: _styles.searchInput,
|
|
@@ -330,7 +370,8 @@ function MultiSelect(_a) {
|
|
|
330
370
|
readOnly: !searchable,
|
|
331
371
|
placeholder: _value.length === 0 ? placeholder : void 0,
|
|
332
372
|
disabled,
|
|
333
|
-
"data-mantine-stop-propagation": dropdownOpened
|
|
373
|
+
"data-mantine-stop-propagation": dropdownOpened,
|
|
374
|
+
autoComplete: "off"
|
|
334
375
|
}, rest)))), /* @__PURE__ */ React.createElement(SelectDropdown, {
|
|
335
376
|
mounted: dropdownOpened && shouldRenderDropdown,
|
|
336
377
|
transition,
|
|
@@ -341,7 +382,7 @@ function MultiSelect(_a) {
|
|
|
341
382
|
maxDropdownHeight,
|
|
342
383
|
classNames,
|
|
343
384
|
styles,
|
|
344
|
-
|
|
385
|
+
ref: dropdownRef,
|
|
345
386
|
__staticSelector: "multi-select"
|
|
346
387
|
}, /* @__PURE__ */ React.createElement(SelectItems, {
|
|
347
388
|
data: filteredData,
|
|
@@ -355,10 +396,12 @@ function MultiSelect(_a) {
|
|
|
355
396
|
itemsRefs,
|
|
356
397
|
itemComponent,
|
|
357
398
|
size,
|
|
358
|
-
nothingFound
|
|
399
|
+
nothingFound,
|
|
400
|
+
creatable: creatable && !!createLabel,
|
|
401
|
+
createLabel
|
|
359
402
|
}))));
|
|
360
|
-
}
|
|
403
|
+
});
|
|
361
404
|
MultiSelect.displayName = "@mantine/core/MultiSelect";
|
|
362
405
|
|
|
363
|
-
export { MultiSelect, defaultFilter };
|
|
406
|
+
export { MultiSelect, defaultFilter, defaultShouldCreate };
|
|
364
407
|
//# sourceMappingURL=MultiSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useUncontrolled, useMergedRef } from '@mantine/hooks';\nimport {\n mergeStyles,\n DefaultProps,\n MantineSize,\n MantineShadow,\n ClassNames,\n useUuid,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { scrollIntoView } from '../../utils';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport {\n SelectItem,\n SelectDataItem,\n BaseSelectProps,\n BaseSelectStylesNames,\n} from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport useStyles from './MultiSelect.styles';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps extends DefaultProps<MultiSelectStylesNames>, BaseSelectProps {\n /** Input size */\n size?: MantineSize;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Data for select options */\n data: SelectDataItem[];\n\n /** Value for controlled component */\n value?: string[];\n\n /** Default value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called each time value changes */\n onChange?(value: string[]): void;\n\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Component used to render item */\n itemComponent?: React.FC<any>;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Get input ref */\n elementRef?: React.ForwardedRef<HTMLInputElement>;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function MultiSelect({\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n elementRef,\n icon,\n rightSection,\n rightSectionWidth,\n ...others\n}: MultiSelectProps) {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, 'multi-select');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const handleValueRemove = (_val: string) => setValue(_value.filter((val) => val !== _val));\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setHovered(0);\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const filteredData = filterData({\n data: formattedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const handleItemSelect = (item: SelectItem) => {\n setTimeout(() => {\n clearSearchOnChange && handleSearchChange('');\n\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n });\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered]) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0 && searchable) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => formattedData.find((item) => item.value === val))\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n style={_styles.value}\n onRemove={() => handleValueRemove(item.value)}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={mergedStyles}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"multi-select\"\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n style={_styles.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'div'>\n __staticSelector=\"multi-select\"\n style={{ overflow: 'hidden' }}\n classNames={classNames}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && setDropdownOpened((o) => !o);\n inputRef.current?.focus();\n }}\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles: {\n ...styles,\n input: {\n ...styles?.input,\n cursor: !searchable ? (disabled ? 'not-allowed' : 'pointer') : undefined,\n },\n },\n size,\n shouldClear: clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values} style={_styles.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(elementRef, inputRef)}\n type=\"text\"\n id={uuid}\n style={_styles.searchInput}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n elementRef={dropdownRef}\n __staticSelector=\"multi-select\"\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={uuid}\n __staticSelector=\"multi-select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n />\n </SelectDropdown>\n </div>\n </InputWrapper>\n );\n}\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate } from '@mantine/hooks';\nimport {\n mergeStyles,\n DefaultProps,\n MantineSize,\n MantineShadow,\n ClassNames,\n useUuid,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { scrollIntoView } from '../../utils';\nimport { InputWrapper } from '../InputWrapper';\nimport { Input } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultValue, DefaultValueStylesNames } from './DefaultValue/DefaultValue';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { filterData } from './filter-data/filter-data';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport {\n SelectItem,\n SelectDataItem,\n BaseSelectProps,\n BaseSelectStylesNames,\n} from '../Select/types';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { SelectDropdown } from '../Select/SelectDropdown/SelectDropdown';\nimport { groupSortData } from '../Select/group-sort-data/group-sort-data';\nimport useStyles from './MultiSelect.styles';\n\nexport type MultiSelectStylesNames =\n | DefaultValueStylesNames\n | Exclude<\n ClassNames<typeof useStyles>,\n 'searchInputEmpty' | 'searchInputInputHidden' | 'searchInputPointer'\n >\n | Exclude<BaseSelectStylesNames, 'selected'>;\n\nexport interface MultiSelectProps extends DefaultProps<MultiSelectStylesNames>, BaseSelectProps {\n /** Input size */\n size?: MantineSize;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Data for select options */\n data: SelectDataItem[];\n\n /** Value for controlled component */\n value?: string[];\n\n /** Default value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called each time value changes */\n onChange?(value: string[]): void;\n\n /** Component used to render values */\n valueComponent?: React.FC<any>;\n\n /** Component used to render item */\n itemComponent?: React.FC<any>;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Enable items searching */\n searchable?: boolean;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, selected: boolean, item: SelectItem): boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Clear search value when item is selected */\n clearSearchOnChange?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Clear search field value on blur */\n clearSearchOnBlur?: boolean;\n\n /** Called each time search query changes */\n onSearchChange?(query: string): void;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Get input ref */\n elementRef?: React.ForwardedRef<HTMLInputElement>;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?: (query: string) => React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?: (query: string, data: SelectItem[]) => boolean;\n\n /** Called when create option is selected */\n onCreate?: (query: string) => void;\n}\n\nexport function defaultFilter(value: string, selected: boolean, item: SelectItem) {\n if (selected) {\n return false;\n }\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.value.toLowerCase() === query.toLowerCase());\n}\n\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n (\n {\n className,\n style,\n required,\n label,\n description,\n size = 'sm',\n error,\n classNames,\n styles,\n wrapperProps,\n value,\n defaultValue,\n data,\n onChange,\n valueComponent: Value = DefaultValue,\n itemComponent = DefaultItem,\n id,\n transition = 'pop-top-left',\n transitionDuration = 0,\n transitionTimingFunction,\n maxDropdownHeight = 220,\n shadow = 'sm',\n nothingFound,\n onFocus,\n onBlur,\n searchable = false,\n placeholder,\n filter = defaultFilter,\n limit = Infinity,\n clearSearchOnChange = true,\n clearable = false,\n clearSearchOnBlur = false,\n clearButtonLabel,\n variant,\n onSearchChange,\n disabled = false,\n initiallyOpened = false,\n radius = 'sm',\n icon,\n rightSection,\n rightSectionWidth,\n creatable = false,\n getCreateLabel,\n shouldCreate = defaultShouldCreate,\n onCreate,\n ...others\n }: MultiSelectProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, 'multi-select');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const dropdownRef = useRef<HTMLDivElement>();\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const uuid = useUuid(id);\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const handleSearchChange = (val: string) => {\n typeof onSearchChange === 'function' && onSearchChange(val);\n setSearchValue(val);\n };\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupSortData({ data: formattedData });\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n rule: (val) => Array.isArray(val),\n onChange,\n });\n\n const handleValueRemove = (_val: string) => setValue(_value.filter((val) => val !== _val));\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(event.currentTarget.value);\n setDropdownOpened(true);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n clearSearchOnBlur && handleSearchChange('');\n setDropdownOpened(false);\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n searchValue,\n limit,\n filter,\n value: _value,\n });\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(\n getNextIndex(\n -1,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n )\n );\n }, [searchValue]);\n\n const handleItemSelect = (item: SelectItem) => {\n setTimeout(() => {\n clearSearchOnChange && handleSearchChange('');\n if (_value.includes(item.value)) {\n handleValueRemove(item.value);\n } else {\n setValue([..._value, item.value]);\n if (hovered === filteredData.length - 1) {\n setHovered(filteredData.length - 2);\n }\n }\n if (item.creatable) {\n typeof onCreate === 'function' && onCreate(item.value);\n }\n });\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.nativeEvent.code) {\n case 'ArrowUp': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setDropdownOpened(true);\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n scrollIntoView(dropdownRef.current, itemsRefs.current[filteredData[nextIndex]?.value]);\n return nextIndex;\n });\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered]) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n\n break;\n }\n\n case 'Backspace': {\n if (_value.length > 0 && searchValue.length === 0 && searchable) {\n setValue(_value.slice(0, -1));\n setDropdownOpened(true);\n }\n\n break;\n }\n\n case 'Escape': {\n setDropdownOpened(false);\n }\n }\n };\n\n const selectedItems = _value\n .map((val) => {\n let selectedItem = sortedData.find((item) => item.value === val && !item.disabled);\n if (!selectedItem && isCreatable) {\n selectedItem = {\n value: val,\n label: val,\n };\n }\n return selectedItem;\n })\n .filter((val) => !!val)\n .map((item) => (\n <Value\n {...item}\n disabled={disabled}\n className={classes.value}\n style={_styles.value}\n onRemove={() => handleValueRemove(item.value)}\n key={item.value}\n size={size}\n styles={styles}\n classNames={classNames}\n radius={radius}\n />\n ));\n\n const handleClear = () => {\n handleSearchChange('');\n setValue([]);\n inputRef.current?.focus();\n };\n\n if (isCreatable && shouldCreate(searchValue, filteredData)) {\n createLabel = getCreateLabel(searchValue);\n filteredData.push({ label: searchValue, value: searchValue, creatable: true });\n }\n\n const shouldRenderDropdown =\n filteredData.length > 0 ||\n isCreatable ||\n (searchValue.length > 0 && !!nothingFound && filteredData.length === 0);\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={mergedStyles}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"multi-select\"\n {...wrapperProps}\n >\n <div\n className={classes.wrapper}\n style={_styles.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={`${uuid}-items`}\n aria-controls={uuid}\n aria-expanded={dropdownOpened}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'div'>\n __staticSelector=\"multi-select\"\n style={{ overflow: 'hidden' }}\n classNames={classNames}\n component=\"div\"\n multiline\n size={size}\n variant={variant}\n disabled={disabled}\n invalid={!!error}\n required={required}\n radius={radius}\n icon={icon}\n onMouseDown={(event) => {\n event.preventDefault();\n !disabled && setDropdownOpened((o) => !o);\n inputRef.current?.focus();\n }}\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles: {\n ...styles,\n input: {\n ...styles?.input,\n cursor: !searchable ? (disabled ? 'not-allowed' : 'pointer') : undefined,\n },\n },\n size,\n shouldClear: clearable && _value.length > 0,\n clearButtonLabel,\n onClear: handleClear,\n error,\n })}\n >\n <div className={classes.values} style={_styles.values}>\n {selectedItems}\n\n <input\n ref={useMergedRef(ref, inputRef)}\n type=\"text\"\n id={uuid}\n style={_styles.searchInput}\n className={cx(classes.searchInput, {\n [classes.searchInputPointer]: !searchable,\n [classes.searchInputInputHidden]:\n (!dropdownOpened && _value.length > 0) || (!searchable && _value.length > 0),\n [classes.searchInputEmpty]: _value.length === 0,\n })}\n onKeyDown={handleInputKeydown}\n value={searchValue}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n readOnly={!searchable}\n placeholder={_value.length === 0 ? placeholder : undefined}\n disabled={disabled}\n data-mantine-stop-propagation={dropdownOpened}\n autoComplete=\"off\"\n {...rest}\n />\n </div>\n </Input>\n\n <SelectDropdown\n mounted={dropdownOpened && shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n uuid={uuid}\n shadow={shadow}\n maxDropdownHeight={maxDropdownHeight}\n classNames={classNames}\n styles={styles}\n ref={dropdownRef}\n __staticSelector=\"multi-select\"\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={uuid}\n __staticSelector=\"multi-select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={size}\n nothingFound={nothingFound}\n creatable={creatable && !!createLabel}\n createLabel={createLabel}\n />\n </SelectDropdown>\n </div>\n </InputWrapper>\n );\n }\n);\n\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ function filterData({ data, searchable, limit, searchValue, filter, value }) {
|
|
|
5
5
|
if (!searchable) {
|
|
6
6
|
const result2 = [];
|
|
7
7
|
for (let i = 0; i < data.length; i += 1) {
|
|
8
|
-
if (!value.some((val) => val === data[i].value)) {
|
|
8
|
+
if (!value.some((val) => val === data[i].value && !data[i].disabled)) {
|
|
9
9
|
result2.push(data[i]);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -13,7 +13,7 @@ function filterData({ data, searchable, limit, searchValue, filter, value }) {
|
|
|
13
13
|
}
|
|
14
14
|
const result = [];
|
|
15
15
|
for (let i = 0; i < data.length; i += 1) {
|
|
16
|
-
if (filter(searchValue, value.some((val) => val === data[i].value), data[i])) {
|
|
16
|
+
if (filter(searchValue, value.some((val) => val === data[i].value && !data[i].disabled), data[i])) {
|
|
17
17
|
result.push(data[i]);
|
|
18
18
|
}
|
|
19
19
|
if (result.length >= limit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-data.js","sources":["../../../../src/components/MultiSelect/filter-data/filter-data.ts"],"sourcesContent":["import type { SelectItem } from '../../Select/types';\n\ninterface FilterData {\n data: SelectItem[];\n limit: number;\n searchable: boolean;\n searchValue: string;\n filter(value: string, selected: boolean, item: SelectItem): boolean;\n value: string[];\n}\n\nexport function filterData({ data, searchable, limit, searchValue, filter, value }: FilterData) {\n if (!searchable && value.length === 0) {\n return data;\n }\n\n if (!searchable) {\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!value.some((val) => val === data[i].value)) {\n result.push(data[i]);\n }\n }\n\n return result;\n }\n\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (\n filter(\n searchValue,\n value.some((val) => val === data[i].value),\n data[i]\n )\n ) {\n result.push(data[i]);\n }\n\n if (result.length >= limit) {\n break;\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"AAAO,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;AACpF,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"filter-data.js","sources":["../../../../src/components/MultiSelect/filter-data/filter-data.ts"],"sourcesContent":["import type { SelectItem } from '../../Select/types';\n\ninterface FilterData {\n data: SelectItem[];\n limit: number;\n searchable: boolean;\n searchValue: string;\n filter(value: string, selected: boolean, item: SelectItem): boolean;\n value: string[];\n}\n\nexport function filterData({ data, searchable, limit, searchValue, filter, value }: FilterData) {\n if (!searchable && value.length === 0) {\n return data;\n }\n\n if (!searchable) {\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!value.some((val) => val === data[i].value && !data[i].disabled)) {\n result.push(data[i]);\n }\n }\n\n return result;\n }\n\n const result = [];\n for (let i = 0; i < data.length; i += 1) {\n if (\n filter(\n searchValue,\n value.some((val) => val === data[i].value && !data[i].disabled),\n data[i]\n )\n ) {\n result.push(data[i]);\n }\n\n if (result.length >= limit) {\n break;\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"AAAO,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;AACpF,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC5E,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AACvG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE;AAChC,MAAM,MAAM;AACZ,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import { useUuid, useExtractedMargins } from '@mantine/styles';
|
|
3
3
|
import { InputWrapper } from '../InputWrapper/InputWrapper.js';
|
|
4
4
|
import { Input } from '../Input/Input.js';
|
|
@@ -35,7 +35,7 @@ var __objRest = (source, exclude) => {
|
|
|
35
35
|
}
|
|
36
36
|
return target;
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
const NativeSelect = forwardRef((_a, ref) => {
|
|
39
39
|
var _b = _a, {
|
|
40
40
|
id,
|
|
41
41
|
className,
|
|
@@ -48,7 +48,6 @@ function NativeSelect(_a) {
|
|
|
48
48
|
wrapperProps,
|
|
49
49
|
inputStyle,
|
|
50
50
|
description,
|
|
51
|
-
elementRef,
|
|
52
51
|
defaultValue,
|
|
53
52
|
onChange,
|
|
54
53
|
value,
|
|
@@ -69,7 +68,6 @@ function NativeSelect(_a) {
|
|
|
69
68
|
"wrapperProps",
|
|
70
69
|
"inputStyle",
|
|
71
70
|
"description",
|
|
72
|
-
"elementRef",
|
|
73
71
|
"defaultValue",
|
|
74
72
|
"onChange",
|
|
75
73
|
"value",
|
|
@@ -113,7 +111,7 @@ function NativeSelect(_a) {
|
|
|
113
111
|
invalid: !!error,
|
|
114
112
|
style: inputStyle,
|
|
115
113
|
"aria-required": required,
|
|
116
|
-
|
|
114
|
+
ref,
|
|
117
115
|
id: uuid,
|
|
118
116
|
required,
|
|
119
117
|
value: value === null ? "" : value,
|
|
@@ -128,7 +126,7 @@ function NativeSelect(_a) {
|
|
|
128
126
|
size,
|
|
129
127
|
error
|
|
130
128
|
})), options));
|
|
131
|
-
}
|
|
129
|
+
});
|
|
132
130
|
NativeSelect.displayName = "@mantine/core/NativeSelect";
|
|
133
131
|
|
|
134
132
|
export { NativeSelect };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.js","sources":["../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, useUuid, useExtractedMargins } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapper,\n InputWrapperStylesNames,\n} from '../InputWrapper/InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input/Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputBaseProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Style properties added to select element */\n inputStyle?: React.CSSProperties;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /**
|
|
1
|
+
{"version":3,"file":"NativeSelect.js","sources":["../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useUuid, useExtractedMargins } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapper,\n InputWrapperStylesNames,\n} from '../InputWrapper/InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input/Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputBaseProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Style properties added to select element */\n inputStyle?: React.CSSProperties;\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'> & { [key: string]: any };\n\n /** Input size */\n size?: MantineSize;\n}\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n (\n {\n id,\n className,\n required,\n label,\n error,\n style,\n data,\n placeholder,\n wrapperProps,\n inputStyle,\n description,\n defaultValue,\n onChange,\n value,\n classNames,\n styles,\n size = 'sm',\n rightSection,\n rightSectionWidth,\n ...others\n }: NativeSelectProps,\n ref\n ) => {\n const uuid = useUuid(id);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <InputWrapper\n {...wrapperProps}\n required={required}\n id={uuid}\n label={label}\n error={error}\n className={className}\n style={mergedStyles}\n description={description}\n size={size}\n styles={styles}\n classNames={classNames}\n __staticSelector=\"select\"\n >\n <Input<'select'>\n {...rest}\n onChange={onChange}\n component=\"select\"\n invalid={!!error}\n style={inputStyle}\n aria-required={required}\n ref={ref}\n id={uuid}\n required={required}\n value={value === null ? '' : value}\n size={size}\n classNames={classNames}\n __staticSelector=\"select\"\n {...getSelectRightSectionProps({\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size,\n error,\n })}\n >\n {options}\n </Input>\n </InputWrapper>\n );\n }\n);\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":[],"mappings":";;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQU,MAAC,YAAY,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACpD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,EAAE;AACN,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5F,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK;AACnB,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClB,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,CAAC,OAAO,iBAAiB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAClE,MAAM,GAAG,EAAE,aAAa;AACxB,MAAM,KAAK,EAAE,EAAE;AACf,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC3G,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACxG,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,eAAe,EAAE,QAAQ;AAC7B,IAAI,GAAG;AACP,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK;AACtC,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACjC,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,WAAW,EAAE,KAAK;AACtB,IAAI,IAAI;AACR,IAAI,KAAK;AACT,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACjB,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import { mergeStyles, useExtractedMargins } from '@mantine/styles';
|
|
3
3
|
import { Text } from '../Text/Text.js';
|
|
4
4
|
import { Loader } from '../Loader/Loader.js';
|
|
@@ -36,7 +36,7 @@ var __objRest = (source, exclude) => {
|
|
|
36
36
|
}
|
|
37
37
|
return target;
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
const Notification = forwardRef((_a, ref) => {
|
|
40
40
|
var _b = _a, {
|
|
41
41
|
className,
|
|
42
42
|
style,
|
|
@@ -71,7 +71,8 @@ function Notification(_a) {
|
|
|
71
71
|
return /* @__PURE__ */ React.createElement("div", __spreadValues({
|
|
72
72
|
className: cx(classes.root, { [classes.withIcon]: withIcon }, className),
|
|
73
73
|
role: "alert",
|
|
74
|
-
style: __spreadValues(__spreadValues({}, mergedStyles), withIcon ? _styles.withIcon : null)
|
|
74
|
+
style: __spreadValues(__spreadValues({}, mergedStyles), withIcon ? _styles.withIcon : null),
|
|
75
|
+
ref
|
|
75
76
|
}, rest), icon && !loading && /* @__PURE__ */ React.createElement("div", {
|
|
76
77
|
className: classes.icon,
|
|
77
78
|
style: _styles.icon
|
|
@@ -99,7 +100,7 @@ function Notification(_a) {
|
|
|
99
100
|
onClick: onClose,
|
|
100
101
|
variant: "hover"
|
|
101
102
|
})));
|
|
102
|
-
}
|
|
103
|
+
});
|
|
103
104
|
Notification.displayName = "@mantine/core/Notification";
|
|
104
105
|
|
|
105
106
|
export { Notification };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sources":["../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import React from 'react';\nimport {\n mergeStyles,\n DefaultProps,\n MantineColor,\n ClassNames,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { Text } from '../Text/Text';\nimport { Loader } from '../Loader/Loader';\nimport { CloseButton } from '../ActionIcon/CloseButton/CloseButton';\nimport useStyles from './Notification.styles';\n\nexport type NotificationStylesNames = Exclude<ClassNames<typeof useStyles>, 'withIcon'>;\n\nexport interface NotificationProps\n extends DefaultProps<NotificationStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Called when close button is clicked */\n onClose(): void;\n\n /** Notification line or icon color */\n color?: MantineColor;\n\n /** Notification icon, replaces color line */\n icon?: React.ReactNode;\n\n /** Notification title, displayed before body */\n title?: React.ReactNode;\n\n /** Notification body, place main text here */\n children?: React.ReactNode;\n\n /** Replaces colored line or icon with Loader component */\n loading?: boolean;\n\n /** Removes close button */\n disallowClose?: boolean;\n\n /** Props spread to close button */\n closeButtonProps?: React.ComponentPropsWithoutRef<'button'> & { [key: string]: any };\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"Notification.js","sources":["../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n mergeStyles,\n DefaultProps,\n MantineColor,\n ClassNames,\n useExtractedMargins,\n} from '@mantine/styles';\nimport { Text } from '../Text/Text';\nimport { Loader } from '../Loader/Loader';\nimport { CloseButton } from '../ActionIcon/CloseButton/CloseButton';\nimport useStyles from './Notification.styles';\n\nexport type NotificationStylesNames = Exclude<ClassNames<typeof useStyles>, 'withIcon'>;\n\nexport interface NotificationProps\n extends DefaultProps<NotificationStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Called when close button is clicked */\n onClose(): void;\n\n /** Notification line or icon color */\n color?: MantineColor;\n\n /** Notification icon, replaces color line */\n icon?: React.ReactNode;\n\n /** Notification title, displayed before body */\n title?: React.ReactNode;\n\n /** Notification body, place main text here */\n children?: React.ReactNode;\n\n /** Replaces colored line or icon with Loader component */\n loading?: boolean;\n\n /** Removes close button */\n disallowClose?: boolean;\n\n /** Props spread to close button */\n closeButtonProps?: React.ComponentPropsWithoutRef<'button'> & { [key: string]: any };\n}\n\nexport const Notification = forwardRef<HTMLDivElement, NotificationProps>(\n (\n {\n className,\n style,\n color = 'blue',\n loading = false,\n disallowClose = false,\n title,\n icon,\n children,\n onClose,\n closeButtonProps,\n classNames,\n styles,\n ...others\n }: NotificationProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ color, disallowClose }, classNames, 'notification');\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style, rootStyle: _styles.root });\n const withIcon = icon || loading;\n\n return (\n <div\n className={cx(classes.root, { [classes.withIcon]: withIcon }, className)}\n role=\"alert\"\n style={{ ...mergedStyles, ...(withIcon ? _styles.withIcon : null) }}\n ref={ref}\n {...rest}\n >\n {icon && !loading && (\n <div className={classes.icon} style={_styles.icon}>\n {icon}\n </div>\n )}\n\n {loading && (\n <Loader size={28} color={color} className={classes.loader} style={_styles.loader} />\n )}\n\n <div className={classes.body} style={_styles.body}>\n {title && (\n <Text className={classes.title} size=\"sm\" weight={500} style={_styles.title}>\n {title}\n </Text>\n )}\n\n <Text\n color=\"dimmed\"\n className={classes.description}\n size=\"sm\"\n style={_styles.description}\n >\n {children}\n </Text>\n </div>\n\n {!disallowClose && (\n <CloseButton\n {...closeButtonProps}\n iconSize={16}\n color=\"gray\"\n onClick={onClose}\n variant=\"hover\"\n />\n )}\n </div>\n );\n }\n);\n\nNotification.displayName = '@mantine/core/Notification';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useRef, useEffect } from 'react';
|
|
1
|
+
import React, { forwardRef, useState, useRef, useEffect } from 'react';
|
|
2
2
|
import { assignRef, useMergedRef, clamp } from '@mantine/hooks';
|
|
3
3
|
import { mergeStyles, getSizeValue } from '@mantine/styles';
|
|
4
4
|
import { TextInput } from '../TextInput/TextInput.js';
|
|
@@ -35,10 +35,9 @@ var __objRest = (source, exclude) => {
|
|
|
35
35
|
}
|
|
36
36
|
return target;
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
const NumberInput = forwardRef((_a, ref) => {
|
|
39
39
|
var _b = _a, {
|
|
40
40
|
disabled,
|
|
41
|
-
elementRef,
|
|
42
41
|
value,
|
|
43
42
|
onChange,
|
|
44
43
|
min,
|
|
@@ -58,7 +57,6 @@ function NumberInput(_a) {
|
|
|
58
57
|
size
|
|
59
58
|
} = _b, others = __objRest(_b, [
|
|
60
59
|
"disabled",
|
|
61
|
-
"elementRef",
|
|
62
60
|
"value",
|
|
63
61
|
"onChange",
|
|
64
62
|
"min",
|
|
@@ -163,7 +161,7 @@ function NumberInput(_a) {
|
|
|
163
161
|
variant,
|
|
164
162
|
value: tempValue,
|
|
165
163
|
disabled,
|
|
166
|
-
|
|
164
|
+
ref: useMergedRef(inputRef, ref),
|
|
167
165
|
type: "number",
|
|
168
166
|
onChange: handleChange,
|
|
169
167
|
onBlur: handleBlur,
|
|
@@ -179,7 +177,7 @@ function NumberInput(_a) {
|
|
|
179
177
|
classNames,
|
|
180
178
|
__staticSelector: "number-input"
|
|
181
179
|
}));
|
|
182
|
-
}
|
|
180
|
+
});
|
|
183
181
|
NumberInput.displayName = "@mantine/core/NumberInput";
|
|
184
182
|
|
|
185
183
|
export { NumberInput };
|