bertui 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/index.js +1 -1
  2. package/package.json +43 -25
  3. package/src/build/compiler/file-transpiler.js +1 -0
  4. package/src/build/generators/html-generator.js +24 -9
  5. package/src/build.js +9 -1
  6. package/src/client/compiler.js +1 -0
  7. package/src/server/dev-handler.js +3 -3
  8. package/src/server/dev-server-utils.js +2 -1
  9. package/types/bin/bertui.d.ts +3 -0
  10. package/types/bin/bertui.d.ts.map +1 -0
  11. package/types/error-overlay.d.ts +2 -0
  12. package/types/error-overlay.d.ts.map +1 -0
  13. package/types/index.d.ts +26 -177
  14. package/types/index.d.ts.map +1 -0
  15. package/types/scripts/fix-wasm-exports.d.ts +2 -0
  16. package/types/scripts/fix-wasm-exports.d.ts.map +1 -0
  17. package/types/src/analyzer/index.d.ts +8 -0
  18. package/types/src/analyzer/index.d.ts.map +1 -0
  19. package/types/src/build/compiler/file-transpiler.d.ts +5 -0
  20. package/types/src/build/compiler/file-transpiler.d.ts.map +1 -0
  21. package/types/src/build/compiler/index.d.ts +12 -0
  22. package/types/src/build/compiler/index.d.ts.map +1 -0
  23. package/types/src/build/compiler/route-discoverer.d.ts +2 -0
  24. package/types/src/build/compiler/route-discoverer.d.ts.map +1 -0
  25. package/types/src/build/compiler/router-generator.d.ts +2 -0
  26. package/types/src/build/compiler/router-generator.d.ts.map +1 -0
  27. package/types/src/build/css-builder.d.ts +18 -0
  28. package/types/src/build/css-builder.d.ts.map +1 -0
  29. package/types/src/build/generators/html-generator.d.ts +2 -0
  30. package/types/src/build/generators/html-generator.d.ts.map +1 -0
  31. package/types/src/build/generators/robots-generator.d.ts +11 -0
  32. package/types/src/build/generators/robots-generator.d.ts.map +1 -0
  33. package/types/src/build/generators/sitemap-generator.d.ts +5 -0
  34. package/types/src/build/generators/sitemap-generator.d.ts.map +1 -0
  35. package/types/src/build/image-optimizer.d.ts +11 -0
  36. package/types/src/build/image-optimizer.d.ts.map +1 -0
  37. package/types/src/build/processors/asset-processor.d.ts +2 -0
  38. package/types/src/build/processors/asset-processor.d.ts.map +1 -0
  39. package/types/src/build/processors/css-builder.d.ts +2 -0
  40. package/types/src/build/processors/css-builder.d.ts.map +1 -0
  41. package/types/src/build/server-island-validator.d.ts +27 -0
  42. package/types/src/build/server-island-validator.d.ts.map +1 -0
  43. package/types/src/build.d.ts +5 -0
  44. package/types/src/build.d.ts.map +1 -0
  45. package/types/src/cli.d.ts +2 -0
  46. package/types/src/cli.d.ts.map +1 -0
  47. package/types/src/client/compiler.d.ts +16 -0
  48. package/types/src/client/compiler.d.ts.map +1 -0
  49. package/types/src/client/fast-refresh.d.ts +3 -0
  50. package/types/src/client/fast-refresh.d.ts.map +1 -0
  51. package/types/src/client/hmr-runtime.d.ts +4 -0
  52. package/types/src/client/hmr-runtime.d.ts.map +1 -0
  53. package/types/src/compiler/index.d.ts +8 -0
  54. package/types/src/compiler/index.d.ts.map +1 -0
  55. package/types/src/compiler/router-generator-pure.d.ts +2 -0
  56. package/types/src/compiler/router-generator-pure.d.ts.map +1 -0
  57. package/types/src/compiler/transform.d.ts +36 -0
  58. package/types/src/compiler/transform.d.ts.map +1 -0
  59. package/types/src/config/defaultConfig.d.ts +26 -0
  60. package/types/src/config/defaultConfig.d.ts.map +1 -0
  61. package/types/src/config/index.d.ts +3 -0
  62. package/types/src/config/index.d.ts.map +1 -0
  63. package/types/src/config/loadConfig.d.ts +2 -0
  64. package/types/src/config/loadConfig.d.ts.map +1 -0
  65. package/types/src/css/index.d.ts +6 -0
  66. package/types/src/css/index.d.ts.map +1 -0
  67. package/types/src/css/processor.d.ts +23 -0
  68. package/types/src/css/processor.d.ts.map +1 -0
  69. package/types/src/dev.d.ts +2 -0
  70. package/types/src/dev.d.ts.map +1 -0
  71. package/types/src/hydration/index.d.ts +33 -0
  72. package/types/src/hydration/index.d.ts.map +1 -0
  73. package/types/src/image-optimizer/index.d.ts +24 -0
  74. package/types/src/image-optimizer/index.d.ts.map +1 -0
  75. package/types/src/images/index.d.ts +12 -0
  76. package/types/src/images/index.d.ts.map +1 -0
  77. package/types/src/images/processor.d.ts +30 -0
  78. package/types/src/images/processor.d.ts.map +1 -0
  79. package/types/src/layouts/index.d.ts +28 -0
  80. package/types/src/layouts/index.d.ts.map +1 -0
  81. package/types/src/loading/index.d.ts +28 -0
  82. package/types/src/loading/index.d.ts.map +1 -0
  83. package/types/src/logger/logger.d.ts +30 -0
  84. package/types/src/logger/logger.d.ts.map +1 -0
  85. package/types/src/middleware/index.d.ts +61 -0
  86. package/types/src/middleware/index.d.ts.map +1 -0
  87. package/types/src/router/Router.d.ts +16 -0
  88. package/types/src/router/Router.d.ts.map +1 -0
  89. package/types/src/router/SSRRouter.d.ts +20 -0
  90. package/types/src/router/SSRRouter.d.ts.map +1 -0
  91. package/types/src/router/index.d.ts +3 -0
  92. package/types/src/router/index.d.ts.map +1 -0
  93. package/types/src/scaffolder/index.d.ts +14 -0
  94. package/types/src/scaffolder/index.d.ts.map +1 -0
  95. package/types/src/serve.d.ts +3 -0
  96. package/types/src/serve.d.ts.map +1 -0
  97. package/types/src/server/dev-handler.d.ts +13 -0
  98. package/types/src/server/dev-handler.d.ts.map +1 -0
  99. package/types/src/server/dev-server-utils.d.ts +6 -0
  100. package/types/src/server/dev-server-utils.d.ts.map +1 -0
  101. package/types/src/server/dev-server.d.ts +18 -0
  102. package/types/src/server/dev-server.d.ts.map +1 -0
  103. package/types/src/server/hmr-handler.d.ts +19 -0
  104. package/types/src/server/hmr-handler.d.ts.map +1 -0
  105. package/types/src/server/index.d.ts +4 -0
  106. package/types/src/server/index.d.ts.map +1 -0
  107. package/types/src/server/request-handler.d.ts +19 -0
  108. package/types/src/server/request-handler.d.ts.map +1 -0
  109. package/types/src/server-islands/extractor.d.ts +16 -0
  110. package/types/src/server-islands/extractor.d.ts.map +1 -0
  111. package/types/src/server-islands/index.d.ts +3 -0
  112. package/types/src/server-islands/index.d.ts.map +1 -0
  113. package/types/src/utils/cache.d.ts +52 -0
  114. package/types/src/utils/cache.d.ts.map +1 -0
  115. package/types/src/utils/env.d.ts +20 -0
  116. package/types/src/utils/env.d.ts.map +1 -0
  117. package/types/src/utils/importhow.d.ts +15 -0
  118. package/types/src/utils/importhow.d.ts.map +1 -0
  119. package/types/src/utils/index.d.ts +3 -0
  120. package/types/src/utils/index.d.ts.map +1 -0
  121. package/types/src/utils/meta-extractor.d.ts +13 -0
  122. package/types/src/utils/meta-extractor.d.ts.map +1 -0
  123. package/types/config.d.ts +0 -33
  124. package/types/react.d.ts +0 -16
  125. package/types/router.d.ts +0 -79
@@ -0,0 +1,6 @@
1
+ export function getImageContentType(ext: any): any;
2
+ export function getContentType(ext: any): any;
3
+ export function buildDevImportMap(root: any): Promise<any>;
4
+ export function serveHTML(root: any, hasRouter: any, config: any, port: any): Promise<string>;
5
+ export function setupFileWatcher(root: any, compiledDir: any, clients: any, onRecompile: any): () => void;
6
+ //# sourceMappingURL=dev-server-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-server-utils.d.ts","sourceRoot":"","sources":["../../../src/server/dev-server-utils.js"],"names":[],"mappings":"AAQA,mDAYC;AAGD,8CAwBC;AAWD,2DAuFC;AAMD,8FAuHC;AAQD,0GA4HC"}
@@ -0,0 +1,18 @@
1
+ export function startDevServer(options?: {}): Promise<{
2
+ handler: {
3
+ handleRequest: (request: any) => Promise<any>;
4
+ start: () => Promise<any>;
5
+ notifyClients: (message: any) => void;
6
+ dispose: () => void;
7
+ config: any;
8
+ hasRouter: any;
9
+ websocketHandler: {
10
+ open(ws: any): void;
11
+ close(ws: any): void;
12
+ };
13
+ };
14
+ server: any;
15
+ }>;
16
+ export { createDevHandler } from "./dev-handler.js";
17
+ export { handleRequest } from "./request-handler.js";
18
+ //# sourceMappingURL=dev-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../../src/server/dev-server.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAIC"}
@@ -0,0 +1,19 @@
1
+ export class HMRHandler {
2
+ constructor(root: any);
3
+ root: any;
4
+ clients: Set<any>;
5
+ compilationQueue: Map<any, any>;
6
+ pendingUpdates: Set<any>;
7
+ isProcessing: boolean;
8
+ onOpen(ws: any): void;
9
+ onClose(ws: any): void;
10
+ onMessage(ws: any, message: any): void;
11
+ notifyAll(message: any): void;
12
+ queueRecompile(filename: any): void;
13
+ processQueue(): Promise<void>;
14
+ handleAccept(moduleId: any): void;
15
+ handleDecline(moduleId: any): void;
16
+ reload(): void;
17
+ dispose(): void;
18
+ }
19
+ //# sourceMappingURL=hmr-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-handler.d.ts","sourceRoot":"","sources":["../../../src/server/hmr-handler.js"],"names":[],"mappings":"AAMA;IACE,uBAMC;IALC,UAAgB;IAChB,kBAAwB;IACxB,gCAAiC;IACjC,yBAA+B;IAC/B,sBAAyB;IAI3B,sBASC;IAED,uBAGC;IAED,uCAeC;IAGD,8BAUC;IAGD,oCAMC;IAGD,8BAkDC;IAGD,kCAEC;IAGD,mCAGC;IAGD,eAEC;IAGD,gBAKC;CACF"}
@@ -0,0 +1,4 @@
1
+ export { createDevHandler } from "./dev-handler.js";
2
+ export { startDevServer } from "./dev-server.js";
3
+ export { handleRequest, createElysiaMiddleware } from "./request-handler.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Handle a single HTTP request with BertUI
3
+ * @param {Request} request - The HTTP request
4
+ * @param {Object} options - Options
5
+ * @param {string} options.root - Project root directory
6
+ * @param {number} options.port - Port number
7
+ * @returns {Promise<Response|null>} Response or null if not handled
8
+ */
9
+ export function handleRequest(request: Request, options?: {
10
+ root: string;
11
+ port: number;
12
+ }): Promise<Response | null>;
13
+ /**
14
+ * Create a middleware function for Elysia
15
+ * @param {Object} options - Options
16
+ * @returns {Function} Elysia middleware
17
+ */
18
+ export function createElysiaMiddleware(options?: Object): Function;
19
+ //# sourceMappingURL=request-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../src/server/request-handler.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,uCANW,OAAO,YAEf;IAAwB,IAAI,EAApB,MAAM;IACU,IAAI,EAApB,MAAM;CACd,GAAU,OAAO,CAAC,QAAQ,GAAC,IAAI,CAAC,CAKlC;AAED;;;;GAIG;AACH,iDAHW,MAAM,YAehB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Extract static HTML from a Server Island component
3
+ * @param {string} sourceCode - The component source code
4
+ * @param {string} filePath - Path to file (for error messages)
5
+ * @returns {string|null} Extracted HTML or null if extraction fails
6
+ */
7
+ export function extractStaticHTML(sourceCode: string, filePath?: string): string | null;
8
+ /**
9
+ * Quick check if a file is a Server Island
10
+ */
11
+ export function isServerIsland(sourceCode: any): any;
12
+ /**
13
+ * Extract component name from file
14
+ */
15
+ export function extractComponentName(filePath: any): any;
16
+ //# sourceMappingURL=extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/server-islands/extractor.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAqFvB;AA0FD;;GAEG;AACH,qDAEC;AAED;;GAEG;AACH,yDAGC"}
@@ -0,0 +1,3 @@
1
+ export { extractStaticHTML, isServerIsland, extractComponentName } from "./extractor.js";
2
+ export { validateServerIsland, displayValidationErrors, validateAllServerIslands } from "../build/server-island-validator.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server-islands/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ export function cached(options?: {}): (target: any, propertyKey: any, descriptor: any) => any;
2
+ export class BertuiCache {
3
+ constructor(options?: {});
4
+ maxSize: any;
5
+ ttl: any;
6
+ stats: {
7
+ hits: number;
8
+ misses: number;
9
+ sets: number;
10
+ evictions: number;
11
+ };
12
+ store: Map<any, any>;
13
+ fileCache: Map<any, any>;
14
+ fileTimestamps: Map<any, any>;
15
+ codeCache: Map<any, any>;
16
+ cssCache: Map<any, any>;
17
+ imageCache: Map<any, any>;
18
+ weakCache: Map<any, any> | undefined;
19
+ cleanupInterval: number;
20
+ get(key: any, options?: {}): any;
21
+ set(key: any, value: any, options?: {}): void;
22
+ getFile(filePath: any, options?: {}): Promise<any>;
23
+ getTransformed(sourceCode: any, options?: {}): any;
24
+ setTransformed(sourceCode: any, result: any, options?: {}): void;
25
+ getCSS(css: any, options?: {}): any;
26
+ setCSS(css: any, result: any, options?: {}): void;
27
+ mget(keys: any): any[];
28
+ mset(entries: any): void;
29
+ getStats(): {
30
+ hits: number;
31
+ misses: number;
32
+ sets: number;
33
+ evictions: number;
34
+ hitRate: string;
35
+ size: number;
36
+ fileCacheSize: number;
37
+ codeCacheSize: number;
38
+ cssCacheSize: number;
39
+ imageCacheSize: number;
40
+ memory: {
41
+ heapUsed: string;
42
+ heapTotal: string;
43
+ rss: string;
44
+ };
45
+ };
46
+ getSize(value: any): any;
47
+ evictLRU(): void;
48
+ cleanup(): void;
49
+ dispose(): void;
50
+ }
51
+ export const globalCache: BertuiCache;
52
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/utils/cache.js"],"names":[],"mappings":"AAqRA,uCACkB,WAAM,EAAE,gBAAW,EAAE,eAAU,SAkBhD;AApSD;IACE,0BA4BC;IA3BC,aAAsC;IACtC,SAA+B;IAC/B;;;;;MAA0D;IAG1D,qBAAsB;IAGtB,yBAA0B;IAC1B,8BAA+B;IAG/B,yBAA0B;IAG1B,wBAAyB;IAGzB,0BAA2B;IAIzB,qCAA0B;IAI5B,wBAA+D;IAIjE,iCA8BC;IAED,8CA0BC;IAGD,mDA2CC;IAGD,mDAQC;IAED,iEAQC;IAGD,oCAOC;IAED,kDAOC;IAGD,uBAMC;IAED,yBAIC;IAGD;;;;;;;;;;;;;;;;MAwBC;IAGD,yBAKC;IAED,iBASC;IAED,gBAeC;IAED,gBAUC;CACF;AAGD,sCAA6C"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Load environment variables from .env file
3
+ * @param {string} root - Project root directory
4
+ * @returns {Object} Environment variables
5
+ */
6
+ export function loadEnvVariables(root: string): Object;
7
+ /**
8
+ * Generate JavaScript code to expose environment variables
9
+ * @param {Object} envVars - Environment variables object
10
+ * @returns {string} JavaScript code
11
+ */
12
+ export function generateEnvCode(envVars: Object): string;
13
+ /**
14
+ * Replace process.env references in code
15
+ * @param {string} code - Source code
16
+ * @param {Object} envVars - Environment variables
17
+ * @returns {string} Code with replaced env vars
18
+ */
19
+ export function replaceEnvInCode(code: string, envVars: Object): string;
20
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,uCAHW,MAAM,GACJ,MAAM,CAyClB;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACJ,MAAM,CAclB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAYlB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @param {Object} importhow - { alias: relPath } from bertui.config.js
3
+ * @param {string} projectRoot - absolute project root
4
+ * @param {string} compiledDir - if set, aliases resolve to compiledDir/<alias>
5
+ * pass .bertui/compiled in dev mode
6
+ * leave null in build mode (uses raw source paths)
7
+ */
8
+ export function buildAliasMap(importhow: Object | undefined, projectRoot: string, compiledDir?: string): Map<any, any>;
9
+ /**
10
+ * Rewrite alias import specifiers in compiled code.
11
+ * 'amani/button' → '../components/button.js'
12
+ */
13
+ export function rewriteAliasImports(code: any, currentFile: any, aliasMap: any): any;
14
+ export function getAliasDirs(aliasMap: any): Set<any>;
15
+ //# sourceMappingURL=importhow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importhow.d.ts","sourceRoot":"","sources":["../../../src/utils/importhow.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,yCANW,MAAM,2BACN,MAAM,gBACN,MAAM,iBAahB;AAED;;;GAGG;AACH,qFAoBC;AAED,sDAIC"}
@@ -0,0 +1,3 @@
1
+ export { loadEnvVariables, generateEnvCode, replaceEnvInCode } from "./env.js";
2
+ export { extractMetaFromSource, generateMetaTags } from "./meta-extractor.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Extract meta information from page component source code
3
+ * @param {string} sourceCode - Component source code
4
+ * @returns {Object} Extracted meta information
5
+ */
6
+ export function extractMetaFromSource(sourceCode: string): Object;
7
+ /**
8
+ * Generate HTML meta tags from meta object
9
+ * @param {Object} meta - Meta information object
10
+ * @returns {string} HTML meta tags
11
+ */
12
+ export function generateMetaTags(meta: Object): string;
13
+ //# sourceMappingURL=meta-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-extractor.d.ts","sourceRoot":"","sources":["../../../src/utils/meta-extractor.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,kDAHW,MAAM,GACJ,MAAM,CA4DlB;AAED;;;;GAIG;AACH,uCAHW,MAAM,GACJ,MAAM,CAuClB"}
package/types/config.d.ts DELETED
@@ -1,33 +0,0 @@
1
- // bertui/types/config.d.ts - CLEANED
2
- declare module 'bertui/config' {
3
- export interface BertuiConfig {
4
- siteName?: string;
5
- baseUrl?: string;
6
-
7
- meta?: {
8
- title?: string;
9
- description?: string;
10
- keywords?: string;
11
- author?: string;
12
- ogImage?: string;
13
- ogTitle?: string;
14
- ogDescription?: string;
15
- themeColor?: string;
16
- lang?: string;
17
- };
18
-
19
- appShell?: {
20
- loading?: boolean;
21
- loadingText?: string;
22
- backgroundColor?: string;
23
- };
24
-
25
- robots?: {
26
- disallow?: string[];
27
- crawlDelay?: number;
28
- };
29
- }
30
-
31
- export const defaultConfig: BertuiConfig;
32
- export function loadConfig(root: string): Promise<BertuiConfig>;
33
- }
package/types/react.d.ts DELETED
@@ -1,16 +0,0 @@
1
- // bertui/types/react.d.ts
2
- import React from 'react';
3
-
4
- // Export everything from React
5
- export = React;
6
- export as namespace React;
7
-
8
- declare global {
9
- // Re-export React types for global access
10
- namespace JSX {
11
- interface IntrinsicElements {
12
- // All HTML elements with proper typing
13
- [key: string]: any;
14
- }
15
- }
16
- }
package/types/router.d.ts DELETED
@@ -1,79 +0,0 @@
1
- // bertui/types/router.d.ts
2
- declare module 'bertui/router' {
3
- import { ReactNode, ComponentType } from 'react';
4
-
5
- /**
6
- * Route parameter object
7
- */
8
- export interface RouteParams {
9
- [key: string]: string;
10
- }
11
-
12
- /**
13
- * Router context value
14
- */
15
- export interface RouterContext {
16
- /** Current active route */
17
- currentRoute: Route | null;
18
- /** Dynamic route parameters */
19
- params: RouteParams;
20
- /** Navigate to a new path */
21
- navigate: (path: string) => void;
22
- /** Current pathname */
23
- pathname: string;
24
- /** Whether running in SSR mode */
25
- isSSR?: boolean;
26
- }
27
-
28
- /**
29
- * Route configuration object
30
- */
31
- export interface Route {
32
- /** Route path (e.g., "/", "/blog", "/user/:id") */
33
- path: string;
34
- /** React component to render */
35
- component: ComponentType<{ params?: RouteParams }>;
36
- /** Route type: "static" or "dynamic" */
37
- type: 'static' | 'dynamic';
38
- }
39
-
40
- /**
41
- * Router component props
42
- */
43
- export interface RouterProps {
44
- /** Array of route configurations */
45
- routes: Route[];
46
- /** Initial path for SSR */
47
- initialPath?: string;
48
- }
49
-
50
- /**
51
- * Link component props
52
- */
53
- export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
54
- /** Destination path */
55
- to: string;
56
- /** Link content */
57
- children: ReactNode;
58
- }
59
-
60
- /**
61
- * Router component for client-side routing
62
- */
63
- export const Router: ComponentType<RouterProps>;
64
-
65
- /**
66
- * Link component for navigation
67
- */
68
- export const Link: ComponentType<LinkProps>;
69
-
70
- /**
71
- * Hook to access router context
72
- */
73
- export function useRouter(): RouterContext;
74
-
75
- /**
76
- * Exported routes configuration
77
- */
78
- export const routes: Route[];
79
- }