@mantine/core 7.0.0-beta.5 → 7.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Accordion/Accordion.js +3 -5
- package/cjs/components/Accordion/Accordion.js.map +1 -1
- package/cjs/components/Accordion/Accordion.module.css.js +1 -1
- package/cjs/components/Accordion/AccordionPanel/AccordionPanel.js +2 -1
- package/cjs/components/Accordion/AccordionPanel/AccordionPanel.js.map +1 -1
- package/cjs/components/ActionIcon/ActionIcon.js +7 -10
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.js +1 -2
- package/cjs/components/ActionIcon/ActionIconGroup/ActionIconGroup.js.map +1 -1
- package/cjs/components/Alert/Alert.js +6 -8
- package/cjs/components/Alert/Alert.js.map +1 -1
- package/cjs/components/AspectRatio/AspectRatio.js +1 -1
- package/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +9 -4
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Avatar/Avatar.js +7 -12
- package/cjs/components/Avatar/Avatar.js.map +1 -1
- package/cjs/components/Avatar/AvatarGroup/AvatarGroup.js +1 -3
- package/cjs/components/Avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/cjs/components/BackgroundImage/BackgroundImage.js +2 -4
- package/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
- package/cjs/components/Badge/Badge.js +6 -10
- package/cjs/components/Badge/Badge.js.map +1 -1
- package/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -2
- package/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/cjs/components/Burger/Burger.js +2 -6
- package/cjs/components/Burger/Burger.js.map +1 -1
- package/cjs/components/Button/Button.js +7 -10
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/ButtonGroup/ButtonGroup.js +1 -2
- package/cjs/components/Button/ButtonGroup/ButtonGroup.js.map +1 -1
- package/cjs/components/Card/Card.js +1 -3
- package/cjs/components/Card/Card.js.map +1 -1
- package/cjs/components/Center/Center.js +2 -7
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +8 -6
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Chip/Chip.js +41 -33
- package/cjs/components/Chip/Chip.js.map +1 -1
- package/cjs/components/CloseButton/CloseButton.js +60 -11
- package/cjs/components/CloseButton/CloseButton.js.map +1 -1
- package/cjs/components/CloseButton/CloseButton.module.css.js +8 -0
- package/cjs/components/CloseButton/CloseButton.module.css.js.map +1 -0
- package/cjs/components/CloseButton/CloseIcon.js +1 -1
- package/cjs/components/CloseButton/CloseIcon.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +0 -1
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/ColorPicker/ColorPicker.js +74 -67
- package/cjs/components/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs/components/ColorSwatch/ColorSwatch.js +2 -4
- package/cjs/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/cjs/components/Combobox/Combobox.js +2 -4
- package/cjs/components/Combobox/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.js +0 -1
- package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.js.map +1 -1
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js +18 -2
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.js +2 -1
- package/cjs/components/Combobox/ComboboxOptions/ComboboxOptions.js.map +1 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.js +1 -0
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.js.map +1 -1
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.js +18 -2
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.js.map +1 -1
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js +6 -4
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -1
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.js +2 -1
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.js.map +1 -1
- package/cjs/components/Container/Container.js +5 -7
- package/cjs/components/Container/Container.js.map +1 -1
- package/cjs/components/Dialog/Dialog.js +0 -1
- package/cjs/components/Dialog/Dialog.js.map +1 -1
- package/cjs/components/Divider/Divider.js +0 -1
- package/cjs/components/Divider/Divider.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +0 -3
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Drawer/DrawerRoot.js +4 -7
- package/cjs/components/Drawer/DrawerRoot.js.map +1 -1
- package/cjs/components/Fieldset/Fieldset.js +1 -1
- package/cjs/components/Fieldset/Fieldset.js.map +1 -1
- package/cjs/components/FileInput/FileInput.js +0 -1
- package/cjs/components/FileInput/FileInput.js.map +1 -1
- package/cjs/components/Group/Group.js +2 -6
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Image/Image.js +2 -4
- package/cjs/components/Image/Image.js.map +1 -1
- package/cjs/components/Indicator/Indicator.js +3 -4
- package/cjs/components/Indicator/Indicator.js.map +1 -1
- package/cjs/components/InlineInput/InlineInput.js +1 -1
- package/cjs/components/InlineInput/InlineInput.js.map +1 -1
- package/cjs/components/Input/Input.js +1 -2
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/InputDescription/InputDescription.js +2 -4
- package/cjs/components/Input/InputDescription/InputDescription.js.map +1 -1
- package/cjs/components/Input/InputError/InputError.js +2 -4
- package/cjs/components/Input/InputError/InputError.js.map +1 -1
- package/cjs/components/Input/InputLabel/InputLabel.js +1 -2
- package/cjs/components/Input/InputLabel/InputLabel.js.map +1 -1
- package/cjs/components/Input/InputWrapper/InputWrapper.js +3 -4
- package/cjs/components/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/components/InputBase/InputBase.js +0 -1
- package/cjs/components/InputBase/InputBase.js.map +1 -1
- package/cjs/components/JsonInput/JsonInput.js +0 -1
- package/cjs/components/JsonInput/JsonInput.js.map +1 -1
- package/cjs/components/Kbd/Kbd.js +1 -3
- package/cjs/components/Kbd/Kbd.js.map +1 -1
- package/cjs/components/List/List.js +1 -3
- package/cjs/components/List/List.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -2
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Modal/Modal.js +1 -4
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalRoot.js +1 -6
- package/cjs/components/Modal/ModalRoot.js.map +1 -1
- package/cjs/components/ModalBase/ModalBaseOverlay.js +0 -1
- package/cjs/components/ModalBase/ModalBaseOverlay.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +13 -8
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.js +0 -1
- package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/components/NavLink/NavLink.js +5 -8
- package/cjs/components/NavLink/NavLink.js.map +1 -1
- package/cjs/components/Notification/Notification.js +3 -4
- package/cjs/components/Notification/Notification.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +2 -2
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/Overlay/Overlay.js +3 -6
- package/cjs/components/Overlay/Overlay.js.map +1 -1
- package/cjs/components/Pagination/PaginationRoot/PaginationRoot.js +3 -4
- package/cjs/components/Pagination/PaginationRoot/PaginationRoot.js.map +1 -1
- package/cjs/components/Paper/Paper.js +1 -1
- package/cjs/components/Paper/Paper.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +7 -3
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Pill/Pill.js +2 -4
- package/cjs/components/Pill/Pill.js.map +1 -1
- package/cjs/components/Pill/PillGroup/PillGroup.js +2 -2
- package/cjs/components/Pill/PillGroup/PillGroup.js.map +1 -1
- package/cjs/components/PillsInput/PillsInput.js +1 -3
- package/cjs/components/PillsInput/PillsInput.js.map +1 -1
- package/cjs/components/PinInput/PinInput.js +0 -1
- package/cjs/components/PinInput/PinInput.js.map +1 -1
- package/cjs/components/Popover/Popover.js +1 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Progress/Progress.js +1 -3
- package/cjs/components/Progress/Progress.js.map +1 -1
- package/cjs/components/Progress/ProgressRoot/ProgressRoot.js +2 -4
- package/cjs/components/Progress/ProgressRoot/ProgressRoot.js.map +1 -1
- package/cjs/components/Radio/Radio.js +9 -8
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.js +0 -1
- package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.js +3 -7
- package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/components/Select/Select.js +12 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Skeleton/Skeleton.js +1 -3
- package/cjs/components/Skeleton/Skeleton.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js +3 -5
- package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js +3 -4
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Stack/Stack.js +1 -5
- package/cjs/components/Stack/Stack.js.map +1 -1
- package/cjs/components/Stepper/Stepper.js +2 -5
- package/cjs/components/Stepper/Stepper.js.map +1 -1
- package/cjs/components/Switch/Switch.js +8 -7
- package/cjs/components/Switch/Switch.js.map +1 -1
- package/cjs/components/Table/Table.js +1 -3
- package/cjs/components/Table/Table.js.map +1 -1
- package/cjs/components/TagsInput/TagsInput.js +12 -7
- package/cjs/components/TagsInput/TagsInput.js.map +1 -1
- package/cjs/components/Text/Text.js +1 -3
- package/cjs/components/Text/Text.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +1 -3
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.js +6 -9
- package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/cjs/components/Timeline/Timeline.js +2 -5
- package/cjs/components/Timeline/Timeline.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +1 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.js +1 -1
- package/cjs/components/Tooltip/TooltipFloating/TooltipFloating.js.map +1 -1
- package/cjs/core/utils/get-size/get-size.js +1 -1
- package/cjs/core/utils/get-size/get-size.js.map +1 -1
- package/cjs/index.css +408 -178
- package/esm/components/Accordion/Accordion.js +3 -5
- package/esm/components/Accordion/Accordion.js.map +1 -1
- package/esm/components/Accordion/Accordion.module.css.js +1 -1
- package/esm/components/Accordion/AccordionPanel/AccordionPanel.js +2 -1
- package/esm/components/Accordion/AccordionPanel/AccordionPanel.js.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.js +7 -10
- package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.js +1 -2
- package/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.js.map +1 -1
- package/esm/components/Alert/Alert.js +6 -8
- package/esm/components/Alert/Alert.js.map +1 -1
- package/esm/components/AspectRatio/AspectRatio.js +1 -1
- package/esm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.js +10 -5
- package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/components/Avatar/Avatar.js +7 -12
- package/esm/components/Avatar/Avatar.js.map +1 -1
- package/esm/components/Avatar/AvatarGroup/AvatarGroup.js +1 -3
- package/esm/components/Avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/esm/components/BackgroundImage/BackgroundImage.js +2 -4
- package/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
- package/esm/components/Badge/Badge.js +6 -10
- package/esm/components/Badge/Badge.js.map +1 -1
- package/esm/components/Breadcrumbs/Breadcrumbs.js +1 -2
- package/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/esm/components/Burger/Burger.js +2 -6
- package/esm/components/Burger/Burger.js.map +1 -1
- package/esm/components/Button/Button.js +7 -10
- package/esm/components/Button/Button.js.map +1 -1
- package/esm/components/Button/ButtonGroup/ButtonGroup.js +1 -2
- package/esm/components/Button/ButtonGroup/ButtonGroup.js.map +1 -1
- package/esm/components/Card/Card.js +1 -3
- package/esm/components/Card/Card.js.map +1 -1
- package/esm/components/Center/Center.js +2 -7
- package/esm/components/Center/Center.js.map +1 -1
- package/esm/components/Checkbox/Checkbox.js +8 -6
- package/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/esm/components/Chip/Chip.js +41 -33
- package/esm/components/Chip/Chip.js.map +1 -1
- package/esm/components/CloseButton/CloseButton.js +60 -11
- package/esm/components/CloseButton/CloseButton.js.map +1 -1
- package/esm/components/CloseButton/CloseButton.module.css.js +4 -0
- package/esm/components/CloseButton/CloseButton.module.css.js.map +1 -0
- package/esm/components/CloseButton/CloseIcon.js +1 -1
- package/esm/components/CloseButton/CloseIcon.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +0 -1
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/ColorPicker/ColorPicker.js +74 -67
- package/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/esm/components/ColorSwatch/ColorSwatch.js +2 -4
- package/esm/components/ColorSwatch/ColorSwatch.js.map +1 -1
- package/esm/components/Combobox/Combobox.js +2 -4
- package/esm/components/Combobox/Combobox.js.map +1 -1
- package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.js +0 -1
- package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.js.map +1 -1
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js +18 -2
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js.map +1 -1
- package/esm/components/Combobox/ComboboxOptions/ComboboxOptions.js +2 -1
- package/esm/components/Combobox/ComboboxOptions/ComboboxOptions.js.map +1 -1
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.js +1 -0
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.js.map +1 -1
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.js +18 -2
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.js.map +1 -1
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.js +6 -4
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -1
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.js +2 -1
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.js.map +1 -1
- package/esm/components/Container/Container.js +5 -7
- package/esm/components/Container/Container.js.map +1 -1
- package/esm/components/Dialog/Dialog.js +0 -1
- package/esm/components/Dialog/Dialog.js.map +1 -1
- package/esm/components/Divider/Divider.js +0 -1
- package/esm/components/Divider/Divider.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +0 -3
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Drawer/DrawerRoot.js +4 -7
- package/esm/components/Drawer/DrawerRoot.js.map +1 -1
- package/esm/components/Fieldset/Fieldset.js +1 -1
- package/esm/components/Fieldset/Fieldset.js.map +1 -1
- package/esm/components/FileInput/FileInput.js +0 -1
- package/esm/components/FileInput/FileInput.js.map +1 -1
- package/esm/components/Group/Group.js +2 -6
- package/esm/components/Group/Group.js.map +1 -1
- package/esm/components/Image/Image.js +2 -4
- package/esm/components/Image/Image.js.map +1 -1
- package/esm/components/Indicator/Indicator.js +3 -4
- package/esm/components/Indicator/Indicator.js.map +1 -1
- package/esm/components/InlineInput/InlineInput.js +1 -1
- package/esm/components/InlineInput/InlineInput.js.map +1 -1
- package/esm/components/Input/Input.js +1 -2
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/Input/InputDescription/InputDescription.js +2 -4
- package/esm/components/Input/InputDescription/InputDescription.js.map +1 -1
- package/esm/components/Input/InputError/InputError.js +2 -4
- package/esm/components/Input/InputError/InputError.js.map +1 -1
- package/esm/components/Input/InputLabel/InputLabel.js +1 -2
- package/esm/components/Input/InputLabel/InputLabel.js.map +1 -1
- package/esm/components/Input/InputWrapper/InputWrapper.js +3 -4
- package/esm/components/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/esm/components/InputBase/InputBase.js +0 -1
- package/esm/components/InputBase/InputBase.js.map +1 -1
- package/esm/components/JsonInput/JsonInput.js +0 -1
- package/esm/components/JsonInput/JsonInput.js.map +1 -1
- package/esm/components/Kbd/Kbd.js +1 -3
- package/esm/components/Kbd/Kbd.js.map +1 -1
- package/esm/components/List/List.js +1 -3
- package/esm/components/List/List.js.map +1 -1
- package/esm/components/Loader/Loader.js +1 -2
- package/esm/components/Loader/Loader.js.map +1 -1
- package/esm/components/Modal/Modal.js +1 -4
- package/esm/components/Modal/Modal.js.map +1 -1
- package/esm/components/Modal/ModalRoot.js +1 -6
- package/esm/components/Modal/ModalRoot.js.map +1 -1
- package/esm/components/ModalBase/ModalBaseOverlay.js +0 -1
- package/esm/components/ModalBase/ModalBaseOverlay.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +14 -9
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.js +0 -1
- package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/components/NavLink/NavLink.js +5 -8
- package/esm/components/NavLink/NavLink.js.map +1 -1
- package/esm/components/Notification/Notification.js +3 -4
- package/esm/components/Notification/Notification.js.map +1 -1
- package/esm/components/NumberInput/NumberInput.js +2 -2
- package/esm/components/NumberInput/NumberInput.js.map +1 -1
- package/esm/components/Overlay/Overlay.js +3 -6
- package/esm/components/Overlay/Overlay.js.map +1 -1
- package/esm/components/Pagination/PaginationRoot/PaginationRoot.js +3 -4
- package/esm/components/Pagination/PaginationRoot/PaginationRoot.js.map +1 -1
- package/esm/components/Paper/Paper.js +1 -1
- package/esm/components/Paper/Paper.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +7 -3
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/Pill/Pill.js +2 -4
- package/esm/components/Pill/Pill.js.map +1 -1
- package/esm/components/Pill/PillGroup/PillGroup.js +2 -2
- package/esm/components/Pill/PillGroup/PillGroup.js.map +1 -1
- package/esm/components/PillsInput/PillsInput.js +1 -3
- package/esm/components/PillsInput/PillsInput.js.map +1 -1
- package/esm/components/PinInput/PinInput.js +0 -1
- package/esm/components/PinInput/PinInput.js.map +1 -1
- package/esm/components/Popover/Popover.js +1 -1
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/Progress/Progress.js +1 -3
- package/esm/components/Progress/Progress.js.map +1 -1
- package/esm/components/Progress/ProgressRoot/ProgressRoot.js +2 -4
- package/esm/components/Progress/ProgressRoot/ProgressRoot.js.map +1 -1
- package/esm/components/Radio/Radio.js +9 -8
- package/esm/components/Radio/Radio.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.js +0 -1
- package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.js +3 -7
- package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/components/Select/Select.js +13 -5
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Skeleton/Skeleton.js +1 -3
- package/esm/components/Skeleton/Skeleton.js.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js +3 -5
- package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/components/Slider/Slider/Slider.js +3 -4
- package/esm/components/Slider/Slider/Slider.js.map +1 -1
- package/esm/components/Stack/Stack.js +1 -5
- package/esm/components/Stack/Stack.js.map +1 -1
- package/esm/components/Stepper/Stepper.js +2 -5
- package/esm/components/Stepper/Stepper.js.map +1 -1
- package/esm/components/Switch/Switch.js +8 -7
- package/esm/components/Switch/Switch.js.map +1 -1
- package/esm/components/Table/Table.js +1 -3
- package/esm/components/Table/Table.js.map +1 -1
- package/esm/components/TagsInput/TagsInput.js +13 -8
- package/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/esm/components/Text/Text.js +1 -3
- package/esm/components/Text/Text.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +1 -3
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.js +6 -9
- package/esm/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/esm/components/Timeline/Timeline.js +2 -5
- package/esm/components/Timeline/Timeline.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +1 -1
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/components/Tooltip/TooltipFloating/TooltipFloating.js +1 -1
- package/esm/components/Tooltip/TooltipFloating/TooltipFloating.js.map +1 -1
- package/esm/core/utils/get-size/get-size.js +1 -1
- package/esm/core/utils/get-size/get-size.js.map +1 -1
- package/esm/index.css +408 -178
- package/esm/styles/Accordion.css +1 -1
- package/esm/styles/ActionIcon.css +1 -1
- package/esm/styles/Alert.css +1 -1
- package/esm/styles/AspectRatio.css +1 -1
- package/esm/styles/Avatar.css +1 -1
- package/esm/styles/BackgroundImage.css +1 -1
- package/esm/styles/Badge.css +1 -1
- package/esm/styles/Breadcrumbs.css +1 -1
- package/esm/styles/Burger.css +1 -1
- package/esm/styles/Button.css +1 -1
- package/esm/styles/Card.css +1 -1
- package/esm/styles/Center.css +1 -1
- package/esm/styles/Checkbox.css +1 -1
- package/esm/styles/Chip.css +1 -1
- package/esm/styles/CloseButton.css +1 -0
- package/esm/styles/ColorInput.css +1 -1
- package/esm/styles/ColorPicker.css +1 -1
- package/esm/styles/ColorSwatch.css +1 -1
- package/esm/styles/Combobox.css +1 -1
- package/esm/styles/Container.css +1 -1
- package/esm/styles/Dialog.css +1 -1
- package/esm/styles/Divider.css +1 -1
- package/esm/styles/Drawer.css +1 -1
- package/esm/styles/Fieldset.css +1 -1
- package/esm/styles/Group.css +1 -1
- package/esm/styles/Indicator.css +1 -1
- package/esm/styles/InlineInput.css +1 -1
- package/esm/styles/Input.css +5 -3
- package/esm/styles/Kbd.css +1 -1
- package/esm/styles/List.css +1 -1
- package/esm/styles/Loader.css +1 -1
- package/esm/styles/Modal.css +1 -1
- package/esm/styles/ModalBase.css +1 -1
- package/esm/styles/NavLink.css +1 -1
- package/esm/styles/Notification.css +1 -1
- package/esm/styles/NumberInput.css +1 -1
- package/esm/styles/Overlay.css +1 -1
- package/esm/styles/Pagination.css +1 -1
- package/esm/styles/Paper.css +1 -1
- package/esm/styles/PasswordInput.css +1 -1
- package/esm/styles/Pill.css +1 -1
- package/esm/styles/PinInput.css +1 -1
- package/esm/styles/Popover.css +1 -1
- package/esm/styles/Progress.css +1 -1
- package/esm/styles/Radio.css +1 -1
- package/esm/styles/ScrollArea.css +1 -1
- package/esm/styles/SegmentedControl.css +1 -1
- package/esm/styles/Skeleton.css +1 -1
- package/esm/styles/Slider.css +1 -1
- package/esm/styles/Stack.css +1 -1
- package/esm/styles/Stepper.css +1 -1
- package/esm/styles/Switch.css +1 -1
- package/esm/styles/Table.css +1 -1
- package/esm/styles/Text.css +1 -1
- package/esm/styles/ThemeIcon.css +1 -1
- package/esm/styles/Timeline.css +1 -1
- package/esm/styles/Tooltip.css +1 -1
- package/lib/components/Center/Center.d.ts +0 -6
- package/lib/components/Center/index.d.ts +1 -1
- package/lib/components/Checkbox/Checkbox.d.ts +2 -0
- package/lib/components/Chip/Chip.d.ts +2 -0
- package/lib/components/CloseButton/CloseButton.d.ts +19 -5
- package/lib/components/CloseButton/index.d.ts +1 -1
- package/lib/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.d.ts +2 -0
- package/lib/components/Combobox/ComboboxOptions/ComboboxOptions.d.ts +2 -0
- package/lib/components/Combobox/ComboboxTarget/ComboboxTarget.d.ts +2 -0
- package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +2 -1
- package/lib/components/Combobox/use-combobox-target-props/use-combobox-target-props.d.ts +3 -2
- package/lib/components/Pill/Pill.d.ts +2 -2
- package/lib/components/Pill/PillGroup/PillGroup.d.ts +2 -2
- package/lib/components/Radio/Radio.d.ts +2 -0
- package/lib/components/Switch/Switch.d.ts +2 -0
- package/lib/components/Text/Text.d.ts +4 -4
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineSize,\n getSize,\n getSpacing,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { AlphaSlider } from './AlphaSlider/AlphaSlider';\nimport { HueSlider } from './HueSlider/HueSlider';\nimport { Saturation } from './Saturation/Saturation';\nimport { Swatches } from './Swatches/Swatches';\nimport { ColorFormat, HsvaColor } from './ColorPicker.types';\nimport { convertHsvaTo, isColorValid, parseColor } from './converters';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorPickerProvider } from './ColorPicker.context';\nimport classes from './ColorPicker.module.css';\n\nexport type ColorPickerStylesNames =\n | 'wrapper'\n | 'preview'\n | 'body'\n | 'sliders'\n | 'slider'\n | 'sliderOverlay'\n | 'thumb'\n | 'saturation'\n | 'thumb'\n | 'saturationOverlay'\n | 'thumb'\n | 'swatches'\n | 'swatch';\n\nexport type ColorPickerCssVariables = {\n wrapper:\n | '--cp-preview-size'\n | '--cp-width'\n | '--cp-body-spacing'\n | '--cp-swatch-size'\n | '--cp-thumb-size'\n | '--cp-saturation-height';\n};\n\nexport interface __ColorPickerProps {\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when color changes */\n onChange?(value: string): void;\n\n /** Called when user stops dragging or changes value with arrow keys */\n onChangeEnd?(value: string): void;\n\n /** Color format, `'hex'` by default */\n format?: ColorFormat;\n\n /** Determines whether color picker should be displayed, `true` by default */\n withPicker?: boolean;\n\n /** Color swatches */\n swatches?: string[];\n\n /** Number of swatches displayed in one row, `7` by default */\n swatchesPerRow?: number;\n\n /** Controls size of hue, alpha and saturation sliders, `'md'` by default */\n size?: MantineSize | (string & {});\n}\n\nexport interface ColorPickerProps\n extends BoxProps,\n __ColorPickerProps,\n StylesApiProps<ColorPickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n __staticSelector?: string;\n\n /** Determines whether component should take 100% width of its container, `false` by default */\n fullWidth?: boolean;\n\n /** Determines whether interactive elements should be focusable, `true` by default */\n focusable?: boolean;\n\n /** Saturation slider `aria-label` */\n saturationLabel?: string;\n\n /** Hue slider `aria-label` */\n hueLabel?: string;\n\n /** Alpha slider `aria-label` */\n alphaLabel?: string;\n\n /** Called when one of the color swatches is clicked */\n onColorSwatchClick?(color: string): void;\n}\n\nexport type ColorPickerFactory = Factory<{\n props: ColorPickerProps;\n ref: HTMLDivElement;\n stylesNames: ColorPickerStylesNames;\n vars: ColorPickerCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorPickerProps> = {\n swatchesPerRow: 7,\n size: 'sm',\n withPicker: true,\n focusable: true,\n __staticSelector: 'ColorPicker',\n};\n\nconst varsResolver = createVarsResolver<ColorPickerFactory>(\n (_, { size, fullWidth, swatchesPerRow }) => ({\n wrapper: {\n '--cp-preview-size': getSize(size, 'cp-preview-size'),\n '--cp-width': fullWidth ? '100%' : getSize(size, 'cp-width'),\n '--cp-body-spacing': getSpacing(size),\n '--cp-swatch-size': `${100 / swatchesPerRow!}%`,\n '--cp-thumb-size': getSize(size, 'cp-thumb-size'),\n '--cp-saturation-height': getSize(size, 'cp-saturation-height'),\n },\n })\n);\n\nexport const ColorPicker = factory<ColorPickerFactory>((_props, ref) => {\n const props = useProps('ColorPicker', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n format,\n value,\n defaultValue,\n onChange,\n onChangeEnd,\n withPicker,\n size,\n saturationLabel,\n hueLabel,\n alphaLabel,\n focusable,\n swatches,\n swatchesPerRow,\n fullWidth,\n onColorSwatchClick,\n __staticSelector,\n ...others\n } = props;\n\n const getStyles = useStyles<ColorPickerFactory>({\n name: __staticSelector!,\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const formatRef = useRef(format);\n const valueRef = useRef<string>();\n const scrubTimeoutRef = useRef<number>(-1);\n const isScrubbingRef = useRef(false);\n const withAlpha = format === 'hexa' || format === 'rgba' || format === 'hsla';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '#FFFFFF',\n onChange,\n });\n\n const [parsed, setParsed] = useState<HsvaColor>(parseColor(_value));\n\n const startScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n isScrubbingRef.current = true;\n };\n\n const stopScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n scrubTimeoutRef.current = window.setTimeout(() => {\n isScrubbingRef.current = false;\n }, 200);\n };\n\n const handleChange = (color: Partial<HsvaColor>) => {\n setParsed((current) => {\n const next = { ...current, ...color };\n valueRef.current = convertHsvaTo(formatRef.current!, next);\n return next;\n });\n\n setValue(valueRef.current!);\n };\n\n useDidUpdate(() => {\n if (isColorValid(value!) && !isScrubbingRef.current) {\n setParsed(parseColor(value!));\n }\n }, [value]);\n\n useDidUpdate(() => {\n formatRef.current = format;\n setValue(convertHsvaTo(format!, parsed));\n }, [format]);\n\n return (\n <ColorPickerProvider value={{ getStyles, unstyled }}>\n <Box ref={ref} {...getStyles('wrapper')} size={size} {...others}>\n {withPicker && (\n <>\n <Saturation\n value={parsed}\n onChange={handleChange}\n onChangeEnd={({ s, v }) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, s: s!, v: v! }))\n }\n color={_value}\n size={size!}\n focusable={focusable}\n saturationLabel={saturationLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n <div {...getStyles('body')}>\n <div {...getStyles('sliders')}>\n <HueSlider\n value={parsed.h}\n onChange={(h) => handleChange({ h })}\n onChangeEnd={(h) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, h }))\n }\n size={size}\n focusable={focusable}\n aria-label={hueLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n {withAlpha && (\n <AlphaSlider\n value={parsed.a}\n onChange={(a) => handleChange({ a })}\n onChangeEnd={(a) => {\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, a }));\n }}\n size={size}\n color={convertHsvaTo('hex', parsed)}\n focusable={focusable}\n aria-label={alphaLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n )}\n </div>\n\n {withAlpha && <ColorSwatch color={_value} radius=\"sm\" {...getStyles('preview')} />}\n </div>\n </>\n )}\n\n {Array.isArray(swatches) && (\n <Swatches\n data={swatches}\n swatchesPerRow={swatchesPerRow}\n focusable={focusable}\n setValue={setValue}\n onChangeEnd={(color) => {\n const convertedColor = convertHsvaTo(format!, parseColor(color));\n onColorSwatchClick?.(convertedColor);\n onChangeEnd?.(convertedColor);\n if (!controlled) {\n setParsed(parseColor(color));\n }\n }}\n />\n )}\n </Box>\n </ColorPickerProvider>\n );\n});\n\nColorPicker.classes = classes;\nColorPicker.displayName = '@mantine/core/ColorPicker';\n"],"names":["createVarsResolver","getSize","getSpacing","factory","useProps","useStyles","classes","useRef","useUncontrolled","useState","parseColor","convertHsvaTo","useDidUpdate","isColorValid","React","ColorPickerProvider","Box","Saturation","HueSlider","AlphaSlider","ColorSwatch","Swatches"],"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;AAoBF,MAAM,YAAY,GAAG;AACrB,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,gBAAgB,EAAE,aAAa;AACjC,CAAC,CAAC;AACF,MAAM,YAAY,GAAGA,qCAAkB;AACvC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM;AAC/C,IAAI,OAAO,EAAE;AACb,MAAM,mBAAmB,EAAEC,eAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;AAC3D,MAAM,YAAY,EAAE,SAAS,GAAG,MAAM,GAAGA,eAAO,CAAC,IAAI,EAAE,UAAU,CAAC;AAClE,MAAM,mBAAmB,EAAEC,kBAAU,CAAC,IAAI,CAAC;AAC3C,MAAM,kBAAkB,EAAE,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC;AACpD,MAAM,iBAAiB,EAAED,eAAO,CAAC,IAAI,EAAE,eAAe,CAAC;AACvD,MAAM,wBAAwB,EAAEA,eAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC;AACrE,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;AACU,MAAC,WAAW,GAAGE,eAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACpD,EAAE,MAAM,KAAK,GAAGC,iBAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC9D,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,oBAAoB;AACxB,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGC,mBAAS,CAAC;AAC9B,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,KAAK;AACT,aAAIC,6BAAO;AACX,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGC,YAAM,CAAC,MAAM,CAAC,CAAC;AACnC,EAAE,MAAM,QAAQ,GAAGA,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,eAAe,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,EAAE,MAAM,cAAc,GAAGA,YAAM,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC;AAChF,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAGC,qBAAe,CAAC;AACzD,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,SAAS;AACzB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAACC,kBAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;AAClC,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACjD,IAAI,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACtD,MAAM,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,KAAK,EAAE,GAAG,CAAC,CAAC;AACZ,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK;AAClC,IAAI,SAAS,CAAC,CAAC,OAAO,KAAK;AAC3B,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACtE,MAAM,QAAQ,CAAC,OAAO,GAAGC,wBAAa,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChE,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC,CAAC;AACP,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAEC,kBAAY,CAAC,MAAM;AACrB,IAAI,IAAIC,oBAAY,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;AACxD,MAAM,SAAS,CAACH,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,KAAK;AACL,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,EAAEE,kBAAY,CAAC,MAAM;AACrB,IAAI,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AAC/B,IAAI,QAAQ,CAACD,wBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5C,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,uBAAuBG,cAAK,CAAC,aAAa,CAACC,uCAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkBD,cAAK,CAAC,aAAa,CAACE,OAAG,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,oBAAoBF,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkBA,cAAK,CAAC,aAAa;AAC1V,IAAIG,qBAAU;AACd,IAAI;AACJ,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,QAAQ,EAAE,YAAY;AAC5B,MAAM,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAACN,wBAAa,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClK,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,IAAI;AACV,MAAM,SAAS;AACf,MAAM,eAAe;AACrB,MAAM,YAAY,EAAE,cAAc;AAClC,MAAM,UAAU,EAAE,aAAa;AAC/B,KAAK;AACL,GAAG,kBAAkBG,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,kBAAkBA,cAAK,CAAC,aAAa;AAC/M,IAAII,mBAAS;AACb,IAAI;AACJ,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,MAAM,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1C,MAAM,WAAW,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAACP,wBAAa,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxJ,MAAM,IAAI;AACV,MAAM,SAAS;AACf,MAAM,YAAY,EAAE,QAAQ;AAC5B,MAAM,YAAY,EAAE,cAAc;AAClC,MAAM,UAAU,EAAE,aAAa;AAC/B,KAAK;AACL,GAAG,EAAE,SAAS,oBAAoBG,cAAK,CAAC,aAAa;AACrD,IAAIK,uBAAW;AACf,IAAI;AACJ,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,MAAM,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1C,MAAM,WAAW,EAAE,CAAC,CAAC,KAAK;AAC1B,QAAQ,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAACR,wBAAa,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvI,OAAO;AACP,MAAM,IAAI;AACV,MAAM,KAAK,EAAEA,wBAAa,CAAC,KAAK,EAAE,MAAM,CAAC;AACzC,MAAM,SAAS;AACf,MAAM,YAAY,EAAE,UAAU;AAC9B,MAAM,YAAY,EAAE,cAAc;AAClC,MAAM,UAAU,EAAE,aAAa;AAC/B,KAAK;AACL,GAAG,CAAC,EAAE,SAAS,oBAAoBG,cAAK,CAAC,aAAa,CAACM,uBAAW,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoBN,cAAK,CAAC,aAAa;AAC5M,IAAIO,iBAAQ;AACZ,IAAI;AACJ,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,cAAc;AACpB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,WAAW,EAAE,CAAC,KAAK,KAAK;AAC9B,QAAQ,MAAM,cAAc,GAAGV,wBAAa,CAAC,MAAM,EAAED,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,QAAQ,kBAAkB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACjF,QAAQ,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,SAAS,CAACA,kBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACvC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,WAAW,CAAC,OAAO,GAAGJ,6BAAO,CAAC;AAC9B,WAAW,CAAC,WAAW,GAAG,2BAA2B;;;;"}
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n MantineSize,\n getSize,\n getSpacing,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { AlphaSlider } from './AlphaSlider/AlphaSlider';\nimport { HueSlider } from './HueSlider/HueSlider';\nimport { Saturation } from './Saturation/Saturation';\nimport { Swatches } from './Swatches/Swatches';\nimport { ColorFormat, HsvaColor } from './ColorPicker.types';\nimport { convertHsvaTo, isColorValid, parseColor } from './converters';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorPickerProvider } from './ColorPicker.context';\nimport classes from './ColorPicker.module.css';\n\nexport type ColorPickerStylesNames =\n | 'wrapper'\n | 'preview'\n | 'body'\n | 'sliders'\n | 'slider'\n | 'sliderOverlay'\n | 'thumb'\n | 'saturation'\n | 'thumb'\n | 'saturationOverlay'\n | 'thumb'\n | 'swatches'\n | 'swatch';\n\nexport type ColorPickerCssVariables = {\n wrapper:\n | '--cp-preview-size'\n | '--cp-width'\n | '--cp-body-spacing'\n | '--cp-swatch-size'\n | '--cp-thumb-size'\n | '--cp-saturation-height';\n};\n\nexport interface __ColorPickerProps {\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when color changes */\n onChange?(value: string): void;\n\n /** Called when user stops dragging or changes value with arrow keys */\n onChangeEnd?(value: string): void;\n\n /** Color format, `'hex'` by default */\n format?: ColorFormat;\n\n /** Determines whether color picker should be displayed, `true` by default */\n withPicker?: boolean;\n\n /** Color swatches */\n swatches?: string[];\n\n /** Number of swatches displayed in one row, `7` by default */\n swatchesPerRow?: number;\n\n /** Controls size of hue, alpha and saturation sliders, `'md'` by default */\n size?: MantineSize | (string & {});\n}\n\nexport interface ColorPickerProps\n extends BoxProps,\n __ColorPickerProps,\n StylesApiProps<ColorPickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {\n __staticSelector?: string;\n\n /** Determines whether component should take 100% width of its container, `false` by default */\n fullWidth?: boolean;\n\n /** Determines whether interactive elements should be focusable, `true` by default */\n focusable?: boolean;\n\n /** Saturation slider `aria-label` */\n saturationLabel?: string;\n\n /** Hue slider `aria-label` */\n hueLabel?: string;\n\n /** Alpha slider `aria-label` */\n alphaLabel?: string;\n\n /** Called when one of the color swatches is clicked */\n onColorSwatchClick?(color: string): void;\n}\n\nexport type ColorPickerFactory = Factory<{\n props: ColorPickerProps;\n ref: HTMLDivElement;\n stylesNames: ColorPickerStylesNames;\n vars: ColorPickerCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorPickerProps> = {\n swatchesPerRow: 7,\n withPicker: true,\n focusable: true,\n __staticSelector: 'ColorPicker',\n};\n\nconst varsResolver = createVarsResolver<ColorPickerFactory>((_, { size, swatchesPerRow }) => ({\n wrapper: {\n '--cp-preview-size': getSize(size, 'cp-preview-size'),\n '--cp-width': getSize(size, 'cp-width'),\n '--cp-body-spacing': getSpacing(size),\n '--cp-swatch-size': `${100 / swatchesPerRow!}%`,\n '--cp-thumb-size': getSize(size, 'cp-thumb-size'),\n '--cp-saturation-height': getSize(size, 'cp-saturation-height'),\n },\n}));\n\nexport const ColorPicker = factory<ColorPickerFactory>((_props, ref) => {\n const props = useProps('ColorPicker', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n format,\n value,\n defaultValue,\n onChange,\n onChangeEnd,\n withPicker,\n size,\n saturationLabel,\n hueLabel,\n alphaLabel,\n focusable,\n swatches,\n swatchesPerRow,\n fullWidth,\n onColorSwatchClick,\n __staticSelector,\n ...others\n } = props;\n\n const getStyles = useStyles<ColorPickerFactory>({\n name: __staticSelector!,\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n rootSelector: 'wrapper',\n vars,\n varsResolver,\n });\n\n const formatRef = useRef(format);\n const valueRef = useRef<string>();\n const scrubTimeoutRef = useRef<number>(-1);\n const isScrubbingRef = useRef(false);\n const withAlpha = format === 'hexa' || format === 'rgba' || format === 'hsla';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '#FFFFFF',\n onChange,\n });\n\n const [parsed, setParsed] = useState<HsvaColor>(parseColor(_value));\n\n const startScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n isScrubbingRef.current = true;\n };\n\n const stopScrubbing = () => {\n window.clearTimeout(scrubTimeoutRef.current);\n scrubTimeoutRef.current = window.setTimeout(() => {\n isScrubbingRef.current = false;\n }, 200);\n };\n\n const handleChange = (color: Partial<HsvaColor>) => {\n setParsed((current) => {\n const next = { ...current, ...color };\n valueRef.current = convertHsvaTo(formatRef.current!, next);\n return next;\n });\n\n setValue(valueRef.current!);\n };\n\n useDidUpdate(() => {\n if (isColorValid(value!) && !isScrubbingRef.current) {\n setParsed(parseColor(value!));\n }\n }, [value]);\n\n useDidUpdate(() => {\n formatRef.current = format;\n setValue(convertHsvaTo(format!, parsed));\n }, [format]);\n\n return (\n <ColorPickerProvider value={{ getStyles, unstyled }}>\n <Box\n ref={ref}\n {...getStyles('wrapper')}\n size={size}\n mod={{ 'full-width': fullWidth }}\n {...others}\n >\n {withPicker && (\n <>\n <Saturation\n value={parsed}\n onChange={handleChange}\n onChangeEnd={({ s, v }) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, s: s!, v: v! }))\n }\n color={_value}\n size={size!}\n focusable={focusable}\n saturationLabel={saturationLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n <div {...getStyles('body')}>\n <div {...getStyles('sliders')}>\n <HueSlider\n value={parsed.h}\n onChange={(h) => handleChange({ h })}\n onChangeEnd={(h) =>\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, h }))\n }\n size={size}\n focusable={focusable}\n aria-label={hueLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n\n {withAlpha && (\n <AlphaSlider\n value={parsed.a}\n onChange={(a) => handleChange({ a })}\n onChangeEnd={(a) => {\n onChangeEnd?.(convertHsvaTo(formatRef.current!, { ...parsed, a }));\n }}\n size={size}\n color={convertHsvaTo('hex', parsed)}\n focusable={focusable}\n aria-label={alphaLabel}\n onScrubStart={startScrubbing}\n onScrubEnd={stopScrubbing}\n />\n )}\n </div>\n\n {withAlpha && <ColorSwatch color={_value} radius=\"sm\" {...getStyles('preview')} />}\n </div>\n </>\n )}\n\n {Array.isArray(swatches) && (\n <Swatches\n data={swatches}\n swatchesPerRow={swatchesPerRow}\n focusable={focusable}\n setValue={setValue}\n onChangeEnd={(color) => {\n const convertedColor = convertHsvaTo(format!, parseColor(color));\n onColorSwatchClick?.(convertedColor);\n onChangeEnd?.(convertedColor);\n if (!controlled) {\n setParsed(parseColor(color));\n }\n }}\n />\n )}\n </Box>\n </ColorPickerProvider>\n );\n});\n\nColorPicker.classes = classes;\nColorPicker.displayName = '@mantine/core/ColorPicker';\n"],"names":["createVarsResolver","getSize","getSpacing","factory","useProps","useStyles","classes","useRef","useUncontrolled","useState","parseColor","convertHsvaTo","useDidUpdate","isColorValid","React","ColorPickerProvider","Box","Saturation","HueSlider","AlphaSlider","ColorSwatch","Swatches"],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var ColorSwatch_module = require('./ColorSwatch.module.css.js');
|
|
7
|
-
var rem = require('../../core/utils/units-converters/rem.js');
|
|
8
7
|
var polymorphicFactory = require('../../core/factory/polymorphic-factory.js');
|
|
9
8
|
var useProps = require('../../core/MantineProvider/use-props/use-props.js');
|
|
10
9
|
var useStyles = require('../../core/styles-api/use-styles/use-styles.js');
|
|
11
10
|
var Box = require('../../core/Box/Box.js');
|
|
12
11
|
var createVarsResolver = require('../../core/styles-api/create-vars-resolver/create-vars-resolver.js');
|
|
13
12
|
var getSize = require('../../core/utils/get-size/get-size.js');
|
|
13
|
+
var rem = require('../../core/utils/units-converters/rem.js');
|
|
14
14
|
|
|
15
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
16
16
|
|
|
@@ -45,13 +45,11 @@ var __objRest = (source, exclude) => {
|
|
|
45
45
|
return target;
|
|
46
46
|
};
|
|
47
47
|
const defaultProps = {
|
|
48
|
-
size: rem.rem(28),
|
|
49
|
-
radius: rem.rem(28),
|
|
50
48
|
withShadow: true
|
|
51
49
|
};
|
|
52
50
|
const varsResolver = createVarsResolver.createVarsResolver((_, { radius, size }) => ({
|
|
53
51
|
root: {
|
|
54
|
-
"--cs-radius": getSize.getRadius(radius),
|
|
52
|
+
"--cs-radius": radius === void 0 ? void 0 : getSize.getRadius(radius),
|
|
55
53
|
"--cs-size": rem.rem(size)
|
|
56
54
|
}
|
|
57
55
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorSwatch.js","sources":["../../../src/components/ColorSwatch/ColorSwatch.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n MantineRadius,\n StylesApiProps,\n getRadius,\n polymorphicFactory,\n rem,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n} from '../../core';\nimport classes from './ColorSwatch.module.css';\n\nexport type ColorSwatchStylesNames =\n | 'root'\n | 'alphaOverlay'\n | 'shadowOverlay'\n | 'colorOverlay'\n | 'childrenOverlay';\nexport type ColorSwatchCssVariables = {\n root: '--cs-radius' | '--cs-size';\n};\n\nexport interface ColorSwatchProps extends BoxProps, StylesApiProps<ColorSwatchFactory> {\n /** Color to display, not related to `theme.colors` – supports only CSS color values */\n color: string;\n\n /** Controls `width` and `height` of the swatch, any valid CSS value, numbers are converted to rem */\n size?: React.CSSProperties['width'];\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem */\n radius?: MantineRadius;\n\n /** Determines whether the swatch should have inner `box-shadow`, `true` by default */\n withShadow?: boolean;\n\n /** Content rendered inside the swatch */\n children?: React.ReactNode;\n}\n\nexport type ColorSwatchFactory = PolymorphicFactory<{\n props: ColorSwatchProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: ColorSwatchStylesNames;\n vars: ColorSwatchCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorSwatchProps> = {\n
|
|
1
|
+
{"version":3,"file":"ColorSwatch.js","sources":["../../../src/components/ColorSwatch/ColorSwatch.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n MantineRadius,\n StylesApiProps,\n getRadius,\n polymorphicFactory,\n rem,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n} from '../../core';\nimport classes from './ColorSwatch.module.css';\n\nexport type ColorSwatchStylesNames =\n | 'root'\n | 'alphaOverlay'\n | 'shadowOverlay'\n | 'colorOverlay'\n | 'childrenOverlay';\n\nexport type ColorSwatchCssVariables = {\n root: '--cs-radius' | '--cs-size';\n};\n\nexport interface ColorSwatchProps extends BoxProps, StylesApiProps<ColorSwatchFactory> {\n /** Color to display, not related to `theme.colors` – supports only CSS color values */\n color: string;\n\n /** Controls `width` and `height` of the swatch, any valid CSS value, numbers are converted to rem */\n size?: React.CSSProperties['width'];\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem */\n radius?: MantineRadius;\n\n /** Determines whether the swatch should have inner `box-shadow`, `true` by default */\n withShadow?: boolean;\n\n /** Content rendered inside the swatch */\n children?: React.ReactNode;\n}\n\nexport type ColorSwatchFactory = PolymorphicFactory<{\n props: ColorSwatchProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: ColorSwatchStylesNames;\n vars: ColorSwatchCssVariables;\n}>;\n\nconst defaultProps: Partial<ColorSwatchProps> = {\n withShadow: true,\n};\n\nconst varsResolver = createVarsResolver<ColorSwatchFactory>((_, { radius, size }) => ({\n root: {\n '--cs-radius': radius === undefined ? undefined : getRadius(radius),\n '--cs-size': rem(size),\n },\n}));\n\nexport const ColorSwatch = polymorphicFactory<ColorSwatchFactory>((_props, ref) => {\n const props = useProps('ColorSwatch', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n color,\n size,\n radius,\n withShadow,\n children,\n variant,\n ...others\n } = useProps('ColorSwatch', defaultProps, props);\n\n const getStyles = useStyles<ColorSwatchFactory>({\n name: 'ColorSwatch',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <Box\n ref={ref}\n variant={variant}\n size={size}\n {...getStyles('root', { focusable: true })}\n {...others}\n >\n <span {...getStyles('alphaOverlay')} />\n {withShadow && <span {...getStyles('shadowOverlay')} />}\n <span {...getStyles('colorOverlay', { style: { backgroundColor: color } })} />\n <span {...getStyles('childrenOverlay')}>{children}</span>\n </Box>\n );\n});\n\nColorSwatch.classes = classes;\nColorSwatch.displayName = '@mantine/core/ColorSwatch';\n"],"names":["createVarsResolver","getRadius","rem","polymorphicFactory","useProps","useStyles","classes","React","Box"],"mappings":"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"}
|
|
@@ -65,9 +65,7 @@ const defaultProps = {
|
|
|
65
65
|
withinPortal: true,
|
|
66
66
|
resetSelectionOnOptionHover: false,
|
|
67
67
|
width: "target",
|
|
68
|
-
transitionProps: { transition: "fade", duration: 0 }
|
|
69
|
-
size: "sm",
|
|
70
|
-
dropdownPadding: 4
|
|
68
|
+
transitionProps: { transition: "fade", duration: 0 }
|
|
71
69
|
};
|
|
72
70
|
const varsResolver = createVarsResolver.createVarsResolver((_, { size, dropdownPadding }) => ({
|
|
73
71
|
options: {
|
|
@@ -75,7 +73,7 @@ const varsResolver = createVarsResolver.createVarsResolver((_, { size, dropdownP
|
|
|
75
73
|
"--combobox-option-padding": getSize.getSize(size, "combobox-option-padding")
|
|
76
74
|
},
|
|
77
75
|
dropdown: {
|
|
78
|
-
"--combobox-padding": rem.rem(dropdownPadding),
|
|
76
|
+
"--combobox-padding": dropdownPadding === void 0 ? void 0 : rem.rem(dropdownPadding),
|
|
79
77
|
"--combobox-option-fz": getSize.getFontSize(size),
|
|
80
78
|
"--combobox-option-padding": getSize.getSize(size, "combobox-option-padding")
|
|
81
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StylesApiProps,\n useProps,\n useStyles,\n Factory,\n createVarsResolver,\n MantineSize,\n getFontSize,\n rem,\n getSize,\n ExtendComponent,\n MantineThemeComponent,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { useCombobox, ComboboxStore } from './use-combobox/use-combobox';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxTarget } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxDropdown } from './ComboboxDropdown/ComboboxDropdown';\nimport { ComboboxOptions } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxSearch } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxEmpty } from './ComboboxEmpty/ComboboxEmpty';\nimport { ComboboxChevron } from './ComboboxChevron/ComboboxChevron';\nimport { ComboboxFooter } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxHeader } from './ComboboxHeader/ComboboxHeader';\nimport { ComboboxEventsTarget } from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxDropdownTarget } from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxGroup } from './ComboboxGroup/ComboboxGroup';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with `Enter` key or by clicking it */\n onOptionSubmit?(value: string, optionProps: ComboboxOptionProps): void;\n\n /** Controls items `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown, `4` by default */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered, `false` by default */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether Combobox value can be changed */\n readOnly?: boolean;\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n };\n}>;\n\nconst defaultProps: Partial<ComboboxProps> = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n size: 'sm',\n dropdownPadding: 4,\n};\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport function Combobox(_props: ComboboxProps) {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n ...others\n } = props;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size: size!,\n resetSelectionOnOptionHover,\n readOnly,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n {...others}\n onClose={store.closeDropdown}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n}\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\n"],"names":["createVarsResolver","getFontSize","getSize","rem","useProps","useCombobox","useStyles","classes","React","ComboboxProvider","Popover","ComboboxTarget","ComboboxDropdown","ComboboxOptions","ComboboxOption","ComboboxSearch","ComboboxEmpty","ComboboxChevron","ComboboxFooter","ComboboxHeader","ComboboxEventsTarget","ComboboxDropdownTarget","ComboboxGroup"],"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;AA0BF,MAAM,YAAY,GAAG;AACrB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,QAAQ;AACjB,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;AACtD,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,eAAe,EAAE,CAAC;AACpB,CAAC,CAAC;AACF,MAAM,YAAY,GAAGA,qCAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM;AAC3E,EAAE,OAAO,EAAE;AACX,IAAI,sBAAsB,EAAEC,mBAAW,CAAC,IAAI,CAAC;AAC7C,IAAI,2BAA2B,EAAEC,eAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC;AACzE,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,oBAAoB,EAAEC,OAAG,CAAC,eAAe,CAAC;AAC9C,IAAI,sBAAsB,EAAEF,mBAAW,CAAC,IAAI,CAAC;AAC7C,IAAI,2BAA2B,EAAEC,eAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC;AACzE,GAAG;AACH,CAAC,CAAC,CAAC,CAAC;AACG,SAAS,QAAQ,CAAC,MAAM,EAAE;AACjC,EAAE,MAAM,KAAK,GAAGE,iBAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC3D,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK,EAAE,eAAe;AAC1B,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,IAAI;AACR,IAAI,eAAe;AACnB,IAAI,2BAA2B;AAC/B,IAAI,gBAAgB;AACpB,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,6BAA6B;AACjC,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,iBAAiB,GAAGC,uBAAW,EAAE,CAAC;AAC1C,EAAE,MAAM,KAAK,GAAG,eAAe,IAAI,iBAAiB,CAAC;AACrD,EAAE,MAAM,SAAS,GAAGC,mBAAS,CAAC;AAC9B,IAAI,IAAI,EAAE,gBAAgB,IAAI,UAAU;AACxC,aAAIC,0BAAO;AACX,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBC,cAAK,CAAC,aAAa;AAC5C,IAAIC,iCAAgB;AACpB,IAAI;AACJ,MAAM,KAAK,EAAE;AACb,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,cAAc;AACtB,QAAQ,IAAI;AACZ,QAAQ,2BAA2B;AACnC,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,oBAAoBD,cAAK,CAAC,aAAa;AACvC,MAAME,eAAO;AACb,MAAM,aAAa,CAAC,cAAc,CAAC;AACnC,QAAQ,MAAM,EAAE,KAAK,CAAC,cAAc;AACpC,OAAO,EAAE,MAAM,CAAC,EAAE;AAClB,QAAQ,OAAO,EAAE,KAAK,CAAC,aAAa;AACpC,QAAQ,SAAS,EAAE,KAAK;AACxB,QAAQ,QAAQ;AAChB,OAAO,CAAC;AACR,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAChC,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC;AACjC,QAAQ,CAAC,OAAO,GAAGH,0BAAO,CAAC;AAC3B,QAAQ,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAChD,QAAQ,CAAC,MAAM,GAAGI,6BAAc,CAAC;AACjC,QAAQ,CAAC,QAAQ,GAAGC,iCAAgB,CAAC;AACrC,QAAQ,CAAC,OAAO,GAAGC,+BAAe,CAAC;AACnC,QAAQ,CAAC,MAAM,GAAGC,6BAAc,CAAC;AACjC,QAAQ,CAAC,MAAM,GAAGC,6BAAc,CAAC;AACjC,QAAQ,CAAC,KAAK,GAAGC,2BAAa,CAAC;AAC/B,QAAQ,CAAC,OAAO,GAAGC,+BAAe,CAAC;AACnC,QAAQ,CAAC,MAAM,GAAGC,6BAAc,CAAC;AACjC,QAAQ,CAAC,MAAM,GAAGC,6BAAc,CAAC;AACjC,QAAQ,CAAC,YAAY,GAAGC,yCAAoB,CAAC;AAC7C,QAAQ,CAAC,cAAc,GAAGC,6CAAsB,CAAC;AACjD,QAAQ,CAAC,KAAK,GAAGC,2BAAa;;;;"}
|
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StylesApiProps,\n useProps,\n useStyles,\n Factory,\n createVarsResolver,\n MantineSize,\n getFontSize,\n rem,\n getSize,\n ExtendComponent,\n MantineThemeComponent,\n} from '../../core';\nimport { __PopoverProps, Popover } from '../Popover';\nimport { useCombobox, ComboboxStore } from './use-combobox/use-combobox';\nimport { ComboboxProvider } from './Combobox.context';\nimport { ComboboxTarget } from './ComboboxTarget/ComboboxTarget';\nimport { ComboboxDropdown } from './ComboboxDropdown/ComboboxDropdown';\nimport { ComboboxOptions } from './ComboboxOptions/ComboboxOptions';\nimport { ComboboxOption, ComboboxOptionProps } from './ComboboxOption/ComboboxOption';\nimport { ComboboxSearch } from './ComboboxSearch/ComboboxSearch';\nimport { ComboboxEmpty } from './ComboboxEmpty/ComboboxEmpty';\nimport { ComboboxChevron } from './ComboboxChevron/ComboboxChevron';\nimport { ComboboxFooter } from './ComboboxFooter/ComboboxFooter';\nimport { ComboboxHeader } from './ComboboxHeader/ComboboxHeader';\nimport { ComboboxEventsTarget } from './ComboboxEventsTarget/ComboboxEventsTarget';\nimport { ComboboxDropdownTarget } from './ComboboxDropdownTarget/ComboboxDropdownTarget';\nimport { ComboboxGroup } from './ComboboxGroup/ComboboxGroup';\nimport classes from './Combobox.module.css';\n\nexport type ComboboxStylesNames =\n | 'options'\n | 'dropdown'\n | 'option'\n | 'search'\n | 'empty'\n | 'footer'\n | 'header'\n | 'group'\n | 'groupLabel';\n\nexport type ComboboxCSSVariables = {\n options: '--combobox-option-fz' | '--combobox-option-padding';\n dropdown: '--combobox-padding' | '--combobox-option-fz' | '--combobox-option-padding';\n};\n\nexport interface ComboboxProps extends __PopoverProps, StylesApiProps<ComboboxFactory> {\n __staticSelector?: string;\n\n /** Combobox content */\n children?: React.ReactNode;\n\n /** Combobox store, can be used to control combobox state */\n store?: ComboboxStore;\n\n /** Called when item is selected with `Enter` key or by clicking it */\n onOptionSubmit?(value: string, optionProps: ComboboxOptionProps): void;\n\n /** Controls items `font-size` and `padding`, `'sm'` by default */\n size?: MantineSize | (string & {});\n\n /** Controls `padding` of the dropdown, `4` by default */\n dropdownPadding?: React.CSSProperties['padding'];\n\n /** Determines whether selection should be reset when option is hovered, `false` by default */\n resetSelectionOnOptionHover?: boolean;\n\n /** Determines whether Combobox value can be changed */\n readOnly?: boolean;\n}\n\nexport type ComboboxFactory = Factory<{\n props: ComboboxProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxStylesNames;\n vars: ComboboxCSSVariables;\n staticComponents: {\n Target: typeof ComboboxTarget;\n Dropdown: typeof ComboboxDropdown;\n Options: typeof ComboboxOptions;\n Option: typeof ComboboxOption;\n Search: typeof ComboboxSearch;\n Empty: typeof ComboboxEmpty;\n Chevron: typeof ComboboxChevron;\n Footer: typeof ComboboxFooter;\n Header: typeof ComboboxHeader;\n EventsTarget: typeof ComboboxEventsTarget;\n DropdownTarget: typeof ComboboxDropdownTarget;\n Group: typeof ComboboxGroup;\n };\n}>;\n\nconst defaultProps: Partial<ComboboxProps> = {\n keepMounted: true,\n withinPortal: true,\n resetSelectionOnOptionHover: false,\n width: 'target',\n transitionProps: { transition: 'fade', duration: 0 },\n};\n\nconst varsResolver = createVarsResolver<ComboboxFactory>((_, { size, dropdownPadding }) => ({\n options: {\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n\n dropdown: {\n '--combobox-padding': dropdownPadding === undefined ? undefined : rem(dropdownPadding),\n '--combobox-option-fz': getFontSize(size),\n '--combobox-option-padding': getSize(size, 'combobox-option-padding'),\n },\n}));\n\nexport function Combobox(_props: ComboboxProps) {\n const props = useProps('Combobox', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n children,\n store: controlledStore,\n vars,\n onOptionSubmit,\n size,\n dropdownPadding,\n resetSelectionOnOptionHover,\n __staticSelector,\n readOnly,\n ...others\n } = props;\n\n const uncontrolledStore = useCombobox();\n const store = controlledStore || uncontrolledStore;\n\n const getStyles = useStyles<ComboboxFactory>({\n name: __staticSelector || 'Combobox',\n classes,\n props,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ComboboxProvider\n value={{\n getStyles,\n store,\n onOptionSubmit,\n size: size!,\n resetSelectionOnOptionHover,\n readOnly,\n }}\n >\n <Popover\n opened={store.dropdownOpened}\n {...others}\n onClose={store.closeDropdown}\n withRoles={false}\n unstyled={unstyled}\n >\n {children}\n </Popover>\n </ComboboxProvider>\n );\n}\n\nconst extendCombobox = (c: ExtendComponent<ComboboxFactory>): MantineThemeComponent => c;\n\nCombobox.extend = extendCombobox;\nCombobox.classes = classes;\nCombobox.displayName = '@mantine/core/Combobox';\nCombobox.Target = ComboboxTarget;\nCombobox.Dropdown = ComboboxDropdown;\nCombobox.Options = ComboboxOptions;\nCombobox.Option = ComboboxOption;\nCombobox.Search = ComboboxSearch;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Chevron = ComboboxChevron;\nCombobox.Footer = ComboboxFooter;\nCombobox.Header = ComboboxHeader;\nCombobox.EventsTarget = ComboboxEventsTarget;\nCombobox.DropdownTarget = ComboboxDropdownTarget;\nCombobox.Group = ComboboxGroup;\n"],"names":["createVarsResolver","getFontSize","getSize","rem","useProps","useCombobox","useStyles","classes","React","ComboboxProvider","Popover","ComboboxTarget","ComboboxDropdown","ComboboxOptions","ComboboxOption","ComboboxSearch","ComboboxEmpty","ComboboxChevron","ComboboxFooter","ComboboxHeader","ComboboxEventsTarget","ComboboxDropdownTarget","ComboboxGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxChevron.js","sources":["../../../../src/components/Combobox/ComboboxChevron/ComboboxChevron.tsx"],"sourcesContent":["import React from 'react';\nimport {\n MantineSize,\n Box,\n BoxProps,\n ElementProps,\n getSize,\n useProps,\n Factory,\n factory,\n createVarsResolver,\n StylesApiProps,\n useStyles,\n} from '../../../core';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxChevronStylesNames = 'chevron';\nexport type ComboboxChevronCSSVariables = {\n chevron: '--combobox-chevron-size';\n};\n\nexport interface ComboboxChevronProps\n extends BoxProps,\n StylesApiProps<ComboboxChevronFactory>,\n ElementProps<'svg', 'opacity' | 'display'> {\n size?: MantineSize | (string & {});\n error?: React.ReactNode;\n}\n\nexport type ComboboxChevronFactory = Factory<{\n props: ComboboxChevronProps;\n ref: SVGSVGElement;\n stylesNames: ComboboxChevronStylesNames;\n vars: ComboboxChevronCSSVariables;\n}>;\n\nconst defaultProps: Partial<ComboboxChevronProps> = {\n
|
|
1
|
+
{"version":3,"file":"ComboboxChevron.js","sources":["../../../../src/components/Combobox/ComboboxChevron/ComboboxChevron.tsx"],"sourcesContent":["import React from 'react';\nimport {\n MantineSize,\n Box,\n BoxProps,\n ElementProps,\n getSize,\n useProps,\n Factory,\n factory,\n createVarsResolver,\n StylesApiProps,\n useStyles,\n} from '../../../core';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxChevronStylesNames = 'chevron';\nexport type ComboboxChevronCSSVariables = {\n chevron: '--combobox-chevron-size';\n};\n\nexport interface ComboboxChevronProps\n extends BoxProps,\n StylesApiProps<ComboboxChevronFactory>,\n ElementProps<'svg', 'opacity' | 'display'> {\n size?: MantineSize | (string & {});\n error?: React.ReactNode;\n}\n\nexport type ComboboxChevronFactory = Factory<{\n props: ComboboxChevronProps;\n ref: SVGSVGElement;\n stylesNames: ComboboxChevronStylesNames;\n vars: ComboboxChevronCSSVariables;\n}>;\n\nconst defaultProps: Partial<ComboboxChevronProps> = {\n error: null,\n};\n\nconst varsResolver = createVarsResolver<ComboboxChevronFactory>((_, { size }) => ({\n chevron: {\n '--combobox-chevron-size': getSize(size, 'combobox-chevron-size'),\n },\n}));\n\nexport const ComboboxChevron = factory<ComboboxChevronFactory>((_props, ref) => {\n const props = useProps('ComboboxChevron', defaultProps, _props);\n const { size, error, style, className, classNames, styles, unstyled, vars, ...others } = props;\n\n const getStyles = useStyles<ComboboxChevronFactory>({\n name: 'ComboboxChevron',\n classes,\n props,\n style,\n className,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n rootSelector: 'chevron',\n });\n\n return (\n <Box\n component=\"svg\"\n {...others}\n {...getStyles('chevron')}\n size={size}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n mod={['combobox-chevron', { error }]}\n ref={ref}\n >\n <path\n d=\"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </Box>\n );\n});\n\nComboboxChevron.classes = classes;\nComboboxChevron.displayName = '@mantine/core/ComboboxChevron';\n"],"names":["createVarsResolver","getSize","factory","useProps","useStyles","classes","React","Box"],"mappings":"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"}
|
|
@@ -45,10 +45,25 @@ const defaultProps = {
|
|
|
45
45
|
refProp: "ref",
|
|
46
46
|
targetType: "input",
|
|
47
47
|
withKeyboardNavigation: true,
|
|
48
|
-
withAriaAttributes: true
|
|
48
|
+
withAriaAttributes: true,
|
|
49
|
+
withExpandedAttribute: false
|
|
49
50
|
};
|
|
50
51
|
const ComboboxEventsTarget = factory.factory((props, ref) => {
|
|
51
|
-
const _a = useProps.useProps("ComboboxEventsTarget", defaultProps, props), {
|
|
52
|
+
const _a = useProps.useProps("ComboboxEventsTarget", defaultProps, props), {
|
|
53
|
+
children,
|
|
54
|
+
refProp,
|
|
55
|
+
withKeyboardNavigation,
|
|
56
|
+
withAriaAttributes,
|
|
57
|
+
withExpandedAttribute,
|
|
58
|
+
targetType
|
|
59
|
+
} = _a, others = __objRest(_a, [
|
|
60
|
+
"children",
|
|
61
|
+
"refProp",
|
|
62
|
+
"withKeyboardNavigation",
|
|
63
|
+
"withAriaAttributes",
|
|
64
|
+
"withExpandedAttribute",
|
|
65
|
+
"targetType"
|
|
66
|
+
]);
|
|
52
67
|
if (!isElement.isElement(children)) {
|
|
53
68
|
throw new Error(
|
|
54
69
|
"Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
|
|
@@ -59,6 +74,7 @@ const ComboboxEventsTarget = factory.factory((props, ref) => {
|
|
|
59
74
|
targetType,
|
|
60
75
|
withAriaAttributes,
|
|
61
76
|
withKeyboardNavigation,
|
|
77
|
+
withExpandedAttribute,
|
|
62
78
|
onKeyDown: children.props.onKeyDown
|
|
63
79
|
});
|
|
64
80
|
return React.cloneElement(children, __spreadProps(__spreadValues(__spreadValues({}, targetProps), others), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxEventsTarget.js","sources":["../../../../src/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement, useProps, factory, Factory } from '../../../core';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\nimport { useComboboxContext } from '../Combobox.context';\n\nexport interface ComboboxEventsTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to access element ref */\n refProp?: string;\n\n /** Determines whether component should respond to keyboard events, `true` by default */\n withKeyboardNavigation?: boolean;\n\n /** Determines whether the target should have `aria-` attributes, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines which events should be handled by the target element.\n * `button` target type handles `Space` and `Enter` keys to toggle dropdown opened state.\n * `input` by default.\n * */\n targetType?: 'button' | 'input';\n}\n\nconst defaultProps: Partial<ComboboxEventsTargetProps> = {\n refProp: 'ref',\n targetType: 'input',\n withKeyboardNavigation: true,\n withAriaAttributes: true,\n};\n\nexport type ComboboxEventsTargetFactory = Factory<{\n props: ComboboxEventsTargetProps;\n ref: HTMLElement;\n compound: true;\n}>;\n\nexport const ComboboxEventsTarget = factory<ComboboxEventsTargetFactory>((props, ref) => {\n const {
|
|
1
|
+
{"version":3,"file":"ComboboxEventsTarget.js","sources":["../../../../src/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement, useProps, factory, Factory } from '../../../core';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\nimport { useComboboxContext } from '../Combobox.context';\n\nexport interface ComboboxEventsTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to access element ref */\n refProp?: string;\n\n /** Determines whether component should respond to keyboard events, `true` by default */\n withKeyboardNavigation?: boolean;\n\n /** Determines whether the target should have `aria-` attributes, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines whether the target should have `aria-expanded` attribute, `false` by default */\n withExpandedAttribute?: boolean;\n\n /** Determines which events should be handled by the target element.\n * `button` target type handles `Space` and `Enter` keys to toggle dropdown opened state.\n * `input` by default.\n * */\n targetType?: 'button' | 'input';\n}\n\nconst defaultProps: Partial<ComboboxEventsTargetProps> = {\n refProp: 'ref',\n targetType: 'input',\n withKeyboardNavigation: true,\n withAriaAttributes: true,\n withExpandedAttribute: false,\n};\n\nexport type ComboboxEventsTargetFactory = Factory<{\n props: ComboboxEventsTargetProps;\n ref: HTMLElement;\n compound: true;\n}>;\n\nexport const ComboboxEventsTarget = factory<ComboboxEventsTargetFactory>((props, ref) => {\n const {\n children,\n refProp,\n withKeyboardNavigation,\n withAriaAttributes,\n withExpandedAttribute,\n targetType,\n ...others\n } = useProps('ComboboxEventsTarget', defaultProps, props);\n\n if (!isElement(children)) {\n throw new Error(\n 'Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useComboboxContext();\n const targetProps = useComboboxTargetProps({\n targetType,\n withAriaAttributes,\n withKeyboardNavigation,\n withExpandedAttribute,\n onKeyDown: children.props.onKeyDown,\n });\n\n return cloneElement(children, {\n ...targetProps,\n ...others,\n [refProp!]: useMergedRef(ref, ctx.store.targetRef, (children as any)?.ref),\n });\n});\n\nComboboxEventsTarget.displayName = '@mantine/core/ComboboxEventsTarget';\n"],"names":["factory","useProps","isElement","useComboboxContext","useComboboxTargetProps","cloneElement","useMergedRef"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ var __objRest = (source, exclude) => {
|
|
|
48
48
|
const defaultProps = {};
|
|
49
49
|
const ComboboxOptions = factory.factory((_props, ref) => {
|
|
50
50
|
const props = useProps.useProps("ComboboxOptions", defaultProps, _props);
|
|
51
|
-
const _a = props, { classNames, className, style, styles, id, onMouseDown } = _a, others = __objRest(_a, ["classNames", "className", "style", "styles", "id", "onMouseDown"]);
|
|
51
|
+
const _a = props, { classNames, className, style, styles, id, onMouseDown, labelledBy } = _a, others = __objRest(_a, ["classNames", "className", "style", "styles", "id", "onMouseDown", "labelledBy"]);
|
|
52
52
|
const ctx = Combobox_context.useComboboxContext();
|
|
53
53
|
const _id = hooks.useId(id);
|
|
54
54
|
React.useEffect(() => {
|
|
@@ -61,6 +61,7 @@ const ComboboxOptions = factory.factory((_props, ref) => {
|
|
|
61
61
|
}, ctx.getStyles("options", { className, style, classNames, styles })), others), {
|
|
62
62
|
id: _id,
|
|
63
63
|
role: "listbox",
|
|
64
|
+
"aria-labelledby": labelledBy,
|
|
64
65
|
onMouseDown: (event) => {
|
|
65
66
|
event.preventDefault();
|
|
66
67
|
onMouseDown == null ? void 0 : onMouseDown(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxOptions.js","sources":["../../../../src/components/Combobox/ComboboxOptions/ComboboxOptions.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n} from '../../../core';\nimport { useComboboxContext } from '../Combobox.context';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxOptionsStylesNames = 'options';\n\nexport interface ComboboxOptionsProps\n extends BoxProps,\n CompoundStylesApiProps<ComboboxOptionsFactory>,\n ElementProps<'div'> {}\n\nexport type ComboboxOptionsFactory = Factory<{\n props: ComboboxOptionsProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxOptionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ComboboxOptionsProps> = {};\n\nexport const ComboboxOptions = factory<ComboboxOptionsFactory>((_props, ref) => {\n const props = useProps('ComboboxOptions', defaultProps, _props);\n const { classNames, className, style, styles, id, onMouseDown, ...others } = props;\n const ctx = useComboboxContext();\n const _id = useId(id);\n\n useEffect(() => {\n ctx.store.setListId(_id);\n }, [_id]);\n\n return (\n <Box\n ref={ref}\n {...ctx.getStyles('options', { className, style, classNames, styles })}\n {...others}\n id={_id}\n role=\"listbox\"\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n }}\n />\n );\n});\n\nComboboxOptions.classes = classes;\nComboboxOptions.displayName = '@mantine/core/ComboboxOptions';\n"],"names":["factory","useProps","useComboboxContext","useId","useEffect","React","Box","classes"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ComboboxOptions.js","sources":["../../../../src/components/Combobox/ComboboxOptions/ComboboxOptions.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n} from '../../../core';\nimport { useComboboxContext } from '../Combobox.context';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxOptionsStylesNames = 'options';\n\nexport interface ComboboxOptionsProps\n extends BoxProps,\n CompoundStylesApiProps<ComboboxOptionsFactory>,\n ElementProps<'div'> {\n /** Id of the element that should label the options list */\n labelledBy?: string;\n}\n\nexport type ComboboxOptionsFactory = Factory<{\n props: ComboboxOptionsProps;\n ref: HTMLDivElement;\n stylesNames: ComboboxOptionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ComboboxOptionsProps> = {};\n\nexport const ComboboxOptions = factory<ComboboxOptionsFactory>((_props, ref) => {\n const props = useProps('ComboboxOptions', defaultProps, _props);\n const { classNames, className, style, styles, id, onMouseDown, labelledBy, ...others } = props;\n const ctx = useComboboxContext();\n const _id = useId(id);\n\n useEffect(() => {\n ctx.store.setListId(_id);\n }, [_id]);\n\n return (\n <Box\n ref={ref}\n {...ctx.getStyles('options', { className, style, classNames, styles })}\n {...others}\n id={_id}\n role=\"listbox\"\n aria-labelledby={labelledBy}\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n }}\n />\n );\n});\n\nComboboxOptions.classes = classes;\nComboboxOptions.displayName = '@mantine/core/ComboboxOptions';\n"],"names":["factory","useProps","useComboboxContext","useId","useEffect","React","Box","classes"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxSearch.js","sources":["../../../../src/components/Combobox/ComboboxSearch/ComboboxSearch.tsx"],"sourcesContent":["import React from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { factory, ElementProps, useProps, Factory } from '../../../core';\nimport { Input, InputProps, InputStylesNames } from '../../Input/Input';\nimport { useComboboxContext } from '../Combobox.context';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxSearchStylesNames = InputStylesNames;\n\nexport interface ComboboxSearchProps extends InputProps, ElementProps<'input', 'size'> {\n /** Determines whether the search input should have `aria-` attribute, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines whether the search input should handle keyboard navigation, `true` by default */\n withKeyboardNavigation?: boolean;\n}\n\nexport type ComboboxSearchFactory = Factory<{\n props: ComboboxSearchProps;\n ref: HTMLInputElement;\n stylesNames: ComboboxSearchStylesNames;\n}>;\n\nconst defaultProps: Partial<ComboboxSearchProps> = {\n withAriaAttributes: true,\n withKeyboardNavigation: true,\n};\n\nexport const ComboboxSearch = factory<ComboboxSearchFactory>((_props, ref) => {\n const props = useProps('ComboboxSearch', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n withAriaAttributes,\n onKeyDown,\n withKeyboardNavigation,\n size,\n ...others\n } = props;\n\n const ctx = useComboboxContext();\n const _styles = ctx.getStyles('search');\n\n const targetProps = useComboboxTargetProps({\n targetType: 'input',\n withAriaAttributes,\n withKeyboardNavigation,\n onKeyDown,\n });\n\n return (\n <Input\n ref={useMergedRef(ref, ctx.store.searchRef)}\n classNames={[{ input: _styles.className }, classNames] as any}\n styles={[{ input: _styles.style }, styles] as any}\n size={size || ctx.size}\n {...targetProps}\n {...others}\n __staticSelector=\"Combobox\"\n />\n );\n});\n\nComboboxSearch.classes = classes;\nComboboxSearch.displayName = '@mantine/core/ComboboxSearch';\n"],"names":["factory","useProps","useComboboxContext","useComboboxTargetProps","React","Input","useMergedRef","classes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboboxSearch.js","sources":["../../../../src/components/Combobox/ComboboxSearch/ComboboxSearch.tsx"],"sourcesContent":["import React from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { factory, ElementProps, useProps, Factory } from '../../../core';\nimport { Input, InputProps, InputStylesNames } from '../../Input/Input';\nimport { useComboboxContext } from '../Combobox.context';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\nimport classes from '../Combobox.module.css';\n\nexport type ComboboxSearchStylesNames = InputStylesNames;\n\nexport interface ComboboxSearchProps extends InputProps, ElementProps<'input', 'size'> {\n /** Determines whether the search input should have `aria-` attribute, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines whether the search input should handle keyboard navigation, `true` by default */\n withKeyboardNavigation?: boolean;\n}\n\nexport type ComboboxSearchFactory = Factory<{\n props: ComboboxSearchProps;\n ref: HTMLInputElement;\n stylesNames: ComboboxSearchStylesNames;\n}>;\n\nconst defaultProps: Partial<ComboboxSearchProps> = {\n withAriaAttributes: true,\n withKeyboardNavigation: true,\n};\n\nexport const ComboboxSearch = factory<ComboboxSearchFactory>((_props, ref) => {\n const props = useProps('ComboboxSearch', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n withAriaAttributes,\n onKeyDown,\n withKeyboardNavigation,\n size,\n ...others\n } = props;\n\n const ctx = useComboboxContext();\n const _styles = ctx.getStyles('search');\n\n const targetProps = useComboboxTargetProps({\n targetType: 'input',\n withAriaAttributes,\n withKeyboardNavigation,\n withExpandedAttribute: false,\n onKeyDown,\n });\n\n return (\n <Input\n ref={useMergedRef(ref, ctx.store.searchRef)}\n classNames={[{ input: _styles.className }, classNames] as any}\n styles={[{ input: _styles.style }, styles] as any}\n size={size || ctx.size}\n {...targetProps}\n {...others}\n __staticSelector=\"Combobox\"\n />\n );\n});\n\nComboboxSearch.classes = classes;\nComboboxSearch.displayName = '@mantine/core/ComboboxSearch';\n"],"names":["factory","useProps","useComboboxContext","useComboboxTargetProps","React","Input","useMergedRef","classes"],"mappings":"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"}
|
|
@@ -47,10 +47,25 @@ const defaultProps = {
|
|
|
47
47
|
refProp: "ref",
|
|
48
48
|
targetType: "input",
|
|
49
49
|
withKeyboardNavigation: true,
|
|
50
|
-
withAriaAttributes: true
|
|
50
|
+
withAriaAttributes: true,
|
|
51
|
+
withExpandedAttribute: false
|
|
51
52
|
};
|
|
52
53
|
const ComboboxTarget = factory.factory((props, ref) => {
|
|
53
|
-
const _a = useProps.useProps("ComboboxTarget", defaultProps, props), {
|
|
54
|
+
const _a = useProps.useProps("ComboboxTarget", defaultProps, props), {
|
|
55
|
+
children,
|
|
56
|
+
refProp,
|
|
57
|
+
withKeyboardNavigation,
|
|
58
|
+
withAriaAttributes,
|
|
59
|
+
withExpandedAttribute,
|
|
60
|
+
targetType
|
|
61
|
+
} = _a, others = __objRest(_a, [
|
|
62
|
+
"children",
|
|
63
|
+
"refProp",
|
|
64
|
+
"withKeyboardNavigation",
|
|
65
|
+
"withAriaAttributes",
|
|
66
|
+
"withExpandedAttribute",
|
|
67
|
+
"targetType"
|
|
68
|
+
]);
|
|
54
69
|
if (!isElement.isElement(children)) {
|
|
55
70
|
throw new Error(
|
|
56
71
|
"Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
|
|
@@ -61,6 +76,7 @@ const ComboboxTarget = factory.factory((props, ref) => {
|
|
|
61
76
|
targetType,
|
|
62
77
|
withAriaAttributes,
|
|
63
78
|
withKeyboardNavigation,
|
|
79
|
+
withExpandedAttribute,
|
|
64
80
|
onKeyDown: children.props.onKeyDown
|
|
65
81
|
});
|
|
66
82
|
const clonedElement = React.cloneElement(children, __spreadValues(__spreadValues({}, targetProps), others));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxTarget.js","sources":["../../../../src/components/Combobox/ComboboxTarget/ComboboxTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { Popover } from '../../Popover';\nimport { isElement, useProps, factory, Factory } from '../../../core';\nimport { useComboboxContext } from '../Combobox.context';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\n\nexport interface ComboboxTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to access element ref */\n refProp?: string;\n\n /** Determines whether component should respond to keyboard events, `true` by default */\n withKeyboardNavigation?: boolean;\n\n /** Determines whether the target should have `aria-` attributes, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines which events should be handled by the target element.\n * `button` target type handles `Space` and `Enter` keys to toggle dropdown opened state.\n * `input` by default.\n * */\n targetType?: 'button' | 'input';\n}\n\nconst defaultProps: Partial<ComboboxTargetProps> = {\n refProp: 'ref',\n targetType: 'input',\n withKeyboardNavigation: true,\n withAriaAttributes: true,\n};\n\nexport type ComboboxTargetFactory = Factory<{\n props: ComboboxTargetProps;\n ref: HTMLElement;\n compound: true;\n}>;\n\nexport const ComboboxTarget = factory<ComboboxTargetFactory>((props, ref) => {\n const {
|
|
1
|
+
{"version":3,"file":"ComboboxTarget.js","sources":["../../../../src/components/Combobox/ComboboxTarget/ComboboxTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { Popover } from '../../Popover';\nimport { isElement, useProps, factory, Factory } from '../../../core';\nimport { useComboboxContext } from '../Combobox.context';\nimport { useComboboxTargetProps } from '../use-combobox-target-props/use-combobox-target-props';\n\nexport interface ComboboxTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to access element ref */\n refProp?: string;\n\n /** Determines whether component should respond to keyboard events, `true` by default */\n withKeyboardNavigation?: boolean;\n\n /** Determines whether the target should have `aria-` attributes, `true` by default */\n withAriaAttributes?: boolean;\n\n /** Determines whether the target should have `aria-expanded` attribute, `false` by default */\n withExpandedAttribute?: boolean;\n\n /** Determines which events should be handled by the target element.\n * `button` target type handles `Space` and `Enter` keys to toggle dropdown opened state.\n * `input` by default.\n * */\n targetType?: 'button' | 'input';\n}\n\nconst defaultProps: Partial<ComboboxTargetProps> = {\n refProp: 'ref',\n targetType: 'input',\n withKeyboardNavigation: true,\n withAriaAttributes: true,\n withExpandedAttribute: false,\n};\n\nexport type ComboboxTargetFactory = Factory<{\n props: ComboboxTargetProps;\n ref: HTMLElement;\n compound: true;\n}>;\n\nexport const ComboboxTarget = factory<ComboboxTargetFactory>((props, ref) => {\n const {\n children,\n refProp,\n withKeyboardNavigation,\n withAriaAttributes,\n withExpandedAttribute,\n targetType,\n ...others\n } = useProps('ComboboxTarget', defaultProps, props);\n\n if (!isElement(children)) {\n throw new Error(\n 'Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useComboboxContext();\n\n const targetProps = useComboboxTargetProps({\n targetType,\n withAriaAttributes,\n withKeyboardNavigation,\n withExpandedAttribute,\n onKeyDown: children.props.onKeyDown,\n });\n\n const clonedElement = cloneElement(children, {\n ...targetProps,\n ...others,\n });\n\n return (\n <Popover.Target ref={useMergedRef(ref, ctx.store.targetRef)}>{clonedElement}</Popover.Target>\n );\n});\n\nComboboxTarget.displayName = '@mantine/core/ComboboxTarget';\n"],"names":["factory","useProps","isElement","useComboboxContext","useComboboxTargetProps","cloneElement","React","Popover","useMergedRef"],"mappings":"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"}
|
|
@@ -31,7 +31,8 @@ function Option({ data, withCheckIcon, value, checkIconPosition, unstyled }) {
|
|
|
31
31
|
disabled: data.disabled,
|
|
32
32
|
className: cx__default({ [Combobox_module['default'].optionsDropdownOption]: !unstyled }),
|
|
33
33
|
"data-reverse": checkIconPosition === "right" || void 0,
|
|
34
|
-
"data-checked": isValueChecked(value, data.value) || void 0
|
|
34
|
+
"data-checked": isValueChecked(value, data.value) || void 0,
|
|
35
|
+
"aria-selected": isValueChecked(value, data.value)
|
|
35
36
|
},
|
|
36
37
|
checkIconPosition === "left" && check,
|
|
37
38
|
data.label,
|
|
@@ -55,7 +56,8 @@ function OptionsDropdown({
|
|
|
55
56
|
value,
|
|
56
57
|
checkIconPosition,
|
|
57
58
|
nothingFoundMessage,
|
|
58
|
-
unstyled
|
|
59
|
+
unstyled,
|
|
60
|
+
labelId
|
|
59
61
|
}) {
|
|
60
62
|
validateOptions.validateOptions(data);
|
|
61
63
|
const shouldFilter = typeof search === "string";
|
|
@@ -76,12 +78,12 @@ function OptionsDropdown({
|
|
|
76
78
|
unstyled
|
|
77
79
|
}
|
|
78
80
|
));
|
|
79
|
-
return /* @__PURE__ */ React__default.createElement(Combobox.Combobox.Dropdown, { hidden: hidden || hiddenWhenEmpty && isEmpty }, /* @__PURE__ */ React__default.createElement(Combobox.Combobox.Options,
|
|
81
|
+
return /* @__PURE__ */ React__default.createElement(Combobox.Combobox.Dropdown, { hidden: hidden || hiddenWhenEmpty && isEmpty }, /* @__PURE__ */ React__default.createElement(Combobox.Combobox.Options, { labelledBy: labelId }, withScrollArea ? /* @__PURE__ */ React__default.createElement(
|
|
80
82
|
ScrollArea.ScrollArea.Autosize,
|
|
81
83
|
{
|
|
82
84
|
mah: maxDropdownHeight != null ? maxDropdownHeight : 220,
|
|
83
85
|
type: "scroll",
|
|
84
|
-
scrollbarSize: "var(--
|
|
86
|
+
scrollbarSize: "var(--_combobox-padding)",
|
|
85
87
|
offsetScrollbars: "y",
|
|
86
88
|
className: Combobox_module['default'].optionsDropdownScrollArea
|
|
87
89
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option data={item} key={item.value} unstyled={unstyled} />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--
|
|
1
|
+
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option data={item} key={item.value} unstyled={unstyled} />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUA,SAAS,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE;AAC5C,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK,WAAW,CAAC;AACpF,CAAC;AACD,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE;AAC7E,EAAE,IAAI,CAACA,6BAAc,CAAC,IAAI,CAAC,EAAE;AAC7B,IAAI,MAAM,KAAK,GAAG,aAAa,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoBC,cAAK,CAAC,aAAa,CAACC,mBAAS,EAAE,EAAE,SAAS,EAAEC,0BAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;AACxK,IAAI,uBAAuBF,cAAK,CAAC,aAAa;AAC9C,MAAMG,iBAAQ,CAAC,MAAM;AACrB,MAAM;AACN,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC/B,QAAQ,SAAS,EAAEC,WAAE,CAAC,EAAE,CAACF,0BAAO,CAAC,qBAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC;AACrE,QAAQ,cAAc,EAAE,iBAAiB,KAAK,OAAO,IAAI,KAAK,CAAC;AAC/D,QAAQ,cAAc,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACnE,QAAQ,eAAe,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;AAC1D,OAAO;AACP,MAAM,iBAAiB,KAAK,MAAM,IAAI,KAAK;AAC3C,MAAM,IAAI,CAAC,KAAK;AAChB,MAAM,iBAAiB,KAAK,OAAO,IAAI,KAAK;AAC5C,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqBF,cAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACnI,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AACM,SAAS,eAAe,CAAC;AAChC,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,KAAK;AACP,EAAE,iBAAiB;AACnB,EAAE,cAAc,GAAG,IAAI;AACvB,EAAE,aAAa,GAAG,IAAI;AACtB,EAAE,aAAa,GAAG,KAAK;AACvB,EAAE,KAAK;AACP,EAAE,iBAAiB;AACnB,EAAE,mBAAmB;AACrB,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,CAAC,EAAE;AACH,EAAEE,+BAAe,CAAC,IAAI,CAAC,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,MAAM,IAAIC,yCAAoB,EAAE;AACvE,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,EAAE;AACvC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,QAAQ;AAC3C,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,MAAM,OAAO,GAAGC,uCAAmB,CAAC,YAAY,CAAC,CAAC;AACpD,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqBP,cAAK,CAAC,aAAa;AAChF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,GAAG,EAAED,6BAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACzD,MAAM,aAAa;AACnB,MAAM,KAAK;AACX,MAAM,iBAAiB;AACvB,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,eAAe,IAAI,OAAO,EAAE,kBAAkBH,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,mBAAmBH,cAAK,CAAC,aAAa;AACrP,IAAIQ,qBAAU,CAAC,QAAQ;AACvB,IAAI;AACJ,MAAM,GAAG,EAAE,iBAAiB,IAAI,IAAI,GAAG,iBAAiB,GAAG,GAAG;AAC9D,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,aAAa,EAAE,0BAA0B;AAC/C,MAAM,gBAAgB,EAAE,GAAG;AAC3B,MAAM,SAAS,EAAEN,0BAAO,CAAC,yBAAyB;AAClD,KAAK;AACL,IAAI,OAAO;AACX,GAAG,GAAG,OAAO,EAAE,OAAO,IAAI,mBAAmB,oBAAoBF,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAClI;;;;"}
|
|
@@ -28,6 +28,7 @@ function useComboboxTargetProps({
|
|
|
28
28
|
onKeyDown,
|
|
29
29
|
withKeyboardNavigation,
|
|
30
30
|
withAriaAttributes,
|
|
31
|
+
withExpandedAttribute,
|
|
31
32
|
targetType
|
|
32
33
|
}) {
|
|
33
34
|
const ctx = Combobox_context.useComboboxContext();
|
|
@@ -78,7 +79,7 @@ function useComboboxTargetProps({
|
|
|
78
79
|
};
|
|
79
80
|
const ariaAttributes = withAriaAttributes ? {
|
|
80
81
|
"aria-haspopup": "listbox",
|
|
81
|
-
"aria-expanded": ctx.store.listId
|
|
82
|
+
"aria-expanded": withExpandedAttribute && !!(ctx.store.listId && ctx.store.dropdownOpened) || void 0,
|
|
82
83
|
"aria-controls": ctx.store.listId,
|
|
83
84
|
"aria-activedescendant": ctx.store.dropdownOpened ? selectedOptionId || void 0 : void 0,
|
|
84
85
|
autoComplete: "off",
|