@mantine/core 9.1.0 → 9.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Card/Card.cjs +1 -1
- package/cjs/components/Card/Card.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs +1 -0
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs +2 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs +1 -0
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs +18 -12
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.cjs +3 -3
- package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.cjs +1 -1
- package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/cjs/components/Popover/Popover.context.cjs.map +1 -1
- package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +1 -1
- package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
- package/cjs/components/Radio/Radio.module.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.cjs +24 -10
- package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/cjs/components/Select/Select.cjs.map +1 -1
- package/cjs/components/Tree/FlatTreeNode.cjs +2 -1
- package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
- package/cjs/components/Tree/Tree.cjs +3 -1
- package/cjs/components/Tree/Tree.cjs.map +1 -1
- package/cjs/components/Tree/TreeNode.cjs +10 -5
- package/cjs/components/Tree/TreeNode.cjs.map +1 -1
- package/cjs/components/Tree/use-tree-node-drag-drop.cjs +46 -15
- package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
- package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.cjs +2 -2
- package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.cjs.map +1 -1
- package/esm/components/Card/Card.mjs +1 -1
- package/esm/components/Card/Card.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs +1 -1
- package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs +1 -0
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs +2 -1
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs +1 -0
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs +18 -12
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
- package/esm/components/Highlight/highlighter/highlighter.mjs +3 -3
- package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
- package/esm/components/Popover/Popover.context.mjs.map +1 -1
- package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs +1 -1
- package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
- package/esm/components/Radio/Radio.module.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.mjs +25 -11
- package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/Tree/FlatTreeNode.mjs +2 -1
- package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
- package/esm/components/Tree/Tree.mjs +3 -1
- package/esm/components/Tree/Tree.mjs.map +1 -1
- package/esm/components/Tree/TreeNode.mjs +10 -5
- package/esm/components/Tree/TreeNode.mjs.map +1 -1
- package/esm/components/Tree/use-tree-node-drag-drop.mjs +45 -15
- package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
- package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs +2 -2
- package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs.map +1 -1
- package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +1 -1
- package/lib/components/Combobox/use-combobox-target-props/use-combobox-target-props.d.ts +3 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/Popover/Popover.context.d.ts +1 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Tree/Tree.d.ts +10 -0
- package/lib/components/Tree/TreeNode.d.ts +4 -1
- package/lib/components/Tree/index.d.ts +1 -0
- package/lib/components/Tree/use-tree-node-drag-drop.d.ts +19 -7
- package/lib/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.d.ts +2 -2
- package/package.json +2 -2
- package/styles/Radio.css +3 -2
- package/styles/Radio.layer.css +3 -2
- package/styles.css +3 -2
- package/styles.layer.css +3 -2
|
@@ -4,9 +4,11 @@ interface UseComboboxTargetPropsInput {
|
|
|
4
4
|
withKeyboardNavigation: boolean | undefined;
|
|
5
5
|
withExpandedAttribute: boolean | undefined;
|
|
6
6
|
onKeyDown: React.KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
7
|
+
onClick: React.MouseEventHandler<HTMLInputElement> | undefined;
|
|
7
8
|
autoComplete: string | undefined;
|
|
8
9
|
}
|
|
9
|
-
export declare function useComboboxTargetProps({ onKeyDown, withKeyboardNavigation, withAriaAttributes, withExpandedAttribute, targetType, autoComplete, }: UseComboboxTargetPropsInput): {
|
|
10
|
+
export declare function useComboboxTargetProps({ onKeyDown, onClick, withKeyboardNavigation, withAriaAttributes, withExpandedAttribute, targetType, autoComplete, }: UseComboboxTargetPropsInput): {
|
|
10
11
|
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
12
|
+
onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
|
|
11
13
|
};
|
|
12
14
|
export {};
|
|
@@ -47,7 +47,7 @@ export interface MultiSelectProps<Value extends Primitive = string> extends BoxP
|
|
|
47
47
|
/** Divider used to separate values in the hidden input `value` attribute @default ',' */
|
|
48
48
|
hiddenInputValuesDivider?: string;
|
|
49
49
|
/** A function to render content of the option, replaces the default content of the option */
|
|
50
|
-
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem
|
|
50
|
+
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem<Value>>) => React.ReactNode;
|
|
51
51
|
/** A function to render content of the pill */
|
|
52
52
|
renderPill?: (props: ComboboxRenderPillInput<Value>) => React.ReactNode;
|
|
53
53
|
/** Props passed down to the underlying `ScrollArea` component in the dropdown */
|
|
@@ -45,7 +45,7 @@ export interface PopoverContextValue {
|
|
|
45
45
|
variant: string | undefined;
|
|
46
46
|
keepMounted: boolean | undefined;
|
|
47
47
|
getStyles: GetStylesApi<PopoverFactory>;
|
|
48
|
-
resolvedStyles: Record<string, any
|
|
48
|
+
resolvedStyles: Record<string, any> | undefined;
|
|
49
49
|
floatingStrategy: FloatingStrategy | undefined;
|
|
50
50
|
referenceHidden: boolean | undefined;
|
|
51
51
|
}
|
|
@@ -39,7 +39,7 @@ export interface SelectProps<Value extends Primitive = string> extends BoxProps,
|
|
|
39
39
|
/** Props passed down to the hidden input */
|
|
40
40
|
hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;
|
|
41
41
|
/** A function to render content of the option, replaces the default content of the option */
|
|
42
|
-
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem
|
|
42
|
+
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem<Value>>) => React.ReactNode;
|
|
43
43
|
/** Props passed down to the underlying `ScrollArea` component in the dropdown */
|
|
44
44
|
scrollAreaProps?: ScrollAreaProps;
|
|
45
45
|
/** Controls color of the default chevron, by default depends on the color scheme */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BoxProps, ElementProps, Factory, MantineSpacing, StylesApiProps } from '../../core';
|
|
2
2
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
3
|
+
import type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';
|
|
3
4
|
import { TreeController } from './use-tree';
|
|
4
5
|
export interface TreeNodeData {
|
|
5
6
|
label: React.ReactNode;
|
|
@@ -39,6 +40,9 @@ export interface RenderTreeNodePayload {
|
|
|
39
40
|
onDrop?: (event: React.DragEvent) => void;
|
|
40
41
|
onDragEnd?: (event: React.DragEvent) => void;
|
|
41
42
|
};
|
|
43
|
+
/** Props to spread into the drag handle element when `withDragHandle` is set on `Tree`.
|
|
44
|
+
* `undefined` when `withDragHandle` is not enabled or drag-and-drop is disabled. */
|
|
45
|
+
dragHandleProps: TreeDragHandleProps | undefined;
|
|
42
46
|
}
|
|
43
47
|
export type RenderNode = (payload: RenderTreeNodePayload) => React.ReactNode;
|
|
44
48
|
export type TreeStylesNames = 'root' | 'node' | 'subtree' | 'label';
|
|
@@ -74,6 +78,12 @@ export interface TreeProps extends BoxProps, StylesApiProps<TreeFactory>, Elemen
|
|
|
74
78
|
keepMounted?: boolean;
|
|
75
79
|
/** Called when a node is dropped on another node, enables drag-and-drop when provided */
|
|
76
80
|
onDragDrop?: (payload: TreeDragDropPayload) => void;
|
|
81
|
+
/** Called for each potential drop target to determine whether a drop is allowed.
|
|
82
|
+
* When it returns `false`, the drop indicator is hidden and the drop is rejected. */
|
|
83
|
+
allowDrop?: TreeAllowDrop;
|
|
84
|
+
/** If set, drag-and-drop must be initiated from an element that spreads `dragHandleProps`
|
|
85
|
+
* from the `renderNode` payload, rather than anywhere on the node. @default false */
|
|
86
|
+
withDragHandle?: boolean;
|
|
77
87
|
/** If set, connecting lines are rendered showing parent-child relationships @default false */
|
|
78
88
|
withLines?: boolean;
|
|
79
89
|
}
|
|
@@ -2,6 +2,7 @@ import { GetStylesApi } from '../../core';
|
|
|
2
2
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
3
3
|
import type { RenderNode, TreeDragState, TreeFactory, TreeNodeData } from './Tree';
|
|
4
4
|
import type { TreeController } from './use-tree';
|
|
5
|
+
import { TreeAllowDrop } from './use-tree-node-drag-drop';
|
|
5
6
|
interface TreeNodeProps {
|
|
6
7
|
node: TreeNodeData;
|
|
7
8
|
getStyles: GetStylesApi<TreeFactory>;
|
|
@@ -18,10 +19,12 @@ interface TreeNodeProps {
|
|
|
18
19
|
checkOnSpace: boolean | undefined;
|
|
19
20
|
keepMounted: boolean | undefined;
|
|
20
21
|
onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;
|
|
22
|
+
allowDrop: TreeAllowDrop | undefined;
|
|
23
|
+
withDragHandle: boolean | undefined;
|
|
21
24
|
dragStateRef: React.RefObject<TreeDragState>;
|
|
22
25
|
data: TreeNodeData[];
|
|
23
26
|
}
|
|
24
|
-
export declare function TreeNode({ node, getStyles, rootIndex, controller, expandOnClick, selectOnClick, isSubtree, level, renderNode, flatValues, allowRangeSelection, expandOnSpace, checkOnSpace, keepMounted, onDragDrop, dragStateRef, data, }: TreeNodeProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function TreeNode({ node, getStyles, rootIndex, controller, expandOnClick, selectOnClick, isSubtree, level, renderNode, flatValues, allowRangeSelection, expandOnSpace, checkOnSpace, keepMounted, onDragDrop, allowDrop, withDragHandle, dragStateRef, data, }: TreeNodeProps): import("react/jsx-runtime").JSX.Element;
|
|
25
28
|
export declare namespace TreeNode {
|
|
26
29
|
var displayName: string;
|
|
27
30
|
}
|
|
@@ -13,3 +13,4 @@ export type { TreeNodeFilter } from './filter-tree-data/filter-tree-data';
|
|
|
13
13
|
export type { TreeDragDropPosition, TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
14
14
|
export type { FlattenedTreeNodeData } from './flatten-tree-data/flatten-tree-data';
|
|
15
15
|
export type { FlatTreeNodeProps } from './FlatTreeNode';
|
|
16
|
+
export type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
2
2
|
import type { TreeDragState, TreeNodeData } from './Tree';
|
|
3
|
+
export type TreeAllowDrop = (payload: TreeDragDropPayload) => boolean;
|
|
3
4
|
interface UseTreeNodeDragDropInput {
|
|
4
5
|
nodeValue: string;
|
|
5
6
|
hasChildren: boolean;
|
|
6
7
|
data: TreeNodeData[];
|
|
7
8
|
onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;
|
|
8
9
|
dragStateRef: React.RefObject<TreeDragState>;
|
|
10
|
+
allowDrop: TreeAllowDrop | undefined;
|
|
11
|
+
withDragHandle: boolean | undefined;
|
|
9
12
|
}
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export interface TreeDragHandleProps {
|
|
14
|
+
onMouseDown: (event: React.MouseEvent) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function useTreeNodeDragDrop({ nodeValue, hasChildren, data, onDragDrop, dragStateRef, allowDrop, withDragHandle, }: UseTreeNodeDragDropInput): {
|
|
17
|
+
readonly elementProps: {};
|
|
18
|
+
readonly dragHandleProps: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
elementProps: {
|
|
21
|
+
draggable: boolean;
|
|
22
|
+
onDragStart: (event: React.DragEvent) => void;
|
|
23
|
+
onDragOver: (event: React.DragEvent) => void;
|
|
24
|
+
onDragLeave: (event: React.DragEvent) => void;
|
|
25
|
+
onDrop: (event: React.DragEvent) => void;
|
|
26
|
+
onDragEnd: (event: React.DragEvent) => void;
|
|
27
|
+
};
|
|
28
|
+
dragHandleProps: TreeDragHandleProps | undefined;
|
|
17
29
|
};
|
|
18
30
|
export {};
|
|
@@ -7,6 +7,6 @@ export interface UseResolvedStylesApiInput<Payload extends FactoryPayload> {
|
|
|
7
7
|
stylesCtx?: Record<string, any>;
|
|
8
8
|
}
|
|
9
9
|
export declare function useResolvedStylesApi<Payload extends FactoryPayload>({ classNames, styles, props, stylesCtx, }: UseResolvedStylesApiInput<Payload>): {
|
|
10
|
-
resolvedClassNames: Partial<Record<string, string
|
|
11
|
-
resolvedStyles: Record<string, any
|
|
10
|
+
resolvedClassNames: Partial<Record<string, string>> | undefined;
|
|
11
|
+
resolvedStyles: Record<string, any> | undefined;
|
|
12
12
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/core",
|
|
3
|
-
"version": "9.1.
|
|
3
|
+
"version": "9.1.1",
|
|
4
4
|
"description": "React components library focused on usability, accessibility and developer experience",
|
|
5
5
|
"homepage": "https://mantine.dev/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"directory": "packages/@mantine/core"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@mantine/hooks": "9.1.
|
|
46
|
+
"@mantine/hooks": "9.1.1",
|
|
47
47
|
"react": "^19.2.0",
|
|
48
48
|
"react-dom": "^19.2.0"
|
|
49
49
|
},
|
package/styles/Radio.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
.m_f3ed6b2b {
|
|
30
30
|
color: var(--radio-icon-color);
|
|
31
31
|
opacity: var(--radio-icon-opacity, 0);
|
|
32
|
+
translate: -50% -50%;
|
|
32
33
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
33
34
|
transition:
|
|
34
35
|
opacity 100ms ease,
|
|
@@ -37,8 +38,8 @@
|
|
|
37
38
|
width: var(--radio-icon-size);
|
|
38
39
|
height: var(--radio-icon-size);
|
|
39
40
|
position: absolute;
|
|
40
|
-
top:
|
|
41
|
-
left:
|
|
41
|
+
top: 50%;
|
|
42
|
+
left: 50%;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
.m_8a3dbb89 {
|
package/styles/Radio.layer.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
.m_f3ed6b2b {
|
|
30
30
|
color: var(--radio-icon-color);
|
|
31
31
|
opacity: var(--radio-icon-opacity, 0);
|
|
32
|
+
translate: -50% -50%;
|
|
32
33
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
33
34
|
transition:
|
|
34
35
|
opacity 100ms ease,
|
|
@@ -37,8 +38,8 @@
|
|
|
37
38
|
width: var(--radio-icon-size);
|
|
38
39
|
height: var(--radio-icon-size);
|
|
39
40
|
position: absolute;
|
|
40
|
-
top:
|
|
41
|
-
left:
|
|
41
|
+
top: 50%;
|
|
42
|
+
left: 50%;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
.m_8a3dbb89 {
|
package/styles.css
CHANGED
|
@@ -5820,6 +5820,7 @@ fieldset:disabled .m_8ee546b8,
|
|
|
5820
5820
|
.m_f3ed6b2b {
|
|
5821
5821
|
color: var(--radio-icon-color);
|
|
5822
5822
|
opacity: var(--radio-icon-opacity, 0);
|
|
5823
|
+
translate: -50% -50%;
|
|
5823
5824
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
5824
5825
|
transition:
|
|
5825
5826
|
opacity 100ms ease,
|
|
@@ -5828,8 +5829,8 @@ fieldset:disabled .m_8ee546b8,
|
|
|
5828
5829
|
width: var(--radio-icon-size);
|
|
5829
5830
|
height: var(--radio-icon-size);
|
|
5830
5831
|
position: absolute;
|
|
5831
|
-
top:
|
|
5832
|
-
left:
|
|
5832
|
+
top: 50%;
|
|
5833
|
+
left: 50%;
|
|
5833
5834
|
}
|
|
5834
5835
|
|
|
5835
5836
|
.m_8a3dbb89 {
|
package/styles.layer.css
CHANGED
|
@@ -5820,6 +5820,7 @@ fieldset:disabled .m_8ee546b8,
|
|
|
5820
5820
|
.m_f3ed6b2b {
|
|
5821
5821
|
color: var(--radio-icon-color);
|
|
5822
5822
|
opacity: var(--radio-icon-opacity, 0);
|
|
5823
|
+
translate: -50% -50%;
|
|
5823
5824
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
5824
5825
|
transition:
|
|
5825
5826
|
opacity 100ms ease,
|
|
@@ -5828,8 +5829,8 @@ fieldset:disabled .m_8ee546b8,
|
|
|
5828
5829
|
width: var(--radio-icon-size);
|
|
5829
5830
|
height: var(--radio-icon-size);
|
|
5830
5831
|
position: absolute;
|
|
5831
|
-
top:
|
|
5832
|
-
left:
|
|
5832
|
+
top: 50%;
|
|
5833
|
+
left: 50%;
|
|
5833
5834
|
}
|
|
5834
5835
|
|
|
5835
5836
|
.m_8a3dbb89 {
|