@frontmcp/ui 0.12.2 → 1.0.0-beta.1

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 (310) hide show
  1. package/README.md +279 -72
  2. package/bridge/adapters/claude.adapter.d.ts.map +1 -1
  3. package/bridge/adapters/gemini.adapter.d.ts.map +1 -1
  4. package/bridge/index.js +2 -36
  5. package/components/Alert/Alert.d.ts +11 -0
  6. package/components/Alert/Alert.d.ts.map +1 -0
  7. package/components/Alert/index.d.ts +4 -0
  8. package/components/Alert/index.d.ts.map +1 -0
  9. package/components/Alert/index.js +61 -0
  10. package/components/Avatar/Avatar.d.ts +10 -0
  11. package/components/Avatar/Avatar.d.ts.map +1 -0
  12. package/components/Avatar/index.d.ts +4 -0
  13. package/components/Avatar/index.d.ts.map +1 -0
  14. package/components/Avatar/index.js +43 -0
  15. package/components/Badge/Badge.d.ts +13 -0
  16. package/components/Badge/Badge.d.ts.map +1 -0
  17. package/components/Badge/index.d.ts +4 -0
  18. package/components/Badge/index.d.ts.map +1 -0
  19. package/{render → components/Badge}/index.js +54 -42
  20. package/components/Button/Button.d.ts +16 -0
  21. package/components/Button/Button.d.ts.map +1 -0
  22. package/components/Button/index.d.ts +4 -0
  23. package/components/Button/index.d.ts.map +1 -0
  24. package/components/Button/index.js +91 -0
  25. package/components/Card/Card.d.ts +25 -0
  26. package/components/Card/Card.d.ts.map +1 -0
  27. package/components/Card/index.d.ts +4 -0
  28. package/components/Card/index.d.ts.map +1 -0
  29. package/components/Card/index.js +110 -0
  30. package/components/List/List.d.ts +15 -0
  31. package/components/List/List.d.ts.map +1 -0
  32. package/components/List/index.d.ts +4 -0
  33. package/components/List/index.d.ts.map +1 -0
  34. package/components/List/index.js +58 -0
  35. package/components/Loader/Loader.d.ts +28 -0
  36. package/components/Loader/Loader.d.ts.map +1 -0
  37. package/components/Loader/LoaderContext.d.ts +20 -0
  38. package/components/Loader/LoaderContext.d.ts.map +1 -0
  39. package/components/Loader/index.d.ts +6 -0
  40. package/components/Loader/index.d.ts.map +1 -0
  41. package/components/Loader/index.js +174 -0
  42. package/components/Modal/Modal.d.ts +22 -0
  43. package/components/Modal/Modal.d.ts.map +1 -0
  44. package/components/Modal/index.d.ts +4 -0
  45. package/components/Modal/index.d.ts.map +1 -0
  46. package/components/Modal/index.js +80 -0
  47. package/components/Select/Select.d.ts +21 -0
  48. package/components/Select/Select.d.ts.map +1 -0
  49. package/components/Select/index.d.ts +4 -0
  50. package/components/Select/index.d.ts.map +1 -0
  51. package/components/Select/index.js +78 -0
  52. package/components/Table/Table.d.ts +15 -0
  53. package/components/Table/Table.d.ts.map +1 -0
  54. package/components/Table/index.d.ts +4 -0
  55. package/components/Table/index.d.ts.map +1 -0
  56. package/components/Table/index.js +70 -0
  57. package/components/TextField/TextField.d.ts +19 -0
  58. package/components/TextField/TextField.d.ts.map +1 -0
  59. package/components/TextField/index.d.ts +4 -0
  60. package/components/TextField/index.d.ts.map +1 -0
  61. package/components/TextField/index.js +77 -0
  62. package/components/index.d.ts +22 -28
  63. package/components/index.d.ts.map +1 -1
  64. package/components/index.js +523 -2521
  65. package/esm/bridge/index.mjs +2 -6
  66. package/esm/components/Alert/index.mjs +28 -0
  67. package/esm/components/Avatar/index.mjs +10 -0
  68. package/esm/components/Badge/index.mjs +56 -0
  69. package/esm/components/Button/index.mjs +58 -0
  70. package/esm/components/Card/index.mjs +77 -0
  71. package/esm/components/List/index.mjs +25 -0
  72. package/esm/components/Loader/index.mjs +141 -0
  73. package/esm/components/Modal/index.mjs +47 -0
  74. package/esm/components/Select/index.mjs +45 -0
  75. package/esm/components/Table/index.mjs +37 -0
  76. package/esm/components/TextField/index.mjs +44 -0
  77. package/esm/components/index.mjs +513 -2415
  78. package/esm/index.mjs +62 -4652
  79. package/esm/package.json +372 -16
  80. package/esm/react/index.mjs +2 -285
  81. package/esm/renderer/charts/index.mjs +336 -0
  82. package/esm/renderer/common/index.mjs +135 -0
  83. package/esm/renderer/csv/index.mjs +193 -0
  84. package/esm/renderer/flow/index.mjs +259 -0
  85. package/esm/renderer/html/index.mjs +99 -0
  86. package/esm/renderer/image/index.mjs +125 -0
  87. package/esm/renderer/index.mjs +2173 -0
  88. package/esm/renderer/maps/index.mjs +217 -0
  89. package/esm/renderer/math/index.mjs +229 -0
  90. package/esm/renderer/mdx/index.mjs +261 -0
  91. package/esm/renderer/media/index.mjs +235 -0
  92. package/esm/renderer/mermaid/index.mjs +220 -0
  93. package/esm/renderer/pdf/index.mjs +229 -0
  94. package/esm/renderer/react/index.mjs +230 -0
  95. package/esm/runtime/index.mjs +194 -0
  96. package/esm/theme/index.mjs +93 -0
  97. package/index.d.ts +10 -18
  98. package/index.d.ts.map +1 -1
  99. package/index.js +63 -4806
  100. package/package.json +372 -16
  101. package/react/index.d.ts +8 -54
  102. package/react/index.d.ts.map +1 -1
  103. package/react/index.js +2 -295
  104. package/renderer/auto-detect.d.ts +39 -0
  105. package/renderer/auto-detect.d.ts.map +1 -0
  106. package/renderer/charts/index.d.ts +22 -0
  107. package/renderer/charts/index.d.ts.map +1 -0
  108. package/renderer/charts/index.js +367 -0
  109. package/renderer/common/index.d.ts +5 -0
  110. package/renderer/common/index.d.ts.map +1 -0
  111. package/renderer/common/index.js +158 -0
  112. package/renderer/common/inject-stylesheet.d.ts +9 -0
  113. package/renderer/common/inject-stylesheet.d.ts.map +1 -0
  114. package/renderer/common/lazy-import.d.ts +85 -0
  115. package/renderer/common/lazy-import.d.ts.map +1 -0
  116. package/renderer/common/use-lazy-module.d.ts +13 -0
  117. package/renderer/common/use-lazy-module.d.ts.map +1 -0
  118. package/renderer/common/use-renderer-theme.d.ts +35 -0
  119. package/renderer/common/use-renderer-theme.d.ts.map +1 -0
  120. package/renderer/csv/index.d.ts +12 -0
  121. package/renderer/csv/index.d.ts.map +1 -0
  122. package/renderer/csv/index.js +224 -0
  123. package/renderer/flow/index.d.ts +40 -0
  124. package/renderer/flow/index.d.ts.map +1 -0
  125. package/renderer/flow/index.js +290 -0
  126. package/renderer/html/index.d.ts +12 -0
  127. package/renderer/html/index.d.ts.map +1 -0
  128. package/renderer/html/index.js +130 -0
  129. package/renderer/image/index.d.ts +11 -0
  130. package/renderer/image/index.d.ts.map +1 -0
  131. package/renderer/image/index.js +156 -0
  132. package/renderer/index.d.ts +32 -0
  133. package/renderer/index.d.ts.map +1 -0
  134. package/renderer/index.js +2206 -0
  135. package/renderer/maps/index.d.ts +27 -0
  136. package/renderer/maps/index.d.ts.map +1 -0
  137. package/renderer/maps/index.js +248 -0
  138. package/renderer/math/index.d.ts +11 -0
  139. package/renderer/math/index.d.ts.map +1 -0
  140. package/renderer/math/index.js +260 -0
  141. package/renderer/mdx/index.d.ts +10 -0
  142. package/renderer/mdx/index.d.ts.map +1 -0
  143. package/renderer/mdx/index.js +292 -0
  144. package/renderer/media/index.d.ts +20 -0
  145. package/renderer/media/index.d.ts.map +1 -0
  146. package/renderer/media/index.js +266 -0
  147. package/renderer/mermaid/index.d.ts +11 -0
  148. package/renderer/mermaid/index.d.ts.map +1 -0
  149. package/renderer/mermaid/index.js +251 -0
  150. package/renderer/pdf/index.d.ts +10 -0
  151. package/renderer/pdf/index.d.ts.map +1 -0
  152. package/renderer/pdf/index.js +260 -0
  153. package/renderer/react/index.d.ts +45 -0
  154. package/renderer/react/index.d.ts.map +1 -0
  155. package/renderer/react/index.js +261 -0
  156. package/renderer/types.d.ts +24 -0
  157. package/renderer/types.d.ts.map +1 -0
  158. package/runtime/babel-runtime.d.ts +70 -0
  159. package/runtime/babel-runtime.d.ts.map +1 -0
  160. package/runtime/content-detector.d.ts +43 -0
  161. package/runtime/content-detector.d.ts.map +1 -0
  162. package/runtime/index.d.ts +10 -0
  163. package/runtime/index.d.ts.map +1 -0
  164. package/runtime/index.js +217 -0
  165. package/theme/FrontMcpThemeProvider.d.ts +4 -0
  166. package/theme/FrontMcpThemeProvider.d.ts.map +1 -0
  167. package/theme/create-theme.d.ts +9 -0
  168. package/theme/create-theme.d.ts.map +1 -0
  169. package/theme/index.d.ts +5 -0
  170. package/theme/index.d.ts.map +1 -0
  171. package/theme/index.js +126 -0
  172. package/theme/types.d.ts +28 -0
  173. package/theme/types.d.ts.map +1 -0
  174. package/theme/use-theme.d.ts +3 -0
  175. package/theme/use-theme.d.ts.map +1 -0
  176. package/bundler/browser-components.d.ts +0 -42
  177. package/bundler/browser-components.d.ts.map +0 -1
  178. package/bundler/bundler.d.ts +0 -282
  179. package/bundler/bundler.d.ts.map +0 -1
  180. package/bundler/index.d.ts +0 -43
  181. package/bundler/index.d.ts.map +0 -1
  182. package/bundler/index.js +0 -3168
  183. package/bundler/types.d.ts +0 -883
  184. package/bundler/types.d.ts.map +0 -1
  185. package/components/alert.d.ts +0 -83
  186. package/components/alert.d.ts.map +0 -1
  187. package/components/alert.schema.d.ts +0 -98
  188. package/components/alert.schema.d.ts.map +0 -1
  189. package/components/avatar.d.ts +0 -77
  190. package/components/avatar.d.ts.map +0 -1
  191. package/components/avatar.schema.d.ts +0 -170
  192. package/components/avatar.schema.d.ts.map +0 -1
  193. package/components/badge.d.ts +0 -78
  194. package/components/badge.d.ts.map +0 -1
  195. package/components/badge.schema.d.ts +0 -91
  196. package/components/badge.schema.d.ts.map +0 -1
  197. package/components/button.d.ts +0 -100
  198. package/components/button.d.ts.map +0 -1
  199. package/components/button.schema.d.ts +0 -120
  200. package/components/button.schema.d.ts.map +0 -1
  201. package/components/card.d.ts +0 -76
  202. package/components/card.d.ts.map +0 -1
  203. package/components/card.schema.d.ts +0 -93
  204. package/components/card.schema.d.ts.map +0 -1
  205. package/components/form.d.ts +0 -227
  206. package/components/form.d.ts.map +0 -1
  207. package/components/form.schema.d.ts +0 -365
  208. package/components/form.schema.d.ts.map +0 -1
  209. package/components/list.d.ts +0 -121
  210. package/components/list.d.ts.map +0 -1
  211. package/components/list.schema.d.ts +0 -129
  212. package/components/list.schema.d.ts.map +0 -1
  213. package/components/modal.d.ts +0 -100
  214. package/components/modal.d.ts.map +0 -1
  215. package/components/modal.schema.d.ts +0 -151
  216. package/components/modal.schema.d.ts.map +0 -1
  217. package/components/table.d.ts +0 -91
  218. package/components/table.d.ts.map +0 -1
  219. package/components/table.schema.d.ts +0 -123
  220. package/components/table.schema.d.ts.map +0 -1
  221. package/esm/bundler/index.mjs +0 -3136
  222. package/esm/layouts/index.mjs +0 -409
  223. package/esm/render/index.mjs +0 -45
  224. package/esm/renderers/index.mjs +0 -621
  225. package/esm/universal/index.mjs +0 -1946
  226. package/esm/web-components/index.mjs +0 -2023
  227. package/layouts/base.d.ts +0 -86
  228. package/layouts/base.d.ts.map +0 -1
  229. package/layouts/index.d.ts +0 -8
  230. package/layouts/index.d.ts.map +0 -1
  231. package/layouts/index.js +0 -437
  232. package/layouts/presets.d.ts +0 -134
  233. package/layouts/presets.d.ts.map +0 -1
  234. package/react/Alert.d.ts +0 -101
  235. package/react/Alert.d.ts.map +0 -1
  236. package/react/Badge.d.ts +0 -100
  237. package/react/Badge.d.ts.map +0 -1
  238. package/react/Button.d.ts +0 -108
  239. package/react/Button.d.ts.map +0 -1
  240. package/react/Card.d.ts +0 -103
  241. package/react/Card.d.ts.map +0 -1
  242. package/react/types.d.ts +0 -105
  243. package/react/types.d.ts.map +0 -1
  244. package/render/index.d.ts +0 -8
  245. package/render/index.d.ts.map +0 -1
  246. package/render/prerender.d.ts +0 -57
  247. package/render/prerender.d.ts.map +0 -1
  248. package/renderers/index.d.ts +0 -26
  249. package/renderers/index.d.ts.map +0 -1
  250. package/renderers/index.js +0 -666
  251. package/renderers/mdx.renderer.d.ts +0 -99
  252. package/renderers/mdx.renderer.d.ts.map +0 -1
  253. package/renderers/react.adapter.d.ts +0 -70
  254. package/renderers/react.adapter.d.ts.map +0 -1
  255. package/renderers/react.renderer.d.ts +0 -105
  256. package/renderers/react.renderer.d.ts.map +0 -1
  257. package/renderers/transpiler.d.ts +0 -49
  258. package/renderers/transpiler.d.ts.map +0 -1
  259. package/universal/UniversalApp.d.ts +0 -108
  260. package/universal/UniversalApp.d.ts.map +0 -1
  261. package/universal/cached-runtime.d.ts +0 -139
  262. package/universal/cached-runtime.d.ts.map +0 -1
  263. package/universal/context.d.ts +0 -122
  264. package/universal/context.d.ts.map +0 -1
  265. package/universal/index.d.ts +0 -57
  266. package/universal/index.d.ts.map +0 -1
  267. package/universal/index.js +0 -2032
  268. package/universal/renderers/html.renderer.d.ts +0 -36
  269. package/universal/renderers/html.renderer.d.ts.map +0 -1
  270. package/universal/renderers/index.d.ts +0 -112
  271. package/universal/renderers/index.d.ts.map +0 -1
  272. package/universal/renderers/markdown.renderer.d.ts +0 -33
  273. package/universal/renderers/markdown.renderer.d.ts.map +0 -1
  274. package/universal/renderers/mdx.renderer.d.ts +0 -38
  275. package/universal/renderers/mdx.renderer.d.ts.map +0 -1
  276. package/universal/renderers/react.renderer.d.ts +0 -46
  277. package/universal/renderers/react.renderer.d.ts.map +0 -1
  278. package/universal/runtime-builder.d.ts +0 -33
  279. package/universal/runtime-builder.d.ts.map +0 -1
  280. package/universal/store.d.ts +0 -135
  281. package/universal/store.d.ts.map +0 -1
  282. package/universal/types.d.ts +0 -199
  283. package/universal/types.d.ts.map +0 -1
  284. package/web-components/core/attribute-parser.d.ts +0 -82
  285. package/web-components/core/attribute-parser.d.ts.map +0 -1
  286. package/web-components/core/base-element.d.ts +0 -197
  287. package/web-components/core/base-element.d.ts.map +0 -1
  288. package/web-components/core/index.d.ts +0 -9
  289. package/web-components/core/index.d.ts.map +0 -1
  290. package/web-components/elements/fmcp-alert.d.ts +0 -46
  291. package/web-components/elements/fmcp-alert.d.ts.map +0 -1
  292. package/web-components/elements/fmcp-badge.d.ts +0 -47
  293. package/web-components/elements/fmcp-badge.d.ts.map +0 -1
  294. package/web-components/elements/fmcp-button.d.ts +0 -117
  295. package/web-components/elements/fmcp-button.d.ts.map +0 -1
  296. package/web-components/elements/fmcp-card.d.ts +0 -53
  297. package/web-components/elements/fmcp-card.d.ts.map +0 -1
  298. package/web-components/elements/fmcp-input.d.ts +0 -96
  299. package/web-components/elements/fmcp-input.d.ts.map +0 -1
  300. package/web-components/elements/fmcp-select.d.ts +0 -100
  301. package/web-components/elements/fmcp-select.d.ts.map +0 -1
  302. package/web-components/elements/index.d.ts +0 -13
  303. package/web-components/elements/index.d.ts.map +0 -1
  304. package/web-components/index.d.ts +0 -49
  305. package/web-components/index.d.ts.map +0 -1
  306. package/web-components/index.js +0 -2058
  307. package/web-components/register.d.ts +0 -57
  308. package/web-components/register.d.ts.map +0 -1
  309. package/web-components/types.d.ts +0 -122
  310. package/web-components/types.d.ts.map +0 -1
@@ -1,36 +0,0 @@
1
- /**
2
- * HTML Renderer
3
- *
4
- * Renders raw HTML strings using dangerouslySetInnerHTML.
5
- * Used for pre-rendered or server-side generated HTML content.
6
- */
7
- import type { ClientRenderer } from '../types';
8
- import { sanitizeHtmlContent } from '@frontmcp/uipack/runtime';
9
- /**
10
- * Re-export sanitizeHtmlContent as sanitizeHtml for backward compatibility.
11
- * Uses DOMPurify in browser environments for robust sanitization.
12
- */
13
- export declare const sanitizeHtml: typeof sanitizeHtmlContent;
14
- /**
15
- * HTML renderer implementation.
16
- *
17
- * Renders HTML strings directly to the DOM using dangerouslySetInnerHTML.
18
- * This is the lowest priority renderer (fallback).
19
- *
20
- * @example
21
- * ```tsx
22
- * const content: UniversalContent = {
23
- * type: 'html',
24
- * source: '<div class="card"><h1>Hello</h1></div>',
25
- * };
26
- *
27
- * // Renders: <div class="card"><h1>Hello</h1></div>
28
- * ```
29
- */
30
- export declare const htmlRenderer: ClientRenderer;
31
- /**
32
- * Create a safe HTML renderer that sanitizes content.
33
- * Uses DOMPurify in browser environments for robust protection against XSS.
34
- */
35
- export declare const safeHtmlRenderer: ClientRenderer;
36
- //# sourceMappingURL=html.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.renderer.d.ts","sourceRoot":"","sources":["../../../src/universal/renderers/html.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,YAAY,4BAAsB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,EAAE,cAsB1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAsB9B,CAAC"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Renderer Registry
3
- *
4
- * Central registry for client-side renderers with auto-detection.
5
- * Manages registration and selection of renderers based on content type.
6
- */
7
- import type { ClientRenderer, UniversalContent, RenderContext, ContentType } from '../types';
8
- /**
9
- * Client-side renderer registry.
10
- *
11
- * Manages renderers and provides auto-detection based on content type.
12
- *
13
- * @example
14
- * ```typescript
15
- * const registry = new RendererRegistry();
16
- *
17
- * // Auto-detect and get renderer
18
- * const renderer = registry.detect({ type: 'markdown', source: '# Hello' });
19
- *
20
- * // Register custom renderer
21
- * registry.register(myCustomRenderer);
22
- * ```
23
- */
24
- export declare class RendererRegistry {
25
- private renderers;
26
- private sortedRenderers;
27
- constructor();
28
- /**
29
- * Register a renderer.
30
- * Renderers are sorted by priority (highest first) for auto-detection.
31
- */
32
- register(renderer: ClientRenderer): void;
33
- /**
34
- * Unregister a renderer by type.
35
- */
36
- unregister(type: ContentType): boolean;
37
- /**
38
- * Get a renderer by type.
39
- */
40
- get(type: ContentType): ClientRenderer | undefined;
41
- /**
42
- * Check if a renderer type is registered.
43
- */
44
- has(type: ContentType): boolean;
45
- /**
46
- * Get all registered renderer types.
47
- */
48
- getTypes(): ContentType[];
49
- /**
50
- * Auto-detect the best renderer for content.
51
- *
52
- * Checks renderers in priority order (highest first).
53
- * Falls back to HTML renderer if no match.
54
- */
55
- detect(content: UniversalContent): ClientRenderer;
56
- /**
57
- * Render content using auto-detection.
58
- */
59
- render(content: UniversalContent, context: RenderContext): React.ReactNode;
60
- /**
61
- * Render with a specific renderer type.
62
- */
63
- renderWith(type: ContentType, content: UniversalContent, context: RenderContext): React.ReactNode;
64
- /**
65
- * Get registry statistics.
66
- */
67
- getStats(): {
68
- registeredTypes: ContentType[];
69
- priorityOrder: Array<{
70
- type: ContentType;
71
- priority: number;
72
- }>;
73
- };
74
- /**
75
- * Update the sorted renderer list by priority.
76
- */
77
- private updateSortedList;
78
- }
79
- /**
80
- * Global renderer registry instance.
81
- *
82
- * Pre-configured with HTML, Markdown, React, and MDX renderers.
83
- */
84
- export declare const rendererRegistry: RendererRegistry;
85
- /**
86
- * Detect the best renderer for content.
87
- *
88
- * @param content - Content to analyze
89
- * @returns Best matching renderer
90
- */
91
- export declare function detectRenderer(content: UniversalContent): ClientRenderer;
92
- /**
93
- * Render content with auto-detection.
94
- *
95
- * @param content - Content to render
96
- * @param context - Render context
97
- * @returns Rendered React node
98
- */
99
- export declare function renderContent(content: UniversalContent, context: RenderContext): React.ReactNode;
100
- /**
101
- * Create content object from source with auto-detected type.
102
- *
103
- * @param source - Content source (string or component)
104
- * @param options - Additional options
105
- * @returns Content object
106
- */
107
- export declare function createContent(source: UniversalContent['source'], options?: Partial<Omit<UniversalContent, 'source'>>): UniversalContent;
108
- export { htmlRenderer, safeHtmlRenderer } from './html.renderer';
109
- export { markdownRenderer, createMarkdownRenderer } from './markdown.renderer';
110
- export { reactRenderer, isReactComponent } from './react.renderer';
111
- export { mdxRenderer, isMdxSupported, createMdxRenderer } from './mdx.renderer';
112
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/universal/renderers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAW7F;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,eAAe,CAAwB;;IAU/C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKxC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAQtC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS;IAIlD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAI/B;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc;IAoBjD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC,SAAS;IAK1E;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC,SAAS;IAQjG;;OAEG;IACH,QAAQ,IAAI;QACV,eAAe,EAAE,WAAW,EAAE,CAAC;QAC/B,aAAa,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,WAAW,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/D;IAUD;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAGzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAMvD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC,SAAS,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,GAClD,gBAAgB,CAOlB;AAOD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Markdown Renderer
3
- *
4
- * Renders Markdown content using react-markdown.
5
- * Supports custom components for enhanced rendering.
6
- */
7
- import React from 'react';
8
- import type { ClientRenderer } from '../types';
9
- /**
10
- * Markdown renderer implementation.
11
- *
12
- * Uses react-markdown when available, falls back to minimal inline parser.
13
- *
14
- * @example
15
- * ```tsx
16
- * const content: UniversalContent = {
17
- * type: 'markdown',
18
- * source: '# Hello\n\nThis is **bold** text.',
19
- * components: { a: CustomLink },
20
- * };
21
- *
22
- * // Renders: <h1>Hello</h1><p>This is <strong>bold</strong> text.</p>
23
- * ```
24
- */
25
- export declare const markdownRenderer: ClientRenderer;
26
- /**
27
- * Create a markdown renderer with custom default components.
28
- *
29
- * @param defaultComponents - Default components to use
30
- * @returns Configured markdown renderer
31
- */
32
- export declare function createMarkdownRenderer(defaultComponents: Record<string, React.ComponentType<any>>): ClientRenderer;
33
- //# sourceMappingURL=markdown.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.renderer.d.ts","sourceRoot":"","sources":["../../../src/universal/renderers/markdown.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,UAAU,CAAC;AAqGhF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,cA2D9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAEpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAC1D,cAAc,CAgBhB"}
@@ -1,38 +0,0 @@
1
- /**
2
- * MDX Renderer
3
- *
4
- * Renders MDX content (Markdown + JSX) using @mdx-js/react.
5
- * Supports custom components for enhanced rendering.
6
- */
7
- import React from 'react';
8
- import type { ClientRenderer } from '../types';
9
- /**
10
- * MDX renderer implementation.
11
- *
12
- * Uses @mdx-js/react when available. Falls back to warning when MDX
13
- * cannot be rendered (e.g., on Claude which only supports cdnjs).
14
- *
15
- * @example
16
- * ```tsx
17
- * const content: UniversalContent = {
18
- * type: 'mdx',
19
- * source: '# Hello\n\n<WeatherCard temp={72} />',
20
- * components: { WeatherCard },
21
- * };
22
- * ```
23
- */
24
- export declare const mdxRenderer: ClientRenderer;
25
- /**
26
- * Check if MDX rendering is supported on the current platform.
27
- *
28
- * @returns True if MDX can be rendered
29
- */
30
- export declare function isMdxSupported(): boolean;
31
- /**
32
- * Create an MDX renderer with pre-configured components.
33
- *
34
- * @param defaultComponents - Default components for MDX
35
- * @returns Configured MDX renderer
36
- */
37
- export declare function createMdxRenderer(defaultComponents: Record<string, React.ComponentType<any>>): ClientRenderer;
38
- //# sourceMappingURL=mdx.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.renderer.d.ts","sourceRoot":"","sources":["../../../src/universal/renderers/mdx.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,UAAU,CAAC;AA4ChF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,EAAE,cA+FzB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAE/B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAC1D,cAAc,CAehB"}
@@ -1,46 +0,0 @@
1
- /**
2
- * React Renderer
3
- *
4
- * Renders React components directly.
5
- * Used for pre-compiled or imported React components.
6
- */
7
- import React from 'react';
8
- import type { ClientRenderer } from '../types';
9
- /**
10
- * React renderer implementation.
11
- *
12
- * Renders React components by creating elements with the provided props.
13
- * This is the highest priority renderer when a function is provided.
14
- *
15
- * @example
16
- * ```tsx
17
- * const WeatherCard = ({ output }) => (
18
- * <div className="card">{output.temperature}°F</div>
19
- * );
20
- *
21
- * const content: UniversalContent = {
22
- * type: 'react',
23
- * source: WeatherCard,
24
- * props: { output: { temperature: 72 } },
25
- * };
26
- *
27
- * // Renders: <div class="card">72°F</div>
28
- * ```
29
- */
30
- export declare const reactRenderer: ClientRenderer;
31
- /**
32
- * Check if a value is a React component.
33
- *
34
- * @param value - Value to check
35
- * @returns True if the value is a React component
36
- */
37
- export declare function isReactComponent(value: unknown): boolean;
38
- /**
39
- * Wrap a component with error boundary behavior.
40
- *
41
- * @param Component - Component to wrap
42
- * @param fallback - Fallback to render on error
43
- * @returns Wrapped component
44
- */
45
- export declare function withErrorBoundary(Component: React.ComponentType<any>, fallback?: React.ReactNode): React.ComponentType<any>;
46
- //# sourceMappingURL=react.renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.renderer.d.ts","sourceRoot":"","sources":["../../../src/universal/renderers/react.renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,UAAU,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,cAgC3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA8BxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAE/B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAEzB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAkB1B"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Universal Runtime Builder
3
- *
4
- * Generates inline JavaScript for the universal renderer.
5
- * Used by bundleToStaticHTML to create self-contained HTML documents.
6
- */
7
- import type { UniversalRuntimeOptions, UniversalRuntimeResult } from './types';
8
- /**
9
- * Build the complete universal runtime script.
10
- *
11
- * @param options - Build options
12
- * @returns Runtime result with script and CDN imports
13
- *
14
- * @example
15
- * ```typescript
16
- * const result = buildUniversalRuntime({
17
- * cdnType: 'esm',
18
- * includeMarkdown: true,
19
- * });
20
- *
21
- * // result.script = complete inline runtime
22
- * // result.cdnImports = CDN script tags to include in head
23
- * ```
24
- */
25
- export declare function buildUniversalRuntime(options: UniversalRuntimeOptions): UniversalRuntimeResult;
26
- /**
27
- * Build a minimal runtime (store + basic rendering only).
28
- *
29
- * @param options - Build options
30
- * @returns Minimal runtime script
31
- */
32
- export declare function buildMinimalRuntime(options: Pick<UniversalRuntimeOptions, 'minify'>): string;
33
- //# sourceMappingURL=runtime-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-builder.d.ts","sourceRoot":"","sources":["../../src/universal/runtime-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAmZ/E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAgD9F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAAG,MAAM,CAe5F"}
@@ -1,135 +0,0 @@
1
- /**
2
- * FrontMCP Store
3
- *
4
- * Simple observable store for managing tool context and state.
5
- * Uses React 18's useSyncExternalStore for subscription.
6
- *
7
- * @example
8
- * ```typescript
9
- * // Create store
10
- * const store = createFrontMCPStore();
11
- *
12
- * // Update state
13
- * store.setState({ toolName: 'get_weather', output: { temp: 72 } });
14
- *
15
- * // In React component
16
- * const state = useFrontMCPStore();
17
- * console.log(state.output);
18
- * ```
19
- */
20
- import type { FrontMCPState, FrontMCPStore, UniversalContent } from './types';
21
- /**
22
- * Create a new FrontMCP store instance.
23
- *
24
- * @param initialState - Initial state values
25
- * @returns Store instance with subscription support
26
- */
27
- export declare function createFrontMCPStore(initialState?: Partial<FrontMCPState>): FrontMCPStore;
28
- /**
29
- * Get or create the global store instance.
30
- */
31
- export declare function getGlobalStore(): FrontMCPStore;
32
- /**
33
- * Set the global store instance.
34
- * Used for testing or custom store injection.
35
- */
36
- export declare function setGlobalStore(store: FrontMCPStore): void;
37
- /**
38
- * Reset the global store to a new instance.
39
- */
40
- export declare function resetGlobalStore(initialState?: Partial<FrontMCPState>): void;
41
- /**
42
- * Hook to access the FrontMCP store state.
43
- *
44
- * @param store - Optional store instance (uses global if not provided)
45
- * @returns Current store state
46
- *
47
- * @example
48
- * ```tsx
49
- * function MyWidget() {
50
- * const { output, loading, error } = useFrontMCPStore();
51
- *
52
- * if (loading) return <Spinner />;
53
- * if (error) return <Error message={error} />;
54
- *
55
- * return <div>{output?.message}</div>;
56
- * }
57
- * ```
58
- */
59
- export declare function useFrontMCPStore(store?: FrontMCPStore): FrontMCPState;
60
- /**
61
- * Hook to access the tool output data.
62
- *
63
- * @param store - Optional store instance
64
- * @returns Tool output (typed as T) or null
65
- *
66
- * @example
67
- * ```tsx
68
- * interface WeatherData {
69
- * temperature: number;
70
- * conditions: string;
71
- * }
72
- *
73
- * function Weather() {
74
- * const output = useToolOutput<WeatherData>();
75
- * return <div>{output?.temperature}°F</div>;
76
- * }
77
- * ```
78
- */
79
- export declare function useToolOutput<T = unknown>(store?: FrontMCPStore): T | null;
80
- /**
81
- * Hook to access the tool input arguments.
82
- *
83
- * @param store - Optional store instance
84
- * @returns Tool input or null
85
- */
86
- export declare function useToolInput<T extends Record<string, unknown> = Record<string, unknown>>(store?: FrontMCPStore): T | null;
87
- /**
88
- * Hook to access the content configuration.
89
- *
90
- * @param store - Optional store instance
91
- * @returns Content configuration or null
92
- */
93
- export declare function useContent(store?: FrontMCPStore): UniversalContent | null;
94
- /**
95
- * Hook to access the tool name.
96
- *
97
- * @param store - Optional store instance
98
- * @returns Tool name or null
99
- */
100
- export declare function useToolName(store?: FrontMCPStore): string | null;
101
- /**
102
- * Hook to access loading and error states.
103
- *
104
- * @param store - Optional store instance
105
- * @returns Loading and error state
106
- */
107
- export declare function useLoadingState(store?: FrontMCPStore): {
108
- loading: boolean;
109
- error: string | null;
110
- };
111
- /**
112
- * Initialize store from window.__frontmcp data.
113
- * Used by the inline runtime to hydrate the store.
114
- *
115
- * @param store - Store instance to initialize
116
- */
117
- export declare function initializeStoreFromWindow(store?: FrontMCPStore): void;
118
- /**
119
- * Create a store selector for derived state.
120
- *
121
- * @param selector - Function to select derived state
122
- * @returns Hook that returns the selected state
123
- *
124
- * @example
125
- * ```tsx
126
- * const useTemperature = createStoreSelector((state) => state.output?.temperature);
127
- *
128
- * function Temperature() {
129
- * const temp = useTemperature();
130
- * return <div>{temp}°F</div>;
131
- * }
132
- * ```
133
- */
134
- export declare function createStoreSelector<T>(selector: (state: FrontMCPState) => T): (store?: FrontMCPStore) => T;
135
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/universal/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAO9E;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CA6CxF;AAYD;;GAEG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAK9C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAE5E;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,CAIrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,CAAC,GAAG,IAAI,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtF,KAAK,CAAC,EAAE,aAAa,GACpB,CAAC,GAAG,IAAI,CAGV;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAGzE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAGjG;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAiBrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,KAAK,CAAC,CAK1G"}
@@ -1,199 +0,0 @@
1
- /**
2
- * Universal Renderer Types
3
- *
4
- * Core types for the multi-format client-side rendering system.
5
- * Supports HTML, Markdown, React, and MDX content types with
6
- * auto-detection and custom component injection.
7
- */
8
- /**
9
- * Supported content types for the universal renderer.
10
- *
11
- * - 'html': Raw HTML string (rendered with dangerouslySetInnerHTML)
12
- * - 'markdown': Markdown content (rendered with react-markdown)
13
- * - 'react': React component (rendered directly)
14
- * - 'mdx': MDX content (rendered with @mdx-js/react)
15
- */
16
- export type ContentType = 'html' | 'markdown' | 'react' | 'mdx';
17
- /**
18
- * Content configuration for the universal renderer.
19
- */
20
- export interface UniversalContent {
21
- /** Content type for auto-detection override */
22
- type: ContentType;
23
- /** Source content - string for HTML/Markdown/MDX, component for React */
24
- source: string | React.ComponentType<any>;
25
- /** Props to pass to React/MDX components */
26
- props?: Record<string, unknown>;
27
- /** Custom components available in Markdown/MDX content */
28
- components?: Record<string, React.ComponentType<any>>;
29
- }
30
- /**
31
- * FrontMCP store state shape.
32
- * Provides tool context and loading/error states.
33
- */
34
- export interface FrontMCPState {
35
- /** Tool name from MCP context */
36
- toolName: string | null;
37
- /** Tool input arguments */
38
- input: Record<string, unknown> | null;
39
- /** Tool output data */
40
- output: unknown | null;
41
- /** Content configuration for rendering */
42
- content: UniversalContent | null;
43
- /** Structured content parsed from output */
44
- structuredContent: unknown | null;
45
- /** Whether data is currently loading */
46
- loading: boolean;
47
- /** Error message if loading failed */
48
- error: string | null;
49
- }
50
- /**
51
- * Default initial state for the FrontMCP store.
52
- */
53
- export declare const DEFAULT_FRONTMCP_STATE: FrontMCPState;
54
- /**
55
- * Store interface with subscription support.
56
- */
57
- export interface FrontMCPStore {
58
- /** Get current state snapshot */
59
- getState(): FrontMCPState;
60
- /** Get server-side state (for SSR) */
61
- getServerState(): FrontMCPState;
62
- /** Update state with partial values */
63
- setState(partial: Partial<FrontMCPState>): void;
64
- /** Subscribe to state changes */
65
- subscribe(listener: () => void): () => void;
66
- /** Reset state to initial values */
67
- reset(): void;
68
- }
69
- /**
70
- * Render context passed to client-side renderers.
71
- */
72
- export interface RenderContext {
73
- /** Tool output data */
74
- output: unknown;
75
- /** Tool input data */
76
- input: Record<string, unknown> | null;
77
- /** Custom components available for rendering */
78
- components: Record<string, React.ComponentType<any>>;
79
- /** Full store state */
80
- state: FrontMCPState;
81
- }
82
- /**
83
- * Client-side renderer interface.
84
- * Each renderer handles a specific content type.
85
- */
86
- export interface ClientRenderer {
87
- /** Content type this renderer handles */
88
- readonly type: ContentType;
89
- /** Priority for auto-detection (higher = checked first) */
90
- readonly priority: number;
91
- /**
92
- * Check if this renderer can handle the given content.
93
- */
94
- canHandle(content: UniversalContent): boolean;
95
- /**
96
- * Render the content to React elements.
97
- */
98
- render(content: UniversalContent, context: RenderContext): React.ReactNode;
99
- }
100
- /**
101
- * Props for the UniversalApp component.
102
- */
103
- export interface UniversalAppProps {
104
- /** Content to render (overrides store content) */
105
- content?: UniversalContent;
106
- /** Custom components available for rendering */
107
- components?: Record<string, React.ComponentType<any>>;
108
- /** Loading fallback component */
109
- fallback?: React.ReactNode;
110
- /** Error fallback component */
111
- errorFallback?: React.ComponentType<{
112
- error: string;
113
- }>;
114
- }
115
- /**
116
- * Props for the FrontMCPProvider component.
117
- */
118
- export interface FrontMCPProviderProps {
119
- /** Store instance to provide */
120
- store?: FrontMCPStore;
121
- /** Initial state override */
122
- initialState?: Partial<FrontMCPState>;
123
- /** Children to render (optional when using React.createElement) */
124
- children?: React.ReactNode;
125
- }
126
- /**
127
- * CDN type for runtime script loading.
128
- */
129
- export type CDNType = 'esm' | 'umd';
130
- /**
131
- * Content security options for XSS protection.
132
- */
133
- export interface ContentSecurityOptions {
134
- /**
135
- * Allow unsafe URL schemes (javascript:, data:, vbscript:) in links.
136
- * @default false
137
- */
138
- allowUnsafeLinks?: boolean;
139
- /**
140
- * Allow inline <script> tags and event handlers.
141
- * @default false
142
- */
143
- allowInlineScripts?: boolean;
144
- /**
145
- * Bypass all sanitization (dangerous!).
146
- * @default false
147
- */
148
- bypassSanitization?: boolean;
149
- }
150
- /**
151
- * Options for building the universal runtime script.
152
- */
153
- export interface UniversalRuntimeOptions {
154
- /** CDN type to use for external dependencies */
155
- cdnType: CDNType;
156
- /** Include markdown renderer (react-markdown) */
157
- includeMarkdown?: boolean;
158
- /** Include MDX renderer (@mdx-js/react) */
159
- includeMdx?: boolean;
160
- /** Custom components to include (as inline JavaScript) */
161
- customComponents?: string;
162
- /** Minify the output */
163
- minify?: boolean;
164
- /** Content security / XSS protection options */
165
- contentSecurity?: ContentSecurityOptions;
166
- }
167
- /**
168
- * Result from building the universal runtime.
169
- */
170
- export interface UniversalRuntimeResult {
171
- /** Complete runtime script (including store, renderers, app) */
172
- script: string;
173
- /** CDN imports to include in head */
174
- cdnImports: string;
175
- /** Size of the runtime in bytes */
176
- size: number;
177
- }
178
- /**
179
- * CDN URLs for universal renderer dependencies.
180
- */
181
- export declare const UNIVERSAL_CDN: {
182
- readonly esm: {
183
- readonly reactMarkdown: "https://esm.sh/react-markdown@9";
184
- readonly mdxReact: "https://esm.sh/@mdx-js/react@3";
185
- readonly remarkGfm: "https://esm.sh/remark-gfm@4";
186
- };
187
- };
188
- /**
189
- * Detect content type from source content.
190
- *
191
- * Detection priority:
192
- * 1. React component function -> 'react'
193
- * 2. Module code (import/export) with JSX -> 'react' (needs transpilation)
194
- * 3. Markdown with JSX components -> 'mdx' (render with MDX renderer)
195
- * 4. Pure markdown -> 'markdown'
196
- * 5. Default -> 'html'
197
- */
198
- export declare function detectContentType(source: unknown): ContentType;
199
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/universal/types.ts"],"names":[],"mappings":"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"}