{"version":3,"file":"dnd-kit-sortable-tree-bWfIhyJb.js","sources":["../../node_modules/dnd-kit-sortable-tree/node_modules/clsx/dist/clsx.m.js","../../node_modules/dnd-kit-sortable-tree/dist/dnd-kit-sortable-tree.esm.js"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".dnd-sortable-tree_simple_wrapper{box-sizing:border-box;list-style:none;margin-bottom:-1px}.dnd-sortable-tree_simple_tree-item{align-items:center;border:1px solid #dedede;box-sizing:border-box;color:#222;display:flex;padding:10px;position:relative}.dnd-sortable-tree_simple_clone{display:inline-block;padding:5px;pointer-events:none}.dnd-sortable-tree_simple_clone>.dnd-sortable-tree_simple_tree-item{border-radius:4px;box-shadow:0 15px 15px 0 rgba(34,33,81,.1);padding-bottom:5px;padding-right:24px;padding-top:5px}.dnd-sortable-tree_simple_ghost{opacity:.5}.dnd-sortable-tree_simple_disable-selection{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.dnd-sortable-tree_simple_disable-interaction{pointer-events:none}.dnd-sortable-tree_folder_tree-item-collapse_button{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\") no-repeat 50%;border:0;transition:transform .25s ease;width:20px}.dnd-sortable-tree_folder_tree-item-collapse_button-collapsed{transform:rotate(-90deg)}.dnd-sortable-tree_simple_handle{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\") no-repeat 50%;cursor:pointer;width:20px}.dnd-sortable-tree_simple_tree-item-collapse_button{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\") no-repeat 50%;border:0;transition:transform .25s ease;width:20px}.dnd-sortable-tree_folder_simple-item-collapse_button-collapsed{transform:rotate(-90deg)}\";\nstyleInject(css_248z);\n\nvar _excluded = [\"clone\", \"depth\", \"disableSelection\", \"disableInteraction\", \"disableSorting\", \"ghost\", \"handleProps\", \"indentationWidth\", \"indicator\", \"collapsed\", \"onCollapse\", \"onRemove\", \"item\", \"wrapperRef\", \"style\", \"hideCollapseButton\", \"childCount\", \"manualDrag\", \"showDragHandle\", \"disableCollapseOnItemClick\", \"isLast\", \"parent\", \"className\", \"contentClassName\", \"isOver\", \"isOverParent\"];\nvar SimpleTreeItemWrapper = /*#__PURE__*/forwardRef(function (props, ref) {\n var clone = props.clone,\n depth = props.depth,\n disableSelection = props.disableSelection,\n disableInteraction = props.disableInteraction,\n disableSorting = props.disableSorting,\n ghost = props.ghost,\n handleProps = props.handleProps,\n indentationWidth = props.indentationWidth,\n collapsed = props.collapsed,\n onCollapse = props.onCollapse,\n wrapperRef = props.wrapperRef,\n style = props.style,\n hideCollapseButton = props.hideCollapseButton,\n childCount = props.childCount,\n manualDrag = props.manualDrag,\n showDragHandle = props.showDragHandle,\n disableCollapseOnItemClick = props.disableCollapseOnItemClick,\n className = props.className,\n contentClassName = props.contentClassName,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return React.createElement(\"li\", Object.assign({\n ref: wrapperRef\n }, rest, {\n className: clsx('dnd-sortable-tree_simple_wrapper', clone && 'dnd-sortable-tree_simple_clone', ghost && 'dnd-sortable-tree_simple_ghost', disableSelection && 'dnd-sortable-tree_simple_disable-selection', disableInteraction && 'dnd-sortable-tree_simple_disable-interaction', className),\n style: _extends({}, style, {\n paddingLeft: clone ? indentationWidth : indentationWidth * depth\n })\n }), React.createElement(\"div\", Object.assign({\n className: clsx('dnd-sortable-tree_simple_tree-item', contentClassName),\n ref: ref\n }, manualDrag ? undefined : handleProps, {\n onClick: disableCollapseOnItemClick ? undefined : onCollapse\n }), !disableSorting && showDragHandle !== false && React.createElement(\"div\", Object.assign({\n className: 'dnd-sortable-tree_simple_handle'\n }, handleProps)), !manualDrag && !hideCollapseButton && !!onCollapse && !!childCount && React.createElement(\"button\", {\n onClick: function onClick(e) {\n if (!disableCollapseOnItemClick) {\n return;\n }\n\n e.preventDefault();\n onCollapse == null ? void 0 : onCollapse();\n },\n className: clsx('dnd-sortable-tree_simple_tree-item-collapse_button', collapsed && 'dnd-sortable-tree_folder_simple-item-collapse_button-collapsed')\n }), props.children));\n});\n\nvar css_248z$1 = \".dnd-sortable-tree_folder_wrapper{box-sizing:border-box;display:flex;flex-direction:row;list-style:none;margin-bottom:-1px}.dnd-sortable-tree_folder_tree-item{align-items:center;box-sizing:border-box;display:flex;padding:7px 0;position:relative}.dnd-sortable-tree_folder_clone{display:inline-block;padding:5px;pointer-events:none}.dnd-sortable-tree_folder_clone>.dnd-sortable-tree_folder_tree-item{border-radius:4px;padding-bottom:5px;padding-right:24px;padding-top:5px}.dnd-sortable-tree_folder_ghost{opacity:.5}.dnd-sortable-tree_folder_disable-selection{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.dnd-sortable-tree_folder_disable-interaction{pointer-events:none}.dnd-sortable-tree_folder_line{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\");width:20px}.dnd-sortable-tree_folder_line-last{align-self:stretch;width:20px}.dnd-sortable-tree_folder_line-to_self{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\");width:20px}.dnd-sortable-tree_folder_line-to_self-last{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\");width:20px}.dnd-sortable-tree_folder_tree-item-collapse_button{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\") no-repeat 50%;border:0;transition:transform .25s ease;width:20px}.dnd-sortable-tree_folder_tree-item-collapse_button-collapsed{transform:rotate(-90deg)}.dnd-sortable-tree_folder_handle{align-self:stretch;background:url(\\\"data:image/svg+xml;utf8,\\\") no-repeat 50%;cursor:pointer;width:20px}\";\nstyleInject(css_248z$1);\n\nvar _excluded$1 = [\"clone\", \"depth\", \"disableSelection\", \"disableInteraction\", \"disableSorting\", \"ghost\", \"handleProps\", \"indentationWidth\", \"indicator\", \"collapsed\", \"onCollapse\", \"onRemove\", \"item\", \"wrapperRef\", \"style\", \"isLast\", \"parent\", \"hideCollapseButton\", \"childCount\", \"manualDrag\", \"showDragHandle\", \"disableCollapseOnItemClick\", \"className\", \"contentClassName\", \"isOver\", \"isOverParent\"];\n\nfunction flattenParents(parent) {\n if (!parent) return [];\n return [].concat(flattenParents(parent.parent), [parent]);\n}\n\nvar FolderTreeItemWrapper = /*#__PURE__*/forwardRef(function (props, ref) {\n var clone = props.clone,\n disableSelection = props.disableSelection,\n disableInteraction = props.disableInteraction,\n disableSorting = props.disableSorting,\n ghost = props.ghost,\n handleProps = props.handleProps,\n collapsed = props.collapsed,\n onCollapse = props.onCollapse,\n wrapperRef = props.wrapperRef,\n style = props.style,\n isLast = props.isLast,\n parent = props.parent,\n hideCollapseButton = props.hideCollapseButton,\n childCount = props.childCount,\n manualDrag = props.manualDrag,\n showDragHandle = props.showDragHandle,\n disableCollapseOnItemClick = props.disableCollapseOnItemClick,\n className = props.className,\n contentClassName = props.contentClassName,\n rest = _objectWithoutPropertiesLoose(props, _excluded$1);\n\n var flattenedParents = flattenParents(parent);\n return React.createElement(\"li\", Object.assign({}, rest, {\n className: clsx('dnd-sortable-tree_folder_wrapper', clone && 'dnd-sortable-tree_folder_clone', ghost && 'dnd-sortable-tree_folder_ghost', disableSelection && 'dnd-sortable-tree_folder_disable-selection', disableInteraction && 'dnd-sortable-tree_folder_disable-interaction', className),\n ref: wrapperRef,\n style: style\n }), flattenedParents.map(function (item) {\n return React.createElement(\"div\", {\n key: item.id,\n className: item.isLast ? 'dnd-sortable-tree_folder_line-last' : 'dnd-sortable-tree_folder_line'\n });\n }), React.createElement(\"div\", {\n className: isLast ? 'dnd-sortable-tree_folder_line-to_self-last' : 'dnd-sortable-tree_folder_line-to_self'\n }), manualDrag && showDragHandle && !disableSorting && React.createElement(\"div\", Object.assign({\n className: 'dnd-sortable-tree_folder_handle'\n }, handleProps)), !manualDrag && !hideCollapseButton && !!onCollapse && !!childCount && React.createElement(\"button\", {\n onClick: function onClick(e) {\n e.preventDefault();\n onCollapse == null ? void 0 : onCollapse();\n },\n className: clsx('dnd-sortable-tree_folder_tree-item-collapse_button', collapsed && 'dnd-sortable-tree_folder_tree-item-collapse_button-collapsed')\n }), React.createElement(\"div\", Object.assign({\n className: clsx('dnd-sortable-tree_folder_tree-item', contentClassName),\n ref: ref\n }, manualDrag ? undefined : handleProps, {\n onClick: disableCollapseOnItemClick ? undefined : onCollapse\n }), props.children));\n});\n\nvar iOS = typeof window !== 'undefined' ? /*#__PURE__*/ /iPad|iPhone|iPod/.test(navigator.platform) : false;\n\nfunction getDragDepth(offset, indentationWidth) {\n return Math.round(offset / indentationWidth);\n}\n\nvar _revertLastChanges = function _revertLastChanges() {};\n\nfunction getProjection(items, activeId, overId, dragOffset, indentationWidth, keepGhostInPlace, canRootHaveChildren) {\n var _parent$depth2, _nextItem$depth, _nextItem$depth2;\n\n _revertLastChanges();\n\n _revertLastChanges = function _revertLastChanges() {};\n\n if (!activeId || !overId) return null;\n var overItemIndex = items.findIndex(function (_ref) {\n var id = _ref.id;\n return id === overId;\n });\n var activeItemIndex = items.findIndex(function (_ref2) {\n var id = _ref2.id;\n return id === activeId;\n });\n var activeItem = items[activeItemIndex];\n\n if (keepGhostInPlace) {\n var _parent$depth, _parent2, _parent$id, _parent3, _parent4;\n\n var _parent = items[overItemIndex];\n _parent = findParentWhichCanHaveChildren(_parent, activeItem, canRootHaveChildren);\n if (_parent === undefined) return null;\n return {\n depth: (_parent$depth = (_parent2 = _parent) == null ? void 0 : _parent2.depth) != null ? _parent$depth : 0 + 1,\n parentId: (_parent$id = (_parent3 = _parent) == null ? void 0 : _parent3.id) != null ? _parent$id : null,\n parent: _parent,\n isLast: !!((_parent4 = _parent) != null && _parent4.isLast)\n };\n }\n\n var newItems = arrayMove(items, activeItemIndex, overItemIndex);\n var previousItem = newItems[overItemIndex - 1];\n var nextItem = newItems[overItemIndex + 1];\n var dragDepth = getDragDepth(dragOffset, indentationWidth);\n var projectedDepth = activeItem.depth + dragDepth;\n var depth = projectedDepth;\n var directParent = findParentWithDepth(depth - 1, previousItem);\n var parent = findParentWhichCanHaveChildren(directParent, activeItem, canRootHaveChildren);\n if (parent === undefined) return null;\n var maxDepth = ((_parent$depth2 = parent == null ? void 0 : parent.depth) != null ? _parent$depth2 : -1) + 1;\n var minDepth = (_nextItem$depth = nextItem == null ? void 0 : nextItem.depth) != null ? _nextItem$depth : 0;\n if (minDepth > maxDepth) return null;\n\n if (depth >= maxDepth) {\n depth = maxDepth;\n } else if (depth < minDepth) {\n depth = minDepth;\n }\n\n var isLast = ((_nextItem$depth2 = nextItem == null ? void 0 : nextItem.depth) != null ? _nextItem$depth2 : -1) < depth;\n\n if (parent && parent.isLast) {\n _revertLastChanges = function _revertLastChanges() {\n parent.isLast = true;\n };\n\n parent.isLast = false;\n }\n\n return {\n depth: depth,\n parentId: getParentId(),\n parent: parent,\n isLast: isLast\n };\n\n function findParentWithDepth(depth, previousItem) {\n if (!previousItem) return null;\n\n while (depth < previousItem.depth) {\n if (previousItem.parent === null) return null;\n previousItem = previousItem.parent;\n }\n\n return previousItem;\n }\n\n function findParentWhichCanHaveChildren(parent, dragItem, canRootHaveChildren) {\n if (!parent) {\n var rootCanHaveChildren = typeof canRootHaveChildren === 'function' ? canRootHaveChildren(dragItem) : canRootHaveChildren;\n if (rootCanHaveChildren === false) return undefined;\n return parent;\n }\n\n var canHaveChildren = typeof parent.canHaveChildren === 'function' ? parent.canHaveChildren(dragItem) : parent.canHaveChildren;\n if (canHaveChildren === false) return findParentWhichCanHaveChildren(parent.parent, activeItem, canRootHaveChildren);\n return parent;\n }\n\n function getParentId() {\n var _newItems$slice$rever;\n\n if (depth === 0 || !previousItem) {\n return null;\n }\n\n if (depth === previousItem.depth) {\n return previousItem.parentId;\n }\n\n if (depth > previousItem.depth) {\n return previousItem.id;\n }\n\n var newParent = (_newItems$slice$rever = newItems.slice(0, overItemIndex).reverse().find(function (item) {\n return item.depth === depth;\n })) == null ? void 0 : _newItems$slice$rever.parentId;\n return newParent != null ? newParent : null;\n }\n}\n\nfunction flatten(items, parentId, depth, parent) {\n if (parentId === void 0) {\n parentId = null;\n }\n\n if (depth === void 0) {\n depth = 0;\n }\n\n if (parent === void 0) {\n parent = null;\n }\n\n return items.reduce(function (acc, item, index) {\n var _item$children;\n\n var flattenedItem = _extends({}, item, {\n parentId: parentId,\n depth: depth,\n index: index,\n isLast: items.length === index + 1,\n parent: parent\n });\n\n return [].concat(acc, [flattenedItem], flatten((_item$children = item.children) != null ? _item$children : [], item.id, depth + 1, flattenedItem));\n }, []);\n}\n\nfunction flattenTree(items) {\n return flatten(items);\n}\nfunction buildTree(flattenedItems) {\n var _nodes, _root$children;\n\n var root = {\n id: 'root',\n children: []\n };\n var nodes = (_nodes = {}, _nodes[root.id] = root, _nodes);\n var items = flattenedItems.map(function (item) {\n return _extends({}, item, {\n children: []\n });\n });\n\n for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {\n var _item$parentId, _nodes$parentId, _parent$children;\n\n var item = _step.value;\n var id = item.id;\n var parentId = (_item$parentId = item.parentId) != null ? _item$parentId : root.id;\n var parent = (_nodes$parentId = nodes[parentId]) != null ? _nodes$parentId : findItem(items, parentId);\n item.parent = null;\n nodes[id] = item;\n parent == null ? void 0 : (_parent$children = parent.children) == null ? void 0 : _parent$children.push(item);\n }\n\n return (_root$children = root.children) != null ? _root$children : [];\n}\nfunction findItem(items, itemId) {\n return items.find(function (_ref3) {\n var id = _ref3.id;\n return id === itemId;\n });\n}\nfunction findItemDeep(items, itemId) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {\n var item = _step2.value;\n var id = item.id,\n children = item.children;\n\n if (id === itemId) {\n return item;\n }\n\n if (children != null && children.length) {\n var child = findItemDeep(children, itemId);\n\n if (child) {\n return child;\n }\n }\n }\n\n return undefined;\n}\nfunction removeItem(items, id) {\n var newItems = [];\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(items), _step3; !(_step3 = _iterator3()).done;) {\n var _item$children2;\n\n var item = _step3.value;\n\n if (item.id === id) {\n continue;\n }\n\n if ((_item$children2 = item.children) != null && _item$children2.length) {\n item.children = removeItem(item.children, id);\n }\n\n newItems.push(item);\n }\n\n return newItems;\n}\nfunction setProperty(items, id, property, setter) {\n for (var _iterator4 = _createForOfIteratorHelperLoose(items), _step4; !(_step4 = _iterator4()).done;) {\n var _item$children3;\n\n var item = _step4.value;\n\n if (item.id === id) {\n item[property] = setter(item[property]);\n continue;\n }\n\n if ((_item$children3 = item.children) != null && _item$children3.length) {\n item.children = setProperty(item.children, id, property, setter);\n }\n }\n\n return [].concat(items);\n}\n\nfunction countChildren(items, count) {\n if (count === void 0) {\n count = 0;\n }\n\n return items.reduce(function (acc, _ref4) {\n var children = _ref4.children;\n\n if (children != null && children.length) {\n return countChildren(children, acc + 1);\n }\n\n return acc + 1;\n }, count);\n}\n\nfunction getChildCount(items, id) {\n var _item$children4;\n\n if (!id) {\n return 0;\n }\n\n var item = findItemDeep(items, id);\n return item ? countChildren((_item$children4 = item.children) != null ? _item$children4 : []) : 0;\n}\nfunction removeChildrenOf(items, ids) {\n var excludeParentIds = [].concat(ids);\n return items.filter(function (item) {\n if (item.parentId && excludeParentIds.includes(item.parentId)) {\n var _item$children5;\n\n if ((_item$children5 = item.children) != null && _item$children5.length) {\n excludeParentIds.push(item.id);\n }\n\n return false;\n }\n\n return true;\n });\n}\nfunction getIsOverParent(parent, overId) {\n if (!parent || !overId) return false;\n if (parent.id === overId) return true;\n return getIsOverParent(parent.parent, overId);\n}\n\nvar _excluded$2 = [\"id\", \"depth\", \"isLast\", \"TreeItemComponent\", \"parent\", \"disableSorting\", \"sortableProps\", \"keepGhostInPlace\"];\n\nvar animateLayoutChanges = function animateLayoutChanges(_ref) {\n var isSorting = _ref.isSorting,\n isDragging = _ref.isDragging;\n return isSorting || isDragging ? false : true;\n};\n\nvar SortableTreeItemNotMemoized = function SortableTreeItem(_ref2) {\n var id = _ref2.id,\n depth = _ref2.depth,\n isLast = _ref2.isLast,\n TreeItemComponent = _ref2.TreeItemComponent,\n parent = _ref2.parent,\n disableSorting = _ref2.disableSorting,\n sortableProps = _ref2.sortableProps,\n keepGhostInPlace = _ref2.keepGhostInPlace,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded$2);\n\n var _useSortable = useSortable(_extends({\n id: id,\n animateLayoutChanges: animateLayoutChanges,\n disabled: disableSorting\n }, sortableProps)),\n attributes = _useSortable.attributes,\n isDragging = _useSortable.isDragging,\n isSorting = _useSortable.isSorting,\n listeners = _useSortable.listeners,\n setDraggableNodeRef = _useSortable.setDraggableNodeRef,\n setDroppableNodeRef = _useSortable.setDroppableNodeRef,\n transform = _useSortable.transform,\n transition = _useSortable.transition,\n isOver = _useSortable.isOver,\n over = _useSortable.over;\n\n var isOverParent = useMemo(function () {\n return !!(over != null && over.id) && getIsOverParent(parent, over.id);\n }, [over == null ? void 0 : over.id]);\n var style = {\n transform: CSS.Translate.toString(transform),\n transition: transition != null ? transition : undefined\n };\n var localCollapse = useMemo(function () {\n if (!props.onCollapse) return undefined;\n return function () {\n return props.onCollapse == null ? void 0 : props.onCollapse(props.item.id);\n };\n }, [props.item.id, props.onCollapse]);\n var localRemove = useMemo(function () {\n if (!props.onRemove) return undefined;\n return function () {\n return props.onRemove == null ? void 0 : props.onRemove(props.item.id);\n };\n }, [props.item.id, props.onRemove]);\n return React.createElement(TreeItemComponent, Object.assign({}, props, {\n ref: setDraggableNodeRef,\n wrapperRef: setDroppableNodeRef,\n style: keepGhostInPlace ? undefined : style,\n depth: depth,\n ghost: isDragging,\n disableSelection: iOS,\n disableInteraction: isSorting,\n isLast: isLast,\n parent: parent,\n handleProps: _extends({}, attributes, listeners),\n onCollapse: localCollapse,\n onRemove: localRemove,\n disableSorting: disableSorting,\n isOver: isOver,\n isOverParent: isOverParent\n }));\n};\n\nvar SortableTreeItem = /*#__PURE__*/React.memo(SortableTreeItemNotMemoized);\n\nvar customListSortingStrategy = function customListSortingStrategy(isValid) {\n var sortingStrategy = function sortingStrategy(_ref) {\n var activeIndex = _ref.activeIndex,\n activeNodeRect = _ref.activeNodeRect,\n index = _ref.index,\n rects = _ref.rects,\n overIndex = _ref.overIndex;\n\n if (isValid(activeIndex, overIndex)) {\n return verticalListSortingStrategy({\n activeIndex: activeIndex,\n activeNodeRect: activeNodeRect,\n index: index,\n rects: rects,\n overIndex: overIndex\n });\n }\n\n return null;\n };\n\n return sortingStrategy;\n};\n\nvar _excluded$3 = [\"items\", \"indicator\", \"indentationWidth\", \"onItemsChanged\", \"TreeItemComponent\", \"pointerSensorOptions\", \"disableSorting\", \"dropAnimation\", \"dndContextProps\", \"sortableProps\", \"keepGhostInPlace\", \"canRootHaveChildren\"];\nvar defaultPointerSensorOptions = {\n activationConstraint: {\n distance: 3\n }\n};\nvar dropAnimationDefaultConfig = {\n keyframes: function keyframes(_ref) {\n var transform = _ref.transform;\n return [{\n opacity: 1,\n transform: CSS.Transform.toString(transform.initial)\n }, {\n opacity: 0,\n transform: CSS.Transform.toString(_extends({}, transform[\"final\"], {\n x: transform[\"final\"].x + 5,\n y: transform[\"final\"].y + 5\n }))\n }];\n },\n easing: 'ease-out',\n sideEffects: function sideEffects(_ref2) {\n var active = _ref2.active;\n active.node.animate([{\n opacity: 0\n }, {\n opacity: 1\n }], {\n duration: defaultDropAnimation.duration,\n easing: defaultDropAnimation.easing\n });\n }\n};\nfunction SortableTree(_ref3) {\n var items = _ref3.items,\n indicator = _ref3.indicator,\n _ref3$indentationWidt = _ref3.indentationWidth,\n indentationWidth = _ref3$indentationWidt === void 0 ? 20 : _ref3$indentationWidt,\n onItemsChanged = _ref3.onItemsChanged,\n TreeItemComponent = _ref3.TreeItemComponent,\n pointerSensorOptions = _ref3.pointerSensorOptions,\n disableSorting = _ref3.disableSorting,\n dropAnimation = _ref3.dropAnimation,\n dndContextProps = _ref3.dndContextProps,\n sortableProps = _ref3.sortableProps,\n keepGhostInPlace = _ref3.keepGhostInPlace,\n canRootHaveChildren = _ref3.canRootHaveChildren,\n rest = _objectWithoutPropertiesLoose(_ref3, _excluded$3);\n\n var _useState = useState(null),\n activeId = _useState[0],\n setActiveId = _useState[1];\n\n var _useState2 = useState(null),\n overId = _useState2[0],\n setOverId = _useState2[1];\n\n var _useState3 = useState(0),\n offsetLeft = _useState3[0],\n setOffsetLeft = _useState3[1];\n\n var _useState4 = useState(null),\n currentPosition = _useState4[0],\n setCurrentPosition = _useState4[1];\n\n var flattenedItems = useMemo(function () {\n var flattenedTree = flattenTree(items);\n var collapsedItems = flattenedTree.reduce(function (acc, _ref4) {\n var children = _ref4.children,\n collapsed = _ref4.collapsed,\n id = _ref4.id;\n return collapsed && children != null && children.length ? [].concat(acc, [id]) : acc;\n }, []);\n var result = removeChildrenOf(flattenedTree, activeId ? [activeId].concat(collapsedItems) : collapsedItems);\n return result;\n }, [activeId, items]);\n var projected = getProjection(flattenedItems, activeId, overId, offsetLeft, indentationWidth, keepGhostInPlace != null ? keepGhostInPlace : false, canRootHaveChildren);\n var sensorContext = useRef({\n items: flattenedItems,\n offset: offsetLeft\n }); // const [coordinateGetter] = useState(() =>\n // sortableTreeKeyboardCoordinates(sensorContext, indentationWidth)\n // );\n\n var sensors = useSensors(useSensor(PointerSensor, pointerSensorOptions != null ? pointerSensorOptions : defaultPointerSensorOptions) // useSensor(KeyboardSensor, {\n // coordinateGetter,\n // })\n );\n var sortedIds = useMemo(function () {\n return flattenedItems.map(function (_ref5) {\n var id = _ref5.id;\n return id;\n });\n }, [flattenedItems]);\n var activeItem = activeId ? flattenedItems.find(function (_ref6) {\n var id = _ref6.id;\n return id === activeId;\n }) : null;\n useEffect(function () {\n sensorContext.current = {\n items: flattenedItems,\n offset: offsetLeft\n };\n }, [flattenedItems, offsetLeft]);\n var itemsRef = useRef(items);\n itemsRef.current = items;\n var handleRemove = useCallback(function (id) {\n var item = findItemDeep(itemsRef.current, id);\n onItemsChanged(removeItem(itemsRef.current, id), {\n type: 'removed',\n item: item\n });\n }, [onItemsChanged]);\n var handleCollapse = useCallback(function handleCollapse(id) {\n var item = findItemDeep(itemsRef.current, id);\n onItemsChanged(setProperty(itemsRef.current, id, 'collapsed', function (value) {\n return !value;\n }), {\n type: item.collapsed ? 'collapsed' : 'expanded',\n item: item\n });\n }, [onItemsChanged]);\n var announcements = useMemo(function () {\n return {\n onDragStart: function onDragStart(_ref7) {\n var active = _ref7.active;\n return \"Picked up \" + active.id + \".\";\n },\n onDragMove: function onDragMove(_ref8) {\n var active = _ref8.active,\n over = _ref8.over;\n return getMovementAnnouncement('onDragMove', active.id, over == null ? void 0 : over.id);\n },\n onDragOver: function onDragOver(_ref9) {\n var active = _ref9.active,\n over = _ref9.over;\n return getMovementAnnouncement('onDragOver', active.id, over == null ? void 0 : over.id);\n },\n onDragEnd: function onDragEnd(_ref10) {\n var active = _ref10.active,\n over = _ref10.over;\n return getMovementAnnouncement('onDragEnd', active.id, over == null ? void 0 : over.id);\n },\n onDragCancel: function onDragCancel(_ref11) {\n var active = _ref11.active;\n return \"Moving was cancelled. \" + active.id + \" was dropped in its original position.\";\n }\n };\n }, []);\n var strategyCallback = useCallback(function () {\n return !!projected;\n }, [projected]);\n return React.createElement(DndContext, Object.assign({\n accessibility: {\n announcements: announcements\n },\n sensors: disableSorting ? undefined : sensors,\n modifiers: indicator ? modifiersArray : undefined,\n collisionDetection: closestCenter,\n // measuring={measuring}\n onDragStart: disableSorting ? undefined : handleDragStart,\n onDragMove: disableSorting ? undefined : handleDragMove,\n onDragOver: disableSorting ? undefined : handleDragOver,\n onDragEnd: disableSorting ? undefined : handleDragEnd,\n onDragCancel: disableSorting ? undefined : handleDragCancel\n }, dndContextProps), React.createElement(SortableContext, {\n items: sortedIds,\n strategy: disableSorting ? undefined : customListSortingStrategy(strategyCallback)\n }, flattenedItems.map(function (item) {\n var _item$children, _item$children2, _item$children3;\n\n return React.createElement(SortableTreeItem, Object.assign({}, rest, {\n key: item.id,\n id: item.id,\n item: item,\n childCount: (_item$children = item.children) == null ? void 0 : _item$children.length,\n depth: item.id === activeId && projected && !keepGhostInPlace ? projected.depth : item.depth,\n indentationWidth: indentationWidth,\n indicator: indicator,\n collapsed: Boolean(item.collapsed && ((_item$children2 = item.children) == null ? void 0 : _item$children2.length)),\n onCollapse: (_item$children3 = item.children) != null && _item$children3.length ? handleCollapse : undefined,\n onRemove: handleRemove,\n isLast: item.id === activeId && projected ? projected.isLast : item.isLast,\n parent: item.id === activeId && projected ? projected.parent : item.parent,\n TreeItemComponent: TreeItemComponent,\n disableSorting: disableSorting,\n sortableProps: sortableProps,\n keepGhostInPlace: keepGhostInPlace\n }));\n }), createPortal(React.createElement(DragOverlay, {\n dropAnimation: dropAnimation === undefined ? dropAnimationDefaultConfig : dropAnimation\n }, activeId && activeItem ? React.createElement(TreeItemComponent, Object.assign({}, rest, {\n item: activeItem,\n children: [],\n depth: activeItem.depth,\n clone: true,\n childCount: getChildCount(items, activeId) + 1,\n indentationWidth: indentationWidth,\n isLast: false,\n parent: activeItem.parent,\n isOver: false,\n isOverParent: false\n })) : null), document.body)));\n\n function handleDragStart(_ref12) {\n var activeId = _ref12.active.id;\n setActiveId(activeId);\n setOverId(activeId);\n var activeItem = flattenedItems.find(function (_ref13) {\n var id = _ref13.id;\n return id === activeId;\n });\n\n if (activeItem) {\n setCurrentPosition({\n parentId: activeItem.parentId,\n overId: activeId\n });\n }\n\n document.body.style.setProperty('cursor', 'grabbing');\n }\n\n function handleDragMove(_ref14) {\n var delta = _ref14.delta;\n setOffsetLeft(delta.x);\n }\n\n function handleDragOver(_ref15) {\n var _over$id;\n\n var over = _ref15.over;\n setOverId((_over$id = over == null ? void 0 : over.id) != null ? _over$id : null);\n }\n\n function handleDragEnd(_ref16) {\n var active = _ref16.active,\n over = _ref16.over;\n resetState();\n\n if (projected && over) {\n var depth = projected.depth,\n parentId = projected.parentId;\n if (keepGhostInPlace && over.id === active.id) return;\n var clonedItems = flattenTree(items);\n var overIndex = clonedItems.findIndex(function (_ref17) {\n var id = _ref17.id;\n return id === over.id;\n });\n var activeIndex = clonedItems.findIndex(function (_ref18) {\n var id = _ref18.id;\n return id === active.id;\n });\n var activeTreeItem = clonedItems[activeIndex];\n clonedItems[activeIndex] = _extends({}, activeTreeItem, {\n depth: depth,\n parentId: parentId\n });\n var draggedFromParent = activeTreeItem.parent;\n var sortedItems = arrayMove(clonedItems, activeIndex, overIndex);\n var newItems = buildTree(sortedItems);\n var newActiveItem = sortedItems.find(function (x) {\n return x.id === active.id;\n });\n var currentParent = newActiveItem.parentId ? sortedItems.find(function (x) {\n return x.id === newActiveItem.parentId;\n }) : null; // removing setTimeout leads to an unwanted scrolling\n // Use case:\n // There are a lot of items in a tree (so that the scroll exists).\n // You take the node from the bottom and move it to the top\n // Without `setTimeout` when you drop the node the list gets scrolled to the bottom.\n\n setTimeout(function () {\n return onItemsChanged(newItems, {\n type: 'dropped',\n draggedItem: newActiveItem,\n draggedFromParent: draggedFromParent,\n droppedToParent: currentParent\n });\n });\n }\n }\n\n function handleDragCancel() {\n resetState();\n }\n\n function resetState() {\n setOverId(null);\n setActiveId(null);\n setOffsetLeft(0);\n setCurrentPosition(null);\n document.body.style.setProperty('cursor', '');\n }\n\n function getMovementAnnouncement(eventName, activeId, overId) {\n if (overId && projected) {\n if (eventName !== 'onDragEnd') {\n if (currentPosition && projected.parentId === currentPosition.parentId && overId === currentPosition.overId) {\n return;\n } else {\n setCurrentPosition({\n parentId: projected.parentId,\n overId: overId\n });\n }\n }\n\n var clonedItems = flattenTree(items);\n var overIndex = clonedItems.findIndex(function (_ref19) {\n var id = _ref19.id;\n return id === overId;\n });\n var activeIndex = clonedItems.findIndex(function (_ref20) {\n var id = _ref20.id;\n return id === activeId;\n });\n var sortedItems = arrayMove(clonedItems, activeIndex, overIndex);\n var previousItem = sortedItems[overIndex - 1];\n var announcement;\n var movedVerb = eventName === 'onDragEnd' ? 'dropped' : 'moved';\n var nestedVerb = eventName === 'onDragEnd' ? 'dropped' : 'nested';\n\n if (!previousItem) {\n var nextItem = sortedItems[overIndex + 1];\n announcement = activeId + \" was \" + movedVerb + \" before \" + nextItem.id + \".\";\n } else {\n if (projected.depth > previousItem.depth) {\n announcement = activeId + \" was \" + nestedVerb + \" under \" + previousItem.id + \".\";\n } else {\n var previousSibling = previousItem;\n\n var _loop = function _loop() {\n var parentId = previousSibling.parentId;\n previousSibling = sortedItems.find(function (_ref21) {\n var id = _ref21.id;\n return id === parentId;\n });\n };\n\n while (previousSibling && projected.depth < previousSibling.depth) {\n _loop();\n }\n\n if (previousSibling) {\n announcement = activeId + \" was \" + movedVerb + \" after \" + previousSibling.id + \".\";\n }\n }\n }\n\n return announcement;\n }\n\n return;\n }\n}\n\nvar adjustTranslate = function adjustTranslate(_ref22) {\n var transform = _ref22.transform;\n return _extends({}, transform, {\n y: transform.y - 25\n });\n};\n\nvar modifiersArray = [adjustTranslate];\n\nexport { FolderTreeItemWrapper, SimpleTreeItemWrapper, SortableTree, flattenTree };\n//# sourceMappingURL=dnd-kit-sortable-tree.esm.js.map\n"],"names":["r","e","t","f","n","Array","isArray","length","clsx","arguments","_extends","Object","assign","target","i","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","minLen","toString","slice","constructor","name","from","test","_unsupportedIterableToArray","done","value","TypeError","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","_excluded","SimpleTreeItemWrapper","forwardRef","props","clone","depth","disableSelection","disableInteraction","disableSorting","ghost","handleProps","indentationWidth","collapsed","onCollapse","wrapperRef","hideCollapseButton","childCount","manualDrag","showDragHandle","disableCollapseOnItemClick","className","contentClassName","rest","React","paddingLeft","onClick","preventDefault","children","iOS","window","navigator","platform","_revertLastChanges","getProjection","items","activeId","overId","dragOffset","keepGhostInPlace","canRootHaveChildren","_parent$depth2","_nextItem$depth","_nextItem$depth2","overItemIndex","findIndex","_ref","id","activeItemIndex","_ref2","activeItem","_parent$depth","_parent2","_parent$id","_parent3","_parent4","_parent","findParentWhichCanHaveChildren","parentId","parent","isLast","newItems","arrayMove","previousItem","nextItem","dragDepth","offset","Math","round","getDragDepth","findParentWithDepth","maxDepth","minDepth","_newItems$slice$rever","newParent","reverse","find","item","getParentId","dragItem","canHaveChildren","flatten","reduce","acc","index","_item$children","flattenedItem","concat","flattenTree","findItem","itemId","_ref3","findItemDeep","_step2","_iterator2","child","removeItem","_step3","_iterator3","_item$children2","push","setProperty","property","setter","_step4","_iterator4","_item$children3","countChildren","count","_ref4","getChildCount","_item$children4","getIsOverParent","_excluded$2","animateLayoutChanges","isSorting","isDragging","SortableTreeItemNotMemoized","TreeItemComponent","sortableProps","_useSortable","useSortable","disabled","attributes","listeners","setDraggableNodeRef","setDroppableNodeRef","transform","transition","isOver","over","isOverParent","useMemo","CSS","Translate","localCollapse","localRemove","onRemove","SortableTreeItem","memo","_excluded$3","defaultPointerSensorOptions","activationConstraint","distance","dropAnimationDefaultConfig","keyframes","opacity","Transform","initial","x","y","easing","sideEffects","active","node","animate","duration","defaultDropAnimation","SortableTree","indicator","_ref3$indentationWidt","onItemsChanged","pointerSensorOptions","dropAnimation","dndContextProps","_useState","useState","setActiveId","_useState2","setOverId","_useState3","offsetLeft","setOffsetLeft","_useState4","currentPosition","setCurrentPosition","flattenedItems","flattenedTree","collapsedItems","result","ids","excludeParentIds","filter","_item$children5","includes","removeChildrenOf","projected","sensorContext","useRef","sensors","useSensors","useSensor","PointerSensor","sortedIds","map","_ref5","_ref6","useEffect","current","itemsRef","isValid","handleRemove","useCallback","handleCollapse","announcements","onDragStart","_ref7","onDragMove","_ref8","getMovementAnnouncement","onDragOver","_ref9","onDragEnd","_ref10","onDragCancel","_ref11","strategyCallback","DndContext","accessibility","modifiers","modifiersArray","collisionDetection","closestCenter","_ref12","_ref13","body","_ref14","delta","_ref15","_over$id","_ref16","clonedItems","overIndex","_ref17","activeIndex","_ref18","activeTreeItem","draggedFromParent","sortedItems","_nodes","_root$children","_step","root","nodes","_iterator","_item$parentId","_nodes$parentId","_parent$children","buildTree","newActiveItem","currentParent","setTimeout","draggedItem","droppedToParent","SortableContext","strategy","activeNodeRect","rects","verticalListSortingStrategy","Boolean","createPortal","DragOverlay","resetState","eventName","announcement","_ref19","_ref20","movedVerb","nestedVerb","previousSibling","_loop","_ref21","_ref22"],"mappings":"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","x_google_ignoreList":[0,1]}