@mui/internal-docs-infra 0.1.0 → 0.1.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CodeControllerContext/CodeControllerContext.d.ts +22 -0
- package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
- package/CodeControllerContext/CodeControllerContext.js +14 -0
- package/CodeControllerContext/index.d.ts +1 -0
- package/CodeControllerContext/index.d.ts.map +1 -0
- package/CodeControllerContext/index.js +1 -0
- package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighter.js +321 -0
- package/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
- package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterClient.js +399 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
- package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterContext.js +14 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
- package/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
- package/CodeHighlighter/applyTransform.d.ts +19 -0
- package/CodeHighlighter/applyTransform.d.ts.map +1 -0
- package/CodeHighlighter/applyTransform.js +75 -0
- package/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
- package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
- package/CodeHighlighter/codeToFallbackProps.js +70 -0
- package/CodeHighlighter/errors.d.ts +0 -0
- package/CodeHighlighter/errors.d.ts.map +1 -0
- package/CodeHighlighter/errors.js +1 -0
- package/CodeHighlighter/hasAllVariants.d.ts +2 -0
- package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
- package/CodeHighlighter/hasAllVariants.js +31 -0
- package/CodeHighlighter/index.d.ts +4 -0
- package/CodeHighlighter/index.d.ts.map +1 -0
- package/CodeHighlighter/index.js +4 -0
- package/CodeHighlighter/loadFallbackCode.d.ts +9 -0
- package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
- package/CodeHighlighter/loadFallbackCode.js +468 -0
- package/CodeHighlighter/loadVariant.d.ts +11 -0
- package/CodeHighlighter/loadVariant.d.ts.map +1 -0
- package/CodeHighlighter/loadVariant.js +708 -0
- package/CodeHighlighter/maybeInitialData.d.ts +10 -0
- package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
- package/CodeHighlighter/maybeInitialData.js +94 -0
- package/CodeHighlighter/parseCode.d.ts +6 -0
- package/CodeHighlighter/parseCode.d.ts.map +1 -0
- package/CodeHighlighter/parseCode.js +122 -0
- package/CodeHighlighter/parseControlledCode.d.ts +6 -0
- package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
- package/CodeHighlighter/parseControlledCode.js +76 -0
- package/CodeHighlighter/transformCode.d.ts +20 -0
- package/CodeHighlighter/transformCode.d.ts.map +1 -0
- package/CodeHighlighter/transformCode.js +223 -0
- package/CodeHighlighter/transformParsedSource.d.ts +3 -0
- package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
- package/CodeHighlighter/transformParsedSource.js +66 -0
- package/CodeHighlighter/transformSource.d.ts +2 -0
- package/CodeHighlighter/transformSource.d.ts.map +1 -0
- package/CodeHighlighter/transformSource.js +107 -0
- package/CodeHighlighter/types.d.ts +138 -0
- package/CodeHighlighter/types.d.ts.map +1 -0
- package/CodeHighlighter/types.js +1 -0
- package/CodeProvider/CodeContext.d.ts +12 -0
- package/CodeProvider/CodeContext.d.ts.map +1 -0
- package/CodeProvider/CodeContext.js +8 -0
- package/CodeProvider/CodeProvider.d.ts +13 -0
- package/CodeProvider/CodeProvider.d.ts.map +1 -0
- package/CodeProvider/CodeProvider.js +50 -0
- package/CodeProvider/index.d.ts +2 -0
- package/CodeProvider/index.d.ts.map +1 -0
- package/CodeProvider/index.js +2 -0
- package/README.md +3 -1
- package/hast/hast.d.ts +11 -0
- package/hast/hast.d.ts.map +1 -0
- package/hast/hast.js +66 -0
- package/hast/index.d.ts +1 -0
- package/hast/index.d.ts.map +1 -0
- package/hast/index.js +1 -0
- package/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
- package/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/index.js +4 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
- package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
- package/loadServerCodeMeta/index.d.ts +1 -0
- package/loadServerCodeMeta/index.d.ts.map +1 -0
- package/loadServerCodeMeta/index.js +1 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
- package/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
- package/loadServerSource/index.d.ts +1 -0
- package/loadServerSource/index.d.ts.map +1 -0
- package/loadServerSource/index.js +1 -0
- package/loadServerSource/serverLoadSource.d.ts +25 -0
- package/loadServerSource/serverLoadSource.d.ts.map +1 -0
- package/loadServerSource/serverLoadSource.js +100 -0
- package/loaderUtils/getFileNameFromUrl.d.ts +11 -0
- package/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
- package/loaderUtils/getFileNameFromUrl.js +32 -0
- package/loaderUtils/index.d.ts +5 -0
- package/loaderUtils/index.d.ts.map +1 -0
- package/loaderUtils/index.js +5 -0
- package/loaderUtils/processImports.d.ts +19 -0
- package/loaderUtils/processImports.d.ts.map +1 -0
- package/loaderUtils/processImports.js +82 -0
- package/loaderUtils/resolveImports.d.ts +4 -0
- package/loaderUtils/resolveImports.d.ts.map +1 -0
- package/loaderUtils/resolveImports.js +71 -0
- package/loaderUtils/resolveModulePath.d.ts +74 -0
- package/loaderUtils/resolveModulePath.d.ts.map +1 -0
- package/loaderUtils/resolveModulePath.js +862 -0
- package/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
- package/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
- package/loaderUtils/resolveModulePathWithFs.js +159 -0
- package/loaderUtils/rewriteImports.d.ts +9 -0
- package/loaderUtils/rewriteImports.d.ts.map +1 -0
- package/loaderUtils/rewriteImports.js +57 -0
- package/package.json +20 -7
- package/parseSource/grammars.d.ts +2 -0
- package/parseSource/grammars.d.ts.map +1 -0
- package/parseSource/grammars.js +27 -0
- package/parseSource/index.d.ts +1 -0
- package/parseSource/index.d.ts.map +1 -0
- package/parseSource/index.js +1 -0
- package/parseSource/parseSource.d.ts +3 -0
- package/parseSource/parseSource.d.ts.map +1 -0
- package/parseSource/parseSource.js +37 -0
- package/transformRelativeMarkdownPaths/index.d.ts +2 -0
- package/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
- package/transformRelativeMarkdownPaths/index.js +4 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
- package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
- package/transformTsToJs/index.d.ts +1 -0
- package/transformTsToJs/index.d.ts.map +1 -0
- package/transformTsToJs/index.js +1 -0
- package/transformTsToJs/removeTypes.d.ts +13 -0
- package/transformTsToJs/removeTypes.d.ts.map +1 -0
- package/transformTsToJs/removeTypes.js +134 -0
- package/transformTsToJs/transformTsToJs.d.ts +3 -0
- package/transformTsToJs/transformTsToJs.d.ts.map +1 -0
- package/transformTsToJs/transformTsToJs.js +34 -0
- package/useCode/index.d.ts +1 -0
- package/useCode/index.d.ts.map +1 -0
- package/useCode/index.js +1 -0
- package/{esm/useDemo/index.d.ts → useCode/useCode.d.ts} +14 -28
- package/useCode/useCode.d.ts.map +1 -0
- package/useCode/useCode.js +393 -0
- package/useCopier/index.js +10 -18
- package/useDemo/index.d.ts +12 -24
- package/useDemo/index.d.ts.map +1 -0
- package/useDemo/index.js +14 -109
- package/useOnHydrate/index.d.ts +1 -0
- package/useOnHydrate/index.d.ts.map +1 -0
- package/useOnHydrate/index.js +1 -0
- package/useOnHydrate/useOnHydrate.d.ts +1 -0
- package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
- package/useOnHydrate/useOnHydrate.js +18 -0
- package/useOnIdle/index.d.ts +1 -0
- package/useOnIdle/index.d.ts.map +1 -0
- package/useOnIdle/index.js +1 -0
- package/useOnIdle/useOnIdle.d.ts +1 -0
- package/useOnIdle/useOnIdle.d.ts.map +1 -0
- package/useOnIdle/useOnIdle.js +39 -0
- package/esm/package.json +0 -1
- package/esm/useCopier/index.d.ts +0 -15
- package/esm/useCopier/index.js +0 -62
- package/esm/useDemo/index.d.ts.map +0 -1
- package/esm/useDemo/index.js +0 -104
- /package/{esm/useCopier → useCopier}/index.d.ts.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformTsToJs.d.ts","sourceRoot":"","sources":["../../../src/transformTsToJs/transformTsToJs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,eAAe,EAAE,eAO7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAG/B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
+
import { removeTypes } from "./removeTypes.js";
|
|
4
|
+
export var transformTsToJs = /*#__PURE__*/function () {
|
|
5
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(source, fileName) {
|
|
6
|
+
var transformed, transformedFileName;
|
|
7
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
8
|
+
while (1) switch (_context.prev = _context.next) {
|
|
9
|
+
case 0:
|
|
10
|
+
_context.next = 2;
|
|
11
|
+
return removeTypes(source, fileName);
|
|
12
|
+
case 2:
|
|
13
|
+
transformed = _context.sent;
|
|
14
|
+
transformedFileName = fileName.replace(/\.ts$/, '.js').replace(/\.tsx$/, '.jsx');
|
|
15
|
+
return _context.abrupt("return", {
|
|
16
|
+
js: {
|
|
17
|
+
source: transformed,
|
|
18
|
+
fileName: transformedFileName
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
case 5:
|
|
22
|
+
case "end":
|
|
23
|
+
return _context.stop();
|
|
24
|
+
}
|
|
25
|
+
}, _callee);
|
|
26
|
+
}));
|
|
27
|
+
return function transformTsToJs(_x, _x2) {
|
|
28
|
+
return _ref.apply(this, arguments);
|
|
29
|
+
};
|
|
30
|
+
}();
|
|
31
|
+
export var TsToJsTransformer = {
|
|
32
|
+
extensions: ['ts', 'tsx'],
|
|
33
|
+
transformer: transformTsToJs
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useCode.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/useCode/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
package/useCode/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useCode.js";
|
|
@@ -1,44 +1,26 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Nodes } from 'hast';
|
|
3
2
|
import { UseCopierOpts } from "../useCopier/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
};
|
|
21
|
-
type UseDemoOpts = {
|
|
3
|
+
import { ContentProps } from "../CodeHighlighter/types.js";
|
|
4
|
+
type UseCodeOpts = {
|
|
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
|
|
13
|
+
export interface UseCodeResult {
|
|
29
14
|
component: React.ReactNode;
|
|
30
|
-
name: string | undefined;
|
|
31
|
-
slug: string | undefined;
|
|
32
|
-
description: string | undefined;
|
|
33
15
|
ref: React.RefObject<HTMLDivElement | null>;
|
|
34
16
|
variants: string[];
|
|
35
17
|
selectedVariant: string;
|
|
36
18
|
selectVariant: React.Dispatch<React.SetStateAction<string>>;
|
|
37
|
-
files: {
|
|
19
|
+
files: Array<{
|
|
38
20
|
name: string;
|
|
39
|
-
component:
|
|
40
|
-
}
|
|
41
|
-
selectedFile:
|
|
21
|
+
component: React.ReactNode;
|
|
22
|
+
}>;
|
|
23
|
+
selectedFile: React.ReactNode;
|
|
42
24
|
selectedFileName: string;
|
|
43
25
|
selectFileName: React.Dispatch<React.SetStateAction<string>>;
|
|
44
26
|
expanded: boolean;
|
|
@@ -47,5 +29,9 @@ export declare function useDemo(demo: Demo, opts?: UseDemoOpts): {
|
|
|
47
29
|
resetFocus: () => void;
|
|
48
30
|
copy: (event: React.MouseEvent<HTMLButtonElement>) => Promise<void>;
|
|
49
31
|
copyDisabled: boolean;
|
|
50
|
-
|
|
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;
|
|
51
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
|
+
}
|
package/useCopier/index.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
exports.useCopier = useCopier;
|
|
9
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
-
var React = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _clipboardCopy = _interopRequireDefault(require("clipboard-copy"));
|
|
14
|
-
function useCopier(contents, opts) {
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import copyToClipboard from 'clipboard-copy';
|
|
6
|
+
export function useCopier(contents, opts) {
|
|
15
7
|
var _ref = opts || {},
|
|
16
8
|
onCopied = _ref.onCopied,
|
|
17
9
|
onError = _ref.onError,
|
|
@@ -20,13 +12,13 @@ function useCopier(contents, opts) {
|
|
|
20
12
|
timeout = _ref$timeout === void 0 ? 2000 : _ref$timeout;
|
|
21
13
|
var copyTimeoutRef = React.useRef(undefined);
|
|
22
14
|
var _React$useState = React.useState(false),
|
|
23
|
-
_React$useState2 = (
|
|
15
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
24
16
|
disabled = _React$useState2[0],
|
|
25
17
|
setDisabled = _React$useState2[1];
|
|
26
18
|
var copy = React.useCallback(/*#__PURE__*/function () {
|
|
27
|
-
var _ref2 = (
|
|
19
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {
|
|
28
20
|
var content;
|
|
29
|
-
return (
|
|
21
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
30
22
|
while (1) switch (_context.prev = _context.next) {
|
|
31
23
|
case 0:
|
|
32
24
|
clearTimeout(copyTimeoutRef.current);
|
|
@@ -38,7 +30,7 @@ function useCopier(contents, opts) {
|
|
|
38
30
|
break;
|
|
39
31
|
}
|
|
40
32
|
_context.next = 7;
|
|
41
|
-
return (
|
|
33
|
+
return copyToClipboard(content);
|
|
42
34
|
case 7:
|
|
43
35
|
onCopied == null || onCopied();
|
|
44
36
|
_context.next = 13;
|
package/useDemo/index.d.ts
CHANGED
|
@@ -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"}
|