@teambit/code.ui.code-tab-page 0.0.600 → 0.0.602
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/code-tab-page.tsx +23 -2
- package/dist/code-tab-page.js +18 -2
- package/dist/code-tab-page.js.map +1 -1
- package/package-tar/teambit-code.ui.code-tab-page-0.0.602.tgz +0 -0
- package/package.json +8 -4
- /package/{preview-1667706059705.js → preview-1668606008821.js} +0 -0
- package/package-tar/teambit-code.ui.code-tab-page-0.0.600.tgz +0 -0
package/code-tab-page.tsx
CHANGED
@@ -16,6 +16,13 @@ import { getFileIcon, FileIconMatch } from '@teambit/code.ui.utils.get-file-icon
|
|
16
16
|
import { useCodeParams } from '@teambit/code.ui.hooks.use-code-params';
|
17
17
|
import { TreeNode } from '@teambit/design.ui.tree';
|
18
18
|
import { affix } from '@teambit/base-ui.utils.string.affix';
|
19
|
+
import { useComponentArtifacts } from '@teambit/component.ui.artifacts.queries.use-component-artifacts';
|
20
|
+
import {
|
21
|
+
ArtifactFile,
|
22
|
+
getArtifactFileDetailsFromUrl,
|
23
|
+
} from '@teambit/component.ui.artifacts.models.component-artifacts-model';
|
24
|
+
import isBinaryPath from 'is-binary-path';
|
25
|
+
import { FILE_SIZE_THRESHOLD } from '@teambit/component.ui.artifacts.artifacts-tree';
|
19
26
|
|
20
27
|
import styles from './code-tab-page.module.scss';
|
21
28
|
|
@@ -28,8 +35,12 @@ export function CodePage({ className, fileIconSlot, host }: CodePageProps) {
|
|
28
35
|
const urlParams = useCodeParams();
|
29
36
|
const component = useContext(ComponentContext);
|
30
37
|
const { mainFile, fileTree = [], dependencies, devFiles } = useCode(component.id);
|
38
|
+
const { data: artifacts = [] } = useComponentArtifacts(host, component.id.toString());
|
31
39
|
|
32
40
|
const currentFile = urlParams.file || mainFile;
|
41
|
+
const currentArtifactFile = getArtifactFileDetailsFromUrl(artifacts, currentFile)?.artifactFile;
|
42
|
+
const currentArtifactFileContent = getCurrentArtifactFileContent(currentArtifactFile);
|
43
|
+
|
33
44
|
const isMobile = useIsMobile();
|
34
45
|
const [isSidebarOpen, setSidebarOpenness] = useState(!isMobile);
|
35
46
|
const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.left;
|
@@ -39,7 +50,12 @@ export function CodePage({ className, fileIconSlot, host }: CodePageProps) {
|
|
39
50
|
return (
|
40
51
|
<SplitPane layout={sidebarOpenness} size="85%" className={classNames(styles.codePage, className)}>
|
41
52
|
<Pane className={styles.left}>
|
42
|
-
<CodeView
|
53
|
+
<CodeView
|
54
|
+
componentId={component.id}
|
55
|
+
currentFile={currentFile}
|
56
|
+
icon={icon}
|
57
|
+
currentFileContent={currentArtifactFileContent}
|
58
|
+
/>
|
43
59
|
</Pane>
|
44
60
|
<HoverSplitter className={styles.splitter}>
|
45
61
|
<Collapser
|
@@ -54,7 +70,6 @@ export function CodePage({ className, fileIconSlot, host }: CodePageProps) {
|
|
54
70
|
<Pane className={styles.right}>
|
55
71
|
<CodeTabTree
|
56
72
|
host={host}
|
57
|
-
componentId={component.id}
|
58
73
|
currentFile={currentFile}
|
59
74
|
dependencies={dependencies}
|
60
75
|
fileTree={fileTree}
|
@@ -85,3 +100,9 @@ export function generateIcon(fileIconMatchers: FileIconMatch[]) {
|
|
85
100
|
return getFileIcon(fileIconMatchers, id);
|
86
101
|
};
|
87
102
|
}
|
103
|
+
|
104
|
+
function getCurrentArtifactFileContent(file?: ArtifactFile | undefined): string | undefined {
|
105
|
+
if (!file) return undefined;
|
106
|
+
if (isBinaryPath(file.path) || (file.size ?? 0) > FILE_SIZE_THRESHOLD) return undefined;
|
107
|
+
return file.content;
|
108
|
+
}
|
package/dist/code-tab-page.js
CHANGED
@@ -42,12 +42,20 @@ const ui_foundation_ui_hooks_use_is_mobile_1 = require("@teambit/ui-foundation.u
|
|
42
42
|
const code_ui_utils_get_file_icon_1 = require("@teambit/code.ui.utils.get-file-icon");
|
43
43
|
const code_ui_hooks_use_code_params_1 = require("@teambit/code.ui.hooks.use-code-params");
|
44
44
|
const base_ui_utils_string_affix_1 = require("@teambit/base-ui.utils.string.affix");
|
45
|
+
const component_ui_artifacts_queries_use_component_artifacts_1 = require("@teambit/component.ui.artifacts.queries.use-component-artifacts");
|
46
|
+
const component_ui_artifacts_models_component_artifacts_model_1 = require("@teambit/component.ui.artifacts.models.component-artifacts-model");
|
47
|
+
const is_binary_path_1 = __importDefault(require("is-binary-path"));
|
48
|
+
const component_ui_artifacts_artifacts_tree_1 = require("@teambit/component.ui.artifacts.artifacts-tree");
|
45
49
|
const code_tab_page_module_scss_1 = __importDefault(require("./code-tab-page.module.scss"));
|
46
50
|
function CodePage({ className, fileIconSlot, host }) {
|
51
|
+
var _a;
|
47
52
|
const urlParams = (0, code_ui_hooks_use_code_params_1.useCodeParams)();
|
48
53
|
const component = (0, react_1.useContext)(component_1.ComponentContext);
|
49
54
|
const { mainFile, fileTree = [], dependencies, devFiles } = (0, code_ui_queries_get_component_code_1.useCode)(component.id);
|
55
|
+
const { data: artifacts = [] } = (0, component_ui_artifacts_queries_use_component_artifacts_1.useComponentArtifacts)(host, component.id.toString());
|
50
56
|
const currentFile = urlParams.file || mainFile;
|
57
|
+
const currentArtifactFile = (_a = (0, component_ui_artifacts_models_component_artifacts_model_1.getArtifactFileDetailsFromUrl)(artifacts, currentFile)) === null || _a === void 0 ? void 0 : _a.artifactFile;
|
58
|
+
const currentArtifactFileContent = getCurrentArtifactFileContent(currentArtifactFile);
|
51
59
|
const isMobile = (0, ui_foundation_ui_hooks_use_is_mobile_1.useIsMobile)();
|
52
60
|
const [isSidebarOpen, setSidebarOpenness] = (0, react_1.useState)(!isMobile);
|
53
61
|
const sidebarOpenness = isSidebarOpen ? base_ui_surfaces_split_pane_split_pane_1.Layout.row : base_ui_surfaces_split_pane_split_pane_1.Layout.left;
|
@@ -55,11 +63,11 @@ function CodePage({ className, fileIconSlot, host }) {
|
|
55
63
|
const icon = (0, code_ui_utils_get_file_icon_1.getFileIcon)(fileIconMatchers, currentFile);
|
56
64
|
return (react_1.default.createElement(base_ui_surfaces_split_pane_split_pane_1.SplitPane, { layout: sidebarOpenness, size: "85%", className: (0, classnames_1.default)(code_tab_page_module_scss_1.default.codePage, className) },
|
57
65
|
react_1.default.createElement(base_ui_surfaces_split_pane_split_pane_1.Pane, { className: code_tab_page_module_scss_1.default.left },
|
58
|
-
react_1.default.createElement(code_ui_code_view_1.CodeView, { componentId: component.id, currentFile: currentFile, icon: icon })),
|
66
|
+
react_1.default.createElement(code_ui_code_view_1.CodeView, { componentId: component.id, currentFile: currentFile, icon: icon, currentFileContent: currentArtifactFileContent })),
|
59
67
|
react_1.default.createElement(base_ui_surfaces_split_pane_hover_splitter_1.HoverSplitter, { className: code_tab_page_module_scss_1.default.splitter },
|
60
68
|
react_1.default.createElement(ui_foundation_ui_buttons_collapser_1.Collapser, { placement: "left", isOpen: isSidebarOpen, onMouseDown: (e) => e.stopPropagation(), onClick: () => setSidebarOpenness((x) => !x), tooltipContent: `${isSidebarOpen ? 'Hide' : 'Show'} file tree`, className: code_tab_page_module_scss_1.default.collapser })),
|
61
69
|
react_1.default.createElement(base_ui_surfaces_split_pane_split_pane_1.Pane, { className: code_tab_page_module_scss_1.default.right },
|
62
|
-
react_1.default.createElement(code_ui_code_tab_tree_1.CodeTabTree, { host: host,
|
70
|
+
react_1.default.createElement(code_ui_code_tab_tree_1.CodeTabTree, { host: host, currentFile: currentFile, dependencies: dependencies, fileTree: fileTree, widgets: (0, react_1.useMemo)(() => [generateWidget(mainFile, devFiles)], [mainFile, devFiles]), getHref: (0, react_1.useMemo)(() => (node) => `${node.id}${(0, base_ui_utils_string_affix_1.affix)('?version=', urlParams.version)}`, [urlParams.version]), getIcon: (0, react_1.useMemo)(() => generateIcon(fileIconMatchers), fileIconMatchers) }))));
|
63
71
|
}
|
64
72
|
exports.CodePage = CodePage;
|
65
73
|
function generateWidget(mainFile, devFiles) {
|
@@ -80,4 +88,12 @@ function generateIcon(fileIconMatchers) {
|
|
80
88
|
};
|
81
89
|
}
|
82
90
|
exports.generateIcon = generateIcon;
|
91
|
+
function getCurrentArtifactFileContent(file) {
|
92
|
+
var _a;
|
93
|
+
if (!file)
|
94
|
+
return undefined;
|
95
|
+
if ((0, is_binary_path_1.default)(file.path) || ((_a = file.size) !== null && _a !== void 0 ? _a : 0) > component_ui_artifacts_artifacts_tree_1.FILE_SIZE_THRESHOLD)
|
96
|
+
return undefined;
|
97
|
+
return file.content;
|
98
|
+
}
|
83
99
|
//# sourceMappingURL=code-tab-page.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"code-tab-page.js","sourceRoot":"","sources":["../code-tab-page.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAsD;AACtD,4DAAoC;AACpC,+CAA6E;AAC7E,mCAAiC;AACjC,sEAAqD;AACrD,4GAA0F;AAC1F,oHAAoF;AACpF,oGAAwE;AACxE,oGAAsE;AAEtE,kEAAsD;AACtD,0EAA6D;AAC7D,wGAA4E;AAE5E,sFAAkF;AAClF,0FAAuE;AAEvE,oFAA4D;
|
1
|
+
{"version":3,"file":"code-tab-page.js","sourceRoot":"","sources":["../code-tab-page.tsx"],"names":[],"mappings":"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"}
|
Binary file
|
package/package.json
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/code.ui.code-tab-page",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.602",
|
4
4
|
"homepage": "https://bit.dev/teambit/code/ui/code-tab-page",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.code",
|
8
8
|
"name": "ui/code-tab-page",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.602"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"classnames": "2.2.6",
|
13
|
+
"is-binary-path": "2.1.0",
|
13
14
|
"lodash": "4.17.21",
|
14
15
|
"core-js": "^3.0.0",
|
15
16
|
"@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
|
@@ -17,11 +18,14 @@
|
|
17
18
|
"@teambit/base-ui.utils.string.affix": "1.0.0",
|
18
19
|
"@teambit/documenter.ui.label": "4.0.3",
|
19
20
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.496",
|
20
|
-
"@teambit/code.ui.code-tab-tree": "0.0.
|
21
|
-
"@teambit/code.ui.code-view": "0.0.
|
21
|
+
"@teambit/code.ui.code-tab-tree": "0.0.594",
|
22
|
+
"@teambit/code.ui.code-view": "0.0.503",
|
22
23
|
"@teambit/code.ui.hooks.use-code-params": "0.0.494",
|
23
24
|
"@teambit/code.ui.queries.get-component-code": "0.0.499",
|
24
25
|
"@teambit/code.ui.utils.get-file-icon": "0.0.493",
|
26
|
+
"@teambit/component.ui.artifacts.artifacts-tree": "0.0.10",
|
27
|
+
"@teambit/component.ui.artifacts.models.component-artifacts-model": "0.0.4",
|
28
|
+
"@teambit/component.ui.artifacts.queries.use-component-artifacts": "0.0.5",
|
25
29
|
"@teambit/design.ui.tree": "0.0.13",
|
26
30
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.204",
|
27
31
|
"@teambit/ui-foundation.ui.hooks.use-is-mobile": "0.0.186",
|
File without changes
|
Binary file
|