@mui/internal-docs-infra 0.1.0 → 0.1.1-alpha.0
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/README.md +3 -1
- package/build/CodeControllerContext/CodeControllerContext.d.ts +22 -0
- package/build/CodeControllerContext/CodeControllerContext.js +21 -0
- package/build/CodeControllerContext/index.d.ts +1 -0
- package/build/CodeControllerContext/index.js +16 -0
- package/build/CodeHighlighter/CodeHighlighter.d.ts +2 -0
- package/build/CodeHighlighter/CodeHighlighter.js +329 -0
- package/build/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
- package/build/CodeHighlighter/CodeHighlighterClient.js +406 -0
- package/build/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
- package/build/CodeHighlighter/CodeHighlighterContext.js +22 -0
- package/build/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
- package/build/CodeHighlighter/CodeHighlighterFallbackContext.js +18 -0
- package/build/CodeHighlighter/applyTransform.d.ts +19 -0
- package/build/CodeHighlighter/applyTransform.js +83 -0
- package/build/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
- package/build/CodeHighlighter/codeToFallbackProps.js +77 -0
- package/build/CodeHighlighter/errors.d.ts +0 -0
- package/build/CodeHighlighter/errors.js +2 -0
- package/build/CodeHighlighter/hasAllVariants.d.ts +2 -0
- package/build/CodeHighlighter/hasAllVariants.js +37 -0
- package/build/CodeHighlighter/index.d.ts +4 -0
- package/build/CodeHighlighter/index.js +49 -0
- package/build/CodeHighlighter/loadFallbackCode.d.ts +9 -0
- package/build/CodeHighlighter/loadFallbackCode.js +474 -0
- package/build/CodeHighlighter/loadVariant.d.ts +11 -0
- package/build/CodeHighlighter/loadVariant.js +715 -0
- package/build/CodeHighlighter/maybeInitialData.d.ts +10 -0
- package/build/CodeHighlighter/maybeInitialData.js +101 -0
- package/build/CodeHighlighter/parseCode.d.ts +6 -0
- package/build/CodeHighlighter/parseCode.js +129 -0
- package/build/CodeHighlighter/parseControlledCode.d.ts +6 -0
- package/build/CodeHighlighter/parseControlledCode.js +83 -0
- package/build/CodeHighlighter/transformCode.d.ts +20 -0
- package/build/CodeHighlighter/transformCode.js +231 -0
- package/build/CodeHighlighter/transformParsedSource.d.ts +3 -0
- package/build/CodeHighlighter/transformParsedSource.js +73 -0
- package/build/CodeHighlighter/transformSource.d.ts +2 -0
- package/build/CodeHighlighter/transformSource.js +114 -0
- package/build/CodeHighlighter/types.d.ts +138 -0
- package/build/CodeHighlighter/types.js +5 -0
- package/build/CodeProvider/CodeContext.d.ts +12 -0
- package/build/CodeProvider/CodeContext.js +14 -0
- package/build/CodeProvider/CodeProvider.d.ts +13 -0
- package/build/CodeProvider/CodeProvider.js +57 -0
- package/build/CodeProvider/index.d.ts +2 -0
- package/build/CodeProvider/index.js +27 -0
- package/build/README.md +19 -0
- package/build/esm/CodeControllerContext/CodeControllerContext.d.ts +22 -0
- package/build/esm/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
- package/build/esm/CodeControllerContext/CodeControllerContext.js +14 -0
- package/build/esm/CodeControllerContext/index.d.ts +1 -0
- package/build/esm/CodeControllerContext/index.d.ts.map +1 -0
- package/build/esm/CodeControllerContext/index.js +1 -0
- package/build/esm/CodeHighlighter/CodeHighlighter.d.ts +2 -0
- package/build/esm/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/CodeHighlighter.js +321 -0
- package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
- package/build/esm/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/CodeHighlighterClient.js +399 -0
- package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
- package/build/esm/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/CodeHighlighterContext.js +14 -0
- package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
- package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
- package/build/esm/CodeHighlighter/applyTransform.d.ts +19 -0
- package/build/esm/CodeHighlighter/applyTransform.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/applyTransform.js +75 -0
- package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
- package/build/esm/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/codeToFallbackProps.js +70 -0
- package/build/esm/CodeHighlighter/errors.d.ts +0 -0
- package/build/esm/CodeHighlighter/errors.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/errors.js +1 -0
- package/build/esm/CodeHighlighter/hasAllVariants.d.ts +2 -0
- package/build/esm/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/hasAllVariants.js +31 -0
- package/build/esm/CodeHighlighter/index.d.ts +4 -0
- package/build/esm/CodeHighlighter/index.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/index.js +4 -0
- package/build/esm/CodeHighlighter/loadFallbackCode.d.ts +9 -0
- package/build/esm/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/loadFallbackCode.js +468 -0
- package/build/esm/CodeHighlighter/loadVariant.d.ts +11 -0
- package/build/esm/CodeHighlighter/loadVariant.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/loadVariant.js +708 -0
- package/build/esm/CodeHighlighter/maybeInitialData.d.ts +10 -0
- package/build/esm/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/maybeInitialData.js +94 -0
- package/build/esm/CodeHighlighter/parseCode.d.ts +6 -0
- package/build/esm/CodeHighlighter/parseCode.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/parseCode.js +122 -0
- package/build/esm/CodeHighlighter/parseControlledCode.d.ts +6 -0
- package/build/esm/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/parseControlledCode.js +76 -0
- package/build/esm/CodeHighlighter/transformCode.d.ts +20 -0
- package/build/esm/CodeHighlighter/transformCode.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/transformCode.js +223 -0
- package/build/esm/CodeHighlighter/transformParsedSource.d.ts +3 -0
- package/build/esm/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/transformParsedSource.js +66 -0
- package/build/esm/CodeHighlighter/transformSource.d.ts +2 -0
- package/build/esm/CodeHighlighter/transformSource.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/transformSource.js +107 -0
- package/build/esm/CodeHighlighter/types.d.ts +138 -0
- package/build/esm/CodeHighlighter/types.d.ts.map +1 -0
- package/build/esm/CodeHighlighter/types.js +1 -0
- package/build/esm/CodeProvider/CodeContext.d.ts +12 -0
- package/build/esm/CodeProvider/CodeContext.d.ts.map +1 -0
- package/build/esm/CodeProvider/CodeContext.js +8 -0
- package/build/esm/CodeProvider/CodeProvider.d.ts +13 -0
- package/build/esm/CodeProvider/CodeProvider.d.ts.map +1 -0
- package/build/esm/CodeProvider/CodeProvider.js +50 -0
- package/build/esm/CodeProvider/index.d.ts +2 -0
- package/build/esm/CodeProvider/index.d.ts.map +1 -0
- package/build/esm/CodeProvider/index.js +2 -0
- package/build/esm/hast/hast.d.ts +11 -0
- package/build/esm/hast/hast.d.ts.map +1 -0
- package/build/esm/hast/hast.js +66 -0
- package/build/esm/hast/index.d.ts +1 -0
- package/build/esm/hast/index.d.ts.map +1 -0
- package/build/esm/hast/index.js +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
- package/build/esm/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/index.js +4 -0
- package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
- package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
- package/build/esm/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
- package/build/esm/loadServerCodeMeta/index.d.ts +1 -0
- package/build/esm/loadServerCodeMeta/index.d.ts.map +1 -0
- package/build/esm/loadServerCodeMeta/index.js +1 -0
- package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
- package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
- package/build/esm/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
- package/build/esm/loadServerSource/index.d.ts +1 -0
- package/build/esm/loadServerSource/index.d.ts.map +1 -0
- package/build/esm/loadServerSource/index.js +1 -0
- package/build/esm/loadServerSource/serverLoadSource.d.ts +25 -0
- package/build/esm/loadServerSource/serverLoadSource.d.ts.map +1 -0
- package/build/esm/loadServerSource/serverLoadSource.js +100 -0
- package/build/esm/loaderUtils/getFileNameFromUrl.d.ts +11 -0
- package/build/esm/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
- package/build/esm/loaderUtils/getFileNameFromUrl.js +32 -0
- package/build/esm/loaderUtils/index.d.ts +5 -0
- package/build/esm/loaderUtils/index.d.ts.map +1 -0
- package/build/esm/loaderUtils/index.js +5 -0
- package/build/esm/loaderUtils/processImports.d.ts +19 -0
- package/build/esm/loaderUtils/processImports.d.ts.map +1 -0
- package/build/esm/loaderUtils/processImports.js +82 -0
- package/build/esm/loaderUtils/resolveImports.d.ts +4 -0
- package/build/esm/loaderUtils/resolveImports.d.ts.map +1 -0
- package/build/esm/loaderUtils/resolveImports.js +71 -0
- package/build/esm/loaderUtils/resolveModulePath.d.ts +74 -0
- package/build/esm/loaderUtils/resolveModulePath.d.ts.map +1 -0
- package/build/esm/loaderUtils/resolveModulePath.js +827 -0
- package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
- package/build/esm/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
- package/build/esm/loaderUtils/resolveModulePathWithFs.js +159 -0
- package/build/esm/loaderUtils/rewriteImports.d.ts +9 -0
- package/build/esm/loaderUtils/rewriteImports.d.ts.map +1 -0
- package/build/esm/loaderUtils/rewriteImports.js +57 -0
- package/build/esm/parseSource/grammars.d.ts +2 -0
- package/build/esm/parseSource/grammars.d.ts.map +1 -0
- package/build/esm/parseSource/grammars.js +27 -0
- package/build/esm/parseSource/index.d.ts +1 -0
- package/build/esm/parseSource/index.d.ts.map +1 -0
- package/build/esm/parseSource/index.js +1 -0
- package/build/esm/parseSource/parseSource.d.ts +3 -0
- package/build/esm/parseSource/parseSource.d.ts.map +1 -0
- package/build/esm/parseSource/parseSource.js +37 -0
- package/build/esm/transformRelativeMarkdownPaths/index.d.ts +2 -0
- package/build/esm/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
- package/build/esm/transformRelativeMarkdownPaths/index.js +4 -0
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
- package/build/esm/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
- package/build/esm/transformTsToJs/index.d.ts +1 -0
- package/build/esm/transformTsToJs/index.d.ts.map +1 -0
- package/build/esm/transformTsToJs/index.js +1 -0
- package/build/esm/transformTsToJs/removeTypes.d.ts +13 -0
- package/build/esm/transformTsToJs/removeTypes.d.ts.map +1 -0
- package/build/esm/transformTsToJs/removeTypes.js +134 -0
- package/build/esm/transformTsToJs/transformTsToJs.d.ts +3 -0
- package/build/esm/transformTsToJs/transformTsToJs.d.ts.map +1 -0
- package/build/esm/transformTsToJs/transformTsToJs.js +34 -0
- package/build/esm/useCode/index.d.ts +1 -0
- package/build/esm/useCode/index.d.ts.map +1 -0
- package/build/esm/useCode/index.js +1 -0
- package/build/esm/useCode/useCode.d.ts +37 -0
- package/build/esm/useCode/useCode.d.ts.map +1 -0
- package/build/esm/useCode/useCode.js +393 -0
- package/{esm → build/esm}/useDemo/index.d.ts +12 -24
- package/build/esm/useDemo/index.d.ts.map +1 -0
- package/build/esm/useDemo/index.js +17 -0
- package/build/esm/useOnHydrate/index.d.ts +1 -0
- package/build/esm/useOnHydrate/index.d.ts.map +1 -0
- package/build/esm/useOnHydrate/index.js +1 -0
- package/build/esm/useOnHydrate/useOnHydrate.d.ts +1 -0
- package/build/esm/useOnHydrate/useOnHydrate.d.ts.map +1 -0
- package/build/esm/useOnHydrate/useOnHydrate.js +18 -0
- package/build/esm/useOnIdle/index.d.ts +1 -0
- package/build/esm/useOnIdle/index.d.ts.map +1 -0
- package/build/esm/useOnIdle/index.js +1 -0
- package/build/esm/useOnIdle/useOnIdle.d.ts +1 -0
- package/build/esm/useOnIdle/useOnIdle.d.ts.map +1 -0
- package/build/esm/useOnIdle/useOnIdle.js +39 -0
- package/build/hast/hast.d.ts +11 -0
- package/build/hast/hast.js +75 -0
- package/build/hast/index.d.ts +1 -0
- package/build/hast/index.js +16 -0
- package/build/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
- package/build/loadPrecomputedCodeHighlighter/index.js +9 -0
- package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
- package/build/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +201 -0
- package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
- package/build/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +248 -0
- package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
- package/build/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +174 -0
- package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
- package/build/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +43 -0
- package/build/loadServerCodeMeta/index.d.ts +1 -0
- package/build/loadServerCodeMeta/index.js +16 -0
- package/build/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
- package/build/loadServerCodeMeta/serverLoadCodeMeta.js +85 -0
- package/build/loadServerSource/index.d.ts +1 -0
- package/build/loadServerSource/index.js +16 -0
- package/build/loadServerSource/serverLoadSource.d.ts +25 -0
- package/build/loadServerSource/serverLoadSource.js +108 -0
- package/build/loaderUtils/getFileNameFromUrl.d.ts +11 -0
- package/build/loaderUtils/getFileNameFromUrl.js +38 -0
- package/build/loaderUtils/index.d.ts +5 -0
- package/build/loaderUtils/index.js +60 -0
- package/build/loaderUtils/processImports.d.ts +19 -0
- package/build/loaderUtils/processImports.js +89 -0
- package/build/loaderUtils/resolveImports.d.ts +4 -0
- package/build/loaderUtils/resolveImports.js +78 -0
- package/build/loaderUtils/resolveModulePath.d.ts +74 -0
- package/build/loaderUtils/resolveModulePath.js +835 -0
- package/build/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
- package/build/loaderUtils/resolveModulePathWithFs.js +163 -0
- package/build/loaderUtils/rewriteImports.d.ts +9 -0
- package/build/loaderUtils/rewriteImports.js +62 -0
- package/build/package.json +101 -0
- package/build/parseSource/grammars.d.ts +2 -0
- package/build/parseSource/grammars.js +34 -0
- package/build/parseSource/index.d.ts +1 -0
- package/build/parseSource/index.js +16 -0
- package/build/parseSource/parseSource.d.ts +3 -0
- package/build/parseSource/parseSource.js +44 -0
- package/build/transformRelativeMarkdownPaths/index.d.ts +2 -0
- package/build/transformRelativeMarkdownPaths/index.js +9 -0
- package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
- package/build/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +36 -0
- package/build/transformTsToJs/index.d.ts +1 -0
- package/build/transformTsToJs/index.js +16 -0
- package/build/transformTsToJs/removeTypes.d.ts +13 -0
- package/build/transformTsToJs/removeTypes.js +141 -0
- package/build/transformTsToJs/transformTsToJs.d.ts +3 -0
- package/build/transformTsToJs/transformTsToJs.js +41 -0
- package/build/useCode/index.d.ts +1 -0
- package/build/useCode/index.js +16 -0
- package/build/useCode/useCode.d.ts +37 -0
- package/build/useCode/useCode.js +401 -0
- package/{useDemo → build/useDemo}/index.d.ts +12 -24
- package/build/useDemo/index.js +25 -0
- package/build/useOnHydrate/index.d.ts +1 -0
- package/build/useOnHydrate/index.js +16 -0
- package/build/useOnHydrate/useOnHydrate.d.ts +1 -0
- package/build/useOnHydrate/useOnHydrate.js +26 -0
- package/build/useOnIdle/index.d.ts +1 -0
- package/build/useOnIdle/index.js +16 -0
- package/build/useOnIdle/useOnIdle.d.ts +1 -0
- package/build/useOnIdle/useOnIdle.js +47 -0
- package/package.json +86 -14
- package/esm/useDemo/index.d.ts.map +0 -1
- package/esm/useDemo/index.js +0 -104
- package/useDemo/index.js +0 -112
- /package/{LICENSE → build/LICENSE} +0 -0
- /package/{esm → build/esm}/package.json +0 -0
- /package/{esm → build/esm}/useCopier/index.d.ts +0 -0
- /package/{esm → build/esm}/useCopier/index.d.ts.map +0 -0
- /package/{esm → build/esm}/useCopier/index.js +0 -0
- /package/{useCopier → build/useCopier}/index.d.ts +0 -0
- /package/{useCopier → build/useCopier}/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useCode.js";
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { UseCopierOpts } from "../useCopier/index.js";
|
|
3
|
+
import { ContentProps } from "../CodeHighlighter/types.js";
|
|
4
|
+
type UseCodeOpts = {
|
|
5
|
+
defaultOpen?: boolean;
|
|
6
|
+
copy?: UseCopierOpts;
|
|
7
|
+
githubUrlPrefix?: string;
|
|
8
|
+
codeSandboxUrlPrefix?: string;
|
|
9
|
+
stackBlitzPrefix?: string;
|
|
10
|
+
initialVariant?: string;
|
|
11
|
+
initialTransform?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface UseCodeResult {
|
|
14
|
+
component: React.ReactNode;
|
|
15
|
+
ref: React.RefObject<HTMLDivElement | null>;
|
|
16
|
+
variants: string[];
|
|
17
|
+
selectedVariant: string;
|
|
18
|
+
selectVariant: React.Dispatch<React.SetStateAction<string>>;
|
|
19
|
+
files: Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
component: React.ReactNode;
|
|
22
|
+
}>;
|
|
23
|
+
selectedFile: React.ReactNode;
|
|
24
|
+
selectedFileName: string;
|
|
25
|
+
selectFileName: React.Dispatch<React.SetStateAction<string>>;
|
|
26
|
+
expanded: boolean;
|
|
27
|
+
expand: () => void;
|
|
28
|
+
setExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
29
|
+
resetFocus: () => void;
|
|
30
|
+
copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
|
|
31
|
+
copyDisabled: boolean;
|
|
32
|
+
availableTransforms: string[];
|
|
33
|
+
selectedTransform: string | null | undefined;
|
|
34
|
+
selectTransform: (transformName: string | null) => void;
|
|
35
|
+
}
|
|
36
|
+
export declare function useCode(contentProps: ContentProps, opts?: UseCodeOpts): UseCodeResult;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCode.d.ts","sourceRoot":"","sources":["../../../src/useCode/useCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC3D,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,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;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAMD,wBAAgB,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,CA0XrF"}
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
import { toText } from 'hast-util-to-text';
|
|
6
|
+
import { toJsxRuntime } from 'hast-util-to-jsx-runtime';
|
|
7
|
+
import { useCopier } from "../useCopier/index.js";
|
|
8
|
+
import { useCodeHighlighterContextOptional } from "../CodeHighlighter/CodeHighlighterContext.js";
|
|
9
|
+
import { applyTransform } from "../CodeHighlighter/applyTransform.js";
|
|
10
|
+
function toComponent(source) {
|
|
11
|
+
return toJsxRuntime(source, {
|
|
12
|
+
Fragment: Fragment,
|
|
13
|
+
jsx: jsx,
|
|
14
|
+
jsxs: jsxs
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function useCode(contentProps, opts) {
|
|
18
|
+
var _ref = opts || {},
|
|
19
|
+
copyOpts = _ref.copy,
|
|
20
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
21
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
22
|
+
initialVariant = _ref.initialVariant,
|
|
23
|
+
initialTransform = _ref.initialTransform;
|
|
24
|
+
|
|
25
|
+
// Safely try to get context values - will be undefined if not in context
|
|
26
|
+
var context = useCodeHighlighterContextOptional();
|
|
27
|
+
var _React$useState = React.useState(defaultOpen),
|
|
28
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
29
|
+
expanded = _React$useState2[0],
|
|
30
|
+
setExpanded = _React$useState2[1];
|
|
31
|
+
var expand = React.useCallback(function () {
|
|
32
|
+
return setExpanded(true);
|
|
33
|
+
}, []);
|
|
34
|
+
var ref = React.useRef(null);
|
|
35
|
+
var resetFocus = React.useCallback(function () {
|
|
36
|
+
var _ref$current;
|
|
37
|
+
(_ref$current = ref.current) == null || _ref$current.focus();
|
|
38
|
+
}, []);
|
|
39
|
+
|
|
40
|
+
// Get the effective code - context overrides contentProps if available
|
|
41
|
+
var effectiveCode = React.useMemo(function () {
|
|
42
|
+
return (context == null ? void 0 : context.code) || contentProps.code || {};
|
|
43
|
+
}, [context == null ? void 0 : context.code, contentProps.code]);
|
|
44
|
+
|
|
45
|
+
// Get variant keys from effective code
|
|
46
|
+
var variantKeys = React.useMemo(function () {
|
|
47
|
+
return Object.keys(effectiveCode).filter(function (key) {
|
|
48
|
+
var variant = effectiveCode[key];
|
|
49
|
+
return variant && _typeof(variant) === 'object' && 'source' in variant;
|
|
50
|
+
});
|
|
51
|
+
}, [effectiveCode]);
|
|
52
|
+
var _React$useState3 = React.useState(initialVariant || variantKeys[0] || ''),
|
|
53
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
54
|
+
selectedVariantKey = _React$useState4[0],
|
|
55
|
+
setSelectedVariantKey = _React$useState4[1];
|
|
56
|
+
var selectedVariant = React.useMemo(function () {
|
|
57
|
+
var variant = effectiveCode[selectedVariantKey];
|
|
58
|
+
if (variant && _typeof(variant) === 'object' && 'source' in variant) {
|
|
59
|
+
return variant;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}, [effectiveCode, selectedVariantKey]);
|
|
63
|
+
|
|
64
|
+
// Safety check: if selectedVariant doesn't exist, fall back to first variant
|
|
65
|
+
React.useEffect(function () {
|
|
66
|
+
if (!selectedVariant && variantKeys.length > 0) {
|
|
67
|
+
setSelectedVariantKey(variantKeys[0]);
|
|
68
|
+
}
|
|
69
|
+
}, [selectedVariant, variantKeys]);
|
|
70
|
+
|
|
71
|
+
// Transform state - get available transforms from context or from the effective code data
|
|
72
|
+
var availableTransforms = React.useMemo(function () {
|
|
73
|
+
// First try to get from context
|
|
74
|
+
if (context != null && context.availableTransforms && context.availableTransforms.length > 0) {
|
|
75
|
+
return context.availableTransforms;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Otherwise, get from the effective code data
|
|
79
|
+
var transforms = new Set();
|
|
80
|
+
if (effectiveCode && selectedVariantKey) {
|
|
81
|
+
var variantCode = effectiveCode[selectedVariantKey];
|
|
82
|
+
if (variantCode && _typeof(variantCode) === 'object' && 'transforms' in variantCode && variantCode.transforms) {
|
|
83
|
+
Object.keys(variantCode.transforms).forEach(function (transformKey) {
|
|
84
|
+
transforms.add(transformKey);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return Array.from(transforms);
|
|
89
|
+
}, [context == null ? void 0 : context.availableTransforms, effectiveCode, selectedVariantKey]);
|
|
90
|
+
var _React$useState5 = React.useState(initialTransform || null),
|
|
91
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
92
|
+
selectedTransform = _React$useState6[0],
|
|
93
|
+
setSelectedTransform = _React$useState6[1];
|
|
94
|
+
|
|
95
|
+
// Memoize all transformed files based on selectedTransform
|
|
96
|
+
var transformedFiles = React.useMemo(function () {
|
|
97
|
+
// Only create transformed files when there's actually a transform selected
|
|
98
|
+
if (!selectedVariant || !selectedTransform) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
var files = [];
|
|
102
|
+
var filenameMap = {};
|
|
103
|
+
|
|
104
|
+
// Helper function to apply transform to a source
|
|
105
|
+
var applyTransformToSource = function applyTransformToSource(source, fileName, transforms) {
|
|
106
|
+
if (!(transforms != null && transforms[selectedTransform])) {
|
|
107
|
+
return {
|
|
108
|
+
transformedSource: source,
|
|
109
|
+
transformedName: fileName
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
// Get transform data
|
|
114
|
+
var transformData = transforms[selectedTransform];
|
|
115
|
+
if (!transformData || _typeof(transformData) !== 'object' || !('delta' in transformData)) {
|
|
116
|
+
return {
|
|
117
|
+
transformedSource: source,
|
|
118
|
+
transformedName: fileName
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Apply transform
|
|
123
|
+
var result = applyTransform(source, transforms, selectedTransform);
|
|
124
|
+
var transformedName = transformData.fileName || fileName;
|
|
125
|
+
return {
|
|
126
|
+
transformedSource: result,
|
|
127
|
+
transformedName: transformedName
|
|
128
|
+
};
|
|
129
|
+
} catch (error) {
|
|
130
|
+
console.error("Transform failed for ".concat(fileName, ":"), error);
|
|
131
|
+
return {
|
|
132
|
+
transformedSource: source,
|
|
133
|
+
transformedName: fileName
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// Process main file - get transforms from selectedVariant
|
|
139
|
+
var variantTransforms = 'transforms' in selectedVariant ? selectedVariant.transforms : undefined;
|
|
140
|
+
var _applyTransformToSour = applyTransformToSource(selectedVariant.source, selectedVariant.fileName, variantTransforms),
|
|
141
|
+
mainSource = _applyTransformToSour.transformedSource,
|
|
142
|
+
mainName = _applyTransformToSour.transformedName;
|
|
143
|
+
filenameMap[selectedVariant.fileName] = mainName;
|
|
144
|
+
files.push({
|
|
145
|
+
name: mainName,
|
|
146
|
+
originalName: selectedVariant.fileName,
|
|
147
|
+
source: mainSource,
|
|
148
|
+
component: toComponent(mainSource)
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Process extra files
|
|
152
|
+
if (selectedVariant.extraFiles) {
|
|
153
|
+
Object.entries(selectedVariant.extraFiles).forEach(function (_ref2) {
|
|
154
|
+
var _transforms;
|
|
155
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
156
|
+
fileName = _ref3[0],
|
|
157
|
+
fileData = _ref3[1];
|
|
158
|
+
var source;
|
|
159
|
+
var transforms;
|
|
160
|
+
|
|
161
|
+
// Handle different extraFile structures
|
|
162
|
+
if (typeof fileData === 'string') {
|
|
163
|
+
source = fileData;
|
|
164
|
+
transforms = variantTransforms;
|
|
165
|
+
} else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
|
|
166
|
+
source = fileData.source;
|
|
167
|
+
transforms = fileData.transforms || variantTransforms;
|
|
168
|
+
} else {
|
|
169
|
+
return; // Skip invalid entries
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Apply transforms if available
|
|
173
|
+
var transformedSource = source;
|
|
174
|
+
var transformedName = fileName;
|
|
175
|
+
if ((_transforms = transforms) != null && _transforms[selectedTransform]) {
|
|
176
|
+
try {
|
|
177
|
+
var transformData = transforms[selectedTransform];
|
|
178
|
+
if (transformData && _typeof(transformData) === 'object' && 'delta' in transformData) {
|
|
179
|
+
transformedSource = applyTransform(source, transforms, selectedTransform);
|
|
180
|
+
transformedName = transformData.fileName || fileName;
|
|
181
|
+
}
|
|
182
|
+
} catch (error) {
|
|
183
|
+
console.error("Transform failed for ".concat(fileName, ":"), error);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
filenameMap[fileName] = transformedName;
|
|
187
|
+
files.push({
|
|
188
|
+
name: transformedName,
|
|
189
|
+
originalName: fileName,
|
|
190
|
+
source: transformedSource,
|
|
191
|
+
component: toComponent(transformedSource)
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
files: files,
|
|
197
|
+
filenameMap: filenameMap
|
|
198
|
+
};
|
|
199
|
+
}, [selectedVariant, selectedTransform]);
|
|
200
|
+
|
|
201
|
+
// Keep selectedFileName as untransformed filename for internal tracking
|
|
202
|
+
var _React$useState7 = React.useState((selectedVariant == null ? void 0 : selectedVariant.fileName) || ''),
|
|
203
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
204
|
+
selectedFileNameInternal = _React$useState8[0],
|
|
205
|
+
setSelectedFileNameInternal = _React$useState8[1];
|
|
206
|
+
|
|
207
|
+
// Reset selectedFileName when variant changes
|
|
208
|
+
React.useEffect(function () {
|
|
209
|
+
if (selectedVariant && selectedFileNameInternal !== selectedVariant.fileName) {
|
|
210
|
+
// Only reset if current selectedFileName doesn't exist in the new variant
|
|
211
|
+
var hasFile = selectedVariant.fileName === selectedFileNameInternal || selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal];
|
|
212
|
+
if (!hasFile) {
|
|
213
|
+
setSelectedFileNameInternal(selectedVariant.fileName);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}, [selectedVariant, selectedFileNameInternal]);
|
|
217
|
+
|
|
218
|
+
// Compute the displayed filename (transformed if applicable)
|
|
219
|
+
var selectedFileName = React.useMemo(function () {
|
|
220
|
+
if (!selectedVariant) {
|
|
221
|
+
return '';
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// If we have transformed files, return the transformed name
|
|
225
|
+
if (transformedFiles) {
|
|
226
|
+
var file = transformedFiles.files.find(function (f) {
|
|
227
|
+
return f.originalName === selectedFileNameInternal;
|
|
228
|
+
});
|
|
229
|
+
return file ? file.name : selectedFileNameInternal;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// Otherwise, return the original filename
|
|
233
|
+
return selectedFileNameInternal;
|
|
234
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles]);
|
|
235
|
+
var selectedFile = React.useMemo(function () {
|
|
236
|
+
if (!selectedVariant) {
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// If we have transformed files, use them
|
|
241
|
+
if (transformedFiles) {
|
|
242
|
+
var file = transformedFiles.files.find(function (f) {
|
|
243
|
+
return f.originalName === selectedFileNameInternal;
|
|
244
|
+
});
|
|
245
|
+
return file ? file.source : null;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Otherwise, use the original untransformed files
|
|
249
|
+
if (selectedFileNameInternal === selectedVariant.fileName) {
|
|
250
|
+
return selectedVariant.source;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// Look in extraFiles
|
|
254
|
+
if (selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
|
|
255
|
+
var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
|
|
256
|
+
if (typeof extraFile === 'string') {
|
|
257
|
+
return extraFile;
|
|
258
|
+
}
|
|
259
|
+
if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
|
|
260
|
+
return extraFile.source;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return null;
|
|
264
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles]);
|
|
265
|
+
var selectedFileComponent = React.useMemo(function () {
|
|
266
|
+
if (!selectedVariant) {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// If we have transformed files, use them
|
|
271
|
+
if (transformedFiles) {
|
|
272
|
+
var file = transformedFiles.files.find(function (f) {
|
|
273
|
+
return f.originalName === selectedFileNameInternal;
|
|
274
|
+
});
|
|
275
|
+
return file ? file.component : null;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Otherwise, create component from original untransformed files
|
|
279
|
+
if (selectedFileNameInternal === selectedVariant.fileName) {
|
|
280
|
+
return toComponent(selectedVariant.source);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// Look in extraFiles
|
|
284
|
+
if (selectedVariant.extraFiles && selectedVariant.extraFiles[selectedFileNameInternal]) {
|
|
285
|
+
var extraFile = selectedVariant.extraFiles[selectedFileNameInternal];
|
|
286
|
+
var source;
|
|
287
|
+
if (typeof extraFile === 'string') {
|
|
288
|
+
source = extraFile;
|
|
289
|
+
} else if (extraFile && _typeof(extraFile) === 'object' && 'source' in extraFile) {
|
|
290
|
+
source = extraFile.source;
|
|
291
|
+
} else {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
return toComponent(source);
|
|
295
|
+
}
|
|
296
|
+
return null;
|
|
297
|
+
}, [selectedVariant, selectedFileNameInternal, transformedFiles]);
|
|
298
|
+
|
|
299
|
+
// Convert files for the return interface
|
|
300
|
+
var files = React.useMemo(function () {
|
|
301
|
+
if (!selectedVariant) {
|
|
302
|
+
return [];
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// If we have transformed files, use them
|
|
306
|
+
if (transformedFiles) {
|
|
307
|
+
return transformedFiles.files.map(function (f) {
|
|
308
|
+
return {
|
|
309
|
+
name: f.name,
|
|
310
|
+
component: f.component
|
|
311
|
+
};
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// Otherwise, create files from original untransformed data
|
|
316
|
+
var result = [{
|
|
317
|
+
name: selectedVariant.fileName,
|
|
318
|
+
component: toComponent(selectedVariant.source)
|
|
319
|
+
}];
|
|
320
|
+
if (selectedVariant.extraFiles) {
|
|
321
|
+
Object.entries(selectedVariant.extraFiles).forEach(function (_ref4) {
|
|
322
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
323
|
+
fileName = _ref5[0],
|
|
324
|
+
fileData = _ref5[1];
|
|
325
|
+
var source;
|
|
326
|
+
if (typeof fileData === 'string') {
|
|
327
|
+
source = fileData;
|
|
328
|
+
} else if (fileData && _typeof(fileData) === 'object' && 'source' in fileData) {
|
|
329
|
+
source = fileData.source;
|
|
330
|
+
} else {
|
|
331
|
+
return; // Skip invalid entries
|
|
332
|
+
}
|
|
333
|
+
result.push({
|
|
334
|
+
name: fileName,
|
|
335
|
+
component: toComponent(source)
|
|
336
|
+
});
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
return result;
|
|
340
|
+
}, [selectedVariant, transformedFiles]);
|
|
341
|
+
var sourceFileToText = React.useCallback(function () {
|
|
342
|
+
if (!selectedFile) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
if (typeof selectedFile === 'string') {
|
|
346
|
+
return selectedFile;
|
|
347
|
+
}
|
|
348
|
+
if (selectedFile && _typeof(selectedFile) === 'object' && 'hastJson' in selectedFile) {
|
|
349
|
+
return selectedFile.hastJson;
|
|
350
|
+
}
|
|
351
|
+
return toText(selectedFile, {
|
|
352
|
+
whitespace: 'pre'
|
|
353
|
+
});
|
|
354
|
+
}, [selectedFile]);
|
|
355
|
+
var _useCopier = useCopier(sourceFileToText, copyOpts),
|
|
356
|
+
copy = _useCopier.copy,
|
|
357
|
+
copyDisabled = _useCopier.disabled;
|
|
358
|
+
|
|
359
|
+
// Function to switch to a specific transform
|
|
360
|
+
var selectTransform = React.useCallback(function (transformName) {
|
|
361
|
+
if (!transformName || availableTransforms.includes(transformName)) {
|
|
362
|
+
setSelectedTransform(transformName);
|
|
363
|
+
} else {
|
|
364
|
+
setSelectedTransform(null);
|
|
365
|
+
}
|
|
366
|
+
}, [availableTransforms]);
|
|
367
|
+
|
|
368
|
+
// Get the effective components object - context overrides contentProps
|
|
369
|
+
// Components are kept separate from variant data to maintain clean separation of concerns
|
|
370
|
+
var effectiveComponents = React.useMemo(function () {
|
|
371
|
+
return (context == null ? void 0 : context.components) || contentProps.components || {};
|
|
372
|
+
}, [context == null ? void 0 : context.components, contentProps.components]);
|
|
373
|
+
return {
|
|
374
|
+
component: effectiveComponents[selectedVariantKey] || null,
|
|
375
|
+
ref: ref,
|
|
376
|
+
variants: variantKeys,
|
|
377
|
+
selectedVariant: selectedVariantKey,
|
|
378
|
+
selectVariant: setSelectedVariantKey,
|
|
379
|
+
files: files,
|
|
380
|
+
selectedFile: selectedFileComponent,
|
|
381
|
+
selectedFileName: selectedFileName,
|
|
382
|
+
selectFileName: setSelectedFileNameInternal,
|
|
383
|
+
expanded: expanded,
|
|
384
|
+
expand: expand,
|
|
385
|
+
setExpanded: setExpanded,
|
|
386
|
+
resetFocus: resetFocus,
|
|
387
|
+
copy: copy,
|
|
388
|
+
copyDisabled: copyDisabled,
|
|
389
|
+
availableTransforms: availableTransforms,
|
|
390
|
+
selectedTransform: selectedTransform,
|
|
391
|
+
selectTransform: selectTransform
|
|
392
|
+
};
|
|
393
|
+
}
|
|
@@ -1,44 +1,29 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Nodes } from 'hast';
|
|
3
2
|
import { UseCopierOpts } from "../useCopier/index.js";
|
|
4
|
-
|
|
5
|
-
export type Variant = {
|
|
6
|
-
component: React.ReactNode;
|
|
7
|
-
fileName: string;
|
|
8
|
-
source: Source;
|
|
9
|
-
extraSource?: {
|
|
10
|
-
[key: string]: Source;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export type Demo = {
|
|
14
|
-
name?: string;
|
|
15
|
-
slug?: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
variants: {
|
|
18
|
-
[key: string]: Variant;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
3
|
+
import { ContentProps } from "../CodeHighlighter/types.js";
|
|
21
4
|
type UseDemoOpts = {
|
|
22
5
|
defaultOpen?: boolean;
|
|
23
6
|
copy?: UseCopierOpts;
|
|
24
7
|
githubUrlPrefix?: string;
|
|
25
8
|
codeSandboxUrlPrefix?: string;
|
|
26
9
|
stackBlitzPrefix?: string;
|
|
10
|
+
initialVariant?: string;
|
|
11
|
+
initialTransform?: string;
|
|
27
12
|
};
|
|
28
|
-
export declare function useDemo(
|
|
29
|
-
component: React.ReactNode;
|
|
13
|
+
export declare function useDemo(contentProps: ContentProps, opts?: UseDemoOpts): {
|
|
30
14
|
name: string | undefined;
|
|
31
15
|
slug: string | undefined;
|
|
32
16
|
description: string | undefined;
|
|
17
|
+
component: React.ReactNode;
|
|
33
18
|
ref: React.RefObject<HTMLDivElement | null>;
|
|
34
19
|
variants: string[];
|
|
35
20
|
selectedVariant: string;
|
|
36
21
|
selectVariant: React.Dispatch<React.SetStateAction<string>>;
|
|
37
|
-
files: {
|
|
22
|
+
files: Array<{
|
|
38
23
|
name: string;
|
|
39
|
-
component:
|
|
40
|
-
}
|
|
41
|
-
selectedFile:
|
|
24
|
+
component: React.ReactNode;
|
|
25
|
+
}>;
|
|
26
|
+
selectedFile: React.ReactNode;
|
|
42
27
|
selectedFileName: string;
|
|
43
28
|
selectFileName: React.Dispatch<React.SetStateAction<string>>;
|
|
44
29
|
expanded: boolean;
|
|
@@ -47,5 +32,8 @@ export declare function useDemo(demo: Demo, opts?: UseDemoOpts): {
|
|
|
47
32
|
resetFocus: () => void;
|
|
48
33
|
copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
|
|
49
34
|
copyDisabled: boolean;
|
|
35
|
+
availableTransforms: string[];
|
|
36
|
+
selectedTransform: string | null | undefined;
|
|
37
|
+
selectTransform: (transformName: string | null) => void;
|
|
50
38
|
};
|
|
51
39
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useDemo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,wBAAgB,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import kebabCase from 'kebab-case';
|
|
4
|
+
import { useCode } from "../useCode/index.js";
|
|
5
|
+
// TODO: take initialVariant and initialTransforms as parameters
|
|
6
|
+
export function useDemo(contentProps, opts) {
|
|
7
|
+
var codeResult = useCode(contentProps, opts);
|
|
8
|
+
var slug = React.useMemo(function () {
|
|
9
|
+
return contentProps.slug || (contentProps.name ? kebabCase(contentProps.name, false) : undefined);
|
|
10
|
+
}, [contentProps.slug, contentProps.name]);
|
|
11
|
+
return _objectSpread(_objectSpread({}, codeResult), {}, {
|
|
12
|
+
// Demo-specific additions
|
|
13
|
+
name: contentProps.name,
|
|
14
|
+
slug: slug,
|
|
15
|
+
description: contentProps.description
|
|
16
|
+
});
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useOnHydrate.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useOnHydrate/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useOnHydrate.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useOnHydrate(callback?: () => void): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnHydrate.d.ts","sourceRoot":"","sources":["../../../src/useOnHydrate/useOnHydrate.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,WAYjD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export function useOnHydrate(callback) {
|
|
4
|
+
var _React$useState = React.useState(false),
|
|
5
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
6
|
+
isHydrated = _React$useState2[0],
|
|
7
|
+
setIsHydrated = _React$useState2[1];
|
|
8
|
+
var callbackRef = React.useRef(callback);
|
|
9
|
+
callbackRef.current = callback;
|
|
10
|
+
React.useEffect(function () {
|
|
11
|
+
if (typeof window !== 'undefined') {
|
|
12
|
+
var _callbackRef$current;
|
|
13
|
+
(_callbackRef$current = callbackRef.current) == null || _callbackRef$current.call(callbackRef);
|
|
14
|
+
setIsHydrated(true);
|
|
15
|
+
}
|
|
16
|
+
}, []);
|
|
17
|
+
return isHydrated;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useOnIdle.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useOnIdle/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useOnIdle.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useOnIdle(callback?: () => void, timeout?: number): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnIdle.d.ts","sourceRoot":"","sources":["../../../src/useOnIdle/useOnIdle.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,OAAO,SAAO,WAkC9D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export function useOnIdle(callback) {
|
|
4
|
+
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
|
|
5
|
+
var _React$useState = React.useState(false),
|
|
6
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
7
|
+
isIdle = _React$useState2[0],
|
|
8
|
+
setIsIdle = _React$useState2[1];
|
|
9
|
+
var callbackRef = React.useRef(callback);
|
|
10
|
+
callbackRef.current = callback;
|
|
11
|
+
React.useEffect(function () {
|
|
12
|
+
if (typeof window === 'undefined') {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
var handleIdle = function handleIdle() {
|
|
16
|
+
var _callbackRef$current;
|
|
17
|
+
(_callbackRef$current = callbackRef.current) == null || _callbackRef$current.call(callbackRef);
|
|
18
|
+
setIsIdle(true);
|
|
19
|
+
};
|
|
20
|
+
var idleCallbackId;
|
|
21
|
+
var timeoutId;
|
|
22
|
+
if ('requestIdleCallback' in window) {
|
|
23
|
+
idleCallbackId = window.requestIdleCallback(handleIdle, {
|
|
24
|
+
timeout: timeout
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
timeoutId = setTimeout(handleIdle, timeout);
|
|
28
|
+
}
|
|
29
|
+
return function () {
|
|
30
|
+
if (idleCallbackId && 'cancelIdleCallback' in window) {
|
|
31
|
+
window.cancelIdleCallback(idleCallbackId);
|
|
32
|
+
}
|
|
33
|
+
if (timeoutId) {
|
|
34
|
+
clearTimeout(timeoutId);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}, [timeout]);
|
|
38
|
+
return isIdle;
|
|
39
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Nodes as HastNodes } from 'hast';
|
|
2
|
+
export declare function hastToJsx(hast: HastNodes): React.ReactNode;
|
|
3
|
+
export declare function hastOrJsonToJsx(hastOrJson: HastNodes | {
|
|
4
|
+
hastJson: string;
|
|
5
|
+
}): React.ReactNode;
|
|
6
|
+
export declare function stringOrHastToString(source: string | HastNodes | {
|
|
7
|
+
hastJson: string;
|
|
8
|
+
}): string;
|
|
9
|
+
export declare function stringOrHastToJsx(source: string | HastNodes | {
|
|
10
|
+
hastJson: string;
|
|
11
|
+
}, highlighted?: boolean): React.ReactNode;
|