{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;AAgFO,IAAM,4BAAA,GAAiE,OAAO,MAAA,CAAO;AAAA,EAC1F,gCAAA,EAAkC;AACpC,CAAC","file":"index.cjs","sourcesContent":["/**\n * @ethisyscore/host-ui-externals\n *\n * Type contracts for the Gogo UI components that the host exposes to\n * Tier T plugin remotes as shared externals. At runtime the host's\n * `hostModuleRegistry.ts` registers the actual `@coreconnect/gogo-ui`\n * instances under `\"@ethisyscore/host-ui-externals\"`; the rewriter maps\n * the plugin's bare import to that registry entry.\n *\n * Plugin builds:\n * 1. Add this package as a devDependency.\n * 2. In `vite.config.ts`, add `\"@ethisyscore/host-ui-externals\"` to the\n *    `external` list (the `ethisysPlatformReactPlugin` handles this\n *    automatically in the next build-plugin update).\n * 3. Import types from `\"@ethisyscore/host-ui-externals\"` — these are\n *    erased at compile time and replaced at runtime with the host instance.\n *\n * For local standalone development (plugin CI, Storybook), replace the\n * production import with the mock sub-path:\n * `import { GogoThemeProvider } from \"@ethisyscore/host-ui-externals/mock\";`\n */\n\n// ── Re-exported type contracts ─────────────────────────────────────\n// These are TYPE-ONLY exports. They carry no runtime bundle weight —\n// the actual implementations live in the host's `@coreconnect/gogo-ui`.\n// Imported (not just re-exported) so `ReactNode` is in local scope for the\n// interface declarations below.\nimport type { ComponentType, ReactNode } from \"react\";\nexport type { ComponentType, ReactNode };\n\n/**\n * Gogo theme colour preset union.\n * Mirrors `GogoTheme` from `@coreconnect/gogo-ui` — kept in sync manually\n * until `gogo-ui` is published to npm.\n */\nexport type GogoTheme = \"theme-purple\" | \"theme-blue\" | \"theme-green\" | \"theme-orange\";\n\n/**\n * Gogo light/dark/system mode.\n */\nexport type GogoMode = \"light\" | \"dark\" | \"system\";\n\n/**\n * Props accepted by the host's `GogoThemeProvider`. Plugin remotes that need\n * to wrap their own subtree in the provider use this type.\n */\nexport interface GogoThemeProviderProps {\n  theme?: GogoTheme;\n  mode?: GogoMode;\n  direction?: \"ltr\" | \"rtl\";\n  children: ReactNode;\n}\n\nexport type { ReactNode as GogoChildren };\n\n/**\n * The menu item shape from `@coreconnect/gogo-ui`.\n */\nexport interface GogoMenuItem {\n  id: string;\n  label: string;\n  icon?: string;\n  href?: string;\n  onClick?: () => void;\n}\n\n// ── Specifier map ──────────────────────────────────────────────────\n\n/**\n * Maps the npm specifier that plugin code imports from to the registry key\n * that `hostModuleRegistry.ts` registers the live instance under.\n *\n * Both keys are `\"@ethisyscore/host-ui-externals\"` because the registry key\n * equals the npm specifier — the rewriter looks up `spec in MODULES` where\n * `spec` is the bare specifier from the plugin's import statement.\n *\n * Plugin Vite configs add the key to `build.rollupOptions.external`.\n * The `ethisysPlatformReactPlugin` vite plugin will auto-add this in its\n * config hook (see `page-bundles.ts` follow-up).\n */\nexport const GOGO_EXTERNALS_SPECIFIER_MAP: Readonly<Record<string, string>> = Object.freeze({\n  \"@ethisyscore/host-ui-externals\": \"@ethisyscore/host-ui-externals\",\n});\n"]}