@mantine/core 5.6.0 → 5.6.2
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/Checkbox/Checkbox.js +17 -20
- package/cjs/Checkbox/Checkbox.js.map +1 -1
- package/cjs/Checkbox/Checkbox.styles.js +0 -27
- package/cjs/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/Floating/FloatingArrow/FloatingArrow.js +20 -1
- package/cjs/Floating/FloatingArrow/FloatingArrow.js.map +1 -1
- package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js +9 -1
- package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
- package/cjs/InlineInput/InlineInput.js +92 -0
- package/cjs/InlineInput/InlineInput.js.map +1 -0
- package/cjs/InlineInput/InlineInput.styles.js +64 -0
- package/cjs/InlineInput/InlineInput.styles.js.map +1 -0
- package/cjs/Input/use-input-props.js.map +1 -1
- package/cjs/Modal/Modal.js +6 -5
- package/cjs/Modal/Modal.js.map +1 -1
- package/cjs/Modal/Modal.styles.js +1 -2
- package/cjs/Modal/Modal.styles.js.map +1 -1
- package/cjs/MultiSelect/DefaultValue/DefaultValue.js +5 -3
- package/cjs/MultiSelect/DefaultValue/DefaultValue.js.map +1 -1
- package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js +2 -2
- package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/cjs/MultiSelect/MultiSelect.js +1 -0
- package/cjs/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/NativeSelect/NativeSelect.js +0 -11
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/Popover/Popover.context.js.map +1 -1
- package/cjs/Popover/Popover.js +16 -9
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +3 -2
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Radio/Radio.js +17 -20
- package/cjs/Radio/Radio.js.map +1 -1
- package/cjs/Radio/Radio.styles.js +0 -26
- package/cjs/Radio/Radio.styles.js.map +1 -1
- package/cjs/Rating/Rating.js +16 -10
- package/cjs/Rating/Rating.js.map +1 -1
- package/cjs/Rating/RatingItem/RatingItem.js +4 -3
- package/cjs/Rating/RatingItem/RatingItem.js.map +1 -1
- package/cjs/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/cjs/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/cjs/Switch/Switch.js +24 -24
- package/cjs/Switch/Switch.js.map +1 -1
- package/cjs/Switch/Switch.styles.js +0 -27
- package/cjs/Switch/Switch.styles.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +7 -0
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/TransferList/RenderList/RenderList.js +16 -6
- package/cjs/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/TransferList/TransferList.js +32 -4
- package/cjs/TransferList/TransferList.js.map +1 -1
- package/esm/Checkbox/Checkbox.js +17 -20
- package/esm/Checkbox/Checkbox.js.map +1 -1
- package/esm/Checkbox/Checkbox.styles.js +0 -27
- package/esm/Checkbox/Checkbox.styles.js.map +1 -1
- package/esm/Floating/FloatingArrow/FloatingArrow.js +20 -1
- package/esm/Floating/FloatingArrow/FloatingArrow.js.map +1 -1
- package/esm/Floating/FloatingArrow/get-arrow-position-styles.js +9 -1
- package/esm/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
- package/esm/InlineInput/InlineInput.js +84 -0
- package/esm/InlineInput/InlineInput.js.map +1 -0
- package/esm/InlineInput/InlineInput.styles.js +60 -0
- package/esm/InlineInput/InlineInput.styles.js.map +1 -0
- package/esm/Input/use-input-props.js.map +1 -1
- package/esm/Modal/Modal.js +6 -5
- package/esm/Modal/Modal.js.map +1 -1
- package/esm/Modal/Modal.styles.js +1 -2
- package/esm/Modal/Modal.styles.js.map +1 -1
- package/esm/MultiSelect/DefaultValue/DefaultValue.js +5 -3
- package/esm/MultiSelect/DefaultValue/DefaultValue.js.map +1 -1
- package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js +2 -2
- package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/esm/MultiSelect/MultiSelect.js +1 -0
- package/esm/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/NativeSelect/NativeSelect.js +0 -11
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/Popover/Popover.context.js.map +1 -1
- package/esm/Popover/Popover.js +17 -10
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +3 -2
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Radio/Radio.js +17 -20
- package/esm/Radio/Radio.js.map +1 -1
- package/esm/Radio/Radio.styles.js +0 -26
- package/esm/Radio/Radio.styles.js.map +1 -1
- package/esm/Rating/Rating.js +16 -10
- package/esm/Rating/Rating.js.map +1 -1
- package/esm/Rating/RatingItem/RatingItem.js +5 -4
- package/esm/Rating/RatingItem/RatingItem.js.map +1 -1
- package/esm/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/esm/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/esm/Switch/Switch.js +24 -24
- package/esm/Switch/Switch.js.map +1 -1
- package/esm/Switch/Switch.styles.js +0 -27
- package/esm/Switch/Switch.styles.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +7 -0
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/TransferList/RenderList/RenderList.js +16 -6
- package/esm/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/TransferList/TransferList.js +32 -4
- package/esm/TransferList/TransferList.js.map +1 -1
- package/lib/Checkbox/Checkbox.d.ts +2 -1
- package/lib/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/Checkbox/Checkbox.styles.d.ts +2 -2
- package/lib/Checkbox/Checkbox.styles.d.ts.map +1 -1
- package/lib/Floating/FloatingArrow/FloatingArrow.d.ts +1 -0
- package/lib/Floating/FloatingArrow/FloatingArrow.d.ts.map +1 -1
- package/lib/Floating/FloatingArrow/get-arrow-position-styles.d.ts +2 -1
- package/lib/Floating/FloatingArrow/get-arrow-position-styles.d.ts.map +1 -1
- package/lib/InlineInput/InlineInput.d.ts +19 -0
- package/lib/InlineInput/InlineInput.d.ts.map +1 -0
- package/lib/InlineInput/InlineInput.styles.d.ts +12 -0
- package/lib/InlineInput/InlineInput.styles.d.ts.map +1 -0
- package/lib/InlineInput/index.d.ts +3 -0
- package/lib/InlineInput/index.d.ts.map +1 -0
- package/lib/Input/use-input-props.d.ts +64 -29
- package/lib/Input/use-input-props.d.ts.map +1 -1
- package/lib/Modal/Modal.d.ts +2 -0
- package/lib/Modal/Modal.d.ts.map +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts +3 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts.map +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.styles.d.ts +1 -0
- package/lib/MultiSelect/DefaultValue/DefaultValue.styles.d.ts.map +1 -1
- package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/NativeSelect/NativeSelect.d.ts +0 -2
- package/lib/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/NavLink/NavLink.styles.d.ts +2 -2
- package/lib/Notification/Notification.styles.d.ts +2 -2
- package/lib/Popover/Popover.context.d.ts +1 -0
- package/lib/Popover/Popover.context.d.ts.map +1 -1
- package/lib/Popover/Popover.d.ts +2 -0
- package/lib/Popover/Popover.d.ts.map +1 -1
- package/lib/Popover/PopoverDropdown/PopoverDropdown.d.ts.map +1 -1
- package/lib/Radio/Radio.d.ts +2 -1
- package/lib/Radio/Radio.d.ts.map +1 -1
- package/lib/Radio/Radio.styles.d.ts +2 -2
- package/lib/Radio/Radio.styles.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts.map +1 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts +2 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -1
- package/lib/Switch/Switch.d.ts +3 -2
- package/lib/Switch/Switch.d.ts.map +1 -1
- package/lib/Switch/Switch.styles.d.ts +2 -2
- package/lib/Switch/Switch.styles.d.ts.map +1 -1
- package/lib/Tooltip/Tooltip.d.ts +2 -0
- package/lib/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/TransferList/RenderList/RenderList.d.ts +10 -1
- package/lib/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/TransferList/TransferList.d.ts +17 -3
- package/lib/TransferList/TransferList.d.ts.map +1 -1
- package/package.json +4 -4
package/cjs/Switch/Switch.js
CHANGED
|
@@ -5,11 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var hooks = require('@mantine/hooks');
|
|
7
7
|
var styles = require('@mantine/styles');
|
|
8
|
-
var Switch_styles = require('./Switch.styles.js');
|
|
9
8
|
var SwitchGroup = require('./SwitchGroup/SwitchGroup.js');
|
|
10
9
|
var SwitchGroup_context = require('./SwitchGroup.context.js');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
10
|
+
var Switch_styles = require('./Switch.styles.js');
|
|
11
|
+
var InlineInput = require('../InlineInput/InlineInput.js');
|
|
13
12
|
|
|
14
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
15
14
|
|
|
@@ -77,7 +76,8 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
77
76
|
onChange,
|
|
78
77
|
labelPosition,
|
|
79
78
|
description,
|
|
80
|
-
error
|
|
79
|
+
error,
|
|
80
|
+
disabled
|
|
81
81
|
} = _a, others = __objRest(_a, [
|
|
82
82
|
"className",
|
|
83
83
|
"color",
|
|
@@ -100,10 +100,11 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
100
100
|
"onChange",
|
|
101
101
|
"labelPosition",
|
|
102
102
|
"description",
|
|
103
|
-
"error"
|
|
103
|
+
"error",
|
|
104
|
+
"disabled"
|
|
104
105
|
]);
|
|
105
106
|
const ctx = SwitchGroup_context.useSwitchGroupContext();
|
|
106
|
-
const { classes
|
|
107
|
+
const { classes } = Switch_styles['default']({ size: (ctx == null ? void 0 : ctx.size) || size, color, radius, labelPosition, error: !!error }, { unstyled, styles: styles$1, classNames, name: "Switch" });
|
|
107
108
|
const { systemStyles, rest } = styles.extractSystemStyles(others);
|
|
108
109
|
const uuid = hooks.useId(id);
|
|
109
110
|
const contextProps = ctx ? {
|
|
@@ -115,13 +116,23 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
115
116
|
defaultValue: defaultChecked,
|
|
116
117
|
finalValue: false
|
|
117
118
|
});
|
|
118
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
119
|
-
className
|
|
119
|
+
return /* @__PURE__ */ React__default.createElement(InlineInput.InlineInput, __spreadValues(__spreadValues({
|
|
120
|
+
className,
|
|
121
|
+
sx,
|
|
120
122
|
style,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
id: uuid,
|
|
124
|
+
size: (ctx == null ? void 0 : ctx.size) || size,
|
|
125
|
+
labelPosition,
|
|
126
|
+
label,
|
|
127
|
+
description,
|
|
128
|
+
error,
|
|
129
|
+
disabled,
|
|
130
|
+
__staticSelector: "Switch",
|
|
131
|
+
classNames,
|
|
132
|
+
styles: styles$1,
|
|
133
|
+
unstyled
|
|
134
|
+
}, systemStyles), wrapperProps), /* @__PURE__ */ React__default.createElement("input", __spreadProps(__spreadValues({}, rest), {
|
|
135
|
+
disabled,
|
|
125
136
|
checked: _checked,
|
|
126
137
|
onChange: (event) => {
|
|
127
138
|
ctx ? contextProps.onChange(event) : onChange == null ? void 0 : onChange(event);
|
|
@@ -138,18 +149,7 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
138
149
|
className: classes.thumb
|
|
139
150
|
}, thumbIcon), /* @__PURE__ */ React__default.createElement("div", {
|
|
140
151
|
className: classes.trackLabel
|
|
141
|
-
}, _checked ? onLabel : offLabel))
|
|
142
|
-
className: classes.labelWrapper
|
|
143
|
-
}, label && /* @__PURE__ */ React__default.createElement("label", {
|
|
144
|
-
className: classes.label,
|
|
145
|
-
"data-disabled": rest.disabled || void 0,
|
|
146
|
-
htmlFor: uuid,
|
|
147
|
-
"data-testid": "label"
|
|
148
|
-
}, label), description && /* @__PURE__ */ React__default.createElement(Input.Input.Description, {
|
|
149
|
-
className: classes.description
|
|
150
|
-
}, description), error && error !== "boolean" && /* @__PURE__ */ React__default.createElement(Input.Input.Error, {
|
|
151
|
-
className: classes.error
|
|
152
|
-
}, error))));
|
|
152
|
+
}, _checked ? onLabel : offLabel)));
|
|
153
153
|
});
|
|
154
154
|
Switch.displayName = "@mantine/core/Switch";
|
|
155
155
|
Switch.Group = SwitchGroup.SwitchGroup;
|
package/cjs/Switch/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n extractSystemStyles,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { Input } from '../Input';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles>;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Radius from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n\n const { classes, cx } = useStyles(\n { size: ctx?.size || size, color, radius, labelPosition, error: !!error },\n { unstyled, styles, classNames, name: 'Switch' }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <Box\n className={cx(classes.root, className)}\n style={style}\n sx={sx}\n {...systemStyles}\n {...wrapperProps}\n >\n <div className={classes.body}>\n <input\n {...rest}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n className={classes.input}\n />\n\n <label htmlFor={uuid} className={classes.track}>\n <div className={classes.thumb}>{thumbIcon}</div>\n <div className={classes.trackLabel}>{_checked ? onLabel : offLabel}</div>\n </label>\n\n <div className={classes.labelWrapper}>\n {label && (\n <label\n className={classes.label}\n data-disabled={rest.disabled || undefined}\n htmlFor={uuid}\n data-testid=\"label\"\n >\n {label}\n </label>\n )}\n {description && (\n <Input.Description className={classes.description}>{description}</Input.Description>\n )}\n\n {error && error !== 'boolean' && (\n <Input.Error className={classes.error}>{error}</Input.Error>\n )}\n </div>\n </div>\n </Box>\n );\n}) as any;\n\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n"],"names":["forwardRef","useComponentDefaultProps","styles","useSwitchGroupContext","useStyles","extractSystemStyles","useId","useUncontrolled","React","Box","Input","SwitchGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n extractSystemStyles,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Radius from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n\n const { classes } = useStyles(\n { size: ctx?.size || size, color, radius, labelPosition, error: !!error },\n { unstyled, styles, classNames, name: 'Switch' }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n className={className}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n __staticSelector=\"Switch\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <input\n {...rest}\n disabled={disabled}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n className={classes.input}\n />\n\n <label htmlFor={uuid} className={classes.track}>\n <div className={classes.thumb}>{thumbIcon}</div>\n <div className={classes.trackLabel}>{_checked ? onLabel : offLabel}</div>\n </label>\n </InlineInput>\n );\n}) as any;\n\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n"],"names":["forwardRef","useComponentDefaultProps","styles","useSwitchGroupContext","useStyles","extractSystemStyles","useId","useUncontrolled","React","InlineInput","SwitchGroup"],"mappings":"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"}
|
|
@@ -66,22 +66,6 @@ var useStyles = styles.createStyles((theme, { size, radius, color, labelPosition
|
|
|
66
66
|
const trackPadding = size === "xs" ? 1 : 2;
|
|
67
67
|
const errorColor = theme.fn.variant({ variant: "filled", color: "red" }).background;
|
|
68
68
|
return {
|
|
69
|
-
root: {},
|
|
70
|
-
description: {
|
|
71
|
-
marginTop: `calc(${theme.spacing.xs}px / 2)`,
|
|
72
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
73
|
-
},
|
|
74
|
-
error: {
|
|
75
|
-
marginTop: `calc(${theme.spacing.xs}px / 2)`,
|
|
76
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
77
|
-
},
|
|
78
|
-
label: {
|
|
79
|
-
cursor: theme.cursorType,
|
|
80
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
81
|
-
},
|
|
82
|
-
body: {
|
|
83
|
-
display: "flex"
|
|
84
|
-
},
|
|
85
69
|
input: {
|
|
86
70
|
clip: "rect(1px, 1px, 1px, 1px)",
|
|
87
71
|
height: "1px",
|
|
@@ -160,17 +144,6 @@ var useStyles = styles.createStyles((theme, { size, radius, color, labelPosition
|
|
|
160
144
|
backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[0]
|
|
161
145
|
}
|
|
162
146
|
},
|
|
163
|
-
labelWrapper: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
|
|
164
|
-
WebkitTapHighlightColor: "transparent",
|
|
165
|
-
fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
|
|
166
|
-
fontFamily: theme.fontFamily,
|
|
167
|
-
color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.black,
|
|
168
|
-
cursor: theme.cursorType,
|
|
169
|
-
order: labelPosition === "left" ? 1 : 2,
|
|
170
|
-
"& label[data-disabled]": {
|
|
171
|
-
color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[5]
|
|
172
|
-
}
|
|
173
|
-
}),
|
|
174
147
|
trackLabel: {
|
|
175
148
|
height: "100%",
|
|
176
149
|
display: "grid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.styles.js","sources":["../../src/Switch/Switch.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineSize, MantineColor } from '@mantine/styles';\n\nexport interface SwitchStylesParams {\n color: MantineColor;\n size: MantineSize;\n radius: MantineNumberSize;\n labelPosition: 'left' | 'right';\n error: boolean;\n}\n\nconst switchHeight = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nconst switchWidth = {\n xs: 32,\n sm: 38,\n md: 46,\n lg: 56,\n xl: 72,\n};\n\nconst handleSizes = {\n xs: 12,\n sm: 14,\n md: 18,\n lg: 22,\n xl: 28,\n};\n\nconst labelFontSizes = {\n xs: 5,\n sm: 6,\n md: 7,\n lg: 9,\n xl: 11,\n};\n\nconst trackLabelPaddings = {\n xs: 4,\n sm: 5,\n md: 6,\n lg: 8,\n xl: 10,\n};\n\nexport default createStyles(\n (theme, { size, radius, color, labelPosition, error }: SwitchStylesParams) => {\n const handleSize = theme.fn.size({ size, sizes: handleSizes });\n const borderRadius = theme.fn.size({ size: radius, sizes: theme.radius });\n const colors = theme.fn.variant({ variant: 'filled', color });\n const trackWidth = theme.fn.size({ size, sizes: switchWidth });\n const trackPadding = size === 'xs' ? 1 : 2;\n const errorColor = theme.fn.variant({ variant: 'filled', color: 'red' }).background;\n\n return {\n root: {},\n\n description: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n error: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n label: {\n cursor: theme.cursorType,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n body: {\n display: 'flex',\n },\n\n input: {\n clip: 'rect(1px, 1px, 1px, 1px)',\n height: '1px',\n overflow: 'hidden',\n width: '1px',\n whiteSpace: 'nowrap',\n padding: '0',\n WebkitClipPath: 'inset(50%)',\n clipPath: 'inset(50%)',\n },\n\n track: {\n ...theme.fn.focusStyles('input:focus + &'),\n cursor: theme.cursorType,\n overflow: 'hidden',\n WebkitTapHighlightColor: 'transparent',\n position: 'relative',\n borderRadius,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n border: `1px solid ${\n error\n ? errorColor\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[4]\n : theme.colors.gray[3]\n }`,\n height: theme.fn.size({ size, sizes: switchHeight }),\n minWidth: trackWidth,\n margin: 0,\n transitionProperty: 'background-color, border-color',\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: '150ms',\n boxSizing: 'border-box',\n appearance: 'none',\n display: 'flex',\n alignItems: 'center',\n fontSize: theme.fn.size({ size, sizes: labelFontSizes }),\n fontWeight: 600,\n order: labelPosition === 'left' ? 2 : 1,\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none',\n\n zIndex: 0,\n lineHeight: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[1] : theme.colors.gray[6],\n transition: `color 150ms ${theme.transitionTimingFunction}`,\n\n 'input:checked + &': {\n backgroundColor: colors.background,\n borderColor: colors.background,\n color: theme.white,\n transition: `color 150ms ${theme.transitionTimingFunction}`,\n },\n\n 'input:disabled + &': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n cursor: 'not-allowed',\n },\n },\n\n thumb: {\n position: 'absolute',\n zIndex: 1,\n borderRadius,\n boxSizing: 'border-box',\n display: 'flex',\n backgroundColor: theme.white,\n height: handleSize,\n width: handleSize,\n border: `1px solid ${theme.colorScheme === 'dark' ? theme.white : theme.colors.gray[3]}`,\n left: `${trackPadding}px`,\n transition: `left 150ms ${theme.transitionTimingFunction}`,\n\n '& > *': {\n margin: 'auto',\n },\n\n '@media (prefers-reduced-motion)': {\n transitionDuration: theme.respectReducedMotion ? '0ms' : '',\n },\n\n 'input:checked + * > &': {\n left: `calc(100% - ${handleSize}px - ${trackPadding}px)`,\n borderColor: theme.white,\n },\n\n 'input:disabled + * > &': {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[0],\n },\n },\n\n labelWrapper: {\n ...theme.fn.fontStyles(),\n WebkitTapHighlightColor: 'transparent',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n fontFamily: theme.fontFamily,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n cursor: theme.cursorType,\n order: labelPosition === 'left' ? 1 : 2,\n\n '& label[data-disabled]': {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n },\n\n trackLabel: {\n height: '100%',\n display: 'grid',\n placeContent: 'center',\n\n minWidth: trackWidth - handleSize,\n paddingInline: theme.fn.size({ size, sizes: trackLabelPaddings }),\n margin: `0 0 0 ${handleSize + trackPadding}px`,\n transition: `margin 150ms ${theme.transitionTimingFunction}`,\n\n 'input:checked + * > &': {\n margin: `0 ${handleSize + trackPadding}px 0 0`,\n },\n },\n };\n }\n);\n"],"names":["createStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.styles.js","sources":["../../src/Switch/Switch.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineSize, MantineColor } from '@mantine/styles';\n\nexport interface SwitchStylesParams {\n color: MantineColor;\n size: MantineSize;\n radius: MantineNumberSize;\n labelPosition: 'left' | 'right';\n error: boolean;\n}\n\nconst switchHeight = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nconst switchWidth = {\n xs: 32,\n sm: 38,\n md: 46,\n lg: 56,\n xl: 72,\n};\n\nconst handleSizes = {\n xs: 12,\n sm: 14,\n md: 18,\n lg: 22,\n xl: 28,\n};\n\nconst labelFontSizes = {\n xs: 5,\n sm: 6,\n md: 7,\n lg: 9,\n xl: 11,\n};\n\nconst trackLabelPaddings = {\n xs: 4,\n sm: 5,\n md: 6,\n lg: 8,\n xl: 10,\n};\n\nexport default createStyles(\n (theme, { size, radius, color, labelPosition, error }: SwitchStylesParams) => {\n const handleSize = theme.fn.size({ size, sizes: handleSizes });\n const borderRadius = theme.fn.size({ size: radius, sizes: theme.radius });\n const colors = theme.fn.variant({ variant: 'filled', color });\n const trackWidth = theme.fn.size({ size, sizes: switchWidth });\n const trackPadding = size === 'xs' ? 1 : 2;\n const errorColor = theme.fn.variant({ variant: 'filled', color: 'red' }).background;\n\n return {\n input: {\n clip: 'rect(1px, 1px, 1px, 1px)',\n height: '1px',\n overflow: 'hidden',\n width: '1px',\n whiteSpace: 'nowrap',\n padding: '0',\n WebkitClipPath: 'inset(50%)',\n clipPath: 'inset(50%)',\n },\n\n track: {\n ...theme.fn.focusStyles('input:focus + &'),\n cursor: theme.cursorType,\n overflow: 'hidden',\n WebkitTapHighlightColor: 'transparent',\n position: 'relative',\n borderRadius,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n border: `1px solid ${\n error\n ? errorColor\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[4]\n : theme.colors.gray[3]\n }`,\n height: theme.fn.size({ size, sizes: switchHeight }),\n minWidth: trackWidth,\n margin: 0,\n transitionProperty: 'background-color, border-color',\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: '150ms',\n boxSizing: 'border-box',\n appearance: 'none',\n display: 'flex',\n alignItems: 'center',\n fontSize: theme.fn.size({ size, sizes: labelFontSizes }),\n fontWeight: 600,\n order: labelPosition === 'left' ? 2 : 1,\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none',\n\n zIndex: 0,\n lineHeight: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[1] : theme.colors.gray[6],\n transition: `color 150ms ${theme.transitionTimingFunction}`,\n\n 'input:checked + &': {\n backgroundColor: colors.background,\n borderColor: colors.background,\n color: theme.white,\n transition: `color 150ms ${theme.transitionTimingFunction}`,\n },\n\n 'input:disabled + &': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n cursor: 'not-allowed',\n },\n },\n\n thumb: {\n position: 'absolute',\n zIndex: 1,\n borderRadius,\n boxSizing: 'border-box',\n display: 'flex',\n backgroundColor: theme.white,\n height: handleSize,\n width: handleSize,\n border: `1px solid ${theme.colorScheme === 'dark' ? theme.white : theme.colors.gray[3]}`,\n left: `${trackPadding}px`,\n transition: `left 150ms ${theme.transitionTimingFunction}`,\n\n '& > *': {\n margin: 'auto',\n },\n\n '@media (prefers-reduced-motion)': {\n transitionDuration: theme.respectReducedMotion ? '0ms' : '',\n },\n\n 'input:checked + * > &': {\n left: `calc(100% - ${handleSize}px - ${trackPadding}px)`,\n borderColor: theme.white,\n },\n\n 'input:disabled + * > &': {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2],\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[0],\n },\n },\n\n trackLabel: {\n height: '100%',\n display: 'grid',\n placeContent: 'center',\n\n minWidth: trackWidth - handleSize,\n paddingInline: theme.fn.size({ size, sizes: trackLabelPaddings }),\n margin: `0 0 0 ${handleSize + trackPadding}px`,\n transition: `margin 150ms ${theme.transitionTimingFunction}`,\n\n 'input:checked + * > &': {\n margin: `0 ${handleSize + trackPadding}px 0 0`,\n },\n },\n };\n }\n);\n"],"names":["createStyles"],"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;AAElE,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,WAAW,GAAG;AACpB,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,WAAW,GAAG;AACpB,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,cAAc,GAAG;AACvB,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;AACtF,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACjE,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5E,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAChE,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACjE,EAAE,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7C,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC;AACtF,EAAE,OAAO;AACT,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,0BAA0B;AACtC,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,UAAU,EAAE,QAAQ;AAC1B,MAAM,OAAO,EAAE,GAAG;AAClB,MAAM,cAAc,EAAE,YAAY;AAClC,MAAM,QAAQ,EAAE,YAAY;AAC5B,KAAK;AACL,IAAI,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE;AACtF,MAAM,MAAM,EAAE,KAAK,CAAC,UAAU;AAC9B,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,uBAAuB,EAAE,aAAa;AAC5C,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,YAAY;AAClB,MAAM,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5H,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC1D,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,MAAM,EAAE,CAAC;AACf,MAAM,kBAAkB,EAAE,gCAAgC;AAC1D,MAAM,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;AAC9D,MAAM,kBAAkB,EAAE,OAAO;AACjC,MAAM,SAAS,EAAE,YAAY;AAC7B,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,UAAU,EAAE,QAAQ;AAC1B,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAC9D,MAAM,UAAU,EAAE,GAAG;AACrB,MAAM,KAAK,EAAE,aAAa,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;AAC7C,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,aAAa,EAAE,MAAM;AAC3B,MAAM,gBAAgB,EAAE,MAAM;AAC9B,MAAM,YAAY,EAAE,MAAM;AAC1B,MAAM,MAAM,EAAE,CAAC;AACf,MAAM,UAAU,EAAE,CAAC;AACnB,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,MAAM,UAAU,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACjE,MAAM,mBAAmB,EAAE;AAC3B,QAAQ,eAAe,EAAE,MAAM,CAAC,UAAU;AAC1C,QAAQ,WAAW,EAAE,MAAM,CAAC,UAAU;AACtC,QAAQ,KAAK,EAAE,KAAK,CAAC,KAAK;AAC1B,QAAQ,UAAU,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACnE,OAAO;AACP,MAAM,oBAAoB,EAAE;AAC5B,QAAQ,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,QAAQ,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,QAAQ,MAAM,EAAE,aAAa;AAC7B,OAAO;AACP,KAAK,CAAC;AACN,IAAI,KAAK,EAAE;AACX,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,MAAM,EAAE,CAAC;AACf,MAAM,YAAY;AAClB,MAAM,SAAS,EAAE,YAAY;AAC7B,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK;AAClC,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,MAAM,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;AAC/B,MAAM,UAAU,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAChE,MAAM,OAAO,EAAE;AACf,QAAQ,MAAM,EAAE,MAAM;AACtB,OAAO;AACP,MAAM,iCAAiC,EAAE;AACzC,QAAQ,kBAAkB,EAAE,KAAK,CAAC,oBAAoB,GAAG,KAAK,GAAG,EAAE;AACnE,OAAO;AACP,MAAM,uBAAuB,EAAE;AAC/B,QAAQ,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;AAChE,QAAQ,WAAW,EAAE,KAAK,CAAC,KAAK;AAChC,OAAO;AACP,MAAM,wBAAwB,EAAE;AAChC,QAAQ,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,QAAQ,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,OAAO;AACP,KAAK;AACL,IAAI,UAAU,EAAE;AAChB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,YAAY,EAAE,QAAQ;AAC5B,MAAM,QAAQ,EAAE,UAAU,GAAG,UAAU;AACvC,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACvE,MAAM,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;AACpD,MAAM,UAAU,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAClE,MAAM,uBAAuB,EAAE;AAC/B,QAAQ,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;AACtD,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;;;;"}
|
package/cjs/Tooltip/Tooltip.js
CHANGED
|
@@ -59,6 +59,7 @@ const defaultProps = {
|
|
|
59
59
|
inline: false,
|
|
60
60
|
arrowSize: 4,
|
|
61
61
|
arrowOffset: 5,
|
|
62
|
+
arrowRadius: 0,
|
|
62
63
|
offset: 5,
|
|
63
64
|
transition: "fade",
|
|
64
65
|
transitionDuration: 100,
|
|
@@ -89,6 +90,7 @@ const _Tooltip = React.forwardRef((props, ref) => {
|
|
|
89
90
|
withArrow,
|
|
90
91
|
arrowSize,
|
|
91
92
|
arrowOffset,
|
|
93
|
+
arrowRadius,
|
|
92
94
|
offset,
|
|
93
95
|
transition,
|
|
94
96
|
transitionDuration,
|
|
@@ -122,6 +124,7 @@ const _Tooltip = React.forwardRef((props, ref) => {
|
|
|
122
124
|
"withArrow",
|
|
123
125
|
"arrowSize",
|
|
124
126
|
"arrowOffset",
|
|
127
|
+
"arrowRadius",
|
|
125
128
|
"offset",
|
|
126
129
|
"transition",
|
|
127
130
|
"transitionDuration",
|
|
@@ -178,12 +181,16 @@ const _Tooltip = React.forwardRef((props, ref) => {
|
|
|
178
181
|
position: tooltip.placement,
|
|
179
182
|
arrowSize,
|
|
180
183
|
arrowOffset,
|
|
184
|
+
arrowRadius,
|
|
181
185
|
className: classes.arrow
|
|
182
186
|
}));
|
|
183
187
|
})), React.cloneElement(children, tooltip.getReferenceProps(__spreadValues({
|
|
184
188
|
onClick,
|
|
185
189
|
onMouseEnter,
|
|
186
190
|
onMouseLeave,
|
|
191
|
+
onMouseMove: props.onMouseMove,
|
|
192
|
+
onPointerDown: props.onPointerDown,
|
|
193
|
+
onPointerEnter: props.onPointerEnter,
|
|
187
194
|
[refProp]: targetRef,
|
|
188
195
|
className: cx(className, children.props.className)
|
|
189
196
|
}, children.props))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useRef } from 'react';\nimport { isElement, ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { TooltipGroup } from './TooltipGroup/TooltipGroup';\nimport { TooltipFloating } from './TooltipFloating/TooltipFloating';\nimport { useTooltip } from './use-tooltip';\nimport { FloatingArrow, getFloatingPosition, FloatingPosition } from '../Floating';\nimport { MantineTransition, Transition } from '../Transition';\nimport { OptionalPortal } from '../Portal';\nimport { Box } from '../Box';\nimport { TOOLTIP_ERRORS } from './Tooltip.errors';\nimport { TooltipBaseProps } from './Tooltip.types';\nimport useStyles from './Tooltip.styles';\n\nexport interface TooltipProps extends TooltipBaseProps {\n /** Called when tooltip position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n\n /** Controls opened state */\n opened?: boolean;\n\n /** Space between target element and tooltip in px */\n offset?: number;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow offset in px */\n arrowOffset?: number;\n\n /** One of premade transitions ot transition object */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Determines which events will be used to show tooltip */\n events?: { hover: boolean; focus: boolean; touch: boolean };\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Set if tooltip is attached to an inline element */\n inline?: boolean;\n}\n\nconst defaultProps: Partial<TooltipProps> = {\n position: 'top',\n refProp: 'ref',\n withinPortal: false,\n inline: false,\n arrowSize: 4,\n arrowOffset: 5,\n offset: 5,\n transition: 'fade',\n transitionDuration: 100,\n width: 'auto',\n events: { hover: true, focus: false, touch: false },\n zIndex: getDefaultZIndex('popover'),\n positionDependencies: [],\n};\n\nconst _Tooltip = forwardRef<HTMLElement, TooltipProps>((props, ref) => {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n refProp,\n label,\n openDelay,\n closeDelay,\n onPositionChange,\n opened,\n withinPortal,\n radius,\n color,\n classNames,\n styles,\n unstyled,\n style,\n className,\n withArrow,\n arrowSize,\n arrowOffset,\n offset,\n transition,\n transitionDuration,\n multiline,\n width,\n events,\n zIndex,\n disabled,\n positionDependencies,\n onClick,\n onMouseEnter,\n onMouseLeave,\n inline,\n ...others\n } = useComponentDefaultProps('Tooltip', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, color, width, multiline },\n { name: 'Tooltip', classNames, styles, unstyled }\n );\n\n const tooltip = useTooltip({\n position: getFloatingPosition(theme.dir, position),\n closeDelay,\n openDelay,\n onPositionChange,\n opened,\n events,\n arrowRef,\n offset: offset + (withArrow ? arrowSize / 2 : 0),\n positionDependencies: [...positionDependencies, children],\n inline,\n });\n\n if (!isElement(children)) {\n throw new Error(TOOLTIP_ERRORS.children);\n }\n\n const targetRef = useMergedRef(tooltip.reference, (children as any).ref, ref);\n\n return (\n <>\n <OptionalPortal withinPortal={withinPortal}>\n <Transition\n mounted={!disabled && tooltip.opened}\n transition={transition}\n duration={tooltip.isGroupPhase ? 10 : transitionDuration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: classes.tooltip,\n style: {\n ...style,\n ...transitionStyles,\n zIndex,\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n withBorder={false}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n className={classes.arrow}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n\n {cloneElement(\n children,\n tooltip.getReferenceProps({\n onClick,\n onMouseEnter,\n onMouseLeave,\n [refProp]: targetRef,\n className: cx(className, children.props.className),\n ...children.props,\n })\n )}\n </>\n );\n}) as any;\n\n_Tooltip.Group = TooltipGroup;\n_Tooltip.Floating = TooltipFloating;\n\n_Tooltip.displayName = '@mantine/core/Tooltip';\n\nexport const Tooltip: ForwardRefWithStaticComponents<\n TooltipProps,\n { Group: typeof TooltipGroup; Floating: typeof TooltipFloating }\n> = _Tooltip;\n"],"names":["getDefaultZIndex","forwardRef","useRef","useComponentDefaultProps","styles","useStyles","useTooltip","getFloatingPosition","isElement","TOOLTIP_ERRORS","useMergedRef","React","OptionalPortal","Transition","Box","FloatingArrow","cloneElement","TooltipGroup","TooltipFloating"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useRef } from 'react';\nimport { isElement, ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';\nimport { TooltipGroup } from './TooltipGroup/TooltipGroup';\nimport { TooltipFloating } from './TooltipFloating/TooltipFloating';\nimport { useTooltip } from './use-tooltip';\nimport { FloatingArrow, getFloatingPosition, FloatingPosition } from '../Floating';\nimport { MantineTransition, Transition } from '../Transition';\nimport { OptionalPortal } from '../Portal';\nimport { Box } from '../Box';\nimport { TOOLTIP_ERRORS } from './Tooltip.errors';\nimport { TooltipBaseProps } from './Tooltip.types';\nimport useStyles from './Tooltip.styles';\n\nexport interface TooltipProps extends TooltipBaseProps {\n /** Called when tooltip position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n\n /** Controls opened state */\n opened?: boolean;\n\n /** Space between target element and tooltip in px */\n offset?: number;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow offset in px */\n arrowOffset?: number;\n\n /** Arrow radius in px */\n arrowRadius?: number;\n\n /** One of premade transitions ot transition object */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Determines which events will be used to show tooltip */\n events?: { hover: boolean; focus: boolean; touch: boolean };\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Set if tooltip is attached to an inline element */\n inline?: boolean;\n}\n\nconst defaultProps: Partial<TooltipProps> = {\n position: 'top',\n refProp: 'ref',\n withinPortal: false,\n inline: false,\n arrowSize: 4,\n arrowOffset: 5,\n arrowRadius: 0,\n offset: 5,\n transition: 'fade',\n transitionDuration: 100,\n width: 'auto',\n events: { hover: true, focus: false, touch: false },\n zIndex: getDefaultZIndex('popover'),\n positionDependencies: [],\n};\n\nconst _Tooltip = forwardRef<HTMLElement, TooltipProps>((props, ref) => {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n refProp,\n label,\n openDelay,\n closeDelay,\n onPositionChange,\n opened,\n withinPortal,\n radius,\n color,\n classNames,\n styles,\n unstyled,\n style,\n className,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n offset,\n transition,\n transitionDuration,\n multiline,\n width,\n events,\n zIndex,\n disabled,\n positionDependencies,\n onClick,\n onMouseEnter,\n onMouseLeave,\n inline,\n ...others\n } = useComponentDefaultProps('Tooltip', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, color, width, multiline },\n { name: 'Tooltip', classNames, styles, unstyled }\n );\n\n const tooltip = useTooltip({\n position: getFloatingPosition(theme.dir, position),\n closeDelay,\n openDelay,\n onPositionChange,\n opened,\n events,\n arrowRef,\n offset: offset + (withArrow ? arrowSize / 2 : 0),\n positionDependencies: [...positionDependencies, children],\n inline,\n });\n\n if (!isElement(children)) {\n throw new Error(TOOLTIP_ERRORS.children);\n }\n\n const targetRef = useMergedRef(tooltip.reference, (children as any).ref, ref);\n\n return (\n <>\n <OptionalPortal withinPortal={withinPortal}>\n <Transition\n mounted={!disabled && tooltip.opened}\n transition={transition}\n duration={tooltip.isGroupPhase ? 10 : transitionDuration}\n >\n {(transitionStyles) => (\n <Box\n {...others}\n {...tooltip.getFloatingProps({\n ref: tooltip.floating,\n className: classes.tooltip,\n style: {\n ...style,\n ...transitionStyles,\n zIndex,\n top: tooltip.y ?? 0,\n left: tooltip.x ?? 0,\n },\n })}\n >\n {label}\n\n <FloatingArrow\n ref={arrowRef}\n arrowX={tooltip.arrowX}\n arrowY={tooltip.arrowY}\n visible={withArrow}\n withBorder={false}\n position={tooltip.placement}\n arrowSize={arrowSize}\n arrowOffset={arrowOffset}\n arrowRadius={arrowRadius}\n className={classes.arrow}\n />\n </Box>\n )}\n </Transition>\n </OptionalPortal>\n\n {cloneElement(\n children,\n tooltip.getReferenceProps({\n onClick,\n onMouseEnter,\n onMouseLeave,\n onMouseMove: props.onMouseMove,\n onPointerDown: props.onPointerDown,\n onPointerEnter: props.onPointerEnter,\n [refProp]: targetRef,\n className: cx(className, children.props.className),\n ...children.props,\n })\n )}\n </>\n );\n}) as any;\n\n_Tooltip.Group = TooltipGroup;\n_Tooltip.Floating = TooltipFloating;\n\n_Tooltip.displayName = '@mantine/core/Tooltip';\n\nexport const Tooltip: ForwardRefWithStaticComponents<\n TooltipProps,\n { Group: typeof TooltipGroup; Floating: typeof TooltipFloating }\n> = _Tooltip;\n"],"names":["getDefaultZIndex","forwardRef","useRef","useComponentDefaultProps","styles","useStyles","useTooltip","getFloatingPosition","isElement","TOOLTIP_ERRORS","useMergedRef","React","OptionalPortal","Transition","Box","FloatingArrow","cloneElement","TooltipGroup","TooltipFloating"],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ var React = require('react');
|
|
|
6
6
|
var hooks = require('@mantine/hooks');
|
|
7
7
|
var utils = require('@mantine/utils');
|
|
8
8
|
var SelectScrollArea = require('../../Select/SelectScrollArea/SelectScrollArea.js');
|
|
9
|
-
var Divider = require('../../Divider/Divider.js');
|
|
10
9
|
var RenderList_styles = require('./RenderList.styles.js');
|
|
11
10
|
var UnstyledButton = require('../../UnstyledButton/UnstyledButton.js');
|
|
11
|
+
var Divider = require('../../Divider/Divider.js');
|
|
12
12
|
var Text = require('../../Text/Text.js');
|
|
13
13
|
var TextInput = require('../../TextInput/TextInput.js');
|
|
14
14
|
var ActionIcon = require('../../ActionIcon/ActionIcon.js');
|
|
@@ -40,9 +40,14 @@ function RenderList({
|
|
|
40
40
|
selection,
|
|
41
41
|
itemComponent: ItemComponent,
|
|
42
42
|
listComponent,
|
|
43
|
+
transferIcon: TransferIcon,
|
|
44
|
+
transferAllIcon: TransferAllIcon,
|
|
43
45
|
searchPlaceholder,
|
|
46
|
+
query,
|
|
47
|
+
onSearch,
|
|
44
48
|
filter,
|
|
45
49
|
nothingFound,
|
|
50
|
+
placeholder,
|
|
46
51
|
title,
|
|
47
52
|
showTransferAll,
|
|
48
53
|
reversed,
|
|
@@ -58,7 +63,6 @@ function RenderList({
|
|
|
58
63
|
const { classes, cx, theme } = RenderList_styles['default']({ reversed, native: listComponent !== SelectScrollArea.SelectScrollArea, radius }, { name: "TransferList", classNames, styles, unstyled });
|
|
59
64
|
const unGroupedItems = [];
|
|
60
65
|
const groupedItems = [];
|
|
61
|
-
const [query, setQuery] = React.useState("");
|
|
62
66
|
const [hovered, setHovered] = React.useState(-1);
|
|
63
67
|
const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);
|
|
64
68
|
const ListComponent = listComponent || "div";
|
|
@@ -152,6 +156,8 @@ function RenderList({
|
|
|
152
156
|
}
|
|
153
157
|
}
|
|
154
158
|
};
|
|
159
|
+
const transferIcon = reversed ? /* @__PURE__ */ React__default.createElement(Icons.Prev, null) : /* @__PURE__ */ React__default.createElement(Icons.Next, null);
|
|
160
|
+
const transferAllIcon = reversed ? /* @__PURE__ */ React__default.createElement(Icons.First, null) : /* @__PURE__ */ React__default.createElement(Icons.Last, null);
|
|
155
161
|
return /* @__PURE__ */ React__default.createElement("div", {
|
|
156
162
|
className: cx(classes.transferList, className)
|
|
157
163
|
}, title && /* @__PURE__ */ React__default.createElement(Text.Text, {
|
|
@@ -166,7 +172,7 @@ function RenderList({
|
|
|
166
172
|
unstyled,
|
|
167
173
|
value: query,
|
|
168
174
|
onChange: (event) => {
|
|
169
|
-
|
|
175
|
+
onSearch(event.currentTarget.value);
|
|
170
176
|
setHovered(0);
|
|
171
177
|
},
|
|
172
178
|
onFocus: () => setHovered(0),
|
|
@@ -184,7 +190,9 @@ function RenderList({
|
|
|
184
190
|
disabled: selection.length === 0,
|
|
185
191
|
onClick: onMove,
|
|
186
192
|
unstyled
|
|
187
|
-
},
|
|
193
|
+
}, TransferIcon ? /* @__PURE__ */ React__default.createElement(TransferIcon, {
|
|
194
|
+
reversed
|
|
195
|
+
}) : transferIcon), showTransferAll && /* @__PURE__ */ React__default.createElement(ActionIcon.ActionIcon, {
|
|
188
196
|
variant: "default",
|
|
189
197
|
size: 36,
|
|
190
198
|
radius: 0,
|
|
@@ -192,7 +200,9 @@ function RenderList({
|
|
|
192
200
|
disabled: data.length === 0,
|
|
193
201
|
onClick: onMoveAll,
|
|
194
202
|
unstyled
|
|
195
|
-
},
|
|
203
|
+
}, TransferAllIcon ? /* @__PURE__ */ React__default.createElement(TransferAllIcon, {
|
|
204
|
+
reversed
|
|
205
|
+
}) : transferAllIcon)), /* @__PURE__ */ React__default.createElement(ListComponent, {
|
|
196
206
|
ref: scrollableRef,
|
|
197
207
|
onMouseLeave: () => setHovered(-1),
|
|
198
208
|
className: classes.transferListItems,
|
|
@@ -203,7 +213,7 @@ function RenderList({
|
|
|
203
213
|
size: "sm",
|
|
204
214
|
align: "center",
|
|
205
215
|
mt: "sm"
|
|
206
|
-
}, nothingFound))));
|
|
216
|
+
}, !query && placeholder ? placeholder : nothingFound))));
|
|
207
217
|
}
|
|
208
218
|
RenderList.displayName = "@mantine/core/RenderList";
|
|
209
219
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderList.js","sources":["../../../src/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, Selectors, MantineNumberSize } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider/Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\n\nexport type RenderListStylesNames = Selectors<typeof useStyles>;\n\nexport interface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n radius: MantineNumberSize;\n listComponent?: React.FC<any>;\n limit?: number;\n}\n\nconst icons = {\n Prev: PrevIcon,\n Next: NextIcon,\n First: FirstIcon,\n Last: LastIcon,\n};\n\nconst rtlIons = {\n Next: PrevIcon,\n Prev: NextIcon,\n Last: FirstIcon,\n First: LastIcon,\n};\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n}: RenderListProps) {\n const { classes, cx, theme } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea, radius },\n { name: 'TransferList', classNames, styles, unstyled }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [query, setQuery] = useState('');\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);\n const ListComponent = listComponent || 'div';\n const Icons = theme.dir === 'rtl' ? rtlIons : icons;\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupOptions({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n let groupName = null;\n\n sortedData.forEach((item, index) => {\n const itemComponent = (\n <UnstyledButton\n unstyled={unstyled}\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} radius={radius} />\n </UnstyledButton>\n );\n\n if (!item.group) {\n unGroupedItems.push(itemComponent);\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={groupName}>\n <Divider classNames={{ label: classes.separatorLabel }} label={groupName} />\n </div>\n );\n }\n groupedItems.push(itemComponent);\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider unstyled={unstyled} classNames={{ label: classes.separatorLabel }} />\n </div>\n );\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} unstyled={unstyled} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n unstyled={unstyled}\n value={query}\n onChange={(event) => {\n setQuery(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n unstyled={unstyled}\n >\n {reversed ? <Icons.Prev /> : <Icons.Next />}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n unstyled={unstyled}\n >\n {reversed ? <Icons.First /> : <Icons.Last />}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" unstyled={unstyled} size=\"sm\" align=\"center\" mt=\"sm\">\n {nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["PrevIcon","NextIcon","FirstIcon","LastIcon","useStyles","SelectScrollArea","useState","useRef","groupOptions","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderList.js","sources":["../../../src/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, Selectors, MantineNumberSize } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\n\nexport type RenderListStylesNames = Selectors<typeof useStyles>;\n\nexport interface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n query?: string;\n onSearch(value: string): void;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n placeholder?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n radius: MantineNumberSize;\n listComponent?: React.FC<any>;\n limit?: number;\n transferIcon?: React.FunctionComponent<{ reversed }>;\n transferAllIcon?: React.FunctionComponent<{ reversed }>;\n}\n\nconst icons = {\n Prev: PrevIcon,\n Next: NextIcon,\n First: FirstIcon,\n Last: LastIcon,\n};\n\nconst rtlIons = {\n Next: PrevIcon,\n Prev: NextIcon,\n Last: FirstIcon,\n First: LastIcon,\n};\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n transferIcon: TransferIcon,\n transferAllIcon: TransferAllIcon,\n searchPlaceholder,\n query,\n onSearch,\n filter,\n nothingFound,\n placeholder,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n}: RenderListProps) {\n const { classes, cx, theme } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea, radius },\n { name: 'TransferList', classNames, styles, unstyled }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);\n const ListComponent = listComponent || 'div';\n const Icons = theme.dir === 'rtl' ? rtlIons : icons;\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupOptions({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n let groupName = null;\n\n sortedData.forEach((item, index) => {\n const itemComponent = (\n <UnstyledButton\n unstyled={unstyled}\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} radius={radius} />\n </UnstyledButton>\n );\n\n if (!item.group) {\n unGroupedItems.push(itemComponent);\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={groupName}>\n <Divider classNames={{ label: classes.separatorLabel }} label={groupName} />\n </div>\n );\n }\n groupedItems.push(itemComponent);\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider unstyled={unstyled} classNames={{ label: classes.separatorLabel }} />\n </div>\n );\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n const transferIcon = reversed ? <Icons.Prev /> : <Icons.Next />;\n const transferAllIcon = reversed ? <Icons.First /> : <Icons.Last />;\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} unstyled={unstyled} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n unstyled={unstyled}\n value={query}\n onChange={(event) => {\n onSearch(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n unstyled={unstyled}\n >\n {TransferIcon ? <TransferIcon reversed={reversed} /> : transferIcon}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n unstyled={unstyled}\n >\n {TransferAllIcon ? <TransferAllIcon reversed={reversed} /> : transferAllIcon}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" unstyled={unstyled} size=\"sm\" align=\"center\" mt=\"sm\">\n {!query && placeholder ? placeholder : nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["PrevIcon","NextIcon","FirstIcon","LastIcon","useStyles","SelectScrollArea","useState","useRef","groupOptions","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var styles = require('@mantine/styles');
|
|
7
|
+
var hooks = require('@mantine/hooks');
|
|
7
8
|
var RenderList = require('./RenderList/RenderList.js');
|
|
8
9
|
var SelectScrollArea = require('../Select/SelectScrollArea/SelectScrollArea.js');
|
|
9
10
|
var DefaultItem = require('./DefaultItem/DefaultItem.js');
|
|
@@ -52,6 +53,7 @@ const defaultProps = {
|
|
|
52
53
|
itemComponent: DefaultItem.DefaultItem,
|
|
53
54
|
filter: defaultFilter,
|
|
54
55
|
titles: [null, null],
|
|
56
|
+
placeholder: [null, null],
|
|
55
57
|
listHeight: 150,
|
|
56
58
|
listComponent: SelectScrollArea.SelectScrollArea,
|
|
57
59
|
showTransferAll: true,
|
|
@@ -63,8 +65,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
63
65
|
onChange,
|
|
64
66
|
itemComponent,
|
|
65
67
|
searchPlaceholder,
|
|
68
|
+
searchValues,
|
|
69
|
+
onSearch,
|
|
66
70
|
filter,
|
|
67
71
|
nothingFound,
|
|
72
|
+
placeholder,
|
|
68
73
|
titles,
|
|
69
74
|
initialSelection,
|
|
70
75
|
listHeight,
|
|
@@ -75,14 +80,19 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
75
80
|
classNames,
|
|
76
81
|
styles: styles$1,
|
|
77
82
|
limit,
|
|
78
|
-
unstyled
|
|
83
|
+
unstyled,
|
|
84
|
+
transferIcon,
|
|
85
|
+
transferAllIcon
|
|
79
86
|
} = _a, others = __objRest(_a, [
|
|
80
87
|
"value",
|
|
81
88
|
"onChange",
|
|
82
89
|
"itemComponent",
|
|
83
90
|
"searchPlaceholder",
|
|
91
|
+
"searchValues",
|
|
92
|
+
"onSearch",
|
|
84
93
|
"filter",
|
|
85
94
|
"nothingFound",
|
|
95
|
+
"placeholder",
|
|
86
96
|
"titles",
|
|
87
97
|
"initialSelection",
|
|
88
98
|
"listHeight",
|
|
@@ -93,9 +103,17 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
93
103
|
"classNames",
|
|
94
104
|
"styles",
|
|
95
105
|
"limit",
|
|
96
|
-
"unstyled"
|
|
106
|
+
"unstyled",
|
|
107
|
+
"transferIcon",
|
|
108
|
+
"transferAllIcon"
|
|
97
109
|
]);
|
|
98
110
|
const [selection, handlers] = useSelectionState.useSelectionState(initialSelection);
|
|
111
|
+
const [search, handleSearch] = hooks.useUncontrolled({
|
|
112
|
+
value: searchValues,
|
|
113
|
+
defaultValue: ["", ""],
|
|
114
|
+
finalValue: ["", ""],
|
|
115
|
+
onChange: onSearch
|
|
116
|
+
});
|
|
99
117
|
const handleMoveAll = (listIndex) => {
|
|
100
118
|
const items = Array(2);
|
|
101
119
|
const moveToIndex = listIndex === 0 ? 1 : 0;
|
|
@@ -124,9 +142,9 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
124
142
|
const sharedListProps = {
|
|
125
143
|
itemComponent,
|
|
126
144
|
listComponent,
|
|
127
|
-
|
|
145
|
+
transferIcon,
|
|
146
|
+
transferAllIcon,
|
|
128
147
|
filter,
|
|
129
|
-
nothingFound,
|
|
130
148
|
height: listHeight,
|
|
131
149
|
showTransferAll,
|
|
132
150
|
classNames,
|
|
@@ -147,6 +165,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
147
165
|
onMoveAll: () => handleMoveAll(0),
|
|
148
166
|
onMove: () => handleMove(0),
|
|
149
167
|
title: titles[0],
|
|
168
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
169
|
+
searchPlaceholder: Array.isArray(searchPlaceholder) ? searchPlaceholder[0] : searchPlaceholder,
|
|
170
|
+
nothingFound: Array.isArray(nothingFound) ? nothingFound[0] : nothingFound,
|
|
171
|
+
query: search[0],
|
|
172
|
+
onSearch: (query) => handleSearch([query, search[1]]),
|
|
150
173
|
unstyled
|
|
151
174
|
})), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, __spreadProps(__spreadValues({}, sharedListProps), {
|
|
152
175
|
data: value[1],
|
|
@@ -155,6 +178,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
155
178
|
onMoveAll: () => handleMoveAll(1),
|
|
156
179
|
onMove: () => handleMove(1),
|
|
157
180
|
title: titles[1],
|
|
181
|
+
placeholder: Array.isArray(placeholder) ? placeholder[1] : placeholder,
|
|
182
|
+
searchPlaceholder: Array.isArray(searchPlaceholder) ? searchPlaceholder[1] : searchPlaceholder,
|
|
183
|
+
nothingFound: Array.isArray(nothingFound) ? nothingFound[1] : nothingFound,
|
|
184
|
+
query: search[1],
|
|
185
|
+
onSearch: (query) => handleSearch([search[0], query]),
|
|
158
186
|
reversed: true,
|
|
159
187
|
unstyled
|
|
160
188
|
})));
|