@malloy-publisher/sdk 0.0.198-dev → 0.0.198
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/dist/components/Package/ContentTypeIcon.d.ts +16 -0
- package/dist/components/Package/index.d.ts +0 -1
- package/dist/components/styles.d.ts +16 -0
- package/dist/{core-w79IMXAG.es.js → core-CbsC6R_Y.es.js} +1 -1
- package/dist/{core-7-3Jcsb0.cjs.js → core-WV2T5KIQ.cjs.js} +1 -1
- package/dist/{index-CN0_kZSF.es.js → index-BIdK-n2r.es.js} +17654 -20603
- package/dist/index-BZ3efB1x.cjs.js +228 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +33 -34
- package/package.json +5 -5
- package/src/components/Environment/AddPackageDialog.tsx +116 -79
- package/src/components/Environment/DeletePackageDialog.tsx +3 -2
- package/src/components/Environment/Environment.tsx +44 -23
- package/src/components/Environment/Packages.tsx +164 -156
- package/src/components/Home/DeleteEnvironmentDialog.tsx +3 -2
- package/src/components/Home/Home.tsx +272 -389
- package/src/components/Model/Model.tsx +2 -2
- package/src/components/Model/ModelCell.tsx +1 -1
- package/src/components/Model/ModelExplorerDialog.tsx +1 -1
- package/src/components/Model/SourcesExplorer.tsx +4 -4
- package/src/components/Notebook/Notebook.tsx +4 -9
- package/src/components/Notebook/NotebookCell.tsx +10 -7
- package/src/components/Package/ContentTypeIcon.tsx +79 -0
- package/src/components/Package/Package.tsx +387 -55
- package/src/components/Package/index.ts +0 -1
- package/src/components/QueryResult/QueryResult.tsx +1 -1
- package/src/components/RenderedResult/RenderedResult.tsx +9 -8
- package/src/components/ResultsDialog.tsx +1 -1
- package/src/components/styles.ts +28 -15
- package/dist/components/Package/Config.d.ts +0 -5
- package/dist/components/Package/Databases.d.ts +0 -5
- package/dist/components/Package/FileTreeView.d.ts +0 -9
- package/dist/components/Package/Models.d.ts +0 -6
- package/dist/components/Package/Notebooks.d.ts +0 -6
- package/dist/index-Xo_ADux9.cjs.js +0 -233
- package/src/components/Package/Config.tsx +0 -97
- package/src/components/Package/Databases.tsx +0 -228
- package/src/components/Package/FileTreeView.tsx +0 -241
- package/src/components/Package/Models.tsx +0 -68
- package/src/components/Package/Notebooks.tsx +0 -77
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BZ3efB1x.cjs.js"),o=require("./ServerProvider-IhQ4aYBm.cjs.js");exports.AnalyzePackageButton=e.AnalyzePackageButton;exports.BrowserWorkbookStorage=e.BrowserWorkbookStorage;exports.ConnectionExplorer=e.ConnectionExplorer;exports.DimensionFilter=e.DimensionFilter;exports.EmbeddedQueryResult=e.EmbeddedQueryResult;exports.Environment=e.Environment;exports.Home=e.Home;exports.Loading=e.Loading;exports.Model=e.Model;exports.ModelExplorer=e.ModelExplorer;exports.ModelExplorerDialog=e.ModelExplorerDialog;exports.Notebook=e.Notebook;exports.Package=e.Package;exports.Packages=e.Packages;exports.QueryResult=e.QueryResult;exports.RenderedResult=e.RenderedResult;exports.ResultContainer=e.ResultContainer;exports.SourceExplorerComponent=e.SourceExplorerComponent;exports.SourcesExplorer=e.SourcesExplorer;exports.Workbook=e.Workbook;exports.WorkbookList=e.WorkbookList;exports.WorkbookManager=e.WorkbookManager;exports.WorkbookStorageProvider=e.WorkbookStorageProvider;exports.createEmbeddedQueryResult=e.createEmbeddedQueryResult;exports.encodeResourceUri=e.encodeResourceUri;exports.extractDimensionSpecs=e.extractDimensionSpecs;exports.extractSourceFromQuery=e.extractSourceFromQuery;exports.generateFilterClause=e.generateFilterClause;exports.getDimensionKey=e.getDimensionKey;exports.getJoinedSources=e.getJoinedSources;exports.injectWhereClause=e.injectWhereClause;exports.makeDimensionKey=e.makeDimensionKey;exports.parseAllSourceInfos=e.parseAllSourceInfos;exports.parseDimensionFilterAnnotation=e.parseDimensionFilterAnnotation;exports.parseNotebookFilterAnnotation=e.parseNotebookFilterAnnotation;exports.parseResourceUri=e.parseResourceUri;exports.useDimensionFilters=e.useDimensionFilters;exports.useDimensionFiltersFromSpec=e.useDimensionFiltersFromSpec;exports.useDimensionFiltersQuery=e.useDimensionFiltersQuery;exports.useDimensionalFilterRangeData=e.useDimensionalFilterRangeData;exports.useModelData=e.useModelData;exports.useRawQueryData=e.useRawQueryData;exports.useRouterClickHandler=e.useRouterClickHandler;exports.ServerProvider=o.ServerProvider;exports.useServer=o.useServer;
|
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as a,
|
|
2
|
-
import { S as
|
|
1
|
+
import { A as a, I as o, C as r, D as n, x as t, E as i, H as l, L as u, M as m, o as c, q as d, N as k, v as p, P as D, Q as g, R as S, B as R, r as F, S as x, W as y, F as b, J as E, G as C, y as Q, Z as W, g as v, i as M, j as P, V as A, k as f, l as B, X as H, p as K, m as L, n as N, Y as U, K as j, O as w, T as I, U as J, t as h, u as q, e as z } from "./index-BIdK-n2r.es.js";
|
|
2
|
+
import { S as O, u as T } from "./ServerProvider-DDScRRDc.es.js";
|
|
3
3
|
export {
|
|
4
4
|
a as AnalyzePackageButton,
|
|
5
5
|
o as BrowserWorkbookStorage,
|
|
@@ -12,39 +12,38 @@ export {
|
|
|
12
12
|
m as Model,
|
|
13
13
|
c as ModelExplorer,
|
|
14
14
|
d as ModelExplorerDialog,
|
|
15
|
-
k as
|
|
16
|
-
p as
|
|
17
|
-
D as
|
|
18
|
-
g as
|
|
19
|
-
S as
|
|
20
|
-
R as
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
x as
|
|
24
|
-
y as
|
|
25
|
-
b as
|
|
26
|
-
E as
|
|
27
|
-
C as
|
|
28
|
-
M as WorkbookStorageProvider,
|
|
15
|
+
k as Notebook,
|
|
16
|
+
p as Package,
|
|
17
|
+
D as Packages,
|
|
18
|
+
g as QueryResult,
|
|
19
|
+
S as RenderedResult,
|
|
20
|
+
R as ResultContainer,
|
|
21
|
+
O as ServerProvider,
|
|
22
|
+
F as SourceExplorerComponent,
|
|
23
|
+
x as SourcesExplorer,
|
|
24
|
+
y as Workbook,
|
|
25
|
+
b as WorkbookList,
|
|
26
|
+
E as WorkbookManager,
|
|
27
|
+
C as WorkbookStorageProvider,
|
|
29
28
|
Q as createEmbeddedQueryResult,
|
|
30
29
|
W as encodeResourceUri,
|
|
31
30
|
v as extractDimensionSpecs,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
31
|
+
M as extractSourceFromQuery,
|
|
32
|
+
P as generateFilterClause,
|
|
33
|
+
A as getDimensionKey,
|
|
34
|
+
f as getJoinedSources,
|
|
35
|
+
B as injectWhereClause,
|
|
36
|
+
H as makeDimensionKey,
|
|
37
|
+
K as parseAllSourceInfos,
|
|
38
|
+
L as parseDimensionFilterAnnotation,
|
|
39
|
+
N as parseNotebookFilterAnnotation,
|
|
40
|
+
U as parseResourceUri,
|
|
41
|
+
j as useDimensionFilters,
|
|
42
|
+
w as useDimensionFiltersFromSpec,
|
|
43
|
+
I as useDimensionFiltersQuery,
|
|
44
|
+
J as useDimensionalFilterRangeData,
|
|
45
|
+
h as useModelData,
|
|
46
|
+
q as useRawQueryData,
|
|
47
|
+
z as useRouterClickHandler,
|
|
48
|
+
T as useServer
|
|
50
49
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malloy-publisher/sdk",
|
|
3
3
|
"description": "Malloy Publisher SDK",
|
|
4
|
-
"version": "0.0.198
|
|
4
|
+
"version": "0.0.198",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
7
|
"module": "dist/index.es.js",
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
"react-router-dom": ">=7.6.2",
|
|
72
72
|
"@tanstack/react-query": ">=5.59.16",
|
|
73
73
|
"@malloydata/malloy-explorer": "0.0.338-dev260215172810",
|
|
74
|
-
"@malloydata/malloy-interfaces": "^0.0.
|
|
75
|
-
"@malloydata/malloy-query-builder": "^0.0.
|
|
76
|
-
"@malloydata/render": "^0.0.
|
|
74
|
+
"@malloydata/malloy-interfaces": "^0.0.394",
|
|
75
|
+
"@malloydata/malloy-query-builder": "^0.0.394",
|
|
76
|
+
"@malloydata/render": "^0.0.394",
|
|
77
77
|
"@mui/icons-material": ">=7.1.1",
|
|
78
78
|
"@mui/x-date-pickers": ">=7.1.1",
|
|
79
79
|
"@mui/material": ">=7.1.1",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"@malloydata/malloy-explorer": "0.0.338-dev260215172810",
|
|
94
|
-
"@malloydata/malloy-query-builder": "^0.0.
|
|
94
|
+
"@malloydata/malloy-query-builder": "^0.0.394",
|
|
95
95
|
"@openapitools/openapi-generator-cli": "^2.20.2",
|
|
96
96
|
"@types/bun": "^1.2.21",
|
|
97
97
|
"@types/k6": "^1.0.2",
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Button from "@mui/material/Button";
|
|
3
|
-
import TextField from "@mui/material/TextField";
|
|
4
|
-
import Dialog from "@mui/material/Dialog";
|
|
5
|
-
import DialogActions from "@mui/material/DialogActions";
|
|
6
|
-
import DialogContent from "@mui/material/DialogContent";
|
|
7
|
-
import DialogContentText from "@mui/material/DialogContentText";
|
|
8
|
-
import DialogTitle from "@mui/material/DialogTitle";
|
|
9
|
-
import { useState } from "react";
|
|
10
1
|
import { Add } from "@mui/icons-material";
|
|
11
|
-
import {
|
|
12
|
-
|
|
2
|
+
import {
|
|
3
|
+
Box,
|
|
4
|
+
Button,
|
|
5
|
+
Dialog,
|
|
6
|
+
DialogActions,
|
|
7
|
+
DialogContent,
|
|
8
|
+
DialogTitle,
|
|
9
|
+
Snackbar,
|
|
10
|
+
Stack,
|
|
11
|
+
TextField,
|
|
12
|
+
Typography,
|
|
13
|
+
} from "@mui/material";
|
|
13
14
|
import { useQueryClient } from "@tanstack/react-query";
|
|
15
|
+
import React, { useState } from "react";
|
|
16
|
+
import { Package } from "../../client";
|
|
14
17
|
import { useMutationWithApiError } from "../../hooks/useQueryWithApiError";
|
|
15
|
-
import { useServer } from "../ServerProvider";
|
|
16
18
|
import { parseResourceUri } from "../../utils/formatting";
|
|
19
|
+
import { useServer } from "../ServerProvider";
|
|
17
20
|
|
|
18
21
|
interface AddPackageDialogProps {
|
|
19
22
|
resourceUri: string;
|
|
@@ -27,15 +30,8 @@ export default function AddPackageDialog({
|
|
|
27
30
|
const queryClient = useQueryClient();
|
|
28
31
|
const [notificationMessage, setNotificationMessage] = useState("");
|
|
29
32
|
|
|
30
|
-
const handleClickOpen = () => {
|
|
31
|
-
setOpen(true);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const handleClose = () => {
|
|
35
|
-
setOpen(false);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
33
|
const { environmentName } = parseResourceUri(resourceUri);
|
|
34
|
+
|
|
39
35
|
const addPackage = useMutationWithApiError({
|
|
40
36
|
async mutationFn(variables: Package) {
|
|
41
37
|
return apiClients.packages.createPackage(environmentName, {
|
|
@@ -45,7 +41,7 @@ export default function AddPackageDialog({
|
|
|
45
41
|
});
|
|
46
42
|
},
|
|
47
43
|
onSuccess() {
|
|
48
|
-
|
|
44
|
+
setOpen(false);
|
|
49
45
|
setNotificationMessage("Package created successfully");
|
|
50
46
|
queryClient.invalidateQueries({
|
|
51
47
|
queryKey: ["packages", environmentName],
|
|
@@ -70,80 +66,121 @@ export default function AddPackageDialog({
|
|
|
70
66
|
};
|
|
71
67
|
|
|
72
68
|
return (
|
|
73
|
-
|
|
69
|
+
<>
|
|
74
70
|
<Button
|
|
75
|
-
onClick={
|
|
71
|
+
onClick={() => setOpen(true)}
|
|
76
72
|
variant="contained"
|
|
77
73
|
color="primary"
|
|
78
74
|
startIcon={<Add />}
|
|
79
|
-
sx={{
|
|
80
|
-
color: "white",
|
|
81
|
-
}}
|
|
82
75
|
>
|
|
83
76
|
Add Package
|
|
84
77
|
</Button>
|
|
85
78
|
|
|
86
|
-
<Dialog
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
79
|
+
<Dialog
|
|
80
|
+
open={open}
|
|
81
|
+
onClose={() => setOpen(false)}
|
|
82
|
+
maxWidth="sm"
|
|
83
|
+
fullWidth
|
|
84
|
+
PaperProps={{ sx: { borderRadius: 2 } }}
|
|
85
|
+
>
|
|
86
|
+
<DialogTitle
|
|
87
|
+
sx={{
|
|
88
|
+
fontSize: "1.25rem",
|
|
89
|
+
fontWeight: 600,
|
|
90
|
+
letterSpacing: "-0.025em",
|
|
91
|
+
pt: 3,
|
|
92
|
+
pb: 1,
|
|
93
|
+
px: 3,
|
|
94
|
+
}}
|
|
95
|
+
>
|
|
96
|
+
Create New Package
|
|
97
|
+
</DialogTitle>
|
|
98
|
+
<DialogContent sx={{ px: 3, pb: 0 }}>
|
|
99
|
+
<Box sx={{ mb: 3 }}>
|
|
100
|
+
<Typography
|
|
101
|
+
variant="body2"
|
|
102
|
+
color="text.secondary"
|
|
103
|
+
sx={{ mb: 1.5 }}
|
|
103
104
|
>
|
|
104
|
-
Malloy
|
|
105
|
-
</
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
Create a new Malloy package to start exploring your data.
|
|
106
|
+
</Typography>
|
|
107
|
+
<Typography
|
|
108
|
+
variant="body2"
|
|
109
|
+
color="text.secondary"
|
|
110
|
+
sx={{ mb: 1.5 }}
|
|
111
|
+
>
|
|
112
|
+
The location can be a GitHub/S3/GCP URL containing a
|
|
113
|
+
package (zipped or unzipped), or an absolute path to a
|
|
114
|
+
directory the publisher server has access to.
|
|
115
|
+
</Typography>
|
|
116
|
+
<Typography variant="body2" color="text.secondary">
|
|
117
|
+
Make sure to conform to the{" "}
|
|
118
|
+
<Box
|
|
119
|
+
component="a"
|
|
120
|
+
href="https://github.com/malloydata/publisher/blob/main/README.md#architecture-overview"
|
|
121
|
+
target="_blank"
|
|
122
|
+
rel="noopener noreferrer"
|
|
123
|
+
sx={{
|
|
124
|
+
color: "text.primary",
|
|
125
|
+
textDecoration: "underline",
|
|
126
|
+
}}
|
|
127
|
+
>
|
|
128
|
+
Malloy Package Format
|
|
129
|
+
</Box>
|
|
130
|
+
.
|
|
131
|
+
</Typography>
|
|
132
|
+
</Box>
|
|
108
133
|
<form onSubmit={handleSubmit} id="package-form">
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
<Stack spacing={2.5}>
|
|
135
|
+
<TextField
|
|
136
|
+
autoFocus
|
|
137
|
+
required
|
|
138
|
+
id="name"
|
|
139
|
+
name="name"
|
|
140
|
+
label="Package Name"
|
|
141
|
+
type="text"
|
|
142
|
+
fullWidth
|
|
143
|
+
variant="outlined"
|
|
144
|
+
size="small"
|
|
145
|
+
InputLabelProps={{ shrink: true }}
|
|
146
|
+
/>
|
|
147
|
+
<TextField
|
|
148
|
+
id="description"
|
|
149
|
+
name="description"
|
|
150
|
+
label="Description"
|
|
151
|
+
multiline
|
|
152
|
+
rows={3}
|
|
153
|
+
fullWidth
|
|
154
|
+
variant="outlined"
|
|
155
|
+
size="small"
|
|
156
|
+
InputLabelProps={{ shrink: true }}
|
|
157
|
+
/>
|
|
158
|
+
<TextField
|
|
159
|
+
id="location"
|
|
160
|
+
name="location"
|
|
161
|
+
label="Location"
|
|
162
|
+
type="text"
|
|
163
|
+
placeholder="e.g. s3://my-bucket/my-package.zip"
|
|
164
|
+
fullWidth
|
|
165
|
+
variant="outlined"
|
|
166
|
+
size="small"
|
|
167
|
+
InputLabelProps={{ shrink: true }}
|
|
168
|
+
/>
|
|
169
|
+
</Stack>
|
|
138
170
|
</form>
|
|
139
171
|
</DialogContent>
|
|
140
|
-
<DialogActions>
|
|
141
|
-
<Button
|
|
172
|
+
<DialogActions sx={{ px: 3, pt: 2, pb: 3, gap: 1 }}>
|
|
173
|
+
<Button
|
|
174
|
+
variant="outlined"
|
|
175
|
+
disabled={addPackage.isPending}
|
|
176
|
+
onClick={() => setOpen(false)}
|
|
177
|
+
>
|
|
142
178
|
Cancel
|
|
143
179
|
</Button>
|
|
144
180
|
<Button
|
|
145
181
|
type="submit"
|
|
146
182
|
form="package-form"
|
|
183
|
+
variant="contained"
|
|
147
184
|
loading={addPackage.isPending}
|
|
148
185
|
>
|
|
149
186
|
Save Changes
|
|
@@ -156,6 +193,6 @@ export default function AddPackageDialog({
|
|
|
156
193
|
onClose={() => setNotificationMessage("")}
|
|
157
194
|
message={notificationMessage}
|
|
158
195
|
/>
|
|
159
|
-
|
|
196
|
+
</>
|
|
160
197
|
);
|
|
161
198
|
}
|
|
@@ -13,6 +13,7 @@ import { useMutationWithApiError } from "../../hooks/useQueryWithApiError";
|
|
|
13
13
|
import { useServer } from "../ServerProvider";
|
|
14
14
|
import { useQueryClient } from "@tanstack/react-query";
|
|
15
15
|
import { parseResourceUri } from "../../utils/formatting";
|
|
16
|
+
import { MALLOY_BRAND } from "../styles";
|
|
16
17
|
|
|
17
18
|
export default function DeletePackageDialog({
|
|
18
19
|
resourceUri,
|
|
@@ -90,8 +91,8 @@ export default function DeletePackageDialog({
|
|
|
90
91
|
variant="outlined"
|
|
91
92
|
onClick={handleClose}
|
|
92
93
|
style={{
|
|
93
|
-
borderColor:
|
|
94
|
-
color:
|
|
94
|
+
borderColor: MALLOY_BRAND.teal,
|
|
95
|
+
color: MALLOY_BRAND.teal,
|
|
95
96
|
}}
|
|
96
97
|
>
|
|
97
98
|
Cancel
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Box,
|
|
1
|
+
import { Box, Container, Stack, Typography } from "@mui/material";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
3
|
import { parseResourceUri } from "../../utils/formatting";
|
|
4
4
|
import { useServer } from "../ServerProvider";
|
|
5
|
-
import { PackageContainer } from "../styles";
|
|
6
5
|
import About from "./About";
|
|
7
6
|
import AddPackageDialog from "./AddPackageDialog";
|
|
8
7
|
import Packages from "./Packages";
|
|
@@ -24,29 +23,51 @@ export default function Environment({
|
|
|
24
23
|
}, []);
|
|
25
24
|
|
|
26
25
|
return (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
<Container
|
|
27
|
+
maxWidth={false}
|
|
28
|
+
sx={{ maxWidth: 1024, mx: "auto", px: 4, py: 3 }}
|
|
29
|
+
>
|
|
30
|
+
<Box sx={{ mb: 5 }}>
|
|
31
|
+
<Typography
|
|
32
|
+
variant="h4"
|
|
33
|
+
component="h1"
|
|
34
|
+
sx={{ fontWeight: 600, letterSpacing: "-0.025em", mb: 0.5 }}
|
|
35
|
+
>
|
|
36
|
+
{environmentName}
|
|
37
|
+
</Typography>
|
|
38
|
+
<Typography variant="body2" color="text.secondary">
|
|
39
|
+
Manage packages in this environment. Open a package to explore
|
|
40
|
+
its models, notebooks, and connections.
|
|
41
|
+
</Typography>
|
|
42
|
+
</Box>
|
|
43
|
+
|
|
44
|
+
<Box sx={{ mb: 5 }}>
|
|
45
|
+
<Stack
|
|
46
|
+
direction="row"
|
|
31
47
|
justifyContent="space-between"
|
|
32
|
-
alignItems="
|
|
33
|
-
|
|
48
|
+
alignItems="flex-start"
|
|
49
|
+
sx={{ mb: 3 }}
|
|
34
50
|
>
|
|
35
|
-
<
|
|
51
|
+
<Box>
|
|
52
|
+
<Typography
|
|
53
|
+
variant="h6"
|
|
54
|
+
sx={{ fontWeight: 600, letterSpacing: "-0.025em" }}
|
|
55
|
+
>
|
|
56
|
+
Packages
|
|
57
|
+
</Typography>
|
|
58
|
+
<Typography variant="body2" color="text.secondary">
|
|
59
|
+
Published packages available for use in this environment
|
|
60
|
+
</Typography>
|
|
61
|
+
</Box>
|
|
36
62
|
{mutable && <AddPackageDialog resourceUri={resourceUri} />}
|
|
37
|
-
</
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<About resourceUri={resourceUri} />
|
|
47
|
-
</Grid>
|
|
48
|
-
</Grid>
|
|
49
|
-
</PackageContainer>
|
|
50
|
-
</>
|
|
63
|
+
</Stack>
|
|
64
|
+
<Packages
|
|
65
|
+
onSelectPackage={onSelectPackage}
|
|
66
|
+
resourceUri={resourceUri}
|
|
67
|
+
/>
|
|
68
|
+
</Box>
|
|
69
|
+
|
|
70
|
+
<About resourceUri={resourceUri} />
|
|
71
|
+
</Container>
|
|
51
72
|
);
|
|
52
73
|
}
|