@mantine/core 5.4.2 → 5.5.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/cjs/ActionIcon/ActionIcon.js +1 -1
- package/cjs/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/AppShell/AppShell.styles.js +2 -2
- package/cjs/AppShell/AppShell.styles.js.map +1 -1
- package/cjs/AppShell/HorizontalSection/HorizontalSection.js +1 -1
- package/cjs/AppShell/HorizontalSection/HorizontalSection.js.map +1 -1
- package/cjs/AppShell/HorizontalSection/HorizontalSection.styles.js +2 -2
- package/cjs/AppShell/HorizontalSection/HorizontalSection.styles.js.map +1 -1
- package/cjs/Button/Button.js +1 -1
- package/cjs/Button/Button.js.map +1 -1
- package/cjs/Checkbox/Checkbox.js +37 -12
- package/cjs/Checkbox/Checkbox.js.map +1 -1
- package/cjs/Checkbox/Checkbox.styles.js +34 -11
- package/cjs/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/Grid/Col/Col.styles.js +1 -1
- package/cjs/Grid/Col/Col.styles.js.map +1 -1
- package/cjs/Input/InputWrapper/InputWrapper.js +7 -4
- package/cjs/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/List/List.js.map +1 -1
- package/cjs/List/ListItem/ListItem.styles.js +4 -1
- package/cjs/List/ListItem/ListItem.styles.js.map +1 -1
- package/cjs/MediaQuery/MediaQuery.styles.js +4 -4
- package/cjs/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/cjs/MultiSelect/MultiSelect.js +8 -9
- package/cjs/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/NumberInput/NumberInput.js +16 -2
- package/cjs/NumberInput/NumberInput.js.map +1 -1
- package/cjs/Popover/Popover.context.js.map +1 -1
- package/cjs/Popover/Popover.js +18 -7
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +3 -0
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Popover/use-popover.js +3 -0
- package/cjs/Popover/use-popover.js.map +1 -1
- package/cjs/Radio/Radio.js +25 -9
- package/cjs/Radio/Radio.js.map +1 -1
- package/cjs/Radio/Radio.styles.js +24 -11
- package/cjs/Radio/Radio.styles.js.map +1 -1
- package/cjs/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/SegmentedControl/SegmentedControl.js +2 -1
- package/cjs/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/Select/Select.js +3 -7
- package/cjs/Select/Select.js.map +1 -1
- package/cjs/Select/SelectItems/SelectItems.js +0 -1
- package/cjs/Select/SelectItems/SelectItems.js.map +1 -1
- package/cjs/Select/SelectItems/SelectItems.styles.js +5 -2
- package/cjs/Select/SelectItems/SelectItems.styles.js.map +1 -1
- package/cjs/Select/SelectPopover/SelectPopover.styles.js +2 -1
- package/cjs/Select/SelectPopover/SelectPopover.styles.js.map +1 -1
- package/cjs/SimpleGrid/SimpleGrid.styles.js +1 -1
- package/cjs/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/cjs/Slider/RangeSlider/RangeSlider.js +5 -2
- package/cjs/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/Slider/Slider/Slider.js +5 -2
- package/cjs/Slider/Slider/Slider.js.map +1 -1
- package/cjs/Slider/Track/Track.js +5 -3
- package/cjs/Slider/Track/Track.js.map +1 -1
- package/cjs/Slider/Track/Track.styles.js +3 -3
- package/cjs/Slider/Track/Track.styles.js.map +1 -1
- package/cjs/Stepper/Stepper.styles.js +2 -2
- package/cjs/Stepper/Stepper.styles.js.map +1 -1
- package/cjs/Switch/Switch.js +27 -12
- package/cjs/Switch/Switch.js.map +1 -1
- package/cjs/Switch/Switch.styles.js +20 -9
- package/cjs/Switch/Switch.styles.js.map +1 -1
- package/cjs/Tabs/Tabs.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +7 -3
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/Tooltip/use-tooltip.js +2 -3
- package/cjs/Tooltip/use-tooltip.js.map +1 -1
- package/esm/ActionIcon/ActionIcon.js +1 -1
- package/esm/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/AppShell/AppShell.styles.js +2 -2
- package/esm/AppShell/AppShell.styles.js.map +1 -1
- package/esm/AppShell/HorizontalSection/HorizontalSection.js +1 -1
- package/esm/AppShell/HorizontalSection/HorizontalSection.js.map +1 -1
- package/esm/AppShell/HorizontalSection/HorizontalSection.styles.js +2 -2
- package/esm/AppShell/HorizontalSection/HorizontalSection.styles.js.map +1 -1
- package/esm/Button/Button.js +1 -1
- package/esm/Button/Button.js.map +1 -1
- package/esm/Checkbox/Checkbox.js +37 -12
- package/esm/Checkbox/Checkbox.js.map +1 -1
- package/esm/Checkbox/Checkbox.styles.js +34 -11
- package/esm/Checkbox/Checkbox.styles.js.map +1 -1
- package/esm/Grid/Col/Col.styles.js +1 -1
- package/esm/Grid/Col/Col.styles.js.map +1 -1
- package/esm/Input/InputWrapper/InputWrapper.js +7 -4
- package/esm/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/esm/List/List.js.map +1 -1
- package/esm/List/ListItem/ListItem.styles.js +4 -1
- package/esm/List/ListItem/ListItem.styles.js.map +1 -1
- package/esm/MediaQuery/MediaQuery.styles.js +4 -4
- package/esm/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/esm/MultiSelect/MultiSelect.js +8 -9
- package/esm/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/NumberInput/NumberInput.js +16 -2
- package/esm/NumberInput/NumberInput.js.map +1 -1
- package/esm/Popover/Popover.context.js.map +1 -1
- package/esm/Popover/Popover.js +19 -8
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +3 -0
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Popover/use-popover.js +4 -1
- package/esm/Popover/use-popover.js.map +1 -1
- package/esm/Radio/Radio.js +25 -9
- package/esm/Radio/Radio.js.map +1 -1
- package/esm/Radio/Radio.styles.js +24 -11
- package/esm/Radio/Radio.styles.js.map +1 -1
- package/esm/ScrollArea/ScrollArea.js.map +1 -1
- package/esm/SegmentedControl/SegmentedControl.js +2 -1
- package/esm/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/Select/Select.js +3 -7
- package/esm/Select/Select.js.map +1 -1
- package/esm/Select/SelectItems/SelectItems.js +0 -1
- package/esm/Select/SelectItems/SelectItems.js.map +1 -1
- package/esm/Select/SelectItems/SelectItems.styles.js +5 -2
- package/esm/Select/SelectItems/SelectItems.styles.js.map +1 -1
- package/esm/Select/SelectPopover/SelectPopover.styles.js +2 -1
- package/esm/Select/SelectPopover/SelectPopover.styles.js.map +1 -1
- package/esm/SimpleGrid/SimpleGrid.styles.js +1 -1
- package/esm/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/esm/Slider/RangeSlider/RangeSlider.js +5 -2
- package/esm/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/Slider/Slider/Slider.js +5 -2
- package/esm/Slider/Slider/Slider.js.map +1 -1
- package/esm/Slider/Track/Track.js +5 -3
- package/esm/Slider/Track/Track.js.map +1 -1
- package/esm/Slider/Track/Track.styles.js +3 -3
- package/esm/Slider/Track/Track.styles.js.map +1 -1
- package/esm/Stepper/Stepper.styles.js +2 -2
- package/esm/Stepper/Stepper.styles.js.map +1 -1
- package/esm/Switch/Switch.js +27 -12
- package/esm/Switch/Switch.js.map +1 -1
- package/esm/Switch/Switch.styles.js +20 -9
- package/esm/Switch/Switch.styles.js.map +1 -1
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +7 -3
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/Tooltip/use-tooltip.js +3 -4
- package/esm/Tooltip/use-tooltip.js.map +1 -1
- package/lib/AppShell/HorizontalSection/HorizontalSection.styles.d.ts.map +1 -1
- package/lib/Checkbox/Checkbox.d.ts +6 -0
- package/lib/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/Checkbox/Checkbox.styles.d.ts +5 -2
- package/lib/Checkbox/Checkbox.styles.d.ts.map +1 -1
- package/lib/Input/InputWrapper/InputWrapper.d.ts.map +1 -1
- package/lib/List/List.d.ts +1 -1
- package/lib/List/List.d.ts.map +1 -1
- package/lib/List/ListItem/ListItem.styles.d.ts.map +1 -1
- package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/NumberInput/NumberInput.d.ts +2 -0
- package/lib/NumberInput/NumberInput.d.ts.map +1 -1
- package/lib/Popover/Popover.context.d.ts +1 -0
- package/lib/Popover/Popover.context.d.ts.map +1 -1
- package/lib/Popover/Popover.d.ts +2 -0
- package/lib/Popover/Popover.d.ts.map +1 -1
- package/lib/Popover/Popover.types.d.ts +1 -0
- package/lib/Popover/Popover.types.d.ts.map +1 -1
- package/lib/Popover/PopoverDropdown/PopoverDropdown.d.ts.map +1 -1
- package/lib/Popover/use-popover.d.ts.map +1 -1
- package/lib/Radio/Radio.d.ts +6 -0
- package/lib/Radio/Radio.d.ts.map +1 -1
- package/lib/Radio/Radio.styles.d.ts +4 -2
- package/lib/Radio/Radio.styles.d.ts.map +1 -1
- package/lib/ScrollArea/ScrollArea.d.ts +2 -2
- package/lib/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/Select/Select.d.ts.map +1 -1
- package/lib/Select/SelectItems/SelectItems.styles.d.ts.map +1 -1
- package/lib/Select/SelectPopover/SelectPopover.styles.d.ts.map +1 -1
- package/lib/Select/SelectScrollArea/SelectScrollArea.d.ts +1 -1
- package/lib/Select/SelectScrollArea/SelectScrollArea.d.ts.map +1 -1
- package/lib/Slider/RangeSlider/RangeSlider.d.ts +2 -0
- package/lib/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/lib/Slider/Slider/Slider.d.ts +2 -0
- package/lib/Slider/Slider/Slider.d.ts.map +1 -1
- package/lib/Slider/Track/Track.d.ts +2 -1
- package/lib/Slider/Track/Track.d.ts.map +1 -1
- package/lib/Slider/Track/Track.styles.d.ts +1 -0
- package/lib/Slider/Track/Track.styles.d.ts.map +1 -1
- package/lib/Switch/Switch.d.ts +7 -1
- package/lib/Switch/Switch.d.ts.map +1 -1
- package/lib/Switch/Switch.styles.d.ts +4 -2
- package/lib/Switch/Switch.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts +1 -1
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tooltip/Tooltip.d.ts +2 -0
- package/lib/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/Tooltip/use-tooltip.d.ts +1 -0
- package/lib/Tooltip/use-tooltip.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","sources":["../../src/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport {\n DefaultProps,\n Selectors,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents, packSx } from '@mantine/utils';\nimport { Box } from '../Box';\nimport useStyles, { ScrollAreaStylesParams } from './ScrollArea.styles';\n\nexport type ScrollAreaStylesNames = Selectors<typeof useStyles>;\n\nexport interface ScrollAreaProps\n extends DefaultProps<ScrollAreaStylesNames, ScrollAreaStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Scrollbar size in px */\n scrollbarSize?: number;\n\n /** Scrollbars type */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, for scroll and hover types only */\n scrollHideDelay?: number;\n\n /** Reading direction of the scroll area */\n dir?: 'ltr' | 'rtl';\n\n /** Should scrollbars be offset with padding */\n offsetScrollbars?: boolean;\n\n /** Get viewport ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Subscribe to scroll position changes */\n onScrollPositionChange?(position: { x: number; y: number }): void;\n}\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollbarSize: 12,\n scrollHideDelay: 1000,\n type: 'hover',\n offsetScrollbars: false,\n};\n\nexport const _ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>((props, ref) => {\n const {\n children,\n className,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n ...others\n } = useComponentDefaultProps('ScrollArea', defaultProps, props);\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const theme = useMantineTheme();\n const { classes, cx } = useStyles(\n { scrollbarSize, offsetScrollbars, scrollbarHovered, hidden: type === 'never' },\n { name: 'ScrollArea', classNames, styles, unstyled }\n );\n\n return (\n <RadixScrollArea.Root\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n dir={dir || theme.dir}\n ref={ref}\n asChild\n >\n <Box className={cx(classes.root, className)} {...others}>\n <RadixScrollArea.Viewport\n className={classes.viewport}\n ref={viewportRef}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n orientation=\"horizontal\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n orientation=\"vertical\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={classes.corner} />\n </Box>\n </RadixScrollArea.Root>\n );\n}) as any;\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {\n maxHeight: React.CSSProperties['maxHeight'];\n}\n\nconst ScrollAreaAutosize = forwardRef<HTMLDivElement, ScrollAreaAutosizeProps>((props, ref) => {\n const {\n maxHeight,\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n sx,\n ...others\n } = useComponentDefaultProps<ScrollAreaAutosizeProps>('ScrollAreaAutosize', defaultProps, props);\n return (\n <Box {...others} ref={ref} sx={[{ display: 'flex', maxHeight }, ...packSx(sx)]}>\n <Box sx={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <_ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n >\n {children}\n </_ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\n_ScrollArea.displayName = '@mantine/core/ScrollArea';\n_ScrollArea.Autosize = ScrollAreaAutosize;\n\nexport const ScrollArea: ForwardRefWithStaticComponents<\n ScrollAreaProps,\n {\n Autosize: typeof ScrollAreaAutosize;\n }\n> = _ScrollArea;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScrollArea.js","sources":["../../src/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport {\n DefaultProps,\n Selectors,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents, packSx } from '@mantine/utils';\nimport { Box } from '../Box';\nimport useStyles, { ScrollAreaStylesParams } from './ScrollArea.styles';\n\nexport type ScrollAreaStylesNames = Selectors<typeof useStyles>;\n\nexport interface ScrollAreaProps\n extends DefaultProps<ScrollAreaStylesNames, ScrollAreaStylesParams>,\n React.ComponentPropsWithRef<'div'> {\n /** Scrollbar size in px */\n scrollbarSize?: number;\n\n /** Scrollbars type */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, for scroll and hover types only */\n scrollHideDelay?: number;\n\n /** Reading direction of the scroll area */\n dir?: 'ltr' | 'rtl';\n\n /** Should scrollbars be offset with padding */\n offsetScrollbars?: boolean;\n\n /** Get viewport ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Subscribe to scroll position changes */\n onScrollPositionChange?(position: { x: number; y: number }): void;\n}\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollbarSize: 12,\n scrollHideDelay: 1000,\n type: 'hover',\n offsetScrollbars: false,\n};\n\nexport const _ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>((props, ref) => {\n const {\n children,\n className,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n ...others\n } = useComponentDefaultProps('ScrollArea', defaultProps, props);\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n const theme = useMantineTheme();\n const { classes, cx } = useStyles(\n { scrollbarSize, offsetScrollbars, scrollbarHovered, hidden: type === 'never' },\n { name: 'ScrollArea', classNames, styles, unstyled }\n );\n\n return (\n <RadixScrollArea.Root\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n dir={dir || theme.dir}\n ref={ref}\n asChild\n >\n <Box className={cx(classes.root, className)} {...others}>\n <RadixScrollArea.Viewport\n className={classes.viewport}\n ref={viewportRef}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n orientation=\"horizontal\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n orientation=\"vertical\"\n className={classes.scrollbar}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <RadixScrollArea.Thumb className={classes.thumb} />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={classes.corner} />\n </Box>\n </RadixScrollArea.Root>\n );\n}) as any;\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {\n maxHeight: React.CSSProperties['maxHeight'];\n}\n\nconst ScrollAreaAutosize = forwardRef<HTMLDivElement, ScrollAreaAutosizeProps>((props, ref) => {\n const {\n maxHeight,\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n sx,\n ...others\n } = useComponentDefaultProps<ScrollAreaAutosizeProps>('ScrollAreaAutosize', defaultProps, props);\n return (\n <Box {...others} ref={ref} sx={[{ display: 'flex', maxHeight }, ...packSx(sx)]}>\n <Box sx={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <_ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n >\n {children}\n </_ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\n_ScrollArea.displayName = '@mantine/core/ScrollArea';\n_ScrollArea.Autosize = ScrollAreaAutosize;\n\nexport const ScrollArea: ForwardRefWithStaticComponents<\n ScrollAreaProps,\n {\n Autosize: typeof ScrollAreaAutosize;\n }\n> = _ScrollArea;\n"],"names":[],"mappings":"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"}
|
|
@@ -155,12 +155,13 @@ const SegmentedControl = forwardRef((props, ref) => {
|
|
|
155
155
|
refs.current[item.value] = node;
|
|
156
156
|
}
|
|
157
157
|
}, item.label)));
|
|
158
|
+
const mergedRef = useMergedRef(observerRef, ref);
|
|
158
159
|
if (data.length === 0) {
|
|
159
160
|
return null;
|
|
160
161
|
}
|
|
161
162
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
162
163
|
className: cx(classes.root, className),
|
|
163
|
-
ref:
|
|
164
|
+
ref: mergedRef
|
|
164
165
|
}, others), typeof _value === "string" && shouldAnimate && /* @__PURE__ */ React.createElement(Box, {
|
|
165
166
|
component: "span",
|
|
166
167
|
className: classes.active,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.js","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, forwardRef } from 'react';\nimport {\n useReducedMotion,\n useResizeObserver,\n useUncontrolled,\n useId,\n useMergedRef,\n useIsomorphicEffect,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n useMantineTheme,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, {\n WRAPPER_PADDING,\n SegmentedControlStylesParams,\n} from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport type SegmentedControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface SegmentedControlProps\n extends DefaultProps<SegmentedControlStylesNames, SegmentedControlStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Data based on which controls are rendered */\n data: string[] | SegmentedControlItem[];\n\n /** Current selected value */\n value?: string;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n\n /** Display Vertically */\n orientation?: 'vertical' | 'horizontal';\n}\n\nconst defaultProps: Partial<SegmentedControlProps> = {\n disabled: false,\n size: 'sm',\n transitionDuration: 200,\n};\n\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>((props, ref) => {\n const {\n className,\n disabled,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius,\n size,\n transitionDuration,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n orientation,\n unstyled,\n ...others\n } = useComponentDefaultProps('SegmentedControl', defaultProps, props);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n\n const data = _data.map(\n (item: string | SegmentedControlItem): SegmentedControlItem =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n const mounted = useRef<Boolean>();\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? data.find((item) => !item.disabled)?.value ?? data[0]?.value ?? null\n : null,\n onChange,\n });\n\n const { classes, cx } = useStyles(\n {\n size,\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation,\n },\n { classNames, styles, unstyled, name: 'SegmentedControl' }\n );\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useIsomorphicEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n setShouldAnimate(false);\n } else {\n setShouldAnimate(true);\n }\n });\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = elementRect.width * scaledValue || 0;\n const height = elementRect.height * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n theme.dir === 'rtl' ? offsetRight : offsetLeft,\n element.parentElement.offsetTop - WRAPPER_PADDING,\n ],\n });\n }\n }, [_value, containerRect]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => handleValueChange(item.value)}\n />\n\n <label\n className={cx(classes.label, {\n [classes.labelActive]: _value === item.value,\n [classes.disabled]: disabled || item.disabled,\n })}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box className={cx(classes.root, className)} ref={useMergedRef(observerRef, ref)} {...others}>\n {typeof _value === 'string' && shouldAnimate && (\n <Box\n component=\"span\"\n className={classes.active}\n sx={{\n width: activePosition.width,\n height: activePosition.height,\n transform: `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px )`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, forwardRef } from 'react';\nimport {\n useReducedMotion,\n useResizeObserver,\n useUncontrolled,\n useId,\n useMergedRef,\n useIsomorphicEffect,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n useMantineTheme,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, {\n WRAPPER_PADDING,\n SegmentedControlStylesParams,\n} from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport type SegmentedControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface SegmentedControlProps\n extends DefaultProps<SegmentedControlStylesNames, SegmentedControlStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Data based on which controls are rendered */\n data: string[] | SegmentedControlItem[];\n\n /** Current selected value */\n value?: string;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n\n /** Display Vertically */\n orientation?: 'vertical' | 'horizontal';\n}\n\nconst defaultProps: Partial<SegmentedControlProps> = {\n disabled: false,\n size: 'sm',\n transitionDuration: 200,\n};\n\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>((props, ref) => {\n const {\n className,\n disabled,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius,\n size,\n transitionDuration,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n orientation,\n unstyled,\n ...others\n } = useComponentDefaultProps('SegmentedControl', defaultProps, props);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n\n const data = _data.map(\n (item: string | SegmentedControlItem): SegmentedControlItem =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n const mounted = useRef<Boolean>();\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? data.find((item) => !item.disabled)?.value ?? data[0]?.value ?? null\n : null,\n onChange,\n });\n\n const { classes, cx } = useStyles(\n {\n size,\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation,\n },\n { classNames, styles, unstyled, name: 'SegmentedControl' }\n );\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useIsomorphicEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n setShouldAnimate(false);\n } else {\n setShouldAnimate(true);\n }\n });\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = elementRect.width * scaledValue || 0;\n const height = elementRect.height * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n theme.dir === 'rtl' ? offsetRight : offsetLeft,\n element.parentElement.offsetTop - WRAPPER_PADDING,\n ],\n });\n }\n }, [_value, containerRect]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => handleValueChange(item.value)}\n />\n\n <label\n className={cx(classes.label, {\n [classes.labelActive]: _value === item.value,\n [classes.disabled]: disabled || item.disabled,\n })}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n const mergedRef = useMergedRef(observerRef, ref);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box className={cx(classes.root, className)} ref={mergedRef} {...others}>\n {typeof _value === 'string' && shouldAnimate && (\n <Box\n component=\"span\"\n className={classes.active}\n sx={{\n width: activePosition.width,\n height: activePosition.height,\n transform: `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px )`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":[],"mappings":"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"}
|
package/esm/Select/Select.js
CHANGED
|
@@ -427,12 +427,8 @@ const Select = forwardRef((props, ref) => {
|
|
|
427
427
|
};
|
|
428
428
|
const handleInputClick = () => {
|
|
429
429
|
if (!readOnly) {
|
|
430
|
-
|
|
431
|
-
if (!
|
|
432
|
-
dropdownOpen = !dropdownOpened;
|
|
433
|
-
}
|
|
434
|
-
setDropdownOpened(dropdownOpen);
|
|
435
|
-
if (_value && dropdownOpen) {
|
|
430
|
+
setDropdownOpened(!dropdownOpened);
|
|
431
|
+
if (_value && !dropdownOpened) {
|
|
436
432
|
setHovered(selectedItemIndex);
|
|
437
433
|
scrollSelectedItemIntoView();
|
|
438
434
|
}
|
|
@@ -483,7 +479,7 @@ const Select = forwardRef((props, ref) => {
|
|
|
483
479
|
"aria-autocomplete": "list",
|
|
484
480
|
"aria-controls": shouldShowDropdown ? `${inputProps.id}-items` : null,
|
|
485
481
|
"aria-activedescendant": hovered >= 0 ? `${inputProps.id}-${hovered}` : null,
|
|
486
|
-
|
|
482
|
+
onMouseDown: handleInputClick,
|
|
487
483
|
onBlur: handleInputBlur,
|
|
488
484
|
onFocus: handleInputFocus,
|
|
489
485
|
readOnly: !searchable || readOnly,
|
package/esm/Select/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate, useScrollIntoView } from '@mantine/hooks';\nimport { DefaultProps, MantineSize, MantineShadow, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { Input, useInputProps } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectPopover } from './SelectPopover/SelectPopover';\nimport { SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectSharedProps<Item, Value> {\n /** Select data used to renderer items in dropdown */\n data: (string | Item)[];\n\n /** Controlled input value */\n value?: Value;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: Value;\n\n /** Controlled input onChange handler */\n onChange?(value: Value): void;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: Item): boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n\n /** Whether to switch item order and keyboard navigation on dropdown position flip */\n switchDirectionOnFlip?: boolean;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n}\n\nexport interface SelectProps\n extends DefaultProps<BaseSelectStylesNames>,\n BaseSelectProps,\n SelectSharedProps<SelectItem, string | null> {\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\n\n /** Controlled search input value */\n searchValue?: string;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?(query: string): React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?(query: string, data: SelectItem[]): boolean;\n\n /** Called when create option is selected */\n onCreate?(query: string): SelectItem | string | null | undefined;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Select highlighted item on blur */\n selectOnBlur?: boolean;\n\n /** Allow deselecting items on click */\n allowDeselect?: boolean;\n\n /** Should data be filtered when search value exactly matches selected item */\n filterDataOnExactSearchMatch?: boolean;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.label.toLowerCase() === query.toLowerCase());\n}\n\nconst defaultProps: Partial<SelectProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n itemComponent: DefaultItem,\n transition: 'fade',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n maxDropdownHeight: 220,\n searchable: false,\n clearable: false,\n limit: Infinity,\n disabled: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n selectOnBlur: false,\n switchDirectionOnFlip: false,\n filterDataOnExactSearchMatch: false,\n zIndex: getDefaultZIndex('popover'),\n clearButtonTabIndex: 0,\n positionDependencies: [],\n dropdownPosition: 'flip',\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n value,\n defaultValue,\n onChange,\n itemComponent,\n onKeyDown,\n onBlur,\n onFocus,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n unstyled,\n classNames,\n styles,\n filter,\n maxDropdownHeight,\n searchable,\n clearable,\n nothingFound,\n clearButtonLabel,\n limit,\n disabled,\n onSearchChange,\n searchValue,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n selectOnBlur,\n onCreate,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n name,\n dropdownPosition,\n allowDeselect,\n placeholder,\n filterDataOnExactSearchMatch,\n clearButtonTabIndex,\n form,\n positionDependencies,\n readOnly,\n ...others\n } = useInputProps('Select', defaultProps, props);\n\n const { classes, cx, theme } = useStyles();\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isDeselectable = allowDeselect === undefined ? clearable : allowDeselect;\n\n const setDropdownOpened = (opened: boolean) => {\n if (dropdownOpened !== opened) {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n }\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupOptions({ data: formattedData });\n\n const [_value, handleChange, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n\n const [inputValue, setInputValue] = useUncontrolled({\n value: searchValue,\n defaultValue: selectedValue?.label || '',\n finalValue: undefined,\n onChange: onSearchChange,\n });\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n if (!readOnly) {\n handleChange(null);\n if (!controlled) {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n useEffect(() => {\n if (selectedValue && (!searchable || !dropdownOpened)) {\n handleSearchChange(selectedValue.label);\n }\n }, [selectedValue?.label]);\n\n const handleItemSelect = (item: SelectItem) => {\n if (!readOnly) {\n if (isDeselectable && selectedValue?.value === item.value) {\n handleChange(null);\n setDropdownOpened(false);\n } else {\n if (item.creatable && typeof onCreate === 'function') {\n const createdItem = onCreate(item.value);\n if (typeof createdItem !== 'undefined' && createdItem !== null) {\n if (typeof createdItem === 'string') {\n handleChange(createdItem);\n } else {\n handleChange(createdItem.value);\n }\n }\n } else {\n handleChange(item.value);\n }\n\n if (!controlled) {\n handleSearchChange(item.label);\n }\n\n setHovered(-1);\n setDropdownOpened(false);\n inputRef.current.focus();\n }\n }\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n filterDataOnExactSearchMatch,\n value: _value,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\n }\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Home': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'End': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case ' ': {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n if (!searchable) {\n event.preventDefault();\n }\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(-1);\n setDropdownOpened(true);\n }\n };\n\n const handleInputClick = () => {\n if (!readOnly) {\n let dropdownOpen = true;\n\n if (!searchable) {\n dropdownOpen = !dropdownOpened;\n }\n\n setDropdownOpened(dropdownOpen);\n\n if (_value && dropdownOpen) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n };\n\n const shouldShowDropdown =\n !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Select\">\n <SelectPopover\n opened={shouldShowDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Select\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <SelectPopover.Target>\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <input type=\"hidden\" name={name} value={_value || ''} form={form} disabled={disabled} />\n\n <Input<'input'>\n autoComplete=\"off\"\n type=\"search\"\n {...inputProps}\n {...others}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable || readOnly}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n name={null}\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, (classNames as any)?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size: inputProps.size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error: wrapperProps.error,\n clearButtonTabIndex,\n disabled,\n readOnly,\n })}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n innerRef={scrollableRef}\n __staticSelector=\"Select\"\n classNames={classNames}\n styles={styles}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={inputProps.id}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n aria-label={wrapperProps.label}\n unstyled={unstyled}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate, useScrollIntoView } from '@mantine/hooks';\nimport { DefaultProps, MantineSize, MantineShadow, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { Input, useInputProps } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectPopover } from './SelectPopover/SelectPopover';\nimport { SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectSharedProps<Item, Value> {\n /** Select data used to renderer items in dropdown */\n data: (string | Item)[];\n\n /** Controlled input value */\n value?: Value;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: Value;\n\n /** Controlled input onChange handler */\n onChange?(value: Value): void;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: Item): boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n\n /** Whether to switch item order and keyboard navigation on dropdown position flip */\n switchDirectionOnFlip?: boolean;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n}\n\nexport interface SelectProps\n extends DefaultProps<BaseSelectStylesNames>,\n BaseSelectProps,\n SelectSharedProps<SelectItem, string | null> {\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\n\n /** Controlled search input value */\n searchValue?: string;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?(query: string): React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?(query: string, data: SelectItem[]): boolean;\n\n /** Called when create option is selected */\n onCreate?(query: string): SelectItem | string | null | undefined;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Select highlighted item on blur */\n selectOnBlur?: boolean;\n\n /** Allow deselecting items on click */\n allowDeselect?: boolean;\n\n /** Should data be filtered when search value exactly matches selected item */\n filterDataOnExactSearchMatch?: boolean;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.label.toLowerCase() === query.toLowerCase());\n}\n\nconst defaultProps: Partial<SelectProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n itemComponent: DefaultItem,\n transition: 'fade',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n maxDropdownHeight: 220,\n searchable: false,\n clearable: false,\n limit: Infinity,\n disabled: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n selectOnBlur: false,\n switchDirectionOnFlip: false,\n filterDataOnExactSearchMatch: false,\n zIndex: getDefaultZIndex('popover'),\n clearButtonTabIndex: 0,\n positionDependencies: [],\n dropdownPosition: 'flip',\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n value,\n defaultValue,\n onChange,\n itemComponent,\n onKeyDown,\n onBlur,\n onFocus,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n unstyled,\n classNames,\n styles,\n filter,\n maxDropdownHeight,\n searchable,\n clearable,\n nothingFound,\n clearButtonLabel,\n limit,\n disabled,\n onSearchChange,\n searchValue,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n selectOnBlur,\n onCreate,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n name,\n dropdownPosition,\n allowDeselect,\n placeholder,\n filterDataOnExactSearchMatch,\n clearButtonTabIndex,\n form,\n positionDependencies,\n readOnly,\n ...others\n } = useInputProps('Select', defaultProps, props);\n\n const { classes, cx, theme } = useStyles();\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isDeselectable = allowDeselect === undefined ? clearable : allowDeselect;\n\n const setDropdownOpened = (opened: boolean) => {\n if (dropdownOpened !== opened) {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n }\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupOptions({ data: formattedData });\n\n const [_value, handleChange, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n\n const [inputValue, setInputValue] = useUncontrolled({\n value: searchValue,\n defaultValue: selectedValue?.label || '',\n finalValue: undefined,\n onChange: onSearchChange,\n });\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n if (!readOnly) {\n handleChange(null);\n if (!controlled) {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n useEffect(() => {\n if (selectedValue && (!searchable || !dropdownOpened)) {\n handleSearchChange(selectedValue.label);\n }\n }, [selectedValue?.label]);\n\n const handleItemSelect = (item: SelectItem) => {\n if (!readOnly) {\n if (isDeselectable && selectedValue?.value === item.value) {\n handleChange(null);\n setDropdownOpened(false);\n } else {\n if (item.creatable && typeof onCreate === 'function') {\n const createdItem = onCreate(item.value);\n if (typeof createdItem !== 'undefined' && createdItem !== null) {\n if (typeof createdItem === 'string') {\n handleChange(createdItem);\n } else {\n handleChange(createdItem.value);\n }\n }\n } else {\n handleChange(item.value);\n }\n\n if (!controlled) {\n handleSearchChange(item.label);\n }\n\n setHovered(-1);\n setDropdownOpened(false);\n inputRef.current.focus();\n }\n }\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n filterDataOnExactSearchMatch,\n value: _value,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\n }\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Home': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'End': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case ' ': {\n if (!searchable) {\n event.preventDefault();\n if (filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n if (!searchable) {\n event.preventDefault();\n }\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(-1);\n setDropdownOpened(true);\n }\n };\n\n const handleInputClick = () => {\n if (!readOnly) {\n setDropdownOpened(!dropdownOpened);\n\n if (_value && !dropdownOpened) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n };\n\n const shouldShowDropdown =\n !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Select\">\n <SelectPopover\n opened={shouldShowDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Select\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <SelectPopover.Target>\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <input type=\"hidden\" name={name} value={_value || ''} form={form} disabled={disabled} />\n\n <Input<'input'>\n autoComplete=\"off\"\n type=\"search\"\n {...inputProps}\n {...others}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n onMouseDown={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable || readOnly}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n name={null}\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, (classNames as any)?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size: inputProps.size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error: wrapperProps.error,\n clearButtonTabIndex,\n disabled,\n readOnly,\n })}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n innerRef={scrollableRef}\n __staticSelector=\"Select\"\n classNames={classNames}\n styles={styles}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={inputProps.id}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n aria-label={wrapperProps.label}\n unstyled={unstyled}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAaK,SAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AACM,SAAS,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE;AACjD,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,aAAa,EAAE,WAAW;AAC5B,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,eAAe,EAAE,KAAK;AACxB,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,KAAK,EAAE,QAAQ;AACjB,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,YAAY,EAAE,mBAAmB;AACnC,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,qBAAqB,EAAE,KAAK;AAC9B,EAAE,4BAA4B,EAAE,KAAK;AACrC,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;AACrC,EAAE,mBAAmB,EAAE,CAAC;AACxB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,gBAAgB,EAAE,MAAM;AAC1B,CAAC,CAAC;AACU,MAAC,MAAM,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACjD,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC3D,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,wBAAwB;AAC5B,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,4BAA4B;AAChC,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,oBAAoB;AACxB,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,0BAA0B;AAC9B,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,mBAAmB;AACvB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,uBAAuB;AAC3B,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,8BAA8B;AAClC,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,sBAAsB;AAC1B,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;AAC7C,EAAE,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;AAC1C,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;AACzE,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,aAAa,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;AAC9E,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,IAAI,cAAc,KAAK,MAAM,EAAE;AACnC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,eAAe,CAAC;AAChE,MAAM,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;AACjD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AACxE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC;AACzB,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAC3D,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAC7D,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,eAAe,CAAC;AACtD,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,YAAY,EAAE,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,KAAK,EAAE;AAC9E,IAAI,UAAU,EAAE,KAAK,CAAC;AACtB,IAAI,QAAQ,EAAE,cAAc;AAC5B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,UAAU,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AAC5D,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;AAC1B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,CAAC,UAAU,EAAE;AACvB,QAAQ,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,OAAO;AACP,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC9D,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjD,KAAK,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;AACxC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,aAAa,KAAK,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,EAAE;AAC3D,MAAM,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9C,KAAK;AACL,GAAG,EAAE,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,EAAE,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,IAAI,cAAc,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;AACnG,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC9D,UAAU,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnD,UAAU,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,IAAI,EAAE;AAC1E,YAAY,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACjD,cAAc,YAAY,CAAC,WAAW,CAAC,CAAC;AACxC,aAAa,MAAM;AACnB,cAAc,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9C,aAAa;AACb,WAAW;AACX,SAAS,MAAM;AACf,UAAU,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAS;AACT,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAS;AACT,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACjC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,UAAU,CAAC;AAClC,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,MAAM;AACV,IAAI,4BAA4B;AAChC,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,IAAI,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;AAC7D,IAAI,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAK;AACvD,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;AAClB,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;AACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ;AACnC,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7F,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1F,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChH,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,0BAA0B,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM;AACnE,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAChH,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9D,GAAG,EAAE,CAAC,CAAC,CAAC;AACR,EAAE,MAAM,kBAAkB,GAAG,CAAC,KAAK,KAAK;AACxC,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,IAAI,QAAQ,KAAK,CAAC,GAAG;AACrB,MAAM,KAAK,SAAS,EAAE;AACtB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,WAAW;AACX,UAAU,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClF,UAAU,UAAU,CAAC,cAAc,CAAC,CAAC;AACrC,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,KAAK,EAAE;AAClB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,WAAW;AACX,UAAU,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC/F,UAAU,UAAU,CAAC,aAAa,CAAC,CAAC;AACpC,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,GAAG,EAAE;AAChB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACvD,YAAY,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,WAAW,MAAM;AACjB,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,YAAY,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC1C,YAAY,0BAA0B,EAAE,CAAC;AACzC,WAAW;AACX,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,OAAO,EAAE;AACpB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,SAAS;AACT,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACrD,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACtE,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACjE,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,kBAAkB,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAC3E,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,0BAA0B,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;AACzD,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,OAAO;AACP,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;AACzC,MAAM,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE;AACrC,QAAQ,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,QAAQ,0BAA0B,EAAE,CAAC;AACrC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACxH,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC5G,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;AACzD,IAAI,MAAM,EAAE,kBAAkB;AAC9B,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY;AAChB,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,iBAAiB,EAAE,YAAY;AACnC,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChH,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,eAAe,EAAE,SAAS;AAC9B,IAAI,WAAW,EAAE,kBAAkB,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI;AACrE,IAAI,eAAe,EAAE,UAAU,CAAC,EAAE;AAClC,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAClD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM,IAAI,EAAE;AACvB,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;AAC5G,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE;AAC3B,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,WAAW;AACf,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,mBAAmB,EAAE,MAAM;AAC/B,IAAI,eAAe,EAAE,kBAAkB,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI;AACzE,IAAI,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;AAChF,IAAI,WAAW,EAAE,gBAAgB;AACjC,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,QAAQ,EAAE,CAAC,UAAU,IAAI,QAAQ;AACrC,IAAI,QAAQ;AACZ,IAAI,+BAA+B,EAAE,kBAAkB;AACvD,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;AAC9D,MAAM,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AACjG,KAAK,CAAC;AACN,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACjC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC,aAAa;AAC7C,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE;AACtE,IAAI,SAAS,EAAE,iBAAiB,IAAI,gBAAgB;AACpD,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,SAAS;AACb,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE;AACrB,IAAI,QAAQ,EAAE,aAAa;AAC3B,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACtD,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,MAAM;AAC3C,IAAI,IAAI,EAAE,UAAU,CAAC,EAAE;AACvB,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,WAAW;AAC3C,IAAI,WAAW;AACf,IAAI,YAAY,EAAE,YAAY,CAAC,KAAK;AACpC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,EAAE;AACH,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { randomId } from '@mantine/hooks';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={randomId()}\n className={classes.item}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator} key=\"empty-group-separator\">\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { randomId } from '@mantine/hooks';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n // data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={randomId()}\n className={classes.item}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator} key=\"empty-group-separator\">\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createStyles } from '@mantine/styles';
|
|
2
2
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -16,8 +18,9 @@ var __spreadValues = (a, b) => {
|
|
|
16
18
|
}
|
|
17
19
|
return a;
|
|
18
20
|
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
19
22
|
var useStyles = createStyles((theme, { size }) => ({
|
|
20
|
-
item: {
|
|
23
|
+
item: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
|
|
21
24
|
boxSizing: "border-box",
|
|
22
25
|
textAlign: "left",
|
|
23
26
|
width: "100%",
|
|
@@ -40,7 +43,7 @@ var useStyles = createStyles((theme, { size }) => ({
|
|
|
40
43
|
cursor: "default",
|
|
41
44
|
color: theme.colors.dark[2]
|
|
42
45
|
}
|
|
43
|
-
},
|
|
46
|
+
}),
|
|
44
47
|
nothingFound: {
|
|
45
48
|
boxSizing: "border-box",
|
|
46
49
|
color: theme.colors.gray[6],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItems.styles.js","sources":["../../../src/Select/SelectItems/SelectItems.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/styles';\n\ninterface SelectItemsStyles {\n size: MantineSize;\n}\n\nexport default createStyles((theme, { size }: SelectItemsStyles) => ({\n item: {\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding: `${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px ${theme.fn.size({\n size,\n sizes: theme.spacing,\n })}px`,\n cursor: 'pointer',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n borderRadius: theme.radius.sm,\n\n '&[data-hovered]': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[1],\n },\n\n '&[data-selected]': {\n backgroundColor: theme.fn.variant({ variant: 'filled' }).background,\n color: theme.fn.variant({ variant: 'filled' }).color,\n ...theme.fn.hover({ backgroundColor: theme.fn.variant({ variant: 'filled' }).hover }),\n },\n\n '&[data-disabled]': {\n cursor: 'default',\n color: theme.colors.dark[2],\n },\n },\n\n nothingFound: {\n boxSizing: 'border-box',\n color: theme.colors.gray[6],\n paddingTop: theme.fn.size({ size, sizes: theme.spacing }) / 2,\n paddingBottom: theme.fn.size({ size, sizes: theme.spacing }) / 2,\n textAlign: 'center',\n },\n\n separator: {\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding: `${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px ${theme.fn.size({\n size,\n sizes: theme.spacing,\n })}px`,\n },\n\n separatorLabel: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n}));\n"],"names":[],"mappings":";;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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;
|
|
1
|
+
{"version":3,"file":"SelectItems.styles.js","sources":["../../../src/Select/SelectItems/SelectItems.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/styles';\n\ninterface SelectItemsStyles {\n size: MantineSize;\n}\n\nexport default createStyles((theme, { size }: SelectItemsStyles) => ({\n item: {\n ...theme.fn.fontStyles(),\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding: `${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px ${theme.fn.size({\n size,\n sizes: theme.spacing,\n })}px`,\n cursor: 'pointer',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n borderRadius: theme.radius.sm,\n\n '&[data-hovered]': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[1],\n },\n\n '&[data-selected]': {\n backgroundColor: theme.fn.variant({ variant: 'filled' }).background,\n color: theme.fn.variant({ variant: 'filled' }).color,\n ...theme.fn.hover({ backgroundColor: theme.fn.variant({ variant: 'filled' }).hover }),\n },\n\n '&[data-disabled]': {\n cursor: 'default',\n color: theme.colors.dark[2],\n },\n },\n\n nothingFound: {\n boxSizing: 'border-box',\n color: theme.colors.gray[6],\n paddingTop: theme.fn.size({ size, sizes: theme.spacing }) / 2,\n paddingBottom: theme.fn.size({ size, sizes: theme.spacing }) / 2,\n textAlign: 'center',\n },\n\n separator: {\n boxSizing: 'border-box',\n textAlign: 'left',\n width: '100%',\n padding: `${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px ${theme.fn.size({\n size,\n sizes: theme.spacing,\n })}px`,\n },\n\n separatorLabel: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n}));\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectPopover.styles.js","sources":["../../../src/Select/SelectPopover/SelectPopover.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles(() => ({\n dropdown: {},\n\n itemsWrapper: {\n padding: 4,\n display: 'flex',\n width: '100%',\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,OAAO;AACnC,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,YAAY,EAAE;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"SelectPopover.styles.js","sources":["../../../src/Select/SelectPopover/SelectPopover.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles(() => ({\n dropdown: {},\n\n itemsWrapper: {\n padding: 4,\n display: 'flex',\n width: '100%',\n boxSizing: 'border-box',\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,OAAO;AACnC,EAAE,QAAQ,EAAE,EAAE;AACd,EAAE,YAAY,EAAE;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -25,7 +25,7 @@ var useStyles = createStyles((theme, { spacing, breakpoints, cols, verticalSpaci
|
|
|
25
25
|
size: property === "max-width" ? breakpoint.maxWidth : breakpoint.minWidth,
|
|
26
26
|
sizes: theme.breakpoints
|
|
27
27
|
});
|
|
28
|
-
acc[`@media (${property}: ${breakpointSize
|
|
28
|
+
acc[`@media (${property}: ${breakpointSize - (property === "max-width" ? 1 : 0)}px)`] = {
|
|
29
29
|
gridTemplateColumns: `repeat(${breakpoint.cols}, minmax(0, 1fr))`,
|
|
30
30
|
gap: `${theme.fn.size({
|
|
31
31
|
size: breakpoint.verticalSpacing || (hasVerticalSpacing ? verticalSpacing : spacing),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleGrid.styles.js","sources":["../../src/SimpleGrid/SimpleGrid.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\nimport { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints';\n\nexport interface SimpleGridBreakpoint {\n maxWidth?: MantineNumberSize;\n minWidth?: MantineNumberSize;\n cols: number;\n spacing?: MantineNumberSize;\n verticalSpacing?: MantineNumberSize;\n}\n\nexport interface SimpleGridStylesParams {\n spacing: MantineNumberSize;\n verticalSpacing: MantineNumberSize;\n breakpoints: SimpleGridBreakpoint[];\n cols: number;\n}\n\nexport default createStyles(\n (theme, { spacing, breakpoints, cols, verticalSpacing }: SimpleGridStylesParams) => {\n const hasVerticalSpacing = verticalSpacing != null;\n\n const gridBreakpoints = getSortedBreakpoints(theme, breakpoints).reduce((acc, breakpoint) => {\n const property = 'maxWidth' in breakpoint ? 'max-width' : 'min-width';\n const breakpointSize = theme.fn.size({\n size: property === 'max-width' ? breakpoint.maxWidth : breakpoint.minWidth,\n sizes: theme.breakpoints,\n });\n\n acc[`@media (${property}: ${breakpointSize
|
|
1
|
+
{"version":3,"file":"SimpleGrid.styles.js","sources":["../../src/SimpleGrid/SimpleGrid.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\nimport { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints';\n\nexport interface SimpleGridBreakpoint {\n maxWidth?: MantineNumberSize;\n minWidth?: MantineNumberSize;\n cols: number;\n spacing?: MantineNumberSize;\n verticalSpacing?: MantineNumberSize;\n}\n\nexport interface SimpleGridStylesParams {\n spacing: MantineNumberSize;\n verticalSpacing: MantineNumberSize;\n breakpoints: SimpleGridBreakpoint[];\n cols: number;\n}\n\nexport default createStyles(\n (theme, { spacing, breakpoints, cols, verticalSpacing }: SimpleGridStylesParams) => {\n const hasVerticalSpacing = verticalSpacing != null;\n\n const gridBreakpoints = getSortedBreakpoints(theme, breakpoints).reduce((acc, breakpoint) => {\n const property = 'maxWidth' in breakpoint ? 'max-width' : 'min-width';\n const breakpointSize = theme.fn.size({\n size: property === 'max-width' ? breakpoint.maxWidth : breakpoint.minWidth,\n sizes: theme.breakpoints,\n });\n\n acc[`@media (${property}: ${breakpointSize - (property === 'max-width' ? 1 : 0)}px)`] = {\n gridTemplateColumns: `repeat(${breakpoint.cols}, minmax(0, 1fr))`,\n gap: `${theme.fn.size({\n size: breakpoint.verticalSpacing || (hasVerticalSpacing ? verticalSpacing : spacing),\n sizes: theme.spacing,\n })}px ${theme.fn.size({\n size: breakpoint.spacing || spacing,\n sizes: theme.spacing,\n })}px`,\n };\n\n return acc;\n }, {});\n\n return {\n root: {\n boxSizing: 'border-box',\n display: 'grid',\n gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,\n gap: `${theme.fn.size({\n size: hasVerticalSpacing ? verticalSpacing : spacing,\n sizes: theme.spacing,\n })}px ${theme.fn.size({\n size: spacing,\n sizes: theme.spacing,\n })}px`,\n ...gridBreakpoints,\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,8 @@ const RangeSlider = forwardRef((props, ref) => {
|
|
|
87
87
|
disabled,
|
|
88
88
|
unstyled,
|
|
89
89
|
thumbSize,
|
|
90
|
-
scale
|
|
90
|
+
scale,
|
|
91
|
+
inverted
|
|
91
92
|
} = _a, others = __objRest(_a, [
|
|
92
93
|
"classNames",
|
|
93
94
|
"styles",
|
|
@@ -117,7 +118,8 @@ const RangeSlider = forwardRef((props, ref) => {
|
|
|
117
118
|
"disabled",
|
|
118
119
|
"unstyled",
|
|
119
120
|
"thumbSize",
|
|
120
|
-
"scale"
|
|
121
|
+
"scale",
|
|
122
|
+
"inverted"
|
|
121
123
|
]);
|
|
122
124
|
const theme = useMantineTheme();
|
|
123
125
|
const [focused, setFocused] = useState(-1);
|
|
@@ -270,6 +272,7 @@ const RangeSlider = forwardRef((props, ref) => {
|
|
|
270
272
|
marksOffset: _value[0],
|
|
271
273
|
filled: positions[1] - positions[0],
|
|
272
274
|
marks,
|
|
275
|
+
inverted,
|
|
273
276
|
size,
|
|
274
277
|
radius,
|
|
275
278
|
color,
|