pollination-react-io 1.40.2 → 1.41.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.
@@ -1,6 +1,11 @@
1
1
  import { Run, UserPrivate } from '@pollination-solutions/pollination-sdk';
2
2
  import { CSSProperties } from 'react';
3
3
  import { APIClient } from '../hooks';
4
+ export declare enum RunTabs {
5
+ details = "details",
6
+ debug = "debug",
7
+ workspace = "workspace"
8
+ }
4
9
  export interface RunCardProps {
5
10
  projectOwner: string;
6
11
  projectName: string;
@@ -10,4 +15,5 @@ export interface RunCardProps {
10
15
  authUser?: UserPrivate;
11
16
  client?: APIClient;
12
17
  getValue?: (any: any) => any;
18
+ defaultTab?: RunTabs;
13
19
  }
@@ -1,6 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { APIClient } from '../hooks';
3
3
  import { FileCardProps } from './Cards/FileCard';
4
+ import { FolderCardProps } from './Cards/FolderCard';
4
5
  export interface RunContentProps {
5
6
  title: string;
6
7
  inputData: any[];
@@ -10,5 +11,6 @@ export interface RunContentProps {
10
11
  projectName?: string;
11
12
  client?: APIClient;
12
13
  style?: CSSProperties;
13
- getCardValue?: (card: FileCardProps) => any;
14
+ getFileCard?: (card: FileCardProps) => any;
15
+ getFolderCard?: (card: FolderCardProps) => any;
14
16
  }
@@ -2,6 +2,7 @@ import { Run, UserPrivate } from '@pollination-solutions/pollination-sdk';
2
2
  import { CSSProperties } from 'react';
3
3
  import { APIClient } from '../hooks';
4
4
  import { FileCardProps } from './Cards/FileCard';
5
+ import { FolderCardProps } from './Cards/FolderCard';
5
6
  export interface LocalRun {
6
7
  meta: any;
7
8
  status: any;
@@ -16,5 +17,6 @@ export interface RunDetailsProps {
16
17
  authUser?: UserPrivate;
17
18
  client?: APIClient;
18
19
  style?: CSSProperties;
19
- getCardValue?: (card: FileCardProps) => any;
20
+ getFileCard?: (card: FileCardProps) => any;
21
+ getFolderCard?: (card: FolderCardProps) => any;
20
22
  }
@@ -11,4 +11,5 @@ export * from './useRunCommand';
11
11
  export * from './useRuns';
12
12
  export * from './useSendHbjson';
13
13
  export * from './useSendMessage';
14
+ export * from './useWindowDimensions';
14
15
  export * from './utilities';
@@ -0,0 +1,4 @@
1
+ export declare const useWindowDimensions: () => {
2
+ width: number;
3
+ height: number;
4
+ };
@@ -40483,6 +40483,25 @@ var useSendHbjson = function () {
40483
40483
  });
40484
40484
  };
40485
40485
 
40486
+ var useWindowDimensions = function () {
40487
+ var getDimension = function () {
40488
+ var width = window.innerWidth, height = window.innerHeight;
40489
+ return {
40490
+ width: width,
40491
+ height: height
40492
+ };
40493
+ };
40494
+ var _a = useState(getDimension()), dimensions = _a[0], setDimensions = _a[1];
40495
+ useEffect(function () {
40496
+ function handleResize() {
40497
+ setDimensions(getDimension());
40498
+ }
40499
+ window.addEventListener('resize', handleResize);
40500
+ return function () { return window.removeEventListener('resize', handleResize); };
40501
+ }, []);
40502
+ return dimensions;
40503
+ };
40504
+
40486
40505
  var AuthUser = function (config) {
40487
40506
  var authUser = useAPIClient(config).authUser;
40488
40507
  return (React__default.createElement(Avatar, { alt: authUser && authUser.name, src: authUser && authUser.picture, href: authUser && "https://app.pollination.cloud/".concat(authUser.username), fallback: authUser
@@ -46932,7 +46951,7 @@ var SendModel = function (_a) {
46932
46951
  }], asButtons: true, label: buttonLabel, helpText: "".concat(selOpt ? selOpt.charAt(0).toUpperCase() + selOpt.replace('-', ' ').slice(1) : 'Send', " model.") }));
46933
46952
  };
46934
46953
 
46935
- var css_248z$3 = ":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.item1 {\n grid-area: accountprj;\n font-size: 1rem;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item2 {\n grid-area: runworkspacedebug;\n text-align: right !important;\n font-size: 1.25rem;\n white-space: nowrap;\n}\n\n.item3 {\n grid-area: studyrun;\n font-size: 1.25rem;\n font-weight: 500;\n white-space: wrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item4 {\n grid-area: date;\n color: var(--slate10);\n font-size: 0.9rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: right !important;\n}\n\n.item5 {\n grid-area: author;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item6 {\n grid-area: recipe;\n white-space: wrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item7 {\n grid-area: description;\n white-space: wrap;\n color: var(--slate10);\n font-size: 0.9rem;\n}\n\n.item8 {\n grid-area: status;\n font-size: 0.9rem;\n}\n\n.status-label {\n font-weight: 500;\n}\n\n.item9 {\n grid-area: time;\n text-align: right !important;\n white-space: wrap;\n}\n\n.item10 {\n grid-area: cpu;\n text-align: right !important;\n white-space: wrap;\n}\n\n.link {\n text-decoration: none;\n color: var(--primary3);\n}\n\n.link:hover {\n color: var(--primary3);\n}\n\n.light-text {\n color: var(--slate10);\n font-size: 0.9rem;\n}\n\n.grid-container {\n display: grid;\n grid-template-areas: \"accountprj accountprj accountprj accountprj accountprj runworkspacedebug\" \"studyrun studyrun studyrun studyrun date date\" \"author recipe recipe recipe recipe recipe\" \"status status status status cpu time\" \"description description description description description description\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.35rem;\n transition: box-shadow 0.3s ease 0s, border-color 0.3s ease 0s;\n grid-template-rows: 52px 38px 46px 46px auto;\n border-radius: 6px;\n line-height: 1.5;\n}\n\n.grid-container:hover {\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 cursor: pointer;\n}\n\n.disable-click {\n box-shadow: none !important;\n cursor: default !important;\n}\n\n.grid-container > div {\n text-align: left;\n padding: 1rem;\n vertical-align: middle;\n}\n\n.description-expander {\n all: unset;\n}\n\n.description-expander:focus {\n outline: 0 !important;\n}\n\n@media (max-width: 600px) {\n .grid-container {\n display: grid;\n grid-template-areas: \"accountprj accountprj accountprj accountprj accountprj runworkspacedebug\" \"studyrun studyrun studyrun studyrun studyrun studyrun\" \"date date date date date date\" \"author author author recipe recipe recipe\" \"status status status status status status\" \"time time time cpu cpu cpu\" \"description description description description description description\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.15rem;\n transition: box-shadow 0.3s;\n grid-template-rows: 52px 52px 32px 24px 24px 52px auto;\n }\n .item1 {\n text-align: left !important;\n }\n .item2 {\n text-align: right !important;\n font-size: 1rem;\n white-space: nowrap;\n }\n .item3, .item4 {\n text-align: center !important;\n }\n .item5 {\n font-size: 0.8rem;\n }\n .item6 {\n white-space: nowrap;\n font-size: 0.8rem;\n }\n .item7 {\n font-size: 0.8rem;\n text-align: center !important;\n }\n .item8 {\n font-size: 1rem;\n text-align: center !important;\n }\n .item9 {\n text-align: left !important;\n font-size: 1rem;\n white-space: nowrap;\n }\n .item10 {\n text-align: right !important;\n }\n .grid-container > div {\n text-align: left;\n vertical-align: middle;\n }\n}";
46954
+ var css_248z$3 = ":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.item1 {\n grid-area: accountprj;\n font-size: 1rem;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item2 {\n grid-area: runworkspacedebug;\n text-align: right !important;\n font-size: 1.25rem;\n white-space: nowrap;\n}\n\n.item3 {\n grid-area: studyrun;\n font-size: 1.25rem;\n font-weight: 500;\n white-space: wrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item4 {\n grid-area: date;\n color: var(--slate10);\n font-size: 0.9rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: right !important;\n}\n\n.item5 {\n grid-area: author;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item6 {\n grid-area: recipe;\n white-space: wrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.item7 {\n grid-area: description;\n white-space: wrap;\n color: var(--slate10);\n font-size: 0.9rem;\n}\n\n.item8 {\n grid-area: status;\n font-size: 0.9rem;\n}\n\n.status-label {\n font-weight: 500;\n}\n\n.item9 {\n grid-area: time;\n text-align: right !important;\n white-space: wrap;\n}\n\n.item10 {\n grid-area: cpu;\n text-align: right !important;\n white-space: wrap;\n}\n\n.link {\n text-decoration: none;\n color: var(--primary3);\n}\n\n.link:hover {\n color: var(--primary3);\n}\n\n.light-text {\n color: var(--slate10);\n font-size: 0.9rem;\n}\n\n.grid-container {\n display: grid;\n grid-template-areas: \"accountprj accountprj accountprj accountprj accountprj runworkspacedebug\" \"studyrun studyrun studyrun studyrun date date\" \"author recipe recipe recipe recipe recipe\" \"status status status status cpu time\" \"description description description description description description\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.35rem;\n transition: box-shadow 0.3s ease 0s, border-color 0.3s ease 0s;\n grid-template-rows: 52px 38px 46px 46px auto;\n border-radius: 6px;\n line-height: 1.5;\n}\n\n.grid-container:hover {\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 cursor: pointer;\n}\n\n.disable-click {\n box-shadow: none !important;\n cursor: default !important;\n}\n\n.grid-container > div {\n text-align: left;\n padding: 1rem;\n vertical-align: middle;\n}\n\n.description-expander {\n all: unset;\n}\n\n.description-expander:focus {\n outline: 0 !important;\n}\n\n@media (max-width: 600px) {\n .grid-container {\n display: grid;\n grid-template-areas: \"accountprj accountprj accountprj accountprj accountprj runworkspacedebug\" \"studyrun studyrun studyrun date date date\" \"author author author recipe recipe recipe\" \"time time status status cpu cpu\" \"description description description description description description\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.15rem;\n transition: box-shadow 0.3s;\n grid-template-rows: 52px 52px 32px 52px auto;\n }\n .item1 {\n text-align: left !important;\n }\n .item2 {\n text-align: right !important;\n font-size: 1rem;\n white-space: nowrap;\n }\n .item3, .item4 {\n text-align: center !important;\n }\n .item5 {\n font-size: 0.8rem;\n }\n .item6 {\n white-space: nowrap;\n font-size: 0.8rem;\n }\n .item7 {\n font-size: 0.8rem;\n text-align: center !important;\n }\n .item8 {\n font-size: 1rem;\n text-align: center !important;\n }\n .item9 {\n text-align: left !important;\n font-size: 1rem;\n white-space: nowrap;\n }\n .item10 {\n text-align: right !important;\n }\n .grid-container > div {\n text-align: left;\n vertical-align: middle;\n }\n}";
46936
46955
  styleInject(css_248z$3);
46937
46956
 
46938
46957
  var IconContext = /*#__PURE__*/createContext({});
@@ -48428,9 +48447,10 @@ var StudyCard = function (_a) {
48428
48447
  // Fetch _study
48429
48448
  var _f = useJobs(client), fetchJob = _f.fetchJob, getDuration = _f.getDuration, statusMap = _f.statusMap;
48430
48449
  var listRuns = useRuns(client).listRuns;
48431
- var _g = useState(false), open = _g[0], setOpen = _g[1];
48450
+ var _g = useWindowDimensions(), width = _g.width; _g.height;
48451
+ var _h = useState(false), open = _h[0], setOpen = _h[1];
48432
48452
  // From job to run
48433
- var _h = useSWR(authUser && _study ? [projectOwner, projectName, _study.id] : undefined, fetchJob, {
48453
+ var _j = useSWR(authUser && _study ? [projectOwner, projectName, _study.id] : undefined, fetchJob, {
48434
48454
  revalidateOnFocus: false,
48435
48455
  refreshInterval: !_study || _study.status.finished_at ? undefined : 5000,
48436
48456
  fallbackData: _study,
@@ -48451,7 +48471,7 @@ var StudyCard = function (_a) {
48451
48471
  })
48452
48472
  .catch(function () { setRun(undefined); });
48453
48473
  }
48454
- }), study = _h.data; _h.error; _h.isValidating;
48474
+ }), study = _j.data; _j.error; _j.isValidating;
48455
48475
  var total = useMemo(function () {
48456
48476
  if (!study)
48457
48477
  return undefined;
@@ -48474,8 +48494,8 @@ var StudyCard = function (_a) {
48474
48494
  }
48475
48495
  return study.status.status.toLocaleLowerCase();
48476
48496
  }, [study]);
48477
- var _j = useState(), run = _j[0], setRun = _j[1];
48478
- var _k = useState(getDuration(study)), duration = _k[0], setDuration = _k[1];
48497
+ var _k = useState(), run = _k[0], setRun = _k[1];
48498
+ var _l = useState(getDuration(study)), duration = _l[0], setDuration = _l[1];
48479
48499
  useEffect(function () {
48480
48500
  setRun(undefined);
48481
48501
  if (!study)
@@ -48492,16 +48512,19 @@ var StudyCard = function (_a) {
48492
48512
  /*
48493
48513
  * Manage hover
48494
48514
  */
48495
- var _l = useState({
48515
+ var _m = useState({
48496
48516
  account: false,
48497
48517
  project: false,
48498
- runDetails: false,
48499
- runWorkspace: false,
48500
- runDebug: false,
48518
+ details: false,
48519
+ workspace: false,
48520
+ debug: false,
48521
+ detailsOver: false,
48522
+ workspaceOver: false,
48523
+ debugOver: false,
48501
48524
  author: false,
48502
48525
  recipe: false,
48503
48526
  info: false
48504
- }), hover = _l[0], setHover = _l[1];
48527
+ }), hover = _m[0], setHover = _m[1];
48505
48528
  var toggleHover = function (event, inputId, value) {
48506
48529
  if (inputId === void 0) { inputId = undefined; }
48507
48530
  if (value === void 0) { value = false; }
@@ -48534,16 +48557,43 @@ var StudyCard = function (_a) {
48534
48557
  (study && !run) && total == 1 && React__default.createElement(LoadingOutlined$1, null),
48535
48558
  study && run &&
48536
48559
  React__default.createElement("div", null,
48537
- React__default.createElement("a", { style: { marginRight: '0.75rem' }, className: 'link', href: "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=info") },
48538
- React__default.createElement(InfoCircleOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runDetails', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runDetails', false); }, style: hover.runDetails ? { color: '#40a9ff' } : { color: '#000' } })),
48539
- React__default.createElement("a", { style: { marginRight: '0.75rem' }, className: 'link', href: "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=workspace&path=runs/").concat(run.id) },
48540
- React__default.createElement(FolderOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runWorkspace', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runWorkspace', false); }, style: hover.runWorkspace ? { color: '#40a9ff' } : {} })),
48541
- React__default.createElement("a", { className: 'link', href: "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=debug") },
48542
- React__default.createElement(PartitionOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runDebug', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runDebug', false); }, style: hover.runDebug ? { color: '#40a9ff' } : {} }))),
48560
+ React__default.createElement(InfoCircleOutlined$1, { className: 'link', onClick: function (e) {
48561
+ e.stopPropagation();
48562
+ document.location = "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=details");
48563
+ }, onMouseOver: function (e) {
48564
+ toggleHover(e, 'detailsOver', true);
48565
+ }, onMouseLeave: function (e) {
48566
+ toggleHover(e, 'detailsOver', false);
48567
+ }, style: { marginRight: '0.75rem',
48568
+ color: "".concat((hover.details || hover.detailsOver) ? '#40a9ff' : '#000') } }),
48569
+ React__default.createElement(FolderOutlined$1, { className: 'link', onClick: function (e) {
48570
+ e.stopPropagation();
48571
+ document.location = "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=workspace&path=runs/").concat(run.id);
48572
+ }, onMouseOver: function (e) {
48573
+ toggleHover(e, 'workspaceOver', true);
48574
+ }, onMouseLeave: function (e) {
48575
+ toggleHover(e, 'workspaceOver', false);
48576
+ }, style: { marginRight: '0.75rem',
48577
+ color: "".concat((hover.workspace || hover.workspaceOver) ? '#40a9ff' : '#000') } }),
48578
+ React__default.createElement(PartitionOutlined$1, { className: 'link', onClick: function (e) {
48579
+ e.stopPropagation();
48580
+ document.location = "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/runs/").concat(run.id, "?tab=debug");
48581
+ }, onMouseOver: function (e) {
48582
+ toggleHover(e, 'debugOver', true);
48583
+ }, onMouseLeave: function (e) {
48584
+ toggleHover(e, 'debugOver', false);
48585
+ }, style: { color: "".concat((hover.debug || hover.debugOver) ? '#40a9ff' : '#000') } })),
48543
48586
  (study && total > 1) &&
48544
48587
  React__default.createElement("div", null,
48545
- React__default.createElement("a", { className: 'link', href: "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/workspace") },
48546
- React__default.createElement(FolderOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runWorkspace', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runWorkspace', false); }, style: hover.runWorkspace ? { color: '#40a9ff' } : {} })))),
48588
+ React__default.createElement(FolderOutlined$1, { className: 'link', onClick: function (e) {
48589
+ e.stopPropagation();
48590
+ document.location = "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(study.id, "/workspace");
48591
+ }, onMouseOver: function (e) {
48592
+ toggleHover(e, 'workspaceOver', true);
48593
+ }, onMouseLeave: function (e) {
48594
+ toggleHover(e, 'workspaceOver', false);
48595
+ }, style: { marginRight: '0.75rem',
48596
+ color: "".concat((hover.workspace || hover.workspaceOver) ? '#40a9ff' : '#000') } }))),
48547
48597
  React__default.createElement("div", { className: 'item3' },
48548
48598
  React__default.createElement("div", null,
48549
48599
  study ? (_d = study.spec.name) !== null && _d !== void 0 ? _d : "Study: ".concat(study.id) : '--',
@@ -48556,11 +48606,11 @@ var StudyCard = function (_a) {
48556
48606
  React__default.createElement("div", { className: 'item4' }, study ? dayjs_min(study.status.started_at).format('[on] MMM DD YYYY') : '--'),
48557
48607
  React__default.createElement("div", { className: 'item5' },
48558
48608
  React__default.createElement("span", { style: { marginRight: '0.75rem' } },
48559
- React__default.createElement(Avatar, { src: study ? study.author.picture_url : '', size: 24 })),
48609
+ React__default.createElement(Avatar, { src: study ? study.author.picture_url : '', size: 24, color: hover.author ? '#40a9ff' : undefined })),
48560
48610
  React__default.createElement("a", { className: 'link', href: study ? "/".concat(study.author.name) : '', target: '_blank', rel: 'noreferrer', onMouseOver: function (e) { return toggleHover(e, undefined, true); }, onMouseLeave: function (e) { return toggleHover(e, undefined, false); }, id: 'author', style: hover.author ? { color: '#40a9ff' } : {} }, study ? ((_e = study.author.display_name) !== null && _e !== void 0 ? _e : study.author.name) : '--')),
48561
48611
  React__default.createElement("div", { className: 'item6' },
48562
48612
  React__default.createElement("span", { style: { marginRight: '0.75rem' } },
48563
- React__default.createElement(Avatar, { src: study ? study.recipe.metadata.icon : '', size: 24 })),
48613
+ React__default.createElement(Avatar, { src: study ? study.recipe.metadata.icon : '', size: 24, color: hover.recipe ? '#40a9ff' : undefined })),
48564
48614
  React__default.createElement("a", { className: 'link', href: study ? recipeLinkFromSource(study.recipe.source) : '', target: '_blank', rel: 'noreferrer', onMouseOver: function (e) { return toggleHover(e, undefined, true); }, onMouseLeave: function (e) { return toggleHover(e, undefined, false); }, id: 'recipe', style: hover.recipe ? { color: '#40a9ff' } : {} }, study ? study.recipe.metadata.name : '--'),
48565
48615
  study && React__default.createElement("span", { className: 'light-text' },
48566
48616
  " ",
@@ -48568,20 +48618,27 @@ var StudyCard = function (_a) {
48568
48618
  React__default.createElement("div", { className: 'item8' },
48569
48619
  React__default.createElement("span", { className: 'status-label', style: { marginRight: '0.75rem' } }, study ? status.charAt(0).toUpperCase() + status.slice(1) : '--'),
48570
48620
  React__default.createElement("span", { className: 'light-text' },
48571
- (study && total == 1) && run &&
48621
+ (study && total == 1) && run && width > 600 &&
48572
48622
  "".concat(run.meta.progress.completed, " / ").concat(run.meta.progress.total, " steps"),
48573
- (study && total > 1) &&
48623
+ (study && total > 1) && width > 600 &&
48574
48624
  "".concat(study.status.runs_completed, " / ").concat(total, " runs"))),
48575
48625
  React__default.createElement("div", { className: 'item9' },
48576
- React__default.createElement(Cpu$1, { size: 18, style: { marginRight: '0.75rem' } }),
48626
+ React__default.createElement(Cpu$1, { size: 18, style: { marginRight: '0.15rem' } }),
48577
48627
  React__default.createElement("span", { className: 'light-text' }, study ? "".concat(formatDuration$1(dayjs_min.duration(study.resources_duration.cpu, 'seconds'))) : '--')),
48578
48628
  React__default.createElement("div", { className: 'item10' },
48579
- React__default.createElement(Clock$1, { size: 18, style: { marginRight: '0.75rem' } }),
48629
+ React__default.createElement(Clock$1, { size: 18, style: { marginRight: '0.15rem' } }),
48580
48630
  React__default.createElement("span", { className: 'light-text' }, study ? "".concat(formatDuration$1(duration)) : '--')),
48581
48631
  open && React__default.createElement(React__default.Fragment, null,
48582
48632
  React__default.createElement("div", { className: 'item7' }, study ? study.spec.description : '--'))));
48583
48633
  };
48584
48634
 
48635
+ var RunTabs;
48636
+ (function (RunTabs) {
48637
+ RunTabs["details"] = "details";
48638
+ RunTabs["debug"] = "debug";
48639
+ RunTabs["workspace"] = "workspace";
48640
+ })(RunTabs || (RunTabs = {}));
48641
+
48585
48642
  dayjs_min.extend(duration);
48586
48643
  dayjs_min.extend(utc);
48587
48644
  var formatDuration = function (duration) {
@@ -48589,17 +48646,18 @@ var formatDuration = function (duration) {
48589
48646
  };
48590
48647
  var RunCard = function (_a) {
48591
48648
  var _b, _c, _d, _e;
48592
- var projectName = _a.projectName, projectOwner = _a.projectOwner, _run = _a.run, style = _a.style, authUser = _a.authUser, client = _a.client, enableClick = _a.enableClick, getValue = _a.getValue;
48649
+ var projectName = _a.projectName, projectOwner = _a.projectOwner, _run = _a.run, style = _a.style, authUser = _a.authUser, client = _a.client, enableClick = _a.enableClick, getValue = _a.getValue, defaultTab = _a.defaultTab;
48593
48650
  /*
48594
48651
  * Fetch run
48595
48652
  */
48596
48653
  var fetchJob = useJobs(client).fetchJob;
48597
48654
  var _f = useRuns(client), fetchRun = _f.fetchRun, statusMap = _f.statusMap, getDuration = _f.getDuration;
48598
- var _g = useState(false), open = _g[0], setOpen = _g[1];
48655
+ var _g = useWindowDimensions(), width = _g.width; _g.height;
48656
+ var _h = useState(false), open = _h[0], setOpen = _h[1];
48599
48657
  /*
48600
48658
  * From run to job
48601
48659
  */
48602
- var _h = useSWR(authUser && _run ? [projectOwner, projectName, _run.id] : undefined, fetchRun, {
48660
+ var _j = useSWR(authUser && _run ? [projectOwner, projectName, _run.id] : undefined, fetchRun, {
48603
48661
  revalidateOnFocus: false,
48604
48662
  refreshInterval: !_run || _run.status.finished_at ? undefined : 5000,
48605
48663
  fallbackData: _run,
@@ -48611,14 +48669,14 @@ var RunCard = function (_a) {
48611
48669
  })
48612
48670
  .catch(function () { setStudy(undefined); });
48613
48671
  }
48614
- }), run = _h.data; _h.error; _h.isValidating;
48672
+ }), run = _j.data; _j.error; _j.isValidating;
48615
48673
  var status = useMemo(function () {
48616
48674
  if (!run)
48617
48675
  return undefined;
48618
48676
  return run.status.status;
48619
48677
  }, [run]);
48620
- var _j = useState(), study = _j[0], setStudy = _j[1];
48621
- var _k = useState(getDuration(run)), duration = _k[0], setDuration = _k[1];
48678
+ var _k = useState(), study = _k[0], setStudy = _k[1];
48679
+ var _l = useState(getDuration(run)), duration = _l[0], setDuration = _l[1];
48622
48680
  useEffect(function () {
48623
48681
  if (!run)
48624
48682
  return undefined;
@@ -48634,16 +48692,19 @@ var RunCard = function (_a) {
48634
48692
  /*
48635
48693
  * Manage hover
48636
48694
  */
48637
- var _l = useState({
48695
+ var _m = useState({
48638
48696
  account: false,
48639
48697
  project: false,
48640
- runDetails: false,
48641
- runWorkspace: false,
48642
- runDebug: false,
48698
+ details: false,
48699
+ workspace: false,
48700
+ debug: false,
48701
+ detailsOver: false,
48702
+ workspaceOver: false,
48703
+ debugOver: false,
48643
48704
  author: false,
48644
48705
  recipe: false,
48645
48706
  info: false
48646
- }), hover = _l[0], setHover = _l[1];
48707
+ }), hover = _m[0], setHover = _m[1];
48647
48708
  var toggleHover = function (event, inputId, value) {
48648
48709
  if (inputId === void 0) { inputId = undefined; }
48649
48710
  if (value === void 0) { value = false; }
@@ -48670,27 +48731,44 @@ var RunCard = function (_a) {
48670
48731
  !study && run && React__default.createElement(LoadingOutlined$1, null),
48671
48732
  run && study &&
48672
48733
  React__default.createElement("div", null,
48673
- React__default.createElement("a", { style: { marginRight: '0.75rem' },
48674
- // href={`/${projectOwner}/projects/${projectName}/studies/${study.id}/runs/${run.id}`}
48675
- onClick: function (e) {
48734
+ React__default.createElement(InfoCircleOutlined$1, { className: 'link', onClick: function (e) {
48676
48735
  e.stopPropagation();
48677
- getValue('info');
48678
- } },
48679
- React__default.createElement(InfoCircleOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runDetails', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runDetails', false); }, style: hover.runDetails ? { color: '#40a9ff' } : { color: '#000' } })),
48680
- React__default.createElement("a", { style: { marginRight: '0.75rem' }, className: 'link',
48681
- // href={`/${projectOwner}/projects/${projectName}/studies/${study.id}/runs/${run.id}/workspace?path=runs/${run.id}`}
48682
- onClick: function (e) {
48736
+ getValue(RunTabs.details);
48737
+ toggleHover(e, RunTabs.workspace, false);
48738
+ toggleHover(e, RunTabs.details, true);
48739
+ toggleHover(e, RunTabs.debug, false);
48740
+ }, onMouseOver: function (e) {
48741
+ toggleHover(e, 'detailsOver', true);
48742
+ }, onMouseLeave: function (e) {
48743
+ toggleHover(e, 'detailsOver', false);
48744
+ }, style: { marginRight: '0.75rem',
48745
+ color: "".concat((hover.details || hover.detailsOver) || defaultTab === RunTabs.details
48746
+ ? '#40a9ff' : '#000') } }),
48747
+ React__default.createElement(FolderOutlined$1, { className: 'link', onClick: function (e) {
48683
48748
  e.stopPropagation();
48684
- getValue('workspace');
48685
- } },
48686
- React__default.createElement(FolderOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runWorkspace', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runWorkspace', false); }, style: hover.runWorkspace ? { color: '#40a9ff' } : {} })),
48687
- React__default.createElement("a", { className: 'link',
48688
- // href={`/${projectOwner}/projects/${projectName}/studies/${study.id}/runs/${run.id}/debug`}
48689
- onClick: function (e) {
48749
+ getValue(RunTabs.workspace);
48750
+ toggleHover(e, RunTabs.workspace, true);
48751
+ toggleHover(e, RunTabs.details, false);
48752
+ toggleHover(e, RunTabs.debug, false);
48753
+ }, onMouseOver: function (e) {
48754
+ toggleHover(e, 'workspaceOver', true);
48755
+ }, onMouseLeave: function (e) {
48756
+ toggleHover(e, 'workspaceOver', false);
48757
+ }, style: { marginRight: '0.75rem',
48758
+ color: "".concat((hover.workspace || hover.workspaceOver) || defaultTab === RunTabs.workspace
48759
+ ? '#40a9ff' : '#000') } }),
48760
+ React__default.createElement(PartitionOutlined$1, { className: 'link', onClick: function (e) {
48690
48761
  e.stopPropagation();
48691
- getValue('debug');
48692
- } },
48693
- React__default.createElement(PartitionOutlined$1, { onMouseOver: function (e) { return toggleHover(e, 'runDebug', true); }, onMouseLeave: function (e) { return toggleHover(e, 'runDebug', false); }, style: hover.runDebug ? { color: '#40a9ff' } : {} })))),
48762
+ getValue(RunTabs.debug);
48763
+ toggleHover(e, RunTabs.workspace, false);
48764
+ toggleHover(e, RunTabs.details, false);
48765
+ toggleHover(e, RunTabs.debug, true);
48766
+ }, onMouseOver: function (e) {
48767
+ toggleHover(e, 'debugOver', true);
48768
+ }, onMouseLeave: function (e) {
48769
+ toggleHover(e, 'debugOver', false);
48770
+ }, style: { color: "".concat((hover.debug || hover.debugOver) || defaultTab === RunTabs.debug
48771
+ ? '#40a9ff' : '#000') } }))),
48694
48772
  React__default.createElement("div", { className: 'item3' },
48695
48773
  React__default.createElement("div", null,
48696
48774
  study ? (_d = study.spec.name) !== null && _d !== void 0 ? _d : "Study: ".concat(study.id) : '--',
@@ -48702,24 +48780,24 @@ var RunCard = function (_a) {
48702
48780
  React__default.createElement("div", { className: 'item4' }, study ? dayjs_min(study.status.started_at).format('[on] MMM DD YYYY') : '--'),
48703
48781
  React__default.createElement("div", { className: 'item5' },
48704
48782
  React__default.createElement("span", { style: { marginRight: '0.75rem' } },
48705
- React__default.createElement(Avatar, { src: study ? study.author.picture_url : '', size: 24 })),
48783
+ React__default.createElement(Avatar, { color: hover.author ? '#40a9ff' : undefined, src: study ? study.author.picture_url : '', size: 24 })),
48706
48784
  React__default.createElement("a", { className: 'link', href: study ? "/".concat(study.author.name) : '', target: '_blank', rel: 'noreferrer', onMouseOver: function (e) { return toggleHover(e, undefined, true); }, onMouseLeave: function (e) { return toggleHover(e, undefined, false); }, id: 'author', style: hover.author ? { color: '#40a9ff' } : {} }, study ? ((_e = study.author.display_name) !== null && _e !== void 0 ? _e : study.author.name) : '--')),
48707
48785
  React__default.createElement("div", { className: 'item6' },
48708
48786
  React__default.createElement("span", { style: { marginRight: '0.75rem' } },
48709
- React__default.createElement(Avatar, { src: study ? study.recipe.metadata.icon : '', size: 24 })),
48787
+ React__default.createElement(Avatar, { color: hover.recipe ? '#40a9ff' : undefined, src: study ? study.recipe.metadata.icon : '', size: 24 })),
48710
48788
  React__default.createElement("a", { className: 'link', href: study ? recipeLinkFromSource(study.recipe.source) : '', target: '_blank', rel: 'noreferrer', onMouseOver: function (e) { return toggleHover(e, undefined, true); }, onMouseLeave: function (e) { return toggleHover(e, undefined, false); }, id: 'recipe', style: hover.recipe ? { color: '#40a9ff' } : {} }, study ? study.recipe.metadata.name : '--'),
48711
48789
  study && React__default.createElement("span", { className: 'light-text' },
48712
48790
  " ",
48713
48791
  study.recipe.metadata.tag)),
48714
48792
  React__default.createElement("div", { className: 'item8' },
48715
48793
  React__default.createElement("span", { className: 'status-label', style: { marginRight: '0.75rem' } }, study ? status : '--'),
48716
- React__default.createElement("span", { className: 'light-text' }, study && run &&
48794
+ React__default.createElement("span", { className: 'light-text' }, study && run && width > 600 &&
48717
48795
  "".concat(run.meta.progress.completed, " / ").concat(run.meta.progress.total, " steps"))),
48718
48796
  React__default.createElement("div", { className: 'item9' },
48719
- React__default.createElement(Cpu$1, { size: 18, style: { marginRight: '0.75rem' } }),
48797
+ React__default.createElement(Cpu$1, { size: 18, style: { marginRight: '0.15rem' } }),
48720
48798
  React__default.createElement("span", { className: 'light-text' }, study ? "".concat(formatDuration(dayjs_min.duration(run.meta.resources_duration.cpu, 'seconds'))) : '--')),
48721
48799
  React__default.createElement("div", { className: 'item10' },
48722
- React__default.createElement(Clock$1, { size: 18, style: { marginRight: '0.75rem' } }),
48800
+ React__default.createElement(Clock$1, { size: 18, style: { marginRight: '0.15rem' } }),
48723
48801
  React__default.createElement("span", { className: 'light-text' }, study ? "".concat(formatDuration(duration)) : '--')),
48724
48802
  open && React__default.createElement(React__default.Fragment, null,
48725
48803
  React__default.createElement("div", { className: 'item7' }, study ? study.spec.description : '--'))));
@@ -48873,14 +48951,14 @@ var css_248z = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --pr
48873
48951
  styleInject(css_248z);
48874
48952
 
48875
48953
  var RunContent = function (_a) {
48876
- 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, getCardValue = _a.getCardValue;
48954
+ 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;
48877
48955
  var downloadArtifact = useArtifacts(projectOwner, projectName, client).downloadArtifact;
48878
48956
  var fetchAndSet = function (url, card) {
48879
48957
  fetch(url)
48880
48958
  .then(function (response) { return response.blob()
48881
48959
  .then(function (blob) {
48882
48960
  blob.type;
48883
- getCardValue(__assign(__assign({}, card), { file: blob }));
48961
+ getFileCard(__assign(__assign({}, card), { file: blob }));
48884
48962
  }); })
48885
48963
  .catch(function () { });
48886
48964
  };
@@ -48931,23 +49009,26 @@ var RunContent = function (_a) {
48931
49009
  // Generate Blob on click
48932
49010
  studyId && downloadArtifact(card.path, studyId)
48933
49011
  .then(function (url) { return fetchAndSet(url, card); })
48934
- .catch(function () { return getCardValue(__assign(__assign({}, card), { file: undefined })); });
49012
+ .catch(function () { return getFileCard(__assign(__assign({}, card), { file: undefined })); });
48935
49013
  }
48936
49014
  else {
48937
49015
  // TODO: Local later...
48938
- getCardValue(__assign(__assign({}, card), { file: card.path }));
49016
+ getFileCard(__assign(__assign({}, card), { file: card.path }));
48939
49017
  }
48940
49018
  };
48941
49019
  /**
48942
49020
  * Click event handler of the folder card
48943
- * @param card File card props
49021
+ * @param card Folder card props
48944
49022
  */
48945
49023
  var onFolderClicked = function (card) {
48946
49024
  if (isCloud) {
48947
- window.location.href = "/".concat(projectOwner, "/projects/").concat(projectName, "/studies/").concat(studyId, "/runs/").concat(runId, "/workspace?path=").concat(card.path);
49025
+ getFolderCard(__assign({}, card));
49026
+ // window.location.href = `/${projectOwner}/projects/${projectName}/studies/${studyId}/runs/${runId}/workspace?path=${card.path}`
48948
49027
  }
48949
49028
  else {
48950
- alert(runId.concat('/').concat(card.path)); // TODO: Fix it once local RUN JSON is ready
49029
+ // TODO: Fix it later when Local is ready
49030
+ getFolderCard(__assign({}, card));
49031
+ // alert(runId.concat('/').concat(card.path))
48951
49032
  }
48952
49033
  };
48953
49034
  return React__default.createElement("div", { className: 'cards-container', style: __assign({}, style) },
@@ -48972,7 +49053,7 @@ var RunContent = function (_a) {
48972
49053
  var RunDetails = function (_a) {
48973
49054
  var projectName = _a.projectName, projectOwner = _a.projectOwner, run = _a.run, // Cloud and Local
48974
49055
  runId = _a.runId; // TODO: delete it if RUN JSON has the field
48975
- _a.authUser; var client = _a.client, style = _a.style, getCardValue = _a.getCardValue;
49056
+ _a.authUser; var client = _a.client, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
48976
49057
  var _b = useState([]), extraInputs = _b[0], setExtraInputs = _b[1];
48977
49058
  var _c = useState([]), recipeInputs = _c[0], setRecipeInputs = _c[1];
48978
49059
  var _d = useState([]), outputs = _d[0], setOutputs = _d[1];
@@ -49005,12 +49086,12 @@ var RunDetails = function (_a) {
49005
49086
  }, [currRun]);
49006
49087
  return (React__default.createElement("div", null,
49007
49088
  outputs &&
49008
- React__default.createElement(RunContent, { title: 'Outputs', inputData: outputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id || runId, client: client, style: style, getCardValue: getCardValue }),
49089
+ React__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 }),
49009
49090
  recipeInputs &&
49010
- React__default.createElement(RunContent, { title: 'Inputs', inputData: recipeInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id || runId, client: client, style: style, getCardValue: getCardValue }),
49091
+ React__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 }),
49011
49092
  extraInputs && extraInputs.length > 0 &&
49012
- React__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, getCardValue: getCardValue })));
49093
+ React__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 })));
49013
49094
  };
49014
49095
 
49015
- export { APIClient, AuthUser, Avatar, Button, ComboBox, ComboFileSelector, ConditionalWrapper, ConfigureLocalRun, CreateStudy, Dropdown, FileInput, FilePreview, FormInput, GetGeometry, GetModel, InputDescription, Label, Logo, NumberInput, RadioList, RecipeInputsForm, RunCard, RunDetails, SelectAccount, SelectCloudArtifacts, SelectLocalArtifacts, SelectProject, SelectRecipe, SelectRun, SelectStudy, SendGeometry, SendModel, SendResults, SettingsButton, StudyCard, TextInput, Tooltip, _defaultConfig, checkDotNet, checkPollinationPanel, checkRuby, formatBytes, getHost, recipeLinkFromSource, sendMessageDotNet, sendMessageRuby, useAPIClient, useArtifacts, useCreateStudy, useGetGeometry, useGetHbjson, useHbjsontoVTK, useJobs, useManageSettings, useRunCommand, useRuns, useSendHbjson, useSendMessage };
49096
+ export { APIClient, AuthUser, Avatar, Button, ComboBox, ComboFileSelector, ConditionalWrapper, ConfigureLocalRun, CreateStudy, Dropdown, FileInput, FilePreview, FormInput, GetGeometry, GetModel, InputDescription, Label, Logo, NumberInput, RadioList, RecipeInputsForm, RunCard, RunDetails, SelectAccount, SelectCloudArtifacts, SelectLocalArtifacts, SelectProject, SelectRecipe, SelectRun, SelectStudy, SendGeometry, SendModel, SendResults, SettingsButton, StudyCard, TextInput, Tooltip, _defaultConfig, checkDotNet, checkPollinationPanel, checkRuby, formatBytes, getHost, recipeLinkFromSource, sendMessageDotNet, sendMessageRuby, useAPIClient, useArtifacts, useCreateStudy, useGetGeometry, useGetHbjson, useHbjsontoVTK, useJobs, useManageSettings, useRunCommand, useRuns, useSendHbjson, useSendMessage, useWindowDimensions };
49016
49097
  //# sourceMappingURL=index.esm.js.map