@mantine/core 4.0.4 → 4.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Accordion/AccordionItem/AccordionItem.styles.js +3 -1
- package/cjs/components/Accordion/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/cjs/components/AppShell/Navbar/Navbar.js +1 -1
- package/cjs/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +12 -3
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.js +12 -3
- package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/cjs/components/ColorInput/ColorInput.js +12 -3
- package/cjs/components/ColorInput/ColorInput.js.map +1 -1
- package/cjs/components/Grid/Col/Col.js +2 -7
- package/cjs/components/Grid/Col/Col.js.map +1 -1
- package/cjs/components/Grid/Grid.context.js +11 -0
- package/cjs/components/Grid/Grid.context.js.map +1 -0
- package/cjs/components/Grid/Grid.js +5 -2
- package/cjs/components/Grid/Grid.js.map +1 -1
- package/cjs/components/Menu/Menu.context.js +3 -10
- package/cjs/components/Menu/Menu.context.js.map +1 -1
- package/cjs/components/Menu/Menu.js +1 -1
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +12 -3
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.js +12 -3
- package/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +15 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +12 -3
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/Select/Select.js +14 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/SelectItems/SelectItems.js +1 -0
- package/cjs/components/Select/SelectItems/SelectItems.js.map +1 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js +3 -1
- package/cjs/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/components/Slider/Slider/Slider.js +3 -1
- package/cjs/components/Slider/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/utils/get-change-value/get-change-value.js +13 -2
- package/cjs/components/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/cjs/components/TextInput/TextInput.js +10 -1
- package/cjs/components/TextInput/TextInput.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +12 -3
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +0 -13
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/create-use-context/create-use-context.js +21 -0
- package/cjs/utils/create-use-context/create-use-context.js.map +1 -0
- package/esm/components/Accordion/AccordionItem/AccordionItem.styles.js +3 -1
- package/esm/components/Accordion/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/esm/components/AppShell/Navbar/Navbar.js +1 -1
- package/esm/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/esm/components/Autocomplete/Autocomplete.js +12 -3
- package/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.js +12 -3
- package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/esm/components/ColorInput/ColorInput.js +12 -3
- package/esm/components/ColorInput/ColorInput.js.map +1 -1
- package/esm/components/Grid/Col/Col.js +3 -7
- package/esm/components/Grid/Col/Col.js.map +1 -1
- package/esm/components/Grid/Grid.context.js +6 -0
- package/esm/components/Grid/Grid.context.js.map +1 -0
- package/esm/components/Grid/Grid.js +5 -2
- package/esm/components/Grid/Grid.js.map +1 -1
- package/esm/components/Menu/Menu.context.js +3 -10
- package/esm/components/Menu/Menu.context.js.map +1 -1
- package/esm/components/Menu/Menu.js +2 -2
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +12 -3
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.js +12 -3
- package/esm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +15 -6
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/RadioGroup/RadioGroup.js +12 -3
- package/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/esm/components/Select/Select.js +14 -4
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/components/Select/SelectItems/SelectItems.js +1 -0
- package/esm/components/Select/SelectItems/SelectItems.js.map +1 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js +3 -1
- package/esm/components/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/components/Slider/Slider/Slider.js +3 -1
- package/esm/components/Slider/Slider/Slider.js.map +1 -1
- package/esm/components/Slider/utils/get-change-value/get-change-value.js +13 -2
- package/esm/components/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/esm/components/TextInput/TextInput.js +10 -1
- package/esm/components/TextInput/TextInput.js.map +1 -1
- package/esm/components/Textarea/Textarea.js +12 -3
- package/esm/components/Textarea/Textarea.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.styles.js +0 -13
- package/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/utils/create-use-context/create-use-context.js +17 -0
- package/esm/utils/create-use-context/create-use-context.js.map +1 -0
- package/lib/components/Accordion/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
- package/lib/components/ActionIcon/CloseButton/CloseButton.d.ts +1 -1
- package/lib/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/components/Checkbox/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/lib/components/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/components/ColorSwatch/ColorSwatch.styles.d.ts +2 -2
- package/lib/components/Grid/Col/Col.d.ts +2 -10
- package/lib/components/Grid/Col/Col.d.ts.map +1 -1
- package/lib/components/Grid/Grid.context.d.ts +10 -0
- package/lib/components/Grid/Grid.context.d.ts.map +1 -0
- package/lib/components/Grid/Grid.d.ts.map +1 -1
- package/lib/components/Menu/Menu.context.d.ts +1 -2
- package/lib/components/Menu/Menu.context.d.ts.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/SelectItems/SelectItems.d.ts.map +1 -1
- package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +2 -0
- package/lib/components/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/lib/components/Slider/Slider/Slider.d.ts +2 -0
- package/lib/components/Slider/Slider/Slider.d.ts.map +1 -1
- package/lib/components/Slider/utils/get-change-value/get-change-value.d.ts +2 -1
- package/lib/components/Slider/utils/get-change-value/get-change-value.d.ts.map +1 -1
- package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
- package/lib/components/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/Textarea/Textarea.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.styles.d.ts +2 -2
- package/lib/components/Tooltip/Tooltip.styles.d.ts.map +1 -1
- package/lib/utils/create-use-context/create-use-context.d.ts +3 -0
- package/lib/utils/create-use-context/create-use-context.d.ts.map +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -51,7 +51,10 @@ const CheckboxGroup = forwardRef((props, ref) => {
|
|
|
51
51
|
size,
|
|
52
52
|
classNames,
|
|
53
53
|
styles,
|
|
54
|
-
wrapperProps
|
|
54
|
+
wrapperProps,
|
|
55
|
+
errorProps,
|
|
56
|
+
labelProps,
|
|
57
|
+
descriptionProps
|
|
55
58
|
} = _a, others = __objRest(_a, [
|
|
56
59
|
"children",
|
|
57
60
|
"value",
|
|
@@ -63,7 +66,10 @@ const CheckboxGroup = forwardRef((props, ref) => {
|
|
|
63
66
|
"size",
|
|
64
67
|
"classNames",
|
|
65
68
|
"styles",
|
|
66
|
-
"wrapperProps"
|
|
69
|
+
"wrapperProps",
|
|
70
|
+
"errorProps",
|
|
71
|
+
"labelProps",
|
|
72
|
+
"descriptionProps"
|
|
67
73
|
]);
|
|
68
74
|
const [_value, setValue] = useUncontrolled({
|
|
69
75
|
value,
|
|
@@ -91,7 +97,10 @@ const CheckboxGroup = forwardRef((props, ref) => {
|
|
|
91
97
|
__staticSelector: "CheckboxGroup",
|
|
92
98
|
classNames,
|
|
93
99
|
styles,
|
|
94
|
-
ref
|
|
100
|
+
ref,
|
|
101
|
+
errorProps,
|
|
102
|
+
descriptionProps,
|
|
103
|
+
labelProps
|
|
95
104
|
}, wrapperProps), others), /* @__PURE__ */ React.createElement(Group, {
|
|
96
105
|
spacing,
|
|
97
106
|
direction: orientation === "horizontal" ? "row" : "column",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/Checkbox/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../../utils';\nimport {\n InputWrapper,\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n} from '../../InputWrapper/InputWrapper';\nimport { Checkbox, CheckboxStylesNames } from '../Checkbox';\nimport { Group } from '../../Group/Group';\n\nexport type CheckboxGroupStylesNames = InputWrapperStylesNames | CheckboxStylesNames;\n\nexport interface CheckboxGroupProps\n extends DefaultProps<CheckboxGroupStylesNames>,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange'> {\n /** <Checkbox /> components only */\n children: React.ReactNode;\n\n /** Value of currently selected checkbox */\n value?: string[];\n\n /** Initial value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called when value changes */\n onChange?(value: string[]): void;\n\n /** Horizontal or vertical orientation */\n orientation?: 'horizontal' | 'vertical';\n\n /** Spacing between checkboxes in horizontal orientation */\n spacing?: MantineNumberSize;\n\n /** Activated checkbox color from theme.colors */\n color?: MantineColor;\n\n /** Predefined label fontSize, checkbox width, height and border-radius */\n size?: MantineSize;\n\n /** Props spread to InputWrapper */\n wrapperProps?: { [key: string]: any };\n}\n\nconst defaultProps: Partial<CheckboxGroupProps> = {\n orientation: 'horizontal',\n spacing: 'lg',\n size: 'sm',\n};\n\nexport const CheckboxGroup = forwardRef<HTMLDivElement, CheckboxGroupProps>(\n (props: CheckboxGroupProps, ref) => {\n const {\n children,\n value,\n defaultValue,\n onChange,\n orientation,\n spacing,\n color,\n size,\n classNames,\n styles,\n wrapperProps,\n ...others\n } = useMantineDefaultProps('CheckboxGroup', defaultProps, props);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n rule: (val) => Array.isArray(val),\n });\n\n const checkboxes = filterChildrenByType(children, Checkbox).map((checkbox, index) =>\n cloneElement(checkbox, {\n key: index,\n checked: _value.includes(checkbox.props.value),\n color,\n size,\n classNames,\n styles,\n __staticSelector: 'CheckboxGroup',\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n const itemValue = event.currentTarget.value;\n setValue(\n _value.includes(itemValue)\n ? _value.filter((item) => item !== itemValue)\n : [..._value, itemValue]\n );\n },\n })\n );\n\n return (\n <InputWrapper\n labelElement=\"div\"\n size={size}\n __staticSelector=\"CheckboxGroup\"\n classNames={classNames}\n styles={styles}\n ref={ref}\n {...wrapperProps}\n {...others}\n >\n <Group\n spacing={spacing}\n direction={orientation === 'horizontal' ? 'row' : 'column'}\n sx={{ paddingTop: 5 }}\n >\n {checkboxes}\n </Group>\n </InputWrapper>\n );\n }\n);\n\nCheckboxGroup.displayName = '@mantine/core/CheckboxGroup';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/Checkbox/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../../utils';\nimport {\n InputWrapper,\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n} from '../../InputWrapper/InputWrapper';\nimport { Checkbox, CheckboxStylesNames } from '../Checkbox';\nimport { Group } from '../../Group/Group';\n\nexport type CheckboxGroupStylesNames = InputWrapperStylesNames | CheckboxStylesNames;\n\nexport interface CheckboxGroupProps\n extends DefaultProps<CheckboxGroupStylesNames>,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange'> {\n /** <Checkbox /> components only */\n children: React.ReactNode;\n\n /** Value of currently selected checkbox */\n value?: string[];\n\n /** Initial value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called when value changes */\n onChange?(value: string[]): void;\n\n /** Horizontal or vertical orientation */\n orientation?: 'horizontal' | 'vertical';\n\n /** Spacing between checkboxes in horizontal orientation */\n spacing?: MantineNumberSize;\n\n /** Activated checkbox color from theme.colors */\n color?: MantineColor;\n\n /** Predefined label fontSize, checkbox width, height and border-radius */\n size?: MantineSize;\n\n /** Props spread to InputWrapper */\n wrapperProps?: { [key: string]: any };\n}\n\nconst defaultProps: Partial<CheckboxGroupProps> = {\n orientation: 'horizontal',\n spacing: 'lg',\n size: 'sm',\n};\n\nexport const CheckboxGroup = forwardRef<HTMLDivElement, CheckboxGroupProps>(\n (props: CheckboxGroupProps, ref) => {\n const {\n children,\n value,\n defaultValue,\n onChange,\n orientation,\n spacing,\n color,\n size,\n classNames,\n styles,\n wrapperProps,\n errorProps,\n labelProps,\n descriptionProps,\n ...others\n } = useMantineDefaultProps('CheckboxGroup', defaultProps, props);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n rule: (val) => Array.isArray(val),\n });\n\n const checkboxes = filterChildrenByType(children, Checkbox).map((checkbox, index) =>\n cloneElement(checkbox, {\n key: index,\n checked: _value.includes(checkbox.props.value),\n color,\n size,\n classNames,\n styles,\n __staticSelector: 'CheckboxGroup',\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => {\n const itemValue = event.currentTarget.value;\n setValue(\n _value.includes(itemValue)\n ? _value.filter((item) => item !== itemValue)\n : [..._value, itemValue]\n );\n },\n })\n );\n\n return (\n <InputWrapper\n labelElement=\"div\"\n size={size}\n __staticSelector=\"CheckboxGroup\"\n classNames={classNames}\n styles={styles}\n ref={ref}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n {...wrapperProps}\n {...others}\n >\n <Group\n spacing={spacing}\n direction={orientation === 'horizontal' ? 'row' : 'column'}\n sx={{ paddingTop: 5 }}\n >\n {checkboxes}\n </Group>\n </InputWrapper>\n );\n }\n);\n\nCheckboxGroup.displayName = '@mantine/core/CheckboxGroup';\n"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,10 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
99
99
|
className,
|
|
100
100
|
style,
|
|
101
101
|
swatches,
|
|
102
|
-
sx
|
|
102
|
+
sx,
|
|
103
|
+
errorProps,
|
|
104
|
+
labelProps,
|
|
105
|
+
descriptionProps
|
|
103
106
|
} = _a, others = __objRest(_a, [
|
|
104
107
|
"label",
|
|
105
108
|
"description",
|
|
@@ -130,7 +133,10 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
130
133
|
"className",
|
|
131
134
|
"style",
|
|
132
135
|
"swatches",
|
|
133
|
-
"sx"
|
|
136
|
+
"sx",
|
|
137
|
+
"errorProps",
|
|
138
|
+
"labelProps",
|
|
139
|
+
"descriptionProps"
|
|
134
140
|
]);
|
|
135
141
|
const { classes, cx, theme } = useStyles({ disallowInput }, { classNames, styles, name: "ColorInput" });
|
|
136
142
|
const { systemStyles, rest } = extractSystemStyles(others);
|
|
@@ -176,7 +182,10 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
176
182
|
className,
|
|
177
183
|
style,
|
|
178
184
|
__staticSelector: "ColorInput",
|
|
179
|
-
sx
|
|
185
|
+
sx,
|
|
186
|
+
errorProps,
|
|
187
|
+
descriptionProps,
|
|
188
|
+
labelProps
|
|
180
189
|
}, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement("div", {
|
|
181
190
|
ref: setReferenceElement
|
|
182
191
|
}, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues({}, rest), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorInput.js","sources":["../../../src/components/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n ClassNames,\n extractSystemStyles,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { InputWrapper, InputWrapperBaseProps, InputWrapperStylesNames } from '../InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { Popper } from '../Popper';\nimport { MantineTransition } from '../Transition';\nimport { Paper } from '../Paper';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport useStyles from './ColorInput.styles';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | ClassNames<typeof useStyles>;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputBaseProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Dropdown transition name or object */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration in ms */\n transitionDuration?: number;\n\n /** Dropdown transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n}\n\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\n};\n\nconst ARROW_OFFSET = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 21,\n xl: 25,\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transition: 'pop-top-left',\n dropdownZIndex: getDefaultZIndex('popover'),\n transitionDuration: 0,\n withinPortal: true,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>(\n (props: ColorInputProps, ref) => {\n const {\n label,\n description,\n error,\n required,\n wrapperProps,\n size,\n format,\n onChange,\n onFocus,\n onBlur,\n value,\n defaultValue,\n classNames,\n styles,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transition,\n id,\n dropdownZIndex,\n transitionDuration,\n transitionTimingFunction,\n withinPortal,\n className,\n style,\n swatches,\n sx,\n ...others\n } = useMantineDefaultProps('ColorInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { disallowInput },\n { classNames, styles, name: 'ColorInput' }\n );\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useUuid(id);\n const [referenceElement, setReferenceElement] = useState<HTMLDivElement>(null);\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n rule: (val) => !!val && val.trim().length > 0,\n onChange,\n });\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setDropdownOpened(false);\n fixOnBlur && setValue(lastValidValue);\n };\n\n useEffect(() => {\n if (isColorValid(_value)) {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <InputWrapper\n label={label}\n description={description}\n error={error}\n required={required}\n classNames={classNames}\n styles={styles}\n size={size}\n id={uuid}\n className={className}\n style={style}\n __staticSelector=\"ColorInput\"\n sx={sx}\n {...systemStyles}\n {...wrapperProps}\n >\n <div ref={setReferenceElement}>\n <Input<'input'>\n {...rest}\n ref={ref}\n __staticSelector=\"ColorInput\"\n id={uuid}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n spellCheck={false}\n size={size}\n value={_value}\n onChange={(event) => setValue(event.currentTarget.value)}\n invalid={!!error}\n required={required}\n autoComplete=\"nope\"\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={theme.fn.size({ size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput}\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n styles={styles}\n />\n </div>\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={dropdownOpened}\n position=\"bottom\"\n placement=\"start\"\n gutter={5}\n arrowSize={3}\n zIndex={dropdownZIndex}\n arrowStyle={{ left: theme.fn.size({ size, sizes: ARROW_OFFSET }) }}\n withinPortal={withinPortal}\n >\n <div style={{ pointerEvents: 'all' }}>\n <Paper<'div'>\n shadow=\"sm\"\n p={size}\n className={classes.dropdownBody}\n onMouseDown={(event) => event.preventDefault()}\n >\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={size}\n focusable={false}\n styles={styles}\n classNames={classNames}\n />\n </Paper>\n </div>\n </Popper>\n </InputWrapper>\n );\n }\n);\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorInput.js","sources":["../../../src/components/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n ClassNames,\n extractSystemStyles,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { InputWrapper, InputWrapperBaseProps, InputWrapperStylesNames } from '../InputWrapper';\nimport { Input, InputBaseProps, InputStylesNames } from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { Popper } from '../Popper';\nimport { MantineTransition } from '../Transition';\nimport { Paper } from '../Paper';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport useStyles from './ColorInput.styles';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | ClassNames<typeof useStyles>;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputBaseProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Dropdown transition name or object */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration in ms */\n transitionDuration?: number;\n\n /** Dropdown transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n}\n\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\n};\n\nconst ARROW_OFFSET = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 21,\n xl: 25,\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transition: 'pop-top-left',\n dropdownZIndex: getDefaultZIndex('popover'),\n transitionDuration: 0,\n withinPortal: true,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>(\n (props: ColorInputProps, ref) => {\n const {\n label,\n description,\n error,\n required,\n wrapperProps,\n size,\n format,\n onChange,\n onFocus,\n onBlur,\n value,\n defaultValue,\n classNames,\n styles,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transition,\n id,\n dropdownZIndex,\n transitionDuration,\n transitionTimingFunction,\n withinPortal,\n className,\n style,\n swatches,\n sx,\n errorProps,\n labelProps,\n descriptionProps,\n ...others\n } = useMantineDefaultProps('ColorInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { disallowInput },\n { classNames, styles, name: 'ColorInput' }\n );\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useUuid(id);\n const [referenceElement, setReferenceElement] = useState<HTMLDivElement>(null);\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n rule: (val) => !!val && val.trim().length > 0,\n onChange,\n });\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setDropdownOpened(false);\n fixOnBlur && setValue(lastValidValue);\n };\n\n useEffect(() => {\n if (isColorValid(_value)) {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <InputWrapper\n label={label}\n description={description}\n error={error}\n required={required}\n classNames={classNames}\n styles={styles}\n size={size}\n id={uuid}\n className={className}\n style={style}\n __staticSelector=\"ColorInput\"\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n {...systemStyles}\n {...wrapperProps}\n >\n <div ref={setReferenceElement}>\n <Input<'input'>\n {...rest}\n ref={ref}\n __staticSelector=\"ColorInput\"\n id={uuid}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n spellCheck={false}\n size={size}\n value={_value}\n onChange={(event) => setValue(event.currentTarget.value)}\n invalid={!!error}\n required={required}\n autoComplete=\"nope\"\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={theme.fn.size({ size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput}\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n styles={styles}\n />\n </div>\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={dropdownOpened}\n position=\"bottom\"\n placement=\"start\"\n gutter={5}\n arrowSize={3}\n zIndex={dropdownZIndex}\n arrowStyle={{ left: theme.fn.size({ size, sizes: ARROW_OFFSET }) }}\n withinPortal={withinPortal}\n >\n <div style={{ pointerEvents: 'all' }}>\n <Paper<'div'>\n shadow=\"sm\"\n p={size}\n className={classes.dropdownBody}\n onMouseDown={(event) => event.preventDefault()}\n >\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={size}\n focusable={false}\n styles={styles}\n classNames={classNames}\n />\n </Paper>\n </div>\n </Popper>\n </InputWrapper>\n );\n }\n);\n\nColorInput.displayName = '@mantine/core/ColorInput';\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;AAkBF,MAAM,YAAY,GAAG;AACrB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,cAAc,EAAE,EAAE;AACpB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC;AAC7C,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,YAAY,EAAE,IAAI;AACpB,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACrD,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACxE,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,EAAE;AACN,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1G,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC7D,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3D,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,EAAE;AAClB,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AACjD,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1C,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1D,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC;AACzF,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9E,IAAI,GAAG,EAAE,mBAAmB;AAC5B,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACxF,IAAI,GAAG;AACP,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5D,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,QAAQ;AACZ,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,mBAAmB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AAClF,MAAM,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM;AACnD,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACxD,KAAK,CAAC,GAAG,IAAI,CAAC;AACd,IAAI,QAAQ,EAAE,aAAa;AAC3B,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3I,IAAI,MAAM;AACV,GAAG,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACpD,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,UAAU;AACd,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE;AACtE,IAAI,YAAY;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;AACnC,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE;AAClD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACtD,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,MAAM;AACV,IAAI,UAAU;AACd,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useGridContext } from '../Grid.context.js';
|
|
2
3
|
import useStyles from './Col.styles.js';
|
|
3
4
|
import { Box } from '../../Box/Box.js';
|
|
4
5
|
|
|
@@ -37,20 +38,17 @@ function Col(_a) {
|
|
|
37
38
|
var _b = _a, {
|
|
38
39
|
children,
|
|
39
40
|
span,
|
|
40
|
-
gutter,
|
|
41
41
|
offset = 0,
|
|
42
42
|
offsetXs = 0,
|
|
43
43
|
offsetSm = 0,
|
|
44
44
|
offsetMd = 0,
|
|
45
45
|
offsetLg = 0,
|
|
46
46
|
offsetXl = 0,
|
|
47
|
-
grow,
|
|
48
47
|
xs,
|
|
49
48
|
sm,
|
|
50
49
|
md,
|
|
51
50
|
lg,
|
|
52
51
|
xl,
|
|
53
|
-
columns,
|
|
54
52
|
className,
|
|
55
53
|
classNames,
|
|
56
54
|
styles,
|
|
@@ -58,25 +56,23 @@ function Col(_a) {
|
|
|
58
56
|
} = _b, others = __objRest(_b, [
|
|
59
57
|
"children",
|
|
60
58
|
"span",
|
|
61
|
-
"gutter",
|
|
62
59
|
"offset",
|
|
63
60
|
"offsetXs",
|
|
64
61
|
"offsetSm",
|
|
65
62
|
"offsetMd",
|
|
66
63
|
"offsetLg",
|
|
67
64
|
"offsetXl",
|
|
68
|
-
"grow",
|
|
69
65
|
"xs",
|
|
70
66
|
"sm",
|
|
71
67
|
"md",
|
|
72
68
|
"lg",
|
|
73
69
|
"xl",
|
|
74
|
-
"columns",
|
|
75
70
|
"className",
|
|
76
71
|
"classNames",
|
|
77
72
|
"styles",
|
|
78
73
|
"id"
|
|
79
74
|
]);
|
|
75
|
+
const { columns, gutter, grow } = useGridContext("Grid.Col");
|
|
80
76
|
const { classes, cx } = useStyles({
|
|
81
77
|
gutter,
|
|
82
78
|
offset,
|
|
@@ -103,5 +99,5 @@ function Col(_a) {
|
|
|
103
99
|
}
|
|
104
100
|
Col.displayName = "@mantine/core/Col";
|
|
105
101
|
|
|
106
|
-
export { Col
|
|
102
|
+
export { Col };
|
|
107
103
|
//# sourceMappingURL=Col.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Col.js","sources":["../../../../src/components/Grid/Col/Col.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps
|
|
1
|
+
{"version":3,"file":"Col.js","sources":["../../../../src/components/Grid/Col/Col.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { useGridContext } from '../Grid.context';\nimport useStyles from './Col.styles';\n\nexport interface ColProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Default col span */\n span?: number;\n\n /** Column left offset */\n offset?: number;\n\n /** Column left offset at (min-width: theme.breakpoints.xs) */\n offsetXs?: number;\n\n /** Column left offset at (min-width: theme.breakpoints.sm) */\n offsetSm?: number;\n\n /** Column left offset at (min-width: theme.breakpoints.md) */\n offsetMd?: number;\n\n /** Column left offset at (min-width: theme.breakpoints.lg) */\n offsetLg?: number;\n\n /** Column left offset at (min-width: theme.breakpoints.xl) */\n offsetXl?: number;\n\n /** Col span at (min-width: theme.breakpoints.xs) */\n xs?: number;\n\n /** Col span at (min-width: theme.breakpoints.sm) */\n sm?: number;\n\n /** Col span at (min-width: theme.breakpoints.md) */\n md?: number;\n\n /** Col span at (min-width: theme.breakpoints.lg) */\n lg?: number;\n\n /** Col span at (min-width: theme.breakpoints.xl) */\n xl?: number;\n}\n\nfunction isValidSpan(span: number) {\n return typeof span === 'number' && span > 0 && span % 1 === 0;\n}\n\nexport function Col({\n children,\n span,\n offset = 0,\n offsetXs = 0,\n offsetSm = 0,\n offsetMd = 0,\n offsetLg = 0,\n offsetXl = 0,\n xs,\n sm,\n md,\n lg,\n xl,\n className,\n classNames,\n styles,\n id,\n ...others\n}: ColProps) {\n const { columns, gutter, grow } = useGridContext('Grid.Col');\n const { classes, cx } = useStyles(\n {\n gutter,\n offset,\n offsetXs,\n offsetSm,\n offsetMd,\n offsetLg,\n offsetXl,\n xs,\n sm,\n md,\n lg,\n xl,\n grow,\n columns,\n span,\n },\n { classNames, styles, name: 'Col' }\n );\n\n if (!isValidSpan(span) || span > columns) {\n return null;\n }\n\n return (\n <Box className={cx(classes.root, className)} {...others}>\n {children}\n </Box>\n );\n}\n\nCol.displayName = '@mantine/core/Col';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.context.js","sources":["../../../src/components/Grid/Grid.context.ts"],"sourcesContent":["import type { MantineNumberSize } from '@mantine/styles';\nimport { createUseContext } from '../../utils';\n\ninterface GridContextValue {\n gutter: MantineNumberSize;\n grow: boolean;\n columns: number;\n}\n\nexport const [GridProvider, useGridContext] = createUseContext<GridContextValue>(null);\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,gBAAgB,CAAC,IAAI;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef, Children } from 'react';
|
|
2
2
|
import { useMantineDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { Col } from './Col/Col.js';
|
|
4
|
+
import { GridProvider } from './Grid.context.js';
|
|
4
5
|
import useStyles from './Grid.styles.js';
|
|
5
6
|
import { Box } from '../Box/Box.js';
|
|
6
7
|
|
|
@@ -70,10 +71,12 @@ const Grid = forwardRef((props, ref) => {
|
|
|
70
71
|
span: col.props.span || columns,
|
|
71
72
|
key: index
|
|
72
73
|
}));
|
|
73
|
-
return /* @__PURE__ */ React.createElement(
|
|
74
|
+
return /* @__PURE__ */ React.createElement(GridProvider, {
|
|
75
|
+
value: { gutter, grow, columns }
|
|
76
|
+
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
74
77
|
className: cx(classes.root, className),
|
|
75
78
|
ref
|
|
76
|
-
}, others), cols);
|
|
79
|
+
}, others), cols));
|
|
77
80
|
});
|
|
78
81
|
Grid.Col = Col;
|
|
79
82
|
Grid.displayName = "@mantine/core/Grid";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.js","sources":["../../../src/components/Grid/Grid.tsx"],"sourcesContent":["import React, { Children, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Col } from './Col/Col';\nimport useStyles from './Grid.styles';\n\nexport interface GridProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** <Col /> components only */\n children: React.ReactNode;\n\n /** Spacing between columns predefined value from theme.spacing or number for gutter in px */\n gutter?: MantineNumberSize;\n\n /** Should columns in the last row take 100% of grid width */\n grow?: boolean;\n\n /** Set grid justify-content property */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Set grid align-content property */\n align?: React.CSSProperties['alignContent'];\n\n /** Amount of columns in each row */\n columns?: number;\n}\n\ntype GridComponent = ForwardRefWithStaticComponents<GridProps, { Col: typeof Col }>;\n\nconst defaultProps: Partial<GridProps> = {\n gutter: 'md',\n justify: 'flex-start',\n align: 'stretch',\n columns: 12,\n};\n\nexport const Grid: GridComponent = forwardRef<HTMLDivElement, GridProps>(\n (props: GridProps, ref) => {\n const {\n gutter,\n children,\n grow,\n justify,\n align,\n columns,\n className,\n classNames,\n styles,\n id,\n ...others\n } = useMantineDefaultProps('Grid', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { gutter, justify, align },\n { classNames, styles, name: 'Grid' }\n );\n\n const cols = (Children.toArray(children) as React.ReactElement[]).map((col, index) =>\n React.cloneElement(col, {\n gutter,\n grow,\n columns,\n span: col.props.span || columns,\n key: index,\n })\n );\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n
|
|
1
|
+
{"version":3,"file":"Grid.js","sources":["../../../src/components/Grid/Grid.tsx"],"sourcesContent":["import React, { Children, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Col } from './Col/Col';\nimport { GridProvider } from './Grid.context';\nimport useStyles from './Grid.styles';\n\nexport interface GridProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** <Col /> components only */\n children: React.ReactNode;\n\n /** Spacing between columns predefined value from theme.spacing or number for gutter in px */\n gutter?: MantineNumberSize;\n\n /** Should columns in the last row take 100% of grid width */\n grow?: boolean;\n\n /** Set grid justify-content property */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Set grid align-content property */\n align?: React.CSSProperties['alignContent'];\n\n /** Amount of columns in each row */\n columns?: number;\n}\n\ntype GridComponent = ForwardRefWithStaticComponents<GridProps, { Col: typeof Col }>;\n\nconst defaultProps: Partial<GridProps> = {\n gutter: 'md',\n justify: 'flex-start',\n align: 'stretch',\n columns: 12,\n};\n\nexport const Grid: GridComponent = forwardRef<HTMLDivElement, GridProps>(\n (props: GridProps, ref) => {\n const {\n gutter,\n children,\n grow,\n justify,\n align,\n columns,\n className,\n classNames,\n styles,\n id,\n ...others\n } = useMantineDefaultProps('Grid', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { gutter, justify, align },\n { classNames, styles, name: 'Grid' }\n );\n\n const cols = (Children.toArray(children) as React.ReactElement[]).map((col, index) =>\n React.cloneElement(col, {\n gutter,\n grow,\n columns,\n span: col.props.span || columns,\n key: index,\n })\n );\n\n return (\n <GridProvider value={{ gutter, grow, columns }}>\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {cols}\n </Box>\n </GridProvider>\n );\n }\n) as any;\n\nGrid.Col = Col;\nGrid.displayName = '@mantine/core/Grid';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createUseContext } from '../../utils/create-use-context/create-use-context.js';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
function useMenuContext(component = "Item") {
|
|
5
|
-
const ctx = useContext(MenuContext);
|
|
6
|
-
if (!ctx) {
|
|
7
|
-
throw new Error(`Menu.${component} component was rendered outside of Menu context`);
|
|
8
|
-
}
|
|
9
|
-
return ctx;
|
|
10
|
-
}
|
|
3
|
+
const [MenuProvider, useMenuContext] = createUseContext(null);
|
|
11
4
|
|
|
12
|
-
export {
|
|
5
|
+
export { MenuProvider, useMenuContext };
|
|
13
6
|
//# sourceMappingURL=Menu.context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.context.js","sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Menu.context.js","sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import { MantineNumberSize, MantineTheme, CSSObject } from '@mantine/styles';\nimport { createUseContext } from '../../utils';\nimport type { MenuStylesNames } from './Menu';\n\ninterface MenuContextValue {\n hovered: number;\n radius: MantineNumberSize;\n classNames: Partial<Record<MenuStylesNames, string>>;\n styles:\n | Partial<Record<MenuStylesNames, CSSObject>>\n | ((theme: MantineTheme) => Partial<Record<MenuStylesNames, CSSObject>>);\n onItemHover(index: number): void;\n onItemKeyDown(event: React.KeyboardEvent<HTMLElement>): void;\n onItemClick(): void;\n}\n\nexport const [MenuProvider, useMenuContext] = createUseContext<MenuContextValue>(null);\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,gBAAgB,CAAC,IAAI;;;;"}
|
|
@@ -4,7 +4,7 @@ import { getDefaultZIndex, useMantineDefaultProps } from '@mantine/styles';
|
|
|
4
4
|
import { MenuIcon } from './MenuIcon.js';
|
|
5
5
|
import { MenuItem } from './MenuItem/MenuItem.js';
|
|
6
6
|
import { MenuLabel } from './MenuLabel/MenuLabel.js';
|
|
7
|
-
import {
|
|
7
|
+
import { MenuProvider } from './Menu.context.js';
|
|
8
8
|
import useStyles from './Menu.styles.js';
|
|
9
9
|
import { Box } from '../Box/Box.js';
|
|
10
10
|
import { Popper } from '../Popper/Popper.js';
|
|
@@ -254,7 +254,7 @@ const Menu = forwardRef((props, ref) => {
|
|
|
254
254
|
trigger === "click" && focusReference();
|
|
255
255
|
}
|
|
256
256
|
};
|
|
257
|
-
return /* @__PURE__ */ React.createElement(
|
|
257
|
+
return /* @__PURE__ */ React.createElement(MenuProvider, {
|
|
258
258
|
value: {
|
|
259
259
|
hovered,
|
|
260
260
|
radius,
|
|
@@ -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 useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Paper } from '../Paper';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesNames } from './MenuLabel/MenuLabel';\nimport { MenuContext } from './Menu.context';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | ClassNames<typeof useStyles>\n | MenuItemStylesNames\n | MenuLabelStylesNames;\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: HTMLButtonElement[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: HTMLButtonElement[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n if (!items[active]) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const { classes, cx } = 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 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<HTMLElement>) => {\n if (_opened) {\n const elements = Array.from(\n dropdownElement.querySelectorAll<HTMLButtonElement>('.mantine-Menu-item')\n );\n\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, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, elements);\n setHovered(prevIndex);\n elements[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 handleItemClick = () => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n };\n\n return (\n <MenuContext.Provider\n value={{\n hovered,\n radius,\n styles,\n classNames,\n onItemHover: setHovered,\n onItemKeyDown: handleKeyDown,\n onItemClick: handleItemClick,\n }}\n >\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 {children}\n </Paper>\n </Popper>\n </Box>\n </MenuContext.Provider>\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 useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Paper } from '../Paper';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesNames } from './MenuLabel/MenuLabel';\nimport { MenuProvider } from './Menu.context';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | ClassNames<typeof useStyles>\n | MenuItemStylesNames\n | MenuLabelStylesNames;\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: HTMLButtonElement[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: HTMLButtonElement[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n if (!items[active]) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const { classes, cx } = 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 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<HTMLElement>) => {\n if (_opened) {\n const elements = Array.from(\n dropdownElement.querySelectorAll<HTMLButtonElement>('.mantine-Menu-item')\n );\n\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, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, elements);\n setHovered(prevIndex);\n elements[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 handleItemClick = () => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n };\n\n return (\n <MenuProvider\n value={{\n hovered,\n radius,\n styles,\n classNames,\n onItemHover: setHovered,\n onItemKeyDown: handleKeyDown,\n onItemClick: handleItemClick,\n }}\n >\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 {children}\n </Paper>\n </Popper>\n </Box>\n </MenuProvider>\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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"}
|
|
@@ -54,7 +54,7 @@ const _MenuItem = forwardRef((_a, ref) => {
|
|
|
54
54
|
"onClick"
|
|
55
55
|
]);
|
|
56
56
|
const itemRef = useRef();
|
|
57
|
-
const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } = useMenuContext();
|
|
57
|
+
const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } = useMenuContext("Menu.Item");
|
|
58
58
|
const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: "Menu" });
|
|
59
59
|
const itemIndex = getContextItemIndex({ elementSelector: ".mantine-Menu-item", parentClassName: "mantine-Menu-body" }, itemRef.current);
|
|
60
60
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { ClassNames, PolymorphicComponentProps, DefaultProps, MantineColor } from '@mantine/styles';\nimport { mergeRefs } from '@mantine/hooks';\nimport { Box } from '../../Box';\nimport { useMenuContext } from '../Menu.context';\nimport { getContextItemIndex } from '../../../utils';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SharedMenuItemProps extends DefaultProps {\n /** Item label */\n children: React.ReactNode;\n\n /** Icon rendered on the left side of label */\n icon?: React.ReactNode;\n\n /** Any color from theme.colors */\n color?: MantineColor;\n\n /** Any react node to render on the right side of item, for example, keyboard shortcut or badge */\n rightSection?: React.ReactNode;\n\n /** Is item disabled */\n disabled?: boolean;\n}\n\ninterface _MenuItemProps\n extends SharedMenuItemProps,\n Omit<React.ComponentPropsWithoutRef<'button'>, keyof SharedMenuItemProps> {\n component: any;\n}\n\nexport const _MenuItem = forwardRef(\n (\n {\n className,\n children,\n icon,\n color,\n disabled,\n rightSection,\n component,\n onClick,\n ...others\n }: _MenuItemProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const itemRef = useRef<HTMLButtonElement>();\n const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } =\n useMenuContext();\n const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: 'Menu' });\n const itemIndex = getContextItemIndex(\n { elementSelector: '.mantine-Menu-item', parentClassName: 'mantine-Menu-body' },\n itemRef.current\n );\n\n return (\n <Box\n component={component || 'button'}\n type=\"button\"\n role=\"menuitem\"\n className={cx(classes.item, { [classes.itemHovered]: hovered === itemIndex }, className)}\n onMouseEnter={() => !disabled && onItemHover(itemIndex)}\n onMouseLeave={() => onItemHover(-1)}\n onKeyDown={onItemKeyDown}\n ref={mergeRefs(ref, itemRef)}\n disabled={disabled}\n onClick={(event: React.MouseEvent<any, MouseEvent>) => {\n typeof onClick === 'function' && onClick(event);\n onItemClick();\n }}\n {...others}\n >\n <div className={classes.itemInner}>\n {icon && <div className={classes.itemIcon}>{icon}</div>}\n\n <div className={classes.itemBody}>\n <div className={classes.itemLabel}>{children}</div>\n {rightSection}\n </div>\n </div>\n </Box>\n );\n }\n);\n\nexport type MenuItemProps<C> = PolymorphicComponentProps<C, SharedMenuItemProps>;\ntype MenuItemComponent = <C = 'button'>(props: MenuItemProps<C>) => React.ReactElement;\n\nexport const MenuItem: MenuItemComponent & { displayName?: string } = _MenuItem as any;\n\nMenuItem.displayName = '@mantine/core/MenuItem';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { ClassNames, PolymorphicComponentProps, DefaultProps, MantineColor } from '@mantine/styles';\nimport { mergeRefs } from '@mantine/hooks';\nimport { Box } from '../../Box';\nimport { useMenuContext } from '../Menu.context';\nimport { getContextItemIndex } from '../../../utils';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SharedMenuItemProps extends DefaultProps {\n /** Item label */\n children: React.ReactNode;\n\n /** Icon rendered on the left side of label */\n icon?: React.ReactNode;\n\n /** Any color from theme.colors */\n color?: MantineColor;\n\n /** Any react node to render on the right side of item, for example, keyboard shortcut or badge */\n rightSection?: React.ReactNode;\n\n /** Is item disabled */\n disabled?: boolean;\n}\n\ninterface _MenuItemProps\n extends SharedMenuItemProps,\n Omit<React.ComponentPropsWithoutRef<'button'>, keyof SharedMenuItemProps> {\n component: any;\n}\n\nexport const _MenuItem = forwardRef(\n (\n {\n className,\n children,\n icon,\n color,\n disabled,\n rightSection,\n component,\n onClick,\n ...others\n }: _MenuItemProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const itemRef = useRef<HTMLButtonElement>();\n const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } =\n useMenuContext('Menu.Item');\n const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: 'Menu' });\n const itemIndex = getContextItemIndex(\n { elementSelector: '.mantine-Menu-item', parentClassName: 'mantine-Menu-body' },\n itemRef.current\n );\n\n return (\n <Box\n component={component || 'button'}\n type=\"button\"\n role=\"menuitem\"\n className={cx(classes.item, { [classes.itemHovered]: hovered === itemIndex }, className)}\n onMouseEnter={() => !disabled && onItemHover(itemIndex)}\n onMouseLeave={() => onItemHover(-1)}\n onKeyDown={onItemKeyDown}\n ref={mergeRefs(ref, itemRef)}\n disabled={disabled}\n onClick={(event: React.MouseEvent<any, MouseEvent>) => {\n typeof onClick === 'function' && onClick(event);\n onItemClick();\n }}\n {...others}\n >\n <div className={classes.itemInner}>\n {icon && <div className={classes.itemIcon}>{icon}</div>}\n\n <div className={classes.itemBody}>\n <div className={classes.itemLabel}>{children}</div>\n {rightSection}\n </div>\n </div>\n </Box>\n );\n }\n);\n\nexport type MenuItemProps<C> = PolymorphicComponentProps<C, SharedMenuItemProps>;\ntype MenuItemComponent = <C = 'button'>(props: MenuItemProps<C>) => React.ReactElement;\n\nexport const MenuItem: MenuItemComponent & { displayName?: string } = _MenuItem as any;\n\nMenuItem.displayName = '@mantine/core/MenuItem';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ var __spreadValues = (a, b) => {
|
|
|
20
20
|
return a;
|
|
21
21
|
};
|
|
22
22
|
function MenuLabel(props) {
|
|
23
|
-
const { classNames, styles } = useMenuContext("Label");
|
|
23
|
+
const { classNames, styles } = useMenuContext("Menu.Label");
|
|
24
24
|
const { classes } = useStyles(null, { name: "Menu", classNames, styles });
|
|
25
25
|
return /* @__PURE__ */ React.createElement(Text, __spreadValues({
|
|
26
26
|
className: classes.label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuLabel.js","sources":["../../../../src/components/Menu/MenuLabel/MenuLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { ClassNames, DefaultProps } from '@mantine/styles';\nimport { SharedTextProps, Text } from '../../Text/Text';\nimport { useMenuContext } from '../Menu.context';\nimport useStyles from './MenuLabel.styles';\n\nexport type MenuLabelStylesNames = ClassNames<typeof useStyles>;\n\nexport interface MenuLabelProps\n extends DefaultProps,\n SharedTextProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> {\n /** Label content */\n children: React.ReactNode;\n}\n\nexport interface MenuLabelType {\n type: any;\n props: MenuLabelProps;\n ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement) => void);\n}\n\nexport function MenuLabel(props: MenuLabelProps) {\n const { classNames, styles } = useMenuContext('Label');\n const { classes } = useStyles(null, { name: 'Menu', classNames, styles });\n return <Text className={classes.label} {...props} />;\n}\n\nMenuLabel.displayName = '@mantine/core/MenuLabel';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAKK,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"MenuLabel.js","sources":["../../../../src/components/Menu/MenuLabel/MenuLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { ClassNames, DefaultProps } from '@mantine/styles';\nimport { SharedTextProps, Text } from '../../Text/Text';\nimport { useMenuContext } from '../Menu.context';\nimport useStyles from './MenuLabel.styles';\n\nexport type MenuLabelStylesNames = ClassNames<typeof useStyles>;\n\nexport interface MenuLabelProps\n extends DefaultProps,\n SharedTextProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> {\n /** Label content */\n children: React.ReactNode;\n}\n\nexport interface MenuLabelType {\n type: any;\n props: MenuLabelProps;\n ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement) => void);\n}\n\nexport function MenuLabel(props: MenuLabelProps) {\n const { classNames, styles } = useMenuContext('Menu.Label');\n const { classes } = useStyles(null, { name: 'Menu', classNames, styles });\n return <Text className={classes.label} {...props} />;\n}\n\nMenuLabel.displayName = '@mantine/core/MenuLabel';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAKK,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAC9D,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5E,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC;AAClE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb,CAAC;AACD,SAAS,CAAC,WAAW,GAAG,yBAAyB;;;;"}
|
|
@@ -133,7 +133,10 @@ const MultiSelect = forwardRef((props, ref) => {
|
|
|
133
133
|
zIndex,
|
|
134
134
|
selectOnBlur,
|
|
135
135
|
name,
|
|
136
|
-
dropdownPosition
|
|
136
|
+
dropdownPosition,
|
|
137
|
+
errorProps,
|
|
138
|
+
labelProps,
|
|
139
|
+
descriptionProps
|
|
137
140
|
} = _a, others = __objRest(_a, [
|
|
138
141
|
"className",
|
|
139
142
|
"style",
|
|
@@ -190,7 +193,10 @@ const MultiSelect = forwardRef((props, ref) => {
|
|
|
190
193
|
"zIndex",
|
|
191
194
|
"selectOnBlur",
|
|
192
195
|
"name",
|
|
193
|
-
"dropdownPosition"
|
|
196
|
+
"dropdownPosition",
|
|
197
|
+
"errorProps",
|
|
198
|
+
"labelProps",
|
|
199
|
+
"descriptionProps"
|
|
194
200
|
]);
|
|
195
201
|
const { classes, cx, theme } = useStyles({ size, invalid: !!error }, { classNames, styles, name: "MultiSelect" });
|
|
196
202
|
const { systemStyles, rest } = extractSystemStyles(others);
|
|
@@ -425,7 +431,10 @@ const MultiSelect = forwardRef((props, ref) => {
|
|
|
425
431
|
classNames,
|
|
426
432
|
styles,
|
|
427
433
|
__staticSelector: "MultiSelect",
|
|
428
|
-
sx
|
|
434
|
+
sx,
|
|
435
|
+
errorProps,
|
|
436
|
+
descriptionProps,
|
|
437
|
+
labelProps
|
|
429
438
|
}, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement("div", {
|
|
430
439
|
className: classes.wrapper,
|
|
431
440
|
role: "combobox",
|