pollination-react-io 1.57.1 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -44777,7 +44777,7 @@ var CreateStudy = function (_a) {
44777
44777
  var jobName_1 = toUnixPath(projectJobInfo.studyId).split('/').reverse()[0];
44778
44778
  // Path is the full path of the local machine where the run input/output are
44779
44779
  setTimeout(function () {
44780
- window.location.href = "http://localhost:3000/".concat(projectJobInfo.accountName, "/projects/").concat(projectJobInfo.projectName, "/localStudies/").concat(jobName_1, "/?path=").concat(projectJobInfo.studyId);
44780
+ window.location.href = "".concat(basePath, "/").concat(projectJobInfo.accountName, "/projects/").concat(projectJobInfo.projectName, "/localStudies/").concat(jobName_1, "/?path=").concat(projectJobInfo.studyId);
44781
44781
  }, 3000);
44782
44782
  }
44783
44783
  };
@@ -49351,26 +49351,27 @@ var CADtypeEnum;
49351
49351
  })(CADtypeEnum || (CADtypeEnum = {}));
49352
49352
  var FileCard = function (_a) {
49353
49353
  var _b, _c;
49354
- var projectOwner = _a.projectOwner, projectName = _a.projectName, client = _a.client, studyId = _a.studyId, runId = _a.runId, label = _a.label, path = _a.path, file = _a.file, description = _a.description, onClicked = _a.onClicked;
49354
+ var projectOwner = _a.projectOwner, projectName = _a.projectName, client = _a.client, studyId = _a.studyId, runId = _a.runId, label = _a.label, path = _a.path, file = _a.file, description = _a.description, onClicked = _a.onClicked, _d = _a.isCloud, isCloud = _d === void 0 ? true : _d;
49355
49355
  var host = getHost();
49356
- var _d = React.useState(false), open = _d[0], setOpen = _d[1];
49357
- var _e = React.useState(false), over = _e[0], setOver = _e[1];
49358
- var _f = React.useState(true), isLoading = _f[0], setIsLoading = _f[1];
49359
- var _g = React.useState(false), isInactive = _g[0], setIsInactive = _g[1];
49356
+ var fromFileToBase64 = usePollinationPanel().fromFileToBase64;
49357
+ var _e = React.useState(false), open = _e[0], setOpen = _e[1];
49358
+ var _f = React.useState(false), over = _f[0], setOver = _f[1];
49359
+ var _g = React.useState(true), isLoading = _g[0], setIsLoading = _g[1];
49360
+ var _h = React.useState(false), isInactive = _h[0], setIsInactive = _h[1];
49360
49361
  // Data to use for CAD injections
49361
- var _h = React.useState(), CADdata = _h[0], setCADdata = _h[1];
49362
+ var _j = React.useState(), CADdata = _j[0], setCADdata = _j[1];
49362
49363
  // File to send to parent
49363
- var _j = React.useState(), currFile = _j[0], setCurrFile = _j[1];
49364
- /**
49365
- * Check if run id is a valid UUID or file path (Local sim)
49366
- * @param str run id
49367
- * @returns true or false
49368
- */
49369
- var checkIfValidUUID = function (str) {
49370
- var regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;
49371
- return regexExp.test(str);
49372
- };
49373
- var isCloud = React.useMemo(function () { return checkIfValidUUID(runId); }, [runId]);
49364
+ var _k = React.useState(), currFile = _k[0], setCurrFile = _k[1];
49365
+ // /**
49366
+ // * Check if run id is a valid UUID or file path (Local sim)
49367
+ // * @param str run id
49368
+ // * @returns true or false
49369
+ // */
49370
+ // const checkIfValidUUID = (str: string): boolean => {
49371
+ // const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi
49372
+ // return regexExp.test(str)
49373
+ // }
49374
+ // const isCloud = useMemo(() => checkIfValidUUID(runId), [runId])
49374
49375
  var downloadArtifact = useArtifacts(projectOwner, projectName, client).downloadArtifact;
49375
49376
  var setCADintegration = React.useCallback(function (file) {
49376
49377
  if (!file)
@@ -49421,9 +49422,39 @@ var FileCard = function (_a) {
49421
49422
  setCADintegration(blob);
49422
49423
  });
49423
49424
  })
49424
- .catch(function () { })
49425
+ .catch(function (err) {
49426
+ console.error(err);
49427
+ })
49425
49428
  .finally(function () { return setIsLoading(false); });
49426
49429
  };
49430
+ var extension = React.useMemo(function () {
49431
+ return path.split('/').reverse()[0];
49432
+ }, [path]);
49433
+ /**
49434
+ * Read local file as Blob - Panel only
49435
+ */
49436
+ var base64AndFetch = function (path) {
49437
+ if (!path)
49438
+ return;
49439
+ var data = fromFileToBase64(path);
49440
+ var base64Data = data === null || data === void 0 ? void 0 : data.data;
49441
+ if (!base64Data)
49442
+ return;
49443
+ // bas64 mapping
49444
+ var t;
49445
+ switch (extension) {
49446
+ case 'zip':
49447
+ t = 'application/zip';
49448
+ break;
49449
+ case 'hbjson':
49450
+ case 'vsf':
49451
+ t = 'text/plain';
49452
+ default:
49453
+ t = 'text/plain';
49454
+ break;
49455
+ }
49456
+ fetchAndSet("data:".concat(t, ";base64,").concat(base64Data));
49457
+ };
49427
49458
  React.useEffect(function () {
49428
49459
  if (isCloud) {
49429
49460
  // Generate Blob on click
@@ -49432,8 +49463,15 @@ var FileCard = function (_a) {
49432
49463
  .catch(function () { return onClicked({ label: label, path: path, file: undefined, description: description, runId: runId }); });
49433
49464
  }
49434
49465
  else {
49435
- // TODO: Local later...
49436
- onClicked({ label: label, path: path, file: currFile, description: description, runId: runId });
49466
+ var isPanel = checkPollinationPanel();
49467
+ if (!isPanel) {
49468
+ setIsInactive(true);
49469
+ setCurrFile(undefined);
49470
+ setCADintegration(undefined);
49471
+ setIsLoading(false);
49472
+ return;
49473
+ }
49474
+ base64AndFetch(path);
49437
49475
  }
49438
49476
  }, [studyId, runId, label, path]);
49439
49477
  return React__default["default"].createElement("div", { className: isInactive
@@ -49515,11 +49553,11 @@ var css_248z$2 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --
49515
49553
  styleInject(css_248z$2);
49516
49554
 
49517
49555
  var RunContent = function (_a) {
49518
- var inputData = _a.inputData, projectOwner = _a.projectOwner, projectName = _a.projectName, studyId = _a.studyId, runId = _a.runId, client = _a.client, title = _a.title, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
49519
- var _b = React.useState([]), currData = _b[0], setCurrData = _b[1];
49520
- var _c = React.useState([]), currParams = _c[0], setCurrParams = _c[1];
49521
- var _d = React.useState([]), currFiles = _d[0], setCurrFiles = _d[1];
49522
- var _e = React.useState([]), currFolders = _e[0], setCurrFolders = _e[1];
49556
+ var inputData = _a.inputData, projectOwner = _a.projectOwner, projectName = _a.projectName, studyId = _a.studyId, runId = _a.runId, client = _a.client, title = _a.title, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard, _b = _a.isCloud, isCloud = _b === void 0 ? true : _b;
49557
+ var _c = React.useState([]), currData = _c[0], setCurrData = _c[1];
49558
+ var _d = React.useState([]), currParams = _d[0], setCurrParams = _d[1];
49559
+ var _e = React.useState([]), currFiles = _e[0], setCurrFiles = _e[1];
49560
+ var _f = React.useState([]), currFolders = _f[0], setCurrFolders = _f[1];
49523
49561
  React.useEffect(function () { return setCurrData(inputData); }, [inputData]);
49524
49562
  React.useEffect(function () {
49525
49563
  if (!currData || currData.length == 0)
@@ -49549,11 +49587,11 @@ var RunContent = function (_a) {
49549
49587
  setCurrFiles(files);
49550
49588
  setCurrFolders(folders);
49551
49589
  }, [currData]);
49552
- var checkIfValidUUID = function (str) {
49553
- var regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;
49554
- return regexExp.test(str);
49555
- };
49556
- var isCloud = React.useMemo(function () { return checkIfValidUUID(runId); }, [runId]);
49590
+ // const checkIfValidUUID = (str: string): boolean => {
49591
+ // const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi
49592
+ // return regexExp.test(str)
49593
+ // }
49594
+ // const isCloud = useMemo(() => checkIfValidUUID(runId), [runId])
49557
49595
  /**
49558
49596
  * Click event handler of the file card
49559
49597
  * @param card File card props
@@ -49581,7 +49619,7 @@ var RunContent = function (_a) {
49581
49619
  currFiles.length > 0 && projectOwner && projectName && client && runId && React__default["default"].createElement("div", { style: { padding: '20px' } },
49582
49620
  React__default["default"].createElement("div", { className: 'cards' }, currFiles.map(function (_a, index) {
49583
49621
  var label = _a.label, path = _a.path, description = _a.description;
49584
- return React__default["default"].createElement(FileCard, { projectOwner: projectOwner, projectName: projectName, studyId: studyId, runId: runId, client: client, key: "filecard-".concat(index), label: label, path: path, description: description, onClicked: onFileClicked });
49622
+ return React__default["default"].createElement(FileCard, { projectOwner: projectOwner, projectName: projectName, studyId: studyId, runId: runId, client: client, key: "filecard-".concat(index), label: label, path: path, description: description, onClicked: onFileClicked, isCloud: isCloud });
49585
49623
  }))),
49586
49624
  currFolders.length > 0 && React__default["default"].createElement("div", { style: { padding: '20px' } },
49587
49625
  React__default["default"].createElement("div", { className: 'cards' }, currFolders.map(function (_a, index) {
@@ -49597,11 +49635,10 @@ var RunContent = function (_a) {
49597
49635
 
49598
49636
  var RunDetails = function (_a) {
49599
49637
  var projectName = _a.projectName, projectOwner = _a.projectOwner, run = _a.run, // Cloud and Local
49600
- runId = _a.runId; // TODO: delete it if RUN JSON has the field
49601
- _a.authUser; var client = _a.client, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
49602
- var _b = React.useState([]), extraInputs = _b[0], setExtraInputs = _b[1];
49603
- var _c = React.useState([]), recipeInputs = _c[0], setRecipeInputs = _c[1];
49604
- var _d = React.useState([]), outputs = _d[0], setOutputs = _d[1];
49638
+ client = _a.client, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard, _b = _a.isCloud, isCloud = _b === void 0 ? true : _b;
49639
+ var _c = React.useState([]), extraInputs = _c[0], setExtraInputs = _c[1];
49640
+ var _d = React.useState([]), recipeInputs = _d[0], setRecipeInputs = _d[1];
49641
+ var _e = React.useState([]), outputs = _e[0], setOutputs = _e[1];
49605
49642
  React.useEffect(function () {
49606
49643
  if (!run)
49607
49644
  return;
@@ -49612,6 +49649,7 @@ var RunDetails = function (_a) {
49612
49649
  var outputs = [];
49613
49650
  var recipeInputs = [];
49614
49651
  var extraInputs = [];
49652
+ // If cloud
49615
49653
  if (run.status) {
49616
49654
  run.status.inputs.forEach(function (i) {
49617
49655
  if (recipeInputNames.includes(i.name)) {
@@ -49629,11 +49667,11 @@ var RunDetails = function (_a) {
49629
49667
  }, [run]);
49630
49668
  return (React__default["default"].createElement("div", null,
49631
49669
  outputs &&
49632
- React__default["default"].createElement(RunContent, { title: 'Outputs', inputData: outputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id || runId, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard }),
49670
+ React__default["default"].createElement(RunContent, { title: 'Outputs', inputData: outputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud }),
49633
49671
  recipeInputs &&
49634
- React__default["default"].createElement(RunContent, { title: 'Inputs', inputData: recipeInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id || runId, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard }),
49672
+ React__default["default"].createElement(RunContent, { title: 'Inputs', inputData: recipeInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud }),
49635
49673
  extraInputs && extraInputs.length > 0 &&
49636
- React__default["default"].createElement(RunContent, { title: 'Extra Inputs', inputData: extraInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id || runId, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard })));
49674
+ React__default["default"].createElement(RunContent, { title: 'Extra Inputs', inputData: extraInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud })));
49637
49675
  };
49638
49676
 
49639
49677
  var css_248z$1 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\n --primary3: #000;\n --success: #46A758;\n --warning: #F76809;\n --danger: #FF4616;\n /* radix-ui/colors */\n --slate1: hsl(206, 30.0%, 98.8%);\n --slate2: hsl(210, 16.7%, 97.6%);\n --slate3: hsl(209, 13.3%, 95.3%);\n --slate4: hsl(209, 12.2%, 93.2%);\n --slate5: hsl(208, 11.7%, 91.1%);\n --slate6: hsl(208, 11.3%, 88.9%);\n --slate7: hsl(207, 11.1%, 85.9%);\n --slate8: hsl(205, 10.7%, 78.0%);\n --slate9: hsl(206, 6.0%, 56.1%);\n --slate10: hsl(206, 5.8%, 52.3%);\n --slate11: hsl(206, 6.0%, 43.5%);\n --slate12: hsl(206, 24.0%, 9.0%);\n}\n\n@keyframes spin {\n from {\n transform: rotate(0);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.spin {\n animation: spin 1s linear 0s infinite;\n}\n\n@keyframes Animation {\n 0% {\n background-position: 200%;\n }\n 50% {\n background-position: 100%;\n }\n 100% {\n background-position: 0%;\n }\n}\n.loading {\n background: linear-gradient(45deg, transparent, var(--primary), 12%, transparent);\n background-size: 200%;\n animation: Animation 3s ease infinite;\n}\n\n@keyframes open {\n from {\n height: 0;\n }\n to {\n height: var(--radix-collapsible-content-height);\n }\n}\n@keyframes close {\n from {\n height: var(--radix-collapsible-content-height);\n }\n to {\n height: 0;\n }\n}\n.collapse-content {\n overflow: hidden;\n font-size: inherit;\n color: inherit;\n}\n\n.collapse-content[data-state=open] {\n animation: open 300ms ease-out;\n}\n\n.collapse-content[data-state=closed] {\n animation: close 300ms ease-out;\n}\n\n.run-progress {\n grid-area: runprogress;\n font-size: 0.9rem;\n text-align: left !important;\n}\n\n.run-link {\n grid-area: runlink;\n text-align: right !important;\n font-size: 1rem;\n white-space: nowrap;\n}\n\n.run-details {\n grid-area: rundetails;\n font-size: 0.9rem;\n}\n\n.study-run-container {\n display: grid;\n grid-template-areas: \"runprogress runprogress runprogress runprogress runprogress runlink\" \"rundetails rundetails rundetails rundetails rundetails rundetails\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.75rem;\n transition: box-shadow 0.3s ease 0s, border-color 0.3s ease 0s;\n grid-template-rows: max-content auto;\n border-radius: 6px;\n line-height: 1.5;\n}\n\n.study-run-container:hover {\n cursor: pointer;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 2px -2px, rgba(0, 0, 0, 0.12) 0px 3px 6px 0px, rgba(0, 0, 0, 0.09) 0px 5px 12px 4px;\n}\n\n.run-navigator {\n display: grid;\n grid-template-columns: min-content auto min-content min-content;\n grid-auto-rows: auto;\n align-items: center;\n grid-gap: 0.9rem;\n}\n\n.run-pg-input {\n margin: 0 4px 0 4px;\n padding: 8px 8px;\n text-align: center;\n color: rgba(0, 0, 0, 0.8509803922);\n width: min-content;\n border-radius: 2px;\n font-size: 12px;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.container-scroll {\n display: inline-flex;\n flex-direction: row;\n overflow-x: auto;\n width: 100%;\n}\n\n.blink-effect {\n animation: blinker 5s linear infinite;\n}\n\n@keyframes blinker {\n 50% {\n border: 0.1rem solid white;\n }\n}";
@@ -50304,7 +50342,7 @@ styleInject(css_248z);
50304
50342
 
50305
50343
  var RunRow = function (_a) {
50306
50344
  var _b, _c;
50307
- var projectOwner = _a.projectOwner, projectName = _a.projectName, run = _a.run, index = _a.index, client = _a.client, authUser = _a.authUser, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
50345
+ var projectOwner = _a.projectOwner, projectName = _a.projectName, run = _a.run, index = _a.index, client = _a.client; _a.authUser; var style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
50308
50346
  var statusMap = useRuns(client).statusMap;
50309
50347
  var _d = React.useState(false), open = _d[0], setOpen = _d[1];
50310
50348
  /*
@@ -50404,7 +50442,7 @@ var RunRow = function (_a) {
50404
50442
  : hover.debugOver ? '#40a9ff'
50405
50443
  : '#000') } }))),
50406
50444
  open && React__default["default"].createElement("div", { className: 'run-details' },
50407
- React__default["default"].createElement(RunDetails, { projectOwner: projectOwner, projectName: projectName, run: run, authUser: authUser, client: client, getFileCard: getFileCard, getFolderCard: getFolderCard, style: style })));
50445
+ React__default["default"].createElement(RunDetails, { projectOwner: projectOwner, projectName: projectName, run: run, client: client, getFileCard: getFileCard, getFolderCard: getFolderCard, style: style })));
50408
50446
  };
50409
50447
 
50410
50448
  var RunTable = function (_a) {