@mui/internal-docs-infra 0.1.0 → 0.1.1-alpha.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.
- package/CodeControllerContext/CodeControllerContext.d.ts +22 -0
- package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
- package/CodeControllerContext/CodeControllerContext.js +14 -0
- package/CodeControllerContext/index.d.ts +1 -0
- package/CodeControllerContext/index.d.ts.map +1 -0
- package/CodeControllerContext/index.js +1 -0
- package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighter.js +321 -0
- package/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterClient.js +399 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterContext.js +14 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
- package/CodeHighlighter/applyTransform.d.ts +19 -0
- package/CodeHighlighter/applyTransform.d.ts.map +1 -0
- package/CodeHighlighter/applyTransform.js +75 -0
- package/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
- package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
- package/CodeHighlighter/codeToFallbackProps.js +70 -0
- package/CodeHighlighter/errors.d.ts +0 -0
- package/CodeHighlighter/errors.d.ts.map +1 -0
- package/CodeHighlighter/errors.js +1 -0
- package/CodeHighlighter/hasAllVariants.d.ts +2 -0
- package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
- package/CodeHighlighter/hasAllVariants.js +31 -0
- package/CodeHighlighter/index.d.ts +4 -0
- package/CodeHighlighter/index.d.ts.map +1 -0
- package/CodeHighlighter/index.js +4 -0
- package/CodeHighlighter/loadFallbackCode.d.ts +9 -0
- package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
- package/CodeHighlighter/loadFallbackCode.js +468 -0
- package/CodeHighlighter/loadVariant.d.ts +11 -0
- package/CodeHighlighter/loadVariant.d.ts.map +1 -0
- package/CodeHighlighter/loadVariant.js +708 -0
- package/CodeHighlighter/maybeInitialData.d.ts +10 -0
- package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
- package/CodeHighlighter/maybeInitialData.js +94 -0
- package/CodeHighlighter/parseCode.d.ts +6 -0
- package/CodeHighlighter/parseCode.d.ts.map +1 -0
- package/CodeHighlighter/parseCode.js +122 -0
- package/CodeHighlighter/parseControlledCode.d.ts +6 -0
- package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
- package/CodeHighlighter/parseControlledCode.js +76 -0
- package/CodeHighlighter/transformCode.d.ts +20 -0
- package/CodeHighlighter/transformCode.d.ts.map +1 -0
- package/CodeHighlighter/transformCode.js +223 -0
- package/CodeHighlighter/transformParsedSource.d.ts +3 -0
- package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
- package/CodeHighlighter/transformParsedSource.js +66 -0
- package/CodeHighlighter/transformSource.d.ts +2 -0
- package/CodeHighlighter/transformSource.d.ts.map +1 -0
- package/CodeHighlighter/transformSource.js +107 -0
- package/CodeHighlighter/types.d.ts +138 -0
- package/CodeHighlighter/types.d.ts.map +1 -0
- package/CodeHighlighter/types.js +1 -0
- package/CodeProvider/CodeContext.d.ts +12 -0
- package/CodeProvider/CodeContext.d.ts.map +1 -0
- package/CodeProvider/CodeContext.js +8 -0
- package/CodeProvider/CodeProvider.d.ts +13 -0
- package/CodeProvider/CodeProvider.d.ts.map +1 -0
- package/CodeProvider/CodeProvider.js +50 -0
- package/CodeProvider/index.d.ts +2 -0
- package/CodeProvider/index.d.ts.map +1 -0
- package/CodeProvider/index.js +2 -0
- package/README.md +3 -1
- package/hast/hast.d.ts +11 -0
- package/hast/hast.d.ts.map +1 -0
- package/hast/hast.js +66 -0
- package/hast/index.d.ts +1 -0
- package/hast/index.d.ts.map +1 -0
- package/hast/index.js +1 -0
- package/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
- package/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/index.js +4 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
- package/loadServerCodeMeta/index.d.ts +1 -0
- package/loadServerCodeMeta/index.d.ts.map +1 -0
- package/loadServerCodeMeta/index.js +1 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
- package/loadServerSource/index.d.ts +1 -0
- package/loadServerSource/index.d.ts.map +1 -0
- package/loadServerSource/index.js +1 -0
- package/loadServerSource/serverLoadSource.d.ts +25 -0
- package/loadServerSource/serverLoadSource.d.ts.map +1 -0
- package/loadServerSource/serverLoadSource.js +100 -0
- package/loaderUtils/getFileNameFromUrl.d.ts +11 -0
- package/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
- package/loaderUtils/getFileNameFromUrl.js +32 -0
- package/loaderUtils/index.d.ts +5 -0
- package/loaderUtils/index.d.ts.map +1 -0
- package/loaderUtils/index.js +5 -0
- package/loaderUtils/processImports.d.ts +19 -0
- package/loaderUtils/processImports.d.ts.map +1 -0
- package/loaderUtils/processImports.js +82 -0
- package/loaderUtils/resolveImports.d.ts +4 -0
- package/loaderUtils/resolveImports.d.ts.map +1 -0
- package/loaderUtils/resolveImports.js +71 -0
- package/loaderUtils/resolveModulePath.d.ts +74 -0
- package/loaderUtils/resolveModulePath.d.ts.map +1 -0
- package/loaderUtils/resolveModulePath.js +862 -0
- package/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
- package/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
- package/loaderUtils/resolveModulePathWithFs.js +159 -0
- package/loaderUtils/rewriteImports.d.ts +9 -0
- package/loaderUtils/rewriteImports.d.ts.map +1 -0
- package/loaderUtils/rewriteImports.js +57 -0
- package/package.json +20 -7
- package/parseSource/grammars.d.ts +2 -0
- package/parseSource/grammars.d.ts.map +1 -0
- package/parseSource/grammars.js +27 -0
- package/parseSource/index.d.ts +1 -0
- package/parseSource/index.d.ts.map +1 -0
- package/parseSource/index.js +1 -0
- package/parseSource/parseSource.d.ts +3 -0
- package/parseSource/parseSource.d.ts.map +1 -0
- package/parseSource/parseSource.js +37 -0
- package/transformRelativeMarkdownPaths/index.d.ts +2 -0
- package/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
- package/transformRelativeMarkdownPaths/index.js +4 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
- package/transformTsToJs/index.d.ts +1 -0
- package/transformTsToJs/index.d.ts.map +1 -0
- package/transformTsToJs/index.js +1 -0
- package/transformTsToJs/removeTypes.d.ts +13 -0
- package/transformTsToJs/removeTypes.d.ts.map +1 -0
- package/transformTsToJs/removeTypes.js +134 -0
- package/transformTsToJs/transformTsToJs.d.ts +3 -0
- package/transformTsToJs/transformTsToJs.d.ts.map +1 -0
- package/transformTsToJs/transformTsToJs.js +34 -0
- package/useCode/index.d.ts +1 -0
- package/useCode/index.d.ts.map +1 -0
- package/useCode/index.js +1 -0
- package/{esm/useDemo/index.d.ts → useCode/useCode.d.ts} +14 -28
- package/useCode/useCode.d.ts.map +1 -0
- package/useCode/useCode.js +393 -0
- package/useCopier/index.js +10 -18
- package/useDemo/index.d.ts +12 -24
- package/useDemo/index.d.ts.map +1 -0
- package/useDemo/index.js +14 -109
- package/useOnHydrate/index.d.ts +1 -0
- package/useOnHydrate/index.d.ts.map +1 -0
- package/useOnHydrate/index.js +1 -0
- package/useOnHydrate/useOnHydrate.d.ts +1 -0
- package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
- package/useOnHydrate/useOnHydrate.js +18 -0
- package/useOnIdle/index.d.ts +1 -0
- package/useOnIdle/index.d.ts.map +1 -0
- package/useOnIdle/index.js +1 -0
- package/useOnIdle/useOnIdle.d.ts +1 -0
- package/useOnIdle/useOnIdle.d.ts.map +1 -0
- package/useOnIdle/useOnIdle.js +39 -0
- package/esm/package.json +0 -1
- package/esm/useCopier/index.d.ts +0 -15
- package/esm/useCopier/index.js +0 -62
- package/esm/useDemo/index.d.ts.map +0 -1
- package/esm/useDemo/index.js +0 -104
- /package/{esm/useCopier → useCopier}/index.d.ts.map +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ControlledCode } from "../CodeHighlighter/types.js";
|
|
3
|
+
export type Selection = {
|
|
4
|
+
variant: string;
|
|
5
|
+
fileName?: string;
|
|
6
|
+
transformKey?: string;
|
|
7
|
+
};
|
|
8
|
+
export interface CodeControllerContext {
|
|
9
|
+
code?: ControlledCode;
|
|
10
|
+
selection?: Selection;
|
|
11
|
+
setCode?: React.Dispatch<React.SetStateAction<ControlledCode | undefined>>;
|
|
12
|
+
setSelection?: React.Dispatch<React.SetStateAction<Selection>>;
|
|
13
|
+
components?: Record<string, React.ReactNode> | undefined;
|
|
14
|
+
}
|
|
15
|
+
export declare const CodeControllerContext: React.Context<CodeControllerContext | undefined>;
|
|
16
|
+
export declare function useControlledCode(): {
|
|
17
|
+
controlledCode: ControlledCode | undefined;
|
|
18
|
+
controlledSelection: Selection | undefined;
|
|
19
|
+
controlledSetCode: React.Dispatch<React.SetStateAction<ControlledCode | undefined>> | undefined;
|
|
20
|
+
controlledSetSelection: React.Dispatch<React.SetStateAction<Selection>> | undefined;
|
|
21
|
+
controlledComponents: Record<string, React.ReactNode> | undefined;
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeControllerContext.d.ts","sourceRoot":"","sources":["../../../src/CodeControllerContext/CodeControllerContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3E,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CAC1D;AAED,eAAO,MAAM,qBAAqB,kDAEjC,CAAC;AAEF,wBAAgB,iBAAiB;;;;;;EAShC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
export var CodeControllerContext = /*#__PURE__*/React.createContext(undefined);
|
|
5
|
+
export function useControlledCode() {
|
|
6
|
+
var context = React.useContext(CodeControllerContext);
|
|
7
|
+
return {
|
|
8
|
+
controlledCode: context == null ? void 0 : context.code,
|
|
9
|
+
controlledSelection: context == null ? void 0 : context.selection,
|
|
10
|
+
controlledSetCode: context == null ? void 0 : context.setCode,
|
|
11
|
+
controlledSetSelection: context == null ? void 0 : context.setSelection,
|
|
12
|
+
controlledComponents: context == null ? void 0 : context.components
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./CodeControllerContext.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/CodeControllerContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./CodeControllerContext.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeHighlighter.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/CodeHighlighter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAkRjB,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA4F1D"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
4
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
5
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
6
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { loadVariant } from "./loadVariant.js";
|
|
9
|
+
import { loadFallbackCode } from "./loadFallbackCode.js";
|
|
10
|
+
import { stringOrHastToJsx } from "../hast/index.js";
|
|
11
|
+
import { CodeHighlighterClient } from "./CodeHighlighterClient.js";
|
|
12
|
+
import { maybeInitialData } from "./maybeInitialData.js";
|
|
13
|
+
import { hasAllVariants } from "./hasAllVariants.js";
|
|
14
|
+
|
|
15
|
+
// Common props shared across helper functions
|
|
16
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
var DEFAULT_HIGHLIGHT_AT = 'stream';
|
|
18
|
+
var DEBUG = false; // Set to true for debugging purposes
|
|
19
|
+
|
|
20
|
+
function HighlightErrorHandler(_ref) {
|
|
21
|
+
var error = _ref.error;
|
|
22
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
23
|
+
children: ["Error: ", error.message]
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function createClientProps(props) {
|
|
27
|
+
var highlightAt = props.highlightAt === 'stream' ? 'init' : props.highlightAt;
|
|
28
|
+
return {
|
|
29
|
+
url: props.url,
|
|
30
|
+
code: props.code,
|
|
31
|
+
precompute: props.precompute,
|
|
32
|
+
components: props.components,
|
|
33
|
+
variants: props.variants,
|
|
34
|
+
variant: props.variant,
|
|
35
|
+
fileName: props.fileName,
|
|
36
|
+
initialVariant: props.initialVariant,
|
|
37
|
+
defaultVariant: props.defaultVariant,
|
|
38
|
+
highlightAt: highlightAt || 'init',
|
|
39
|
+
fallback: props.fallback,
|
|
40
|
+
skipFallback: props.skipFallback,
|
|
41
|
+
controlled: props.controlled,
|
|
42
|
+
name: props.name,
|
|
43
|
+
slug: props.slug,
|
|
44
|
+
description: props.description,
|
|
45
|
+
children: /*#__PURE__*/_jsx(props.Content, {
|
|
46
|
+
code: _typeof(props.precompute) === 'object' ? props.code || props.precompute : props.code,
|
|
47
|
+
components: props.components,
|
|
48
|
+
name: props.name,
|
|
49
|
+
slug: props.slug,
|
|
50
|
+
description: props.description
|
|
51
|
+
})
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function CodeSourceLoader(_x) {
|
|
55
|
+
return _CodeSourceLoader.apply(this, arguments);
|
|
56
|
+
}
|
|
57
|
+
function _CodeSourceLoader() {
|
|
58
|
+
_CodeSourceLoader = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(props) {
|
|
59
|
+
var ErrorHandler, loadedCode, variantNames, variantCodes, processedCode, errors, _iterator, _step, item, clientProps;
|
|
60
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
61
|
+
while (1) switch (_context.prev = _context.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
ErrorHandler = props.ErrorHandler || HighlightErrorHandler; // Start with the loaded code from precompute, or load it if needed
|
|
64
|
+
loadedCode = props.code;
|
|
65
|
+
if (loadedCode) {
|
|
66
|
+
_context.next = 14;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
if (props.loadCodeMeta) {
|
|
70
|
+
_context.next = 5;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
return _context.abrupt("return", /*#__PURE__*/_jsx(ErrorHandler, {
|
|
74
|
+
error: new Error('No code provided and "loadCodeMeta" function is not defined')
|
|
75
|
+
}));
|
|
76
|
+
case 5:
|
|
77
|
+
_context.prev = 5;
|
|
78
|
+
_context.next = 8;
|
|
79
|
+
return props.loadCodeMeta(props.url);
|
|
80
|
+
case 8:
|
|
81
|
+
loadedCode = _context.sent;
|
|
82
|
+
_context.next = 14;
|
|
83
|
+
break;
|
|
84
|
+
case 11:
|
|
85
|
+
_context.prev = 11;
|
|
86
|
+
_context.t0 = _context["catch"](5);
|
|
87
|
+
return _context.abrupt("return", /*#__PURE__*/_jsx(ErrorHandler, {
|
|
88
|
+
error: new Error("Failed to load code from URL: ".concat(props.url, ". Error: ").concat(JSON.stringify(_context.t0)))
|
|
89
|
+
}));
|
|
90
|
+
case 14:
|
|
91
|
+
// TODO: if props.variant is provided, we should only load that variant
|
|
92
|
+
variantNames = Object.keys(props.components || loadedCode || {});
|
|
93
|
+
_context.next = 17;
|
|
94
|
+
return Promise.all(variantNames.map(function (variantName) {
|
|
95
|
+
return loadVariant(props.url, variantName, loadedCode[variantName], props.sourceParser, props.loadSource, props.loadVariantMeta, props.sourceTransformers).then(function (variant) {
|
|
96
|
+
return {
|
|
97
|
+
name: variantName,
|
|
98
|
+
variant: variant
|
|
99
|
+
};
|
|
100
|
+
})["catch"](function (error) {
|
|
101
|
+
return {
|
|
102
|
+
error: error
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
}));
|
|
106
|
+
case 17:
|
|
107
|
+
variantCodes = _context.sent;
|
|
108
|
+
processedCode = {};
|
|
109
|
+
errors = [];
|
|
110
|
+
_iterator = _createForOfIteratorHelper(variantCodes);
|
|
111
|
+
try {
|
|
112
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
113
|
+
item = _step.value;
|
|
114
|
+
if ('error' in item) {
|
|
115
|
+
errors.push(item.error);
|
|
116
|
+
} else {
|
|
117
|
+
processedCode[item.name] = item.variant.code;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
} catch (err) {
|
|
121
|
+
_iterator.e(err);
|
|
122
|
+
} finally {
|
|
123
|
+
_iterator.f();
|
|
124
|
+
}
|
|
125
|
+
if (!(errors.length > 0)) {
|
|
126
|
+
_context.next = 24;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
return _context.abrupt("return", /*#__PURE__*/_jsx(ErrorHandler, {
|
|
130
|
+
error: new Error("Failed loading code: ".concat(errors.map(function (err) {
|
|
131
|
+
return err.message;
|
|
132
|
+
}).join('\n ')))
|
|
133
|
+
}));
|
|
134
|
+
case 24:
|
|
135
|
+
clientProps = createClientProps(_objectSpread(_objectSpread({}, props), {}, {
|
|
136
|
+
code: processedCode
|
|
137
|
+
}));
|
|
138
|
+
return _context.abrupt("return", /*#__PURE__*/_jsx(CodeHighlighterClient, _objectSpread({}, clientProps)));
|
|
139
|
+
case 26:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context.stop();
|
|
142
|
+
}
|
|
143
|
+
}, _callee, null, [[5, 11]]);
|
|
144
|
+
}));
|
|
145
|
+
return _CodeSourceLoader.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
function renderCodeHighlighter(props) {
|
|
148
|
+
var ErrorHandler = props.ErrorHandler || HighlightErrorHandler;
|
|
149
|
+
var code = props.precompute !== true ? props.code || props.precompute : props.code;
|
|
150
|
+
var variants = props.variants || Object.keys(props.components || code || {});
|
|
151
|
+
var allCodeVariantsLoaded = code && hasAllVariants(variants, code, true);
|
|
152
|
+
if (!allCodeVariantsLoaded) {
|
|
153
|
+
if (props.forceClient) {
|
|
154
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
155
|
+
error: new Error('Client only mode requires precomputed source code')
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return /*#__PURE__*/_jsx(CodeSourceLoader, _objectSpread({}, props));
|
|
159
|
+
}
|
|
160
|
+
var clientProps = createClientProps(_objectSpread({}, props));
|
|
161
|
+
return /*#__PURE__*/_jsx(CodeHighlighterClient, _objectSpread({}, clientProps));
|
|
162
|
+
|
|
163
|
+
// TODO: we might not need the client if hydrateAt is 'init' or 'stream' and there is no props.controlled
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Ensures that the suspense boundary is always rendered, even if none of the children have async operations.
|
|
168
|
+
*/
|
|
169
|
+
function CodeHighlighterSuspense(_x2) {
|
|
170
|
+
return _CodeHighlighterSuspense.apply(this, arguments);
|
|
171
|
+
}
|
|
172
|
+
function _CodeHighlighterSuspense() {
|
|
173
|
+
_CodeHighlighterSuspense = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(props) {
|
|
174
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
175
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
176
|
+
case 0:
|
|
177
|
+
return _context2.abrupt("return", props.children);
|
|
178
|
+
case 1:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context2.stop();
|
|
181
|
+
}
|
|
182
|
+
}, _callee2);
|
|
183
|
+
}));
|
|
184
|
+
return _CodeHighlighterSuspense.apply(this, arguments);
|
|
185
|
+
}
|
|
186
|
+
function renderWithInitialSource(props) {
|
|
187
|
+
var fileNames = [props.initialFilename].concat(_toConsumableArray(Object.keys(props.initialExtraFiles || {})));
|
|
188
|
+
var source = stringOrHastToJsx(props.initialSource, props.highlightAt === 'init');
|
|
189
|
+
var ContentLoading = props.ContentLoading;
|
|
190
|
+
var fallback = /*#__PURE__*/_jsx(ContentLoading, {
|
|
191
|
+
fileNames: fileNames,
|
|
192
|
+
source: source
|
|
193
|
+
});
|
|
194
|
+
if (props.forceClient) {
|
|
195
|
+
return renderCodeHighlighter(_objectSpread(_objectSpread({}, props), {}, {
|
|
196
|
+
fallback: fallback
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
return /*#__PURE__*/_jsx(React.Suspense, {
|
|
200
|
+
fallback: fallback,
|
|
201
|
+
children: /*#__PURE__*/_jsx(CodeHighlighterSuspense, {
|
|
202
|
+
children: renderCodeHighlighter(_objectSpread(_objectSpread({}, props), {}, {
|
|
203
|
+
fallback: fallback,
|
|
204
|
+
skipFallback: true
|
|
205
|
+
}))
|
|
206
|
+
})
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function CodeInitialSourceLoader(_x3) {
|
|
210
|
+
return _CodeInitialSourceLoader.apply(this, arguments);
|
|
211
|
+
}
|
|
212
|
+
function _CodeInitialSourceLoader() {
|
|
213
|
+
_CodeInitialSourceLoader = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(props) {
|
|
214
|
+
var ErrorHandler, loaded, code, initialFilename, initialSource, initialExtraFiles;
|
|
215
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
216
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
217
|
+
case 0:
|
|
218
|
+
ErrorHandler = props.ErrorHandler || HighlightErrorHandler;
|
|
219
|
+
_context3.next = 3;
|
|
220
|
+
return loadFallbackCode(props.url, props.initialVariant, props.code, props.highlightAt === 'init', props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants, props.sourceParser, props.loadSource, props.loadVariantMeta, props.loadCodeMeta, props.fileName, props.variants)["catch"](function (error) {
|
|
221
|
+
return {
|
|
222
|
+
error: error
|
|
223
|
+
};
|
|
224
|
+
});
|
|
225
|
+
case 3:
|
|
226
|
+
loaded = _context3.sent;
|
|
227
|
+
if (!('error' in loaded)) {
|
|
228
|
+
_context3.next = 6;
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
return _context3.abrupt("return", /*#__PURE__*/_jsx(ErrorHandler, {
|
|
232
|
+
error: loaded.error
|
|
233
|
+
}));
|
|
234
|
+
case 6:
|
|
235
|
+
code = loaded.code, initialFilename = loaded.initialFilename, initialSource = loaded.initialSource, initialExtraFiles = loaded.initialExtraFiles;
|
|
236
|
+
return _context3.abrupt("return", renderWithInitialSource(_objectSpread(_objectSpread({}, props), {}, {
|
|
237
|
+
code: code,
|
|
238
|
+
initialFilename: initialFilename,
|
|
239
|
+
initialSource: initialSource,
|
|
240
|
+
initialExtraFiles: initialExtraFiles,
|
|
241
|
+
ContentLoading: props.ContentLoading
|
|
242
|
+
})));
|
|
243
|
+
case 8:
|
|
244
|
+
case "end":
|
|
245
|
+
return _context3.stop();
|
|
246
|
+
}
|
|
247
|
+
}, _callee3);
|
|
248
|
+
}));
|
|
249
|
+
return _CodeInitialSourceLoader.apply(this, arguments);
|
|
250
|
+
}
|
|
251
|
+
export function CodeHighlighter(props) {
|
|
252
|
+
var _props$components;
|
|
253
|
+
var ErrorHandler = props.ErrorHandler || HighlightErrorHandler;
|
|
254
|
+
if (props.precompute === true) {
|
|
255
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
256
|
+
error: new Error('Precompute enabled, but not provided')
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
var code = props.precompute || props.code;
|
|
260
|
+
var variants = props.variants || Object.keys(props.components || props.precompute || props.code || {});
|
|
261
|
+
if (variants.length === 0) {
|
|
262
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
263
|
+
error: new Error('No code or components provided')
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
var ContentLoading = props.ContentLoading;
|
|
267
|
+
if (!ContentLoading) {
|
|
268
|
+
if (props.highlightAt === 'stream') {
|
|
269
|
+
// if the user explicitly sets highlightAt to 'stream', we need a ContentLoading component
|
|
270
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
271
|
+
error: new Error('ContentLoading component is required for stream highlighting')
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
return renderCodeHighlighter(_objectSpread({}, props));
|
|
275
|
+
}
|
|
276
|
+
var initialKey = props.initialVariant || props.variant || props.defaultVariant || 'Default';
|
|
277
|
+
var initial = code == null ? void 0 : code[initialKey];
|
|
278
|
+
if (!initial && !((_props$components = props.components) != null && _props$components[initialKey])) {
|
|
279
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
280
|
+
error: new Error("No code or component for variant \"".concat(initialKey, "\""))
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// TODO: use initial.filesOrder to determing which source to use
|
|
285
|
+
var highlightAt = props.highlightAt || DEFAULT_HIGHLIGHT_AT;
|
|
286
|
+
var _maybeInitialData = maybeInitialData(variants, initialKey, code, undefined,
|
|
287
|
+
// TODO: use initial.filesOrder if provided?
|
|
288
|
+
highlightAt === 'init', props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants),
|
|
289
|
+
initialData = _maybeInitialData.initialData,
|
|
290
|
+
reason = _maybeInitialData.reason;
|
|
291
|
+
if (!initialData) {
|
|
292
|
+
if (DEBUG) {
|
|
293
|
+
// eslint-disable-next-line no-console
|
|
294
|
+
console.log('Initial data not found:', reason);
|
|
295
|
+
}
|
|
296
|
+
if (props.forceClient) {
|
|
297
|
+
if (highlightAt === 'init') {
|
|
298
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
299
|
+
error: new Error('Client only mode with highlightAt: init requires precomputed and parsed source code')
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// TODO: send directly to client component?
|
|
304
|
+
return /*#__PURE__*/_jsx(ErrorHandler, {
|
|
305
|
+
error: new Error('Client only mode requires precomputed source code')
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
return /*#__PURE__*/_jsx(CodeInitialSourceLoader, _objectSpread(_objectSpread({}, props), {}, {
|
|
309
|
+
ContentLoading: ContentLoading,
|
|
310
|
+
initialVariant: initialKey
|
|
311
|
+
}));
|
|
312
|
+
}
|
|
313
|
+
return renderWithInitialSource(_objectSpread(_objectSpread({}, props), {}, {
|
|
314
|
+
code: initialData.code,
|
|
315
|
+
ContentLoading: ContentLoading,
|
|
316
|
+
initialVariant: initialKey,
|
|
317
|
+
initialFilename: initialData.initialFilename,
|
|
318
|
+
initialSource: initialData.initialSource,
|
|
319
|
+
initialExtraFiles: initialData.initialExtraFiles
|
|
320
|
+
}));
|
|
321
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeHighlighterClient.d.ts","sourceRoot":"","sources":["../../../src/CodeHighlighter/CodeHighlighterClient.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAQ,0BAA0B,EAAkB,MAAM,SAAS,CAAC;AA6Q3E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,2CAsKtE"}
|