@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.
Files changed (177) hide show
  1. package/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  2. package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
  3. package/CodeControllerContext/CodeControllerContext.js +14 -0
  4. package/CodeControllerContext/index.d.ts +1 -0
  5. package/CodeControllerContext/index.d.ts.map +1 -0
  6. package/CodeControllerContext/index.js +1 -0
  7. package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  8. package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
  9. package/CodeHighlighter/CodeHighlighter.js +321 -0
  10. package/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  11. package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
  12. package/CodeHighlighter/CodeHighlighterClient.js +399 -0
  13. package/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  14. package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
  15. package/CodeHighlighter/CodeHighlighterContext.js +14 -0
  16. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  17. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
  18. package/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
  19. package/CodeHighlighter/applyTransform.d.ts +19 -0
  20. package/CodeHighlighter/applyTransform.d.ts.map +1 -0
  21. package/CodeHighlighter/applyTransform.js +75 -0
  22. package/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  23. package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
  24. package/CodeHighlighter/codeToFallbackProps.js +70 -0
  25. package/CodeHighlighter/errors.d.ts +0 -0
  26. package/CodeHighlighter/errors.d.ts.map +1 -0
  27. package/CodeHighlighter/errors.js +1 -0
  28. package/CodeHighlighter/hasAllVariants.d.ts +2 -0
  29. package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
  30. package/CodeHighlighter/hasAllVariants.js +31 -0
  31. package/CodeHighlighter/index.d.ts +4 -0
  32. package/CodeHighlighter/index.d.ts.map +1 -0
  33. package/CodeHighlighter/index.js +4 -0
  34. package/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  35. package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
  36. package/CodeHighlighter/loadFallbackCode.js +468 -0
  37. package/CodeHighlighter/loadVariant.d.ts +11 -0
  38. package/CodeHighlighter/loadVariant.d.ts.map +1 -0
  39. package/CodeHighlighter/loadVariant.js +708 -0
  40. package/CodeHighlighter/maybeInitialData.d.ts +10 -0
  41. package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
  42. package/CodeHighlighter/maybeInitialData.js +94 -0
  43. package/CodeHighlighter/parseCode.d.ts +6 -0
  44. package/CodeHighlighter/parseCode.d.ts.map +1 -0
  45. package/CodeHighlighter/parseCode.js +122 -0
  46. package/CodeHighlighter/parseControlledCode.d.ts +6 -0
  47. package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
  48. package/CodeHighlighter/parseControlledCode.js +76 -0
  49. package/CodeHighlighter/transformCode.d.ts +20 -0
  50. package/CodeHighlighter/transformCode.d.ts.map +1 -0
  51. package/CodeHighlighter/transformCode.js +223 -0
  52. package/CodeHighlighter/transformParsedSource.d.ts +3 -0
  53. package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
  54. package/CodeHighlighter/transformParsedSource.js +66 -0
  55. package/CodeHighlighter/transformSource.d.ts +2 -0
  56. package/CodeHighlighter/transformSource.d.ts.map +1 -0
  57. package/CodeHighlighter/transformSource.js +107 -0
  58. package/CodeHighlighter/types.d.ts +138 -0
  59. package/CodeHighlighter/types.d.ts.map +1 -0
  60. package/CodeHighlighter/types.js +1 -0
  61. package/CodeProvider/CodeContext.d.ts +12 -0
  62. package/CodeProvider/CodeContext.d.ts.map +1 -0
  63. package/CodeProvider/CodeContext.js +8 -0
  64. package/CodeProvider/CodeProvider.d.ts +13 -0
  65. package/CodeProvider/CodeProvider.d.ts.map +1 -0
  66. package/CodeProvider/CodeProvider.js +50 -0
  67. package/CodeProvider/index.d.ts +2 -0
  68. package/CodeProvider/index.d.ts.map +1 -0
  69. package/CodeProvider/index.js +2 -0
  70. package/README.md +3 -1
  71. package/hast/hast.d.ts +11 -0
  72. package/hast/hast.d.ts.map +1 -0
  73. package/hast/hast.js +66 -0
  74. package/hast/index.d.ts +1 -0
  75. package/hast/index.d.ts.map +1 -0
  76. package/hast/index.js +1 -0
  77. package/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  78. package/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  79. package/loadPrecomputedCodeHighlighter/index.js +4 -0
  80. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  81. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  82. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
  83. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  84. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  85. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
  86. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  87. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  88. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
  89. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  90. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  91. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
  92. package/loadServerCodeMeta/index.d.ts +1 -0
  93. package/loadServerCodeMeta/index.d.ts.map +1 -0
  94. package/loadServerCodeMeta/index.js +1 -0
  95. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  96. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
  97. package/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
  98. package/loadServerSource/index.d.ts +1 -0
  99. package/loadServerSource/index.d.ts.map +1 -0
  100. package/loadServerSource/index.js +1 -0
  101. package/loadServerSource/serverLoadSource.d.ts +25 -0
  102. package/loadServerSource/serverLoadSource.d.ts.map +1 -0
  103. package/loadServerSource/serverLoadSource.js +100 -0
  104. package/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  105. package/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  106. package/loaderUtils/getFileNameFromUrl.js +32 -0
  107. package/loaderUtils/index.d.ts +5 -0
  108. package/loaderUtils/index.d.ts.map +1 -0
  109. package/loaderUtils/index.js +5 -0
  110. package/loaderUtils/processImports.d.ts +19 -0
  111. package/loaderUtils/processImports.d.ts.map +1 -0
  112. package/loaderUtils/processImports.js +82 -0
  113. package/loaderUtils/resolveImports.d.ts +4 -0
  114. package/loaderUtils/resolveImports.d.ts.map +1 -0
  115. package/loaderUtils/resolveImports.js +71 -0
  116. package/loaderUtils/resolveModulePath.d.ts +74 -0
  117. package/loaderUtils/resolveModulePath.d.ts.map +1 -0
  118. package/loaderUtils/resolveModulePath.js +862 -0
  119. package/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  120. package/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  121. package/loaderUtils/resolveModulePathWithFs.js +159 -0
  122. package/loaderUtils/rewriteImports.d.ts +9 -0
  123. package/loaderUtils/rewriteImports.d.ts.map +1 -0
  124. package/loaderUtils/rewriteImports.js +57 -0
  125. package/package.json +20 -7
  126. package/parseSource/grammars.d.ts +2 -0
  127. package/parseSource/grammars.d.ts.map +1 -0
  128. package/parseSource/grammars.js +27 -0
  129. package/parseSource/index.d.ts +1 -0
  130. package/parseSource/index.d.ts.map +1 -0
  131. package/parseSource/index.js +1 -0
  132. package/parseSource/parseSource.d.ts +3 -0
  133. package/parseSource/parseSource.d.ts.map +1 -0
  134. package/parseSource/parseSource.js +37 -0
  135. package/transformRelativeMarkdownPaths/index.d.ts +2 -0
  136. package/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
  137. package/transformRelativeMarkdownPaths/index.js +4 -0
  138. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  139. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
  140. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
  141. package/transformTsToJs/index.d.ts +1 -0
  142. package/transformTsToJs/index.d.ts.map +1 -0
  143. package/transformTsToJs/index.js +1 -0
  144. package/transformTsToJs/removeTypes.d.ts +13 -0
  145. package/transformTsToJs/removeTypes.d.ts.map +1 -0
  146. package/transformTsToJs/removeTypes.js +134 -0
  147. package/transformTsToJs/transformTsToJs.d.ts +3 -0
  148. package/transformTsToJs/transformTsToJs.d.ts.map +1 -0
  149. package/transformTsToJs/transformTsToJs.js +34 -0
  150. package/useCode/index.d.ts +1 -0
  151. package/useCode/index.d.ts.map +1 -0
  152. package/useCode/index.js +1 -0
  153. package/{esm/useDemo/index.d.ts → useCode/useCode.d.ts} +14 -28
  154. package/useCode/useCode.d.ts.map +1 -0
  155. package/useCode/useCode.js +393 -0
  156. package/useCopier/index.js +10 -18
  157. package/useDemo/index.d.ts +12 -24
  158. package/useDemo/index.d.ts.map +1 -0
  159. package/useDemo/index.js +14 -109
  160. package/useOnHydrate/index.d.ts +1 -0
  161. package/useOnHydrate/index.d.ts.map +1 -0
  162. package/useOnHydrate/index.js +1 -0
  163. package/useOnHydrate/useOnHydrate.d.ts +1 -0
  164. package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
  165. package/useOnHydrate/useOnHydrate.js +18 -0
  166. package/useOnIdle/index.d.ts +1 -0
  167. package/useOnIdle/index.d.ts.map +1 -0
  168. package/useOnIdle/index.js +1 -0
  169. package/useOnIdle/useOnIdle.d.ts +1 -0
  170. package/useOnIdle/useOnIdle.d.ts.map +1 -0
  171. package/useOnIdle/useOnIdle.js +39 -0
  172. package/esm/package.json +0 -1
  173. package/esm/useCopier/index.d.ts +0 -15
  174. package/esm/useCopier/index.js +0 -62
  175. package/esm/useDemo/index.d.ts.map +0 -1
  176. package/esm/useDemo/index.js +0 -104
  177. /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,2 @@
1
+ import type { CodeHighlighterProps } from "./types.js";
2
+ export declare function CodeHighlighter(props: CodeHighlighterProps): import("react/jsx-runtime").JSX.Element;
@@ -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,2 @@
1
+ import { CodeHighlighterClientProps } from "./types.js";
2
+ export declare function CodeHighlighterClient(props: CodeHighlighterClientProps): import("react/jsx-runtime").JSX.Element;
@@ -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"}