import * as React from 'react';
/**
 * 有分组时：分组字段集合变化、或 dataSource 引用变化（如整表刷新）后，在微任务里全展开。
 * TanStack 会在微任务里 reset expanded，故用 queueMicrotask 再 toggle 一次。
 */
export function useExpandOnGroupingChange(options) {
    const { table, groupingFieldsKey, groupingLength, dataSource } = options;
    React.useLayoutEffect(() => {
        if (groupingLength === 0) {
            return;
        }
        // 同步 toggle 可能被 TanStack 在同一轮里用微任务 reset expanded 盖掉；延后到微任务再展开，顺序上晚于库的 reset
        queueMicrotask(() => {
            table.toggleAllRowsExpanded(true);
        });
    }, [groupingLength, groupingFieldsKey, table, dataSource]);
}
