{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\nexport { getPosition, isTreeNode } from \"./utils/treeUtil\";\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = getEntity(keyEntities, dragNodeKey);\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(keyEntities, targetNode.props.eventKey);\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && filteredExpandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = getEntity(keyEntities, key);\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","map":{"version":3,"names":["_toConsumableArray","_typeof","_extends","_objectWithoutProperties","_excluded","warning","React","TreeNode","getEntity","getPosition","isTreeNode","arrDel","list","value","clone","slice","index","indexOf","splice","arrAdd","push","posToArr","pos","split","getDragChildrenKeys","dragNodeKey","keyEntities","dragChildrenKeys","entity","dig","arguments","length","undefined","forEach","_ref","key","children","isLastChild","treeNodeEntity","parent","posArr","Number","isFirstChild","calcDropPosition","event","dragNode","targetNode","indent","startMousePosition","allowDrop","flattenedNodes","expandKeys","direction","_abstractDropNodeEnti","clientX","clientY","_getBoundingClientRec","target","getBoundingClientRect","top","height","horizontalMouseOffset","x","rawDropLevelOffset","filteredExpandKeys","filter","_keyEntities$key","abstractDropNodeEntity","props","eventKey","nodeIndex","findIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","dragOverNodeKey","dropPosition","dropLevelOffset","includes","i","abstractDragDataNode","data","abstractDropDataNode","node","dropAllowed","level","dropNode","dropTargetKey","dropTargetPos","dropContainerKey","calcSelectedKeys","selectedKeys","multiple","internalProcessProps","convertDataToTree","treeData","processor","_ref2","_ref2$processProps","processProps","Array","isArray","map","_ref3","childrenNodes","createElement","parseCheckedKeys","keys","keyProps","checkedKeys","halfCheckedKeys","checked","halfChecked","conductExpandParent","keyList","expandedKeys","Set","conductUp","has","add","disabled"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/node_modules/rc-tree/es/util.js"],"sourcesContent":["import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\nexport { getPosition, isTreeNode } from \"./utils/treeUtil\";\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = getEntity(keyEntities, dragNodeKey);\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(keyEntities, targetNode.props.eventKey);\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && filteredExpandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = getEntity(keyEntities, key);\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}