@os-design/drag-sort 1.0.25 → 1.0.27
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/dist/cjs/DragAndDrop.js +5 -6
- package/dist/cjs/DragAndDrop.js.map +1 -1
- package/dist/cjs/Draggable.js +5 -6
- package/dist/cjs/Draggable.js.map +1 -1
- package/dist/cjs/Droppable.js +4 -5
- package/dist/cjs/Droppable.js.map +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/ListStore.js +4 -5
- package/dist/cjs/utils/ListStore.js.map +1 -1
- package/dist/cjs/utils/NodeList.js +5 -6
- package/dist/cjs/utils/NodeList.js.map +1 -1
- package/dist/cjs/utils/getElementOffset.js +1 -2
- package/dist/cjs/utils/getElementOffset.js.map +1 -1
- package/dist/cjs/utils/getElementScroll.js +1 -2
- package/dist/cjs/utils/getElementScroll.js.map +1 -1
- package/dist/cjs/utils/getNodeRect.js +1 -2
- package/dist/cjs/utils/getNodeRect.js.map +1 -1
- package/dist/cjs/utils/useAppendClassName.js +1 -2
- package/dist/cjs/utils/useAppendClassName.js.map +1 -1
- package/dist/cjs/utils/useBlankNode.js +2 -3
- package/dist/cjs/utils/useBlankNode.js.map +1 -1
- package/dist/cjs/utils/useDragAndDrop.js +5 -7
- package/dist/cjs/utils/useDragAndDrop.js.map +1 -1
- package/dist/cjs/utils/useDragEffect.js +2 -3
- package/dist/cjs/utils/useDragEffect.js.map +1 -1
- package/dist/cjs/utils/useDroppable.js +5 -7
- package/dist/cjs/utils/useDroppable.js.map +1 -1
- package/dist/cjs/utils/useGeneratedId.js +1 -2
- package/dist/cjs/utils/useGeneratedId.js.map +1 -1
- package/dist/cjs/utils/useGetNodeStyle.js +1 -2
- package/dist/cjs/utils/useGetNodeStyle.js.map +1 -1
- package/dist/cjs/utils/useInitRect.js +1 -2
- package/dist/cjs/utils/useInitRect.js.map +1 -1
- package/dist/cjs/utils/useInitScrollOffset.js +1 -2
- package/dist/cjs/utils/useInitScrollOffset.js.map +1 -1
- package/dist/cjs/utils/useMoveNode.js +2 -3
- package/dist/cjs/utils/useMoveNode.js.map +1 -1
- package/dist/cjs/utils/useScrollEventByPoint.js +1 -2
- package/dist/cjs/utils/useScrollEventByPoint.js.map +1 -1
- package/dist/cjs/utils/useTargetList.js +2 -3
- package/dist/cjs/utils/useTargetList.js.map +1 -1
- package/dist/cjs/utils/useTransitionStyle.js +1 -2
- package/dist/cjs/utils/useTransitionStyle.js.map +1 -1
- package/dist/esm/Droppable.js.map +1 -1
- package/dist/esm/utils/NodeList.js +4 -1
- package/dist/esm/utils/NodeList.js.map +1 -1
- package/dist/types/Droppable.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/Droppable.tsx +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNodeRect.js","names":["_getElementOffset2","_interopRequireDefault","require","_getElementScroll","obj","__esModule","getNodeRect","ref","current","parent","parentElement","_ref$current$getBound","getBoundingClientRect","width","height","_getElementOffset","getElementOffset","offsetLeft","offsetTop","_ref","getElementScroll","scrollLeft","scrollTop","left","top","right","bottom","_default","exports"],"sources":["../../../src/utils/getNodeRect.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport getElementOffset from './getElementOffset';\nimport getElementScroll from './getElementScroll';\n\n/**\n * Computes the bounds of the existing node without considering transforms.\n */\nconst getNodeRect = (ref: RefObject<HTMLElement>) => {\n if (!ref.current) return null;\n\n const parent = ref.current.parentElement;\n const { width, height } = ref.current.getBoundingClientRect();\n const { offsetLeft, offsetTop } = getElementOffset(ref.current);\n const { scrollLeft, scrollTop } = parent\n ? getElementScroll(parent)\n : { scrollLeft: 0, scrollTop: 0 };\n\n const left = offsetLeft - scrollLeft;\n const top = offsetTop - scrollTop;\n\n return {\n left,\n top,\n right: left + width,\n bottom: top + height,\n };\n};\n\nexport default getNodeRect;\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD;AACA;AACA;AACA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAA2B,EAAK;EACnD,IAAI,CAACA,GAAG,CAACC,OAAO,EAAE,OAAO,IAAI;EAE7B,IAAMC,MAAM,GAAGF,GAAG,CAACC,OAAO,CAACE,aAAa;EACxC,IAAAC,qBAAA,GAA0BJ,GAAG,CAACC,OAAO,CAACI,qBAAqB,CAAC,CAAC;IAArDC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;EACrB,IAAAC,iBAAA,GAAkC,IAAAC,6BAAgB,EAACT,GAAG,CAACC,OAAO,CAAC;IAAvDS,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,iBAAA,CAATG,SAAS;EAC7B,IAAAC,IAAA,GAAkCV,MAAM,GACpC,IAAAW,4BAAgB,EAACX,MAAM,CAAC,GACxB;MAAEY,UAAU,EAAE,CAAC;MAAEC,SAAS,EAAE;IAAE,CAAC;IAF3BD,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;EAI7B,IAAMC,IAAI,GAAGN,UAAU,GAAGI,UAAU;EACpC,IAAMG,GAAG,GAAGN,SAAS,GAAGI,SAAS;EAEjC,OAAO;IACLC,IAAI,EAAJA,IAAI;IACJC,GAAG,EAAHA,GAAG;IACHC,KAAK,EAAEF,IAAI,GAAGV,KAAK;IACnBa,MAAM,EAAEF,GAAG,GAAGV;EAChB,CAAC;AACH,CAAC;AAAC,IAAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"getNodeRect.js","names":["_getElementOffset2","_interopRequireDefault","require","_getElementScroll","obj","__esModule","getNodeRect","ref","current","parent","parentElement","_ref$current$getBound","getBoundingClientRect","width","height","_getElementOffset","getElementOffset","offsetLeft","offsetTop","_ref","getElementScroll","scrollLeft","scrollTop","left","top","right","bottom","_default","exports"],"sources":["../../../src/utils/getNodeRect.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport getElementOffset from './getElementOffset';\nimport getElementScroll from './getElementScroll';\n\n/**\n * Computes the bounds of the existing node without considering transforms.\n */\nconst getNodeRect = (ref: RefObject<HTMLElement>) => {\n if (!ref.current) return null;\n\n const parent = ref.current.parentElement;\n const { width, height } = ref.current.getBoundingClientRect();\n const { offsetLeft, offsetTop } = getElementOffset(ref.current);\n const { scrollLeft, scrollTop } = parent\n ? getElementScroll(parent)\n : { scrollLeft: 0, scrollTop: 0 };\n\n const left = offsetLeft - scrollLeft;\n const top = offsetTop - scrollTop;\n\n return {\n left,\n top,\n right: left + width,\n bottom: top + height,\n };\n};\n\nexport default getNodeRect;\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD;AACA;AACA;AACA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAA2B,EAAK;EACnD,IAAI,CAACA,GAAG,CAACC,OAAO,EAAE,OAAO,IAAI;EAE7B,IAAMC,MAAM,GAAGF,GAAG,CAACC,OAAO,CAACE,aAAa;EACxC,IAAAC,qBAAA,GAA0BJ,GAAG,CAACC,OAAO,CAACI,qBAAqB,CAAC,CAAC;IAArDC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;EACrB,IAAAC,iBAAA,GAAkC,IAAAC,6BAAgB,EAACT,GAAG,CAACC,OAAO,CAAC;IAAvDS,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,iBAAA,CAATG,SAAS;EAC7B,IAAAC,IAAA,GAAkCV,MAAM,GACpC,IAAAW,4BAAgB,EAACX,MAAM,CAAC,GACxB;MAAEY,UAAU,EAAE,CAAC;MAAEC,SAAS,EAAE;IAAE,CAAC;IAF3BD,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;EAI7B,IAAMC,IAAI,GAAGN,UAAU,GAAGI,UAAU;EACpC,IAAMG,GAAG,GAAGN,SAAS,GAAGI,SAAS;EAEjC,OAAO;IACLC,IAAI,EAAJA,IAAI;IACJC,GAAG,EAAHA,GAAG;IACHC,KAAK,EAAEF,IAAI,GAAGV,KAAK;IACnBa,MAAM,EAAEF,GAAG,GAAGV;EAChB,CAAC;AACH,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,cAEatB,WAAW"}
|
|
@@ -19,6 +19,5 @@ var useAppendClassName = function useAppendClassName(ref, className) {
|
|
|
19
19
|
};
|
|
20
20
|
}, [className, ref]);
|
|
21
21
|
};
|
|
22
|
-
var _default = useAppendClassName;
|
|
23
|
-
exports["default"] = _default;
|
|
22
|
+
var _default = exports["default"] = useAppendClassName;
|
|
24
23
|
//# sourceMappingURL=useAppendClassName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppendClassName.js","names":["_react","require","useAppendClassName","ref","className","useEffect","element","current","initClassName","concat","trim","_default","exports"],"sources":["../../../src/utils/useAppendClassName.ts"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\n/**\n * Adds a new class name to the element.\n */\nconst useAppendClassName = (ref: RefObject<HTMLElement>, className: string) => {\n useEffect(() => {\n const element = ref.current;\n if (!element) return () => {};\n\n const initClassName = element.className;\n element.className = `${initClassName} ${className}`.trim();\n\n return () => {\n element.className = initClassName;\n };\n }, [className, ref]);\n};\n\nexport default useAppendClassName;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,GAA2B,EAAEC,SAAiB,EAAK;EAC7E,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,OAAO,GAAGH,GAAG,CAACI,OAAO;IAC3B,IAAI,CAACD,OAAO,EAAE,OAAO,YAAM,CAAC,CAAC;IAE7B,IAAME,aAAa,GAAGF,OAAO,CAACF,SAAS;IACvCE,OAAO,CAACF,SAAS,GAAG,GAAAK,MAAA,CAAGD,aAAa,OAAAC,MAAA,CAAIL,SAAS,EAAGM,IAAI,CAAC,CAAC;IAE1D,OAAO,YAAM;MACXJ,OAAO,CAACF,SAAS,GAAGI,aAAa;IACnC,CAAC;EACH,CAAC,EAAE,CAACJ,SAAS,EAAED,GAAG,CAAC,CAAC;AACtB,CAAC;AAAC,IAAAQ,QAAA,
|
|
1
|
+
{"version":3,"file":"useAppendClassName.js","names":["_react","require","useAppendClassName","ref","className","useEffect","element","current","initClassName","concat","trim","_default","exports"],"sources":["../../../src/utils/useAppendClassName.ts"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\n/**\n * Adds a new class name to the element.\n */\nconst useAppendClassName = (ref: RefObject<HTMLElement>, className: string) => {\n useEffect(() => {\n const element = ref.current;\n if (!element) return () => {};\n\n const initClassName = element.className;\n element.className = `${initClassName} ${className}`.trim();\n\n return () => {\n element.className = initClassName;\n };\n }, [className, ref]);\n};\n\nexport default useAppendClassName;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,GAA2B,EAAEC,SAAiB,EAAK;EAC7E,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,OAAO,GAAGH,GAAG,CAACI,OAAO;IAC3B,IAAI,CAACD,OAAO,EAAE,OAAO,YAAM,CAAC,CAAC;IAE7B,IAAME,aAAa,GAAGF,OAAO,CAACF,SAAS;IACvCE,OAAO,CAACF,SAAS,GAAG,GAAAK,MAAA,CAAGD,aAAa,OAAAC,MAAA,CAAIL,SAAS,EAAGM,IAAI,CAAC,CAAC;IAE1D,OAAO,YAAM;MACXJ,OAAO,CAACF,SAAS,GAAGI,aAAa;IACnC,CAAC;EACH,CAAC,EAAE,CAACJ,SAAS,EAAED,GAAG,CAAC,CAAC;AACtB,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEaV,kBAAkB"}
|
|
@@ -9,7 +9,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
9
9
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
-
function _iterableToArrayLimit(
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
14
|
/**
|
|
15
15
|
* Appends the blank node to the list to increase the height of it.
|
|
@@ -90,6 +90,5 @@ var useBlankNode = function useBlankNode(props) {
|
|
|
90
90
|
}, [draggedNode, removeBlankNode]);
|
|
91
91
|
return removeBlankNode;
|
|
92
92
|
};
|
|
93
|
-
var _default = useBlankNode;
|
|
94
|
-
exports["default"] = _default;
|
|
93
|
+
var _default = exports["default"] = useBlankNode;
|
|
95
94
|
//# sourceMappingURL=useBlankNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBlankNode.js","names":["_react","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","
|
|
1
|
+
{"version":3,"file":"useBlankNode.js","names":["_react","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","useBlankNode","props","draggedNode","targetList","initDraggedNodeRect","initDraggedNodeRectRef","useRef","blankNode","useEffect","current","ref","list","_initDraggedNodeRectR","initWidth","initHeight","div","document","createElement","style","width","concat","height","minWidth","minHeight","parent","innerList","innerRef","_innerList$getBoundin","getBoundingClientRect","position","left","horizontal","top","appendChild","tail","getTail","node","add","setStyle","index","id","removeBlankNode","useCallback","blank","remove","_blank$node","blankNodeRef","parentElement","removeChild","_default","exports"],"sources":["../../../src/utils/useBlankNode.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport NodeList, { ExistingNode } from './NodeList';\n\ninterface InitSize {\n initWidth: number;\n initHeight: number;\n}\n\ninterface DraggedNode {\n list: NodeList;\n}\n\ninterface UseBlankNodeProps {\n draggedNode: DraggedNode | null;\n targetList: NodeList | null;\n initDraggedNodeRect: InitSize | null;\n}\n\ninterface BlankNode {\n list: NodeList;\n node: ExistingNode;\n}\n\n/**\n * Appends the blank node to the list to increase the height of it.\n * Used when the dragged node is located inside another list.\n */\nconst useBlankNode = (props: UseBlankNodeProps) => {\n const { draggedNode, targetList, initDraggedNodeRect } = props;\n const initDraggedNodeRectRef = useRef(initDraggedNodeRect);\n const blankNode = useRef<BlankNode | null>(null);\n\n useEffect(() => {\n initDraggedNodeRectRef.current = initDraggedNodeRect;\n }, [initDraggedNodeRect]);\n\n useEffect(() => {\n if (\n !draggedNode ||\n !targetList ||\n !targetList.ref.current ||\n draggedNode.list === targetList ||\n !initDraggedNodeRectRef.current\n ) {\n return;\n }\n\n // Create a new blank div\n const { initWidth, initHeight } = initDraggedNodeRectRef.current;\n const div = document.createElement('div');\n div.style.width = `${initWidth}px`;\n div.style.height = `${initHeight}px`;\n div.style.minWidth = `${initWidth}px`;\n div.style.minHeight = `${initHeight}px`;\n\n let parent = targetList.ref.current;\n const innerList = targetList.innerRef.current;\n\n // The inner ref used only in the virtual list\n if (innerList) {\n const { width, height } = innerList.getBoundingClientRect();\n div.style.position = 'absolute';\n div.style.left = targetList.horizontal ? `${width}px` : '0px';\n div.style.top = targetList.horizontal ? '0px' : `${height}px`;\n parent = innerList;\n }\n\n // Append the blank div to increase the height of the list\n parent.appendChild(div);\n\n // Add the blank node to the node list\n const tail = targetList.getTail();\n blankNode.current = {\n list: targetList,\n node: targetList.add({\n ref: { current: div },\n setStyle: () => {},\n index: tail ? tail[4] + 1 : 0,\n id: 'blank',\n }),\n };\n }, [draggedNode, targetList]);\n\n const removeBlankNode = useCallback(() => {\n const blank = blankNode.current;\n if (!blank) return;\n blankNode.current = null;\n blank.list.remove(blank.node);\n const [, , blankNodeRef] = blank.node;\n if (!blank.list.ref.current || !blankNodeRef.current) return;\n const parent = blankNodeRef.current.parentElement;\n if (parent) parent.removeChild(blankNodeRef.current);\n }, []);\n\n // Remove the blank node if the dragged node has been dropped\n useEffect(() => {\n if (!draggedNode) return () => {};\n return () => removeBlankNode();\n }, [draggedNode, removeBlankNode]);\n\n return removeBlankNode;\n};\n\nexport default useBlankNode;\n"],"mappings":"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"}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = exports.DragAndDropContext = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
function _getRequireWildcardCache(
|
|
10
|
-
function _interopRequireWildcard(
|
|
11
|
-
var DragAndDropContext = /*#__PURE__*/_react["default"].createContext({
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
|
+
var DragAndDropContext = exports.DragAndDropContext = /*#__PURE__*/_react["default"].createContext({
|
|
12
12
|
registerList: function registerList() {},
|
|
13
13
|
deregisterList: function deregisterList() {},
|
|
14
14
|
onMouseDown: function onMouseDown() {},
|
|
15
15
|
onTouchStart: function onTouchStart() {},
|
|
16
16
|
nodeClassName: ''
|
|
17
17
|
});
|
|
18
|
-
exports.DragAndDropContext = DragAndDropContext;
|
|
19
18
|
var useDragAndDrop = function useDragAndDrop() {
|
|
20
19
|
return (0, _react.useContext)(DragAndDropContext);
|
|
21
20
|
};
|
|
22
|
-
var _default = useDragAndDrop;
|
|
23
|
-
exports["default"] = _default;
|
|
21
|
+
var _default = exports["default"] = useDragAndDrop;
|
|
24
22
|
//# sourceMappingURL=useDragAndDrop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragAndDrop.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","
|
|
1
|
+
{"version":3,"file":"useDragAndDrop.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DragAndDropContext","exports","React","createContext","registerList","deregisterList","onMouseDown","onTouchStart","nodeClassName","useDragAndDrop","useContext","_default"],"sources":["../../../src/utils/useDragAndDrop.ts"],"sourcesContent":["import { Position } from '@os-design/use-drag';\nimport React, { MouseEvent, TouchEvent, useContext } from 'react';\nimport NodeList, { ExistingNode } from './NodeList';\n\nexport interface SetDraggedNodeProps {\n list: NodeList;\n node: ExistingNode;\n position: Position;\n}\n\ntype NodeEventHandler<T> = (e: T, list: NodeList, node: ExistingNode) => void;\n\ninterface DragAndDropContextProps {\n registerList: (list: NodeList) => void;\n deregisterList: (id: string) => void;\n onMouseDown: NodeEventHandler<MouseEvent>;\n onTouchStart: NodeEventHandler<TouchEvent>;\n nodeClassName: string;\n}\n\nexport const DragAndDropContext = React.createContext<DragAndDropContextProps>({\n registerList: () => {},\n deregisterList: () => {},\n onMouseDown: () => {},\n onTouchStart: () => {},\n nodeClassName: '',\n});\n\nconst useDragAndDrop = (): DragAndDropContextProps =>\n useContext(DragAndDropContext);\n\nexport default useDragAndDrop;\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAkE,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmB3D,IAAMY,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAGE,iBAAK,CAACC,aAAa,CAA0B;EAC7EC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC,CAAC;EACtBC,cAAc,EAAE,SAAAA,eAAA,EAAM,CAAC,CAAC;EACxBC,WAAW,EAAE,SAAAA,YAAA,EAAM,CAAC,CAAC;EACrBC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC,CAAC;EACtBC,aAAa,EAAE;AACjB,CAAC,CAAC;AAEF,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,OAClB,IAAAC,iBAAU,EAACV,kBAAkB,CAAC;AAAA;AAAC,IAAAW,QAAA,GAAAV,OAAA,cAElBQ,cAAc"}
|
|
@@ -20,7 +20,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
20
20
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
21
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
22
22
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
23
|
-
function _iterableToArrayLimit(
|
|
23
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
24
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
25
|
var HIDDEN_NODE_STYLE = {
|
|
26
26
|
opacity: 0,
|
|
@@ -464,6 +464,5 @@ var useDragEffect = function useDragEffect(props) {
|
|
|
464
464
|
};
|
|
465
465
|
}, [draggedNode]);
|
|
466
466
|
};
|
|
467
|
-
var _default = useDragEffect;
|
|
468
|
-
exports["default"] = _default;
|
|
467
|
+
var _default = exports["default"] = useDragEffect;
|
|
469
468
|
//# sourceMappingURL=useDragEffect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragEffect.js","names":["_useEvent","_interopRequireDefault","require","_useThrottle3","_react","_getElementScroll2","_getNodeRect","_useBlankNode","_useGetNodeStyle","_useInitRect","_useInitScrollOffset","_useMoveNode","_useTargetList","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","HIDDEN_NODE_STYLE","opacity","pointerEvents","createEmptyNode","_ref","_ref$prev","prev","_ref$next","current","useDragEffect","props","draggedNode","cursorPosition","listStoreRef","onDragEnd","targetRef","useRef","targetNodeRef","useEffect","onDragEndRef","initDraggedNodeRect","useInitRect","node","undefined","initDraggedNodeListScrollOffset","useInitScrollOffset","list","ref","position","useMemo","x","y","initWidth","initHeight","targetList","useTargetList","getNodeStyle","useGetNodeStyle","moveNode","useMoveNode","setTargetNode","useCallback","_node","nodeIndex","nodeId","listId","id","index","clearTargetNode","getDraggedNodePos","initX","initY","initScrollLeft","initScrollTop","_getElementScroll","getElementScroll","scrollLeft","scrollTop","getDraggedNodePosRef","_draggedNode$node","draggedNodeSetStyle","removeBlankNode","useBlankNode","updateTargetNode","prevTargetNode","startNode","direction","destination","isAnotherList","tail","getTail","axis","horizontal","_prevTargetNode$node","prevTargetNodeRef","draggedNodePos","isDraggingUp","head","getHead","prevTargetNodeRect","getNodeRect","startRectProp","isMoveUp","_useThrottle","useThrottle","_useThrottle2","throttledUpdateTargetNode","useEvent","window","_draggedNode$node2","draggedNodeIndex","targetNode","_node7","_node8","nodeSetStyle","_targetNode$node","targetNodeIndex","_node10","_node11","_targetNode$node2","targetNodeSetStyle","_node13","_node14","_node16","_node17","_draggedNode$node3","update","nodeProps","setStyle","_targetNode$node3","addListener","removeListener","_targetNode$node4","target","_draggedNode$node4","draggedNodeId","dragged","_default","exports"],"sources":["../../../src/utils/useDragEffect.ts"],"sourcesContent":["import { Position } from '@os-design/use-drag';\nimport useEvent from '@os-design/use-event';\nimport useThrottle from '@os-design/use-throttle';\nimport {\n CSSProperties,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport ListStore from './ListStore';\nimport NodeList, { ExistingNode, Node, NodeProps } from './NodeList';\nimport getElementScroll from './getElementScroll';\nimport getNodeRect from './getNodeRect';\nimport useBlankNode from './useBlankNode';\nimport useGetNodeStyle from './useGetNodeStyle';\nimport useInitRect from './useInitRect';\nimport useInitScrollOffset from './useInitScrollOffset';\nimport useMoveNode from './useMoveNode';\nimport useTargetList from './useTargetList';\n\nexport interface DraggedNode {\n list: NodeList;\n node: ExistingNode;\n position: Position;\n}\n\ninterface TargetNode {\n list: NodeList;\n node: ExistingNode;\n}\n\nexport interface ItemLocation {\n listId: string;\n index: number;\n id: string;\n}\n\nexport type DragEndHandler = (\n dragged: ItemLocation,\n target: ItemLocation\n) => void;\n\ninterface UseDragEffectProps {\n draggedNode: DraggedNode | null;\n cursorPosition: Position;\n listStoreRef: RefObject<ListStore>;\n onDragEnd: DragEndHandler;\n}\n\nconst HIDDEN_NODE_STYLE: CSSProperties = {\n opacity: 0,\n pointerEvents: 'none',\n};\n\nconst createEmptyNode = ({\n prev = null,\n next = null,\n}: {\n prev?: Node;\n next?: Node;\n}): ExistingNode => [prev, next, { current: null }, () => {}, -1, 'id'];\n\n/* eslint-disable no-constant-condition */\n\nconst useDragEffect = (props: UseDragEffectProps) => {\n const { draggedNode, cursorPosition, listStoreRef, onDragEnd } = props;\n\n const targetRef = useRef<ItemLocation | null>(null);\n const targetNodeRef = useRef<TargetNode | null>(draggedNode);\n\n useEffect(() => {\n targetNodeRef.current = draggedNode;\n }, [draggedNode]);\n\n const onDragEndRef = useRef(onDragEnd);\n useEffect(() => {\n onDragEndRef.current = onDragEnd;\n }, [onDragEnd]);\n\n // The initial bounds of the dragged node.\n // We can't read the bounds of the dragged node on the fly because the node can be unmounted in the virtual list.\n const initDraggedNodeRect = useInitRect(\n draggedNode ? draggedNode.node[2] : undefined\n );\n\n // The initial scroll position of the list where the dragged node is located.\n // Used to detect the actual position of the dragged node. The purpose is the same as with initDraggedNodeRect.\n const initDraggedNodeListScrollOffset = useInitScrollOffset(\n draggedNode ? draggedNode.list.ref : undefined\n );\n\n // The central position of the dragged node\n const position = useMemo(() => {\n if (!draggedNode || !initDraggedNodeRect) return null;\n const { x, y } = cursorPosition;\n const { initWidth, initHeight } = initDraggedNodeRect;\n return {\n x: x - draggedNode.position.x + initWidth / 2,\n y: y - draggedNode.position.y + initHeight / 2,\n };\n }, [cursorPosition, draggedNode, initDraggedNodeRect]);\n\n // The list in which the cursor is located\n const targetList = useTargetList(position, listStoreRef);\n\n // Returns the style for moving the node in the specified direction\n const getNodeStyle = useGetNodeStyle(initDraggedNodeRect);\n\n // Moves the node up or down\n const moveNode = useMoveNode({ position, draggedNode, getNodeStyle });\n\n const setTargetNode = useCallback((list: NodeList, node: ExistingNode) => {\n const [, , , , nodeIndex, nodeId] = node;\n targetNodeRef.current = { list, node };\n targetRef.current = {\n listId: list.id,\n index: nodeIndex,\n id: nodeId,\n };\n }, []);\n\n const clearTargetNode = useCallback(() => {\n targetNodeRef.current = null;\n targetRef.current = null;\n }, []);\n\n // Returns the central position of the dragged node in the list\n const getDraggedNodePos = useCallback(() => {\n if (\n !targetList ||\n !targetList.ref.current ||\n !initDraggedNodeRect ||\n !initDraggedNodeListScrollOffset\n ) {\n return null;\n }\n const { initX, initY, initWidth, initHeight } = initDraggedNodeRect;\n const { initScrollLeft, initScrollTop } = initDraggedNodeListScrollOffset;\n const { scrollLeft, scrollTop } = getElementScroll(targetList.ref.current);\n return {\n x: initX + initWidth / 2 + initScrollLeft - scrollLeft,\n y: initY + initHeight / 2 + initScrollTop - scrollTop,\n };\n }, [initDraggedNodeListScrollOffset, initDraggedNodeRect, targetList]);\n\n const getDraggedNodePosRef = useRef(getDraggedNodePos);\n useEffect(() => {\n getDraggedNodePosRef.current = getDraggedNodePos;\n }, [getDraggedNodePos]);\n\n // Hide the dragged node\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , draggedNodeSetStyle] = draggedNode.node;\n draggedNodeSetStyle(HIDDEN_NODE_STYLE);\n return () => draggedNodeSetStyle({});\n }, [draggedNode]);\n\n // Append the blank node to the list to increase the height of it.\n // Used when the dragged node is located inside another list.\n const removeBlankNode = useBlankNode({\n draggedNode,\n targetList,\n initDraggedNodeRect,\n });\n\n const updateTargetNode = useCallback(() => {\n if (!draggedNode) return;\n const prevTargetNode = targetNodeRef.current; // The last updated node\n\n // Dragging outside the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList !== draggedNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n });\n clearTargetNode();\n }\n\n // Dragging outside another list\n if (\n prevTargetNode &&\n prevTargetNode.list !== draggedNode.list &&\n targetList !== prevTargetNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n isAnotherList: true,\n });\n removeBlankNode();\n clearTargetNode();\n }\n\n // Dragging inside the origin list\n if (!prevTargetNode && targetList === draggedNode.list) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging inside another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n (!prevTargetNode || prevTargetNode.list !== targetList)\n ) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList === draggedNode.list\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const [, , prevTargetNodeRef, ,] = prevTargetNode.node;\n if (!prevTargetNodeRef.current) {\n // The target node was unmounted. It happens when the virtual list is used.\n // If the cursor is above the dragged node, we need to move the nodes down from the tail to the node where\n // the cursor is located. Otherwise, we need to move the nodes up from the head to the node where the cursor\n // is located.\n const draggedNodePos = getDraggedNodePosRef.current();\n if (!position || !draggedNodePos) return;\n const isDraggingUp = position[axis] < draggedNodePos[axis];\n if (isDraggingUp) {\n const tail = targetList.getTail();\n if (!tail || !tail[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ prev: tail }),\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n } else {\n const head = targetList.getHead();\n if (!head || !head[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ next: head }),\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n }\n return;\n }\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n prevTargetNode &&\n prevTargetNode.list === targetList\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n }\n }, [\n draggedNode,\n targetList,\n moveNode,\n clearTargetNode,\n removeBlankNode,\n setTargetNode,\n position,\n ]);\n\n // Update the target node if either the position or the target list has been changed\n useEffect(() => {\n updateTargetNode();\n }, [updateTargetNode]);\n\n // Update the target node if the target list has been scrolled\n const [throttledUpdateTargetNode] = useThrottle(updateTargetNode, 100);\n useEvent(\n (targetList ? targetList.ref : undefined) as unknown as EventTarget,\n 'scroll',\n throttledUpdateTargetNode\n );\n useEvent(window, 'scroll', throttledUpdateTargetNode);\n\n // Reset styles of the affected nodes when the dragged node was dropped\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n return () => {\n const targetNode = targetNodeRef.current;\n\n // If the dragged node was outside the origin list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the origin list.\n if (!targetNode || targetNode.list !== draggedNode.list) {\n const tail = draggedNode.list.getTail();\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was inside another list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the target list.\n if (targetNode && targetNode.list !== draggedNode.list) {\n const tail = targetNode.list.getTail();\n const [, , , , targetNodeIndex] = targetNode.node;\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= targetNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was moved inside the origin list, reset the styles for the nodes,\n // starting with target node and ending with the dragged node.\n if (targetNode && targetNode.list === draggedNode.list) {\n const [, , , targetNodeSetStyle, targetNodeIndex] = targetNode.node;\n if (targetNodeIndex > draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n } else if (targetNodeIndex < draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [, next, , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!next || nodeIndex >= draggedNodeIndex) break;\n node = next;\n }\n } else if (targetNodeIndex === draggedNodeIndex) {\n targetNodeSetStyle({});\n }\n }\n };\n }, [draggedNode]);\n\n // Update the position of the newly mounted nodes in the origin list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n\n // Set the hidden style, if the mounted node is the dragged node\n if (index === draggedNodeIndex) {\n setStyle(HIDDEN_NODE_STYLE);\n return;\n }\n\n // If the dragged node is inside the origin list\n if (targetNode && targetNode.list === draggedNode.list) {\n // Move the mounted node up/down, if it is located between the dragged and target node\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index > draggedNodeIndex && index < targetNodeIndex) {\n setStyle(getNodeStyle('up', targetNode.list.horizontal));\n } else if (index < draggedNodeIndex && index > targetNodeIndex) {\n setStyle(getNodeStyle('down', targetNode.list.horizontal));\n }\n } else if (index > draggedNodeIndex) {\n // Otherwise, move the mounted node up, if it is located below the dragged node\n setStyle(getNodeStyle('up', draggedNode.list.horizontal));\n }\n };\n\n draggedNode.list.addListener(update);\n return () => draggedNode.list.removeListener(update);\n }, [draggedNode, getNodeStyle]);\n\n // Update the position of the newly mounted nodes in the target list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode || !targetList || targetList === draggedNode.list) {\n return () => {};\n }\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n if (!targetNode) return;\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index >= targetNodeIndex) {\n // Move the mounted node down, if it is located below the target node or if it is the target node\n setStyle(getNodeStyle('down', targetList.horizontal));\n }\n };\n\n targetList.addListener(update);\n return () => targetList.removeListener(update);\n }, [draggedNode, getNodeStyle, targetList]);\n\n // Call the onDragEnd callback if the draggedNode was changed to null\n useEffect(() => {\n if (!draggedNode) return () => {};\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const target = targetRef.current;\n if (!target) return;\n const [, , , , draggedNodeIndex, draggedNodeId] = draggedNode.node;\n const dragged = {\n listId: draggedNode.list.id,\n index: draggedNodeIndex,\n id: draggedNodeId,\n };\n if (dragged.id === target.id && dragged.index === target.index) return;\n onDragEndRef.current(dragged, target);\n };\n }, [draggedNode]);\n};\n\nexport default useDragEffect;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDragEffect.js","names":["_useEvent","_interopRequireDefault","require","_useThrottle3","_react","_getElementScroll2","_getNodeRect","_useBlankNode","_useGetNodeStyle","_useInitRect","_useInitScrollOffset","_useMoveNode","_useTargetList","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","HIDDEN_NODE_STYLE","opacity","pointerEvents","createEmptyNode","_ref","_ref$prev","prev","_ref$next","current","useDragEffect","props","draggedNode","cursorPosition","listStoreRef","onDragEnd","targetRef","useRef","targetNodeRef","useEffect","onDragEndRef","initDraggedNodeRect","useInitRect","node","undefined","initDraggedNodeListScrollOffset","useInitScrollOffset","list","ref","position","useMemo","x","y","initWidth","initHeight","targetList","useTargetList","getNodeStyle","useGetNodeStyle","moveNode","useMoveNode","setTargetNode","useCallback","_node","nodeIndex","nodeId","listId","id","index","clearTargetNode","getDraggedNodePos","initX","initY","initScrollLeft","initScrollTop","_getElementScroll","getElementScroll","scrollLeft","scrollTop","getDraggedNodePosRef","_draggedNode$node","draggedNodeSetStyle","removeBlankNode","useBlankNode","updateTargetNode","prevTargetNode","startNode","direction","destination","isAnotherList","tail","getTail","axis","horizontal","_prevTargetNode$node","prevTargetNodeRef","draggedNodePos","isDraggingUp","head","getHead","prevTargetNodeRect","getNodeRect","startRectProp","isMoveUp","_useThrottle","useThrottle","_useThrottle2","throttledUpdateTargetNode","useEvent","window","_draggedNode$node2","draggedNodeIndex","targetNode","_node7","_node8","nodeSetStyle","_targetNode$node","targetNodeIndex","_node10","_node11","_targetNode$node2","targetNodeSetStyle","_node13","_node14","_node16","_node17","_draggedNode$node3","update","nodeProps","setStyle","_targetNode$node3","addListener","removeListener","_targetNode$node4","target","_draggedNode$node4","draggedNodeId","dragged","_default","exports"],"sources":["../../../src/utils/useDragEffect.ts"],"sourcesContent":["import { Position } from '@os-design/use-drag';\nimport useEvent from '@os-design/use-event';\nimport useThrottle from '@os-design/use-throttle';\nimport {\n CSSProperties,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport ListStore from './ListStore';\nimport NodeList, { ExistingNode, Node, NodeProps } from './NodeList';\nimport getElementScroll from './getElementScroll';\nimport getNodeRect from './getNodeRect';\nimport useBlankNode from './useBlankNode';\nimport useGetNodeStyle from './useGetNodeStyle';\nimport useInitRect from './useInitRect';\nimport useInitScrollOffset from './useInitScrollOffset';\nimport useMoveNode from './useMoveNode';\nimport useTargetList from './useTargetList';\n\nexport interface DraggedNode {\n list: NodeList;\n node: ExistingNode;\n position: Position;\n}\n\ninterface TargetNode {\n list: NodeList;\n node: ExistingNode;\n}\n\nexport interface ItemLocation {\n listId: string;\n index: number;\n id: string;\n}\n\nexport type DragEndHandler = (\n dragged: ItemLocation,\n target: ItemLocation\n) => void;\n\ninterface UseDragEffectProps {\n draggedNode: DraggedNode | null;\n cursorPosition: Position;\n listStoreRef: RefObject<ListStore>;\n onDragEnd: DragEndHandler;\n}\n\nconst HIDDEN_NODE_STYLE: CSSProperties = {\n opacity: 0,\n pointerEvents: 'none',\n};\n\nconst createEmptyNode = ({\n prev = null,\n next = null,\n}: {\n prev?: Node;\n next?: Node;\n}): ExistingNode => [prev, next, { current: null }, () => {}, -1, 'id'];\n\n/* eslint-disable no-constant-condition */\n\nconst useDragEffect = (props: UseDragEffectProps) => {\n const { draggedNode, cursorPosition, listStoreRef, onDragEnd } = props;\n\n const targetRef = useRef<ItemLocation | null>(null);\n const targetNodeRef = useRef<TargetNode | null>(draggedNode);\n\n useEffect(() => {\n targetNodeRef.current = draggedNode;\n }, [draggedNode]);\n\n const onDragEndRef = useRef(onDragEnd);\n useEffect(() => {\n onDragEndRef.current = onDragEnd;\n }, [onDragEnd]);\n\n // The initial bounds of the dragged node.\n // We can't read the bounds of the dragged node on the fly because the node can be unmounted in the virtual list.\n const initDraggedNodeRect = useInitRect(\n draggedNode ? draggedNode.node[2] : undefined\n );\n\n // The initial scroll position of the list where the dragged node is located.\n // Used to detect the actual position of the dragged node. The purpose is the same as with initDraggedNodeRect.\n const initDraggedNodeListScrollOffset = useInitScrollOffset(\n draggedNode ? draggedNode.list.ref : undefined\n );\n\n // The central position of the dragged node\n const position = useMemo(() => {\n if (!draggedNode || !initDraggedNodeRect) return null;\n const { x, y } = cursorPosition;\n const { initWidth, initHeight } = initDraggedNodeRect;\n return {\n x: x - draggedNode.position.x + initWidth / 2,\n y: y - draggedNode.position.y + initHeight / 2,\n };\n }, [cursorPosition, draggedNode, initDraggedNodeRect]);\n\n // The list in which the cursor is located\n const targetList = useTargetList(position, listStoreRef);\n\n // Returns the style for moving the node in the specified direction\n const getNodeStyle = useGetNodeStyle(initDraggedNodeRect);\n\n // Moves the node up or down\n const moveNode = useMoveNode({ position, draggedNode, getNodeStyle });\n\n const setTargetNode = useCallback((list: NodeList, node: ExistingNode) => {\n const [, , , , nodeIndex, nodeId] = node;\n targetNodeRef.current = { list, node };\n targetRef.current = {\n listId: list.id,\n index: nodeIndex,\n id: nodeId,\n };\n }, []);\n\n const clearTargetNode = useCallback(() => {\n targetNodeRef.current = null;\n targetRef.current = null;\n }, []);\n\n // Returns the central position of the dragged node in the list\n const getDraggedNodePos = useCallback(() => {\n if (\n !targetList ||\n !targetList.ref.current ||\n !initDraggedNodeRect ||\n !initDraggedNodeListScrollOffset\n ) {\n return null;\n }\n const { initX, initY, initWidth, initHeight } = initDraggedNodeRect;\n const { initScrollLeft, initScrollTop } = initDraggedNodeListScrollOffset;\n const { scrollLeft, scrollTop } = getElementScroll(targetList.ref.current);\n return {\n x: initX + initWidth / 2 + initScrollLeft - scrollLeft,\n y: initY + initHeight / 2 + initScrollTop - scrollTop,\n };\n }, [initDraggedNodeListScrollOffset, initDraggedNodeRect, targetList]);\n\n const getDraggedNodePosRef = useRef(getDraggedNodePos);\n useEffect(() => {\n getDraggedNodePosRef.current = getDraggedNodePos;\n }, [getDraggedNodePos]);\n\n // Hide the dragged node\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , draggedNodeSetStyle] = draggedNode.node;\n draggedNodeSetStyle(HIDDEN_NODE_STYLE);\n return () => draggedNodeSetStyle({});\n }, [draggedNode]);\n\n // Append the blank node to the list to increase the height of it.\n // Used when the dragged node is located inside another list.\n const removeBlankNode = useBlankNode({\n draggedNode,\n targetList,\n initDraggedNodeRect,\n });\n\n const updateTargetNode = useCallback(() => {\n if (!draggedNode) return;\n const prevTargetNode = targetNodeRef.current; // The last updated node\n\n // Dragging outside the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList !== draggedNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n });\n clearTargetNode();\n }\n\n // Dragging outside another list\n if (\n prevTargetNode &&\n prevTargetNode.list !== draggedNode.list &&\n targetList !== prevTargetNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n isAnotherList: true,\n });\n removeBlankNode();\n clearTargetNode();\n }\n\n // Dragging inside the origin list\n if (!prevTargetNode && targetList === draggedNode.list) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging inside another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n (!prevTargetNode || prevTargetNode.list !== targetList)\n ) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList === draggedNode.list\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const [, , prevTargetNodeRef, ,] = prevTargetNode.node;\n if (!prevTargetNodeRef.current) {\n // The target node was unmounted. It happens when the virtual list is used.\n // If the cursor is above the dragged node, we need to move the nodes down from the tail to the node where\n // the cursor is located. Otherwise, we need to move the nodes up from the head to the node where the cursor\n // is located.\n const draggedNodePos = getDraggedNodePosRef.current();\n if (!position || !draggedNodePos) return;\n const isDraggingUp = position[axis] < draggedNodePos[axis];\n if (isDraggingUp) {\n const tail = targetList.getTail();\n if (!tail || !tail[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ prev: tail }),\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n } else {\n const head = targetList.getHead();\n if (!head || !head[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ next: head }),\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n }\n return;\n }\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n prevTargetNode &&\n prevTargetNode.list === targetList\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n }\n }, [\n draggedNode,\n targetList,\n moveNode,\n clearTargetNode,\n removeBlankNode,\n setTargetNode,\n position,\n ]);\n\n // Update the target node if either the position or the target list has been changed\n useEffect(() => {\n updateTargetNode();\n }, [updateTargetNode]);\n\n // Update the target node if the target list has been scrolled\n const [throttledUpdateTargetNode] = useThrottle(updateTargetNode, 100);\n useEvent(\n (targetList ? targetList.ref : undefined) as unknown as EventTarget,\n 'scroll',\n throttledUpdateTargetNode\n );\n useEvent(window, 'scroll', throttledUpdateTargetNode);\n\n // Reset styles of the affected nodes when the dragged node was dropped\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n return () => {\n const targetNode = targetNodeRef.current;\n\n // If the dragged node was outside the origin list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the origin list.\n if (!targetNode || targetNode.list !== draggedNode.list) {\n const tail = draggedNode.list.getTail();\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was inside another list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the target list.\n if (targetNode && targetNode.list !== draggedNode.list) {\n const tail = targetNode.list.getTail();\n const [, , , , targetNodeIndex] = targetNode.node;\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= targetNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was moved inside the origin list, reset the styles for the nodes,\n // starting with target node and ending with the dragged node.\n if (targetNode && targetNode.list === draggedNode.list) {\n const [, , , targetNodeSetStyle, targetNodeIndex] = targetNode.node;\n if (targetNodeIndex > draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n } else if (targetNodeIndex < draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [, next, , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!next || nodeIndex >= draggedNodeIndex) break;\n node = next;\n }\n } else if (targetNodeIndex === draggedNodeIndex) {\n targetNodeSetStyle({});\n }\n }\n };\n }, [draggedNode]);\n\n // Update the position of the newly mounted nodes in the origin list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n\n // Set the hidden style, if the mounted node is the dragged node\n if (index === draggedNodeIndex) {\n setStyle(HIDDEN_NODE_STYLE);\n return;\n }\n\n // If the dragged node is inside the origin list\n if (targetNode && targetNode.list === draggedNode.list) {\n // Move the mounted node up/down, if it is located between the dragged and target node\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index > draggedNodeIndex && index < targetNodeIndex) {\n setStyle(getNodeStyle('up', targetNode.list.horizontal));\n } else if (index < draggedNodeIndex && index > targetNodeIndex) {\n setStyle(getNodeStyle('down', targetNode.list.horizontal));\n }\n } else if (index > draggedNodeIndex) {\n // Otherwise, move the mounted node up, if it is located below the dragged node\n setStyle(getNodeStyle('up', draggedNode.list.horizontal));\n }\n };\n\n draggedNode.list.addListener(update);\n return () => draggedNode.list.removeListener(update);\n }, [draggedNode, getNodeStyle]);\n\n // Update the position of the newly mounted nodes in the target list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode || !targetList || targetList === draggedNode.list) {\n return () => {};\n }\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n if (!targetNode) return;\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index >= targetNodeIndex) {\n // Move the mounted node down, if it is located below the target node or if it is the target node\n setStyle(getNodeStyle('down', targetList.horizontal));\n }\n };\n\n targetList.addListener(update);\n return () => targetList.removeListener(update);\n }, [draggedNode, getNodeStyle, targetList]);\n\n // Call the onDragEnd callback if the draggedNode was changed to null\n useEffect(() => {\n if (!draggedNode) return () => {};\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const target = targetRef.current;\n if (!target) return;\n const [, , , , draggedNodeIndex, draggedNodeId] = draggedNode.node;\n const dragged = {\n listId: draggedNode.list.id,\n index: draggedNodeIndex,\n id: draggedNodeId,\n };\n if (dragged.id === target.id && dragged.index === target.index) return;\n onDragEndRef.current(dragged, target);\n };\n }, [draggedNode]);\n};\n\nexport default useDragEffect;\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAUA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,gBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,YAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,cAAA,GAAAX,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAP,CAAA,EAAAQ,KAAA,aAAAL,CAAA,iBAAAH,CAAA,CAAAS,WAAA,EAAAN,CAAA,GAAAH,CAAA,CAAAS,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAQ,KAAA,CAAAC,IAAA,CAAAZ,CAAA,OAAAG,CAAA,+DAAAU,IAAA,CAAAV,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAqB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAArB,GAAA,CAAAsB,MAAA,EAAAD,GAAA,GAAArB,GAAA,CAAAsB,MAAA,WAAArB,CAAA,MAAAsB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAApB,CAAA,GAAAoB,GAAA,EAAApB,CAAA,IAAAsB,IAAA,CAAAtB,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAsB,IAAA;AAAA,SAAApB,sBAAAqB,CAAA,EAAAC,CAAA,QAAAC,CAAA,WAAAF,CAAA,gCAAAG,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,4BAAAE,CAAA,QAAAG,CAAA,EAAAnB,CAAA,EAAAT,CAAA,EAAA6B,CAAA,EAAAC,CAAA,OAAAC,CAAA,OAAAzB,CAAA,iBAAAN,CAAA,IAAAyB,CAAA,GAAAA,CAAA,CAAAZ,IAAA,CAAAU,CAAA,GAAAS,IAAA,QAAAR,CAAA,QAAAd,MAAA,CAAAe,CAAA,MAAAA,CAAA,UAAAM,CAAA,uBAAAA,CAAA,IAAAH,CAAA,GAAA5B,CAAA,CAAAa,IAAA,CAAAY,CAAA,GAAAQ,IAAA,MAAAH,CAAA,CAAAI,IAAA,CAAAN,CAAA,CAAAO,KAAA,GAAAL,CAAA,CAAAT,MAAA,KAAAG,CAAA,GAAAO,CAAA,iBAAAR,CAAA,IAAAjB,CAAA,OAAAG,CAAA,GAAAc,CAAA,yBAAAQ,CAAA,YAAAN,CAAA,eAAAI,CAAA,GAAAJ,CAAA,cAAAf,MAAA,CAAAmB,CAAA,MAAAA,CAAA,2BAAAvB,CAAA,QAAAG,CAAA,aAAAqB,CAAA;AAAA,SAAA7B,gBAAAF,GAAA,QAAAkB,KAAA,CAAAmB,OAAA,CAAArC,GAAA,UAAAA,GAAA;AA+B5C,IAAMsC,iBAAgC,GAAG;EACvCC,OAAO,EAAE,CAAC;EACVC,aAAa,EAAE;AACjB,CAAC;AAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IAAAC,SAAA,GAAAD,IAAA,CACnBE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IAAAE,SAAA,GAAAH,IAAA,CACXT,IAAI;IAAJA,IAAI,GAAAY,SAAA,cAAG,IAAI,GAAAA,SAAA;EAAA,OAIO,CAACD,IAAI,EAAEX,IAAI,EAAE;IAAEa,OAAO,EAAE;EAAK,CAAC,EAAE,YAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;AAAA;;AAEvE;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAyB,EAAK;EACnD,IAAQC,WAAW,GAA8CD,KAAK,CAA9DC,WAAW;IAAEC,cAAc,GAA8BF,KAAK,CAAjDE,cAAc;IAAEC,YAAY,GAAgBH,KAAK,CAAjCG,YAAY;IAAEC,SAAS,GAAKJ,KAAK,CAAnBI,SAAS;EAE5D,IAAMC,SAAS,GAAG,IAAAC,aAAM,EAAsB,IAAI,CAAC;EACnD,IAAMC,aAAa,GAAG,IAAAD,aAAM,EAAoBL,WAAW,CAAC;EAE5D,IAAAO,gBAAS,EAAC,YAAM;IACdD,aAAa,CAACT,OAAO,GAAGG,WAAW;EACrC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAMQ,YAAY,GAAG,IAAAH,aAAM,EAACF,SAAS,CAAC;EACtC,IAAAI,gBAAS,EAAC,YAAM;IACdC,YAAY,CAACX,OAAO,GAAGM,SAAS;EAClC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;;EAEf;EACA;EACA,IAAMM,mBAAmB,GAAG,IAAAC,uBAAW,EACrCV,WAAW,GAAGA,WAAW,CAACW,IAAI,CAAC,CAAC,CAAC,GAAGC,SACtC,CAAC;;EAED;EACA;EACA,IAAMC,+BAA+B,GAAG,IAAAC,+BAAmB,EACzDd,WAAW,GAAGA,WAAW,CAACe,IAAI,CAACC,GAAG,GAAGJ,SACvC,CAAC;;EAED;EACA,IAAMK,QAAQ,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC7B,IAAI,CAAClB,WAAW,IAAI,CAACS,mBAAmB,EAAE,OAAO,IAAI;IACrD,IAAQU,CAAC,GAAQlB,cAAc,CAAvBkB,CAAC;MAAEC,CAAC,GAAKnB,cAAc,CAApBmB,CAAC;IACZ,IAAQC,SAAS,GAAiBZ,mBAAmB,CAA7CY,SAAS;MAAEC,UAAU,GAAKb,mBAAmB,CAAlCa,UAAU;IAC7B,OAAO;MACLH,CAAC,EAAEA,CAAC,GAAGnB,WAAW,CAACiB,QAAQ,CAACE,CAAC,GAAGE,SAAS,GAAG,CAAC;MAC7CD,CAAC,EAAEA,CAAC,GAAGpB,WAAW,CAACiB,QAAQ,CAACG,CAAC,GAAGE,UAAU,GAAG;IAC/C,CAAC;EACH,CAAC,EAAE,CAACrB,cAAc,EAAED,WAAW,EAAES,mBAAmB,CAAC,CAAC;;EAEtD;EACA,IAAMc,UAAU,GAAG,IAAAC,yBAAa,EAACP,QAAQ,EAAEf,YAAY,CAAC;;EAExD;EACA,IAAMuB,YAAY,GAAG,IAAAC,2BAAe,EAACjB,mBAAmB,CAAC;;EAEzD;EACA,IAAMkB,QAAQ,GAAG,IAAAC,uBAAW,EAAC;IAAEX,QAAQ,EAARA,QAAQ;IAAEjB,WAAW,EAAXA,WAAW;IAAEyB,YAAY,EAAZA;EAAa,CAAC,CAAC;EAErE,IAAMI,aAAa,GAAG,IAAAC,kBAAW,EAAC,UAACf,IAAc,EAAEJ,IAAkB,EAAK;IACxE,IAAAoB,KAAA,GAAAjF,cAAA,CAAoC6D,IAAI;MAAzBqB,SAAS,GAAAD,KAAA;MAAEE,MAAM,GAAAF,KAAA;IAChCzB,aAAa,CAACT,OAAO,GAAG;MAAEkB,IAAI,EAAJA,IAAI;MAAEJ,IAAI,EAAJA;IAAK,CAAC;IACtCP,SAAS,CAACP,OAAO,GAAG;MAClBqC,MAAM,EAAEnB,IAAI,CAACoB,EAAE;MACfC,KAAK,EAAEJ,SAAS;MAChBG,EAAE,EAAEF;IACN,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMI,eAAe,GAAG,IAAAP,kBAAW,EAAC,YAAM;IACxCxB,aAAa,CAACT,OAAO,GAAG,IAAI;IAC5BO,SAAS,CAACP,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAMyC,iBAAiB,GAAG,IAAAR,kBAAW,EAAC,YAAM;IAC1C,IACE,CAACP,UAAU,IACX,CAACA,UAAU,CAACP,GAAG,CAACnB,OAAO,IACvB,CAACY,mBAAmB,IACpB,CAACI,+BAA+B,EAChC;MACA,OAAO,IAAI;IACb;IACA,IAAQ0B,KAAK,GAAmC9B,mBAAmB,CAA3D8B,KAAK;MAAEC,KAAK,GAA4B/B,mBAAmB,CAApD+B,KAAK;MAAEnB,SAAS,GAAiBZ,mBAAmB,CAA7CY,SAAS;MAAEC,UAAU,GAAKb,mBAAmB,CAAlCa,UAAU;IAC3C,IAAQmB,cAAc,GAAoB5B,+BAA+B,CAAjE4B,cAAc;MAAEC,aAAa,GAAK7B,+BAA+B,CAAjD6B,aAAa;IACrC,IAAAC,iBAAA,GAAkC,IAAAC,6BAAgB,EAACrB,UAAU,CAACP,GAAG,CAACnB,OAAO,CAAC;MAAlEgD,UAAU,GAAAF,iBAAA,CAAVE,UAAU;MAAEC,SAAS,GAAAH,iBAAA,CAATG,SAAS;IAC7B,OAAO;MACL3B,CAAC,EAAEoB,KAAK,GAAGlB,SAAS,GAAG,CAAC,GAAGoB,cAAc,GAAGI,UAAU;MACtDzB,CAAC,EAAEoB,KAAK,GAAGlB,UAAU,GAAG,CAAC,GAAGoB,aAAa,GAAGI;IAC9C,CAAC;EACH,CAAC,EAAE,CAACjC,+BAA+B,EAAEJ,mBAAmB,EAAEc,UAAU,CAAC,CAAC;EAEtE,IAAMwB,oBAAoB,GAAG,IAAA1C,aAAM,EAACiC,iBAAiB,CAAC;EACtD,IAAA/B,gBAAS,EAAC,YAAM;IACdwC,oBAAoB,CAAClD,OAAO,GAAGyC,iBAAiB;EAClD,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;;EAEvB;EACA,IAAA/B,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,WAAW,EAAE,OAAO,YAAM,CAAC,CAAC;IACjC,IAAAgD,iBAAA,GAAAlG,cAAA,CAAoCkD,WAAW,CAACW,IAAI;MAAvCsC,mBAAmB,GAAAD,iBAAA;IAChCC,mBAAmB,CAAC5D,iBAAiB,CAAC;IACtC,OAAO;MAAA,OAAM4D,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAAA;EACtC,CAAC,EAAE,CAACjD,WAAW,CAAC,CAAC;;EAEjB;EACA;EACA,IAAMkD,eAAe,GAAG,IAAAC,wBAAY,EAAC;IACnCnD,WAAW,EAAXA,WAAW;IACXuB,UAAU,EAAVA,UAAU;IACVd,mBAAmB,EAAnBA;EACF,CAAC,CAAC;EAEF,IAAM2C,gBAAgB,GAAG,IAAAtB,kBAAW,EAAC,YAAM;IACzC,IAAI,CAAC9B,WAAW,EAAE;IAClB,IAAMqD,cAAc,GAAG/C,aAAa,CAACT,OAAO,CAAC,CAAC;;IAE9C;IACA,IACEwD,cAAc,IACdA,cAAc,CAACtC,IAAI,KAAKf,WAAW,CAACe,IAAI,IACxCQ,UAAU,KAAKvB,WAAW,CAACe,IAAI,EAC/B;MACAY,QAAQ,CAAC;QACPZ,IAAI,EAAEsC,cAAc,CAACtC,IAAI;QACzBuC,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,MAAM;QACjBC,WAAW,EAAE;MACf,CAAC,CAAC;MACFnB,eAAe,CAAC,CAAC;IACnB;;IAEA;IACA,IACEgB,cAAc,IACdA,cAAc,CAACtC,IAAI,KAAKf,WAAW,CAACe,IAAI,IACxCQ,UAAU,KAAK8B,cAAc,CAACtC,IAAI,EAClC;MACAY,QAAQ,CAAC;QACPZ,IAAI,EAAEsC,cAAc,CAACtC,IAAI;QACzBuC,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,MAAM;QACjBC,WAAW,EAAE,KAAK;QAClBC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFP,eAAe,CAAC,CAAC;MACjBb,eAAe,CAAC,CAAC;IACnB;;IAEA;IACA,IAAI,CAACgB,cAAc,IAAI9B,UAAU,KAAKvB,WAAW,CAACe,IAAI,EAAE;MACtD,IAAM2C,IAAI,GAAGnC,UAAU,CAACoC,OAAO,CAAC,CAAC;MACjC,IAAI,CAACD,IAAI,EAAE;MACX,IAAM/C,IAAI,GAAGgB,QAAQ,CAAC;QACpBZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAEI,IAAI;QACfH,SAAS,EAAE,IAAI;QACfC,WAAW,EAAE;MACf,CAAC,CAAC;MACF3B,aAAa,CAACN,UAAU,EAAEZ,IAAI,CAAC;MAC/B;IACF;;IAEA;IACA,IACEY,UAAU,IACVA,UAAU,KAAKvB,WAAW,CAACe,IAAI,KAC9B,CAACsC,cAAc,IAAIA,cAAc,CAACtC,IAAI,KAAKQ,UAAU,CAAC,EACvD;MACA,IAAMmC,KAAI,GAAGnC,UAAU,CAACoC,OAAO,CAAC,CAAC;MACjC,IAAI,CAACD,KAAI,EAAE;MACX,IAAM/C,MAAI,GAAGgB,QAAQ,CAAC;QACpBZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAEI,KAAI;QACfH,SAAS,EAAE,IAAI;QACfC,WAAW,EAAE,QAAQ;QACrBC,aAAa,EAAE;MACjB,CAAC,CAAC;MACF5B,aAAa,CAACN,UAAU,EAAEZ,MAAI,CAAC;MAC/B;IACF;;IAEA;IACA,IACE0C,cAAc,IACdA,cAAc,CAACtC,IAAI,KAAKf,WAAW,CAACe,IAAI,IACxCQ,UAAU,KAAKvB,WAAW,CAACe,IAAI,EAC/B;MACA,IAAM6C,IAAI,GAAGrC,UAAU,CAACsC,UAAU,GAAG,GAAG,GAAG,GAAG;MAC9C,IAAAC,oBAAA,GAAAhH,cAAA,CAAmCuG,cAAc,CAAC1C,IAAI;QAA3CoD,iBAAiB,GAAAD,oBAAA;MAC5B,IAAI,CAACC,iBAAiB,CAAClE,OAAO,EAAE;QAC9B;QACA;QACA;QACA;QACA,IAAMmE,cAAc,GAAGjB,oBAAoB,CAAClD,OAAO,CAAC,CAAC;QACrD,IAAI,CAACoB,QAAQ,IAAI,CAAC+C,cAAc,EAAE;QAClC,IAAMC,YAAY,GAAGhD,QAAQ,CAAC2C,IAAI,CAAC,GAAGI,cAAc,CAACJ,IAAI,CAAC;QAC1D,IAAIK,YAAY,EAAE;UAChB,IAAMP,MAAI,GAAGnC,UAAU,CAACoC,OAAO,CAAC,CAAC;UACjC,IAAI,CAACD,MAAI,IAAI,CAACA,MAAI,CAAC,CAAC,CAAC,CAAC7D,OAAO,EAAE;UAC/B,IAAMc,MAAI,GAAGgB,QAAQ,CAAC;YACpBZ,IAAI,EAAEQ,UAAU;YAChB+B,SAAS,EAAE9D,eAAe,CAAC;cAAEG,IAAI,EAAE+D;YAAK,CAAC,CAAC;YAC1CH,SAAS,EAAE,IAAI;YACfC,WAAW,EAAE;UACf,CAAC,CAAC;UACF3B,aAAa,CAACN,UAAU,EAAEZ,MAAI,CAAC;QACjC,CAAC,MAAM;UACL,IAAMuD,IAAI,GAAG3C,UAAU,CAAC4C,OAAO,CAAC,CAAC;UACjC,IAAI,CAACD,IAAI,IAAI,CAACA,IAAI,CAAC,CAAC,CAAC,CAACrE,OAAO,EAAE;UAC/B,IAAMc,MAAI,GAAGgB,QAAQ,CAAC;YACpBZ,IAAI,EAAEQ,UAAU;YAChB+B,SAAS,EAAE9D,eAAe,CAAC;cAAER,IAAI,EAAEkF;YAAK,CAAC,CAAC;YAC1CX,SAAS,EAAE,MAAM;YACjBC,WAAW,EAAE;UACf,CAAC,CAAC;UACF3B,aAAa,CAACN,UAAU,EAAEZ,MAAI,CAAC;QACjC;QACA;MACF;MACA,IAAMyD,kBAAkB,GAAG,IAAAC,uBAAW,EAAChB,cAAc,CAAC1C,IAAI,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAM2D,aAAa,GAAG/C,UAAU,CAACsC,UAAU,GAAG,MAAM,GAAG,KAAK;MAC5D,IAAI,CAAC5C,QAAQ,IAAI,CAACmD,kBAAkB,EAAE;MACtC,IAAMG,QAAQ,GAAGtD,QAAQ,CAAC2C,IAAI,CAAC,GAAGQ,kBAAkB,CAACE,aAAa,CAAC;MACnE,IAAM3D,MAAI,GAAG4D,QAAQ,GACjB5C,QAAQ,CAAC;QACPZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,IAAI;QACfC,WAAW,EAAE;MACf,CAAC,CAAC,GACF7B,QAAQ,CAAC;QACPZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,MAAM;QACjBC,WAAW,EAAE;MACf,CAAC,CAAC;MACN3B,aAAa,CAACN,UAAU,EAAEZ,MAAI,CAAC;MAC/B;IACF;;IAEA;IACA,IACEY,UAAU,IACVA,UAAU,KAAKvB,WAAW,CAACe,IAAI,IAC/BsC,cAAc,IACdA,cAAc,CAACtC,IAAI,KAAKQ,UAAU,EAClC;MACA,IAAMqC,KAAI,GAAGrC,UAAU,CAACsC,UAAU,GAAG,GAAG,GAAG,GAAG;MAC9C,IAAMO,mBAAkB,GAAG,IAAAC,uBAAW,EAAChB,cAAc,CAAC1C,IAAI,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAM2D,cAAa,GAAG/C,UAAU,CAACsC,UAAU,GAAG,MAAM,GAAG,KAAK;MAC5D,IAAI,CAAC5C,QAAQ,IAAI,CAACmD,mBAAkB,EAAE;MACtC,IAAMG,SAAQ,GAAGtD,QAAQ,CAAC2C,KAAI,CAAC,GAAGQ,mBAAkB,CAACE,cAAa,CAAC;MACnE,IAAM3D,MAAI,GAAG4D,SAAQ,GACjB5C,QAAQ,CAAC;QACPZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,IAAI;QACfC,WAAW,EAAE,QAAQ;QACrBC,aAAa,EAAE;MACjB,CAAC,CAAC,GACF9B,QAAQ,CAAC;QACPZ,IAAI,EAAEQ,UAAU;QAChB+B,SAAS,EAAED,cAAc,CAAC1C,IAAI;QAC9B4C,SAAS,EAAE,MAAM;QACjBC,WAAW,EAAE,QAAQ;QACrBC,aAAa,EAAE;MACjB,CAAC,CAAC;MACN5B,aAAa,CAACN,UAAU,EAAEZ,MAAI,CAAC;IACjC;EACF,CAAC,EAAE,CACDX,WAAW,EACXuB,UAAU,EACVI,QAAQ,EACRU,eAAe,EACfa,eAAe,EACfrB,aAAa,EACbZ,QAAQ,CACT,CAAC;;EAEF;EACA,IAAAV,gBAAS,EAAC,YAAM;IACd6C,gBAAgB,CAAC,CAAC;EACpB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;;EAEtB;EACA,IAAAoB,YAAA,GAAoC,IAAAC,wBAAW,EAACrB,gBAAgB,EAAE,GAAG,CAAC;IAAAsB,aAAA,GAAA5H,cAAA,CAAA0H,YAAA;IAA/DG,yBAAyB,GAAAD,aAAA;EAChC,IAAAE,oBAAQ,EACLrD,UAAU,GAAGA,UAAU,CAACP,GAAG,GAAGJ,SAAS,EACxC,QAAQ,EACR+D,yBACF,CAAC;EACD,IAAAC,oBAAQ,EAACC,MAAM,EAAE,QAAQ,EAAEF,yBAAyB,CAAC;;EAErD;EACA,IAAApE,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,WAAW,EAAE,OAAO,YAAM,CAAC,CAAC;IACjC,IAAA8E,kBAAA,GAAAhI,cAAA,CAAmCkD,WAAW,CAACW,IAAI;MAApCoE,gBAAgB,GAAAD,kBAAA;IAC/B,OAAO,YAAM;MACX,IAAME,UAAU,GAAG1E,aAAa,CAACT,OAAO;;MAExC;MACA;MACA,IAAI,CAACmF,UAAU,IAAIA,UAAU,CAACjE,IAAI,KAAKf,WAAW,CAACe,IAAI,EAAE;QACvD,IAAM2C,IAAI,GAAG1D,WAAW,CAACe,IAAI,CAAC4C,OAAO,CAAC,CAAC;QACvC,IAAID,IAAI,EAAE;UACR,IAAI/C,IAAI,GAAG+C,IAAI;UACf,OAAO,IAAI,EAAE;YACX,IAAAuB,MAAA,GAA4CtE,IAAI;cAAAuE,MAAA,GAAApI,cAAA,CAAAmI,MAAA;cAAzCtF,IAAI,GAAAuF,MAAA;cAAMC,YAAY,GAAAD,MAAA;cAAElD,SAAS,GAAAkD,MAAA;YACxCC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAACxF,IAAI,IAAIqC,SAAS,IAAI+C,gBAAgB,EAAE;YAC5CpE,IAAI,GAAGhB,IAAI;UACb;QACF;MACF;;MAEA;MACA;MACA,IAAIqF,UAAU,IAAIA,UAAU,CAACjE,IAAI,KAAKf,WAAW,CAACe,IAAI,EAAE;QACtD,IAAM2C,MAAI,GAAGsB,UAAU,CAACjE,IAAI,CAAC4C,OAAO,CAAC,CAAC;QACtC,IAAAyB,gBAAA,GAAAtI,cAAA,CAAkCkI,UAAU,CAACrE,IAAI;UAAlC0E,eAAe,GAAAD,gBAAA;QAC9B,IAAI1B,MAAI,EAAE;UACR,IAAI/C,MAAI,GAAG+C,MAAI;UACf,OAAO,IAAI,EAAE;YACX,IAAA4B,OAAA,GAA4C3E,MAAI;cAAA4E,OAAA,GAAAzI,cAAA,CAAAwI,OAAA;cAAzC3F,KAAI,GAAA4F,OAAA;cAAMJ,aAAY,GAAAI,OAAA;cAAEvD,UAAS,GAAAuD,OAAA;YACxCJ,aAAY,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAACxF,KAAI,IAAIqC,UAAS,IAAIqD,eAAe,EAAE;YAC3C1E,MAAI,GAAGhB,KAAI;UACb;QACF;MACF;;MAEA;MACA;MACA,IAAIqF,UAAU,IAAIA,UAAU,CAACjE,IAAI,KAAKf,WAAW,CAACe,IAAI,EAAE;QACtD,IAAAyE,iBAAA,GAAA1I,cAAA,CAAoDkI,UAAU,CAACrE,IAAI;UAAtD8E,kBAAkB,GAAAD,iBAAA;UAAEH,gBAAe,GAAAG,iBAAA;QAChD,IAAIH,gBAAe,GAAGN,gBAAgB,EAAE;UACtC,IAAMpE,OAAI,GAAKqE,UAAU,CAAnBrE,IAAI;UACV,OAAO,IAAI,EAAE;YACX,IAAA+E,OAAA,GAA4C/E,OAAI;cAAAgF,OAAA,GAAA7I,cAAA,CAAA4I,OAAA;cAAzC/F,MAAI,GAAAgG,OAAA;cAAMR,cAAY,GAAAQ,OAAA;cAAE3D,WAAS,GAAA2D,OAAA;YACxCR,cAAY,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAACxF,MAAI,IAAIqC,WAAS,IAAI+C,gBAAgB,EAAE;YAC5CpE,OAAI,GAAGhB,MAAI;UACb;QACF,CAAC,MAAM,IAAI0F,gBAAe,GAAGN,gBAAgB,EAAE;UAC7C,IAAMpE,OAAI,GAAKqE,UAAU,CAAnBrE,IAAI;UACV,OAAO,IAAI,EAAE;YACX,IAAAiF,OAAA,GAA4CjF,OAAI;cAAAkF,OAAA,GAAA/I,cAAA,CAAA8I,OAAA;cAAvC5G,IAAI,GAAA6G,OAAA;cAAIV,cAAY,GAAAU,OAAA;cAAE7D,WAAS,GAAA6D,OAAA;YACxCV,cAAY,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAACnG,IAAI,IAAIgD,WAAS,IAAI+C,gBAAgB,EAAE;YAC5CpE,OAAI,GAAG3B,IAAI;UACb;QACF,CAAC,MAAM,IAAIqG,gBAAe,KAAKN,gBAAgB,EAAE;UAC/CU,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACxB;MACF;IACF,CAAC;EACH,CAAC,EAAE,CAACzF,WAAW,CAAC,CAAC;;EAEjB;EACA,IAAAO,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,WAAW,EAAE,OAAO,YAAM,CAAC,CAAC;IACjC,IAAA8F,kBAAA,GAAAhJ,cAAA,CAAmCkD,WAAW,CAACW,IAAI;MAApCoE,gBAAgB,GAAAe,kBAAA;IAE/B,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,SAAoB,EAAK;MACvC,IAAQC,QAAQ,GAAYD,SAAS,CAA7BC,QAAQ;QAAE7D,KAAK,GAAK4D,SAAS,CAAnB5D,KAAK;MACvB,IAAM4C,UAAU,GAAG1E,aAAa,CAACT,OAAO;;MAExC;MACA,IAAIuC,KAAK,KAAK2C,gBAAgB,EAAE;QAC9BkB,QAAQ,CAAC5G,iBAAiB,CAAC;QAC3B;MACF;;MAEA;MACA,IAAI2F,UAAU,IAAIA,UAAU,CAACjE,IAAI,KAAKf,WAAW,CAACe,IAAI,EAAE;QACtD;QACA,IAAAmF,iBAAA,GAAApJ,cAAA,CAAkCkI,UAAU,CAACrE,IAAI;UAAlC0E,eAAe,GAAAa,iBAAA;QAC9B,IAAI9D,KAAK,GAAG2C,gBAAgB,IAAI3C,KAAK,GAAGiD,eAAe,EAAE;UACvDY,QAAQ,CAACxE,YAAY,CAAC,IAAI,EAAEuD,UAAU,CAACjE,IAAI,CAAC8C,UAAU,CAAC,CAAC;QAC1D,CAAC,MAAM,IAAIzB,KAAK,GAAG2C,gBAAgB,IAAI3C,KAAK,GAAGiD,eAAe,EAAE;UAC9DY,QAAQ,CAACxE,YAAY,CAAC,MAAM,EAAEuD,UAAU,CAACjE,IAAI,CAAC8C,UAAU,CAAC,CAAC;QAC5D;MACF,CAAC,MAAM,IAAIzB,KAAK,GAAG2C,gBAAgB,EAAE;QACnC;QACAkB,QAAQ,CAACxE,YAAY,CAAC,IAAI,EAAEzB,WAAW,CAACe,IAAI,CAAC8C,UAAU,CAAC,CAAC;MAC3D;IACF,CAAC;IAED7D,WAAW,CAACe,IAAI,CAACoF,WAAW,CAACJ,MAAM,CAAC;IACpC,OAAO;MAAA,OAAM/F,WAAW,CAACe,IAAI,CAACqF,cAAc,CAACL,MAAM,CAAC;IAAA;EACtD,CAAC,EAAE,CAAC/F,WAAW,EAAEyB,YAAY,CAAC,CAAC;;EAE/B;EACA,IAAAlB,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,WAAW,IAAI,CAACuB,UAAU,IAAIA,UAAU,KAAKvB,WAAW,CAACe,IAAI,EAAE;MAClE,OAAO,YAAM,CAAC,CAAC;IACjB;IAEA,IAAMgF,MAAM,GAAG,SAATA,MAAMA,CAAIC,SAAoB,EAAK;MACvC,IAAQC,QAAQ,GAAYD,SAAS,CAA7BC,QAAQ;QAAE7D,KAAK,GAAK4D,SAAS,CAAnB5D,KAAK;MACvB,IAAM4C,UAAU,GAAG1E,aAAa,CAACT,OAAO;MACxC,IAAI,CAACmF,UAAU,EAAE;MACjB,IAAAqB,iBAAA,GAAAvJ,cAAA,CAAkCkI,UAAU,CAACrE,IAAI;QAAlC0E,eAAe,GAAAgB,iBAAA;MAC9B,IAAIjE,KAAK,IAAIiD,eAAe,EAAE;QAC5B;QACAY,QAAQ,CAACxE,YAAY,CAAC,MAAM,EAAEF,UAAU,CAACsC,UAAU,CAAC,CAAC;MACvD;IACF,CAAC;IAEDtC,UAAU,CAAC4E,WAAW,CAACJ,MAAM,CAAC;IAC9B,OAAO;MAAA,OAAMxE,UAAU,CAAC6E,cAAc,CAACL,MAAM,CAAC;IAAA;EAChD,CAAC,EAAE,CAAC/F,WAAW,EAAEyB,YAAY,EAAEF,UAAU,CAAC,CAAC;;EAE3C;EACA,IAAAhB,gBAAS,EAAC,YAAM;IACd,IAAI,CAACP,WAAW,EAAE,OAAO,YAAM,CAAC,CAAC;IACjC,OAAO,YAAM;MACX;MACA,IAAMsG,MAAM,GAAGlG,SAAS,CAACP,OAAO;MAChC,IAAI,CAACyG,MAAM,EAAE;MACb,IAAAC,kBAAA,GAAAzJ,cAAA,CAAkDkD,WAAW,CAACW,IAAI;QAAnDoE,gBAAgB,GAAAwB,kBAAA;QAAEC,aAAa,GAAAD,kBAAA;MAC9C,IAAME,OAAO,GAAG;QACdvE,MAAM,EAAElC,WAAW,CAACe,IAAI,CAACoB,EAAE;QAC3BC,KAAK,EAAE2C,gBAAgB;QACvB5C,EAAE,EAAEqE;MACN,CAAC;MACD,IAAIC,OAAO,CAACtE,EAAE,KAAKmE,MAAM,CAACnE,EAAE,IAAIsE,OAAO,CAACrE,KAAK,KAAKkE,MAAM,CAAClE,KAAK,EAAE;MAChE5B,YAAY,CAACX,OAAO,CAAC4G,OAAO,EAAEH,MAAM,CAAC;IACvC,CAAC;EACH,CAAC,EAAE,CAACtG,WAAW,CAAC,CAAC;AACnB,CAAC;AAAC,IAAA0G,QAAA,GAAAC,OAAA,cAEa7G,aAAa"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = exports.DroppableContext = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
function _getRequireWildcardCache(
|
|
10
|
-
function _interopRequireWildcard(
|
|
11
|
-
var DroppableContext = /*#__PURE__*/_react["default"].createContext({
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
|
+
var DroppableContext = exports.DroppableContext = /*#__PURE__*/_react["default"].createContext({
|
|
12
12
|
registerNode: function registerNode() {
|
|
13
13
|
return [null, null, {
|
|
14
14
|
current: null
|
|
@@ -18,10 +18,8 @@ var DroppableContext = /*#__PURE__*/_react["default"].createContext({
|
|
|
18
18
|
onMouseDown: function onMouseDown() {},
|
|
19
19
|
onTouchStart: function onTouchStart() {}
|
|
20
20
|
});
|
|
21
|
-
exports.DroppableContext = DroppableContext;
|
|
22
21
|
var useDroppable = function useDroppable() {
|
|
23
22
|
return (0, _react.useContext)(DroppableContext);
|
|
24
23
|
};
|
|
25
|
-
var _default = useDroppable;
|
|
26
|
-
exports["default"] = _default;
|
|
24
|
+
var _default = exports["default"] = useDroppable;
|
|
27
25
|
//# sourceMappingURL=useDroppable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDroppable.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","
|
|
1
|
+
{"version":3,"file":"useDroppable.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DroppableContext","exports","React","createContext","registerNode","current","deregisterNode","onMouseDown","onTouchStart","useDroppable","useContext","_default"],"sources":["../../../src/utils/useDroppable.ts"],"sourcesContent":["import React, { MouseEvent, TouchEvent, useContext } from 'react';\nimport { ExistingNode, NodeProps } from './NodeList';\n\ninterface DroppableContextProps {\n registerNode: (props: NodeProps) => ExistingNode;\n deregisterNode: (node: ExistingNode) => void;\n onMouseDown: (e: MouseEvent, node: ExistingNode) => void;\n onTouchStart: (e: TouchEvent, node: ExistingNode) => void;\n}\n\nexport const DroppableContext = React.createContext<DroppableContextProps>({\n registerNode: () =>\n [null, null, { current: null }, () => {}, -1, 'id'] as ExistingNode,\n deregisterNode: () => {},\n onMouseDown: () => {},\n onTouchStart: () => {},\n});\n\nconst useDroppable = (): DroppableContextProps => useContext(DroppableContext);\n\nexport default useDroppable;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAkE,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAU3D,IAAMY,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,iBAAK,CAACC,aAAa,CAAwB;EACzEC,YAAY,EAAE,SAAAA,aAAA;IAAA,OACZ,CAAC,IAAI,EAAE,IAAI,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,EAAE,YAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;EAAA,CAAgB;EACrEC,cAAc,EAAE,SAAAA,eAAA,EAAM,CAAC,CAAC;EACxBC,WAAW,EAAE,SAAAA,YAAA,EAAM,CAAC,CAAC;EACrBC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC;AACvB,CAAC,CAAC;AAEF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA;EAAA,OAAgC,IAAAC,iBAAU,EAACV,gBAAgB,CAAC;AAAA;AAAC,IAAAW,QAAA,GAAAV,OAAA,cAEhEQ,YAAY"}
|
|
@@ -10,6 +10,5 @@ var useGeneratedId = function useGeneratedId() {
|
|
|
10
10
|
return Math.random().toString(16).slice(2);
|
|
11
11
|
}, []);
|
|
12
12
|
};
|
|
13
|
-
var _default = useGeneratedId;
|
|
14
|
-
exports["default"] = _default;
|
|
13
|
+
var _default = exports["default"] = useGeneratedId;
|
|
15
14
|
//# sourceMappingURL=useGeneratedId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGeneratedId.js","names":["_react","require","useGeneratedId","useMemo","Math","random","toString","slice","_default","exports"],"sources":["../../../src/utils/useGeneratedId.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nconst useGeneratedId = () =>\n useMemo(() => Math.random().toString(16).slice(2), []);\n\nexport default useGeneratedId;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,OAClB,IAAAC,cAAO,EAAC;IAAA,OAAMC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;AAAA;AAAC,IAAAC,QAAA,
|
|
1
|
+
{"version":3,"file":"useGeneratedId.js","names":["_react","require","useGeneratedId","useMemo","Math","random","toString","slice","_default","exports"],"sources":["../../../src/utils/useGeneratedId.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nconst useGeneratedId = () =>\n useMemo(() => Math.random().toString(16).slice(2), []);\n\nexport default useGeneratedId;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,OAClB,IAAAC,cAAO,EAAC;IAAA,OAAMC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAE1CP,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetNodeStyle.js","names":["_react","require","useGetNodeStyle","size","sizeRef","useRef","useEffect","current","useCallback","type","horizontal","translateFn","sizeProp","sign","style","transform","concat","_default","exports"],"sources":["../../../src/utils/useGetNodeStyle.ts"],"sourcesContent":["import { CSSProperties, useCallback, useEffect, useRef } from 'react';\n\ninterface InitSize {\n initWidth: number;\n initHeight: number;\n}\n\nexport type NodeStyleGetter = (\n type: 'up' | 'down' | 'init',\n horizontal: boolean\n) => CSSProperties;\n\nconst useGetNodeStyle = (size: InitSize | null): NodeStyleGetter => {\n const sizeRef = useRef(size);\n\n useEffect(() => {\n sizeRef.current = size;\n }, [size]);\n\n return useCallback<NodeStyleGetter>((type, horizontal) => {\n if (type === 'init' || !sizeRef.current) return {};\n\n const translateFn = horizontal ? 'translateX' : 'translateY';\n const sizeProp = horizontal ? 'initWidth' : 'initHeight';\n const sign = type === 'down' ? 1 : -1;\n\n const style: CSSProperties = {};\n style.transform = `${translateFn}(${sign * sizeRef.current[sizeProp]}px)`;\n\n return style;\n }, []);\n};\n\nexport default useGetNodeStyle;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAqB,EAAsB;EAClE,IAAMC,OAAO,GAAG,IAAAC,aAAM,EAACF,IAAI,CAAC;EAE5B,IAAAG,gBAAS,EAAC,YAAM;IACdF,OAAO,CAACG,OAAO,GAAGJ,IAAI;EACxB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OAAO,IAAAK,kBAAW,EAAkB,UAACC,IAAI,EAAEC,UAAU,EAAK;IACxD,IAAID,IAAI,KAAK,MAAM,IAAI,CAACL,OAAO,CAACG,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,IAAMI,WAAW,GAAGD,UAAU,GAAG,YAAY,GAAG,YAAY;IAC5D,IAAME,QAAQ,GAAGF,UAAU,GAAG,WAAW,GAAG,YAAY;IACxD,IAAMG,IAAI,GAAGJ,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAErC,IAAMK,KAAoB,GAAG,CAAC,CAAC;IAC/BA,KAAK,CAACC,SAAS,MAAAC,MAAA,CAAML,WAAW,OAAAK,MAAA,CAAIH,IAAI,GAAGT,OAAO,CAACG,OAAO,CAACK,QAAQ,CAAC,QAAK;IAEzE,OAAOE,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC,IAAAG,QAAA,
|
|
1
|
+
{"version":3,"file":"useGetNodeStyle.js","names":["_react","require","useGetNodeStyle","size","sizeRef","useRef","useEffect","current","useCallback","type","horizontal","translateFn","sizeProp","sign","style","transform","concat","_default","exports"],"sources":["../../../src/utils/useGetNodeStyle.ts"],"sourcesContent":["import { CSSProperties, useCallback, useEffect, useRef } from 'react';\n\ninterface InitSize {\n initWidth: number;\n initHeight: number;\n}\n\nexport type NodeStyleGetter = (\n type: 'up' | 'down' | 'init',\n horizontal: boolean\n) => CSSProperties;\n\nconst useGetNodeStyle = (size: InitSize | null): NodeStyleGetter => {\n const sizeRef = useRef(size);\n\n useEffect(() => {\n sizeRef.current = size;\n }, [size]);\n\n return useCallback<NodeStyleGetter>((type, horizontal) => {\n if (type === 'init' || !sizeRef.current) return {};\n\n const translateFn = horizontal ? 'translateX' : 'translateY';\n const sizeProp = horizontal ? 'initWidth' : 'initHeight';\n const sign = type === 'down' ? 1 : -1;\n\n const style: CSSProperties = {};\n style.transform = `${translateFn}(${sign * sizeRef.current[sizeProp]}px)`;\n\n return style;\n }, []);\n};\n\nexport default useGetNodeStyle;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAqB,EAAsB;EAClE,IAAMC,OAAO,GAAG,IAAAC,aAAM,EAACF,IAAI,CAAC;EAE5B,IAAAG,gBAAS,EAAC,YAAM;IACdF,OAAO,CAACG,OAAO,GAAGJ,IAAI;EACxB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OAAO,IAAAK,kBAAW,EAAkB,UAACC,IAAI,EAAEC,UAAU,EAAK;IACxD,IAAID,IAAI,KAAK,MAAM,IAAI,CAACL,OAAO,CAACG,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,IAAMI,WAAW,GAAGD,UAAU,GAAG,YAAY,GAAG,YAAY;IAC5D,IAAME,QAAQ,GAAGF,UAAU,GAAG,WAAW,GAAG,YAAY;IACxD,IAAMG,IAAI,GAAGJ,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAErC,IAAMK,KAAoB,GAAG,CAAC,CAAC;IAC/BA,KAAK,CAACC,SAAS,MAAAC,MAAA,CAAML,WAAW,OAAAK,MAAA,CAAIH,IAAI,GAAGT,OAAO,CAACG,OAAO,CAACK,QAAQ,CAAC,QAAK;IAEzE,OAAOE,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEahB,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitRect.js","names":["_react","require","useInitRect","ref","useMemo","current","rect","getBoundingClientRect","initX","x","initY","y","initWidth","width","initHeight","height","_default","exports"],"sources":["../../../src/utils/useInitRect.ts"],"sourcesContent":["import { RefObject, useMemo } from 'react';\n\nconst useInitRect = (ref?: RefObject<HTMLElement>) =>\n useMemo(() => {\n if (!ref || !ref.current) return null;\n\n const rect = ref.current.getBoundingClientRect();\n\n return {\n initX: rect.x,\n initY: rect.y,\n initWidth: rect.width,\n initHeight: rect.height,\n };\n }, [ref]);\n\nexport default useInitRect;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAA4B;EAAA,OAC/C,IAAAC,cAAO,EAAC,YAAM;IACZ,IAAI,CAACD,GAAG,IAAI,CAACA,GAAG,CAACE,OAAO,EAAE,OAAO,IAAI;IAErC,IAAMC,IAAI,GAAGH,GAAG,CAACE,OAAO,CAACE,qBAAqB,CAAC,CAAC;IAEhD,OAAO;MACLC,KAAK,EAAEF,IAAI,CAACG,CAAC;MACbC,KAAK,EAAEJ,IAAI,CAACK,CAAC;MACbC,SAAS,EAAEN,IAAI,CAACO,KAAK;MACrBC,UAAU,EAAER,IAAI,CAACS;IACnB,CAAC;EACH,CAAC,EAAE,CAACZ,GAAG,CAAC,CAAC;AAAA;AAAC,IAAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"useInitRect.js","names":["_react","require","useInitRect","ref","useMemo","current","rect","getBoundingClientRect","initX","x","initY","y","initWidth","width","initHeight","height","_default","exports"],"sources":["../../../src/utils/useInitRect.ts"],"sourcesContent":["import { RefObject, useMemo } from 'react';\n\nconst useInitRect = (ref?: RefObject<HTMLElement>) =>\n useMemo(() => {\n if (!ref || !ref.current) return null;\n\n const rect = ref.current.getBoundingClientRect();\n\n return {\n initX: rect.x,\n initY: rect.y,\n initWidth: rect.width,\n initHeight: rect.height,\n };\n }, [ref]);\n\nexport default useInitRect;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAA4B;EAAA,OAC/C,IAAAC,cAAO,EAAC,YAAM;IACZ,IAAI,CAACD,GAAG,IAAI,CAACA,GAAG,CAACE,OAAO,EAAE,OAAO,IAAI;IAErC,IAAMC,IAAI,GAAGH,GAAG,CAACE,OAAO,CAACE,qBAAqB,CAAC,CAAC;IAEhD,OAAO;MACLC,KAAK,EAAEF,IAAI,CAACG,CAAC;MACbC,KAAK,EAAEJ,IAAI,CAACK,CAAC;MACbC,SAAS,EAAEN,IAAI,CAACO,KAAK;MACrBC,UAAU,EAAER,IAAI,CAACS;IACnB,CAAC;EACH,CAAC,EAAE,CAACZ,GAAG,CAAC,CAAC;AAAA;AAAC,IAAAa,QAAA,GAAAC,OAAA,cAEGf,WAAW"}
|
|
@@ -17,6 +17,5 @@ var useInitScrollOffset = function useInitScrollOffset(ref) {
|
|
|
17
17
|
};
|
|
18
18
|
}, [ref]);
|
|
19
19
|
};
|
|
20
|
-
var _default = useInitScrollOffset;
|
|
21
|
-
exports["default"] = _default;
|
|
20
|
+
var _default = exports["default"] = useInitScrollOffset;
|
|
22
21
|
//# sourceMappingURL=useInitScrollOffset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitScrollOffset.js","names":["_react","require","_getElementScroll","_interopRequireDefault","obj","__esModule","useInitScrollOffset","ref","useMemo","current","scrollOffset","getElementScroll","initScrollLeft","scrollLeft","initScrollTop","scrollTop","_default","exports"],"sources":["../../../src/utils/useInitScrollOffset.ts"],"sourcesContent":["import { RefObject, useMemo } from 'react';\nimport getElementScroll from './getElementScroll';\n\nconst useInitScrollOffset = (ref?: RefObject<HTMLElement>) =>\n useMemo(() => {\n if (!ref || !ref.current) return null;\n\n const scrollOffset = getElementScroll(ref.current);\n\n return {\n initScrollLeft: scrollOffset.scrollLeft,\n initScrollTop: scrollOffset.scrollTop,\n };\n }, [ref]);\n\nexport default useInitScrollOffset;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAkD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,GAA4B;EAAA,OACvD,IAAAC,cAAO,EAAC,YAAM;IACZ,IAAI,CAACD,GAAG,IAAI,CAACA,GAAG,CAACE,OAAO,EAAE,OAAO,IAAI;IAErC,IAAMC,YAAY,GAAG,IAAAC,4BAAgB,EAACJ,GAAG,CAACE,OAAO,CAAC;IAElD,OAAO;MACLG,cAAc,EAAEF,YAAY,CAACG,UAAU;MACvCC,aAAa,EAAEJ,YAAY,CAACK;IAC9B,CAAC;EACH,CAAC,EAAE,CAACR,GAAG,CAAC,CAAC;AAAA;AAAC,IAAAS,QAAA,
|
|
1
|
+
{"version":3,"file":"useInitScrollOffset.js","names":["_react","require","_getElementScroll","_interopRequireDefault","obj","__esModule","useInitScrollOffset","ref","useMemo","current","scrollOffset","getElementScroll","initScrollLeft","scrollLeft","initScrollTop","scrollTop","_default","exports"],"sources":["../../../src/utils/useInitScrollOffset.ts"],"sourcesContent":["import { RefObject, useMemo } from 'react';\nimport getElementScroll from './getElementScroll';\n\nconst useInitScrollOffset = (ref?: RefObject<HTMLElement>) =>\n useMemo(() => {\n if (!ref || !ref.current) return null;\n\n const scrollOffset = getElementScroll(ref.current);\n\n return {\n initScrollLeft: scrollOffset.scrollLeft,\n initScrollTop: scrollOffset.scrollTop,\n };\n }, [ref]);\n\nexport default useInitScrollOffset;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAkD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,GAA4B;EAAA,OACvD,IAAAC,cAAO,EAAC,YAAM;IACZ,IAAI,CAACD,GAAG,IAAI,CAACA,GAAG,CAACE,OAAO,EAAE,OAAO,IAAI;IAErC,IAAMC,YAAY,GAAG,IAAAC,4BAAgB,EAACJ,GAAG,CAACE,OAAO,CAAC;IAElD,OAAO;MACLG,cAAc,EAAEF,YAAY,CAACG,UAAU;MACvCC,aAAa,EAAEJ,YAAY,CAACK;IAC9B,CAAC;EACH,CAAC,EAAE,CAACR,GAAG,CAAC,CAAC;AAAA;AAAC,IAAAS,QAAA,GAAAC,OAAA,cAEGX,mBAAmB"}
|
|
@@ -11,7 +11,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
11
11
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
12
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
13
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
-
function _iterableToArrayLimit(
|
|
14
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
15
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
16
|
/* eslint-disable no-constant-condition */
|
|
17
17
|
|
|
@@ -86,6 +86,5 @@ var useMoveNode = function useMoveNode(props) {
|
|
|
86
86
|
}
|
|
87
87
|
}, [draggedNode, getNodeStyle, position]);
|
|
88
88
|
};
|
|
89
|
-
var _default = useMoveNode;
|
|
90
|
-
exports["default"] = _default;
|
|
89
|
+
var _default = exports["default"] = useMoveNode;
|
|
91
90
|
//# sourceMappingURL=useMoveNode.js.map
|