@frontmcp/ui 0.12.2 → 1.0.0-beta.2
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.
- package/README.md +279 -72
- package/bridge/adapters/claude.adapter.d.ts.map +1 -1
- package/bridge/adapters/gemini.adapter.d.ts.map +1 -1
- package/bridge/index.js +2 -36
- package/components/Alert/Alert.d.ts +11 -0
- package/components/Alert/Alert.d.ts.map +1 -0
- package/components/Alert/index.d.ts +4 -0
- package/components/Alert/index.d.ts.map +1 -0
- package/components/Alert/index.js +61 -0
- package/components/Avatar/Avatar.d.ts +10 -0
- package/components/Avatar/Avatar.d.ts.map +1 -0
- package/components/Avatar/index.d.ts +4 -0
- package/components/Avatar/index.d.ts.map +1 -0
- package/components/Avatar/index.js +43 -0
- package/components/Badge/Badge.d.ts +13 -0
- package/components/Badge/Badge.d.ts.map +1 -0
- package/components/Badge/index.d.ts +4 -0
- package/components/Badge/index.d.ts.map +1 -0
- package/{render → components/Badge}/index.js +54 -42
- package/components/Button/Button.d.ts +16 -0
- package/components/Button/Button.d.ts.map +1 -0
- package/components/Button/index.d.ts +4 -0
- package/components/Button/index.d.ts.map +1 -0
- package/components/Button/index.js +91 -0
- package/components/Card/Card.d.ts +25 -0
- package/components/Card/Card.d.ts.map +1 -0
- package/components/Card/index.d.ts +4 -0
- package/components/Card/index.d.ts.map +1 -0
- package/components/Card/index.js +110 -0
- package/components/List/List.d.ts +15 -0
- package/components/List/List.d.ts.map +1 -0
- package/components/List/index.d.ts +4 -0
- package/components/List/index.d.ts.map +1 -0
- package/components/List/index.js +58 -0
- package/components/Loader/Loader.d.ts +28 -0
- package/components/Loader/Loader.d.ts.map +1 -0
- package/components/Loader/LoaderContext.d.ts +20 -0
- package/components/Loader/LoaderContext.d.ts.map +1 -0
- package/components/Loader/index.d.ts +6 -0
- package/components/Loader/index.d.ts.map +1 -0
- package/components/Loader/index.js +174 -0
- package/components/Modal/Modal.d.ts +22 -0
- package/components/Modal/Modal.d.ts.map +1 -0
- package/components/Modal/index.d.ts +4 -0
- package/components/Modal/index.d.ts.map +1 -0
- package/components/Modal/index.js +80 -0
- package/components/Select/Select.d.ts +21 -0
- package/components/Select/Select.d.ts.map +1 -0
- package/components/Select/index.d.ts +4 -0
- package/components/Select/index.d.ts.map +1 -0
- package/components/Select/index.js +78 -0
- package/components/Table/Table.d.ts +15 -0
- package/components/Table/Table.d.ts.map +1 -0
- package/components/Table/index.d.ts +4 -0
- package/components/Table/index.d.ts.map +1 -0
- package/components/Table/index.js +70 -0
- package/components/TextField/TextField.d.ts +19 -0
- package/components/TextField/TextField.d.ts.map +1 -0
- package/components/TextField/index.d.ts +4 -0
- package/components/TextField/index.d.ts.map +1 -0
- package/components/TextField/index.js +77 -0
- package/components/index.d.ts +22 -28
- package/components/index.d.ts.map +1 -1
- package/components/index.js +523 -2521
- package/esm/bridge/index.mjs +2 -6
- package/esm/components/Alert/index.mjs +28 -0
- package/esm/components/Avatar/index.mjs +10 -0
- package/esm/components/Badge/index.mjs +56 -0
- package/esm/components/Button/index.mjs +58 -0
- package/esm/components/Card/index.mjs +77 -0
- package/esm/components/List/index.mjs +25 -0
- package/esm/components/Loader/index.mjs +141 -0
- package/esm/components/Modal/index.mjs +47 -0
- package/esm/components/Select/index.mjs +45 -0
- package/esm/components/Table/index.mjs +37 -0
- package/esm/components/TextField/index.mjs +44 -0
- package/esm/components/index.mjs +513 -2415
- package/esm/index.mjs +62 -4652
- package/esm/package.json +372 -16
- package/esm/react/index.mjs +2 -285
- package/esm/renderer/charts/index.mjs +336 -0
- package/esm/renderer/common/index.mjs +135 -0
- package/esm/renderer/csv/index.mjs +193 -0
- package/esm/renderer/flow/index.mjs +259 -0
- package/esm/renderer/html/index.mjs +99 -0
- package/esm/renderer/image/index.mjs +125 -0
- package/esm/renderer/index.mjs +2173 -0
- package/esm/renderer/maps/index.mjs +217 -0
- package/esm/renderer/math/index.mjs +229 -0
- package/esm/renderer/mdx/index.mjs +261 -0
- package/esm/renderer/media/index.mjs +235 -0
- package/esm/renderer/mermaid/index.mjs +220 -0
- package/esm/renderer/pdf/index.mjs +229 -0
- package/esm/renderer/react/index.mjs +230 -0
- package/esm/runtime/index.mjs +194 -0
- package/esm/theme/index.mjs +93 -0
- package/index.d.ts +10 -18
- package/index.d.ts.map +1 -1
- package/index.js +63 -4806
- package/package.json +372 -16
- package/react/index.d.ts +8 -54
- package/react/index.d.ts.map +1 -1
- package/react/index.js +2 -295
- package/renderer/auto-detect.d.ts +39 -0
- package/renderer/auto-detect.d.ts.map +1 -0
- package/renderer/charts/index.d.ts +22 -0
- package/renderer/charts/index.d.ts.map +1 -0
- package/renderer/charts/index.js +367 -0
- package/renderer/common/index.d.ts +5 -0
- package/renderer/common/index.d.ts.map +1 -0
- package/renderer/common/index.js +158 -0
- package/renderer/common/inject-stylesheet.d.ts +9 -0
- package/renderer/common/inject-stylesheet.d.ts.map +1 -0
- package/renderer/common/lazy-import.d.ts +85 -0
- package/renderer/common/lazy-import.d.ts.map +1 -0
- package/renderer/common/use-lazy-module.d.ts +13 -0
- package/renderer/common/use-lazy-module.d.ts.map +1 -0
- package/renderer/common/use-renderer-theme.d.ts +35 -0
- package/renderer/common/use-renderer-theme.d.ts.map +1 -0
- package/renderer/csv/index.d.ts +12 -0
- package/renderer/csv/index.d.ts.map +1 -0
- package/renderer/csv/index.js +224 -0
- package/renderer/flow/index.d.ts +40 -0
- package/renderer/flow/index.d.ts.map +1 -0
- package/renderer/flow/index.js +290 -0
- package/renderer/html/index.d.ts +12 -0
- package/renderer/html/index.d.ts.map +1 -0
- package/renderer/html/index.js +130 -0
- package/renderer/image/index.d.ts +11 -0
- package/renderer/image/index.d.ts.map +1 -0
- package/renderer/image/index.js +156 -0
- package/renderer/index.d.ts +32 -0
- package/renderer/index.d.ts.map +1 -0
- package/renderer/index.js +2206 -0
- package/renderer/maps/index.d.ts +27 -0
- package/renderer/maps/index.d.ts.map +1 -0
- package/renderer/maps/index.js +248 -0
- package/renderer/math/index.d.ts +11 -0
- package/renderer/math/index.d.ts.map +1 -0
- package/renderer/math/index.js +260 -0
- package/renderer/mdx/index.d.ts +10 -0
- package/renderer/mdx/index.d.ts.map +1 -0
- package/renderer/mdx/index.js +292 -0
- package/renderer/media/index.d.ts +20 -0
- package/renderer/media/index.d.ts.map +1 -0
- package/renderer/media/index.js +266 -0
- package/renderer/mermaid/index.d.ts +11 -0
- package/renderer/mermaid/index.d.ts.map +1 -0
- package/renderer/mermaid/index.js +251 -0
- package/renderer/pdf/index.d.ts +10 -0
- package/renderer/pdf/index.d.ts.map +1 -0
- package/renderer/pdf/index.js +260 -0
- package/renderer/react/index.d.ts +45 -0
- package/renderer/react/index.d.ts.map +1 -0
- package/renderer/react/index.js +261 -0
- package/renderer/types.d.ts +24 -0
- package/renderer/types.d.ts.map +1 -0
- package/runtime/babel-runtime.d.ts +70 -0
- package/runtime/babel-runtime.d.ts.map +1 -0
- package/runtime/content-detector.d.ts +43 -0
- package/runtime/content-detector.d.ts.map +1 -0
- package/runtime/index.d.ts +10 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +217 -0
- package/theme/FrontMcpThemeProvider.d.ts +4 -0
- package/theme/FrontMcpThemeProvider.d.ts.map +1 -0
- package/theme/create-theme.d.ts +9 -0
- package/theme/create-theme.d.ts.map +1 -0
- package/theme/index.d.ts +5 -0
- package/theme/index.d.ts.map +1 -0
- package/theme/index.js +126 -0
- package/theme/types.d.ts +28 -0
- package/theme/types.d.ts.map +1 -0
- package/theme/use-theme.d.ts +3 -0
- package/theme/use-theme.d.ts.map +1 -0
- package/bundler/browser-components.d.ts +0 -42
- package/bundler/browser-components.d.ts.map +0 -1
- package/bundler/bundler.d.ts +0 -282
- package/bundler/bundler.d.ts.map +0 -1
- package/bundler/index.d.ts +0 -43
- package/bundler/index.d.ts.map +0 -1
- package/bundler/index.js +0 -3168
- package/bundler/types.d.ts +0 -883
- package/bundler/types.d.ts.map +0 -1
- package/components/alert.d.ts +0 -83
- package/components/alert.d.ts.map +0 -1
- package/components/alert.schema.d.ts +0 -98
- package/components/alert.schema.d.ts.map +0 -1
- package/components/avatar.d.ts +0 -77
- package/components/avatar.d.ts.map +0 -1
- package/components/avatar.schema.d.ts +0 -170
- package/components/avatar.schema.d.ts.map +0 -1
- package/components/badge.d.ts +0 -78
- package/components/badge.d.ts.map +0 -1
- package/components/badge.schema.d.ts +0 -91
- package/components/badge.schema.d.ts.map +0 -1
- package/components/button.d.ts +0 -100
- package/components/button.d.ts.map +0 -1
- package/components/button.schema.d.ts +0 -120
- package/components/button.schema.d.ts.map +0 -1
- package/components/card.d.ts +0 -76
- package/components/card.d.ts.map +0 -1
- package/components/card.schema.d.ts +0 -93
- package/components/card.schema.d.ts.map +0 -1
- package/components/form.d.ts +0 -227
- package/components/form.d.ts.map +0 -1
- package/components/form.schema.d.ts +0 -365
- package/components/form.schema.d.ts.map +0 -1
- package/components/list.d.ts +0 -121
- package/components/list.d.ts.map +0 -1
- package/components/list.schema.d.ts +0 -129
- package/components/list.schema.d.ts.map +0 -1
- package/components/modal.d.ts +0 -100
- package/components/modal.d.ts.map +0 -1
- package/components/modal.schema.d.ts +0 -151
- package/components/modal.schema.d.ts.map +0 -1
- package/components/table.d.ts +0 -91
- package/components/table.d.ts.map +0 -1
- package/components/table.schema.d.ts +0 -123
- package/components/table.schema.d.ts.map +0 -1
- package/esm/bundler/index.mjs +0 -3136
- package/esm/layouts/index.mjs +0 -409
- package/esm/render/index.mjs +0 -45
- package/esm/renderers/index.mjs +0 -621
- package/esm/universal/index.mjs +0 -1946
- package/esm/web-components/index.mjs +0 -2023
- package/layouts/base.d.ts +0 -86
- package/layouts/base.d.ts.map +0 -1
- package/layouts/index.d.ts +0 -8
- package/layouts/index.d.ts.map +0 -1
- package/layouts/index.js +0 -437
- package/layouts/presets.d.ts +0 -134
- package/layouts/presets.d.ts.map +0 -1
- package/react/Alert.d.ts +0 -101
- package/react/Alert.d.ts.map +0 -1
- package/react/Badge.d.ts +0 -100
- package/react/Badge.d.ts.map +0 -1
- package/react/Button.d.ts +0 -108
- package/react/Button.d.ts.map +0 -1
- package/react/Card.d.ts +0 -103
- package/react/Card.d.ts.map +0 -1
- package/react/types.d.ts +0 -105
- package/react/types.d.ts.map +0 -1
- package/render/index.d.ts +0 -8
- package/render/index.d.ts.map +0 -1
- package/render/prerender.d.ts +0 -57
- package/render/prerender.d.ts.map +0 -1
- package/renderers/index.d.ts +0 -26
- package/renderers/index.d.ts.map +0 -1
- package/renderers/index.js +0 -666
- package/renderers/mdx.renderer.d.ts +0 -99
- package/renderers/mdx.renderer.d.ts.map +0 -1
- package/renderers/react.adapter.d.ts +0 -70
- package/renderers/react.adapter.d.ts.map +0 -1
- package/renderers/react.renderer.d.ts +0 -105
- package/renderers/react.renderer.d.ts.map +0 -1
- package/renderers/transpiler.d.ts +0 -49
- package/renderers/transpiler.d.ts.map +0 -1
- package/universal/UniversalApp.d.ts +0 -108
- package/universal/UniversalApp.d.ts.map +0 -1
- package/universal/cached-runtime.d.ts +0 -139
- package/universal/cached-runtime.d.ts.map +0 -1
- package/universal/context.d.ts +0 -122
- package/universal/context.d.ts.map +0 -1
- package/universal/index.d.ts +0 -57
- package/universal/index.d.ts.map +0 -1
- package/universal/index.js +0 -2032
- package/universal/renderers/html.renderer.d.ts +0 -36
- package/universal/renderers/html.renderer.d.ts.map +0 -1
- package/universal/renderers/index.d.ts +0 -112
- package/universal/renderers/index.d.ts.map +0 -1
- package/universal/renderers/markdown.renderer.d.ts +0 -33
- package/universal/renderers/markdown.renderer.d.ts.map +0 -1
- package/universal/renderers/mdx.renderer.d.ts +0 -38
- package/universal/renderers/mdx.renderer.d.ts.map +0 -1
- package/universal/renderers/react.renderer.d.ts +0 -46
- package/universal/renderers/react.renderer.d.ts.map +0 -1
- package/universal/runtime-builder.d.ts +0 -33
- package/universal/runtime-builder.d.ts.map +0 -1
- package/universal/store.d.ts +0 -135
- package/universal/store.d.ts.map +0 -1
- package/universal/types.d.ts +0 -199
- package/universal/types.d.ts.map +0 -1
- package/web-components/core/attribute-parser.d.ts +0 -82
- package/web-components/core/attribute-parser.d.ts.map +0 -1
- package/web-components/core/base-element.d.ts +0 -197
- package/web-components/core/base-element.d.ts.map +0 -1
- package/web-components/core/index.d.ts +0 -9
- package/web-components/core/index.d.ts.map +0 -1
- package/web-components/elements/fmcp-alert.d.ts +0 -46
- package/web-components/elements/fmcp-alert.d.ts.map +0 -1
- package/web-components/elements/fmcp-badge.d.ts +0 -47
- package/web-components/elements/fmcp-badge.d.ts.map +0 -1
- package/web-components/elements/fmcp-button.d.ts +0 -117
- package/web-components/elements/fmcp-button.d.ts.map +0 -1
- package/web-components/elements/fmcp-card.d.ts +0 -53
- package/web-components/elements/fmcp-card.d.ts.map +0 -1
- package/web-components/elements/fmcp-input.d.ts +0 -96
- package/web-components/elements/fmcp-input.d.ts.map +0 -1
- package/web-components/elements/fmcp-select.d.ts +0 -100
- package/web-components/elements/fmcp-select.d.ts.map +0 -1
- package/web-components/elements/index.d.ts +0 -13
- package/web-components/elements/index.d.ts.map +0 -1
- package/web-components/index.d.ts +0 -49
- package/web-components/index.d.ts.map +0 -1
- package/web-components/index.js +0 -2058
- package/web-components/register.d.ts +0 -57
- package/web-components/register.d.ts.map +0 -1
- package/web-components/types.d.ts +0 -122
- package/web-components/types.d.ts.map +0 -1
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// libs/ui/src/renderer/mermaid/index.ts
|
|
31
|
+
var mermaid_exports = {};
|
|
32
|
+
__export(mermaid_exports, {
|
|
33
|
+
MermaidRenderer: () => MermaidRenderer,
|
|
34
|
+
isMermaid: () => isMermaid,
|
|
35
|
+
mermaidRenderer: () => mermaidRenderer
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(mermaid_exports);
|
|
38
|
+
var import_react2 = __toESM(require("react"));
|
|
39
|
+
var import_Box = __toESM(require("@mui/material/Box"));
|
|
40
|
+
var import_Alert = __toESM(require("@mui/material/Alert"));
|
|
41
|
+
var import_styles2 = require("@mui/material/styles");
|
|
42
|
+
|
|
43
|
+
// libs/ui/src/renderer/common/lazy-import.ts
|
|
44
|
+
var ESM_SH_BASE = "https://esm.sh/";
|
|
45
|
+
function esmShUrl(pkg, options) {
|
|
46
|
+
let url = `${ESM_SH_BASE}${pkg}`;
|
|
47
|
+
if (options?.external?.length) {
|
|
48
|
+
url += `?external=${options.external.join(",")}`;
|
|
49
|
+
}
|
|
50
|
+
return url;
|
|
51
|
+
}
|
|
52
|
+
function runtimeImport(specifier) {
|
|
53
|
+
const dynamicImport = new Function("s", "return import(s)");
|
|
54
|
+
return dynamicImport(specifier);
|
|
55
|
+
}
|
|
56
|
+
async function runtimeImportWithFallback(bareSpecifier, fallbackUrl) {
|
|
57
|
+
try {
|
|
58
|
+
return await runtimeImport(bareSpecifier);
|
|
59
|
+
} catch {
|
|
60
|
+
return runtimeImport(fallbackUrl);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function createLazyImport(moduleId, importer) {
|
|
64
|
+
let state = { status: "idle" };
|
|
65
|
+
const doImport = importer ?? (async () => {
|
|
66
|
+
const mod = await runtimeImport(moduleId);
|
|
67
|
+
return mod["default"] ?? mod;
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
load() {
|
|
71
|
+
if (state.status === "loaded") return Promise.resolve(state.module);
|
|
72
|
+
if (state.status === "loading") return state.promise;
|
|
73
|
+
if (state.status === "error") {
|
|
74
|
+
state = { status: "idle" };
|
|
75
|
+
}
|
|
76
|
+
const promise = doImport().then(
|
|
77
|
+
(mod) => {
|
|
78
|
+
state = { status: "loaded", module: mod };
|
|
79
|
+
return mod;
|
|
80
|
+
},
|
|
81
|
+
(err) => {
|
|
82
|
+
const error = err instanceof Error ? err : new Error(`Failed to load module "${moduleId}": ${String(err)}`);
|
|
83
|
+
state = { status: "error", error };
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
state = { status: "loading", promise };
|
|
88
|
+
return promise;
|
|
89
|
+
},
|
|
90
|
+
get() {
|
|
91
|
+
return state.status === "loaded" ? state.module : void 0;
|
|
92
|
+
},
|
|
93
|
+
getState() {
|
|
94
|
+
return state;
|
|
95
|
+
},
|
|
96
|
+
reset() {
|
|
97
|
+
state = { status: "idle" };
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// libs/ui/src/renderer/common/use-renderer-theme.ts
|
|
103
|
+
var import_react = require("react");
|
|
104
|
+
var import_styles = require("@mui/material/styles");
|
|
105
|
+
function extractThemeValues(theme) {
|
|
106
|
+
const palette = theme.palette;
|
|
107
|
+
return {
|
|
108
|
+
mode: palette.mode,
|
|
109
|
+
primary: palette.primary.main,
|
|
110
|
+
secondary: palette.secondary.main,
|
|
111
|
+
error: palette.error.main,
|
|
112
|
+
warning: palette.warning.main,
|
|
113
|
+
success: palette.success.main,
|
|
114
|
+
info: palette.info.main,
|
|
115
|
+
background: palette.background.default,
|
|
116
|
+
paper: palette.background.paper,
|
|
117
|
+
textPrimary: palette.text.primary,
|
|
118
|
+
textSecondary: palette.text.secondary,
|
|
119
|
+
divider: palette.divider,
|
|
120
|
+
fontFamily: theme.typography.fontFamily ?? "sans-serif",
|
|
121
|
+
monoFontFamily: theme.typography["monoFontFamily"] ?? '"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace',
|
|
122
|
+
fontSize: theme.typography.fontSize ?? 14,
|
|
123
|
+
borderRadius: typeof theme.shape.borderRadius === "number" ? theme.shape.borderRadius : 4,
|
|
124
|
+
seriesColors: [
|
|
125
|
+
palette.primary.main,
|
|
126
|
+
palette.secondary.main,
|
|
127
|
+
palette.error.main,
|
|
128
|
+
palette.warning.main,
|
|
129
|
+
palette.success.main,
|
|
130
|
+
palette.info.main
|
|
131
|
+
]
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function useRendererTheme() {
|
|
135
|
+
const theme = (0, import_styles.useTheme)();
|
|
136
|
+
return (0, import_react.useMemo)(() => extractThemeValues(theme), [theme]);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// libs/ui/src/renderer/mermaid/index.ts
|
|
140
|
+
var MERMAID_PATTERN = /^\s*(?:graph|sequenceDiagram|classDiagram|stateDiagram|flowchart|erDiagram|gantt|pie|journey|gitGraph)\b/;
|
|
141
|
+
function isMermaid(content) {
|
|
142
|
+
return MERMAID_PATTERN.test(content.trim());
|
|
143
|
+
}
|
|
144
|
+
var lazyMermaid = createLazyImport("mermaid", async () => {
|
|
145
|
+
const mod = await runtimeImportWithFallback("mermaid", esmShUrl("mermaid@11"));
|
|
146
|
+
const mermaid = mod["default"] ?? mod;
|
|
147
|
+
return mermaid;
|
|
148
|
+
});
|
|
149
|
+
var MermaidRoot = (0, import_styles2.styled)(import_Box.default, {
|
|
150
|
+
name: "FrontMcpMermaid",
|
|
151
|
+
slot: "Root"
|
|
152
|
+
})(({ theme }) => ({
|
|
153
|
+
width: "100%",
|
|
154
|
+
display: "flex",
|
|
155
|
+
justifyContent: "center",
|
|
156
|
+
padding: theme.spacing(2),
|
|
157
|
+
"& svg": {
|
|
158
|
+
maxWidth: "100%",
|
|
159
|
+
height: "auto"
|
|
160
|
+
}
|
|
161
|
+
}));
|
|
162
|
+
function getMermaidTheme(tv) {
|
|
163
|
+
return tv.mode === "dark" ? "dark" : "default";
|
|
164
|
+
}
|
|
165
|
+
function getMermaidThemeVariables(tv) {
|
|
166
|
+
return {
|
|
167
|
+
primaryColor: tv.primary,
|
|
168
|
+
secondaryColor: tv.secondary,
|
|
169
|
+
tertiaryColor: tv.info,
|
|
170
|
+
primaryTextColor: tv.textPrimary,
|
|
171
|
+
secondaryTextColor: tv.textSecondary,
|
|
172
|
+
lineColor: tv.divider,
|
|
173
|
+
fontFamily: tv.fontFamily,
|
|
174
|
+
fontSize: `${tv.fontSize}px`
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
function MermaidView({ definition, className }) {
|
|
178
|
+
const containerRef = (0, import_react2.useRef)(null);
|
|
179
|
+
const [svg, setSvg] = (0, import_react2.useState)(null);
|
|
180
|
+
const [error, setError] = (0, import_react2.useState)(null);
|
|
181
|
+
const themeValues = useRendererTheme();
|
|
182
|
+
const uniqueId = (0, import_react2.useId)().replace(/:/g, "-");
|
|
183
|
+
(0, import_react2.useEffect)(() => {
|
|
184
|
+
let cancelled = false;
|
|
185
|
+
async function renderDiagram() {
|
|
186
|
+
try {
|
|
187
|
+
const mermaid = lazyMermaid.get() ?? await lazyMermaid.load();
|
|
188
|
+
mermaid.initialize({
|
|
189
|
+
startOnLoad: false,
|
|
190
|
+
theme: getMermaidTheme(themeValues),
|
|
191
|
+
themeVariables: getMermaidThemeVariables(themeValues),
|
|
192
|
+
securityLevel: "strict"
|
|
193
|
+
});
|
|
194
|
+
const result = await mermaid.render(`mermaid-${uniqueId}`, definition);
|
|
195
|
+
if (!cancelled) {
|
|
196
|
+
setSvg(result.svg);
|
|
197
|
+
setError(null);
|
|
198
|
+
}
|
|
199
|
+
} catch (err) {
|
|
200
|
+
if (!cancelled) {
|
|
201
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
202
|
+
setSvg(null);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
renderDiagram();
|
|
207
|
+
return () => {
|
|
208
|
+
cancelled = true;
|
|
209
|
+
};
|
|
210
|
+
}, [definition, themeValues, uniqueId]);
|
|
211
|
+
if (error) {
|
|
212
|
+
return import_react2.default.createElement(
|
|
213
|
+
import_Box.default,
|
|
214
|
+
{ className },
|
|
215
|
+
import_react2.default.createElement(import_Alert.default, { severity: "error", sx: { mb: 1 } }, `Mermaid parse error: ${error}`),
|
|
216
|
+
import_react2.default.createElement(
|
|
217
|
+
"pre",
|
|
218
|
+
{ style: { fontFamily: "monospace", whiteSpace: "pre-wrap", fontSize: "0.85em" } },
|
|
219
|
+
definition
|
|
220
|
+
)
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
if (!svg) {
|
|
224
|
+
return import_react2.default.createElement(
|
|
225
|
+
MermaidRoot,
|
|
226
|
+
{ className },
|
|
227
|
+
import_react2.default.createElement(import_Box.default, { sx: { color: "text.secondary" } }, "Rendering diagram...")
|
|
228
|
+
);
|
|
229
|
+
}
|
|
230
|
+
return import_react2.default.createElement(MermaidRoot, {
|
|
231
|
+
ref: containerRef,
|
|
232
|
+
className,
|
|
233
|
+
dangerouslySetInnerHTML: { __html: svg }
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
lazyMermaid.load().catch(() => {
|
|
237
|
+
});
|
|
238
|
+
var MermaidRenderer = class {
|
|
239
|
+
type = "mermaid";
|
|
240
|
+
priority = 50;
|
|
241
|
+
canHandle(content) {
|
|
242
|
+
return isMermaid(content);
|
|
243
|
+
}
|
|
244
|
+
render(content, options) {
|
|
245
|
+
return import_react2.default.createElement(MermaidView, {
|
|
246
|
+
definition: content.trim(),
|
|
247
|
+
className: options?.className ?? "fmcp-mermaid-content"
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
var mermaidRenderer = new MermaidRenderer();
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ContentRenderer, RenderOptions } from '../types';
|
|
3
|
+
export declare class PdfRenderer implements ContentRenderer {
|
|
4
|
+
readonly type = "pdf";
|
|
5
|
+
readonly priority = 90;
|
|
6
|
+
canHandle(content: string): boolean;
|
|
7
|
+
render(content: string, options?: RenderOptions): React.ReactElement;
|
|
8
|
+
}
|
|
9
|
+
export declare const pdfRenderer: PdfRenderer;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/pdf/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqL/D,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQnC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY;CAOrE;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// libs/ui/src/renderer/pdf/index.ts
|
|
31
|
+
var pdf_exports = {};
|
|
32
|
+
__export(pdf_exports, {
|
|
33
|
+
PdfRenderer: () => PdfRenderer,
|
|
34
|
+
pdfRenderer: () => pdfRenderer
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(pdf_exports);
|
|
37
|
+
var import_react2 = __toESM(require("react"));
|
|
38
|
+
var import_Box = __toESM(require("@mui/material/Box"));
|
|
39
|
+
var import_IconButton = __toESM(require("@mui/material/IconButton"));
|
|
40
|
+
var import_Typography = __toESM(require("@mui/material/Typography"));
|
|
41
|
+
var import_TextField = __toESM(require("@mui/material/TextField"));
|
|
42
|
+
var import_styles = require("@mui/material/styles");
|
|
43
|
+
|
|
44
|
+
// libs/ui/src/renderer/common/lazy-import.ts
|
|
45
|
+
var ESM_SH_BASE = "https://esm.sh/";
|
|
46
|
+
function esmShUrl(pkg, options) {
|
|
47
|
+
let url = `${ESM_SH_BASE}${pkg}`;
|
|
48
|
+
if (options?.external?.length) {
|
|
49
|
+
url += `?external=${options.external.join(",")}`;
|
|
50
|
+
}
|
|
51
|
+
return url;
|
|
52
|
+
}
|
|
53
|
+
function runtimeImport(specifier) {
|
|
54
|
+
const dynamicImport = new Function("s", "return import(s)");
|
|
55
|
+
return dynamicImport(specifier);
|
|
56
|
+
}
|
|
57
|
+
async function runtimeImportWithFallback(bareSpecifier, fallbackUrl) {
|
|
58
|
+
try {
|
|
59
|
+
return await runtimeImport(bareSpecifier);
|
|
60
|
+
} catch {
|
|
61
|
+
return runtimeImport(fallbackUrl);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function createLazyImport(moduleId, importer) {
|
|
65
|
+
let state = { status: "idle" };
|
|
66
|
+
const doImport = importer ?? (async () => {
|
|
67
|
+
const mod = await runtimeImport(moduleId);
|
|
68
|
+
return mod["default"] ?? mod;
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
load() {
|
|
72
|
+
if (state.status === "loaded") return Promise.resolve(state.module);
|
|
73
|
+
if (state.status === "loading") return state.promise;
|
|
74
|
+
if (state.status === "error") {
|
|
75
|
+
state = { status: "idle" };
|
|
76
|
+
}
|
|
77
|
+
const promise = doImport().then(
|
|
78
|
+
(mod) => {
|
|
79
|
+
state = { status: "loaded", module: mod };
|
|
80
|
+
return mod;
|
|
81
|
+
},
|
|
82
|
+
(err) => {
|
|
83
|
+
const error = err instanceof Error ? err : new Error(`Failed to load module "${moduleId}": ${String(err)}`);
|
|
84
|
+
state = { status: "error", error };
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
state = { status: "loading", promise };
|
|
89
|
+
return promise;
|
|
90
|
+
},
|
|
91
|
+
get() {
|
|
92
|
+
return state.status === "loaded" ? state.module : void 0;
|
|
93
|
+
},
|
|
94
|
+
getState() {
|
|
95
|
+
return state;
|
|
96
|
+
},
|
|
97
|
+
reset() {
|
|
98
|
+
state = { status: "idle" };
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// libs/ui/src/renderer/common/use-lazy-module.ts
|
|
104
|
+
var import_react = require("react");
|
|
105
|
+
function useLazyModule(lazy) {
|
|
106
|
+
const [, forceUpdate] = (0, import_react.useState)(0);
|
|
107
|
+
(0, import_react.useEffect)(() => {
|
|
108
|
+
if (lazy.getState().status === "loaded") {
|
|
109
|
+
forceUpdate((n) => n + 1);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
lazy.load().then(
|
|
113
|
+
() => forceUpdate((n) => n + 1),
|
|
114
|
+
() => forceUpdate((n) => n + 1)
|
|
115
|
+
);
|
|
116
|
+
}, [lazy]);
|
|
117
|
+
return lazy.get();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// libs/ui/src/renderer/pdf/index.ts
|
|
121
|
+
var lazyReactPdf = createLazyImport("react-pdf", async () => {
|
|
122
|
+
const mod = await runtimeImportWithFallback(
|
|
123
|
+
"react-pdf",
|
|
124
|
+
esmShUrl("react-pdf@9", { external: ["react", "react-dom"] })
|
|
125
|
+
);
|
|
126
|
+
const pdfjs = mod["pdfjs"];
|
|
127
|
+
if (pdfjs?.GlobalWorkerOptions) {
|
|
128
|
+
pdfjs.GlobalWorkerOptions.workerSrc = `${ESM_SH_BASE}pdfjs-dist@${pdfjs.version ?? "4"}/build/pdf.worker.min.mjs?raw`;
|
|
129
|
+
}
|
|
130
|
+
return mod;
|
|
131
|
+
});
|
|
132
|
+
function toDataUri(content) {
|
|
133
|
+
if (content.startsWith("data:")) return content;
|
|
134
|
+
if (content.startsWith("%PDF-")) {
|
|
135
|
+
const base64 = typeof btoa === "function" ? btoa(content) : Buffer.from(content).toString("base64");
|
|
136
|
+
return `data:application/pdf;base64,${base64}`;
|
|
137
|
+
}
|
|
138
|
+
return `data:application/pdf;base64,${content}`;
|
|
139
|
+
}
|
|
140
|
+
var PdfRoot = (0, import_styles.styled)(import_Box.default, {
|
|
141
|
+
name: "FrontMcpPdf",
|
|
142
|
+
slot: "Root"
|
|
143
|
+
})(({ theme }) => ({
|
|
144
|
+
width: "100%",
|
|
145
|
+
borderRadius: theme.shape.borderRadius,
|
|
146
|
+
overflow: "hidden",
|
|
147
|
+
border: `1px solid ${theme.palette.divider}`
|
|
148
|
+
}));
|
|
149
|
+
var Toolbar = (0, import_styles.styled)(import_Box.default, {
|
|
150
|
+
name: "FrontMcpPdf",
|
|
151
|
+
slot: "Toolbar"
|
|
152
|
+
})(({ theme }) => ({
|
|
153
|
+
display: "flex",
|
|
154
|
+
alignItems: "center",
|
|
155
|
+
gap: theme.spacing(1),
|
|
156
|
+
padding: theme.spacing(1, 2),
|
|
157
|
+
borderBottom: `1px solid ${theme.palette.divider}`,
|
|
158
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.grey[900] : theme.palette.grey[50]
|
|
159
|
+
}));
|
|
160
|
+
var PageContainer = (0, import_styles.styled)(import_Box.default, {
|
|
161
|
+
name: "FrontMcpPdf",
|
|
162
|
+
slot: "PageContainer"
|
|
163
|
+
})({
|
|
164
|
+
display: "flex",
|
|
165
|
+
justifyContent: "center",
|
|
166
|
+
overflow: "auto",
|
|
167
|
+
maxHeight: 700
|
|
168
|
+
});
|
|
169
|
+
function PdfView({ content, className, title }) {
|
|
170
|
+
const [numPages, setNumPages] = (0, import_react2.useState)(0);
|
|
171
|
+
const [pageNumber, setPageNumber] = (0, import_react2.useState)(1);
|
|
172
|
+
const [scale, setScale] = (0, import_react2.useState)(1);
|
|
173
|
+
const reactPdf = useLazyModule(lazyReactPdf);
|
|
174
|
+
const dataUri = (0, import_react2.useMemo)(() => toDataUri(content), [content]);
|
|
175
|
+
const onDocumentLoadSuccess = (0, import_react2.useCallback)(({ numPages: n }) => {
|
|
176
|
+
setNumPages(n);
|
|
177
|
+
}, []);
|
|
178
|
+
const goToPrev = (0, import_react2.useCallback)(() => setPageNumber((p) => Math.max(1, p - 1)), []);
|
|
179
|
+
const goToNext = (0, import_react2.useCallback)(() => setPageNumber((p) => Math.min(numPages, p + 1)), []);
|
|
180
|
+
const zoomIn = (0, import_react2.useCallback)(() => setScale((s) => Math.min(3, s + 0.25)), []);
|
|
181
|
+
const zoomOut = (0, import_react2.useCallback)(() => setScale((s) => Math.max(0.25, s - 0.25)), []);
|
|
182
|
+
if (!reactPdf) {
|
|
183
|
+
return import_react2.default.createElement("iframe", {
|
|
184
|
+
className: className ?? "fmcp-pdf-content",
|
|
185
|
+
src: dataUri,
|
|
186
|
+
style: { width: "100%", height: "600px", border: "none" },
|
|
187
|
+
title: title ?? "PDF Document"
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
const { Document, Page } = reactPdf;
|
|
191
|
+
return import_react2.default.createElement(
|
|
192
|
+
PdfRoot,
|
|
193
|
+
{ className },
|
|
194
|
+
import_react2.default.createElement(
|
|
195
|
+
Toolbar,
|
|
196
|
+
null,
|
|
197
|
+
import_react2.default.createElement(
|
|
198
|
+
import_IconButton.default,
|
|
199
|
+
{ size: "small", onClick: goToPrev, disabled: pageNumber <= 1, "aria-label": "Previous page" },
|
|
200
|
+
"\u25C0"
|
|
201
|
+
),
|
|
202
|
+
import_react2.default.createElement(
|
|
203
|
+
import_Typography.default,
|
|
204
|
+
{ variant: "body2", sx: { minWidth: 80, textAlign: "center" } },
|
|
205
|
+
`${pageNumber} / ${numPages || "..."}`
|
|
206
|
+
),
|
|
207
|
+
import_react2.default.createElement(
|
|
208
|
+
import_IconButton.default,
|
|
209
|
+
{ size: "small", onClick: goToNext, disabled: pageNumber >= numPages, "aria-label": "Next page" },
|
|
210
|
+
"\u25B6"
|
|
211
|
+
),
|
|
212
|
+
import_react2.default.createElement(import_Box.default, { sx: { flex: 1 } }),
|
|
213
|
+
import_react2.default.createElement(import_IconButton.default, { size: "small", onClick: zoomOut, "aria-label": "Zoom out" }, "\u2212"),
|
|
214
|
+
import_react2.default.createElement(
|
|
215
|
+
import_Typography.default,
|
|
216
|
+
{ variant: "body2", sx: { minWidth: 50, textAlign: "center" } },
|
|
217
|
+
`${Math.round(scale * 100)}%`
|
|
218
|
+
),
|
|
219
|
+
import_react2.default.createElement(import_IconButton.default, { size: "small", onClick: zoomIn, "aria-label": "Zoom in" }, "+"),
|
|
220
|
+
import_react2.default.createElement(import_Box.default, { sx: { flex: 1 } }),
|
|
221
|
+
import_react2.default.createElement(import_TextField.default, {
|
|
222
|
+
size: "small",
|
|
223
|
+
type: "number",
|
|
224
|
+
value: pageNumber,
|
|
225
|
+
onChange: (e) => {
|
|
226
|
+
const n = parseInt(e.target.value, 10);
|
|
227
|
+
if (n >= 1 && n <= numPages) setPageNumber(n);
|
|
228
|
+
},
|
|
229
|
+
sx: { width: 70 },
|
|
230
|
+
slotProps: { htmlInput: { min: 1, max: numPages, "aria-label": "Go to page" } }
|
|
231
|
+
})
|
|
232
|
+
),
|
|
233
|
+
import_react2.default.createElement(
|
|
234
|
+
PageContainer,
|
|
235
|
+
null,
|
|
236
|
+
import_react2.default.createElement(
|
|
237
|
+
Document,
|
|
238
|
+
{ file: dataUri, onLoadSuccess: onDocumentLoadSuccess },
|
|
239
|
+
import_react2.default.createElement(Page, { pageNumber, scale, renderTextLayer: false, renderAnnotationLayer: false })
|
|
240
|
+
)
|
|
241
|
+
)
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
lazyReactPdf.load().catch(() => {
|
|
245
|
+
});
|
|
246
|
+
var PdfRenderer = class {
|
|
247
|
+
type = "pdf";
|
|
248
|
+
priority = 90;
|
|
249
|
+
canHandle(content) {
|
|
250
|
+
return content.startsWith("%PDF-") || content.trim().startsWith("JVBER") || /^data:application\/pdf[;,]/.test(content.trim());
|
|
251
|
+
}
|
|
252
|
+
render(content, options) {
|
|
253
|
+
return import_react2.default.createElement(PdfView, {
|
|
254
|
+
content,
|
|
255
|
+
className: options?.className ?? "fmcp-pdf-content",
|
|
256
|
+
title: options?.toolName ?? "PDF Document"
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
var pdfRenderer = new PdfRenderer();
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ContentRenderer, RenderOptions } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Detect whether content looks like a React/JSX component source.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isReactJsx(content: string): boolean;
|
|
7
|
+
export interface ParsedImport {
|
|
8
|
+
/** Full matched line */
|
|
9
|
+
line: string;
|
|
10
|
+
/** Local binding name (default import) or namespace name */
|
|
11
|
+
localName: string;
|
|
12
|
+
/** Module specifier */
|
|
13
|
+
specifier: string;
|
|
14
|
+
/** Whether it's a named import like { X } */
|
|
15
|
+
named: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extract import statements from source code.
|
|
19
|
+
*
|
|
20
|
+
* Supports:
|
|
21
|
+
* - `import React from 'https://esm.sh/react@19'`
|
|
22
|
+
* - `import { useState } from 'https://esm.sh/react@19'`
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseImports(source: string): ParsedImport[];
|
|
25
|
+
/**
|
|
26
|
+
* Strip import statements from source code.
|
|
27
|
+
*/
|
|
28
|
+
export declare function stripImports(source: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Rewrite `export default X` to `var __default__ = X`.
|
|
31
|
+
* Handles:
|
|
32
|
+
* - `export default MyComp`
|
|
33
|
+
* - `export default function Foo() {`
|
|
34
|
+
* - `export default class Foo {`
|
|
35
|
+
* - `export default () => {`
|
|
36
|
+
*/
|
|
37
|
+
export declare function rewriteExportDefault(source: string): string;
|
|
38
|
+
export declare class ReactJsxRenderer implements ContentRenderer {
|
|
39
|
+
readonly type = "jsx";
|
|
40
|
+
readonly priority = 10;
|
|
41
|
+
canHandle(content: string): boolean;
|
|
42
|
+
render(content: string, options?: RenderOptions): React.ReactElement;
|
|
43
|
+
}
|
|
44
|
+
export declare const reactJsxRenderer: ReactJsxRenderer;
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ/D;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAInD;AAMD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAuB3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW3D;AAuJD,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY;CAMrE;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|