@mui/internal-docs-infra 0.1.1-alpha.12 → 0.1.1-alpha.13
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/CodeHighlighter/applyTransform.js +4 -4
- package/CodeHighlighter/parseCode.js +10 -10
- package/CodeHighlighter/types.d.ts +8 -3
- package/CodeHighlighter/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/pipeline/parseSource/addLineGutters.d.ts +7 -0
- package/pipeline/parseSource/addLineGutters.d.ts.map +1 -1
- package/pipeline/parseSource/addLineGutters.js +44 -0
- package/pipeline/parseSource/parseSource.d.ts.map +1 -1
- package/pipeline/parseSource/parseSource.js +1 -0
- package/useCode/useCode.d.ts +2 -3
- package/useCode/useCode.d.ts.map +1 -1
- package/useCode/useCodeUtils.d.ts +6 -7
- package/useCode/useCodeUtils.d.ts.map +1 -1
- package/useCode/useCodeUtils.js +7 -2
- package/useCode/useCopyFunctionality.d.ts +2 -1
- package/useCode/useCopyFunctionality.d.ts.map +1 -1
- package/useCode/useFileNavigation.d.ts +4 -16
- package/useCode/useFileNavigation.d.ts.map +1 -1
- package/useCode/useFileNavigation.js +23 -2
- package/useCode/useSourceEditing.d.ts +5 -3
- package/useCode/useSourceEditing.d.ts.map +1 -1
- package/useCode/useTransformManagement.d.ts +6 -4
- package/useCode/useTransformManagement.d.ts.map +1 -1
- package/useCode/useVariantSelection.d.ts +2 -2
- package/useCode/useVariantSelection.d.ts.map +1 -1
- package/useDemo/createCodeSandbox.d.ts.map +1 -1
- package/useDemo/createCodeSandbox.js +2 -3
- package/useDemo/useDemo.d.ts.map +1 -1
|
@@ -26,16 +26,16 @@ export function applyTransform(source, transforms, transformKey) {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
// For Hast node sources, deltas are typically node-based (from transformParsedSource)
|
|
29
|
-
var
|
|
29
|
+
var sourceRoot;
|
|
30
30
|
var isHastJson = 'hastJson' in source;
|
|
31
31
|
if (isHastJson) {
|
|
32
|
-
|
|
32
|
+
sourceRoot = JSON.parse(source.hastJson);
|
|
33
33
|
} else {
|
|
34
|
-
|
|
34
|
+
sourceRoot = source;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// Apply the node-based delta
|
|
38
|
-
var patchedNodes = patch(clone(
|
|
38
|
+
var patchedNodes = patch(clone(sourceRoot), transform.delta);
|
|
39
39
|
if (!patchedNodes) {
|
|
40
40
|
throw new Error("Patch for transform \"".concat(transformKey, "\" returned null/undefined"));
|
|
41
41
|
}
|
|
@@ -18,7 +18,7 @@ export function parseCode(code, parseSource) {
|
|
|
18
18
|
// Parse if source is available and not already parsed, and we have a filename to determine the file type
|
|
19
19
|
if (variantCode.source && typeof variantCode.source === 'string' && variantCode.fileName) {
|
|
20
20
|
try {
|
|
21
|
-
var
|
|
21
|
+
var hastRoot = parseSource(variantCode.source, variantCode.fileName);
|
|
22
22
|
|
|
23
23
|
// Also parse extraFiles if they contain sources that need parsing
|
|
24
24
|
var parsedExtraFiles = variantCode.extraFiles ? Object.fromEntries(Object.entries(variantCode.extraFiles).map(function (_ref) {
|
|
@@ -32,9 +32,9 @@ export function parseCode(code, parseSource) {
|
|
|
32
32
|
if (typeof fileContent.source === 'string') {
|
|
33
33
|
// Parse string source in extraFile
|
|
34
34
|
try {
|
|
35
|
-
var
|
|
35
|
+
var parsedHastRoot = parseSource(fileContent.source, fileName);
|
|
36
36
|
return [fileName, _objectSpread(_objectSpread({}, fileContent), {}, {
|
|
37
|
-
source:
|
|
37
|
+
source: parsedHastRoot
|
|
38
38
|
})];
|
|
39
39
|
} catch (error) {
|
|
40
40
|
return [fileName, fileContent]; // Keep original if parsing fails
|
|
@@ -44,7 +44,7 @@ export function parseCode(code, parseSource) {
|
|
|
44
44
|
return [fileName, fileContent]; // Keep as-is for other cases
|
|
45
45
|
})) : undefined;
|
|
46
46
|
parsed[variant] = _objectSpread(_objectSpread({}, variantCode), {}, {
|
|
47
|
-
source:
|
|
47
|
+
source: hastRoot,
|
|
48
48
|
extraFiles: parsedExtraFiles
|
|
49
49
|
});
|
|
50
50
|
} catch (error) {
|
|
@@ -66,7 +66,7 @@ export function parseCode(code, parseSource) {
|
|
|
66
66
|
} else if (variantCode.source && _typeof(variantCode.source) === 'object' && 'hastJson' in variantCode.source) {
|
|
67
67
|
try {
|
|
68
68
|
// Parse hastJson to HAST nodes
|
|
69
|
-
var
|
|
69
|
+
var _hastRoot = JSON.parse(variantCode.source.hastJson);
|
|
70
70
|
|
|
71
71
|
// Also parse extraFiles if they contain sources that need parsing
|
|
72
72
|
var _parsedExtraFiles = variantCode.extraFiles ? Object.fromEntries(Object.entries(variantCode.extraFiles).map(function (_ref3) {
|
|
@@ -80,9 +80,9 @@ export function parseCode(code, parseSource) {
|
|
|
80
80
|
if (typeof fileContent.source === 'string') {
|
|
81
81
|
// Parse string source in extraFile
|
|
82
82
|
try {
|
|
83
|
-
var
|
|
83
|
+
var parsedHastRoot = parseSource(fileContent.source, fileName);
|
|
84
84
|
return [fileName, _objectSpread(_objectSpread({}, fileContent), {}, {
|
|
85
|
-
source:
|
|
85
|
+
source: parsedHastRoot
|
|
86
86
|
})];
|
|
87
87
|
} catch (error) {
|
|
88
88
|
return [fileName, fileContent]; // Keep original if parsing fails
|
|
@@ -92,7 +92,7 @@ export function parseCode(code, parseSource) {
|
|
|
92
92
|
return [fileName, fileContent]; // Keep as-is for other cases
|
|
93
93
|
})) : undefined;
|
|
94
94
|
parsed[variant] = _objectSpread(_objectSpread({}, variantCode), {}, {
|
|
95
|
-
source:
|
|
95
|
+
source: _hastRoot,
|
|
96
96
|
extraFiles: _parsedExtraFiles
|
|
97
97
|
});
|
|
98
98
|
} catch (error) {
|
|
@@ -113,9 +113,9 @@ export function parseCode(code, parseSource) {
|
|
|
113
113
|
if (typeof fileContent.source === 'string') {
|
|
114
114
|
// Parse string source in extraFile
|
|
115
115
|
try {
|
|
116
|
-
var
|
|
116
|
+
var parsedHastRoot = parseSource(fileContent.source, fileName);
|
|
117
117
|
return [fileName, _objectSpread(_objectSpread({}, fileContent), {}, {
|
|
118
|
-
source:
|
|
118
|
+
source: parsedHastRoot
|
|
119
119
|
})];
|
|
120
120
|
} catch (error) {
|
|
121
121
|
return [fileName, fileContent]; // Keep original if parsing fails
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Root, RootData } from 'hast';
|
|
2
2
|
import type { Delta } from 'jsondiffpatch';
|
|
3
3
|
export type Components = {
|
|
4
4
|
[key: string]: React.ReactNode;
|
|
@@ -16,7 +16,12 @@ export interface ExternalImportItem {
|
|
|
16
16
|
isType?: boolean;
|
|
17
17
|
}
|
|
18
18
|
export type Externals = Record<string, ExternalImportItem[]>;
|
|
19
|
-
export
|
|
19
|
+
export interface HastRoot extends Root {
|
|
20
|
+
data?: RootData & {
|
|
21
|
+
totalLines?: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type VariantSource = string | HastRoot | {
|
|
20
25
|
hastJson: string;
|
|
21
26
|
};
|
|
22
27
|
export type VariantExtraFiles = {
|
|
@@ -120,7 +125,7 @@ export type TransformSource = (source: string, fileName: string) => Promise<Reco
|
|
|
120
125
|
source: string;
|
|
121
126
|
fileName?: string;
|
|
122
127
|
}> | undefined>;
|
|
123
|
-
export type ParseSource = (source: string, fileName: string) =>
|
|
128
|
+
export type ParseSource = (source: string, fileName: string) => HastRoot;
|
|
124
129
|
export type SourceTransformer = {
|
|
125
130
|
extensions: string[];
|
|
126
131
|
transformer: TransformSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/CodeHighlighter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/CodeHighlighter/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import type { Root } from 'hast';
|
|
2
|
+
/**
|
|
3
|
+
* Counts the number of lines in a HAST tree without mutating it.
|
|
4
|
+
* Uses the same logic as starryNightGutter but only returns the count.
|
|
5
|
+
* @param tree - The HAST tree to count lines in
|
|
6
|
+
* @returns The number of lines in the tree
|
|
7
|
+
*/
|
|
8
|
+
export declare function countLines(tree: Root): number;
|
|
2
9
|
export declare function starryNightGutter(tree: Root): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addLineGutters.d.ts","sourceRoot":"","sources":["../../../src/pipeline/parseSource/addLineGutters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA+B,IAAI,EAAE,MAAM,MAAM,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"addLineGutters.d.ts","sourceRoot":"","sources":["../../../src/pipeline/parseSource/addLineGutters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA+B,IAAI,EAAE,MAAM,MAAM,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAmC7C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CA6ElD"}
|
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
// Example copied from https://github.com/wooorm/starry-night#example-adding-line-numbers
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Counts the number of lines in a HAST tree without mutating it.
|
|
5
|
+
* Uses the same logic as starryNightGutter but only returns the count.
|
|
6
|
+
* @param tree - The HAST tree to count lines in
|
|
7
|
+
* @returns The number of lines in the tree
|
|
8
|
+
*/
|
|
9
|
+
export function countLines(tree) {
|
|
10
|
+
var search = /\r?\n|\r/g;
|
|
11
|
+
var index = -1;
|
|
12
|
+
var start = 0;
|
|
13
|
+
var startTextRemainder = '';
|
|
14
|
+
var lineNumber = 0;
|
|
15
|
+
while (index + 1 < tree.children.length) {
|
|
16
|
+
index += 1;
|
|
17
|
+
var child = tree.children[index];
|
|
18
|
+
if (child.type === 'text') {
|
|
19
|
+
var textStart = 0;
|
|
20
|
+
var match = search.exec(child.value);
|
|
21
|
+
while (match) {
|
|
22
|
+
lineNumber += 1;
|
|
23
|
+
start = index + 1;
|
|
24
|
+
textStart = match.index + match[0].length;
|
|
25
|
+
match = search.exec(child.value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// If we matched, make sure to not drop the text after the last line ending.
|
|
29
|
+
if (start === index + 1) {
|
|
30
|
+
startTextRemainder = child.value.slice(textStart);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Check if we have remaining content to process as a line
|
|
36
|
+
if (start < tree.children.length || startTextRemainder) {
|
|
37
|
+
lineNumber += 1;
|
|
38
|
+
}
|
|
39
|
+
return lineNumber;
|
|
40
|
+
}
|
|
3
41
|
export function starryNightGutter(tree) {
|
|
4
42
|
/** @type {Array<RootContent>} */
|
|
5
43
|
var replacement = [];
|
|
@@ -68,6 +106,12 @@ export function starryNightGutter(tree) {
|
|
|
68
106
|
|
|
69
107
|
// Replace children with new array.
|
|
70
108
|
tree.children = replacement;
|
|
109
|
+
|
|
110
|
+
// Add total line count to root data
|
|
111
|
+
if (!tree.data) {
|
|
112
|
+
tree.data = {};
|
|
113
|
+
}
|
|
114
|
+
tree.data.totalLines = lineNumber;
|
|
71
115
|
}
|
|
72
116
|
function createLine(children, line) {
|
|
73
117
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSource.d.ts","sourceRoot":"","sources":["../../../src/pipeline/parseSource/parseSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"parseSource.d.ts","sourceRoot":"","sources":["../../../src/pipeline/parseSource/parseSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,eAAO,MAAM,WAAW,EAAE,WA0BzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,WAAW,CAM7D,CAAC"}
|
|
@@ -11,6 +11,7 @@ export var parseSource = function parseSource(source, fileName) {
|
|
|
11
11
|
var fileType = fileName.slice(fileName.lastIndexOf('.'));
|
|
12
12
|
if (!extensionMap[fileType]) {
|
|
13
13
|
// Return a basic HAST root node with the source text for unsupported file types
|
|
14
|
+
// TODO: should we split and add line gutters?
|
|
14
15
|
return {
|
|
15
16
|
type: 'root',
|
|
16
17
|
children: [{
|
package/useCode/useCode.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { ContentProps } from "../CodeHighlighter/types.js";
|
|
3
|
+
import { UseCopierOpts } from "../useCopier/index.js";
|
|
3
4
|
type UseCodeOpts = {
|
|
4
5
|
defaultOpen?: boolean;
|
|
5
|
-
copy?:
|
|
6
|
+
copy?: UseCopierOpts;
|
|
6
7
|
githubUrlPrefix?: string;
|
|
7
|
-
codeSandboxUrlPrefix?: string;
|
|
8
|
-
stackBlitzPrefix?: string;
|
|
9
8
|
initialVariant?: string;
|
|
10
9
|
initialTransform?: string;
|
|
11
10
|
};
|
package/useCode/useCode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCode.d.ts","sourceRoot":"","sources":["../../src/useCode/useCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useCode.d.ts","sourceRoot":"","sources":["../../src/useCode/useCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;IAC9C,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,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC1E,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,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,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,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;IACxD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EACvC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,IAAI,CAAC,EAAE,WAAW,GACjB,aAAa,CAAC,CAAC,CAAC,CA6GlB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import type { VariantSource, VariantCode, Code } from "../CodeHighlighter/types.js";
|
|
2
|
-
type Source = VariantSource;
|
|
1
|
+
import type { VariantSource, VariantCode, Code, Transforms } from "../CodeHighlighter/types.js";
|
|
3
2
|
interface TransformedFile {
|
|
4
3
|
name: string;
|
|
5
4
|
originalName: string;
|
|
6
|
-
source:
|
|
5
|
+
source: VariantSource;
|
|
7
6
|
component: React.ReactNode;
|
|
8
7
|
}
|
|
9
|
-
interface
|
|
8
|
+
export interface TransformedFiles {
|
|
10
9
|
files: TransformedFile[];
|
|
11
10
|
filenameMap: {
|
|
12
11
|
[originalName: string]: string;
|
|
@@ -30,8 +29,8 @@ export declare function getAvailableTransforms(effectiveCode: Code, selectedVari
|
|
|
30
29
|
* @param selectedTransform - The transform to apply
|
|
31
30
|
* @returns Object with transformed source and name
|
|
32
31
|
*/
|
|
33
|
-
export declare function applyTransformToSource(source:
|
|
34
|
-
transformedSource:
|
|
32
|
+
export declare function applyTransformToSource(source: VariantSource, fileName: string, transforms: Transforms | undefined, selectedTransform: string): {
|
|
33
|
+
transformedSource: VariantSource;
|
|
35
34
|
transformedName: string;
|
|
36
35
|
};
|
|
37
36
|
/**
|
|
@@ -41,5 +40,5 @@ export declare function applyTransformToSource(source: any, fileName: string, tr
|
|
|
41
40
|
* @param selectedTransform - The transform to apply
|
|
42
41
|
* @returns Object with transformed files and filename mapping, or undefined if no transform
|
|
43
42
|
*/
|
|
44
|
-
export declare function createTransformedFiles(selectedVariant: VariantCode | null, selectedTransform: string | null, shouldHighlight: boolean):
|
|
43
|
+
export declare function createTransformedFiles(selectedVariant: VariantCode | null, selectedTransform: string | null, shouldHighlight: boolean): TransformedFiles | undefined;
|
|
45
44
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCodeUtils.d.ts","sourceRoot":"","sources":["../../src/useCode/useCodeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"useCodeUtils.d.ts","sourceRoot":"","sources":["../../src/useCode/useCodeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7F,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,CAqDhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,iBAAiB,EAAE,MAAM,GACxB;IAAE,iBAAiB,EAAE,aAAa,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA4B/D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,WAAW,GAAG,IAAI,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,eAAe,EAAE,OAAO,GACvB,gBAAgB,GAAG,SAAS,CA4H9B"}
|
package/useCode/useCodeUtils.js
CHANGED
|
@@ -158,8 +158,8 @@ export function createTransformedFiles(selectedVariant, selectedTransform, shoul
|
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
// Process main file if we have a fileName
|
|
162
|
-
if (selectedVariant.fileName) {
|
|
161
|
+
// Process main file if we have a fileName and source
|
|
162
|
+
if (selectedVariant.fileName && selectedVariant.source) {
|
|
163
163
|
var _applyTransformToSour = applyTransformToSource(selectedVariant.source, selectedVariant.fileName, variantTransforms, selectedTransform),
|
|
164
164
|
mainSource = _applyTransformToSour.transformedSource,
|
|
165
165
|
mainName = _applyTransformToSour.transformedName;
|
|
@@ -194,6 +194,11 @@ export function createTransformedFiles(selectedVariant, selectedTransform, shoul
|
|
|
194
194
|
return; // Skip invalid entries
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
// Skip if source is undefined
|
|
198
|
+
if (!source) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
197
202
|
// Apply transforms if available, otherwise use original source
|
|
198
203
|
var transformedSource = source;
|
|
199
204
|
var transformedName = extraFileName;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { UseCopierOpts } from "../useCopier/index.js";
|
|
3
|
+
import { VariantSource } from "../CodeHighlighter/index.js";
|
|
3
4
|
interface UseCopyFunctionalityProps {
|
|
4
|
-
selectedFile:
|
|
5
|
+
selectedFile: VariantSource | null;
|
|
5
6
|
copyOpts?: UseCopierOpts;
|
|
6
7
|
}
|
|
7
8
|
export interface UseCopyFunctionalityResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyFunctionality.d.ts","sourceRoot":"","sources":["../../src/useCode/useCopyFunctionality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useCopyFunctionality.d.ts","sourceRoot":"","sources":["../../src/useCode/useCopyFunctionality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,UAAU,yBAAyB;IACjC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,QAAQ,GACT,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { VariantSource } from "../CodeHighlighter/types.js";
|
|
3
|
-
type
|
|
4
|
-
interface TransformedFile {
|
|
5
|
-
name: string;
|
|
6
|
-
originalName: string;
|
|
7
|
-
source: Source;
|
|
8
|
-
component: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
interface TransformedFiles {
|
|
11
|
-
files: TransformedFile[];
|
|
12
|
-
filenameMap: {
|
|
13
|
-
[originalName: string]: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
2
|
+
import type { VariantCode, VariantSource } from "../CodeHighlighter/types.js";
|
|
3
|
+
import type { TransformedFiles } from "./useCodeUtils.js";
|
|
16
4
|
interface UseFileNavigationProps {
|
|
17
|
-
selectedVariant:
|
|
5
|
+
selectedVariant: VariantCode | null;
|
|
18
6
|
transformedFiles: TransformedFiles | undefined;
|
|
19
7
|
mainSlug?: string;
|
|
20
8
|
selectedVariantKey?: string;
|
|
@@ -24,7 +12,7 @@ interface UseFileNavigationProps {
|
|
|
24
12
|
}
|
|
25
13
|
export interface UseFileNavigationResult {
|
|
26
14
|
selectedFileName: string | undefined;
|
|
27
|
-
selectedFile:
|
|
15
|
+
selectedFile: VariantSource | null;
|
|
28
16
|
selectedFileComponent: React.ReactNode;
|
|
29
17
|
selectedFileLines: number;
|
|
30
18
|
files: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileNavigation.d.ts","sourceRoot":"","sources":["../../src/useCode/useFileNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFileNavigation.d.ts","sourceRoot":"","sources":["../../src/useCode/useFileNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA0DvD,UAAU,sBAAsB;IAC9B,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC1E,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,gBAAgB,EAChB,QAAa,EACb,kBAAuB,EACvB,WAAgB,EAChB,cAAc,EACd,eAAe,GAChB,EAAE,sBAAsB,GAAG,uBAAuB,CAsblD"}
|
|
@@ -4,6 +4,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { stringOrHastToJsx } from "../pipeline/hastUtils/index.js";
|
|
6
6
|
import { useUrlHashState } from "../useUrlHashState/index.js";
|
|
7
|
+
import { countLines } from "../pipeline/parseSource/addLineGutters.js";
|
|
7
8
|
/**
|
|
8
9
|
* Converts a string to kebab-case
|
|
9
10
|
* @param str - The string to convert
|
|
@@ -282,8 +283,28 @@ export function useFileNavigation(_ref) {
|
|
|
282
283
|
}
|
|
283
284
|
|
|
284
285
|
// If it's a hast object, count the children length
|
|
285
|
-
if (selectedFile && _typeof(selectedFile) === 'object'
|
|
286
|
-
|
|
286
|
+
if (selectedFile && _typeof(selectedFile) === 'object') {
|
|
287
|
+
var hastSelectedFile;
|
|
288
|
+
if ('hastJson' in selectedFile) {
|
|
289
|
+
hastSelectedFile = JSON.parse(selectedFile.hastJson);
|
|
290
|
+
} else {
|
|
291
|
+
hastSelectedFile = selectedFile;
|
|
292
|
+
}
|
|
293
|
+
if (hastSelectedFile.data && 'totalLines' in hastSelectedFile.data) {
|
|
294
|
+
var totalLines = hastSelectedFile.data.totalLines;
|
|
295
|
+
// Check if totalLines is a valid number (not null, undefined, or NaN)
|
|
296
|
+
if (totalLines != null && !Number.isNaN(Number(totalLines))) {
|
|
297
|
+
var numLines = Number(totalLines);
|
|
298
|
+
if (numLines >= 0) {
|
|
299
|
+
return numLines;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
// Fall through to children count if totalLines is invalid
|
|
303
|
+
}
|
|
304
|
+
if ('children' in hastSelectedFile) {
|
|
305
|
+
// Use countLines for more accurate line counting of HAST trees
|
|
306
|
+
return countLines(hastSelectedFile);
|
|
307
|
+
}
|
|
287
308
|
}
|
|
288
309
|
return 0;
|
|
289
310
|
}, [selectedFile]);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { Code, VariantCode } from "../CodeHighlighter/types.js";
|
|
2
|
+
import type { CodeHighlighterContextType } from "../CodeHighlighter/CodeHighlighterContext.js";
|
|
1
3
|
interface UseSourceEditingProps {
|
|
2
|
-
context?:
|
|
4
|
+
context?: CodeHighlighterContextType;
|
|
3
5
|
selectedVariantKey: string;
|
|
4
|
-
effectiveCode:
|
|
5
|
-
selectedVariant:
|
|
6
|
+
effectiveCode: Code;
|
|
7
|
+
selectedVariant: VariantCode | null;
|
|
6
8
|
}
|
|
7
9
|
export interface UseSourceEditingResult {
|
|
8
10
|
setSource?: (source: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSourceEditing.d.ts","sourceRoot":"","sources":["../../src/useCode/useSourceEditing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSourceEditing.d.ts","sourceRoot":"","sources":["../../src/useCode/useSourceEditing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;CACrC;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"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import type { Code } from "../CodeHighlighter/types.js";
|
|
1
|
+
import type { Code, VariantCode } from "../CodeHighlighter/types.js";
|
|
2
|
+
import { createTransformedFiles } from "./useCodeUtils.js";
|
|
3
|
+
import { CodeHighlighterContextType } from "../CodeHighlighter/CodeHighlighterContext.js";
|
|
2
4
|
interface UseTransformManagementProps {
|
|
3
|
-
context?:
|
|
5
|
+
context?: CodeHighlighterContextType;
|
|
4
6
|
effectiveCode: Code;
|
|
5
7
|
selectedVariantKey: string;
|
|
6
|
-
selectedVariant:
|
|
8
|
+
selectedVariant: VariantCode | null;
|
|
7
9
|
initialTransform?: string;
|
|
8
10
|
shouldHighlight: boolean;
|
|
9
11
|
}
|
|
10
12
|
export interface UseTransformManagementResult {
|
|
11
13
|
availableTransforms: string[];
|
|
12
14
|
selectedTransform: string | null;
|
|
13
|
-
transformedFiles:
|
|
15
|
+
transformedFiles: ReturnType<typeof createTransformedFiles>;
|
|
14
16
|
selectTransform: (transformName: string | null) => void;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"useTransformManagement.d.ts","sourceRoot":"","sources":["../../src/useCode/useTransformManagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAA0B,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,UAAU,2BAA2B;IACnC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,aAAa,EAAE,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,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,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC5D,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { Code } from "../CodeHighlighter/types.js";
|
|
2
|
+
import type { Code, VariantCode } from "../CodeHighlighter/types.js";
|
|
3
3
|
interface UseVariantSelectionProps {
|
|
4
4
|
effectiveCode: Code;
|
|
5
5
|
initialVariant?: string;
|
|
@@ -7,7 +7,7 @@ interface UseVariantSelectionProps {
|
|
|
7
7
|
export interface UseVariantSelectionResult {
|
|
8
8
|
variantKeys: string[];
|
|
9
9
|
selectedVariantKey: string;
|
|
10
|
-
selectedVariant:
|
|
10
|
+
selectedVariant: VariantCode | null;
|
|
11
11
|
selectVariant: React.Dispatch<React.SetStateAction<string>>;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -1 +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;
|
|
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,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGlE,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,WAAW,GAAG,IAAI,CAAC;IACpC,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCodeSandbox.d.ts","sourceRoot":"","sources":["../../src/useDemo/createCodeSandbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYvD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,cAAc,EACd,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,
|
|
1
|
+
{"version":3,"file":"createCodeSandbox.d.ts","sourceRoot":"","sources":["../../src/useDemo/createCodeSandbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYvD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,cAAc,EACd,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAqBA"}
|
|
@@ -35,11 +35,10 @@ export function createCodeSandbox(_ref) {
|
|
|
35
35
|
files: files
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
// ref: https://codesandbox.io/docs/api
|
|
38
|
+
// ref: https://codesandbox.io/docs/learn/browser-sandboxes/cli-api#supported-parameters
|
|
39
39
|
var formData = {
|
|
40
40
|
parameters: parameters,
|
|
41
|
-
|
|
42
|
-
query: "module=/".concat(rootFile, "&fontsize=12")
|
|
41
|
+
query: "file=".concat(rootFile)
|
|
43
42
|
};
|
|
44
43
|
return {
|
|
45
44
|
url: 'https://codesandbox.io/api/v1/sandboxes/define',
|
package/useDemo/useDemo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDemo.d.ts","sourceRoot":"","sources":["../../src/useDemo/useDemo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D;;;;;;;;;;;;;GAaG;AAEH,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;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMvF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,QAAQ,EACR,MAAe,EACf,MAAiB,GAClB,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAaP;AAGD,wBAAgB,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useDemo.d.ts","sourceRoot":"","sources":["../../src/useDemo/useDemo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D;;;;;;;;;;;;;GAaG;AAEH,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;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMvF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,QAAQ,EACR,MAAe,EACf,MAAiB,GAClB,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAaP;AAGD,wBAAgB,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW;;;;;;;;;;;;;YAxD1E,CAAC;;;;;;;;;;;;;;;;;;;EA4KlB"}
|