import type { TabManager } from '@ablogcms/tab';

// シングルトンのTabManagerインスタンス
let tabManager: TabManager | null = null;

// tab関数でTabManagerをラップ
const tab = async (...args: Parameters<TabManager['apply']>) => {
  if (!tabManager) {
    const { TabManager } = await import(/* webpackChunkName: "acms-tab-manager" */ '@ablogcms/tab');
    tabManager = TabManager.getInstance();
  }
  tabManager.apply(...args);
  return tabManager;
};

export default tab;
