@mantine/core 3.6.0-alpha.1 → 3.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/ActionIcon/ActionIcon.js +2 -5
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/Code/Code.js +3 -1
- package/cjs/components/Code/Code.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +0 -2
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.styles.js +0 -4
- package/cjs/components/ColorInput/ColorInput.styles.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +7 -1
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Input/Input.js +3 -0
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +11 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Menu/Menu.js +8 -3
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/Pagination/DefaultItem/DefaultItem.js +10 -1
- package/cjs/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
- package/cjs/components/Popover/Popover.js +8 -3
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Popper/Popper.js +28 -2
- package/cjs/components/Popper/Popper.js.map +1 -1
- package/cjs/components/Popper/Popper.styles.js +20 -12
- package/cjs/components/Popper/Popper.styles.js.map +1 -1
- package/cjs/components/Portal/Portal.js +3 -0
- package/cjs/components/Portal/Portal.js.map +1 -1
- package/cjs/components/Progress/Progress.js +3 -3
- package/cjs/components/Progress/Progress.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.js +6 -4
- package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.styles.js +2 -3
- package/cjs/components/ScrollArea/ScrollArea.styles.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.js +34 -11
- package/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/cjs/components/SegmentedControl/SegmentedControl.styles.js +53 -41
- package/cjs/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
- package/cjs/components/Select/Select.js +5 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js +25 -10
- package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js +21 -9
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/Thumb/Thumb.js +3 -2
- package/cjs/components/Slider/Thumb/Thumb.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +5 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.js +16 -3
- package/cjs/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/components/TransferList/RenderList/RenderList.styles.js +0 -2
- package/cjs/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/esm/components/ActionIcon/ActionIcon.js +2 -5
- package/esm/components/ActionIcon/ActionIcon.js.map +1 -1
- package/esm/components/Code/Code.js +3 -1
- package/esm/components/Code/Code.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +0 -2
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.styles.js +0 -4
- package/esm/components/ColorInput/ColorInput.styles.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +7 -1
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Input/Input.js +3 -0
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/Input/Input.styles.js +11 -2
- package/esm/components/Input/Input.styles.js.map +1 -1
- package/esm/components/Menu/Menu.js +8 -3
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/NumberInput/NumberInput.js.map +1 -1
- package/esm/components/Pagination/DefaultItem/DefaultItem.js +10 -1
- package/esm/components/Pagination/DefaultItem/DefaultItem.js.map +1 -1
- package/esm/components/Popover/Popover.js +8 -3
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/Popper/Popper.js +28 -2
- package/esm/components/Popper/Popper.js.map +1 -1
- package/esm/components/Popper/Popper.styles.js +20 -12
- package/esm/components/Popper/Popper.styles.js.map +1 -1
- package/esm/components/Portal/Portal.js +3 -0
- package/esm/components/Portal/Portal.js.map +1 -1
- package/esm/components/Progress/Progress.js +3 -3
- package/esm/components/Progress/Progress.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.js +5 -3
- package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.styles.js +2 -3
- package/esm/components/ScrollArea/ScrollArea.styles.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.js +34 -11
- package/esm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/esm/components/SegmentedControl/SegmentedControl.styles.js +53 -41
- package/esm/components/SegmentedControl/SegmentedControl.styles.js.map +1 -1
- package/esm/components/Select/Select.js +5 -4
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js +21 -6
- package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/components/Slider/Slider/Slider.js +17 -5
- package/esm/components/Slider/Slider/Slider.js.map +1 -1
- package/esm/components/Slider/Thumb/Thumb.js +3 -2
- package/esm/components/Slider/Thumb/Thumb.js.map +1 -1
- package/esm/components/Tabs/Tabs.js +5 -4
- package/esm/components/Tabs/Tabs.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.js +16 -3
- package/esm/components/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/components/TransferList/RenderList/RenderList.styles.js +0 -2
- package/esm/components/TransferList/RenderList/RenderList.styles.js.map +1 -1
- package/lib/components/Code/Code.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.styles.d.ts +2 -2
- package/lib/components/ColorInput/ColorInput.styles.d.ts.map +1 -1
- package/lib/components/Drawer/Drawer.d.ts.map +1 -1
- package/lib/components/Input/Input.d.ts +2 -0
- package/lib/components/Input/Input.d.ts.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +1 -0
- package/lib/components/Input/Input.styles.d.ts.map +1 -1
- package/lib/components/Menu/Menu.d.ts +2 -0
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/lib/components/Pagination/DefaultItem/DefaultItem.d.ts.map +1 -1
- package/lib/components/Popover/Popover.d.ts +3 -1
- package/lib/components/Popover/Popover.d.ts.map +1 -1
- package/lib/components/Popper/Popper.d.ts.map +1 -1
- package/lib/components/Popper/Popper.styles.d.ts +2 -1
- package/lib/components/Popper/Popper.styles.d.ts.map +1 -1
- package/lib/components/Portal/Portal.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/components/ScrollArea/ScrollArea.styles.d.ts +0 -1
- package/lib/components/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +4 -0
- package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts +3 -2
- package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts.map +1 -1
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/lib/components/Slider/Slider/Slider.d.ts +1 -1
- package/lib/components/Slider/Slider/Slider.d.ts.map +1 -1
- package/lib/components/Slider/Thumb/Thumb.d.ts.map +1 -1
- package/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/components/TransferList/RenderList/RenderList.styles.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n useMantineTheme,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractMargins,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = ClassNames<typeof useStyles>;\n\nexport interface InputBaseProps {\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: number;\n\n /** Props spread to rightSection div element */\n rightSectionProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Properties spread to root element */\n wrapperProps?: { [key: string]: any };\n\n /** Sets aria-required=true on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\ninterface _InputProps extends InputBaseProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nexport type InputProps<C extends React.ElementType> = PolymorphicComponentProps<C, _InputProps>;\n\ntype InputComponent = (<C extends React.ElementType = 'input'>(\n props: InputProps<C>\n) => React.ReactElement) & { displayName?: string };\n\nexport const Input: InputComponent = forwardRef(\n <C extends React.ElementType = 'input'>(\n {\n component,\n className,\n invalid = false,\n required = false,\n disabled = false,\n variant,\n icon,\n style,\n rightSectionWidth = 36,\n rightSection,\n rightSectionProps = {},\n radius = 'sm',\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n __staticSelector = 'Input',\n multiline = false,\n sx,\n ...others\n }: InputProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const theme = useMantineTheme();\n const _variant = variant || (theme.colorScheme === 'dark' ? 'filled' : 'default');\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant: _variant,\n invalid,\n rightSectionWidth,\n withRightSection: !!rightSection,\n },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\n const Element: any = component || 'input';\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...margins}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Element\n {...rest}\n ref={ref}\n aria-required={required}\n aria-invalid={invalid}\n disabled={disabled}\n className={cx(classes[`${_variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n }\n);\n\nInput.displayName = '@mantine/core/Input';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n useMantineTheme,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractMargins,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = ClassNames<typeof useStyles>;\n\nexport interface InputBaseProps {\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: number;\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: number;\n\n /** Props spread to rightSection div element */\n rightSectionProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Properties spread to root element */\n wrapperProps?: { [key: string]: any };\n\n /** Sets aria-required=true on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\ninterface _InputProps extends InputBaseProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nexport type InputProps<C extends React.ElementType> = PolymorphicComponentProps<C, _InputProps>;\n\ntype InputComponent = (<C extends React.ElementType = 'input'>(\n props: InputProps<C>\n) => React.ReactElement) & { displayName?: string };\n\nexport const Input: InputComponent = forwardRef(\n <C extends React.ElementType = 'input'>(\n {\n component,\n className,\n invalid = false,\n required = false,\n disabled = false,\n variant,\n icon,\n style,\n rightSectionWidth = 36,\n iconWidth,\n rightSection,\n rightSectionProps = {},\n radius = 'sm',\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n __staticSelector = 'Input',\n multiline = false,\n sx,\n ...others\n }: InputProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const theme = useMantineTheme();\n const _variant = variant || (theme.colorScheme === 'dark' ? 'filled' : 'default');\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant: _variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\n const Element: any = component || 'input';\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...margins}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Element\n {...rest}\n ref={ref}\n aria-required={required}\n aria-invalid={invalid}\n disabled={disabled}\n className={cx(classes[`${_variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n }\n);\n\nInput.displayName = '@mantine/core/Input';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQU,MAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAC7C,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO,GAAG,KAAK;AACnB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,iBAAiB,GAAG,EAAE;AAC1B,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,iBAAiB,GAAG,EAAE;AAC1B,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB,GAAG,OAAO;AAC9B,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,EAAE;AACN,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,kBAAkB;AACtB,IAAI,WAAW;AACf,IAAI,IAAI;AACR,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;AACpF,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;AACpC,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,OAAO;AACX,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,gBAAgB,EAAE,CAAC,CAAC,YAAY;AACpC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrD,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC;AACvC,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC;AAChF,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;AAC7C,IAAI,EAAE;AACN,IAAI,KAAK;AACT,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjF,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,GAAG,EAAE,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACjG,IAAI,GAAG;AACP,IAAI,eAAe,EAAE,QAAQ;AAC7B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE;AAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO;AAChC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ;AAClC,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,EAAE,YAAY,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE;AACvH,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC,EAAE;AACH,KAAK,CAAC,WAAW,GAAG,qBAAqB;;;;"}
|
|
@@ -26,7 +26,16 @@ const sizes = {
|
|
|
26
26
|
lg: 50,
|
|
27
27
|
xl: 60
|
|
28
28
|
};
|
|
29
|
-
var useStyles = createStyles((theme, {
|
|
29
|
+
var useStyles = createStyles((theme, {
|
|
30
|
+
size,
|
|
31
|
+
multiline,
|
|
32
|
+
radius,
|
|
33
|
+
variant,
|
|
34
|
+
invalid,
|
|
35
|
+
rightSectionWidth,
|
|
36
|
+
withRightSection,
|
|
37
|
+
iconWidth
|
|
38
|
+
}) => {
|
|
30
39
|
const invalidColor = theme.colors.red[theme.colorScheme === "dark" ? 6 : 7];
|
|
31
40
|
const sizeStyles = variant === "default" || variant === "filled" ? {
|
|
32
41
|
minHeight: theme.fn.size({ size, sizes }),
|
|
@@ -108,7 +117,7 @@ var useStyles = createStyles((theme, { size, multiline, radius, variant, invalid
|
|
|
108
117
|
}
|
|
109
118
|
},
|
|
110
119
|
withIcon: {
|
|
111
|
-
paddingLeft:
|
|
120
|
+
paddingLeft: typeof iconWidth === "number" ? iconWidth : theme.fn.size({ size, sizes })
|
|
112
121
|
},
|
|
113
122
|
invalid: {
|
|
114
123
|
color: invalidColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.styles.js","sources":["../../../src/components/Input/Input.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport type InputVariant = 'default' | 'filled' | 'unstyled' | 'headless';\n\ninterface InputStyles {\n radius: MantineNumberSize;\n size: MantineSize;\n variant: InputVariant;\n multiline: boolean;\n invalid: boolean;\n rightSectionWidth: number;\n withRightSection: boolean;\n}\n\nexport const sizes = {\n xs: 30,\n sm: 36,\n md: 42,\n lg: 50,\n xl: 60,\n};\n\nexport default createStyles(\n (\n theme,\n { size, multiline, radius, variant, invalid, rightSectionWidth, withRightSection }: InputStyles\n ) => {\n const invalidColor = theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7];\n const sizeStyles =\n variant === 'default' || variant === 'filled'\n ? {\n minHeight: theme.fn.size({ size, sizes }),\n paddingLeft: theme.fn.size({ size, sizes }) / 3,\n paddingRight: withRightSection ? rightSectionWidth : theme.fn.size({ size, sizes }) / 3,\n borderRadius: theme.fn.size({ size: radius, sizes: theme.radius }),\n }\n : null;\n\n return {\n wrapper: {\n position: 'relative',\n },\n\n input:\n variant === 'headless'\n ? {}\n : {\n ...theme.fn.fontStyles(),\n height: multiline\n ? variant === 'unstyled'\n ? undefined\n : 'auto'\n : theme.fn.size({ size, sizes }),\n WebkitTapHighlightColor: 'transparent',\n lineHeight: multiline ? theme.lineHeight : `${theme.fn.size({ size, sizes }) - 2}px`,\n appearance: 'none',\n resize: 'none',\n boxSizing: 'border-box',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n width: '100%',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n display: 'block',\n textAlign: 'left',\n ...sizeStyles,\n\n '&:disabled': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n '&::placeholder': {\n opacity: 1,\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n\n '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':\n {\n appearance: 'none',\n },\n\n '&[type=number]': {\n MozAppearance: 'textfield',\n },\n },\n\n defaultVariant: {\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[4]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white,\n transition: 'border-color 100ms ease',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5],\n },\n },\n\n filledVariant: {\n border: '1px solid transparent',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: `${\n theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5]\n } !important`,\n },\n },\n\n unstyledVariant: {\n borderWidth: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: 'transparent',\n minHeight: 28,\n outline: 0,\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n\n '&:disabled': {\n backgroundColor: 'transparent',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n },\n },\n\n withIcon: {\n paddingLeft: `${theme.fn.size({ size, sizes })}px !important`,\n },\n\n invalid: {\n color: invalidColor,\n borderColor: invalidColor,\n\n '&::placeholder': {\n opacity: 1,\n color: invalidColor,\n },\n },\n\n disabled: {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n icon: {\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: theme.fn.size({ size, sizes }),\n color: invalid\n ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[5],\n },\n\n rightSection: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: rightSectionWidth,\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.styles.js","sources":["../../../src/components/Input/Input.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport type InputVariant = 'default' | 'filled' | 'unstyled' | 'headless';\n\ninterface InputStyles {\n radius: MantineNumberSize;\n size: MantineSize;\n variant: InputVariant;\n multiline: boolean;\n invalid: boolean;\n rightSectionWidth: number;\n withRightSection: boolean;\n iconWidth: number;\n}\n\nexport const sizes = {\n xs: 30,\n sm: 36,\n md: 42,\n lg: 50,\n xl: 60,\n};\n\nexport default createStyles(\n (\n theme,\n {\n size,\n multiline,\n radius,\n variant,\n invalid,\n rightSectionWidth,\n withRightSection,\n iconWidth,\n }: InputStyles\n ) => {\n const invalidColor = theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7];\n const sizeStyles =\n variant === 'default' || variant === 'filled'\n ? {\n minHeight: theme.fn.size({ size, sizes }),\n paddingLeft: theme.fn.size({ size, sizes }) / 3,\n paddingRight: withRightSection ? rightSectionWidth : theme.fn.size({ size, sizes }) / 3,\n borderRadius: theme.fn.size({ size: radius, sizes: theme.radius }),\n }\n : null;\n\n return {\n wrapper: {\n position: 'relative',\n },\n\n input:\n variant === 'headless'\n ? {}\n : {\n ...theme.fn.fontStyles(),\n height: multiline\n ? variant === 'unstyled'\n ? undefined\n : 'auto'\n : theme.fn.size({ size, sizes }),\n WebkitTapHighlightColor: 'transparent',\n lineHeight: multiline ? theme.lineHeight : `${theme.fn.size({ size, sizes }) - 2}px`,\n appearance: 'none',\n resize: 'none',\n boxSizing: 'border-box',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n width: '100%',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n display: 'block',\n textAlign: 'left',\n ...sizeStyles,\n\n '&:disabled': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n '&::placeholder': {\n opacity: 1,\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n\n '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':\n {\n appearance: 'none',\n },\n\n '&[type=number]': {\n MozAppearance: 'textfield',\n },\n },\n\n defaultVariant: {\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[4]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white,\n transition: 'border-color 100ms ease',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5],\n },\n },\n\n filledVariant: {\n border: '1px solid transparent',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: `${\n theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 8 : 5]\n } !important`,\n },\n },\n\n unstyledVariant: {\n borderWidth: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: 'transparent',\n minHeight: 28,\n outline: 0,\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n\n '&:disabled': {\n backgroundColor: 'transparent',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n },\n },\n\n withIcon: {\n paddingLeft: typeof iconWidth === 'number' ? iconWidth : theme.fn.size({ size, sizes }),\n },\n\n invalid: {\n color: invalidColor,\n borderColor: invalidColor,\n\n '&::placeholder': {\n opacity: 1,\n color: invalidColor,\n },\n },\n\n disabled: {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n icon: {\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: theme.fn.size({ size, sizes }),\n color: invalid\n ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[5],\n },\n\n rightSection: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: rightSectionWidth,\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,8 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
105
105
|
onMouseEnter,
|
|
106
106
|
onChange,
|
|
107
107
|
className,
|
|
108
|
-
sx
|
|
108
|
+
sx,
|
|
109
|
+
clickOutsideEvents = ["click", "touchstart"]
|
|
109
110
|
} = _b, others = __objRest(_b, [
|
|
110
111
|
"control",
|
|
111
112
|
"children",
|
|
@@ -138,7 +139,8 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
138
139
|
"onMouseEnter",
|
|
139
140
|
"onChange",
|
|
140
141
|
"className",
|
|
141
|
-
"sx"
|
|
142
|
+
"sx",
|
|
143
|
+
"clickOutsideEvents"
|
|
142
144
|
]);
|
|
143
145
|
const [hovered, setHovered] = useState(-1);
|
|
144
146
|
const buttonsRefs = useRef({});
|
|
@@ -169,7 +171,10 @@ const Menu = forwardRef((_a, ref) => {
|
|
|
169
171
|
setOpened(true);
|
|
170
172
|
};
|
|
171
173
|
useWindowEvent("scroll", () => closeOnScroll && handleClose());
|
|
172
|
-
useClickOutside(() => _opened && handleClose(),
|
|
174
|
+
useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [
|
|
175
|
+
dropdownElement,
|
|
176
|
+
wrapperElement
|
|
177
|
+
]);
|
|
173
178
|
const toggleMenu = () => {
|
|
174
179
|
_opened ? handleClose() : handleOpen();
|
|
175
180
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../utils';\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { Paper } from '../Paper';\nimport { Text } from '../Text';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemType, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (\n {\n control = defaultControl,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick = true,\n transitionDuration = 250,\n size = 'md',\n shadow = 'md',\n position = 'bottom',\n placement = 'start',\n gutter = 5,\n withArrow = false,\n transition = 'pop-top-left',\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp = 'ref',\n trigger = 'click',\n radius = 'sm',\n delay = 100,\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n trapFocus = true,\n classNames,\n styles,\n closeOnScroll = false,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n ...others\n }: MenuProps,\n ref\n ) => {\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const items = filterChildrenByType(children, [MenuItem, MenuLabel, Divider]);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), null, [dropdownElement, wrapperElement]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </Box>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../utils';\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { Paper } from '../Paper';\nimport { Text } from '../Text';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemType, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (\n {\n control = defaultControl,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick = true,\n transitionDuration = 250,\n size = 'md',\n shadow = 'md',\n position = 'bottom',\n placement = 'start',\n gutter = 5,\n withArrow = false,\n transition = 'pop-top-left',\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp = 'ref',\n trigger = 'click',\n radius = 'sm',\n delay = 100,\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n trapFocus = true,\n classNames,\n styles,\n closeOnScroll = false,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents = ['click', 'touchstart'],\n ...others\n }: MenuProps,\n ref\n ) => {\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const items = filterChildrenByType(children, [MenuItem, MenuLabel, Divider]);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [\n dropdownElement,\n wrapperElement,\n ]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </Box>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;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;AAuBF,MAAM,cAAc,mBAAmB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAClI,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACrD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AACD,SAAS,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;AACxC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzD,IAAI,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACW,MAAC,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAC5C,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,OAAO,GAAG,cAAc;AAC5B,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,gBAAgB,GAAG,IAAI;AAC3B,IAAI,kBAAkB,GAAG,GAAG;AAC5B,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,QAAQ,GAAG,QAAQ;AACvB,IAAI,SAAS,GAAG,OAAO;AACvB,IAAI,MAAM,GAAG,CAAC;AACd,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,UAAU,GAAG,cAAc;AAC/B,IAAI,wBAAwB;AAC5B,IAAI,eAAe;AACnB,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,OAAO,GAAG,OAAO;AACrB,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,KAAK,GAAG,GAAG;AACf,IAAI,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC;AACxC,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,aAAa,GAAG,KAAK;AACzB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,kBAAkB,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC;AAChD,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AACxB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,0BAA0B;AAC9B,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACjC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3F,EAAE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAChC,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,EAAE,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,EAAE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACxH,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAC/C,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC3C,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE;AACtH,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE;AAC3B,MAAM,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAChC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC,CAAC;AACjE,EAAE,eAAe,CAAC,MAAM,OAAO,IAAI,WAAW,EAAE,EAAE,kBAAkB,EAAE;AACtE,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,OAAO,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjI,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE;AAC7B,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;AACrB,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7E,OAAO,MAAM;AACb,QAAQ,WAAW,EAAE,CAAC;AACtB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,EAAE;AACzD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE;AAClD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACtD,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/C,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAChD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1D,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/C,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/C,QAAQ,WAAW,EAAE,CAAC;AACtB,QAAQ,cAAc,EAAE,CAAC;AACzB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE;AACpG,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK;AACxB,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC;AACrC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,eAAe,EAAE,MAAM;AAC3B,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,KAAK,EAAE,eAAe;AAC1B,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;AAC5D,IAAI,SAAS,EAAE,aAAa;AAC5B,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAChC,MAAM,uBAAuB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACzG,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK;AAClC,QAAQ,OAAO,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC;AACxC,QAAQ,MAAM;AACd,QAAQ,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,SAAS,EAAE,aAAa;AAChC,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,IAAI,gBAAgB,EAAE;AAChC,YAAY,WAAW,EAAE,CAAC;AAC1B,YAAY,OAAO,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC;AACpD,WAAW;AACX,UAAU,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AACxD,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtC,WAAW;AACX,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,IAAI,KAAK;AACvB,UAAU,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC5C,SAAS;AACT,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,MAAM,uBAAuB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC;AACtE,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,SAAS,EAAE,OAAO,CAAC,KAAK;AAChC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AAC/B,MAAM,uBAAuB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAC1D,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,SAAS,EAAE,OAAO,CAAC,OAAO;AAClC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;AAChC,QAAQ,GAAG,EAAE,KAAK;AAClB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,GAAG,EAAE,iBAAiB;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,EAAE;AACN,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACvE,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,UAAU;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,OAAO,CAAC,KAAK;AACjC,IAAI,YAAY;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,MAAM;AACV,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,kBAAkB,EAAE,UAAU;AAClC,IAAI,MAAM;AACV,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,GAAG,EAAE,kBAAkB;AAC3B,IAAI,EAAE,EAAE,IAAI;AACZ,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,EAAE;AACH,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;AACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,IAAI,CAAC,WAAW,GAAG,oBAAoB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, clamp } from '@mantine/hooks';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { TextInput } from '../TextInput/TextInput';\nimport { InputStylesNames } from '../Input/Input';\nimport { InputWrapperStylesNames } from '../InputWrapper/InputWrapper';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = ClassNames<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers>;\n}\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n step = 1,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n hideControls = false,\n radius = 'sm',\n variant,\n precision = 0,\n defaultValue,\n noClampOnBlur = false,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n ...others\n }: NumberInputProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, name: 'NumberInput' }\n );\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number'\n ? value\n : typeof defaultValue === 'number'\n ? defaultValue\n : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? finalValue.toFixed(precision) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n };\n\n const formatNum = (val: string | number) => {\n let parsedStr = String(val);\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return parsedStr;\n };\n\n const parseNum = (val: string) => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n const parsedNum = parseFloat(num);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return parsedNum;\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(min ?? 0);\n setTempValue(min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp({ value: _value + step, min: _min, max: _max }).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(min ?? 0);\n setTempValue(min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp({ value: _value - step, min: _min, max: _max }).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(value.toFixed(precision));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n inputRef.current.focus();\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onMouseDown={(event) => {\n onStep(event, true);\n }}\n onMouseUp={onStepDone}\n onMouseLeave={onStepDone}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onMouseDown={(event) => {\n onStep(event, false);\n }}\n onMouseUp={onStepDone}\n onMouseLeave={onStepDone}\n />\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.target.value;\n setTempValue(val);\n if (val === '') {\n handleValueChange(undefined);\n } else {\n const parsed = parseNum(val);\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parsed);\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n const parsedVal = parseNum(event.target.value);\n const val = clamp({ value: parsedVal, min: _min, max: _max });\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(val.toFixed(precision));\n handleValueChange(parseFloat(val.toFixed(precision)));\n }\n } else {\n setTempValue(finalValue?.toFixed(precision) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.repeat && shouldUseStepInterval) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n type=\"text\"\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n __staticSelector=\"NumberInput\"\n />\n );\n }\n);\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, clamp } from '@mantine/hooks';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { TextInput } from '../TextInput/TextInput';\nimport { InputStylesNames } from '../Input/Input';\nimport { InputWrapperStylesNames } from '../InputWrapper/InputWrapper';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = ClassNames<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n}\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n step = 1,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n hideControls = false,\n radius = 'sm',\n variant,\n precision = 0,\n defaultValue,\n noClampOnBlur = false,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n ...others\n }: NumberInputProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, name: 'NumberInput' }\n );\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number'\n ? value\n : typeof defaultValue === 'number'\n ? defaultValue\n : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? finalValue.toFixed(precision) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n };\n\n const formatNum = (val: string | number) => {\n let parsedStr = String(val);\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return parsedStr;\n };\n\n const parseNum = (val: string) => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n const parsedNum = parseFloat(num);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return parsedNum;\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(min ?? 0);\n setTempValue(min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp({ value: _value + step, min: _min, max: _max }).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(min ?? 0);\n setTempValue(min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp({ value: _value - step, min: _min, max: _max }).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(value.toFixed(precision));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n inputRef.current.focus();\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onMouseDown={(event) => {\n onStep(event, true);\n }}\n onMouseUp={onStepDone}\n onMouseLeave={onStepDone}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onMouseDown={(event) => {\n onStep(event, false);\n }}\n onMouseUp={onStepDone}\n onMouseLeave={onStepDone}\n />\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.target.value;\n setTempValue(val);\n if (val === '') {\n handleValueChange(undefined);\n } else {\n const parsed = parseNum(val);\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parsed);\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n const parsedVal = parseNum(event.target.value);\n const val = clamp({ value: parsedVal, min: _min, max: _max });\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(val.toFixed(precision));\n handleValueChange(parseFloat(val.toFixed(precision)));\n }\n } else {\n setTempValue(finalValue?.toFixed(precision) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.repeat && shouldUseStepInterval) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n type=\"text\"\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n __staticSelector=\"NumberInput\"\n />\n );\n }\n);\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useMantineTheme } from '@mantine/styles';
|
|
2
3
|
import { DotsIcon } from '../icons/DotsIcon.js';
|
|
3
4
|
import { NextIcon } from '../icons/NextIcon.js';
|
|
4
5
|
import { PrevIcon } from '../icons/PrevIcon.js';
|
|
@@ -40,9 +41,17 @@ const icons = {
|
|
|
40
41
|
first: FirstIcon,
|
|
41
42
|
last: LastIcon
|
|
42
43
|
};
|
|
44
|
+
const rtlIcons = {
|
|
45
|
+
dots: DotsIcon,
|
|
46
|
+
prev: NextIcon,
|
|
47
|
+
next: PrevIcon,
|
|
48
|
+
last: FirstIcon,
|
|
49
|
+
first: LastIcon
|
|
50
|
+
};
|
|
43
51
|
function DefaultItem(_a) {
|
|
44
52
|
var _b = _a, { page, active, onClick } = _b, others = __objRest(_b, ["page", "active", "onClick"]);
|
|
45
|
-
const
|
|
53
|
+
const theme = useMantineTheme();
|
|
54
|
+
const Item = (theme.dir === "rtl" ? rtlIcons : icons)[page];
|
|
46
55
|
const children = Item ? /* @__PURE__ */ React.createElement(Item, null) : page;
|
|
47
56
|
return /* @__PURE__ */ React.createElement("button", __spreadValues({
|
|
48
57
|
type: "button",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultItem.js","sources":["../../../../src/components/Pagination/DefaultItem/DefaultItem.tsx"],"sourcesContent":["import React from 'react';\nimport * as _icons from '../icons';\n\nexport interface PaginationItemProps extends React.ComponentPropsWithoutRef<'button'> {\n page: number | 'dots' | 'prev' | 'next' | 'first' | 'last';\n active?: boolean;\n onClick?: () => void;\n}\n\nconst icons = {\n dots: _icons.DotsIcon,\n next: _icons.NextIcon,\n prev: _icons.PrevIcon,\n first: _icons.FirstIcon,\n last: _icons.LastIcon,\n};\n\nexport function DefaultItem({ page, active, onClick, ...others }: PaginationItemProps) {\n const Item = icons[page];\n const children = Item ? <Item /> : page;\n\n return (\n <button type=\"button\" onClick={onClick} {...others}>\n {children}\n </button>\n );\n}\n\nDefaultItem.displayName = '@mantine/core/Pagination/DefaultItem';\n"],"names":["_icons.DotsIcon","_icons.NextIcon","_icons.PrevIcon","_icons.FirstIcon","_icons.LastIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultItem.js","sources":["../../../../src/components/Pagination/DefaultItem/DefaultItem.tsx"],"sourcesContent":["import React from 'react';\nimport { useMantineTheme } from '@mantine/styles';\nimport * as _icons from '../icons';\n\nexport interface PaginationItemProps extends React.ComponentPropsWithoutRef<'button'> {\n page: number | 'dots' | 'prev' | 'next' | 'first' | 'last';\n active?: boolean;\n onClick?: () => void;\n}\n\nconst icons = {\n dots: _icons.DotsIcon,\n next: _icons.NextIcon,\n prev: _icons.PrevIcon,\n first: _icons.FirstIcon,\n last: _icons.LastIcon,\n};\n\nconst rtlIcons = {\n dots: _icons.DotsIcon,\n prev: _icons.NextIcon,\n next: _icons.PrevIcon,\n last: _icons.FirstIcon,\n first: _icons.LastIcon,\n};\n\nexport function DefaultItem({ page, active, onClick, ...others }: PaginationItemProps) {\n const theme = useMantineTheme();\n const Item = (theme.dir === 'rtl' ? rtlIcons : icons)[page];\n const children = Item ? <Item /> : page;\n\n return (\n <button type=\"button\" onClick={onClick} {...others}>\n {children}\n </button>\n );\n}\n\nDefaultItem.displayName = '@mantine/core/Pagination/DefaultItem';\n"],"names":["_icons.DotsIcon","_icons.NextIcon","_icons.PrevIcon","_icons.FirstIcon","_icons.LastIcon"],"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;AACF,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;AAIF,MAAM,KAAK,GAAG;AACd,EAAE,IAAI,EAAEA,QAAe;AACvB,EAAE,IAAI,EAAEC,QAAe;AACvB,EAAE,IAAI,EAAEC,QAAe;AACvB,EAAE,KAAK,EAAEC,SAAgB;AACzB,EAAE,IAAI,EAAEC,QAAe;AACvB,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG;AACjB,EAAE,IAAI,EAAEJ,QAAe;AACvB,EAAE,IAAI,EAAEC,QAAe;AACvB,EAAE,IAAI,EAAEC,QAAe;AACvB,EAAE,IAAI,EAAEC,SAAgB;AACxB,EAAE,KAAK,EAAEC,QAAe;AACxB,CAAC,CAAC;AACK,SAAS,WAAW,CAAC,EAAE,EAAE;AAChC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACrG,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;AAC9D,EAAE,MAAM,QAAQ,GAAG,IAAI,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AACjF,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC;AACtE,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,OAAO;AACX,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxB,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,sCAAsC;;;;"}
|
|
@@ -65,7 +65,8 @@ function Popover(_a) {
|
|
|
65
65
|
id,
|
|
66
66
|
classNames,
|
|
67
67
|
styles,
|
|
68
|
-
width
|
|
68
|
+
width,
|
|
69
|
+
clickOutsideEvents = ["click", "touchstart"]
|
|
69
70
|
} = _b, others = __objRest(_b, [
|
|
70
71
|
"className",
|
|
71
72
|
"children",
|
|
@@ -96,7 +97,8 @@ function Popover(_a) {
|
|
|
96
97
|
"id",
|
|
97
98
|
"classNames",
|
|
98
99
|
"styles",
|
|
99
|
-
"width"
|
|
100
|
+
"width",
|
|
101
|
+
"clickOutsideEvents"
|
|
100
102
|
]);
|
|
101
103
|
const { classes, cx } = useStyles(null, { classNames, styles, name: "Popover" });
|
|
102
104
|
const handleClose = () => typeof onClose === "function" && onClose();
|
|
@@ -104,7 +106,10 @@ function Popover(_a) {
|
|
|
104
106
|
const [rootElement, setRootElement] = useState(null);
|
|
105
107
|
const [dropdownElement, setDropdownElement] = useState(null);
|
|
106
108
|
const focusTrapRef = useFocusTrap(!noFocusTrap && opened);
|
|
107
|
-
useClickOutside(() => !noClickOutside && handleClose(),
|
|
109
|
+
useClickOutside(() => !noClickOutside && handleClose(), clickOutsideEvents, [
|
|
110
|
+
rootElement,
|
|
111
|
+
dropdownElement
|
|
112
|
+
]);
|
|
108
113
|
const returnFocus = useFocusReturn({
|
|
109
114
|
opened: opened || noFocusTrap,
|
|
110
115
|
transitionDuration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Disable closing by click outside */\n noClickOutside?: boolean;\n\n /** Disable focus trap (may impact close on escape feature) */\n noFocusTrap?: boolean;\n\n /** Disables close on escape */\n noEscape?: boolean;\n\n /** Adds close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Optional popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n}\n\nexport function Popover({\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex = getDefaultZIndex('popover'),\n arrowSize = 4,\n withArrow = false,\n transition = 'fade',\n transitionDuration = 200,\n transitionTimingFunction,\n gutter = 10,\n position = 'left',\n placement = 'center',\n disabled = false,\n noClickOutside = false,\n noFocusTrap = false,\n noEscape = false,\n withCloseButton = false,\n radius = 'sm',\n spacing = 'md',\n shadow = 'sm',\n closeButtonLabel,\n positionDependencies = [],\n withinPortal = true,\n id,\n classNames,\n styles,\n width,\n ...others\n}: PopoverProps) {\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(!noFocusTrap && opened);\n\n useClickOutside(() => !noClickOutside && handleClose(), null, [rootElement, dropdownElement]);\n\n const returnFocus = useFocusReturn({\n opened: opened || noFocusTrap,\n transitionDuration,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!noEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Disable closing by click outside */\n noClickOutside?: boolean;\n\n /** Disable focus trap (may impact close on escape feature) */\n noFocusTrap?: boolean;\n\n /** Disables close on escape */\n noEscape?: boolean;\n\n /** Adds close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Optional popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nexport function Popover({\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex = getDefaultZIndex('popover'),\n arrowSize = 4,\n withArrow = false,\n transition = 'fade',\n transitionDuration = 200,\n transitionTimingFunction,\n gutter = 10,\n position = 'left',\n placement = 'center',\n disabled = false,\n noClickOutside = false,\n noFocusTrap = false,\n noEscape = false,\n withCloseButton = false,\n radius = 'sm',\n spacing = 'md',\n shadow = 'sm',\n closeButtonLabel,\n positionDependencies = [],\n withinPortal = true,\n id,\n classNames,\n styles,\n width,\n clickOutsideEvents = ['click', 'touchstart'],\n ...others\n}: PopoverProps) {\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(!noFocusTrap && opened);\n\n useClickOutside(() => !noClickOutside && handleClose(), clickOutsideEvents, [\n rootElement,\n dropdownElement,\n ]);\n\n const returnFocus = useFocusReturn({\n opened: opened || noFocusTrap,\n transitionDuration,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!noEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,30 @@ var __spreadValues = (a, b) => {
|
|
|
26
26
|
return a;
|
|
27
27
|
};
|
|
28
28
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
29
|
+
function flipPlacement(placement, dir) {
|
|
30
|
+
if (placement === "center") {
|
|
31
|
+
return placement;
|
|
32
|
+
}
|
|
33
|
+
if (dir === "rtl") {
|
|
34
|
+
if (placement === "end") {
|
|
35
|
+
return "start";
|
|
36
|
+
}
|
|
37
|
+
return "end";
|
|
38
|
+
}
|
|
39
|
+
return placement;
|
|
40
|
+
}
|
|
41
|
+
function flipPosition(position, dir) {
|
|
42
|
+
if (position === "top" || position === "bottom") {
|
|
43
|
+
return position;
|
|
44
|
+
}
|
|
45
|
+
if (dir === "rtl") {
|
|
46
|
+
if (position === "left") {
|
|
47
|
+
return "right";
|
|
48
|
+
}
|
|
49
|
+
return "left";
|
|
50
|
+
}
|
|
51
|
+
return position;
|
|
52
|
+
}
|
|
29
53
|
function Popper({
|
|
30
54
|
position = "top",
|
|
31
55
|
placement = "center",
|
|
@@ -50,9 +74,11 @@ function Popper({
|
|
|
50
74
|
}) {
|
|
51
75
|
var _a;
|
|
52
76
|
const padding = withArrow ? gutter + arrowSize : gutter;
|
|
53
|
-
const { classes, cx } = useStyles({ arrowSize, arrowDistance }, { name: "Popper" });
|
|
77
|
+
const { classes, cx, theme } = useStyles({ arrowSize, arrowDistance }, { name: "Popper" });
|
|
54
78
|
const [popperElement, setPopperElement] = useState(null);
|
|
55
|
-
const
|
|
79
|
+
const _placement = flipPlacement(placement, theme.dir);
|
|
80
|
+
const _position = flipPosition(position, theme.dir);
|
|
81
|
+
const initialPlacement = _placement === "center" ? _position : `${_position}-${_placement}`;
|
|
56
82
|
const { styles, attributes, forceUpdate } = usePopper(referenceElement, popperElement, {
|
|
57
83
|
placement: initialPlacement,
|
|
58
84
|
modifiers: [
|