@kwiz/fluentui 1.0.24 → 1.0.26
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/helpers/drag-drop/drag-drop-container.d.ts +2 -2
- package/dist/helpers/drag-drop/drag-drop-container.js +6 -1
- package/dist/helpers/drag-drop/drag-drop-container.js.map +1 -1
- package/dist/helpers/drag-drop/drag-drop-context.d.ts +2 -1
- package/dist/helpers/drag-drop/drag-drop-context.js +3 -2
- package/dist/helpers/drag-drop/drag-drop-context.js.map +1 -1
- package/dist/helpers/drag-drop/use-draggable.js +2 -2
- package/dist/helpers/drag-drop/use-draggable.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/drag-drop/drag-drop-container.tsx +12 -4
- package/src/helpers/drag-drop/drag-drop-context.tsx +5 -3
- package/src/helpers/drag-drop/use-draggable.ts +2 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { iDraggableProps, iDraggedItemType } from "./use-draggable";
|
2
2
|
import { iDroppableProps } from "./use-droppable";
|
3
3
|
interface one<DragItemType extends iDraggedItemType<string>> {
|
4
4
|
dragInfo: iDraggableProps<DragItemType>;
|
@@ -6,7 +6,7 @@ interface one<DragItemType extends iDraggedItemType<string>> {
|
|
6
6
|
interface other<DropInfoTypes extends string = never, DropInfoItemTypes extends iDraggedItemType<DropInfoTypes> = never> {
|
7
7
|
dropInfo: iDroppableProps<DropInfoTypes, DropInfoItemTypes>;
|
8
8
|
}
|
9
|
-
type iDragDropProps<DragItemType extends iDraggedItemType<string>, DropInfoTypes extends string = never, DropInfoItemTypes extends iDraggedItemType<DropInfoTypes> = never> = one<DragItemType> | other<DropInfoTypes, DropInfoItemTypes> | (one<DragItemType> & other<DropInfoTypes, DropInfoItemTypes>);
|
9
|
+
type iDragDropProps<DragItemType extends iDraggedItemType<string>, DropInfoTypes extends string = never, DropInfoItemTypes extends iDraggedItemType<DropInfoTypes> = never> = one<DragItemType> & Partial<other<DropInfoTypes, DropInfoItemTypes>> | Partial<one<DragItemType>> & other<DropInfoTypes, DropInfoItemTypes> | (one<DragItemType> & other<DropInfoTypes, DropInfoItemTypes>);
|
10
10
|
type iProps<DragItemType extends iDraggedItemType<string>, DropInfoTypes extends string, DropInfoItemTypes extends iDraggedItemType<DropInfoTypes>> = Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
11
11
|
onDraggingClassName?: string;
|
12
12
|
onDragOverClassName?: string;
|
@@ -8,6 +8,11 @@ export function DragDropContainer(props) {
|
|
8
8
|
classNames.push(props.onDraggingClassName);
|
9
9
|
if (drop.isOver && props.onDragOverClassName)
|
10
10
|
classNames.push(props.onDragOverClassName);
|
11
|
-
|
11
|
+
const propsWithoutExtras = Object.assign({}, props);
|
12
|
+
delete propsWithoutExtras.dragInfo;
|
13
|
+
delete propsWithoutExtras.dropInfo;
|
14
|
+
delete propsWithoutExtras.onDraggingClassName;
|
15
|
+
delete propsWithoutExtras.onDragOverClassName;
|
16
|
+
return _jsx("div", Object.assign({}, propsWithoutExtras, { ref: dragDropRef, className: classNames.join(' '), children: props.children }));
|
12
17
|
}
|
13
18
|
//# sourceMappingURL=drag-drop-container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"drag-drop-container.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/drag-drop-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAgCzD,MAAM,UAAU,iBAAiB,CAI/B,KAAsF;IAEpF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAa,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpG,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,mBAAmB;QAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7F,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB;QAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEzF,OAAO,
|
1
|
+
{"version":3,"file":"drag-drop-container.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/drag-drop-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAgCzD,MAAM,UAAU,iBAAiB,CAI/B,KAAsF;IAEpF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAa,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpG,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,mBAAmB;QAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7F,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB;QAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEzF,MAAM,kBAAkB,qBACjB,KAAK,CACX,CAAC;IACF,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACnC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACnC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;IAC9C,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;IAE9C,OAAO,8BAAS,kBAAkB,IAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,YAAG,KAAK,CAAC,QAAQ,IAAO,CAAC;AAClH,CAAC"}
|
@@ -3,7 +3,8 @@ import { iDraggableProps, iDraggedItemType } from "./use-draggable";
|
|
3
3
|
import { iDroppableProps } from "./use-droppable";
|
4
4
|
export interface iDragDropContext {
|
5
5
|
isDragging: boolean;
|
6
|
-
|
6
|
+
dragItem: iDraggedItemType<string>;
|
7
|
+
setDragItem: (value: iDraggedItemType<string>) => void;
|
7
8
|
}
|
8
9
|
export declare const DragDropContext: React.Context<iDragDropContext>;
|
9
10
|
export declare function useDragDropContextInternal(): iDragDropContext;
|
@@ -33,10 +33,11 @@ export function useDragDropContext(info) {
|
|
33
33
|
};
|
34
34
|
}
|
35
35
|
export function useDragDropContextProvider() {
|
36
|
-
const [
|
36
|
+
const [dragItem, setDragItem] = useStateEX(null);
|
37
37
|
//build context
|
38
38
|
const ctx = {
|
39
|
-
isDragging,
|
39
|
+
isDragging: !isNullOrUndefined(dragItem),
|
40
|
+
dragItem, setDragItem
|
40
41
|
};
|
41
42
|
return ctx;
|
42
43
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"drag-drop-context.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/drag-drop-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAqC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,YAAiC,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"drag-drop-context.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/drag-drop-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAqC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,YAAiC,MAAM,iBAAiB,CAAC;AAOhE,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAmB,IAAI,CAAC,CAAC;AAC3E,kCAAkC;AAClC,MAAM,UAAU,0BAA0B;IACtC,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,OAAO,eAAe,CAAC;AAC3B,CAAC;AACD,MAAM,UAAU,kBAAkB,CAGhC,IAGD;IACG,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,CAAC;IAElF,OAAO;QACH,eAAe;QACf,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,WAAW,IAAI,CAAC,WAAW;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW;gBACzB,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,4BAA4B;gBAC5B,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;KACtD,CAAC;AACN,CAAC;AACD,MAAM,UAAU,0BAA0B;IACtC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,UAAU,CAA2B,IAAI,CAAC,CAAC;IAE3E,eAAe;IACf,MAAM,GAAG,GAAqB;QAC1B,UAAU,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACxC,QAAQ,EAAE,WAAW;KACxB,CAAC;IAGF,OAAO,GAAG,CAAC;AACf,CAAC;AAID,MAAM,CAAC,MAAM,uBAAuB,GAA6D,CAAC,KAAK,EAAE,EAAE;IACvG,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;IAC9C,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAC5C,KAAC,WAAW,IAAC,OAAO,EAAE,YAAY,YAC7B,KAAK,CAAC,QAAQ,GACL,GACS,CAAC;AAChC,CAAC,CAAA"}
|
@@ -15,13 +15,13 @@ export function useDraggable(props) {
|
|
15
15
|
isDragging: monitor.isDragging(),
|
16
16
|
}),
|
17
17
|
end: (item, monitor) => {
|
18
|
-
dragDropContext.
|
18
|
+
dragDropContext.setDragItem(null);
|
19
19
|
onEndDrag && onEndDrag(monitor.getDropResult());
|
20
20
|
},
|
21
21
|
}), [item, item.type]);
|
22
22
|
useEffect(() => {
|
23
23
|
if (isDragging) {
|
24
|
-
dragDropContext.
|
24
|
+
dragDropContext.setDragItem(item);
|
25
25
|
onBeginDrag && onBeginDrag();
|
26
26
|
}
|
27
27
|
}, [isDragging, onBeginDrag]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-draggable.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/use-draggable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAwC,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAWjE,MAAM,UAAU,YAAY,CAA4C,KAAiC;IAIrG,MAAM,EACF,IAAI,EACJ,WAAW,EACX,SAAS,GACZ,GAAG,KAAK,IAAI;QACT,IAAI,EAAE;YACF,IAAI,EAAE,WAAW;SACpB;KACJ,CAAC;IAEF,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IAErD,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,GAAG,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,OAAO,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;SACnC,CAAC;QACF,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACnB,eAAe,CAAC,
|
1
|
+
{"version":3,"file":"use-draggable.js","sourceRoot":"","sources":["../../../src/helpers/drag-drop/use-draggable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAwC,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAWjE,MAAM,UAAU,YAAY,CAA4C,KAAiC;IAIrG,MAAM,EACF,IAAI,EACJ,WAAW,EACX,SAAS,GACZ,GAAG,KAAK,IAAI;QACT,IAAI,EAAE;YACF,IAAI,EAAE,WAAW;SACpB;KACJ,CAAC;IAEF,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IAErD,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,GAAG,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,OAAO,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;SACnC,CAAC;QACF,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACnB,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC,EACF,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,EAAE,CAAC;YACb,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClC,WAAW,IAAI,WAAW,EAAE,CAAC;QACjC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7B,OAAO;QACH,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { isNullOrEmptyString } from "@kwiz/common";
|
2
2
|
import { useDragDropContext } from "./drag-drop-context";
|
3
|
-
import {
|
3
|
+
import { iDraggableProps, iDraggedItemType } from "./use-draggable";
|
4
4
|
import { iDroppableProps } from "./use-droppable";
|
5
5
|
|
6
6
|
interface one<DragItemType extends iDraggedItemType<string>> {
|
@@ -16,8 +16,8 @@ type iDragDropProps<
|
|
16
16
|
DragItemType extends iDraggedItemType<string>,
|
17
17
|
DropInfoTypes extends string = never,
|
18
18
|
DropInfoItemTypes extends iDraggedItemType<DropInfoTypes> = never,
|
19
|
-
> = one<DragItemType>
|
20
|
-
| other<DropInfoTypes, DropInfoItemTypes>
|
19
|
+
> = one<DragItemType> & Partial<other<DropInfoTypes, DropInfoItemTypes>>
|
20
|
+
| Partial<one<DragItemType>> & other<DropInfoTypes, DropInfoItemTypes>
|
21
21
|
| (one<DragItemType> & other<DropInfoTypes, DropInfoItemTypes>);
|
22
22
|
|
23
23
|
type iProps<DragItemType extends iDraggedItemType<string>, DropInfoTypes extends string, DropInfoItemTypes extends iDraggedItemType<DropInfoTypes>> =
|
@@ -43,5 +43,13 @@ export function DragDropContainer<
|
|
43
43
|
if (drag.isDragging && props.onDraggingClassName) classNames.push(props.onDraggingClassName);
|
44
44
|
if (drop.isOver && props.onDragOverClassName) classNames.push(props.onDragOverClassName);
|
45
45
|
|
46
|
-
|
46
|
+
const propsWithoutExtras = {
|
47
|
+
...props
|
48
|
+
};
|
49
|
+
delete propsWithoutExtras.dragInfo;
|
50
|
+
delete propsWithoutExtras.dropInfo;
|
51
|
+
delete propsWithoutExtras.onDraggingClassName;
|
52
|
+
delete propsWithoutExtras.onDragOverClassName;
|
53
|
+
|
54
|
+
return <div {...propsWithoutExtras} ref={dragDropRef} className={classNames.join(' ')}>{props.children}</div>;
|
47
55
|
}
|
@@ -8,7 +8,8 @@ import useDroppable, { iDroppableProps } from "./use-droppable";
|
|
8
8
|
|
9
9
|
export interface iDragDropContext {
|
10
10
|
isDragging: boolean;
|
11
|
-
|
11
|
+
dragItem: iDraggedItemType<string>;
|
12
|
+
setDragItem: (value: iDraggedItemType<string>) => void;
|
12
13
|
}
|
13
14
|
//create context
|
14
15
|
export const DragDropContext = React.createContext<iDragDropContext>(null);
|
@@ -44,11 +45,12 @@ export function useDragDropContext<
|
|
44
45
|
};
|
45
46
|
}
|
46
47
|
export function useDragDropContextProvider(): iDragDropContext {
|
47
|
-
const [
|
48
|
+
const [dragItem, setDragItem] = useStateEX<iDraggedItemType<string>>(null);
|
48
49
|
|
49
50
|
//build context
|
50
51
|
const ctx: iDragDropContext = {
|
51
|
-
isDragging,
|
52
|
+
isDragging: !isNullOrUndefined(dragItem),
|
53
|
+
dragItem, setDragItem
|
52
54
|
};
|
53
55
|
|
54
56
|
|
@@ -35,7 +35,7 @@ export function useDraggable<ItemType extends iDraggedItemType<string>>(props?:
|
|
35
35
|
isDragging: monitor.isDragging(),
|
36
36
|
}),
|
37
37
|
end: (item, monitor) => {
|
38
|
-
dragDropContext.
|
38
|
+
dragDropContext.setDragItem(null);
|
39
39
|
onEndDrag && onEndDrag(monitor.getDropResult());
|
40
40
|
},
|
41
41
|
}),
|
@@ -44,7 +44,7 @@ export function useDraggable<ItemType extends iDraggedItemType<string>>(props?:
|
|
44
44
|
|
45
45
|
useEffect(() => {
|
46
46
|
if (isDragging) {
|
47
|
-
dragDropContext.
|
47
|
+
dragDropContext.setDragItem(item);
|
48
48
|
onBeginDrag && onBeginDrag();
|
49
49
|
}
|
50
50
|
}, [isDragging, onBeginDrag])
|