// Generated, do not edit. sha256:fbeb70898a324872c8f2444d8e03beae326a416826348a59cda101932ba82f5c import { SYSTEM_PAGE } from '../../shared/config.js'; import { createRegistry } from '../../shared/registry.js'; import { locked } from '../license.js'; const tabs = createRegistry('system tab', { validate: (e) => { if (!Object.values(SYSTEM_PAGE.TABS).includes(e.tab)) throw new Error(`Unknown system tab '${e.tab}'.`); }, }); export function registerSystemTab(tab) { const feature = tab.feature ?? null; tabs.register({ ...tab, id: `${tab.id}:${feature ?? ''}`, tab: tab.id, feature, label: tab.label ?? `nav.${tab.id}` }); } export function systemTabs() { return Object.values(SYSTEM_PAGE.TABS).flatMap(id => { const own = tabs.list().filter(r => r.tab === id).map(r => ({ ...r, id })); const pick = own.find(r => r.feature && !locked(r.feature)) || own.find(r => !r.feature); return pick ? [pick] : []; }); }