"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortCollapsed = void 0;
/**
 * Сортирует элементы для корректной последовательности анимации при сворачивании.
 * Сначала более глубокие уровни, затем по индексу среди соседей.
 *
 * @typeParam T - тип данных элемента дерева
 * @param items - элементы в формате `FlattenTree<T>`
 * @returns Отсортированный массив `FlattenTree<T>`
 */
const sortCollapsed = (items) => {
    return [...items].sort((a, b) => {
        if (a.meta.level !== b.meta.level) {
            return b.meta.level - a.meta.level;
        }
        return a.meta.siblingIndex - b.meta.siblingIndex;
    });
};
exports.sortCollapsed = sortCollapsed;
