@mantine/core 3.5.5 → 3.6.1
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/README.md +0 -1
- package/cjs/components/Accordion/Accordion.js +4 -1
- package/cjs/components/Accordion/Accordion.js.map +1 -1
- package/cjs/components/Accordion/AccordionItem/AccordionItem.js +5 -1
- package/cjs/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/ActionIcon/ActionIcon.js +2 -5
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +1 -0
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/UnstyledButton/UnstyledButton.styles.js +2 -1
- package/cjs/components/Button/UnstyledButton/UnstyledButton.styles.js.map +1 -1
- package/cjs/components/Code/Code.js +3 -1
- package/cjs/components/Code/Code.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +0 -2
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.styles.js +0 -4
- package/cjs/components/ColorInput/ColorInput.styles.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +7 -1
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Grid/Col/Col.js.map +1 -1
- package/cjs/components/Grid/Grid.js +7 -1
- package/cjs/components/Grid/Grid.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Input/Input.js +3 -0
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +11 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/Menu.styles.js +1 -0
- package/cjs/components/Menu/Menu.styles.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +26 -23
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/Pagination/DefaultItem/DefaultItem.js +10 -1
- package/cjs/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
- package/cjs/components/Popover/Popover.js +8 -3
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Popper/Popper.js +30 -2
- package/cjs/components/Popper/Popper.js.map +1 -1
- package/cjs/components/Popper/Popper.styles.js +20 -12
- package/cjs/components/Popper/Popper.styles.js.map +1 -1
- package/cjs/components/Portal/Portal.js +3 -0
- package/cjs/components/Portal/Portal.js.map +1 -1
- package/cjs/components/Progress/Progress.js +3 -3
- package/cjs/components/Progress/Progress.js.map +1 -1
- package/cjs/components/Progress/Progress.styles.js +1 -1
- package/cjs/components/Progress/Progress.styles.js.map +1 -1
- package/cjs/components/RadioGroup/Radio/Radio.js +1 -1
- package/cjs/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.js +15 -7
- package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.styles.js +2 -3
- package/cjs/components/ScrollArea/ScrollArea.styles.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.js +17 -15
- package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.styles.js +37 -36
- package/cjs/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
- package/cjs/components/Select/Select.js +14 -8
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js +1 -0
- package/cjs/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/cjs/components/Slider/Marks/Marks.js +3 -2
- package/cjs/components/Slider/Marks/Marks.js.map +1 -1
- package/cjs/components/Slider/Marks/Marks.styles.js +2 -2
- package/cjs/components/Slider/Marks/Marks.styles.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js +14 -6
- package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js +11 -9
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.js +3 -2
- package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.styles.js +1 -1
- package/cjs/components/Slider/Thumb/Thumb.styles.js.map +1 -1
- package/cjs/components/Slider/Track/Track.js +7 -2
- package/cjs/components/Slider/Track/Track.js.map +1 -1
- package/cjs/components/Slider/Track/Track.styles.js +14 -3
- package/cjs/components/Slider/Track/Track.styles.js.map +1 -1
- package/cjs/components/Space/Space.js +1 -1
- package/cjs/components/Space/Space.js.map +1 -1
- package/cjs/components/Stepper/Step/Step.js +2 -0
- package/cjs/components/Stepper/Step/Step.js.map +1 -1
- package/cjs/components/Stepper/Stepper.js +3 -2
- package/cjs/components/Stepper/Stepper.js.map +1 -1
- package/cjs/components/Switch/Switch.js.map +1 -1
- package/cjs/components/Table/Table.js +7 -3
- package/cjs/components/Table/Table.js.map +1 -1
- package/cjs/components/Table/Table.styles.js +9 -3
- package/cjs/components/Table/Table.styles.js.map +1 -1
- package/cjs/components/Tabs/TabControl/TabControl.js +2 -0
- package/cjs/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +8 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Text/Text.styles.js +1 -1
- package/cjs/components/Text/Text.styles.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +16 -23
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Timeline/Timeline.js +12 -10
- package/cjs/components/Timeline/Timeline.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +24 -14
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.js +54 -37
- package/cjs/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.styles.js +3 -1
- package/cjs/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/cjs/components/TransferList/TransferList.js +23 -24
- package/cjs/components/TransferList/TransferList.js.map +1 -1
- package/cjs/components/Transition/GroupedTransition.js +2 -0
- package/cjs/components/Transition/GroupedTransition.js.map +1 -1
- package/cjs/components/Transition/Transition.js +2 -0
- package/cjs/components/Transition/Transition.js.map +1 -1
- package/cjs/components/Transition/use-transition.js +6 -3
- package/cjs/components/Transition/use-transition.js.map +1 -1
- package/cjs/utils/{group-sort-data/group-sort-data.js → group-options/group-options.js} +6 -6
- package/cjs/utils/group-options/group-options.js.map +1 -0
- package/esm/components/Accordion/Accordion.js +4 -1
- package/esm/components/Accordion/Accordion.js.map +1 -1
- package/esm/components/Accordion/AccordionItem/AccordionItem.js +5 -1
- package/esm/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.js +2 -5
- package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.js +1 -1
- package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/components/Button/Button.styles.js +1 -0
- package/esm/components/Button/Button.styles.js.map +1 -1
- package/esm/components/Button/UnstyledButton/UnstyledButton.styles.js +2 -1
- package/esm/components/Button/UnstyledButton/UnstyledButton.styles.js.map +1 -1
- package/esm/components/Code/Code.js +3 -1
- package/esm/components/Code/Code.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +0 -2
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.styles.js +0 -4
- package/esm/components/ColorInput/ColorInput.styles.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +7 -1
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Grid/Col/Col.js.map +1 -1
- package/esm/components/Grid/Grid.js +7 -1
- package/esm/components/Grid/Grid.js.map +1 -1
- package/esm/components/Group/Group.js +1 -1
- package/esm/components/Group/Group.js.map +1 -1
- package/esm/components/Input/Input.js +3 -0
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/Input/Input.styles.js +11 -2
- package/esm/components/Input/Input.styles.js.map +1 -1
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/Menu.styles.js +1 -0
- package/esm/components/Menu/Menu.styles.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +26 -23
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/Pagination/DefaultItem/DefaultItem.js +10 -1
- package/esm/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
- package/esm/components/Popover/Popover.js +8 -3
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/Popper/Popper.js +30 -2
- package/esm/components/Popper/Popper.js.map +1 -1
- package/esm/components/Popper/Popper.styles.js +20 -12
- package/esm/components/Popper/Popper.styles.js.map +1 -1
- package/esm/components/Portal/Portal.js +3 -0
- package/esm/components/Portal/Portal.js.map +1 -1
- package/esm/components/Progress/Progress.js +3 -3
- package/esm/components/Progress/Progress.js.map +1 -1
- package/esm/components/Progress/Progress.styles.js +1 -1
- package/esm/components/Progress/Progress.styles.js.map +1 -1
- package/esm/components/RadioGroup/Radio/Radio.js +1 -1
- package/esm/components/RadioGroup/Radio/Radio.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.js +14 -6
- package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.styles.js +2 -3
- package/esm/components/ScrollArea/ScrollArea.styles.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.js +19 -17
- package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.styles.js +37 -36
- package/esm/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
- package/esm/components/Select/Select.js +14 -8
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Select/SelectDropdown/SelectDropdown.js +1 -0
- package/esm/components/Select/SelectDropdown/SelectDropdown.js.map +1 -1
- package/esm/components/Slider/Marks/Marks.js +3 -2
- package/esm/components/Slider/Marks/Marks.js.map +1 -1
- package/esm/components/Slider/Marks/Marks.styles.js +2 -2
- package/esm/components/Slider/Marks/Marks.styles.js.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js +11 -3
- package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/components/Slider/Slider/Slider.js +8 -6
- package/esm/components/Slider/Slider/Slider.js.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.js +3 -2
- package/esm/components/Slider/Thumb/Thumb.js.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.styles.js +1 -1
- package/esm/components/Slider/Thumb/Thumb.styles.js.map +1 -1
- package/esm/components/Slider/Track/Track.js +7 -2
- package/esm/components/Slider/Track/Track.js.map +1 -1
- package/esm/components/Slider/Track/Track.styles.js +14 -3
- package/esm/components/Slider/Track/Track.styles.js.map +1 -1
- package/esm/components/Space/Space.js +1 -1
- package/esm/components/Space/Space.js.map +1 -1
- package/esm/components/Stepper/Step/Step.js +2 -0
- package/esm/components/Stepper/Step/Step.js.map +1 -1
- package/esm/components/Stepper/Stepper.js +3 -2
- package/esm/components/Stepper/Stepper.js.map +1 -1
- package/esm/components/Switch/Switch.js.map +1 -1
- package/esm/components/Table/Table.js +7 -3
- package/esm/components/Table/Table.js.map +1 -1
- package/esm/components/Table/Table.styles.js +9 -3
- package/esm/components/Table/Table.styles.js.map +1 -1
- package/esm/components/Tabs/TabControl/TabControl.js +2 -0
- package/esm/components/Tabs/TabControl/TabControl.js.map +1 -1
- package/esm/components/Tabs/Tabs.js +8 -4
- package/esm/components/Tabs/Tabs.js.map +1 -1
- package/esm/components/Text/Text.styles.js +1 -1
- package/esm/components/Text/Text.styles.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +16 -23
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/Timeline/Timeline.js +12 -10
- package/esm/components/Timeline/Timeline.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +25 -15
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.js +54 -37
- package/esm/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.styles.js +3 -1
- package/esm/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/esm/components/TransferList/TransferList.js +23 -24
- package/esm/components/TransferList/TransferList.js.map +1 -1
- package/esm/components/Transition/GroupedTransition.js +2 -0
- package/esm/components/Transition/GroupedTransition.js.map +1 -1
- package/esm/components/Transition/Transition.js +2 -0
- package/esm/components/Transition/Transition.js.map +1 -1
- package/esm/components/Transition/use-transition.js +6 -3
- package/esm/components/Transition/use-transition.js.map +1 -1
- package/esm/utils/{group-sort-data/group-sort-data.js → group-options/group-options.js} +6 -6
- package/esm/utils/group-options/group-options.js.map +1 -0
- package/lib/components/Accordion/Accordion.d.ts +2 -0
- package/lib/components/Accordion/Accordion.d.ts.map +1 -1
- package/lib/components/Accordion/AccordionItem/AccordionItem.d.ts +2 -1
- package/lib/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/lib/components/Button/Button.styles.d.ts +3 -3
- package/lib/components/Button/Button.styles.d.ts.map +1 -1
- package/lib/components/Button/UnstyledButton/UnstyledButton.styles.d.ts.map +1 -1
- package/lib/components/Code/Code.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.styles.d.ts +2 -2
- package/lib/components/ColorInput/ColorInput.styles.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.d.ts.map +1 -1
- package/lib/components/Grid/Col/Col.d.ts +1 -1
- package/lib/components/Grid/Col/Col.d.ts.map +1 -1
- package/lib/components/Grid/Grid.d.ts.map +1 -1
- package/lib/components/Input/Input.d.ts +2 -0
- package/lib/components/Input/Input.d.ts.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +1 -0
- package/lib/components/Input/Input.styles.d.ts.map +1 -1
- package/lib/components/Menu/Menu.d.ts +1 -1
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.styles.d.ts +1 -1
- package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts +2 -0
- package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/components/Pagination/DefaultItem/DefaultItem.d.ts.map +1 -1
- package/lib/components/Popover/Popover.d.ts +3 -1
- package/lib/components/Popover/Popover.d.ts.map +1 -1
- package/lib/components/Popper/Popper.d.ts +4 -2
- package/lib/components/Popper/Popper.d.ts.map +1 -1
- package/lib/components/Popper/Popper.styles.d.ts +2 -1
- package/lib/components/Popper/Popper.styles.d.ts.map +1 -1
- package/lib/components/Portal/Portal.d.ts.map +1 -1
- package/lib/components/RadioGroup/Radio/Radio.d.ts +1 -1
- package/lib/components/RadioGroup/Radio/Radio.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
- package/lib/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.styles.d.ts +0 -1
- package/lib/components/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +7 -10
- package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts.map +1 -1
- package/lib/components/Select/Select.d.ts +2 -0
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/SelectDropdown/SelectDropdown.d.ts.map +1 -1
- package/lib/components/Slider/Marks/Marks.d.ts.map +1 -1
- package/lib/components/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/lib/components/Slider/Slider/Slider.d.ts.map +1 -1
- package/lib/components/Slider/Thumb/Thumb.d.ts.map +1 -1
- package/lib/components/Slider/Track/Track.d.ts.map +1 -1
- package/lib/components/Slider/Track/Track.styles.d.ts.map +1 -1
- package/lib/components/Stepper/Step/Step.d.ts +2 -0
- package/lib/components/Stepper/Step/Step.d.ts.map +1 -1
- package/lib/components/Stepper/Stepper.d.ts.map +1 -1
- package/lib/components/Switch/Switch.d.ts +3 -3
- package/lib/components/Switch/Switch.d.ts.map +1 -1
- package/lib/components/Table/Table.d.ts +5 -1
- package/lib/components/Table/Table.d.ts.map +1 -1
- package/lib/components/Table/Table.styles.d.ts +3 -0
- package/lib/components/Table/Table.styles.d.ts.map +1 -1
- package/lib/components/Tabs/TabControl/TabControl.d.ts +2 -1
- package/lib/components/Tabs/TabControl/TabControl.d.ts.map +1 -1
- package/lib/components/Tabs/Tabs.d.ts +1 -1
- package/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/lib/components/Textarea/Textarea.d.ts.map +1 -1
- package/lib/components/Timeline/Timeline.d.ts +2 -0
- package/lib/components/Timeline/Timeline.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts +1 -4
- package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.d.ts +3 -3
- package/lib/components/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.styles.d.ts.map +1 -1
- package/lib/components/TransferList/TransferList.d.ts +2 -0
- package/lib/components/TransferList/TransferList.d.ts.map +1 -1
- package/lib/components/Transition/GroupedTransition.d.ts +4 -2
- package/lib/components/Transition/GroupedTransition.d.ts.map +1 -1
- package/lib/components/Transition/Transition.d.ts +3 -1
- package/lib/components/Transition/Transition.d.ts.map +1 -1
- package/lib/components/Transition/use-transition.d.ts +2 -1
- package/lib/components/Transition/use-transition.d.ts.map +1 -1
- package/lib/utils/group-options/group-options.d.ts +8 -0
- package/lib/utils/group-options/group-options.d.ts.map +1 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/cjs/utils/group-sort-data/group-sort-data.js.map +0 -1
- package/esm/utils/group-sort-data/group-sort-data.js.map +0 -1
- package/lib/utils/group-sort-data/group-sort-data.d.ts +0 -9
- package/lib/utils/group-sort-data/group-sort-data.d.ts.map +0 -1
|
@@ -7,7 +7,7 @@ var hooks = require('@mantine/hooks');
|
|
|
7
7
|
var SelectScrollArea = require('../../Select/SelectScrollArea/SelectScrollArea.js');
|
|
8
8
|
var Divider = require('../../Divider/Divider.js');
|
|
9
9
|
var RenderList_styles = require('./RenderList.styles.js');
|
|
10
|
-
var
|
|
10
|
+
var groupOptions = require('../../../utils/group-options/group-options.js');
|
|
11
11
|
var UnstyledButton = require('../../Button/UnstyledButton/UnstyledButton.js');
|
|
12
12
|
var Text = require('../../Text/Text.js');
|
|
13
13
|
var TextInput = require('../../TextInput/TextInput.js');
|
|
@@ -21,6 +21,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
21
21
|
|
|
22
22
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
23
|
|
|
24
|
+
const icons = {
|
|
25
|
+
Prev: PrevIcon.PrevIcon,
|
|
26
|
+
Next: NextIcon.NextIcon,
|
|
27
|
+
First: FirstIcon.FirstIcon,
|
|
28
|
+
Last: LastIcon.LastIcon
|
|
29
|
+
};
|
|
30
|
+
const rtlIons = {
|
|
31
|
+
Next: PrevIcon.PrevIcon,
|
|
32
|
+
Prev: NextIcon.NextIcon,
|
|
33
|
+
Last: FirstIcon.FirstIcon,
|
|
34
|
+
First: LastIcon.LastIcon
|
|
35
|
+
};
|
|
24
36
|
function RenderList({
|
|
25
37
|
className,
|
|
26
38
|
data,
|
|
@@ -38,61 +50,66 @@ function RenderList({
|
|
|
38
50
|
onMove,
|
|
39
51
|
height,
|
|
40
52
|
classNames,
|
|
41
|
-
styles
|
|
53
|
+
styles,
|
|
54
|
+
limit
|
|
42
55
|
}) {
|
|
43
|
-
const { classes, cx } = RenderList_styles['default']({ reversed, native: listComponent !== SelectScrollArea.SelectScrollArea }, { name: "TransferList", classNames, styles });
|
|
56
|
+
const { classes, cx, theme } = RenderList_styles['default']({ reversed, native: listComponent !== SelectScrollArea.SelectScrollArea }, { name: "TransferList", classNames, styles });
|
|
44
57
|
const unGroupedItems = [];
|
|
45
58
|
const groupedItems = [];
|
|
46
59
|
const [query, setQuery] = React.useState("");
|
|
47
60
|
const [hovered, setHovered] = React.useState(-1);
|
|
48
|
-
const filteredData = data.filter((item) => filter(query, item));
|
|
61
|
+
const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);
|
|
49
62
|
const ListComponent = listComponent || "div";
|
|
63
|
+
const Icons = theme.dir === "rtl" ? rtlIons : icons;
|
|
50
64
|
const itemsRefs = React.useRef({});
|
|
51
|
-
const sortedData =
|
|
65
|
+
const sortedData = groupOptions.groupOptions({ data: filteredData });
|
|
52
66
|
const { scrollIntoView, targetRef, scrollableRef } = hooks.useScrollIntoView({
|
|
53
67
|
duration: 0,
|
|
54
68
|
offset: 5,
|
|
55
69
|
cancelable: false,
|
|
56
70
|
isList: true
|
|
57
71
|
});
|
|
58
|
-
const constructItemComponent = (item, index) => /* @__PURE__ */ React__default.createElement(UnstyledButton.UnstyledButton, {
|
|
59
|
-
tabIndex: -1,
|
|
60
|
-
onClick: () => onSelect(item.value),
|
|
61
|
-
key: item.value,
|
|
62
|
-
onMouseEnter: () => setHovered(index),
|
|
63
|
-
className: cx(classes.transferListItem, {
|
|
64
|
-
[classes.transferListItemHovered]: index === hovered
|
|
65
|
-
}),
|
|
66
|
-
ref: (node) => {
|
|
67
|
-
if (itemsRefs && itemsRefs.current) {
|
|
68
|
-
itemsRefs.current[item.value] = node;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}, /* @__PURE__ */ React__default.createElement(ItemComponent, {
|
|
72
|
-
data: item,
|
|
73
|
-
selected: selection.includes(item.value)
|
|
74
|
-
}));
|
|
75
|
-
const constructSeparator = (label) => /* @__PURE__ */ React__default.createElement("div", {
|
|
76
|
-
className: classes.separator,
|
|
77
|
-
key: label
|
|
78
|
-
}, /* @__PURE__ */ React__default.createElement(Divider.Divider, {
|
|
79
|
-
classNames: { label: classes.separatorLabel },
|
|
80
|
-
label
|
|
81
|
-
}));
|
|
82
72
|
let groupName = null;
|
|
83
73
|
sortedData.forEach((item, index) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
const itemComponent = /* @__PURE__ */ React__default.createElement(UnstyledButton.UnstyledButton, {
|
|
75
|
+
tabIndex: -1,
|
|
76
|
+
onClick: () => onSelect(item.value),
|
|
77
|
+
key: item.value,
|
|
78
|
+
onMouseEnter: () => setHovered(index),
|
|
79
|
+
className: cx(classes.transferListItem, {
|
|
80
|
+
[classes.transferListItemHovered]: index === hovered
|
|
81
|
+
}),
|
|
82
|
+
ref: (node) => {
|
|
83
|
+
if (itemsRefs && itemsRefs.current) {
|
|
84
|
+
itemsRefs.current[item.value] = node;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}, /* @__PURE__ */ React__default.createElement(ItemComponent, {
|
|
88
|
+
data: item,
|
|
89
|
+
selected: selection.includes(item.value)
|
|
90
|
+
}));
|
|
91
|
+
if (!item.group) {
|
|
92
|
+
unGroupedItems.push(itemComponent);
|
|
93
|
+
} else {
|
|
87
94
|
if (groupName !== item.group) {
|
|
88
95
|
groupName = item.group;
|
|
89
|
-
groupedItems.push(
|
|
96
|
+
groupedItems.push(/* @__PURE__ */ React__default.createElement("div", {
|
|
97
|
+
className: classes.separator,
|
|
98
|
+
key: groupName
|
|
99
|
+
}, /* @__PURE__ */ React__default.createElement(Divider.Divider, {
|
|
100
|
+
classNames: { label: classes.separatorLabel },
|
|
101
|
+
label: groupName
|
|
102
|
+
})));
|
|
90
103
|
}
|
|
91
|
-
groupedItems.push(
|
|
104
|
+
groupedItems.push(itemComponent);
|
|
92
105
|
}
|
|
93
106
|
});
|
|
94
107
|
if (groupedItems.length > 0 && unGroupedItems.length > 0) {
|
|
95
|
-
unGroupedItems.unshift(
|
|
108
|
+
unGroupedItems.unshift(/* @__PURE__ */ React__default.createElement("div", {
|
|
109
|
+
className: classes.separator
|
|
110
|
+
}, /* @__PURE__ */ React__default.createElement(Divider.Divider, {
|
|
111
|
+
classNames: { label: classes.separatorLabel }
|
|
112
|
+
})));
|
|
96
113
|
}
|
|
97
114
|
const handleSearchKeydown = (event) => {
|
|
98
115
|
switch (event.code) {
|
|
@@ -159,14 +176,14 @@ function RenderList({
|
|
|
159
176
|
className: classes.transferListControl,
|
|
160
177
|
disabled: selection.length === 0,
|
|
161
178
|
onClick: onMove
|
|
162
|
-
}, reversed ? /* @__PURE__ */ React__default.createElement(
|
|
179
|
+
}, reversed ? /* @__PURE__ */ React__default.createElement(Icons.Prev, null) : /* @__PURE__ */ React__default.createElement(Icons.Next, null)), showTransferAll && /* @__PURE__ */ React__default.createElement(ActionIcon.ActionIcon, {
|
|
163
180
|
variant: "default",
|
|
164
181
|
size: 36,
|
|
165
182
|
radius: 0,
|
|
166
183
|
className: classes.transferListControl,
|
|
167
184
|
disabled: data.length === 0,
|
|
168
185
|
onClick: onMoveAll
|
|
169
|
-
}, reversed ? /* @__PURE__ */ React__default.createElement(
|
|
186
|
+
}, reversed ? /* @__PURE__ */ React__default.createElement(Icons.First, null) : /* @__PURE__ */ React__default.createElement(Icons.Last, null))), /* @__PURE__ */ React__default.createElement(ListComponent, {
|
|
170
187
|
ref: scrollableRef,
|
|
171
188
|
onMouseLeave: () => setHovered(-1),
|
|
172
189
|
className: classes.transferListItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderList.js","sources":["../../../../src/components/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../Button';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider/Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\nimport { groupSortData } from '../../../utils/group-sort-data/group-sort-data';\n\nexport type RenderListStylesNames = ClassNames<typeof useStyles>;\n\ninterface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n listComponent?: React.FC<any>;\n}\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n classNames,\n styles,\n}: RenderListProps) {\n const { classes, cx } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea },\n { name: 'TransferList', classNames, styles }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [query, setQuery] = useState('');\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item));\n const ListComponent = listComponent || 'div';\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupSortData({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const constructItemComponent = (item: TransferListItem, index: number) => (\n <UnstyledButton\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} />\n </UnstyledButton>\n );\n\n const constructSeparator = (label?: string) => (\n <div className={classes.separator} key={label}>\n <Divider classNames={{ label: classes.separatorLabel }} label={label} />\n </div>\n );\n\n let groupName = null;\n sortedData.forEach((item, index) => {\n if (!item.group) unGroupedItems.push(constructItemComponent(item, index));\n else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(constructSeparator(groupName));\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(constructSeparator());\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n value={query}\n onChange={(event) => {\n setQuery(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n >\n {reversed ? <PrevIcon /> : <NextIcon />}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n >\n {reversed ? <FirstIcon /> : <LastIcon />}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" size=\"sm\" align=\"center\" mt=\"sm\">\n {nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["useStyles","SelectScrollArea","useState","useRef","groupSortData","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon","PrevIcon","NextIcon","FirstIcon","LastIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderList.js","sources":["../../../../src/components/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../Button';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider/Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\nimport { groupOptions } from '../../../utils';\n\nexport type RenderListStylesNames = ClassNames<typeof useStyles>;\n\nexport interface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n listComponent?: React.FC<any>;\n limit?: number;\n}\n\nconst icons = {\n Prev: PrevIcon,\n Next: NextIcon,\n First: FirstIcon,\n Last: LastIcon,\n};\n\nconst rtlIons = {\n Next: PrevIcon,\n Prev: NextIcon,\n Last: FirstIcon,\n First: LastIcon,\n};\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n classNames,\n styles,\n limit,\n}: RenderListProps) {\n const { classes, cx, theme } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea },\n { name: 'TransferList', classNames, styles }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [query, setQuery] = useState('');\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);\n const ListComponent = listComponent || 'div';\n const Icons = theme.dir === 'rtl' ? rtlIons : icons;\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupOptions({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n let groupName = null;\n\n sortedData.forEach((item, index) => {\n const itemComponent = (\n <UnstyledButton\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} />\n </UnstyledButton>\n );\n\n if (!item.group) {\n unGroupedItems.push(itemComponent);\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={groupName}>\n <Divider classNames={{ label: classes.separatorLabel }} label={groupName} />\n </div>\n );\n }\n groupedItems.push(itemComponent);\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider classNames={{ label: classes.separatorLabel }} />\n </div>\n );\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n value={query}\n onChange={(event) => {\n setQuery(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n >\n {reversed ? <Icons.Prev /> : <Icons.Next />}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n >\n {reversed ? <Icons.First /> : <Icons.Last />}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" size=\"sm\" align=\"center\" mt=\"sm\">\n {nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["PrevIcon","NextIcon","FirstIcon","LastIcon","useStyles","SelectScrollArea","useState","useRef","groupOptions","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon"],"mappings":"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"}
|
|
@@ -57,6 +57,8 @@ var useStyles = styles.createStyles((theme, { reversed, native }) => ({
|
|
|
57
57
|
borderTop: 0,
|
|
58
58
|
borderRightWidth: reversed ? void 0 : 0,
|
|
59
59
|
borderLeftWidth: reversed ? 0 : void 0,
|
|
60
|
+
borderTopLeftRadius: reversed ? theme.radius.sm : 0,
|
|
61
|
+
borderTopRightRadius: reversed ? 0 : theme.radius.sm,
|
|
60
62
|
borderColor: theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[4],
|
|
61
63
|
"&:last-of-type": {
|
|
62
64
|
borderTopLeftRadius: reversed ? theme.radius.sm - 1 : 0,
|
|
@@ -71,7 +73,7 @@ var useStyles = styles.createStyles((theme, { reversed, native }) => ({
|
|
|
71
73
|
boxSizing: "border-box",
|
|
72
74
|
textAlign: "left",
|
|
73
75
|
width: "100%",
|
|
74
|
-
padding:
|
|
76
|
+
padding: "7px 12px"
|
|
75
77
|
},
|
|
76
78
|
separatorLabel: {
|
|
77
79
|
color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[5]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderList.styles.js","sources":["../../../../src/components/TransferList/RenderList/RenderList.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\ninterface RenderListStyles {\n reversed: boolean;\n native: boolean;\n}\n\nconst ITEM_PADDING = 7;\n\nexport default createStyles((theme, { reversed, native }: RenderListStyles) => ({\n transferList: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n\n transferListItem: {\n display: 'block',\n width: `calc(100% - ${ITEM_PADDING * 2}px)`,\n padding: ITEM_PADDING,\n marginLeft: theme.spacing.sm - ITEM_PADDING,\n marginRight: theme.spacing.sm - ITEM_PADDING,\n borderRadius: theme.radius.sm,\n\n '&:first-of-type': {\n marginTop: theme.spacing.sm - ITEM_PADDING,\n },\n\n '&:last-of-type': {\n marginBottom: theme.spacing.sm - ITEM_PADDING,\n },\n },\n\n transferListItemHovered: {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[0],\n },\n\n transferListItems: {\n overflow: native ? 'auto' : 'hidden',\n },\n\n transferListHeader: {\n display: 'flex',\n flexDirection: reversed ? 'row-reverse' : 'row',\n },\n\n transferListBody: {\n flex: 1,\n borderRadius: theme.radius.sm,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4]\n }`,\n },\n\n transferListTitle: {\n marginBottom: 5,\n },\n\n transferListSearch: {\n borderTopWidth: 0,\n borderRightWidth: 0,\n borderLeftWidth: 0,\n borderTopLeftRadius: reversed ? 0 : theme.radius.sm - 1,\n borderTopRightRadius: reversed ? theme.radius.sm - 1 : 0,\n display: 'block',\n borderBottomColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n },\n\n transferListControl: {\n borderTop: 0,\n borderRightWidth: reversed ? undefined : 0,\n borderLeftWidth: reversed ? 0 : undefined,\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n\n '&:last-of-type': {\n borderTopLeftRadius: reversed ? theme.radius.sm - 1 : 0,\n borderTopRightRadius: reversed ? 0 : theme.radius.sm - 1,\n },\n\n '&:disabled': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : 'transparent',\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n },\n },\n\n separator: {\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding:
|
|
1
|
+
{"version":3,"file":"RenderList.styles.js","sources":["../../../../src/components/TransferList/RenderList/RenderList.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\ninterface RenderListStyles {\n reversed: boolean;\n native: boolean;\n}\n\nconst ITEM_PADDING = 7;\n\nexport default createStyles((theme, { reversed, native }: RenderListStyles) => ({\n transferList: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n\n transferListItem: {\n display: 'block',\n width: `calc(100% - ${ITEM_PADDING * 2}px)`,\n padding: ITEM_PADDING,\n marginLeft: theme.spacing.sm - ITEM_PADDING,\n marginRight: theme.spacing.sm - ITEM_PADDING,\n borderRadius: theme.radius.sm,\n\n '&:first-of-type': {\n marginTop: theme.spacing.sm - ITEM_PADDING,\n },\n\n '&:last-of-type': {\n marginBottom: theme.spacing.sm - ITEM_PADDING,\n },\n },\n\n transferListItemHovered: {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[0],\n },\n\n transferListItems: {\n overflow: native ? 'auto' : 'hidden',\n },\n\n transferListHeader: {\n display: 'flex',\n flexDirection: reversed ? 'row-reverse' : 'row',\n },\n\n transferListBody: {\n flex: 1,\n borderRadius: theme.radius.sm,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4]\n }`,\n },\n\n transferListTitle: {\n marginBottom: 5,\n },\n\n transferListSearch: {\n borderTopWidth: 0,\n borderRightWidth: 0,\n borderLeftWidth: 0,\n borderTopLeftRadius: reversed ? 0 : theme.radius.sm - 1,\n borderTopRightRadius: reversed ? theme.radius.sm - 1 : 0,\n display: 'block',\n borderBottomColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n },\n\n transferListControl: {\n borderTop: 0,\n borderRightWidth: reversed ? undefined : 0,\n borderLeftWidth: reversed ? 0 : undefined,\n borderTopLeftRadius: reversed ? theme.radius.sm : 0,\n borderTopRightRadius: reversed ? 0 : theme.radius.sm,\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n\n '&:last-of-type': {\n borderTopLeftRadius: reversed ? theme.radius.sm - 1 : 0,\n borderTopRightRadius: reversed ? 0 : theme.radius.sm - 1,\n },\n\n '&:disabled': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : 'transparent',\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4],\n },\n },\n\n separator: {\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding: '7px 12px',\n },\n\n separatorLabel: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n}));\n"],"names":["createStyles"],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
|
|
16
16
|
var __defProp = Object.defineProperty;
|
|
17
|
+
var __defProps = Object.defineProperties;
|
|
18
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
17
19
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
18
20
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
19
21
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -29,6 +31,7 @@ var __spreadValues = (a, b) => {
|
|
|
29
31
|
}
|
|
30
32
|
return a;
|
|
31
33
|
};
|
|
34
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
32
35
|
var __objRest = (source, exclude) => {
|
|
33
36
|
var target = {};
|
|
34
37
|
for (var prop in source)
|
|
@@ -59,7 +62,8 @@ const TransferList = React.forwardRef((_a, ref) => {
|
|
|
59
62
|
showTransferAll = true,
|
|
60
63
|
breakpoint,
|
|
61
64
|
classNames,
|
|
62
|
-
styles
|
|
65
|
+
styles,
|
|
66
|
+
limit = Infinity
|
|
63
67
|
} = _b, others = __objRest(_b, [
|
|
64
68
|
"value",
|
|
65
69
|
"onChange",
|
|
@@ -74,7 +78,8 @@ const TransferList = React.forwardRef((_a, ref) => {
|
|
|
74
78
|
"showTransferAll",
|
|
75
79
|
"breakpoint",
|
|
76
80
|
"classNames",
|
|
77
|
-
"styles"
|
|
81
|
+
"styles",
|
|
82
|
+
"limit"
|
|
78
83
|
]);
|
|
79
84
|
const [selection, handlers] = useSelectionState.useSelectionState(initialSelection);
|
|
80
85
|
const handleMoveAll = (listIndex) => {
|
|
@@ -102,45 +107,39 @@ const TransferList = React.forwardRef((_a, ref) => {
|
|
|
102
107
|
handlers.deselectAll(listIndex);
|
|
103
108
|
};
|
|
104
109
|
const breakpoints = breakpoint ? [{ maxWidth: breakpoint, cols: 1 }] : void 0;
|
|
110
|
+
const sharedListProps = {
|
|
111
|
+
itemComponent,
|
|
112
|
+
listComponent,
|
|
113
|
+
searchPlaceholder,
|
|
114
|
+
filter,
|
|
115
|
+
nothingFound,
|
|
116
|
+
height: listHeight,
|
|
117
|
+
showTransferAll,
|
|
118
|
+
classNames,
|
|
119
|
+
styles,
|
|
120
|
+
limit
|
|
121
|
+
};
|
|
105
122
|
return /* @__PURE__ */ React__default.createElement(SimpleGrid.SimpleGrid, __spreadValues({
|
|
106
123
|
cols: 2,
|
|
107
124
|
spacing: "xl",
|
|
108
125
|
breakpoints,
|
|
109
126
|
ref
|
|
110
|
-
}, others), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, {
|
|
127
|
+
}, others), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, __spreadProps(__spreadValues({}, sharedListProps), {
|
|
111
128
|
data: value[0],
|
|
112
129
|
selection: selection[0],
|
|
113
130
|
onSelect: (val) => handlers.select(0, val),
|
|
114
131
|
onMoveAll: () => handleMoveAll(0),
|
|
115
132
|
onMove: () => handleMove(0),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
filter,
|
|
119
|
-
nothingFound,
|
|
120
|
-
title: titles[0],
|
|
121
|
-
height: listHeight,
|
|
122
|
-
listComponent,
|
|
123
|
-
showTransferAll,
|
|
124
|
-
classNames,
|
|
125
|
-
styles
|
|
126
|
-
}), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, {
|
|
133
|
+
title: titles[0]
|
|
134
|
+
})), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, __spreadProps(__spreadValues({}, sharedListProps), {
|
|
127
135
|
data: value[1],
|
|
128
136
|
selection: selection[1],
|
|
129
137
|
onSelect: (val) => handlers.select(1, val),
|
|
130
138
|
onMoveAll: () => handleMoveAll(1),
|
|
131
139
|
onMove: () => handleMove(1),
|
|
132
|
-
itemComponent,
|
|
133
|
-
searchPlaceholder,
|
|
134
|
-
filter,
|
|
135
|
-
nothingFound,
|
|
136
140
|
title: titles[1],
|
|
137
|
-
height: listHeight,
|
|
138
|
-
listComponent,
|
|
139
|
-
showTransferAll,
|
|
140
|
-
classNames,
|
|
141
|
-
styles,
|
|
142
141
|
reversed: true
|
|
143
|
-
}));
|
|
142
|
+
})));
|
|
144
143
|
});
|
|
145
144
|
TransferList.displayName = "@mantine/core/TransferList";
|
|
146
145
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferList.js","sources":["../../../src/components/TransferList/TransferList.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize } from '@mantine/styles';\nimport { RenderList, RenderListStylesNames } from './RenderList/RenderList';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { SimpleGrid } from '../SimpleGrid';\nimport { useSelectionState, Selection } from './use-selection-state/use-selection-state';\nimport { TransferListData, TransferListItemComponent, TransferListItem } from './types';\n\nexport type TransferListStylesNames = RenderListStylesNames;\n\nexport interface TransferListProps\n extends DefaultProps<TransferListStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Current value */\n value: TransferListData;\n\n /** Called when value changes */\n onChange(value: TransferListData): void;\n\n /** Initial items selection */\n initialSelection?: Selection;\n\n /** Custom item component */\n itemComponent?: TransferListItemComponent;\n\n /** Search fields placeholder */\n searchPlaceholder?: string;\n\n /** Nothing found message */\n nothingFound?: React.ReactNode;\n\n /** Function to filter search results */\n filter?(query: string, item: TransferListItem): boolean;\n\n /** Lists titles */\n titles?: [string, string];\n\n /** List items height */\n listHeight?: number;\n\n /** Change list component, can be used to add custom scrollbars */\n listComponent?: any;\n\n /** Breakpoint at which list will collapse to single column layout */\n breakpoint?: MantineNumberSize;\n\n /** Whether to hide the transfer all button */\n showTransferAll?: boolean;\n}\n\nexport function defaultFilter(query: string, item: TransferListItem) {\n return item.label.toLowerCase().trim().includes(query.toLowerCase().trim());\n}\n\nexport const TransferList = forwardRef<HTMLDivElement, TransferListProps>(\n (\n {\n value,\n onChange,\n itemComponent = DefaultItem,\n searchPlaceholder,\n filter = defaultFilter,\n nothingFound,\n titles = [null, null],\n initialSelection,\n listHeight = 150,\n listComponent = SelectScrollArea,\n showTransferAll = true,\n breakpoint,\n classNames,\n styles,\n ...others\n }: TransferListProps,\n ref\n ) => {\n const [selection, handlers] = useSelectionState(initialSelection);\n\n const handleMoveAll = (listIndex: 0 | 1) => {\n const items: TransferListData = Array(2) as any;\n const moveToIndex = listIndex === 0 ? 1 : 0;\n items[listIndex] = [];\n items[moveToIndex] = [...value[moveToIndex], ...value[listIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const handleMove = (listIndex: 0 | 1) => {\n const moveToIndex = listIndex === 0 ? 1 : 0;\n const items: TransferListData = Array(2) as any;\n const transferData = value[listIndex].reduce(\n (acc, item) => {\n if (!selection[listIndex].includes(item.value)) {\n acc.filtered.push(item);\n } else {\n acc.current.push(item);\n }\n return acc;\n },\n { filtered: [], current: [] }\n );\n items[listIndex] = transferData.filtered;\n items[moveToIndex] = [...transferData.current, ...value[moveToIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const breakpoints = breakpoint ? [{ maxWidth: breakpoint, cols: 1 }] : undefined;\n\n return (\n <SimpleGrid cols={2} spacing=\"xl\" breakpoints={breakpoints} ref={ref} {...others}>\n <RenderList\n data={value[0]}\n selection={selection[0]}\n onSelect={(val) => handlers.select(0, val)}\n onMoveAll={() => handleMoveAll(0)}\n onMove={() => handleMove(0)}\n itemComponent={itemComponent}\n searchPlaceholder={searchPlaceholder}\n filter={filter}\n nothingFound={nothingFound}\n title={titles[0]}\n height={listHeight}\n listComponent={listComponent}\n showTransferAll={showTransferAll}\n classNames={classNames}\n styles={styles}\n />\n\n <RenderList\n data={value[1]}\n selection={selection[1]}\n onSelect={(val) => handlers.select(1, val)}\n onMoveAll={() => handleMoveAll(1)}\n onMove={() => handleMove(1)}\n itemComponent={itemComponent}\n searchPlaceholder={searchPlaceholder}\n filter={filter}\n nothingFound={nothingFound}\n title={titles[1]}\n height={listHeight}\n listComponent={listComponent}\n showTransferAll={showTransferAll}\n classNames={classNames}\n styles={styles}\n reversed\n />\n </SimpleGrid>\n );\n }\n);\n\nTransferList.displayName = '@mantine/core/TransferList';\n"],"names":["forwardRef","DefaultItem","SelectScrollArea","useSelectionState","React","SimpleGrid","RenderList"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TransferList.js","sources":["../../../src/components/TransferList/TransferList.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize } from '@mantine/styles';\nimport { RenderList, RenderListStylesNames } from './RenderList/RenderList';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { SimpleGrid } from '../SimpleGrid';\nimport { useSelectionState, Selection } from './use-selection-state/use-selection-state';\nimport { TransferListData, TransferListItemComponent, TransferListItem } from './types';\n\nexport type TransferListStylesNames = RenderListStylesNames;\n\nexport interface TransferListProps\n extends DefaultProps<TransferListStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Current value */\n value: TransferListData;\n\n /** Called when value changes */\n onChange(value: TransferListData): void;\n\n /** Initial items selection */\n initialSelection?: Selection;\n\n /** Custom item component */\n itemComponent?: TransferListItemComponent;\n\n /** Search fields placeholder */\n searchPlaceholder?: string;\n\n /** Nothing found message */\n nothingFound?: React.ReactNode;\n\n /** Function to filter search results */\n filter?(query: string, item: TransferListItem): boolean;\n\n /** Lists titles */\n titles?: [string, string];\n\n /** List items height */\n listHeight?: number;\n\n /** Change list component, can be used to add custom scrollbars */\n listComponent?: any;\n\n /** Breakpoint at which list will collapse to single column layout */\n breakpoint?: MantineNumberSize;\n\n /** Whether to hide the transfer all button */\n showTransferAll?: boolean;\n\n /** Limit amount of items showed at a time */\n limit?: number;\n}\n\nexport function defaultFilter(query: string, item: TransferListItem) {\n return item.label.toLowerCase().trim().includes(query.toLowerCase().trim());\n}\n\nexport const TransferList = forwardRef<HTMLDivElement, TransferListProps>(\n (\n {\n value,\n onChange,\n itemComponent = DefaultItem,\n searchPlaceholder,\n filter = defaultFilter,\n nothingFound,\n titles = [null, null],\n initialSelection,\n listHeight = 150,\n listComponent = SelectScrollArea,\n showTransferAll = true,\n breakpoint,\n classNames,\n styles,\n limit = Infinity,\n ...others\n }: TransferListProps,\n ref\n ) => {\n const [selection, handlers] = useSelectionState(initialSelection);\n\n const handleMoveAll = (listIndex: 0 | 1) => {\n const items: TransferListData = Array(2) as any;\n const moveToIndex = listIndex === 0 ? 1 : 0;\n items[listIndex] = [];\n items[moveToIndex] = [...value[moveToIndex], ...value[listIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const handleMove = (listIndex: 0 | 1) => {\n const moveToIndex = listIndex === 0 ? 1 : 0;\n const items: TransferListData = Array(2) as any;\n const transferData = value[listIndex].reduce(\n (acc, item) => {\n if (!selection[listIndex].includes(item.value)) {\n acc.filtered.push(item);\n } else {\n acc.current.push(item);\n }\n return acc;\n },\n { filtered: [], current: [] }\n );\n items[listIndex] = transferData.filtered;\n items[moveToIndex] = [...transferData.current, ...value[moveToIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const breakpoints = breakpoint ? [{ maxWidth: breakpoint, cols: 1 }] : undefined;\n const sharedListProps = {\n itemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n height: listHeight,\n showTransferAll,\n classNames,\n styles,\n limit,\n };\n\n return (\n <SimpleGrid cols={2} spacing=\"xl\" breakpoints={breakpoints} ref={ref} {...others}>\n <RenderList\n {...sharedListProps}\n data={value[0]}\n selection={selection[0]}\n onSelect={(val) => handlers.select(0, val)}\n onMoveAll={() => handleMoveAll(0)}\n onMove={() => handleMove(0)}\n title={titles[0]}\n />\n\n <RenderList\n {...sharedListProps}\n data={value[1]}\n selection={selection[1]}\n onSelect={(val) => handlers.select(1, val)}\n onMoveAll={() => handleMoveAll(1)}\n onMove={() => handleMove(1)}\n title={titles[1]}\n reversed\n />\n </SimpleGrid>\n );\n }\n);\n\nTransferList.displayName = '@mantine/core/TransferList';\n"],"names":["forwardRef","DefaultItem","SelectScrollArea","useSelectionState","React","SimpleGrid","RenderList"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
13
13
|
function GroupedTransition({
|
|
14
14
|
transitions,
|
|
15
15
|
duration = 250,
|
|
16
|
+
exitDuration = duration,
|
|
16
17
|
mounted,
|
|
17
18
|
children,
|
|
18
19
|
timingFunction,
|
|
@@ -24,6 +25,7 @@ function GroupedTransition({
|
|
|
24
25
|
const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition.useTransition({
|
|
25
26
|
mounted,
|
|
26
27
|
duration,
|
|
28
|
+
exitDuration,
|
|
27
29
|
timingFunction,
|
|
28
30
|
onExit,
|
|
29
31
|
onEntered,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedTransition.js","sources":["../../../src/components/Transition/GroupedTransition.tsx"],"sourcesContent":["import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { useTransition } from './use-transition';\nimport { MantineTransition } from './transitions';\n\ninterface GroupedTransitionItem {\n duration: number;\n timingFunction?: React.CSSProperties['transitionTimingFunction'];\n transition: MantineTransition;\n}\n\nexport interface GroupedTransitionProps {\n /** Transitions group */\n transitions: Record<string, GroupedTransitionItem>;\n\n /** Render function with transition group styles argument */\n children(styles: Record<string, React.CSSProperties>): React.ReactElement<any, any>;\n\n /**
|
|
1
|
+
{"version":3,"file":"GroupedTransition.js","sources":["../../../src/components/Transition/GroupedTransition.tsx"],"sourcesContent":["import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { useTransition } from './use-transition';\nimport { MantineTransition } from './transitions';\n\ninterface GroupedTransitionItem {\n duration: number;\n timingFunction?: React.CSSProperties['transitionTimingFunction'];\n transition: MantineTransition;\n}\n\nexport interface GroupedTransitionProps {\n /** Transitions group */\n transitions: Record<string, GroupedTransitionItem>;\n\n /** Render function with transition group styles argument */\n children(styles: Record<string, React.CSSProperties>): React.ReactElement<any, any>;\n\n /** Enter transition duration in ms */\n duration?: number;\n\n /** Exit transition duration in ms */\n exitDuration?: number;\n\n /** Transition timing function, defaults to theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** When true, component will be mounted */\n mounted: boolean;\n\n /** Calls when exit transition ends */\n onExited?: () => void;\n\n /** Calls when exit transition starts */\n onExit?: () => void;\n\n /** Calls when enter transition starts */\n onEnter?: () => void;\n\n /** Calls when enter transition ends */\n onEntered?: () => void;\n}\n\nexport function GroupedTransition({\n transitions,\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n}: GroupedTransitionProps) {\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n duration,\n exitDuration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n });\n\n if (transitionDuration === 0) {\n return mounted ? <>{children({})}</> : null;\n }\n\n if (transitionStatus === 'exited') {\n return null;\n }\n\n const transitionsStyles = Object.keys(transitions).reduce((acc, transition) => {\n acc[transition] = getTransitionStyles({\n duration: transitions[transition].duration,\n transition: transitions[transition].transition,\n timingFunction: transitions[transition].timingFunction || transitionTimingFunction,\n state: transitionStatus,\n });\n\n return acc;\n }, {});\n\n return <>{children(transitionsStyles)}</>;\n}\n\nGroupedTransition.displayName = '@mantine/core/GroupedTransition';\n"],"names":["useTransition","React","getTransitionStyles"],"mappings":";;;;;;;;;;;;AAGO,SAAS,iBAAiB,CAAC;AAClC,EAAE,WAAW;AACb,EAAE,QAAQ,GAAG,GAAG;AAChB,EAAE,YAAY,GAAG,QAAQ;AACzB,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAGA,2BAAa,CAAC;AAC3F,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,kBAAkB,KAAK,CAAC,EAAE;AAChC,IAAI,OAAO,OAAO,mBAAmBC,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACpG,GAAG;AACH,EAAE,IAAI,gBAAgB,KAAK,QAAQ,EAAE;AACrC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK;AACjF,IAAI,GAAG,CAAC,UAAU,CAAC,GAAGC,uCAAmB,CAAC;AAC1C,MAAM,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ;AAChD,MAAM,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,UAAU;AACpD,MAAM,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,IAAI,wBAAwB;AACxF,MAAM,KAAK,EAAE,gBAAgB;AAC7B,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAChG,CAAC;AACD,iBAAiB,CAAC,WAAW,GAAG,iCAAiC;;;;"}
|
|
@@ -13,6 +13,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
13
13
|
function Transition({
|
|
14
14
|
transition,
|
|
15
15
|
duration = 250,
|
|
16
|
+
exitDuration = duration,
|
|
16
17
|
mounted,
|
|
17
18
|
children,
|
|
18
19
|
timingFunction,
|
|
@@ -23,6 +24,7 @@ function Transition({
|
|
|
23
24
|
}) {
|
|
24
25
|
const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition.useTransition({
|
|
25
26
|
mounted,
|
|
27
|
+
exitDuration,
|
|
26
28
|
duration,
|
|
27
29
|
timingFunction,
|
|
28
30
|
onExit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transition.js","sources":["../../../src/components/Transition/Transition.tsx"],"sourcesContent":["import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { useTransition } from './use-transition';\nimport { MantineTransition } from './transitions';\n\nexport interface TransitionProps {\n /** Predefined transition name or transition styles */\n transition: MantineTransition;\n\n /** Transition duration in ms */\n duration?: number;\n\n /** Transition timing function, defaults to theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** When true, component will be mounted */\n mounted: boolean;\n\n /** Render function with transition styles argument */\n children(styles: React.CSSProperties): React.ReactElement<any, any>;\n\n /** Calls when exit transition ends */\n onExited?: () => void;\n\n /** Calls when exit transition starts */\n onExit?: () => void;\n\n /** Calls when enter transition starts */\n onEnter?: () => void;\n\n /** Calls when enter transition ends */\n onEntered?: () => void;\n}\n\nexport function Transition({\n transition,\n duration = 250,\n mounted,\n children,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n}: TransitionProps) {\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n duration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n });\n\n if (transitionDuration === 0) {\n return mounted ? <>{children({})}</> : null;\n }\n\n return transitionStatus === 'exited' ? null : (\n <>\n {children(\n getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </>\n );\n}\n\nTransition.displayName = '@mantine/core/Transition';\n"],"names":["useTransition","React","getTransitionStyles"],"mappings":";;;;;;;;;;;;AAGO,SAAS,UAAU,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,QAAQ,GAAG,GAAG;AAChB,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAGA,2BAAa,CAAC;AAC3F,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,kBAAkB,KAAK,CAAC,EAAE;AAChC,IAAI,OAAO,OAAO,mBAAmBC,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACpG,GAAG;AACH,EAAE,OAAO,gBAAgB,KAAK,QAAQ,GAAG,IAAI,mBAAmBA,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAACC,uCAAmB,CAAC;AACvI,IAAI,UAAU;AACd,IAAI,QAAQ,EAAE,kBAAkB;AAChC,IAAI,KAAK,EAAE,gBAAgB;AAC3B,IAAI,cAAc,EAAE,wBAAwB;AAC5C,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
1
|
+
{"version":3,"file":"Transition.js","sources":["../../../src/components/Transition/Transition.tsx"],"sourcesContent":["import React from 'react';\nimport { getTransitionStyles } from './get-transition-styles/get-transition-styles';\nimport { useTransition } from './use-transition';\nimport { MantineTransition } from './transitions';\n\nexport interface TransitionProps {\n /** Predefined transition name or transition styles */\n transition: MantineTransition;\n\n /** Transition duration in ms */\n duration?: number;\n\n /** Exit transition duration in ms */\n exitDuration?: number;\n\n /** Transition timing function, defaults to theme.transitionTimingFunction */\n timingFunction?: string;\n\n /** When true, component will be mounted */\n mounted: boolean;\n\n /** Render function with transition styles argument */\n children(styles: React.CSSProperties): React.ReactElement<any, any>;\n\n /** Calls when exit transition ends */\n onExited?: () => void;\n\n /** Calls when exit transition starts */\n onExit?: () => void;\n\n /** Calls when enter transition starts */\n onEnter?: () => void;\n\n /** Calls when enter transition ends */\n onEntered?: () => void;\n}\n\nexport function Transition({\n transition,\n duration = 250,\n exitDuration = duration,\n mounted,\n children,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n}: TransitionProps) {\n const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({\n mounted,\n exitDuration,\n duration,\n timingFunction,\n onExit,\n onEntered,\n onEnter,\n onExited,\n });\n\n if (transitionDuration === 0) {\n return mounted ? <>{children({})}</> : null;\n }\n\n return transitionStatus === 'exited' ? null : (\n <>\n {children(\n getTransitionStyles({\n transition,\n duration: transitionDuration,\n state: transitionStatus,\n timingFunction: transitionTimingFunction,\n })\n )}\n </>\n );\n}\n\nTransition.displayName = '@mantine/core/Transition';\n"],"names":["useTransition","React","getTransitionStyles"],"mappings":";;;;;;;;;;;;AAGO,SAAS,UAAU,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,QAAQ,GAAG,GAAG;AAChB,EAAE,YAAY,GAAG,QAAQ;AACzB,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAGA,2BAAa,CAAC;AAC3F,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,kBAAkB,KAAK,CAAC,EAAE;AAChC,IAAI,OAAO,OAAO,mBAAmBC,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACpG,GAAG;AACH,EAAE,OAAO,gBAAgB,KAAK,QAAQ,GAAG,IAAI,mBAAmBA,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAACC,uCAAmB,CAAC;AACvI,IAAI,UAAU;AACd,IAAI,QAAQ,EAAE,kBAAkB;AAChC,IAAI,KAAK,EAAE,gBAAgB;AAC3B,IAAI,cAAc,EAAE,wBAAwB;AAC5C,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -8,6 +8,7 @@ var styles = require('@mantine/styles');
|
|
|
8
8
|
|
|
9
9
|
function useTransition({
|
|
10
10
|
duration,
|
|
11
|
+
exitDuration,
|
|
11
12
|
timingFunction,
|
|
12
13
|
mounted,
|
|
13
14
|
onEnter,
|
|
@@ -17,15 +18,17 @@ function useTransition({
|
|
|
17
18
|
}) {
|
|
18
19
|
const theme = styles.useMantineTheme();
|
|
19
20
|
const reduceMotion = hooks.useReducedMotion();
|
|
20
|
-
const transitionDuration = reduceMotion ? 0 : duration;
|
|
21
21
|
const [transitionStatus, setStatus] = React.useState(mounted ? "entered" : "exited");
|
|
22
|
+
const [transitionDuration, setTransitionDuration] = React.useState(reduceMotion ? 0 : duration);
|
|
22
23
|
const timeoutRef = React.useRef(-1);
|
|
23
24
|
const handleStateChange = (shouldMount) => {
|
|
24
25
|
const preHandler = shouldMount ? onEnter : onExit;
|
|
25
26
|
const handler = shouldMount ? onEntered : onExited;
|
|
26
27
|
setStatus(shouldMount ? "pre-entering" : "pre-exiting");
|
|
27
28
|
window.clearTimeout(timeoutRef.current);
|
|
28
|
-
|
|
29
|
+
const _duration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;
|
|
30
|
+
setTransitionDuration(_duration);
|
|
31
|
+
if (_duration === 0) {
|
|
29
32
|
typeof preHandler === "function" && preHandler();
|
|
30
33
|
typeof handler === "function" && handler();
|
|
31
34
|
setStatus(shouldMount ? "entered" : "exited");
|
|
@@ -38,7 +41,7 @@ function useTransition({
|
|
|
38
41
|
window.clearTimeout(preStateTimeout);
|
|
39
42
|
typeof handler === "function" && handler();
|
|
40
43
|
setStatus(shouldMount ? "entered" : "exited");
|
|
41
|
-
},
|
|
44
|
+
}, _duration);
|
|
42
45
|
}
|
|
43
46
|
};
|
|
44
47
|
hooks.useDidUpdate(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-transition.js","sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { useReducedMotion, useDidUpdate } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/styles';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?(): void;\n onExit?(): void;\n onEntered?(): void;\n onExited?(): void;\n}\n\nexport function useTransition({\n duration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n}: UseTransition) {\n const theme = useMantineTheme();\n const reduceMotion = useReducedMotion();\n const
|
|
1
|
+
{"version":3,"file":"use-transition.js","sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { useReducedMotion, useDidUpdate } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/styles';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?(): void;\n onExit?(): void;\n onEntered?(): void;\n onExited?(): void;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n}: UseTransition) {\n const theme = useMantineTheme();\n const reduceMotion = useReducedMotion();\n const [transitionStatus, setStatus] = useState<TransitionStatus>(mounted ? 'entered' : 'exited');\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const timeoutRef = useRef<number>(-1);\n\n const handleStateChange = (shouldMount: boolean) => {\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n window.clearTimeout(timeoutRef.current);\n const _duration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(_duration);\n\n if (_duration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n const preStateTimeout = window.setTimeout(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n }, 10);\n\n timeoutRef.current = window.setTimeout(() => {\n window.clearTimeout(preStateTimeout);\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, _duration);\n }\n };\n\n useDidUpdate(() => {\n handleStateChange(mounted);\n }, [mounted]);\n\n useEffect(() => () => window.clearTimeout(timeoutRef.current), []);\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || theme.transitionTimingFunction,\n };\n}\n"],"names":["useMantineTheme","useReducedMotion","useState","useRef","useDidUpdate","useEffect"],"mappings":";;;;;;;;AAGO,SAAS,aAAa,CAAC;AAC9B,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,cAAc;AAChB,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,KAAK,GAAGA,sBAAe,EAAE,CAAC;AAClC,EAAE,MAAM,YAAY,GAAGC,sBAAgB,EAAE,CAAC;AAC1C,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AACjF,EAAE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAGA,cAAQ,CAAC,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC5F,EAAE,MAAM,UAAU,GAAGC,YAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,EAAE,MAAM,iBAAiB,GAAG,CAAC,WAAW,KAAK;AAC7C,IAAI,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AACtD,IAAI,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvD,IAAI,SAAS,CAAC,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC,CAAC;AAC5D,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5C,IAAI,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAC/E,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACrC,IAAI,IAAI,SAAS,KAAK,CAAC,EAAE;AACzB,MAAM,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,EAAE,CAAC;AACvD,MAAM,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;AACjD,MAAM,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AACpD,KAAK,MAAM;AACX,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACtD,QAAQ,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,EAAE,CAAC;AACzD,QAAQ,SAAS,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AACxD,OAAO,EAAE,EAAE,CAAC,CAAC;AACb,MAAM,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACnD,QAAQ,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AAC7C,QAAQ,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;AACnD,QAAQ,SAAS,CAAC,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;AACtD,OAAO,EAAE,SAAS,CAAC,CAAC;AACpB,KAAK;AACL,GAAG,CAAC;AACJ,EAAEC,kBAAY,CAAC,MAAM;AACrB,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,EAAEC,eAAS,CAAC,MAAM,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,EAAE,OAAO;AACT,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,wBAAwB,EAAE,cAAc,IAAI,KAAK,CAAC,wBAAwB;AAC9E,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
function groupOptions({ data }) {
|
|
6
6
|
const sortedData = [];
|
|
7
|
-
const
|
|
7
|
+
const unGroupedData = [];
|
|
8
8
|
const groupedData = data.reduce((acc, item, index) => {
|
|
9
9
|
if (item.group) {
|
|
10
10
|
if (acc[item.group])
|
|
@@ -12,16 +12,16 @@ function groupSortData({ data }) {
|
|
|
12
12
|
else
|
|
13
13
|
acc[item.group] = [index];
|
|
14
14
|
} else {
|
|
15
|
-
|
|
15
|
+
unGroupedData.push(index);
|
|
16
16
|
}
|
|
17
17
|
return acc;
|
|
18
18
|
}, {});
|
|
19
19
|
Object.keys(groupedData).forEach((groupName) => {
|
|
20
20
|
sortedData.push(...groupedData[groupName].map((index) => data[index]));
|
|
21
21
|
});
|
|
22
|
-
sortedData.push(...
|
|
22
|
+
sortedData.push(...unGroupedData.map((itemIndex) => data[itemIndex]));
|
|
23
23
|
return sortedData;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
exports.
|
|
27
|
-
//# sourceMappingURL=group-
|
|
26
|
+
exports.groupOptions = groupOptions;
|
|
27
|
+
//# sourceMappingURL=group-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-options.js","sources":["../../../src/utils/group-options/group-options.ts"],"sourcesContent":["interface GroupData {\n data: { group?: string }[];\n}\n\nexport function groupOptions({ data }: GroupData) {\n const sortedData = [];\n const unGroupedData = [];\n const groupedData = data.reduce((acc, item, index) => {\n if (item.group) {\n if (acc[item.group]) acc[item.group].push(index);\n else acc[item.group] = [index];\n } else {\n unGroupedData.push(index);\n }\n return acc;\n }, {});\n\n Object.keys(groupedData).forEach((groupName) => {\n sortedData.push(...groupedData[groupName].map((index) => data[index]));\n });\n\n sortedData.push(...unGroupedData.map((itemIndex) => data[itemIndex]));\n\n return sortedData;\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;AACvC,EAAE,MAAM,UAAU,GAAG,EAAE,CAAC;AACxB,EAAE,MAAM,aAAa,GAAG,EAAE,CAAC;AAC3B,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,KAAK;AACxD,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AACpB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC;AACA,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK;AAClD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3E,GAAG,CAAC,CAAC;AACL,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACxE,EAAE,OAAO,UAAU,CAAC;AACpB;;;;"}
|
|
@@ -50,6 +50,7 @@ const Accordion = forwardRef((_a, ref) => {
|
|
|
50
50
|
iconPosition = "left",
|
|
51
51
|
offsetIcon = true,
|
|
52
52
|
iconSize = 24,
|
|
53
|
+
order = 3,
|
|
53
54
|
icon,
|
|
54
55
|
classNames,
|
|
55
56
|
styles,
|
|
@@ -66,6 +67,7 @@ const Accordion = forwardRef((_a, ref) => {
|
|
|
66
67
|
"iconPosition",
|
|
67
68
|
"offsetIcon",
|
|
68
69
|
"iconSize",
|
|
70
|
+
"order",
|
|
69
71
|
"icon",
|
|
70
72
|
"classNames",
|
|
71
73
|
"styles",
|
|
@@ -98,7 +100,8 @@ const Accordion = forwardRef((_a, ref) => {
|
|
|
98
100
|
onControlKeyDown: handleItemKeydown(index),
|
|
99
101
|
controlRef: mergeRefs(assignControlRef(index), (_c = item.props) == null ? void 0 : _c.controlRef),
|
|
100
102
|
offsetIcon,
|
|
101
|
-
iconSize
|
|
103
|
+
iconSize,
|
|
104
|
+
order
|
|
102
105
|
}));
|
|
103
106
|
});
|
|
104
107
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|