"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutoHeadingGroup = void 0;
const react_1 = __importDefault(require("react"));
const context_1 = require("./context");
function AutoHeadingGroup({ children, level: explicitLevel }) {
    const currentLevel = context_1.useAutoHeadingLevel();
    if (currentLevel != null &&
        explicitLevel != null &&
        explicitLevel > currentLevel) {
        throw new Error(`You are trying to nest a heading group with level ${explicitLevel} inside a context where the current heading level is ${currentLevel}. This will create a broken document outline.`);
    }
    const level = explicitLevel !== null && explicitLevel !== void 0 ? explicitLevel : (currentLevel !== null && currentLevel !== void 0 ? currentLevel : 0) + 1;
    return (<context_1.AutoHeadingContext.Provider value={level}>
      {children}
    </context_1.AutoHeadingContext.Provider>);
}
exports.AutoHeadingGroup = AutoHeadingGroup;
