@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,370 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { stringOrHastToJsx } from "../pipeline/hastUtils/index.js";
|
|
6
|
+
import { useUrlHashState } from "../useUrlHashState/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* Converts a string to kebab-case
|
|
9
|
+
* @param str - The string to convert
|
|
10
|
+
* @returns kebab-case string
|
|
11
|
+
*/
|
|
12
|
+
function toKebabCase(str) {
|
|
13
|
+
return str
|
|
14
|
+
// Insert a dash before any uppercase letter that follows a lowercase letter or digit
|
|
15
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase().replace(/[^a-z0-9.]+/g, '-').replace(/^-+|-+$/g, '');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Generates a file slug based on main slug, file name, and variant name
|
|
20
|
+
* @param mainSlug - The main component/demo slug
|
|
21
|
+
* @param fileName - The file name
|
|
22
|
+
* @param variantName - The variant name
|
|
23
|
+
* @param isInitialVariant - Whether this is the initial/default variant
|
|
24
|
+
* @returns Generated file slug
|
|
25
|
+
*/
|
|
26
|
+
function generateFileSlug(mainSlug, fileName, variantName, isInitialVariant) {
|
|
27
|
+
// Extract base name from filename (strip extension)
|
|
28
|
+
var lastDotIndex = fileName.lastIndexOf('.');
|
|
29
|
+
var baseName = lastDotIndex !== -1 ? fileName.substring(0, lastDotIndex) : fileName;
|
|
30
|
+
var extension = lastDotIndex !== -1 ? fileName.substring(lastDotIndex) : '';
|
|
31
|
+
|
|
32
|
+
// Convert to kebab-case
|
|
33
|
+
var kebabMainSlug = toKebabCase(mainSlug);
|
|
34
|
+
var kebabBaseName = toKebabCase(baseName);
|
|
35
|
+
var kebabVariantName = toKebabCase(variantName);
|
|
36
|
+
|
|
37
|
+
// Reconstruct filename with kebab-case base name but preserved extension
|
|
38
|
+
var kebabFileName = "".concat(kebabBaseName).concat(extension);
|
|
39
|
+
|
|
40
|
+
// Handle empty main slug case
|
|
41
|
+
if (!kebabMainSlug) {
|
|
42
|
+
return kebabFileName;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Format: mainSlug:fileName.ext (for initial variant) or mainSlug:variantName:fileName.ext
|
|
46
|
+
if (isInitialVariant) {
|
|
47
|
+
return "".concat(kebabMainSlug, ":").concat(kebabFileName);
|
|
48
|
+
}
|
|
49
|
+
return "".concat(kebabMainSlug, ":").concat(kebabVariantName, ":").concat(kebabFileName);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Hook for managing file selection and navigation within a code variant
|
|
53
|
+
*/
|
|
54
|
+
export function useFileNavigation(_ref) {
|
|
55
|
+
var selectedVariant = _ref.selectedVariant,
|
|
56
|
+
transformedFiles = _ref.transformedFiles,
|
|
57
|
+
_ref$mainSlug = _ref.mainSlug,
|
|
58
|
+
mainSlug = _ref$mainSlug === void 0 ? '' : _ref$mainSlug,
|
|
59
|
+
_ref$selectedVariantK = _ref.selectedVariantKey,
|
|
60
|
+
selectedVariantKey = _ref$selectedVariantK === void 0 ? '' : _ref$selectedVariantK,
|
|
61
|
+
_ref$variantKeys = _ref.variantKeys,
|
|
62
|
+
variantKeys = _ref$variantKeys === void 0 ? [] : _ref$variantKeys,
|
|
63
|
+
initialVariant = _ref.initialVariant,
|
|
64
|
+
shouldHighlight = _ref.shouldHighlight;
|
|
65
|
+
// Keep selectedFileName as untransformed filename for internal tracking
|
|
66
|
+
var _React$useState = React.useState(selectedVariant == null ? void 0 : selectedVariant.fileName),
|
|
67
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
68
|
+
selectedFileNameInternal = _React$useState2[0],
|
|
69
|
+
setSelectedFileNameInternal = _React$useState2[1];
|
|
70
|
+
|
|
71
|
+
// Use the new URL hash hook
|
|
72
|
+
var _useUrlHashState = useUrlHashState(),
|
|
73
|
+
hash = _useUrlHashState.hash,
|
|
74
|
+
setHash = _useUrlHashState.setHash,
|
|
75
|
+
hasUserInteraction = _useUrlHashState.hasUserInteraction,
|
|
76
|
+
markUserInteraction = _useUrlHashState.markUserInteraction;
|
|
77
|
+
|
|
78
|
+
// Helper function to check URL hash and switch to matching file
|
|
79
|
+
var checkUrlHashAndSelectFile = React.useCallback(function () {
|
|
80
|
+
if (!selectedVariant || !hash) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Check if hash matches any file slug
|
|
85
|
+
var matchingFileName;
|
|
86
|
+
|
|
87
|
+
// Determine if this is the initial variant
|
|
88
|
+
var isInitialVariant = initialVariant ? selectedVariantKey === initialVariant : variantKeys.length === 0 || selectedVariantKey === variantKeys[0];
|
|
89
|
+
|
|
90
|
+
// Check main file
|
|
91
|
+
if (selectedVariant.fileName) {
|
|
92
|
+
var mainFileSlug = generateFileSlug(mainSlug, selectedVariant.fileName, selectedVariantKey, isInitialVariant);
|
|
93
|
+
if (hash === mainFileSlug) {
|
|
94
|
+
matchingFileName = selectedVariant.fileName;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Check extra files
|
|
99
|
+
if (!matchingFileName && selectedVariant.extraFiles) {
|
|
100
|
+
for (var _i = 0, _Object$keys = Object.keys(selectedVariant.extraFiles); _i < _Object$keys.length; _i++) {
|
|
101
|
+
var fileName = _Object$keys[_i];
|
|
102
|
+
var fileSlug = generateFileSlug(mainSlug, fileName, selectedVariantKey, isInitialVariant);
|
|
103
|
+
if (hash === fileSlug) {
|
|
104
|
+
matchingFileName = fileName;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Check transformed files if available
|
|
111
|
+
if (!matchingFileName && transformedFiles) {
|
|
112
|
+
var _iterator = _createForOfIteratorHelper(transformedFiles.files),
|
|
113
|
+
_step;
|
|
114
|
+
try {
|
|
115
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
116
|
+
var file = _step.value;
|
|
117
|
+
var _fileSlug = generateFileSlug(mainSlug, file.originalName, selectedVariantKey, isInitialVariant);
|
|
118
|
+
if (hash === _fileSlug) {
|
|
119
|
+
matchingFileName = file.originalName;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
} catch (err) {
|
|
124
|
+
_iterator.e(err);
|
|
125
|
+
} finally {
|
|
126
|
+
_iterator.f();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (matchingFileName) {
|
|
130
|
+
setSelectedFileNameInternal(matchingFileName);
|
|
131
|
+
markUserInteraction(); // Mark that user has made a selection via URL
|
|
132
|
+
}
|
|
133
|
+
}, [selectedVariant, hash, transformedFiles, mainSlug, selectedVariantKey, variantKeys, initialVariant, markUserInteraction]);
|
|
134
|
+
|
|
135
|
+
// On hydration/variant change, check URL hash and switch to matching file
|
|
136
|
+
React.useEffect(function () {
|
|
137
|
+
checkUrlHashAndSelectFile();
|
|
138
|
+
}, [checkUrlHashAndSelectFile]);
|
|
139
|
+
|
|
140
|
+
// Reset selectedFileName when variant changes
|
|
141
|
+
React.useEffect(function () {
|
|
142
|
+
if (selectedVariant && selectedFileNameInternal !== selectedVariant.fileName) {
|
|
143
|
+
// Only reset if current selectedFileName doesn't exist in the new variant
|
|
144
|
+
var hasFile = selectedVariant.fileName === selectedFileNameInternal || selectedFileNameInternal && selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal];
|
|
145
|
+
if (!hasFile) {
|
|
146
|
+
setSelectedFileNameInternal(selectedVariant.fileName);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}, [selectedVariant, selectedFileNameInternal]);
|
|
150
|
+
|
|
151
|
+
// Update URL when variant changes (to reflect new slug for current file)
|
|
152
|
+
React.useEffect(function () {
|
|
153
|
+
if (!selectedVariant || typeof window === 'undefined' || !selectedFileNameInternal || !hasUserInteraction) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Determine if this is the initial variant
|
|
158
|
+
var isInitialVariant = initialVariant ? selectedVariantKey === initialVariant : variantKeys.length === 0 || selectedVariantKey === variantKeys[0];
|
|
159
|
+
|
|
160
|
+
// Generate the new slug for the currently selected file
|
|
161
|
+
var fileSlug = '';
|
|
162
|
+
if (transformedFiles) {
|
|
163
|
+
var file = transformedFiles.files.find(function (f) {
|
|
164
|
+
return f.originalName === selectedFileNameInternal;
|
|
165
|
+
});
|
|
166
|
+
if (file) {
|
|
167
|
+
fileSlug = generateFileSlug(mainSlug, file.originalName, selectedVariantKey, isInitialVariant);
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
fileSlug = generateFileSlug(mainSlug, selectedFileNameInternal, selectedVariantKey, isInitialVariant);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Update the URL hash without adding to history (replaceState)
|
|
174
|
+
if (fileSlug) {
|
|
175
|
+
setHash(fileSlug); // Use the new URL hash hook
|
|
176
|
+
}
|
|
177
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles, mainSlug, selectedVariantKey, variantKeys, initialVariant, hasUserInteraction, setHash]);
|
|
178
|
+
|
|
179
|
+
// Compute the displayed filename (transformed if applicable)
|
|
180
|
+
var selectedFileName = React.useMemo(function () {
|
|
181
|
+
if (!selectedVariant) {
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// If selectedFileNameInternal is undefined, we're selecting the main file
|
|
186
|
+
var effectiveFileName = selectedFileNameInternal || selectedVariant.fileName;
|
|
187
|
+
if (!effectiveFileName) {
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// If we have transformed files, return the transformed name
|
|
192
|
+
if (transformedFiles) {
|
|
193
|
+
var file = transformedFiles.files.find(function (f) {
|
|
194
|
+
return f.originalName === effectiveFileName;
|
|
195
|
+
});
|
|
196
|
+
return file ? file.name : effectiveFileName;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Otherwise, return the original filename
|
|
200
|
+
return effectiveFileName;
|
|
201
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles]);
|
|
202
|
+
var selectedFile = React.useMemo(function () {
|
|
203
|
+
if (!selectedVariant) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// If we have transformed files, use them
|
|
208
|
+
if (transformedFiles) {
|
|
209
|
+
var effectiveFileName = selectedFileNameInternal || selectedVariant.fileName;
|
|
210
|
+
var file = transformedFiles.files.find(function (f) {
|
|
211
|
+
return f.originalName === effectiveFileName;
|
|
212
|
+
});
|
|
213
|
+
return file ? file.source : null;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Otherwise, use the original untransformed files
|
|
217
|
+
if (selectedFileNameInternal === selectedVariant.fileName || !selectedFileNameInternal) {
|
|
218
|
+
return selectedVariant.source;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// Look in extraFiles
|
|
222
|
+
if (selectedFileNameInternal && selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
|
|
223
|
+
var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
|
|
224
|
+
if (typeof extraFile === 'string') {
|
|
225
|
+
return extraFile;
|
|
226
|
+
}
|
|
227
|
+
if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
|
|
228
|
+
return extraFile.source;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return null;
|
|
232
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles]);
|
|
233
|
+
var selectedFileComponent = React.useMemo(function () {
|
|
234
|
+
if (!selectedVariant) {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// If we have transformed files, use them
|
|
239
|
+
if (transformedFiles) {
|
|
240
|
+
var file = transformedFiles.files.find(function (f) {
|
|
241
|
+
return f.originalName === selectedFileNameInternal;
|
|
242
|
+
});
|
|
243
|
+
return file ? file.component : null;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// Otherwise, create component from original untransformed files
|
|
247
|
+
if (selectedFileNameInternal === selectedVariant.fileName || !selectedFileNameInternal) {
|
|
248
|
+
return stringOrHastToJsx(selectedVariant.source, shouldHighlight);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Look in extraFiles
|
|
252
|
+
if (selectedFileNameInternal && selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
|
|
253
|
+
var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
|
|
254
|
+
var source;
|
|
255
|
+
if (typeof extraFile === 'string') {
|
|
256
|
+
source = extraFile;
|
|
257
|
+
} else if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
|
|
258
|
+
source = extraFile.source;
|
|
259
|
+
} else {
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
262
|
+
return stringOrHastToJsx(source, shouldHighlight);
|
|
263
|
+
}
|
|
264
|
+
return null;
|
|
265
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles, shouldHighlight]);
|
|
266
|
+
|
|
267
|
+
// Convert files for the return interface
|
|
268
|
+
var files = React.useMemo(function () {
|
|
269
|
+
if (!selectedVariant) {
|
|
270
|
+
return [];
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Determine if this is the initial variant
|
|
274
|
+
var isInitialVariant = initialVariant ? selectedVariantKey === initialVariant : variantKeys.length === 0 || selectedVariantKey === variantKeys[0];
|
|
275
|
+
|
|
276
|
+
// If we have transformed files, use them
|
|
277
|
+
if (transformedFiles) {
|
|
278
|
+
return transformedFiles.files.map(function (f) {
|
|
279
|
+
return {
|
|
280
|
+
name: f.name,
|
|
281
|
+
slug: generateFileSlug(mainSlug, f.originalName, selectedVariantKey, isInitialVariant),
|
|
282
|
+
component: f.component
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Otherwise, create files from original untransformed data
|
|
288
|
+
var result = [];
|
|
289
|
+
|
|
290
|
+
// Only add main file if it has a fileName
|
|
291
|
+
if (selectedVariant.fileName) {
|
|
292
|
+
result.push({
|
|
293
|
+
name: selectedVariant.fileName,
|
|
294
|
+
slug: generateFileSlug(mainSlug, selectedVariant.fileName, selectedVariantKey, isInitialVariant),
|
|
295
|
+
component: stringOrHastToJsx(selectedVariant.source, shouldHighlight)
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
if (selectedVariant.extraFiles) {
|
|
299
|
+
Object.entries(selectedVariant.extraFiles).forEach(function (_ref2) {
|
|
300
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
301
|
+
fileName = _ref3[0],
|
|
302
|
+
fileData = _ref3[1];
|
|
303
|
+
var source;
|
|
304
|
+
if (typeof fileData === 'string') {
|
|
305
|
+
source = fileData;
|
|
306
|
+
} else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
|
|
307
|
+
source = fileData.source;
|
|
308
|
+
} else {
|
|
309
|
+
return; // Skip invalid entries
|
|
310
|
+
}
|
|
311
|
+
result.push({
|
|
312
|
+
name: fileName,
|
|
313
|
+
slug: generateFileSlug(mainSlug, fileName, selectedVariantKey, isInitialVariant),
|
|
314
|
+
component: stringOrHastToJsx(source, shouldHighlight)
|
|
315
|
+
});
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}, [selectedVariant, transformedFiles, mainSlug, selectedVariantKey, variantKeys, initialVariant, shouldHighlight]);
|
|
320
|
+
|
|
321
|
+
// Create a wrapper for selectFileName that handles transformed filenames and URL updates
|
|
322
|
+
var selectFileName = React.useCallback(function (fileName) {
|
|
323
|
+
if (!selectedVariant) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
var targetFileName = fileName;
|
|
327
|
+
var fileSlug = '';
|
|
328
|
+
|
|
329
|
+
// Determine if this is the initial variant
|
|
330
|
+
var isInitialVariant = initialVariant ? selectedVariantKey === initialVariant : variantKeys.length === 0 || selectedVariantKey === variantKeys[0];
|
|
331
|
+
|
|
332
|
+
// If we have transformed files, we need to reverse-lookup the original filename
|
|
333
|
+
if (transformedFiles) {
|
|
334
|
+
// Check if the fileName is a transformed name - if so, find the original
|
|
335
|
+
var fileByTransformedName = transformedFiles.files.find(function (f) {
|
|
336
|
+
return f.name === fileName;
|
|
337
|
+
});
|
|
338
|
+
if (fileByTransformedName) {
|
|
339
|
+
targetFileName = fileByTransformedName.originalName;
|
|
340
|
+
fileSlug = generateFileSlug(mainSlug, fileByTransformedName.originalName, selectedVariantKey, isInitialVariant);
|
|
341
|
+
} else {
|
|
342
|
+
// Check if the fileName is already an original name
|
|
343
|
+
var fileByOriginalName = transformedFiles.files.find(function (f) {
|
|
344
|
+
return f.originalName === fileName;
|
|
345
|
+
});
|
|
346
|
+
if (fileByOriginalName) {
|
|
347
|
+
targetFileName = fileName;
|
|
348
|
+
fileSlug = generateFileSlug(mainSlug, fileName, selectedVariantKey, isInitialVariant);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
} else {
|
|
352
|
+
// No transformed files, generate slug directly
|
|
353
|
+
fileSlug = generateFileSlug(mainSlug, fileName, selectedVariantKey, isInitialVariant);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
// Update the URL hash without adding to history (replaceState)
|
|
357
|
+
if (typeof window !== 'undefined' && fileSlug) {
|
|
358
|
+
setHash(fileSlug); // Use the new URL hash hook
|
|
359
|
+
}
|
|
360
|
+
markUserInteraction(); // Mark that user has made an explicit selection
|
|
361
|
+
setSelectedFileNameInternal(targetFileName);
|
|
362
|
+
}, [selectedVariant, transformedFiles, mainSlug, selectedVariantKey, variantKeys, initialVariant, setHash, markUserInteraction]);
|
|
363
|
+
return {
|
|
364
|
+
selectedFileName: selectedFileName,
|
|
365
|
+
selectedFile: selectedFile,
|
|
366
|
+
selectedFileComponent: selectedFileComponent,
|
|
367
|
+
files: files,
|
|
368
|
+
selectFileName: selectFileName
|
|
369
|
+
};
|
|
370
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface UseSourceEditingProps {
|
|
2
|
+
context?: any;
|
|
3
|
+
selectedVariantKey: string;
|
|
4
|
+
effectiveCode: any;
|
|
5
|
+
selectedVariant: any;
|
|
6
|
+
}
|
|
7
|
+
export interface UseSourceEditingResult {
|
|
8
|
+
setSource?: (source: string) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook for managing source code editing functionality
|
|
12
|
+
*/
|
|
13
|
+
export declare function useSourceEditing({
|
|
14
|
+
context,
|
|
15
|
+
selectedVariantKey,
|
|
16
|
+
effectiveCode,
|
|
17
|
+
selectedVariant
|
|
18
|
+
}: UseSourceEditingProps): UseSourceEditingResult;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSourceEditing.d.ts","sourceRoot":"","sources":["../../src/useCode/useSourceEditing.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,EAAE,qBAAqB,GAAG,sBAAsB,CAgChD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for managing source code editing functionality
|
|
5
|
+
*/
|
|
6
|
+
export function useSourceEditing(_ref) {
|
|
7
|
+
var context = _ref.context,
|
|
8
|
+
selectedVariantKey = _ref.selectedVariantKey,
|
|
9
|
+
effectiveCode = _ref.effectiveCode,
|
|
10
|
+
selectedVariant = _ref.selectedVariant;
|
|
11
|
+
var contextSetCode = context == null ? void 0 : context.setCode;
|
|
12
|
+
var setSource = React.useCallback(function (source) {
|
|
13
|
+
if (contextSetCode) {
|
|
14
|
+
contextSetCode(function (currentCode) {
|
|
15
|
+
var newCode = {};
|
|
16
|
+
if (!currentCode) {
|
|
17
|
+
newCode = _objectSpread({}, effectiveCode); // TODO: ensure all source are strings
|
|
18
|
+
}
|
|
19
|
+
newCode[selectedVariantKey] = _objectSpread(_objectSpread({}, newCode[selectedVariantKey] || selectedVariant), {}, {
|
|
20
|
+
source: source,
|
|
21
|
+
extraFiles: {}
|
|
22
|
+
});
|
|
23
|
+
return newCode;
|
|
24
|
+
});
|
|
25
|
+
} else {
|
|
26
|
+
console.warn('setCode is not available in the current context. Ensure you are using CodeControllerContext.');
|
|
27
|
+
}
|
|
28
|
+
}, [contextSetCode, selectedVariantKey, effectiveCode, selectedVariant]);
|
|
29
|
+
return {
|
|
30
|
+
setSource: contextSetCode ? setSource : undefined
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Code } from "../CodeHighlighter/types.js";
|
|
2
|
+
interface UseTransformManagementProps {
|
|
3
|
+
context?: any;
|
|
4
|
+
effectiveCode: Code;
|
|
5
|
+
selectedVariantKey: string;
|
|
6
|
+
selectedVariant: any;
|
|
7
|
+
initialTransform?: string;
|
|
8
|
+
shouldHighlight: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface UseTransformManagementResult {
|
|
11
|
+
availableTransforms: string[];
|
|
12
|
+
selectedTransform: string | null;
|
|
13
|
+
transformedFiles: any;
|
|
14
|
+
selectTransform: (transformName: string | null) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Hook for managing code transforms and their application
|
|
18
|
+
* Uses the useLocalStorage hook for local storage persistence of transform preferences
|
|
19
|
+
*/
|
|
20
|
+
export declare function useTransformManagement({
|
|
21
|
+
context,
|
|
22
|
+
effectiveCode,
|
|
23
|
+
selectedVariantKey,
|
|
24
|
+
selectedVariant,
|
|
25
|
+
initialTransform,
|
|
26
|
+
shouldHighlight
|
|
27
|
+
}: UseTransformManagementProps): UseTransformManagementResult;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransformManagement.d.ts","sourceRoot":"","sources":["../../src/useCode/useTransformManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAIrD,UAAU,2BAA2B;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,aAAa,EAAE,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,GAAG,CAAC;IACtB,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,EAAE,2BAA2B,GAAG,4BAA4B,CAqE5D"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { getAvailableTransforms, createTransformedFiles } from "./useCodeUtils.js";
|
|
5
|
+
import useLocalStorageState from "../useLocalStorageState/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Hook for managing code transforms and their application
|
|
8
|
+
* Uses the useLocalStorage hook for local storage persistence of transform preferences
|
|
9
|
+
*/
|
|
10
|
+
export function useTransformManagement(_ref) {
|
|
11
|
+
var context = _ref.context,
|
|
12
|
+
effectiveCode = _ref.effectiveCode,
|
|
13
|
+
selectedVariantKey = _ref.selectedVariantKey,
|
|
14
|
+
selectedVariant = _ref.selectedVariant,
|
|
15
|
+
initialTransform = _ref.initialTransform,
|
|
16
|
+
shouldHighlight = _ref.shouldHighlight;
|
|
17
|
+
// Transform state - get available transforms from context or from the effective code data
|
|
18
|
+
var availableTransforms = React.useMemo(function () {
|
|
19
|
+
// First try to get from context
|
|
20
|
+
if (context != null && context.availableTransforms && context.availableTransforms.length > 0) {
|
|
21
|
+
return context.availableTransforms;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Otherwise, get from the effective code data using the utility function
|
|
25
|
+
return getAvailableTransforms(effectiveCode, selectedVariantKey);
|
|
26
|
+
}, [context == null ? void 0 : context.availableTransforms, effectiveCode, selectedVariantKey]);
|
|
27
|
+
|
|
28
|
+
// Generate storage key from sorted available transforms
|
|
29
|
+
var storageKey = React.useMemo(function () {
|
|
30
|
+
if (availableTransforms.length === 0) {
|
|
31
|
+
return null; // Don't use localStorage when no transforms are available
|
|
32
|
+
}
|
|
33
|
+
var sortedTransforms = _toConsumableArray(availableTransforms).sort();
|
|
34
|
+
return "_docs_infra_transform_prefs_".concat(sortedTransforms.join(':'));
|
|
35
|
+
}, [availableTransforms]);
|
|
36
|
+
|
|
37
|
+
// Use localStorage hook for transform persistence - this is our single source of truth
|
|
38
|
+
var _useLocalStorageState = useLocalStorageState(storageKey, function () {
|
|
39
|
+
// Don't use initialTransform as the fallback - localStorage should always take precedence
|
|
40
|
+
// We'll handle the initial transform separately below
|
|
41
|
+
return null;
|
|
42
|
+
}),
|
|
43
|
+
_useLocalStorageState2 = _slicedToArray(_useLocalStorageState, 2),
|
|
44
|
+
storedValue = _useLocalStorageState2[0],
|
|
45
|
+
setStoredValue = _useLocalStorageState2[1];
|
|
46
|
+
|
|
47
|
+
// Handle validation manually - empty string means "no transform selected"
|
|
48
|
+
var selectedTransform = React.useMemo(function () {
|
|
49
|
+
// If we have a stored value (including empty string), use it
|
|
50
|
+
if (storedValue !== null) {
|
|
51
|
+
if (storedValue === '') {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
// Validate the stored value
|
|
55
|
+
if (!availableTransforms.includes(storedValue)) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return storedValue;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// If no stored value and we have an initial transform, use it (but don't store it yet)
|
|
62
|
+
if (initialTransform && availableTransforms.includes(initialTransform)) {
|
|
63
|
+
return initialTransform;
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}, [storedValue, availableTransforms, initialTransform]);
|
|
67
|
+
var setSelectedTransformAsUser = React.useCallback(function (value) {
|
|
68
|
+
var valueToStore = value === null ? '' : value;
|
|
69
|
+
setStoredValue(valueToStore);
|
|
70
|
+
}, [setStoredValue]);
|
|
71
|
+
|
|
72
|
+
// Memoize all transformed files based on selectedTransform
|
|
73
|
+
var transformedFiles = React.useMemo(function () {
|
|
74
|
+
return createTransformedFiles(selectedVariant, selectedTransform, shouldHighlight);
|
|
75
|
+
}, [selectedVariant, selectedTransform, shouldHighlight]);
|
|
76
|
+
return {
|
|
77
|
+
availableTransforms: availableTransforms,
|
|
78
|
+
selectedTransform: selectedTransform,
|
|
79
|
+
transformedFiles: transformedFiles,
|
|
80
|
+
selectTransform: setSelectedTransformAsUser
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface UseUIStateProps {
|
|
3
|
+
defaultOpen?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface UseUIStateResult {
|
|
6
|
+
expanded: boolean;
|
|
7
|
+
expand: () => void;
|
|
8
|
+
setExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook for managing UI state like expansion and focus
|
|
12
|
+
*/
|
|
13
|
+
export declare function useUIState({
|
|
14
|
+
defaultOpen
|
|
15
|
+
}: UseUIStateProps): UseUIStateResult;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUIState.d.ts","sourceRoot":"","sources":["../../src/useCode/useUIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,UAAU,eAAe;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,WAAmB,EAAE,EAAE,eAAe,GAAG,gBAAgB,CASrF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for managing UI state like expansion and focus
|
|
5
|
+
*/
|
|
6
|
+
export function useUIState(_ref) {
|
|
7
|
+
var _ref$defaultOpen = _ref.defaultOpen,
|
|
8
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen;
|
|
9
|
+
var _React$useState = React.useState(defaultOpen),
|
|
10
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11
|
+
expanded = _React$useState2[0],
|
|
12
|
+
setExpanded = _React$useState2[1];
|
|
13
|
+
var expand = React.useCallback(function () {
|
|
14
|
+
return setExpanded(true);
|
|
15
|
+
}, []);
|
|
16
|
+
return {
|
|
17
|
+
expanded: expanded,
|
|
18
|
+
expand: expand,
|
|
19
|
+
setExpanded: setExpanded
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { Code } from "../CodeHighlighter/types.js";
|
|
3
|
+
interface UseVariantSelectionProps {
|
|
4
|
+
effectiveCode: Code;
|
|
5
|
+
initialVariant?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface UseVariantSelectionResult {
|
|
8
|
+
variantKeys: string[];
|
|
9
|
+
selectedVariantKey: string;
|
|
10
|
+
selectedVariant: any;
|
|
11
|
+
selectVariant: React.Dispatch<React.SetStateAction<string>>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Hook for managing variant selection and providing variant-related data
|
|
15
|
+
* Uses the useLocalStorage hook for local storage persistence of variant preferences
|
|
16
|
+
*/
|
|
17
|
+
export declare function useVariantSelection({
|
|
18
|
+
effectiveCode,
|
|
19
|
+
initialVariant
|
|
20
|
+
}: UseVariantSelectionProps): UseVariantSelectionResult;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVariantSelection.d.ts","sourceRoot":"","sources":["../../src/useCode/useVariantSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD,UAAU,wBAAwB;IAChC,aAAa,EAAE,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,aAAa,EACb,cAAc,GACf,EAAE,wBAAwB,GAAG,yBAAyB,CA+EtD"}
|