@mui/internal-docs-infra 0.1.1-alpha.1 → 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/CodeControllerContext/CodeControllerContext.d.ts +1 -1
- package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -1
- package/CodeControllerContext/index.d.ts.map +1 -1
- 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 +1 -1
- package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -1
- package/CodeHighlighter/CodeHighlighter.js +235 -86
- package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -1
- package/CodeHighlighter/CodeHighlighterClient.js +500 -62
- package/CodeHighlighter/CodeHighlighterContext.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -1
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -1
- package/CodeHighlighter/CodeHighlighterFallbackContext.js +3 -1
- package/CodeHighlighter/applyTransform.d.ts.map +1 -1
- package/CodeHighlighter/codeToFallbackProps.d.ts +2 -2
- package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -1
- package/CodeHighlighter/codeToFallbackProps.js +8 -5
- package/CodeHighlighter/errors.d.ts.map +1 -1
- package/CodeHighlighter/hasAllVariants.d.ts.map +1 -1
- package/CodeHighlighter/index.d.ts.map +1 -1
- package/CodeHighlighter/loadFallbackCode.d.ts +3 -2
- package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -1
- package/CodeHighlighter/loadFallbackCode.js +325 -161
- package/CodeHighlighter/loadVariant.d.ts +3 -2
- package/CodeHighlighter/loadVariant.d.ts.map +1 -1
- package/CodeHighlighter/loadVariant.js +604 -229
- package/CodeHighlighter/maybeInitialData.d.ts +1 -1
- package/CodeHighlighter/maybeInitialData.d.ts.map +1 -1
- package/CodeHighlighter/parseCode.d.ts.map +1 -1
- package/CodeHighlighter/parseCode.js +14 -2
- package/CodeHighlighter/parseControlledCode.d.ts.map +1 -1
- package/CodeHighlighter/parseControlledCode.js +12 -1
- package/CodeHighlighter/transformCode.d.ts +1 -0
- package/CodeHighlighter/transformCode.d.ts.map +1 -1
- package/CodeHighlighter/transformCode.js +43 -3
- package/CodeHighlighter/transformParsedSource.d.ts.map +1 -1
- package/CodeHighlighter/transformSource.d.ts.map +1 -1
- package/CodeHighlighter/types.d.ts +39 -17
- package/CodeHighlighter/types.d.ts.map +1 -1
- package/CodeProvider/CodeContext.d.ts.map +1 -1
- package/CodeProvider/CodeProvider.d.ts.map +1 -1
- package/CodeProvider/CodeProvider.js +21 -6
- package/CodeProvider/index.d.ts +1 -2
- package/CodeProvider/index.d.ts.map +1 -1
- package/CodeProvider/index.js +1 -2
- 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 +15 -9
- package/pipeline/hastUtils/hastUtils.d.ts.map +1 -0
- package/{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/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/loadPrecomputedCodeHighlighter.js +105 -75
- package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseCreateFactoryCall.d.ts +12 -1
- package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
- package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +433 -0
- package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseFunctionParameters.d.ts +5 -1
- package/pipeline/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
- package/{loadPrecomputedCodeHighlighter → 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/{loadServerCodeMeta/serverLoadCodeMeta.d.ts → pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts} +4 -4
- package/pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts.map +1 -0
- package/{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/{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/{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/{loaderUtils → pipeline/loaderUtils}/resolveModulePath.d.ts +19 -6
- package/pipeline/loaderUtils/resolveModulePath.d.ts.map +1 -0
- package/pipeline/loaderUtils/resolveModulePath.js +1449 -0
- package/{loaderUtils → pipeline/loaderUtils}/resolveModulePathWithFs.d.ts +6 -3
- package/pipeline/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
- package/{loaderUtils → 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/{parseSource → 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/{transformTsToJs/transformTsToJs.js → pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js} +4 -4
- package/useCode/index.d.ts.map +1 -1
- package/useCode/useCode.d.ts +13 -11
- package/useCode/useCode.d.ts.map +1 -1
- package/useCode/useCode.js +93 -364
- 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/useCopier/index.d.ts +1 -1
- package/useCopier/index.d.ts.map +1 -1
- package/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 -39
- package/useDemo/index.d.ts.map +1 -1
- package/useDemo/index.js +6 -17
- 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 -1
- package/useOnHydrate/useOnHydrate.d.ts.map +1 -1
- package/useOnIdle/index.d.ts.map +1 -1
- package/useOnIdle/useOnIdle.d.ts.map +1 -1
- 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/hast/hast.d.ts.map +0 -1
- package/hast/index.d.ts +0 -1
- package/hast/index.d.ts.map +0 -1
- package/hast/index.js +0 -1
- package/loadPrecomputedCodeHighlighter/index.d.ts.map +0 -1
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +0 -1
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +0 -1
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -243
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +0 -1
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +0 -1
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -37
- package/loadServerCodeMeta/index.d.ts +0 -1
- package/loadServerCodeMeta/index.d.ts.map +0 -1
- package/loadServerCodeMeta/index.js +0 -1
- package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +0 -1
- package/loadServerSource/index.d.ts +0 -1
- package/loadServerSource/index.d.ts.map +0 -1
- package/loadServerSource/index.js +0 -1
- package/loadServerSource/serverLoadSource.d.ts.map +0 -1
- package/loadServerSource/serverLoadSource.js +0 -100
- package/loaderUtils/getFileNameFromUrl.d.ts.map +0 -1
- package/loaderUtils/index.d.ts +0 -5
- package/loaderUtils/index.d.ts.map +0 -1
- package/loaderUtils/index.js +0 -5
- package/loaderUtils/processImports.d.ts.map +0 -1
- package/loaderUtils/processImports.js +0 -82
- package/loaderUtils/resolveImports.d.ts +0 -4
- package/loaderUtils/resolveImports.d.ts.map +0 -1
- package/loaderUtils/resolveImports.js +0 -71
- package/loaderUtils/resolveModulePath.d.ts.map +0 -1
- package/loaderUtils/resolveModulePath.js +0 -862
- package/loaderUtils/resolveModulePathWithFs.d.ts.map +0 -1
- package/loaderUtils/rewriteImports.d.ts +0 -9
- package/loaderUtils/rewriteImports.d.ts.map +0 -1
- package/loaderUtils/rewriteImports.js +0 -57
- package/parseSource/grammars.d.ts.map +0 -1
- package/parseSource/index.d.ts.map +0 -1
- package/parseSource/parseSource.d.ts +0 -3
- package/parseSource/parseSource.d.ts.map +0 -1
- package/transformRelativeMarkdownPaths/index.d.ts +0 -2
- package/transformRelativeMarkdownPaths/index.d.ts.map +0 -1
- package/transformRelativeMarkdownPaths/index.js +0 -4
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +0 -1
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -30
- package/transformTsToJs/index.d.ts +0 -1
- package/transformTsToJs/index.d.ts.map +0 -1
- package/transformTsToJs/index.js +0 -1
- package/transformTsToJs/removeTypes.d.ts.map +0 -1
- package/transformTsToJs/transformTsToJs.d.ts +0 -3
- package/transformTsToJs/transformTsToJs.d.ts.map +0 -1
- /package/{hast/hast.d.ts → pipeline/hastUtils/hastUtils.d.ts} +0 -0
- /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.d.ts +0 -0
- /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.js +0 -0
- /package/{loaderUtils → pipeline/loaderUtils}/getFileNameFromUrl.d.ts +0 -0
- /package/{loaderUtils → pipeline/loaderUtils}/getFileNameFromUrl.js +0 -0
- /package/{parseSource → pipeline/parseSource}/grammars.d.ts +0 -0
- /package/{parseSource → pipeline/parseSource}/grammars.js +0 -0
- /package/{parseSource → pipeline/parseSource}/index.d.ts +0 -0
- /package/{parseSource → pipeline/parseSource}/index.js +0 -0
- /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.d.ts +0 -0
- /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.js +0 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
3
|
+
import { stringOrHastToJsx } from "../pipeline/hastUtils/index.js";
|
|
4
|
+
import { applyTransform } from "../CodeHighlighter/applyTransform.js";
|
|
5
|
+
/**
|
|
6
|
+
* Pure function to get available transforms from effective code data.
|
|
7
|
+
* Only includes transforms that have actual deltas (file changes), not just filename changes.
|
|
8
|
+
*
|
|
9
|
+
* @param effectiveCode - The effective code object containing all variants
|
|
10
|
+
* @param selectedVariantKey - The currently selected variant key
|
|
11
|
+
* @returns Array of available transform keys that have deltas
|
|
12
|
+
*/
|
|
13
|
+
export function getAvailableTransforms(effectiveCode, selectedVariantKey) {
|
|
14
|
+
var transforms = new Set();
|
|
15
|
+
if (effectiveCode && selectedVariantKey) {
|
|
16
|
+
var variantCode = effectiveCode[selectedVariantKey];
|
|
17
|
+
if (variantCode && _typeof(variantCode) === 'object') {
|
|
18
|
+
// Check main variant transforms
|
|
19
|
+
if ('transforms' in variantCode && variantCode.transforms) {
|
|
20
|
+
Object.keys(variantCode.transforms).forEach(function (transformKey) {
|
|
21
|
+
var transformData = variantCode.transforms[transformKey];
|
|
22
|
+
// Only include transforms that have actual deltas (file changes)
|
|
23
|
+
// Check if delta exists and is not empty
|
|
24
|
+
if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
|
|
25
|
+
var delta = transformData.delta;
|
|
26
|
+
// Check if delta has meaningful content (not just an empty object)
|
|
27
|
+
var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
|
|
28
|
+
if (hasContent) {
|
|
29
|
+
transforms.add(transformKey);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Check extraFiles for transforms with deltas
|
|
36
|
+
if ('extraFiles' in variantCode && variantCode.extraFiles) {
|
|
37
|
+
Object.values(variantCode.extraFiles).forEach(function (fileData) {
|
|
38
|
+
if (fileData && _typeof(fileData) === 'object' && 'transforms' in fileData && fileData.transforms) {
|
|
39
|
+
Object.keys(fileData.transforms).forEach(function (transformKey) {
|
|
40
|
+
var transformData = fileData.transforms[transformKey];
|
|
41
|
+
// Only include transforms that have actual deltas (file changes)
|
|
42
|
+
// Check if delta exists and is not empty
|
|
43
|
+
if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
|
|
44
|
+
var delta = transformData.delta;
|
|
45
|
+
// Check if delta has meaningful content (not just an empty object)
|
|
46
|
+
var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
|
|
47
|
+
if (hasContent) {
|
|
48
|
+
transforms.add(transformKey);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return Array.from(transforms);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Pure helper function to apply transform to a source file.
|
|
62
|
+
*
|
|
63
|
+
* @param source - The source code to transform
|
|
64
|
+
* @param fileName - The filename for the source
|
|
65
|
+
* @param transforms - Available transforms for this source
|
|
66
|
+
* @param selectedTransform - The transform to apply
|
|
67
|
+
* @returns Object with transformed source and name
|
|
68
|
+
*/
|
|
69
|
+
export function applyTransformToSource(source, fileName, transforms, selectedTransform) {
|
|
70
|
+
if (!(transforms != null && transforms[selectedTransform])) {
|
|
71
|
+
return {
|
|
72
|
+
transformedSource: source,
|
|
73
|
+
transformedName: fileName
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
// Get transform data
|
|
78
|
+
var transformData = transforms[selectedTransform];
|
|
79
|
+
if (!transformData || _typeof(transformData) !== 'object' || !('delta' in transformData)) {
|
|
80
|
+
return {
|
|
81
|
+
transformedSource: source,
|
|
82
|
+
transformedName: fileName
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Check if delta has meaningful content
|
|
87
|
+
var delta = transformData.delta;
|
|
88
|
+
var hasContent = delta && _typeof(delta) === 'object' && Object.keys(delta).length > 0;
|
|
89
|
+
if (!hasContent) {
|
|
90
|
+
return {
|
|
91
|
+
transformedSource: source,
|
|
92
|
+
transformedName: fileName
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Apply transform
|
|
97
|
+
var result = applyTransform(source, transforms, selectedTransform);
|
|
98
|
+
var transformedName = transformData.fileName || fileName;
|
|
99
|
+
return {
|
|
100
|
+
transformedSource: result,
|
|
101
|
+
transformedName: transformedName
|
|
102
|
+
};
|
|
103
|
+
} catch (error) {
|
|
104
|
+
console.error("Transform failed for ".concat(fileName, ":"), error);
|
|
105
|
+
return {
|
|
106
|
+
transformedSource: source,
|
|
107
|
+
transformedName: fileName
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Pure function to create transformed files from a variant and selected transform.
|
|
114
|
+
*
|
|
115
|
+
* @param selectedVariant - The currently selected variant
|
|
116
|
+
* @param selectedTransform - The transform to apply
|
|
117
|
+
* @returns Object with transformed files and filename mapping, or undefined if no transform
|
|
118
|
+
*/
|
|
119
|
+
export function createTransformedFiles(selectedVariant, selectedTransform, shouldHighlight) {
|
|
120
|
+
var _variantTransforms$se;
|
|
121
|
+
// Only create transformed files when there's actually a transform selected
|
|
122
|
+
if (!selectedVariant || !selectedTransform) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
var files = [];
|
|
126
|
+
var filenameMap = {};
|
|
127
|
+
|
|
128
|
+
// First, check if any file has a meaningful transform delta for the selected transform
|
|
129
|
+
var variantTransforms = 'transforms' in selectedVariant ? selectedVariant.transforms : undefined;
|
|
130
|
+
var hasAnyMeaningfulTransform = false;
|
|
131
|
+
|
|
132
|
+
// Check main file for meaningful transform
|
|
133
|
+
if (selectedVariant.fileName && variantTransforms != null && (_variantTransforms$se = variantTransforms[selectedTransform]) != null && _variantTransforms$se.delta) {
|
|
134
|
+
var delta = variantTransforms[selectedTransform].delta;
|
|
135
|
+
if (delta && Object.keys(delta).length > 0) {
|
|
136
|
+
hasAnyMeaningfulTransform = true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Check extraFiles for meaningful transforms
|
|
141
|
+
if (!hasAnyMeaningfulTransform && selectedVariant.extraFiles) {
|
|
142
|
+
Object.values(selectedVariant.extraFiles).forEach(function (fileData) {
|
|
143
|
+
if (fileData && _typeof(fileData) === 'object' && 'transforms' in fileData) {
|
|
144
|
+
var _fileData$transforms;
|
|
145
|
+
var transformData = (_fileData$transforms = fileData.transforms) == null ? void 0 : _fileData$transforms[selectedTransform];
|
|
146
|
+
if (transformData != null && transformData.delta && Object.keys(transformData.delta).length > 0) {
|
|
147
|
+
hasAnyMeaningfulTransform = true;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// If no file has a meaningful transform, return empty result
|
|
154
|
+
if (!hasAnyMeaningfulTransform) {
|
|
155
|
+
return {
|
|
156
|
+
files: [],
|
|
157
|
+
filenameMap: {}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Process main file if we have a fileName
|
|
162
|
+
if (selectedVariant.fileName) {
|
|
163
|
+
var _applyTransformToSour = applyTransformToSource(selectedVariant.source, selectedVariant.fileName, variantTransforms, selectedTransform),
|
|
164
|
+
mainSource = _applyTransformToSour.transformedSource,
|
|
165
|
+
mainName = _applyTransformToSour.transformedName;
|
|
166
|
+
var fileName = selectedVariant.fileName;
|
|
167
|
+
filenameMap[fileName] = mainName;
|
|
168
|
+
files.push({
|
|
169
|
+
name: mainName,
|
|
170
|
+
originalName: fileName,
|
|
171
|
+
source: mainSource,
|
|
172
|
+
component: stringOrHastToJsx(mainSource, shouldHighlight)
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Process extra files
|
|
177
|
+
if (selectedVariant.extraFiles) {
|
|
178
|
+
Object.entries(selectedVariant.extraFiles).forEach(function (_ref) {
|
|
179
|
+
var _transforms;
|
|
180
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
181
|
+
extraFileName = _ref2[0],
|
|
182
|
+
fileData = _ref2[1];
|
|
183
|
+
var source;
|
|
184
|
+
var transforms;
|
|
185
|
+
|
|
186
|
+
// Handle different extraFile structures
|
|
187
|
+
if (typeof fileData === 'string') {
|
|
188
|
+
source = fileData;
|
|
189
|
+
transforms = undefined; // Don't inherit variant transforms for simple string files
|
|
190
|
+
} else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
|
|
191
|
+
source = fileData.source;
|
|
192
|
+
transforms = fileData.transforms; // Only use explicit transforms for this file
|
|
193
|
+
} else {
|
|
194
|
+
return; // Skip invalid entries
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Apply transforms if available, otherwise use original source
|
|
198
|
+
var transformedSource = source;
|
|
199
|
+
var transformedName = extraFileName;
|
|
200
|
+
if ((_transforms = transforms) != null && _transforms[selectedTransform]) {
|
|
201
|
+
try {
|
|
202
|
+
var transformData = transforms[selectedTransform];
|
|
203
|
+
if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
|
|
204
|
+
// Only apply transform if there's a meaningful delta
|
|
205
|
+
var hasTransformDelta = transformData.delta && Object.keys(transformData.delta).length > 0;
|
|
206
|
+
if (hasTransformDelta) {
|
|
207
|
+
transformedSource = applyTransform(source, transforms, selectedTransform);
|
|
208
|
+
transformedName = transformData.fileName || extraFileName;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
} catch (error) {
|
|
212
|
+
console.error("Transform failed for ".concat(extraFileName, ":"), error);
|
|
213
|
+
// Continue with original source if transform fails
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Only update filenameMap and add to files if this doesn't conflict with existing files
|
|
218
|
+
// If a file already exists with the target name, skip this transformation to preserve original files
|
|
219
|
+
var existingFile = files.find(function (f) {
|
|
220
|
+
return f.name === transformedName;
|
|
221
|
+
});
|
|
222
|
+
if (!existingFile) {
|
|
223
|
+
filenameMap[extraFileName] = transformedName;
|
|
224
|
+
files.push({
|
|
225
|
+
name: transformedName,
|
|
226
|
+
originalName: extraFileName,
|
|
227
|
+
source: transformedSource,
|
|
228
|
+
component: stringOrHastToJsx(transformedSource, shouldHighlight)
|
|
229
|
+
});
|
|
230
|
+
} else {
|
|
231
|
+
// If there's a conflict, skip this file with a warning
|
|
232
|
+
console.warn("Transform conflict: ".concat(extraFileName, " would transform to ").concat(transformedName, " but that name is already taken. Skipping this file."));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
files: files,
|
|
238
|
+
filenameMap: filenameMap
|
|
239
|
+
};
|
|
240
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { UseCopierOpts } from "../useCopier/index.js";
|
|
3
|
+
interface UseCopyFunctionalityProps {
|
|
4
|
+
selectedFile: any;
|
|
5
|
+
copyOpts?: UseCopierOpts;
|
|
6
|
+
}
|
|
7
|
+
export interface UseCopyFunctionalityResult {
|
|
8
|
+
copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook for managing copy-to-clipboard functionality
|
|
12
|
+
*/
|
|
13
|
+
export declare function useCopyFunctionality({
|
|
14
|
+
selectedFile,
|
|
15
|
+
copyOpts
|
|
16
|
+
}: UseCopyFunctionalityProps): UseCopyFunctionalityResult;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCopyFunctionality.d.ts","sourceRoot":"","sources":["../../src/useCode/useCopyFunctionality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,UAAU,yBAAyB;IACjC,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,QAAQ,GACT,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { stringOrHastToString } from "../pipeline/hastUtils/index.js";
|
|
4
|
+
import { useCopier } from "../useCopier/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Hook for managing copy-to-clipboard functionality
|
|
7
|
+
*/
|
|
8
|
+
export function useCopyFunctionality(_ref) {
|
|
9
|
+
var selectedFile = _ref.selectedFile,
|
|
10
|
+
copyOpts = _ref.copyOpts;
|
|
11
|
+
var sourceFileToText = React.useCallback(function () {
|
|
12
|
+
if (!selectedFile) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
if (typeof selectedFile === 'string') {
|
|
16
|
+
return selectedFile;
|
|
17
|
+
}
|
|
18
|
+
if (selectedFile && _typeof(selectedFile) === 'object' && 'hastJson' in selectedFile) {
|
|
19
|
+
return selectedFile.hastJson;
|
|
20
|
+
}
|
|
21
|
+
return stringOrHastToString(selectedFile);
|
|
22
|
+
}, [selectedFile]);
|
|
23
|
+
var _useCopier = useCopier(sourceFileToText, copyOpts),
|
|
24
|
+
copy = _useCopier.copy;
|
|
25
|
+
return {
|
|
26
|
+
copy: copy
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { VariantSource } from "../CodeHighlighter/types.js";
|
|
3
|
+
type Source = VariantSource;
|
|
4
|
+
interface TransformedFile {
|
|
5
|
+
name: string;
|
|
6
|
+
originalName: string;
|
|
7
|
+
source: Source;
|
|
8
|
+
component: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
interface TransformedFiles {
|
|
11
|
+
files: TransformedFile[];
|
|
12
|
+
filenameMap: {
|
|
13
|
+
[originalName: string]: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
interface UseFileNavigationProps {
|
|
17
|
+
selectedVariant: any;
|
|
18
|
+
transformedFiles: TransformedFiles | undefined;
|
|
19
|
+
mainSlug?: string;
|
|
20
|
+
selectedVariantKey?: string;
|
|
21
|
+
variantKeys?: string[];
|
|
22
|
+
shouldHighlight: boolean;
|
|
23
|
+
initialVariant?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface UseFileNavigationResult {
|
|
26
|
+
selectedFileName: string | undefined;
|
|
27
|
+
selectedFile: any;
|
|
28
|
+
selectedFileComponent: React.ReactNode;
|
|
29
|
+
files: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
slug?: string;
|
|
32
|
+
component: React.ReactNode;
|
|
33
|
+
}>;
|
|
34
|
+
selectFileName: (fileName: string) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Hook for managing file selection and navigation within a code variant
|
|
38
|
+
*/
|
|
39
|
+
export declare function useFileNavigation({
|
|
40
|
+
selectedVariant,
|
|
41
|
+
transformedFiles,
|
|
42
|
+
mainSlug,
|
|
43
|
+
selectedVariantKey,
|
|
44
|
+
variantKeys,
|
|
45
|
+
initialVariant,
|
|
46
|
+
shouldHighlight
|
|
47
|
+
}: UseFileNavigationProps): UseFileNavigationResult;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileNavigation.d.ts","sourceRoot":"","sources":["../../src/useCode/useFileNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,KAAK,MAAM,GAAG,aAAa,CAAC;AA0D5B,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,UAAU,sBAAsB;IAC9B,eAAe,EAAE,GAAG,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,GAAG,CAAC;IAClB,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC1E,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,gBAAgB,EAChB,QAAa,EACb,kBAAuB,EACvB,WAAgB,EAChB,cAAc,EACd,eAAe,GAChB,EAAE,sBAAsB,GAAG,uBAAuB,CAkYlD"}
|