@mui/internal-docs-infra 0.1.1-alpha.0 → 0.1.1-alpha.10
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/{build/CodeControllerContext → CodeControllerContext}/CodeControllerContext.d.ts +1 -1
- package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
- package/CodeControllerContext/index.d.ts.map +1 -0
- package/CodeExternalsContext/CodeExternalsContext.d.ts +8 -0
- package/CodeExternalsContext/CodeExternalsContext.d.ts.map +1 -0
- package/CodeExternalsContext/CodeExternalsContext.js +7 -0
- package/CodeExternalsContext/index.d.ts +1 -0
- package/CodeExternalsContext/index.d.ts.map +1 -0
- package/CodeExternalsContext/index.js +1 -0
- package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighter.js +470 -0
- package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterClient.js +837 -0
- package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterContext.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/CodeHighlighterFallbackContext.js +3 -1
- package/CodeHighlighter/applyTransform.d.ts.map +1 -0
- package/{build/CodeHighlighter → CodeHighlighter}/codeToFallbackProps.d.ts +2 -2
- package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/codeToFallbackProps.js +8 -5
- package/{build/esm/CodeHighlighter → CodeHighlighter}/errors.d.ts.map +1 -1
- package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
- package/CodeHighlighter/index.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/loadFallbackCode.d.ts +3 -2
- package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/loadFallbackCode.js +325 -161
- package/CodeHighlighter/loadVariant.d.ts +12 -0
- package/CodeHighlighter/loadVariant.d.ts.map +1 -0
- package/CodeHighlighter/loadVariant.js +1083 -0
- package/{build/CodeHighlighter → CodeHighlighter}/maybeInitialData.d.ts +1 -1
- package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
- package/CodeHighlighter/parseCode.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/parseCode.js +14 -2
- package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/parseControlledCode.js +12 -1
- package/{build/esm/CodeHighlighter → CodeHighlighter}/transformCode.d.ts +1 -0
- package/CodeHighlighter/transformCode.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/transformCode.js +43 -3
- package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
- package/CodeHighlighter/transformSource.d.ts.map +1 -0
- package/{build/esm/CodeHighlighter → CodeHighlighter}/types.d.ts +39 -17
- package/CodeHighlighter/types.d.ts.map +1 -0
- package/CodeProvider/CodeContext.d.ts.map +1 -0
- package/CodeProvider/CodeProvider.d.ts.map +1 -0
- package/{build/esm/CodeProvider → CodeProvider}/CodeProvider.js +21 -6
- package/CodeProvider/index.d.ts +1 -0
- package/CodeProvider/index.d.ts.map +1 -0
- package/CodeProvider/index.js +1 -0
- package/abstractCreateDemo/abstractCreateDemo.d.ts +35 -0
- package/abstractCreateDemo/abstractCreateDemo.d.ts.map +1 -0
- package/abstractCreateDemo/abstractCreateDemo.js +91 -0
- package/abstractCreateDemo/index.d.ts +1 -0
- package/abstractCreateDemo/index.d.ts.map +1 -0
- package/abstractCreateDemo/index.js +1 -0
- package/createDemoData/createDemoData.d.ts +44 -0
- package/createDemoData/createDemoData.d.ts.map +1 -0
- package/createDemoData/createDemoData.js +75 -0
- package/createDemoData/index.d.ts +1 -0
- package/createDemoData/index.d.ts.map +1 -0
- package/createDemoData/index.js +1 -0
- package/createDemoData/types.d.ts +28 -0
- package/createDemoData/types.d.ts.map +1 -0
- package/createDemoData/types.js +1 -0
- package/package.json +20 -73
- package/pipeline/hastUtils/hastUtils.d.ts.map +1 -0
- package/{build/esm/hast/hast.js → pipeline/hastUtils/hastUtils.js} +2 -1
- package/pipeline/hastUtils/index.d.ts +1 -0
- package/pipeline/hastUtils/index.d.ts.map +1 -0
- package/pipeline/hastUtils/index.js +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts +54 -0
- package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.js +465 -0
- package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts +15 -0
- package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.js +253 -0
- package/pipeline/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +20 -0
- package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
- package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +105 -75
- package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +12 -1
- package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +433 -0
- package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +5 -1
- package/pipeline/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
- package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +1 -1
- package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +25 -0
- package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +73 -0
- package/pipeline/loadServerCodeMeta/index.d.ts +1 -0
- package/pipeline/loadServerCodeMeta/index.d.ts.map +1 -0
- package/pipeline/loadServerCodeMeta/index.js +1 -0
- package/{build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts → pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts} +4 -4
- package/pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts.map +1 -0
- package/{build/esm/loadServerCodeMeta/serverLoadCodeMeta.js → pipeline/loadServerCodeMeta/loadServerCodeMeta.js} +18 -3
- package/pipeline/loadServerSource/index.d.ts +1 -0
- package/pipeline/loadServerSource/index.d.ts.map +1 -0
- package/pipeline/loadServerSource/index.js +1 -0
- package/{build/loadServerSource/serverLoadSource.d.ts → pipeline/loadServerSource/loadServerSource.d.ts} +5 -5
- package/pipeline/loadServerSource/loadServerSource.d.ts.map +1 -0
- package/pipeline/loadServerSource/loadServerSource.js +135 -0
- package/pipeline/loaderUtils/externalsToPackages.d.ts +1 -0
- package/pipeline/loaderUtils/externalsToPackages.d.ts.map +1 -0
- package/pipeline/loaderUtils/externalsToPackages.js +46 -0
- package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts +34 -0
- package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts.map +1 -0
- package/pipeline/loaderUtils/extractNameAndSlugFromUrl.js +161 -0
- package/pipeline/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
- package/pipeline/loaderUtils/index.d.ts +7 -0
- package/pipeline/loaderUtils/index.d.ts.map +1 -0
- package/pipeline/loaderUtils/index.js +7 -0
- package/pipeline/loaderUtils/mergeExternals.d.ts +32 -0
- package/pipeline/loaderUtils/mergeExternals.d.ts.map +1 -0
- package/pipeline/loaderUtils/mergeExternals.js +72 -0
- package/pipeline/loaderUtils/parseImports.d.ts +20 -0
- package/pipeline/loaderUtils/parseImports.d.ts.map +1 -0
- package/pipeline/loaderUtils/parseImports.js +307 -0
- package/{build/esm/loaderUtils/processImports.d.ts → pipeline/loaderUtils/processRelativeImports.d.ts} +2 -2
- package/pipeline/loaderUtils/processRelativeImports.d.ts.map +1 -0
- package/pipeline/loaderUtils/processRelativeImports.js +329 -0
- package/{build/esm → pipeline}/loaderUtils/resolveModulePath.d.ts +19 -6
- package/pipeline/loaderUtils/resolveModulePath.d.ts.map +1 -0
- package/pipeline/loaderUtils/resolveModulePath.js +1449 -0
- package/{build/esm → pipeline}/loaderUtils/resolveModulePathWithFs.d.ts +6 -3
- package/pipeline/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
- package/{build/esm → pipeline}/loaderUtils/resolveModulePathWithFs.js +8 -4
- package/pipeline/loaderUtils/rewriteImports.d.ts +9 -0
- package/pipeline/loaderUtils/rewriteImports.d.ts.map +1 -0
- package/pipeline/loaderUtils/rewriteImports.js +35 -0
- package/pipeline/parseSource/grammars.d.ts.map +1 -0
- package/pipeline/parseSource/index.d.ts.map +1 -0
- package/pipeline/parseSource/parseSource.d.ts +3 -0
- package/pipeline/parseSource/parseSource.d.ts.map +1 -0
- package/{build/esm → pipeline}/parseSource/parseSource.js +15 -5
- package/pipeline/transformHtmlCode/index.d.ts +2 -0
- package/pipeline/transformHtmlCode/index.d.ts.map +1 -0
- package/pipeline/transformHtmlCode/index.js +4 -0
- package/pipeline/transformHtmlCode/transformHtmlCode.d.ts +13 -0
- package/pipeline/transformHtmlCode/transformHtmlCode.d.ts.map +1 -0
- package/pipeline/transformHtmlCode/transformHtmlCode.js +303 -0
- package/pipeline/transformMarkdownCode/index.d.ts +2 -0
- package/pipeline/transformMarkdownCode/index.d.ts.map +1 -0
- package/pipeline/transformMarkdownCode/index.js +4 -0
- package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts +2 -0
- package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts.map +1 -0
- package/pipeline/transformMarkdownCode/transformMarkdownCode.js +514 -0
- package/pipeline/transformTypescriptToJavascript/index.d.ts +1 -0
- package/pipeline/transformTypescriptToJavascript/index.d.ts.map +1 -0
- package/pipeline/transformTypescriptToJavascript/index.js +1 -0
- package/pipeline/transformTypescriptToJavascript/removeTypes.d.ts.map +1 -0
- package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts +3 -0
- package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts.map +1 -0
- package/{build/esm/transformTsToJs/transformTsToJs.js → pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js} +4 -4
- package/useCode/index.d.ts.map +1 -0
- package/{build/useCode → useCode}/useCode.d.ts +13 -11
- package/useCode/useCode.d.ts.map +1 -0
- package/useCode/useCode.js +122 -0
- package/useCode/useCodeUtils.d.ts +45 -0
- package/useCode/useCodeUtils.d.ts.map +1 -0
- package/useCode/useCodeUtils.js +240 -0
- package/useCode/useCopyFunctionality.d.ts +17 -0
- package/useCode/useCopyFunctionality.d.ts.map +1 -0
- package/useCode/useCopyFunctionality.js +28 -0
- package/useCode/useFileNavigation.d.ts +48 -0
- package/useCode/useFileNavigation.d.ts.map +1 -0
- package/useCode/useFileNavigation.js +370 -0
- package/useCode/useSourceEditing.d.ts +19 -0
- package/useCode/useSourceEditing.d.ts.map +1 -0
- package/useCode/useSourceEditing.js +32 -0
- package/useCode/useTransformManagement.d.ts +28 -0
- package/useCode/useTransformManagement.d.ts.map +1 -0
- package/useCode/useTransformManagement.js +82 -0
- package/useCode/useUIState.d.ts +16 -0
- package/useCode/useUIState.d.ts.map +1 -0
- package/useCode/useUIState.js +21 -0
- package/useCode/useVariantSelection.d.ts +21 -0
- package/useCode/useVariantSelection.d.ts.map +1 -0
- package/useCode/useVariantSelection.js +84 -0
- package/{build/esm/useCopier → useCopier}/index.d.ts +1 -1
- package/useCopier/index.d.ts.map +1 -0
- package/{build/esm/useCopier → useCopier}/index.js +5 -5
- package/useDemo/createCodeSandbox.d.ts +18 -0
- package/useDemo/createCodeSandbox.d.ts.map +1 -0
- package/useDemo/createCodeSandbox.js +48 -0
- package/useDemo/createStackBlitz.d.ts +22 -0
- package/useDemo/createStackBlitz.d.ts.map +1 -0
- package/useDemo/createStackBlitz.js +38 -0
- package/useDemo/examineVariant.d.ts +25 -0
- package/useDemo/examineVariant.d.ts.map +1 -0
- package/useDemo/examineVariant.js +134 -0
- package/useDemo/exportVariant.d.ts +110 -0
- package/useDemo/exportVariant.d.ts.map +1 -0
- package/useDemo/exportVariant.js +320 -0
- package/useDemo/exportVariantAsCra.d.ts +15 -0
- package/useDemo/exportVariantAsCra.d.ts.map +1 -0
- package/useDemo/exportVariantAsCra.js +56 -0
- package/useDemo/flattenVariant.d.ts +17 -0
- package/useDemo/flattenVariant.d.ts.map +1 -0
- package/useDemo/flattenVariant.js +206 -0
- package/useDemo/index.d.ts +6 -0
- package/useDemo/index.d.ts.map +1 -0
- package/useDemo/index.js +6 -0
- package/useDemo/useDemo.d.ts +78 -0
- package/useDemo/useDemo.d.ts.map +1 -0
- package/useDemo/useDemo.js +174 -0
- package/useLocalStorageState/index.d.ts +2 -0
- package/useLocalStorageState/index.d.ts.map +1 -0
- package/useLocalStorageState/index.js +2 -0
- package/useLocalStorageState/useLocalStorageState.d.ts +14 -0
- package/useLocalStorageState/useLocalStorageState.d.ts.map +1 -0
- package/useLocalStorageState/useLocalStorageState.js +128 -0
- package/useOnHydrate/index.d.ts.map +1 -0
- package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
- package/useOnIdle/index.d.ts.map +1 -0
- package/useOnIdle/useOnIdle.d.ts.map +1 -0
- package/useUrlHashState/index.d.ts +1 -0
- package/useUrlHashState/index.d.ts.map +1 -0
- package/useUrlHashState/index.js +1 -0
- package/useUrlHashState/useUrlHashState.d.ts +50 -0
- package/useUrlHashState/useUrlHashState.d.ts.map +1 -0
- package/useUrlHashState/useUrlHashState.js +113 -0
- package/build/CodeControllerContext/CodeControllerContext.js +0 -21
- package/build/CodeControllerContext/index.js +0 -16
- package/build/CodeHighlighter/CodeHighlighter.d.ts +0 -2
- package/build/CodeHighlighter/CodeHighlighter.js +0 -329
- package/build/CodeHighlighter/CodeHighlighterClient.js +0 -406
- package/build/CodeHighlighter/CodeHighlighterContext.js +0 -22
- package/build/CodeHighlighter/CodeHighlighterFallbackContext.js +0 -18
- package/build/CodeHighlighter/applyTransform.js +0 -83
- package/build/CodeHighlighter/codeToFallbackProps.js +0 -77
- package/build/CodeHighlighter/errors.js +0 -2
- package/build/CodeHighlighter/hasAllVariants.js +0 -37
- package/build/CodeHighlighter/index.js +0 -49
- package/build/CodeHighlighter/loadFallbackCode.d.ts +0 -9
- package/build/CodeHighlighter/loadFallbackCode.js +0 -474
- package/build/CodeHighlighter/loadVariant.d.ts +0 -11
- package/build/CodeHighlighter/loadVariant.js +0 -715
- package/build/CodeHighlighter/maybeInitialData.js +0 -101
- package/build/CodeHighlighter/parseCode.js +0 -129
- package/build/CodeHighlighter/parseControlledCode.js +0 -83
- package/build/CodeHighlighter/transformCode.d.ts +0 -20
- package/build/CodeHighlighter/transformCode.js +0 -231
- package/build/CodeHighlighter/transformParsedSource.js +0 -73
- package/build/CodeHighlighter/transformSource.js +0 -114
- package/build/CodeHighlighter/types.d.ts +0 -138
- package/build/CodeHighlighter/types.js +0 -5
- package/build/CodeProvider/CodeContext.js +0 -14
- package/build/CodeProvider/CodeProvider.js +0 -57
- package/build/CodeProvider/index.d.ts +0 -2
- package/build/CodeProvider/index.js +0 -27
- package/build/README.md +0 -19
- package/build/esm/CodeControllerContext/CodeControllerContext.d.ts +0 -22
- package/build/esm/CodeControllerContext/CodeControllerContext.d.ts.map +0 -1
- package/build/esm/CodeControllerContext/index.d.ts +0 -1
- package/build/esm/CodeControllerContext/index.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/CodeHighlighter.d.ts +0 -2
- package/build/esm/CodeHighlighter/CodeHighlighter.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/CodeHighlighter.js +0 -321
- package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts +0 -2
- package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/CodeHighlighterClient.js +0 -399
- package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts +0 -14
- package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +0 -7
- package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/applyTransform.d.ts +0 -19
- package/build/esm/CodeHighlighter/applyTransform.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts +0 -2
- package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/errors.d.ts +0 -0
- package/build/esm/CodeHighlighter/hasAllVariants.d.ts +0 -2
- package/build/esm/CodeHighlighter/hasAllVariants.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/index.d.ts +0 -4
- package/build/esm/CodeHighlighter/index.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/loadFallbackCode.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/loadVariant.d.ts +0 -11
- package/build/esm/CodeHighlighter/loadVariant.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/loadVariant.js +0 -708
- package/build/esm/CodeHighlighter/maybeInitialData.d.ts +0 -10
- package/build/esm/CodeHighlighter/maybeInitialData.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/parseCode.d.ts +0 -6
- package/build/esm/CodeHighlighter/parseCode.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/parseControlledCode.d.ts +0 -6
- package/build/esm/CodeHighlighter/parseControlledCode.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/transformCode.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/transformParsedSource.d.ts +0 -3
- package/build/esm/CodeHighlighter/transformParsedSource.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/transformSource.d.ts +0 -2
- package/build/esm/CodeHighlighter/transformSource.d.ts.map +0 -1
- package/build/esm/CodeHighlighter/types.d.ts.map +0 -1
- package/build/esm/CodeProvider/CodeContext.d.ts +0 -12
- package/build/esm/CodeProvider/CodeContext.d.ts.map +0 -1
- package/build/esm/CodeProvider/CodeProvider.d.ts +0 -13
- package/build/esm/CodeProvider/CodeProvider.d.ts.map +0 -1
- package/build/esm/CodeProvider/index.d.ts +0 -2
- package/build/esm/CodeProvider/index.d.ts.map +0 -1
- package/build/esm/CodeProvider/index.js +0 -2
- package/build/esm/hast/hast.d.ts.map +0 -1
- package/build/esm/hast/index.d.ts +0 -1
- package/build/esm/hast/index.d.ts.map +0 -1
- package/build/esm/hast/index.js +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts.map +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
- package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -243
- package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +0 -1
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -37
- package/build/esm/loadServerCodeMeta/index.d.ts +0 -1
- package/build/esm/loadServerCodeMeta/index.d.ts.map +0 -1
- package/build/esm/loadServerCodeMeta/index.js +0 -1
- package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +0 -1
- package/build/esm/loadServerSource/index.d.ts +0 -1
- package/build/esm/loadServerSource/index.d.ts.map +0 -1
- package/build/esm/loadServerSource/index.js +0 -1
- package/build/esm/loadServerSource/serverLoadSource.d.ts +0 -25
- package/build/esm/loadServerSource/serverLoadSource.d.ts.map +0 -1
- package/build/esm/loadServerSource/serverLoadSource.js +0 -100
- package/build/esm/loaderUtils/getFileNameFromUrl.d.ts.map +0 -1
- package/build/esm/loaderUtils/index.d.ts +0 -5
- package/build/esm/loaderUtils/index.d.ts.map +0 -1
- package/build/esm/loaderUtils/index.js +0 -5
- package/build/esm/loaderUtils/processImports.d.ts.map +0 -1
- package/build/esm/loaderUtils/processImports.js +0 -82
- package/build/esm/loaderUtils/resolveImports.d.ts +0 -4
- package/build/esm/loaderUtils/resolveImports.d.ts.map +0 -1
- package/build/esm/loaderUtils/resolveImports.js +0 -71
- package/build/esm/loaderUtils/resolveModulePath.d.ts.map +0 -1
- package/build/esm/loaderUtils/resolveModulePath.js +0 -827
- package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts.map +0 -1
- package/build/esm/loaderUtils/rewriteImports.d.ts +0 -9
- package/build/esm/loaderUtils/rewriteImports.d.ts.map +0 -1
- package/build/esm/loaderUtils/rewriteImports.js +0 -57
- package/build/esm/package.json +0 -1
- package/build/esm/parseSource/grammars.d.ts.map +0 -1
- package/build/esm/parseSource/index.d.ts.map +0 -1
- package/build/esm/parseSource/parseSource.d.ts +0 -3
- package/build/esm/parseSource/parseSource.d.ts.map +0 -1
- package/build/esm/transformRelativeMarkdownPaths/index.d.ts +0 -2
- package/build/esm/transformRelativeMarkdownPaths/index.d.ts.map +0 -1
- package/build/esm/transformRelativeMarkdownPaths/index.js +0 -4
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +0 -1
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -30
- package/build/esm/transformTsToJs/index.d.ts +0 -1
- package/build/esm/transformTsToJs/index.d.ts.map +0 -1
- package/build/esm/transformTsToJs/index.js +0 -1
- package/build/esm/transformTsToJs/removeTypes.d.ts.map +0 -1
- package/build/esm/transformTsToJs/transformTsToJs.d.ts +0 -3
- package/build/esm/transformTsToJs/transformTsToJs.d.ts.map +0 -1
- package/build/esm/useCode/index.d.ts.map +0 -1
- package/build/esm/useCode/useCode.d.ts +0 -37
- package/build/esm/useCode/useCode.d.ts.map +0 -1
- package/build/esm/useCode/useCode.js +0 -393
- package/build/esm/useCopier/index.d.ts.map +0 -1
- package/build/esm/useDemo/index.d.ts +0 -39
- package/build/esm/useDemo/index.d.ts.map +0 -1
- package/build/esm/useDemo/index.js +0 -17
- package/build/esm/useOnHydrate/index.d.ts.map +0 -1
- package/build/esm/useOnHydrate/useOnHydrate.d.ts.map +0 -1
- package/build/esm/useOnIdle/index.d.ts.map +0 -1
- package/build/esm/useOnIdle/useOnIdle.d.ts.map +0 -1
- package/build/hast/hast.d.ts +0 -11
- package/build/hast/hast.js +0 -75
- package/build/hast/index.d.ts +0 -1
- package/build/hast/index.js +0 -16
- package/build/loadPrecomputedCodeHighlighter/index.d.ts +0 -2
- package/build/loadPrecomputedCodeHighlighter/index.js +0 -9
- package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
- package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +0 -201
- package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +0 -20
- package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -248
- package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +0 -15
- package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +0 -174
- package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
- package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -43
- package/build/loadServerCodeMeta/index.d.ts +0 -1
- package/build/loadServerCodeMeta/index.js +0 -16
- package/build/loadServerCodeMeta/serverLoadCodeMeta.d.ts +0 -24
- package/build/loadServerCodeMeta/serverLoadCodeMeta.js +0 -85
- package/build/loadServerSource/index.d.ts +0 -1
- package/build/loadServerSource/index.js +0 -16
- package/build/loadServerSource/serverLoadSource.js +0 -108
- package/build/loaderUtils/getFileNameFromUrl.d.ts +0 -11
- package/build/loaderUtils/getFileNameFromUrl.js +0 -38
- package/build/loaderUtils/index.d.ts +0 -5
- package/build/loaderUtils/index.js +0 -60
- package/build/loaderUtils/processImports.d.ts +0 -19
- package/build/loaderUtils/processImports.js +0 -89
- package/build/loaderUtils/resolveImports.d.ts +0 -4
- package/build/loaderUtils/resolveImports.js +0 -78
- package/build/loaderUtils/resolveModulePath.d.ts +0 -74
- package/build/loaderUtils/resolveModulePath.js +0 -835
- package/build/loaderUtils/resolveModulePathWithFs.d.ts +0 -44
- package/build/loaderUtils/resolveModulePathWithFs.js +0 -163
- package/build/loaderUtils/rewriteImports.d.ts +0 -9
- package/build/loaderUtils/rewriteImports.js +0 -62
- package/build/package.json +0 -101
- package/build/parseSource/grammars.d.ts +0 -2
- package/build/parseSource/grammars.js +0 -34
- package/build/parseSource/index.d.ts +0 -1
- package/build/parseSource/index.js +0 -16
- package/build/parseSource/parseSource.d.ts +0 -3
- package/build/parseSource/parseSource.js +0 -44
- package/build/transformRelativeMarkdownPaths/index.d.ts +0 -2
- package/build/transformRelativeMarkdownPaths/index.js +0 -9
- package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
- package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -36
- package/build/transformTsToJs/index.d.ts +0 -1
- package/build/transformTsToJs/index.js +0 -16
- package/build/transformTsToJs/removeTypes.d.ts +0 -13
- package/build/transformTsToJs/removeTypes.js +0 -141
- package/build/transformTsToJs/transformTsToJs.d.ts +0 -3
- package/build/transformTsToJs/transformTsToJs.js +0 -41
- package/build/useCode/index.d.ts +0 -1
- package/build/useCode/index.js +0 -16
- package/build/useCode/useCode.js +0 -401
- package/build/useCopier/index.d.ts +0 -15
- package/build/useCopier/index.js +0 -70
- package/build/useDemo/index.d.ts +0 -39
- package/build/useDemo/index.js +0 -25
- package/build/useOnHydrate/index.d.ts +0 -1
- package/build/useOnHydrate/index.js +0 -16
- package/build/useOnHydrate/useOnHydrate.d.ts +0 -1
- package/build/useOnHydrate/useOnHydrate.js +0 -26
- package/build/useOnIdle/index.d.ts +0 -1
- package/build/useOnIdle/index.js +0 -16
- package/build/useOnIdle/useOnIdle.d.ts +0 -1
- package/build/useOnIdle/useOnIdle.js +0 -47
- /package/{build/esm/CodeControllerContext → CodeControllerContext}/CodeControllerContext.js +0 -0
- /package/{build/CodeControllerContext → CodeControllerContext}/index.d.ts +0 -0
- /package/{build/esm/CodeControllerContext → CodeControllerContext}/index.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterClient.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/CodeHighlighterContext.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/CodeHighlighterFallbackContext.d.ts +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/applyTransform.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/applyTransform.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/errors.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/errors.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/hasAllVariants.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/hasAllVariants.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/index.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/index.js +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/maybeInitialData.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/parseCode.d.ts +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/parseControlledCode.d.ts +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/transformParsedSource.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/transformParsedSource.js +0 -0
- /package/{build/CodeHighlighter → CodeHighlighter}/transformSource.d.ts +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/transformSource.js +0 -0
- /package/{build/esm/CodeHighlighter → CodeHighlighter}/types.js +0 -0
- /package/{build/CodeProvider → CodeProvider}/CodeContext.d.ts +0 -0
- /package/{build/esm/CodeProvider → CodeProvider}/CodeContext.js +0 -0
- /package/{build/CodeProvider → CodeProvider}/CodeProvider.d.ts +0 -0
- /package/{build/LICENSE → LICENSE} +0 -0
- /package/{build/esm/hast/hast.d.ts → pipeline/hastUtils/hastUtils.d.ts} +0 -0
- /package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/index.d.ts +0 -0
- /package/{build/esm → pipeline}/loadPrecomputedCodeHighlighter/index.js +0 -0
- /package/{build/esm → pipeline}/loaderUtils/getFileNameFromUrl.d.ts +0 -0
- /package/{build/esm → pipeline}/loaderUtils/getFileNameFromUrl.js +0 -0
- /package/{build/esm → pipeline}/parseSource/grammars.d.ts +0 -0
- /package/{build/esm → pipeline}/parseSource/grammars.js +0 -0
- /package/{build/esm → pipeline}/parseSource/index.d.ts +0 -0
- /package/{build/esm → pipeline}/parseSource/index.js +0 -0
- /package/{build/esm/transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.d.ts +0 -0
- /package/{build/esm/transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.js +0 -0
- /package/{build/esm/useCode → useCode}/index.d.ts +0 -0
- /package/{build/esm/useCode → useCode}/index.js +0 -0
- /package/{build/esm/useOnHydrate → useOnHydrate}/index.d.ts +0 -0
- /package/{build/esm/useOnHydrate → useOnHydrate}/index.js +0 -0
- /package/{build/esm/useOnHydrate → useOnHydrate}/useOnHydrate.d.ts +0 -0
- /package/{build/esm/useOnHydrate → useOnHydrate}/useOnHydrate.js +0 -0
- /package/{build/esm/useOnIdle → useOnIdle}/index.d.ts +0 -0
- /package/{build/esm/useOnIdle → useOnIdle}/index.js +0 -0
- /package/{build/esm/useOnIdle → useOnIdle}/useOnIdle.d.ts +0 -0
- /package/{build/esm/useOnIdle → useOnIdle}/useOnIdle.js +0 -0
|
@@ -0,0 +1,837 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
5
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
6
|
+
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
7
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
8
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
import { useCodeContext } from "../CodeProvider/CodeContext.js";
|
|
11
|
+
import { CodeHighlighterContext } from "./CodeHighlighterContext.js";
|
|
12
|
+
import { maybeInitialData } from "./maybeInitialData.js";
|
|
13
|
+
import { loadFallbackCode } from "./loadFallbackCode.js";
|
|
14
|
+
import { hasAllVariants } from "./hasAllVariants.js";
|
|
15
|
+
import { loadVariant } from "./loadVariant.js";
|
|
16
|
+
import { CodeHighlighterFallbackContext } from "./CodeHighlighterFallbackContext.js";
|
|
17
|
+
import { useControlledCode } from "../CodeControllerContext/index.js";
|
|
18
|
+
import { codeToFallbackProps } from "./codeToFallbackProps.js";
|
|
19
|
+
import { parseCode } from "./parseCode.js";
|
|
20
|
+
import { applyTransforms, getAvailableTransforms } from "./transformCode.js";
|
|
21
|
+
import { parseControlledCode } from "./parseControlledCode.js";
|
|
22
|
+
import { useOnHydrate } from "../useOnHydrate/index.js";
|
|
23
|
+
import { useOnIdle } from "../useOnIdle/index.js";
|
|
24
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
|
+
var DEBUG = false; // Set to true for debugging purposes
|
|
26
|
+
|
|
27
|
+
function useInitialData(_ref) {
|
|
28
|
+
var variants = _ref.variants,
|
|
29
|
+
variantName = _ref.variantName,
|
|
30
|
+
code = _ref.code,
|
|
31
|
+
setCode = _ref.setCode,
|
|
32
|
+
fileName = _ref.fileName,
|
|
33
|
+
url = _ref.url,
|
|
34
|
+
highlightAt = _ref.highlightAt,
|
|
35
|
+
fallbackUsesExtraFiles = _ref.fallbackUsesExtraFiles,
|
|
36
|
+
fallbackUsesAllVariants = _ref.fallbackUsesAllVariants,
|
|
37
|
+
isControlled = _ref.isControlled,
|
|
38
|
+
globalsCode = _ref.globalsCode,
|
|
39
|
+
setProcessedGlobalsCode = _ref.setProcessedGlobalsCode;
|
|
40
|
+
var _useCodeContext = useCodeContext(),
|
|
41
|
+
sourceParser = _useCodeContext.sourceParser,
|
|
42
|
+
loadCodeMeta = _useCodeContext.loadCodeMeta,
|
|
43
|
+
loadVariantMeta = _useCodeContext.loadVariantMeta,
|
|
44
|
+
loadSource = _useCodeContext.loadSource;
|
|
45
|
+
var _React$useMemo = React.useMemo(function () {
|
|
46
|
+
return maybeInitialData(variants, variantName, code, fileName, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants);
|
|
47
|
+
}, [variants, variantName, code, fileName, highlightAt, fallbackUsesExtraFiles, fallbackUsesAllVariants]),
|
|
48
|
+
initialData = _React$useMemo.initialData,
|
|
49
|
+
reason = _React$useMemo.reason;
|
|
50
|
+
|
|
51
|
+
// TODO: fallbackInitialRenderOnly option? this would mean we can't fetch fallback data on the client side
|
|
52
|
+
// Load initial data if not provided
|
|
53
|
+
React.useEffect(function () {
|
|
54
|
+
if (initialData || isControlled) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (!url) {
|
|
58
|
+
// TODO: handle error - URL is required for loading fallback data
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// TODO: abort controller
|
|
63
|
+
|
|
64
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
65
|
+
var loaded;
|
|
66
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
67
|
+
while (1) switch (_context.prev = _context.next) {
|
|
68
|
+
case 0:
|
|
69
|
+
if (DEBUG) {
|
|
70
|
+
// eslint-disable-next-line no-console
|
|
71
|
+
console.log('Loading initial data for CodeHighlighterClient: ', reason);
|
|
72
|
+
}
|
|
73
|
+
_context.next = 3;
|
|
74
|
+
return loadFallbackCode(url, variantName, code, highlightAt === 'init', fallbackUsesExtraFiles, fallbackUsesAllVariants, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fileName, variants, globalsCode // Let loadFallbackCode handle processing
|
|
75
|
+
)["catch"](function (error) {
|
|
76
|
+
return {
|
|
77
|
+
error: error
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
case 3:
|
|
81
|
+
loaded = _context.sent;
|
|
82
|
+
if ('error' in loaded) {
|
|
83
|
+
// TODO: handle error
|
|
84
|
+
} else {
|
|
85
|
+
setCode(loaded.code);
|
|
86
|
+
// Store processed globalsCode from loadFallbackCode result
|
|
87
|
+
if (loaded.processedGlobalsCode) {
|
|
88
|
+
setProcessedGlobalsCode(loaded.processedGlobalsCode);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
case 5:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
95
|
+
}, _callee);
|
|
96
|
+
}))();
|
|
97
|
+
}, [initialData, reason, isControlled, variantName, code, setCode, highlightAt, url, sourceParser, loadSource, loadVariantMeta, loadCodeMeta, fallbackUsesExtraFiles, fallbackUsesAllVariants, fileName, variants, globalsCode, setProcessedGlobalsCode]);
|
|
98
|
+
}
|
|
99
|
+
function useAllVariants(_ref3) {
|
|
100
|
+
var readyForContent = _ref3.readyForContent,
|
|
101
|
+
variants = _ref3.variants,
|
|
102
|
+
isControlled = _ref3.isControlled,
|
|
103
|
+
url = _ref3.url,
|
|
104
|
+
code = _ref3.code,
|
|
105
|
+
setCode = _ref3.setCode,
|
|
106
|
+
processedGlobalsCode = _ref3.processedGlobalsCode,
|
|
107
|
+
globalsCode = _ref3.globalsCode,
|
|
108
|
+
setProcessedGlobalsCode = _ref3.setProcessedGlobalsCode;
|
|
109
|
+
var _useCodeContext2 = useCodeContext(),
|
|
110
|
+
loadCodeMeta = _useCodeContext2.loadCodeMeta,
|
|
111
|
+
loadVariantMeta = _useCodeContext2.loadVariantMeta,
|
|
112
|
+
loadSource = _useCodeContext2.loadSource;
|
|
113
|
+
React.useEffect(function () {
|
|
114
|
+
if (readyForContent || isControlled) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (!url) {
|
|
118
|
+
// URL is required for loading variants
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// TODO: abort controller
|
|
123
|
+
|
|
124
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
125
|
+
var loadedCode, globalsCodeObjects, result, resultCode, errors, _iterator, _step, item;
|
|
126
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
127
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
128
|
+
case 0:
|
|
129
|
+
loadedCode = code;
|
|
130
|
+
if (loadedCode) {
|
|
131
|
+
_context3.next = 7;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
if (loadCodeMeta) {
|
|
135
|
+
_context3.next = 4;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
throw new Error('"loadCodeMeta" function is required when no code is provided');
|
|
139
|
+
case 4:
|
|
140
|
+
_context3.next = 6;
|
|
141
|
+
return loadCodeMeta(url);
|
|
142
|
+
case 6:
|
|
143
|
+
loadedCode = _context3.sent;
|
|
144
|
+
case 7:
|
|
145
|
+
// Use the already-processed globalsCode from state, or process it if not available
|
|
146
|
+
globalsCodeObjects = [];
|
|
147
|
+
if (!processedGlobalsCode) {
|
|
148
|
+
_context3.next = 12;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
// Use the already-processed globalsCode from state
|
|
152
|
+
globalsCodeObjects = processedGlobalsCode;
|
|
153
|
+
_context3.next = 17;
|
|
154
|
+
break;
|
|
155
|
+
case 12:
|
|
156
|
+
if (!(globalsCode && globalsCode.length > 0)) {
|
|
157
|
+
_context3.next = 17;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
_context3.next = 15;
|
|
161
|
+
return Promise.all(globalsCode.map(/*#__PURE__*/function () {
|
|
162
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(item) {
|
|
163
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
164
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
165
|
+
case 0:
|
|
166
|
+
if (!(typeof item === 'string')) {
|
|
167
|
+
_context2.next = 4;
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
if (loadCodeMeta) {
|
|
171
|
+
_context2.next = 3;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
throw new Error('"loadCodeMeta" function is required for string URLs in globalsCode');
|
|
175
|
+
case 3:
|
|
176
|
+
return _context2.abrupt("return", loadCodeMeta(item));
|
|
177
|
+
case 4:
|
|
178
|
+
return _context2.abrupt("return", item);
|
|
179
|
+
case 5:
|
|
180
|
+
case "end":
|
|
181
|
+
return _context2.stop();
|
|
182
|
+
}
|
|
183
|
+
}, _callee2);
|
|
184
|
+
}));
|
|
185
|
+
return function (_x) {
|
|
186
|
+
return _ref5.apply(this, arguments);
|
|
187
|
+
};
|
|
188
|
+
}()));
|
|
189
|
+
case 15:
|
|
190
|
+
globalsCodeObjects = _context3.sent;
|
|
191
|
+
// Store processed globalsCode in state for future use
|
|
192
|
+
setProcessedGlobalsCode(globalsCodeObjects);
|
|
193
|
+
case 17:
|
|
194
|
+
_context3.next = 19;
|
|
195
|
+
return Promise.all(variants.map(function (name) {
|
|
196
|
+
// Resolve globalsCode for this specific variant
|
|
197
|
+
var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
|
|
198
|
+
// Only include if this variant exists in the globalsCode
|
|
199
|
+
return codeObj[name];
|
|
200
|
+
}).filter(function (item) {
|
|
201
|
+
return Boolean(item);
|
|
202
|
+
});
|
|
203
|
+
return loadVariant(url, name, loadedCode[name], undefined,
|
|
204
|
+
// sourceParser - skip parsing
|
|
205
|
+
loadSource, loadVariantMeta, undefined,
|
|
206
|
+
// sourceTransformers - skip transforming
|
|
207
|
+
{
|
|
208
|
+
disableParsing: true,
|
|
209
|
+
disableTransforms: true,
|
|
210
|
+
globalsCode: globalsForVariant
|
|
211
|
+
}).then(function (variant) {
|
|
212
|
+
return {
|
|
213
|
+
name: name,
|
|
214
|
+
variant: variant
|
|
215
|
+
};
|
|
216
|
+
})["catch"](function (error) {
|
|
217
|
+
return {
|
|
218
|
+
error: error
|
|
219
|
+
};
|
|
220
|
+
});
|
|
221
|
+
}));
|
|
222
|
+
case 19:
|
|
223
|
+
result = _context3.sent;
|
|
224
|
+
resultCode = {};
|
|
225
|
+
errors = [];
|
|
226
|
+
_iterator = _createForOfIteratorHelper(result);
|
|
227
|
+
try {
|
|
228
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
229
|
+
item = _step.value;
|
|
230
|
+
if ('error' in item) {
|
|
231
|
+
errors.push(item.error);
|
|
232
|
+
} else {
|
|
233
|
+
resultCode[item.name] = item.variant.code;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
} catch (err) {
|
|
237
|
+
_iterator.e(err);
|
|
238
|
+
} finally {
|
|
239
|
+
_iterator.f();
|
|
240
|
+
}
|
|
241
|
+
if (errors.length > 0) {
|
|
242
|
+
// TODO: handle error
|
|
243
|
+
} else {
|
|
244
|
+
setCode(resultCode);
|
|
245
|
+
}
|
|
246
|
+
case 25:
|
|
247
|
+
case "end":
|
|
248
|
+
return _context3.stop();
|
|
249
|
+
}
|
|
250
|
+
}, _callee3);
|
|
251
|
+
}))();
|
|
252
|
+
}, [readyForContent, isControlled, variants, url, code, setCode, loadSource, loadVariantMeta, loadCodeMeta, processedGlobalsCode, globalsCode, setProcessedGlobalsCode]);
|
|
253
|
+
return {
|
|
254
|
+
readyForContent: readyForContent
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
function useCodeParsing(_ref6) {
|
|
258
|
+
var code = _ref6.code,
|
|
259
|
+
readyForContent = _ref6.readyForContent,
|
|
260
|
+
highlightAt = _ref6.highlightAt;
|
|
261
|
+
var _useCodeContext3 = useCodeContext(),
|
|
262
|
+
parseSource = _useCodeContext3.parseSource;
|
|
263
|
+
|
|
264
|
+
// Use timing hooks to determine when to highlight
|
|
265
|
+
var isHydrated = useOnHydrate();
|
|
266
|
+
var isIdle = useOnIdle();
|
|
267
|
+
|
|
268
|
+
// Determine if we should highlight based on the highlightAt setting
|
|
269
|
+
var shouldHighlight = React.useMemo(function () {
|
|
270
|
+
if (!readyForContent) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
switch (highlightAt) {
|
|
274
|
+
case 'hydration':
|
|
275
|
+
return isHydrated;
|
|
276
|
+
case 'idle':
|
|
277
|
+
return isIdle;
|
|
278
|
+
case 'init':
|
|
279
|
+
default:
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
}, [readyForContent, highlightAt, isHydrated, isIdle]);
|
|
283
|
+
|
|
284
|
+
// Parse the internal code state when ready and timing conditions are met
|
|
285
|
+
var parsedCode = React.useMemo(function () {
|
|
286
|
+
if (!code || !shouldHighlight || !parseSource) {
|
|
287
|
+
return undefined;
|
|
288
|
+
}
|
|
289
|
+
return parseCode(code, parseSource);
|
|
290
|
+
}, [code, shouldHighlight, parseSource]);
|
|
291
|
+
var deferHighlight = !shouldHighlight;
|
|
292
|
+
return {
|
|
293
|
+
parsedCode: parsedCode,
|
|
294
|
+
deferHighlight: deferHighlight
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
function useCodeTransforms(_ref7) {
|
|
298
|
+
var parsedCode = _ref7.parsedCode,
|
|
299
|
+
variantName = _ref7.variantName;
|
|
300
|
+
var _useCodeContext4 = useCodeContext(),
|
|
301
|
+
sourceParser = _useCodeContext4.sourceParser;
|
|
302
|
+
var _React$useState = React.useState(undefined),
|
|
303
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
304
|
+
transformedCode = _React$useState2[0],
|
|
305
|
+
setTransformedCode = _React$useState2[1];
|
|
306
|
+
|
|
307
|
+
// Get available transforms from the current variant (separate memo for efficiency)
|
|
308
|
+
var availableTransforms = React.useMemo(function () {
|
|
309
|
+
return getAvailableTransforms(parsedCode, variantName);
|
|
310
|
+
}, [parsedCode, variantName]);
|
|
311
|
+
|
|
312
|
+
// Effect to compute transformations for all variants
|
|
313
|
+
React.useEffect(function () {
|
|
314
|
+
if (!parsedCode || !sourceParser) {
|
|
315
|
+
setTransformedCode(parsedCode);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Process transformations for all variants
|
|
320
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
321
|
+
var parseSource, enhanced;
|
|
322
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
323
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
324
|
+
case 0:
|
|
325
|
+
_context4.prev = 0;
|
|
326
|
+
_context4.next = 3;
|
|
327
|
+
return sourceParser;
|
|
328
|
+
case 3:
|
|
329
|
+
parseSource = _context4.sent;
|
|
330
|
+
_context4.next = 6;
|
|
331
|
+
return applyTransforms(parsedCode, parseSource);
|
|
332
|
+
case 6:
|
|
333
|
+
enhanced = _context4.sent;
|
|
334
|
+
setTransformedCode(enhanced);
|
|
335
|
+
_context4.next = 14;
|
|
336
|
+
break;
|
|
337
|
+
case 10:
|
|
338
|
+
_context4.prev = 10;
|
|
339
|
+
_context4.t0 = _context4["catch"](0);
|
|
340
|
+
console.error('Failed to process transforms:', _context4.t0);
|
|
341
|
+
setTransformedCode(parsedCode);
|
|
342
|
+
case 14:
|
|
343
|
+
case "end":
|
|
344
|
+
return _context4.stop();
|
|
345
|
+
}
|
|
346
|
+
}, _callee4, null, [[0, 10]]);
|
|
347
|
+
}))();
|
|
348
|
+
}, [parsedCode, sourceParser]);
|
|
349
|
+
return {
|
|
350
|
+
transformedCode: transformedCode,
|
|
351
|
+
availableTransforms: availableTransforms
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
function useControlledCodeParsing(_ref9) {
|
|
355
|
+
var controlledCode = _ref9.controlledCode;
|
|
356
|
+
var _useCodeContext5 = useCodeContext(),
|
|
357
|
+
parseSource = _useCodeContext5.parseSource;
|
|
358
|
+
|
|
359
|
+
// Parse the controlled code separately (no need to check readyForContent)
|
|
360
|
+
var parsedControlledCode = React.useMemo(function () {
|
|
361
|
+
if (!controlledCode || !parseSource) {
|
|
362
|
+
return undefined;
|
|
363
|
+
}
|
|
364
|
+
return parseControlledCode(controlledCode, parseSource);
|
|
365
|
+
}, [controlledCode, parseSource]);
|
|
366
|
+
return {
|
|
367
|
+
parsedControlledCode: parsedControlledCode
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
function useGlobalsCodeMerging(_ref0) {
|
|
371
|
+
var code = _ref0.code,
|
|
372
|
+
globalsCode = _ref0.globalsCode,
|
|
373
|
+
processedGlobalsCode = _ref0.processedGlobalsCode,
|
|
374
|
+
setProcessedGlobalsCode = _ref0.setProcessedGlobalsCode,
|
|
375
|
+
readyForContent = _ref0.readyForContent,
|
|
376
|
+
variants = _ref0.variants;
|
|
377
|
+
var _useCodeContext6 = useCodeContext(),
|
|
378
|
+
loadCodeMeta = _useCodeContext6.loadCodeMeta,
|
|
379
|
+
loadSource = _useCodeContext6.loadSource,
|
|
380
|
+
loadVariantMeta = _useCodeContext6.loadVariantMeta;
|
|
381
|
+
|
|
382
|
+
// Set processedGlobalsCode if we have ready Code objects but haven't stored them yet
|
|
383
|
+
React.useEffect(function () {
|
|
384
|
+
if (!globalsCode || processedGlobalsCode) {
|
|
385
|
+
return; // No globals or already processed
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// Check if all items are already Code objects (precomputed)
|
|
389
|
+
if (globalsCode.every(function (item) {
|
|
390
|
+
return _typeof(item) === 'object';
|
|
391
|
+
})) {
|
|
392
|
+
var codeObjects = globalsCode;
|
|
393
|
+
// Check if all Code objects have all their own variants
|
|
394
|
+
var allReady = codeObjects.every(function (codeObj) {
|
|
395
|
+
return hasAllVariants(Object.keys(codeObj), codeObj);
|
|
396
|
+
});
|
|
397
|
+
if (allReady) {
|
|
398
|
+
setProcessedGlobalsCode(codeObjects);
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
// If not all ready, fall through to loading logic below
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// Need to load string URLs or load missing variants
|
|
405
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
406
|
+
var basicCodeObjects, fullyLoadedCodeObjects;
|
|
407
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
408
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
409
|
+
case 0:
|
|
410
|
+
_context8.prev = 0;
|
|
411
|
+
_context8.next = 3;
|
|
412
|
+
return Promise.all(globalsCode.map(/*#__PURE__*/function () {
|
|
413
|
+
var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(item) {
|
|
414
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
415
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
416
|
+
case 0:
|
|
417
|
+
if (!(typeof item === 'string')) {
|
|
418
|
+
_context5.next = 8;
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
if (loadCodeMeta) {
|
|
422
|
+
_context5.next = 3;
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
throw new Error('"loadCodeMeta" function is required for string URLs in globalsCode');
|
|
426
|
+
case 3:
|
|
427
|
+
_context5.next = 5;
|
|
428
|
+
return loadCodeMeta(item);
|
|
429
|
+
case 5:
|
|
430
|
+
_context5.t0 = _context5.sent;
|
|
431
|
+
_context5.t1 = item;
|
|
432
|
+
return _context5.abrupt("return", {
|
|
433
|
+
codeObj: _context5.t0,
|
|
434
|
+
originalUrl: _context5.t1
|
|
435
|
+
});
|
|
436
|
+
case 8:
|
|
437
|
+
return _context5.abrupt("return", {
|
|
438
|
+
codeObj: item,
|
|
439
|
+
originalUrl: undefined
|
|
440
|
+
});
|
|
441
|
+
case 9:
|
|
442
|
+
case "end":
|
|
443
|
+
return _context5.stop();
|
|
444
|
+
}
|
|
445
|
+
}, _callee5);
|
|
446
|
+
}));
|
|
447
|
+
return function (_x2) {
|
|
448
|
+
return _ref10.apply(this, arguments);
|
|
449
|
+
};
|
|
450
|
+
}()));
|
|
451
|
+
case 3:
|
|
452
|
+
basicCodeObjects = _context8.sent;
|
|
453
|
+
_context8.next = 6;
|
|
454
|
+
return Promise.all(basicCodeObjects.map(/*#__PURE__*/function () {
|
|
455
|
+
var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref11) {
|
|
456
|
+
var codeObj, originalUrl, loadedVariants;
|
|
457
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
458
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
459
|
+
case 0:
|
|
460
|
+
codeObj = _ref11.codeObj, originalUrl = _ref11.originalUrl;
|
|
461
|
+
if (!hasAllVariants(variants, codeObj)) {
|
|
462
|
+
_context7.next = 3;
|
|
463
|
+
break;
|
|
464
|
+
}
|
|
465
|
+
return _context7.abrupt("return", codeObj);
|
|
466
|
+
case 3:
|
|
467
|
+
// Need to load missing variants
|
|
468
|
+
loadedVariants = _objectSpread({}, codeObj);
|
|
469
|
+
_context7.next = 6;
|
|
470
|
+
return Promise.all(variants.map(/*#__PURE__*/function () {
|
|
471
|
+
var _ref13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(variantName) {
|
|
472
|
+
var result;
|
|
473
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
474
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
475
|
+
case 0:
|
|
476
|
+
if (!(codeObj[variantName] && _typeof(codeObj[variantName]) === 'object')) {
|
|
477
|
+
_context6.next = 2;
|
|
478
|
+
break;
|
|
479
|
+
}
|
|
480
|
+
return _context6.abrupt("return");
|
|
481
|
+
case 2:
|
|
482
|
+
_context6.prev = 2;
|
|
483
|
+
_context6.next = 5;
|
|
484
|
+
return loadVariant(originalUrl || '',
|
|
485
|
+
// Use the original URL if available
|
|
486
|
+
variantName, codeObj[variantName],
|
|
487
|
+
// May be undefined or string
|
|
488
|
+
undefined,
|
|
489
|
+
// sourceParser - skip parsing for now
|
|
490
|
+
loadSource, loadVariantMeta, undefined,
|
|
491
|
+
// sourceTransformers - skip transforming
|
|
492
|
+
{
|
|
493
|
+
disableParsing: true,
|
|
494
|
+
disableTransforms: true
|
|
495
|
+
});
|
|
496
|
+
case 5:
|
|
497
|
+
result = _context6.sent;
|
|
498
|
+
loadedVariants[variantName] = result.code;
|
|
499
|
+
_context6.next = 12;
|
|
500
|
+
break;
|
|
501
|
+
case 9:
|
|
502
|
+
_context6.prev = 9;
|
|
503
|
+
_context6.t0 = _context6["catch"](2);
|
|
504
|
+
console.warn("Failed to load variant ".concat(variantName, " for globalsCode:"), _context6.t0);
|
|
505
|
+
// Keep the original variant data (may be undefined)
|
|
506
|
+
case 12:
|
|
507
|
+
case "end":
|
|
508
|
+
return _context6.stop();
|
|
509
|
+
}
|
|
510
|
+
}, _callee6, null, [[2, 9]]);
|
|
511
|
+
}));
|
|
512
|
+
return function (_x4) {
|
|
513
|
+
return _ref13.apply(this, arguments);
|
|
514
|
+
};
|
|
515
|
+
}()));
|
|
516
|
+
case 6:
|
|
517
|
+
return _context7.abrupt("return", loadedVariants);
|
|
518
|
+
case 7:
|
|
519
|
+
case "end":
|
|
520
|
+
return _context7.stop();
|
|
521
|
+
}
|
|
522
|
+
}, _callee7);
|
|
523
|
+
}));
|
|
524
|
+
return function (_x3) {
|
|
525
|
+
return _ref12.apply(this, arguments);
|
|
526
|
+
};
|
|
527
|
+
}()));
|
|
528
|
+
case 6:
|
|
529
|
+
fullyLoadedCodeObjects = _context8.sent;
|
|
530
|
+
setProcessedGlobalsCode(fullyLoadedCodeObjects);
|
|
531
|
+
_context8.next = 13;
|
|
532
|
+
break;
|
|
533
|
+
case 10:
|
|
534
|
+
_context8.prev = 10;
|
|
535
|
+
_context8.t0 = _context8["catch"](0);
|
|
536
|
+
console.warn('Failed to load globalsCode:', _context8.t0);
|
|
537
|
+
case 13:
|
|
538
|
+
case "end":
|
|
539
|
+
return _context8.stop();
|
|
540
|
+
}
|
|
541
|
+
}, _callee8, null, [[0, 10]]);
|
|
542
|
+
}))();
|
|
543
|
+
}, [globalsCode, processedGlobalsCode, setProcessedGlobalsCode, loadCodeMeta, loadSource, loadVariantMeta, variants]);
|
|
544
|
+
|
|
545
|
+
// Determine globalsCodeObjects to use (prefer processed, fallback to direct if ready)
|
|
546
|
+
var globalsCodeObjects = React.useMemo(function () {
|
|
547
|
+
if (processedGlobalsCode) {
|
|
548
|
+
return processedGlobalsCode;
|
|
549
|
+
}
|
|
550
|
+
if (globalsCode && globalsCode.every(function (item) {
|
|
551
|
+
return _typeof(item) === 'object';
|
|
552
|
+
})) {
|
|
553
|
+
var codeObjects = globalsCode;
|
|
554
|
+
var allGlobalsReady = codeObjects.every(function (codeObj) {
|
|
555
|
+
return hasAllVariants(Object.keys(codeObj), codeObj);
|
|
556
|
+
});
|
|
557
|
+
if (allGlobalsReady) {
|
|
558
|
+
return codeObjects;
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
return undefined;
|
|
562
|
+
}, [processedGlobalsCode, globalsCode]);
|
|
563
|
+
|
|
564
|
+
// Merge globalsCode with code when ready
|
|
565
|
+
return React.useMemo(function () {
|
|
566
|
+
// If no globalsCode or code not ready, return as-is
|
|
567
|
+
if (!globalsCode || !code || !readyForContent) {
|
|
568
|
+
return code;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
// If globalsCodeObjects isn't ready yet, return unmerged code for now
|
|
572
|
+
if (!globalsCodeObjects) {
|
|
573
|
+
return code;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
// For precomputed code, do simple synchronous merging of extraFiles
|
|
577
|
+
var mergedCode = _objectSpread({}, code);
|
|
578
|
+
var hasChanges = false;
|
|
579
|
+
variants.forEach(function (variant) {
|
|
580
|
+
var variantData = code[variant];
|
|
581
|
+
if (!variantData || typeof variantData === 'string') {
|
|
582
|
+
return;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// Get globalsCode for this variant (only exact matches, no fallback)
|
|
586
|
+
var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
|
|
587
|
+
return codeObj[variant];
|
|
588
|
+
}).filter(function (item) {
|
|
589
|
+
return Boolean(item) && _typeof(item) === 'object';
|
|
590
|
+
});
|
|
591
|
+
if (globalsForVariant.length > 0) {
|
|
592
|
+
// Simple merge for precomputed data - just combine extraFiles
|
|
593
|
+
var mergedExtraFiles = _objectSpread({}, variantData.extraFiles || {});
|
|
594
|
+
globalsForVariant.forEach(function (globalVariant) {
|
|
595
|
+
if (globalVariant.extraFiles) {
|
|
596
|
+
Object.assign(mergedExtraFiles, globalVariant.extraFiles);
|
|
597
|
+
}
|
|
598
|
+
});
|
|
599
|
+
|
|
600
|
+
// Only update if we actually have extra files to merge
|
|
601
|
+
if (Object.keys(mergedExtraFiles).length > Object.keys(variantData.extraFiles || {}).length) {
|
|
602
|
+
mergedCode[variant] = _objectSpread(_objectSpread({}, variantData), {}, {
|
|
603
|
+
extraFiles: mergedExtraFiles
|
|
604
|
+
});
|
|
605
|
+
hasChanges = true;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
});
|
|
609
|
+
|
|
610
|
+
// Return merged code if we made changes, otherwise return original code
|
|
611
|
+
return hasChanges ? mergedCode : code;
|
|
612
|
+
}, [code, globalsCode, globalsCodeObjects, readyForContent, variants]);
|
|
613
|
+
}
|
|
614
|
+
function usePropsCodeGlobalsMerging(_ref14) {
|
|
615
|
+
var code = _ref14.code,
|
|
616
|
+
globalsCode = _ref14.globalsCode,
|
|
617
|
+
processedGlobalsCode = _ref14.processedGlobalsCode,
|
|
618
|
+
variants = _ref14.variants;
|
|
619
|
+
// For props.code, always do synchronous merging if possible
|
|
620
|
+
// We don't want to cache this in state since props.code can change frequently
|
|
621
|
+
return React.useMemo(function () {
|
|
622
|
+
if (!code || !globalsCode || !processedGlobalsCode) {
|
|
623
|
+
return code; // No merge needed or not ready
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
// Use processedGlobalsCode for synchronous merging
|
|
627
|
+
var globalsCodeObjects = processedGlobalsCode;
|
|
628
|
+
|
|
629
|
+
// For props.code (controlled), do simple synchronous merging
|
|
630
|
+
var mergedCode = _objectSpread({}, code);
|
|
631
|
+
var hasChanges = false;
|
|
632
|
+
variants.forEach(function (variant) {
|
|
633
|
+
var variantData = code[variant];
|
|
634
|
+
if (!variantData || typeof variantData === 'string') {
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
// Get globalsCode for this variant (only exact matches, no fallback)
|
|
639
|
+
var globalsForVariant = globalsCodeObjects.map(function (codeObj) {
|
|
640
|
+
return codeObj[variant];
|
|
641
|
+
}).filter(function (item) {
|
|
642
|
+
return Boolean(item) && _typeof(item) === 'object';
|
|
643
|
+
});
|
|
644
|
+
if (globalsForVariant.length > 0) {
|
|
645
|
+
// Simple merge for controlled data - just combine extraFiles
|
|
646
|
+
var mergedExtraFiles = _objectSpread({}, variantData.extraFiles || {});
|
|
647
|
+
globalsForVariant.forEach(function (globalVariant) {
|
|
648
|
+
if (globalVariant.extraFiles) {
|
|
649
|
+
Object.assign(mergedExtraFiles, globalVariant.extraFiles);
|
|
650
|
+
}
|
|
651
|
+
});
|
|
652
|
+
|
|
653
|
+
// Only update if we actually have extra files to merge
|
|
654
|
+
if (Object.keys(mergedExtraFiles).length > Object.keys(variantData.extraFiles || {}).length) {
|
|
655
|
+
mergedCode[variant] = _objectSpread(_objectSpread({}, variantData), {}, {
|
|
656
|
+
extraFiles: mergedExtraFiles
|
|
657
|
+
});
|
|
658
|
+
hasChanges = true;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
|
|
663
|
+
// Return merged code if we made changes, otherwise return original code
|
|
664
|
+
return hasChanges ? mergedCode : code;
|
|
665
|
+
}, [code, globalsCode, processedGlobalsCode, variants]);
|
|
666
|
+
}
|
|
667
|
+
export function CodeHighlighterClient(props) {
|
|
668
|
+
var _useControlledCode = useControlledCode(),
|
|
669
|
+
controlledCode = _useControlledCode.controlledCode,
|
|
670
|
+
controlledSelection = _useControlledCode.controlledSelection,
|
|
671
|
+
controlledSetCode = _useControlledCode.controlledSetCode,
|
|
672
|
+
controlledSetSelection = _useControlledCode.controlledSetSelection,
|
|
673
|
+
controlledComponents = _useControlledCode.controlledComponents;
|
|
674
|
+
var isControlled = Boolean(props.code || controlledCode);
|
|
675
|
+
|
|
676
|
+
// TODO: props.code is for controlled components, props.precompute is for precomputed code
|
|
677
|
+
// props.code should only be highlighted, but no additional fetching should be done
|
|
678
|
+
// this is the case with live demos where the code can be edited by the user
|
|
679
|
+
// then maybe props.code shouldn't allow highlighted code, only strings?
|
|
680
|
+
// this is a code highlighter afterall, why would they want to control the highlighting aspect?
|
|
681
|
+
|
|
682
|
+
// TODO: should we empty this state if controlled?
|
|
683
|
+
var _React$useState3 = React.useState(_typeof(props.precompute) === 'object' ? props.precompute : undefined),
|
|
684
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
685
|
+
code = _React$useState4[0],
|
|
686
|
+
setCode = _React$useState4[1];
|
|
687
|
+
|
|
688
|
+
// State to store processed globalsCode to avoid duplicate loading
|
|
689
|
+
var _React$useState5 = React.useState(undefined),
|
|
690
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
691
|
+
processedGlobalsCode = _React$useState6[0],
|
|
692
|
+
setProcessedGlobalsCode = _React$useState6[1];
|
|
693
|
+
|
|
694
|
+
// TODO: if using props.variant, then the variant is controlled and we can't use our own state
|
|
695
|
+
// does props.variant make any sense instead of controlledSelection?.variant?
|
|
696
|
+
var _React$useState7 = React.useState({
|
|
697
|
+
variant: props.initialVariant || props.defaultVariant || 'Default'
|
|
698
|
+
}),
|
|
699
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
700
|
+
selection = _React$useState8[0],
|
|
701
|
+
setSelection = _React$useState8[1];
|
|
702
|
+
var variantName = (controlledSelection == null ? void 0 : controlledSelection.variant) || props.variant || selection.variant;
|
|
703
|
+
var activeCode = controlledCode || props.code || code;
|
|
704
|
+
var initialFilename;
|
|
705
|
+
if (_typeof(activeCode == null ? void 0 : activeCode[variantName]) === 'object') {
|
|
706
|
+
var variant = activeCode[variantName];
|
|
707
|
+
initialFilename = variant != null && variant.filesOrder ? variant.filesOrder[0] : variant == null ? void 0 : variant.fileName;
|
|
708
|
+
}
|
|
709
|
+
var fileName = (controlledSelection == null ? void 0 : controlledSelection.fileName) || props.fileName || initialFilename;
|
|
710
|
+
var variants = props.variants || Object.keys(props.components || activeCode || {});
|
|
711
|
+
var url = props.url,
|
|
712
|
+
highlightAt = props.highlightAt,
|
|
713
|
+
fallbackUsesExtraFiles = props.fallbackUsesExtraFiles,
|
|
714
|
+
fallbackUsesAllVariants = props.fallbackUsesAllVariants;
|
|
715
|
+
useInitialData({
|
|
716
|
+
variants: variants,
|
|
717
|
+
variantName: variantName,
|
|
718
|
+
code: code,
|
|
719
|
+
setCode: setCode,
|
|
720
|
+
fileName: fileName,
|
|
721
|
+
url: url,
|
|
722
|
+
highlightAt: highlightAt,
|
|
723
|
+
fallbackUsesExtraFiles: fallbackUsesExtraFiles,
|
|
724
|
+
fallbackUsesAllVariants: fallbackUsesAllVariants,
|
|
725
|
+
isControlled: isControlled,
|
|
726
|
+
globalsCode: props.globalsCode,
|
|
727
|
+
setProcessedGlobalsCode: setProcessedGlobalsCode
|
|
728
|
+
});
|
|
729
|
+
var readyForContent = React.useMemo(function () {
|
|
730
|
+
if (!code) {
|
|
731
|
+
return false;
|
|
732
|
+
}
|
|
733
|
+
return hasAllVariants(variants, code);
|
|
734
|
+
}, [code, variants]);
|
|
735
|
+
|
|
736
|
+
// Separate check for activeCode to determine when to show fallback
|
|
737
|
+
var activeCodeReady = React.useMemo(function () {
|
|
738
|
+
if (!activeCode) {
|
|
739
|
+
return false;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
// Controlled code is always ready since it comes from editing already-ready code
|
|
743
|
+
if (controlledCode) {
|
|
744
|
+
return true;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
// For regular code, use the existing hasAllVariants function
|
|
748
|
+
var regularCode = props.code || code;
|
|
749
|
+
return regularCode ? hasAllVariants(variants, regularCode) : false;
|
|
750
|
+
}, [activeCode, controlledCode, variants, props.code, code]);
|
|
751
|
+
useAllVariants({
|
|
752
|
+
readyForContent: readyForContent,
|
|
753
|
+
variants: variants,
|
|
754
|
+
isControlled: isControlled,
|
|
755
|
+
url: url,
|
|
756
|
+
code: code,
|
|
757
|
+
setCode: setCode,
|
|
758
|
+
processedGlobalsCode: processedGlobalsCode,
|
|
759
|
+
globalsCode: props.globalsCode,
|
|
760
|
+
setProcessedGlobalsCode: setProcessedGlobalsCode
|
|
761
|
+
});
|
|
762
|
+
|
|
763
|
+
// Merge globalsCode with internal state code (fetched data) - this should be stable once ready
|
|
764
|
+
var stateCodeWithGlobals = useGlobalsCodeMerging({
|
|
765
|
+
code: code,
|
|
766
|
+
// Only use internal state, not props.code
|
|
767
|
+
globalsCode: props.globalsCode,
|
|
768
|
+
processedGlobalsCode: processedGlobalsCode,
|
|
769
|
+
setProcessedGlobalsCode: setProcessedGlobalsCode,
|
|
770
|
+
readyForContent: readyForContent,
|
|
771
|
+
variants: variants
|
|
772
|
+
});
|
|
773
|
+
|
|
774
|
+
// For props.code (controlled), always re-merge when it changes (don't cache in state)
|
|
775
|
+
var propsCodeWithGlobals = usePropsCodeGlobalsMerging({
|
|
776
|
+
code: props.code,
|
|
777
|
+
globalsCode: props.globalsCode,
|
|
778
|
+
processedGlobalsCode: processedGlobalsCode,
|
|
779
|
+
variants: variants
|
|
780
|
+
});
|
|
781
|
+
|
|
782
|
+
// Use props.code result if available, otherwise use state code result
|
|
783
|
+
var codeWithGlobals = propsCodeWithGlobals || stateCodeWithGlobals;
|
|
784
|
+
var _useCodeParsing = useCodeParsing({
|
|
785
|
+
code: codeWithGlobals,
|
|
786
|
+
readyForContent: readyForContent || Boolean(props.code),
|
|
787
|
+
highlightAt: highlightAt
|
|
788
|
+
}),
|
|
789
|
+
parsedCode = _useCodeParsing.parsedCode,
|
|
790
|
+
deferHighlight = _useCodeParsing.deferHighlight;
|
|
791
|
+
var _useCodeTransforms = useCodeTransforms({
|
|
792
|
+
parsedCode: parsedCode,
|
|
793
|
+
variantName: variantName
|
|
794
|
+
}),
|
|
795
|
+
transformedCode = _useCodeTransforms.transformedCode,
|
|
796
|
+
availableTransforms = _useCodeTransforms.availableTransforms;
|
|
797
|
+
var _useControlledCodePar = useControlledCodeParsing({
|
|
798
|
+
controlledCode: controlledCode
|
|
799
|
+
}),
|
|
800
|
+
parsedControlledCode = _useControlledCodePar.parsedControlledCode;
|
|
801
|
+
|
|
802
|
+
// Determine the final overlaid code (controlled takes precedence)
|
|
803
|
+
var overlaidCode = parsedControlledCode || transformedCode || codeWithGlobals;
|
|
804
|
+
|
|
805
|
+
// For fallback context, use the processed code or fall back to non-controlled code
|
|
806
|
+
var codeForFallback = overlaidCode || (controlledCode ? undefined : props.code || code);
|
|
807
|
+
var fallbackContext = React.useMemo(function () {
|
|
808
|
+
return codeToFallbackProps(variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants);
|
|
809
|
+
}, [variantName, codeForFallback, fileName, props.fallbackUsesExtraFiles, props.fallbackUsesAllVariants]);
|
|
810
|
+
var context = React.useMemo(function () {
|
|
811
|
+
return {
|
|
812
|
+
code: overlaidCode,
|
|
813
|
+
// Use processed/transformed code
|
|
814
|
+
setCode: controlledSetCode,
|
|
815
|
+
selection: controlledSelection || selection,
|
|
816
|
+
setSelection: controlledSetSelection || setSelection,
|
|
817
|
+
components: controlledComponents || props.components,
|
|
818
|
+
availableTransforms: isControlled ? [] : availableTransforms,
|
|
819
|
+
url: props.url,
|
|
820
|
+
deferHighlight: deferHighlight
|
|
821
|
+
};
|
|
822
|
+
}, [overlaidCode, controlledSetCode, selection, controlledSelection, controlledSetSelection, controlledComponents, props.components, isControlled, availableTransforms, props.url, deferHighlight]);
|
|
823
|
+
if (!props.variants && !props.components && !activeCode) {
|
|
824
|
+
throw new Error('CodeHighlighterClient requires either `variants`, `components`, or `code` to be provided.');
|
|
825
|
+
}
|
|
826
|
+
var fallback = props.fallback;
|
|
827
|
+
if (fallback && !props.skipFallback && !activeCodeReady) {
|
|
828
|
+
return /*#__PURE__*/_jsx(CodeHighlighterFallbackContext.Provider, {
|
|
829
|
+
value: fallbackContext,
|
|
830
|
+
children: fallback
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
return /*#__PURE__*/_jsx(CodeHighlighterContext.Provider, {
|
|
834
|
+
value: context,
|
|
835
|
+
children: props.children
|
|
836
|
+
});
|
|
837
|
+
}
|