pollination-react-io 1.9.2 → 1.11.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.
package/build/index.js CHANGED
@@ -21680,7 +21680,11 @@ function checkRuby() {
21680
21680
  function sendMessageDotNet(message) {
21681
21681
  if (!checkDotNet())
21682
21682
  return undefined;
21683
- var json = JSON.stringify(message);
21683
+ // const json = JSON.stringify(message)
21684
+ var json = message;
21685
+ if (typeof message.data !== 'string') {
21686
+ json.data = JSON.stringify(message.data);
21687
+ }
21684
21688
  try {
21685
21689
  window.parent.chrome.webview.postMessage(json);
21686
21690
  }
@@ -21884,7 +21888,7 @@ var useCreateStudy = function (accountName, projectName, client) {
21884
21888
  }); })];
21885
21889
  case 1:
21886
21890
  job = _b.sent();
21887
- response = sendMessageDotNet({ action: 'CreateStudy', data: job, uniqueId: key });
21891
+ response = sendMessageDotNet({ action: 'AddStudy', data: job, uniqueId: key });
21888
21892
  return [2 /*return*/, response];
21889
21893
  }
21890
21894
  });
@@ -23762,7 +23766,7 @@ var useGetHbjson = function () {
23762
23766
  var _a = React.useState(undefined), hbjson = _a[0], setHbjson = _a[1];
23763
23767
  var hbjsonRef = React.useRef(undefined);
23764
23768
  var setReturnValue = React.useCallback(function (res, force) {
23765
- var bytes = new TextEncoder().encode(res.Geometry);
23769
+ var bytes = new TextEncoder().encode(res.data);
23766
23770
  if (hbjsonRef.current) {
23767
23771
  if (force || !lodash_isequal(bytes, hbjsonRef.current)) {
23768
23772
  setHbjson(new Blob([bytes], {
@@ -23778,36 +23782,31 @@ var useGetHbjson = function () {
23778
23782
  hbjsonRef.current = bytes;
23779
23783
  }, []);
23780
23784
  React.useEffect(function () {
23781
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23782
23785
  // @ts-ignore
23783
- window.parent.readHBJSON = function (hbjson) {
23784
- if (typeof hbjson !== 'string')
23785
- throw new Error('readHBJSON did not receive a valid string object from Revit.');
23786
- var res = {
23787
- Geometry: hbjson,
23788
- Identifier: null,
23789
- };
23790
- setReturnValue(res, false);
23786
+ window.parent.readHBJSON = function (message) {
23787
+ if (typeof message.data !== 'string')
23788
+ throw new Error('readHBJSON did not receive a valid string object.');
23789
+ setReturnValue(message, false);
23791
23790
  };
23792
- }, [host, setReturnValue]);
23791
+ // @ts-ignore
23792
+ return function () { return window.parent.readHbjson = undefined; };
23793
+ }, [setReturnValue]);
23793
23794
  var dotNetGetHbjson = React.useCallback(function (key, selection, force) {
23794
23795
  if (key === void 0) { key = 'use-get-hbjson'; }
23795
23796
  if (selection === void 0) { selection = false; }
23796
23797
  if (force === void 0) { force = false; }
23797
23798
  if (!checkDotNet())
23798
23799
  return;
23799
- var res = {
23800
- Geometry: null,
23801
- Identifier: null,
23802
- };
23803
- res = window.parent.chrome.webview
23804
- .hostObjects.sync.hbjson.PassPollinationModel(key, selection);
23805
- setReturnValue(res, force);
23800
+ var res = window.parent.chrome.webview
23801
+ .hostObjects.sync.hbjson.Get(key, selection);
23802
+ if (res) {
23803
+ setReturnValue(res, force);
23804
+ }
23806
23805
  }, [setReturnValue]);
23807
23806
  var revitGetHbjson = React.useCallback(function () {
23808
23807
  if (!checkDotNet())
23809
23808
  return;
23810
- window.parent.chrome.webview.hostObjects.sync.hbjson.PassHBJSON();
23809
+ window.parent.chrome.webview.hostObjects.sync.hbjson.Get();
23811
23810
  }, []);
23812
23811
  var getHbjson = React.useMemo(function () {
23813
23812
  switch (host) {
@@ -23832,8 +23831,9 @@ var useGetGeometry = function () {
23832
23831
  var host = getHost();
23833
23832
  var _a = React.useState(undefined), geometry = _a[0], setGeometry = _a[1];
23834
23833
  var geometryRef = React.useRef(undefined);
23835
- var setReturnVal = React.useCallback(function (data, force) {
23836
- var bytes = new TextEncoder().encode(data.Geometry);
23834
+ var setReturnVal = React.useCallback(function (_a, force) {
23835
+ var data = _a.data;
23836
+ var bytes = new TextEncoder().encode(data);
23837
23837
  if (!force && geometryRef.current) {
23838
23838
  if (!lodash_isequal(bytes, geometryRef.current)) {
23839
23839
  setGeometry(new Blob([bytes], {
@@ -23849,18 +23849,15 @@ var useGetGeometry = function () {
23849
23849
  geometryRef.current = bytes;
23850
23850
  }, []);
23851
23851
  React.useEffect(function () {
23852
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23853
23852
  // @ts-ignore
23854
- window.parent.readGeometry = function (geometry, identifier) {
23855
- if (typeof geometry !== 'string'
23856
- || typeof identifier !== 'string')
23857
- throw new Error('readGeometry did not receive a valid string object from Sketchup.');
23858
- var res = {
23859
- Geometry: geometry,
23860
- Identifier: identifier,
23861
- };
23862
- setReturnVal(res, false);
23853
+ window.parent.readGeometry = function (message) {
23854
+ if (typeof message.data !== 'string'
23855
+ || typeof message.identifier !== 'string')
23856
+ throw new Error('readGeometry did not receive a valid string object.');
23857
+ setReturnVal(message, false);
23863
23858
  };
23859
+ // @ts-ignore
23860
+ return function () { return window.parent.readGeometry = undefined; };
23864
23861
  }, [host, setReturnVal]);
23865
23862
  var dotNetGetGeometry = React.useCallback(function (key, selection, force) {
23866
23863
  if (key === void 0) { key = 'use-get-geometry'; }
@@ -23869,10 +23866,10 @@ var useGetGeometry = function () {
23869
23866
  if (!checkDotNet())
23870
23867
  return;
23871
23868
  var res = {
23872
- Geometry: null,
23873
- Identifier: null,
23869
+ data: null,
23870
+ identifier: null,
23874
23871
  };
23875
- res = window.parent.chrome.webview.hostObjects.sync.geometry.PassJsonGeometry(key, selection);
23872
+ res = window.parent.chrome.webview.hostObjects.sync.geometry.Get(key, selection);
23876
23873
  if (res) {
23877
23874
  setReturnVal(res, force);
23878
23875
  }
@@ -23899,32 +23896,13 @@ var useGetGeometry = function () {
23899
23896
  var useSendHbjson = function () {
23900
23897
  var host = getHost();
23901
23898
  var _a = React.useState({}), state = _a[0], setState = _a[1];
23902
- React.useCallback(function (action, message) {
23903
- if (!checkRuby())
23904
- return;
23905
- var response = sendMessageRuby(__assign$3({ action: action }, message));
23906
- setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23907
- return response;
23908
- }, []);
23909
- var dotNetSendHbjson = React.useCallback(function (action, message) {
23899
+ var sendHbjson = React.useCallback(function (action, message) {
23910
23900
  if (!checkDotNet())
23911
23901
  return;
23912
23902
  var response = sendMessageDotNet(__assign$3({ action: action }, message));
23913
23903
  setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23914
23904
  return response;
23915
23905
  }, []);
23916
- var sendHbjson = React.useMemo(function () {
23917
- switch (host) {
23918
- case 'sketchup':
23919
- return dotNetSendHbjson;
23920
- case 'rhino':
23921
- return dotNetSendHbjson;
23922
- case 'revit':
23923
- return dotNetSendHbjson;
23924
- default:
23925
- return undefined;
23926
- }
23927
- }, [dotNetSendHbjson, host]);
23928
23906
  return ({
23929
23907
  host: host,
23930
23908
  state: state,
@@ -23932,44 +23910,36 @@ var useSendHbjson = function () {
23932
23910
  });
23933
23911
  };
23934
23912
 
23935
- var useSendGeometry = function () {
23913
+ var useSendMessage = function () {
23936
23914
  var host = getHost();
23937
- var _a = React.useState({}), state = _a[0], setState = _a[1];
23938
- var dotNetSendGeometry = React.useCallback(function (action, message) {
23939
- if (!checkDotNet())
23940
- return;
23915
+ var _a = React.useState(), state = _a[0], setState = _a[1];
23916
+ var sendMessage = React.useCallback(function (action, message) {
23941
23917
  var response = sendMessageDotNet(__assign$3({ action: action }, message));
23942
23918
  setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23943
23919
  return response;
23944
23920
  }, []);
23945
- var sendGeometry = React.useMemo(function () {
23946
- switch (host) {
23947
- case 'sketchup':
23948
- return dotNetSendGeometry;
23949
- case 'rhino':
23950
- return dotNetSendGeometry;
23951
- case 'revit':
23952
- return dotNetSendGeometry;
23953
- default:
23954
- return undefined;
23955
- }
23956
- }, [dotNetSendGeometry, host]);
23957
23921
  return ({
23958
23922
  host: host,
23959
23923
  state: state,
23960
- sendGeometry: sendGeometry,
23924
+ sendMessage: sendMessage,
23961
23925
  });
23962
23926
  };
23963
23927
 
23964
- var useRunCommand = function () {
23928
+ var useRunCommand = function (defaultKey) {
23965
23929
  var host = getHost();
23930
+ var sendMessage = useSendMessage().sendMessage;
23931
+ var _a = React.useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _a[0], setKey = _a[1];
23932
+ React.useEffect(function () {
23933
+ setKey(defaultKey);
23934
+ }, [defaultKey]);
23966
23935
  var rhinoRunCommand = React.useCallback(function (commandString, commandOptions) {
23967
23936
  var msgObject = {
23968
- action: 'RunCommand',
23969
- commandString: commandString,
23937
+ data: commandString,
23938
+ options: commandOptions,
23939
+ uniqueId: key
23970
23940
  };
23971
- sendMessageDotNet(msgObject);
23972
- }, []);
23941
+ sendMessage('AddCommand', msgObject);
23942
+ }, [key, sendMessage]);
23973
23943
  var runCommand = React.useMemo(function () {
23974
23944
  switch (host) {
23975
23945
  case 'rhino':
@@ -23985,38 +23955,26 @@ var useRunCommand = function () {
23985
23955
  };
23986
23956
 
23987
23957
  var useManageSettings = function () {
23988
- var host = getHost();
23989
- var rhinoSendSettings = React.useCallback(function (settings) {
23990
- if (!checkDotNet())
23991
- return;
23992
- var message = {
23993
- action: 'SetModelSettings',
23994
- data: settings,
23995
- };
23996
- return sendMessageDotNet(message);
23997
- }, []);
23998
- var rhinoGetSettings = React.useCallback(function () {
23999
- if (!checkDotNet())
24000
- return;
24001
- var settings = window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings();
24002
- return settings;
24003
- }, []);
24004
- var sendSettings = React.useMemo(function () {
24005
- switch (host) {
24006
- case 'rhino':
24007
- return rhinoSendSettings;
24008
- default:
24009
- return undefined;
23958
+ var _a = useSendMessage(), host = _a.host, sendMessage = _a.sendMessage;
23959
+ var sendSettings = React.useCallback(function (settings) {
23960
+ return sendMessage('SetModelSettings', { data: settings });
23961
+ }, [sendMessage]);
23962
+ var getSettings = React.useCallback(function () {
23963
+ // if (!checkDotNet()) return
23964
+ var settings;
23965
+ try {
23966
+ settings = window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings();
24010
23967
  }
24011
- }, [host, rhinoSendSettings]);
24012
- var getSettings = React.useMemo(function () {
24013
- switch (host) {
24014
- case 'rhino':
24015
- return rhinoGetSettings;
24016
- default:
24017
- return undefined;
23968
+ catch (_a) {
23969
+ try {
23970
+ settings = window.parent.chrome.webview.hostObjects.sync.settings.Get();
23971
+ }
23972
+ catch (_b) {
23973
+ throw new Error('Neither window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings() nor .Get() are available on this platform.');
23974
+ }
24018
23975
  }
24019
- }, [host, rhinoGetSettings]);
23976
+ return settings;
23977
+ }, []);
24020
23978
  return ({
24021
23979
  host: host,
24022
23980
  sendSettings: sendSettings,
@@ -30345,8 +30303,8 @@ function styleInject(css, ref) {
30345
30303
  }
30346
30304
  }
30347
30305
 
30348
- var css_248z$d = "/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n.scrollbar-container {\n position: relative;\n height: 100%; }";
30349
- styleInject(css_248z$d);
30306
+ var css_248z$b = "/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n.scrollbar-container {\n position: relative;\n height: 100%; }";
30307
+ styleInject(css_248z$b);
30350
30308
 
30351
30309
  const e$3="horizontal",n$4=["horizontal","vertical"];const Separator=/*#__PURE__*/React__namespace.forwardRef(((n,a)=>{const{decorative:p,orientation:l=e$3,...c}=n,s=i$4(l)?l:e$3,u=p?{role:"none"}:{"aria-orientation":"vertical"===s?s:void 0,role:"separator"};return React__namespace.createElement(Primitive.div,_extends$A({"data-orientation":s},u,c,{ref:a}))}));function i$4(r){return n$4.includes(r)}Separator.propTypes={orientation(r,o,t){const n=r[o],a=String(n);return n&&!i$4(n)?new Error(function(r,o){return `Invalid prop \`orientation\` of value \`${r}\` supplied to \`${o}\`, expected one of:\n - horizontal\n - vertical\n\nDefaulting to \`${e$3}\`.`}(a,t)):null}};const Root$5=Separator;
30352
30310
 
@@ -31910,8 +31868,16 @@ function toNumber(value) {
31910
31868
 
31911
31869
  var lodash_debounce = debounce;
31912
31870
 
31913
- var css_248z$c = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-combobox {\n width: 100%;\n}\n\n.poll-combobox-content {\n z-index: 100;\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: white;\n border: 1px solid var(--slate5);\n border-radius: 0px 0px 4px 4px;\n gap: 2px;\n box-sizing: border-box;\n transition: max-height 0.5s ease-in-out;\n}\n\n.poll-combobox-item {\n display: inline-block;\n border-radius: 2px;\n padding: 2px 8px;\n transition: background-color 0.15s linear, color 0.15s linear;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: var(--slate5);\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}\n\n.poll-combo-header-container {\n transition: opacity 0.5s ease-in-out;\n}\n\n.poll-combo-footer-container {\n transition: opacity 0.5s ease-in-out;\n}\n\n.poll-combo-group {\n width: fit-content;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.poll-combo-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.poll-combo-group-disabled:hover {\n box-shadow: none;\n}\n\n.poll-combo-group input {\n width: 100%;\n}\n\n.poll-combo-group input::placeholder {\n color: var(--slate1);\n}\n\n.poll-combo-group-disabled input::placeholder {\n color: var(--slate10);\n}\n\n.poll-combo-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.poll-combo-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.poll-combo-group i,\n.poll-combo-group svg {\n border-radius: inherit;\n background-color: rgba(0, 0, 0, 0);\n}\n\n.poll-combo-group button,\n.poll-combo-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n}\n\n.poll-combo-group button:first-child,\n.poll-combo-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.poll-combo-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.poll-combo-group button:not(:last-child),\n.poll-combo-group input:not(:last-child) {\n border-right: none;\n}\n\n.poll-combo-group button:focus-visible,\n.poll-combo-group input:focus-visible {\n outline: none;\n}\n\n.poll-combo-group button:focus,\n.poll-combo-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.poll-combo-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.poll-combo-group button:hover,\n.poll-combo-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.poll-combo-group-disabled:hover button:hover,\n.poll-combo-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}";
31914
- styleInject(css_248z$c);
31871
+ var css_248z$a = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-combobox {\n width: 100%;\n}\n\n.poll-combobox-content {\n z-index: 100;\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: white;\n border: 1px solid var(--slate5);\n border-radius: 0px 0px 4px 4px;\n gap: 2px;\n box-sizing: border-box;\n transition: max-height 0.5s ease-in-out;\n}\n\n.poll-combobox-item {\n display: inline-block;\n border-radius: 2px;\n padding: 2px 8px;\n transition: background-color 0.15s linear, color 0.15s linear;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: var(--slate5);\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}\n\n.poll-combo-header-container {\n transition: opacity 0.5s ease-in-out;\n}\n\n.poll-combo-footer-container {\n transition: opacity 0.5s ease-in-out;\n}";
31872
+ styleInject(css_248z$a);
31873
+
31874
+ var css_248z$9 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.btn-group {\n width: fit-content;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.btn-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.btn-group-disabled:hover {\n box-shadow: none;\n}\n\n.btn-group input {\n width: 100%;\n}\n\n.btn-group input::placeholder {\n color: var(--primary1);\n}\n\n.btn-group-disabled input::placeholder {\n color: var(--slate9);\n}\n\n.btn-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.btn-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.btn-group i,\n.btn-group svg {\n background-color: rgba(0, 0, 0, 0);\n}\n\n.btn-group button,\n.btn-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n border-left-color: #096dd9;\n transition: box-shadow 0.125s ease-in-out;\n line-height: 1.5rem;\n}\n\n.btn-group button:active {\n box-shadow: inset 0px 0px 14px 14px #096dd9;\n}\n\n.btn-group button:first-child,\n.btn-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-top-right-radius: 0px;\n border-bottom-right-radius: 0px;\n border-left-color: var(--primary);\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n\n.btn-group button:not(:last-child),\n.btn-group input:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible,\n.btn-group input:focus-visible {\n outline: none;\n}\n\n.btn-group button:focus,\n.btn-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.btn-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.btn-group button:hover,\n.btn-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n box-shadow: none;\n}\n\n.btn-group-disabled:hover button:hover,\n.btn-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
31875
+ styleInject(css_248z$9);
31876
+
31877
+ var ButtonGroup = function (_a) {
31878
+ var _b = _a.wrapperProps, wrapperProps = _b === void 0 ? {} : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, children = _a.children;
31879
+ return (React__default["default"].createElement("div", __assign$3({ className: "btn-group ".concat(disabled && 'btn-group-disabled') }, wrapperProps), children));
31880
+ };
31915
31881
 
31916
31882
  var ICON_SIZE$1 = 18;
31917
31883
  var ComboBox = React__default["default"].forwardRef(function ComboBox(_a, ref) {
@@ -31956,7 +31922,7 @@ var ComboBox = React__default["default"].forwardRef(function ComboBox(_a, ref) {
31956
31922
  closeMenu();
31957
31923
  }, [closeMenu, selectedItem, setSelected]);
31958
31924
  return (React__default["default"].createElement("div", { "data-testid": "ComboBoxSelect", className: "poll-combobox" },
31959
- React__default["default"].createElement("div", __assign$3({}, getComboboxProps(), { style: __assign$3(__assign$3({}, inputStyle), { position: 'relative', width: '100%' }), className: "poll-combo-group ".concat(disabled && 'poll-combo-group-disabled') }),
31925
+ React__default["default"].createElement(ButtonGroup, { wrapperProps: __assign$3(__assign$3({}, getComboboxProps()), { style: __assign$3(__assign$3({}, inputStyle), { position: 'relative', width: '100%' }) }), disabled: disabled },
31960
31926
  React__default["default"].createElement("input", __assign$3({}, getInputProps(__assign$3(__assign$3({ placeholder: 'Search for something...' }, inputProps), { onFocus: function () {
31961
31927
  openMenu();
31962
31928
  } })), { spellCheck: false, disabled: disabled, style: {
@@ -32878,8 +32844,8 @@ const x$1=["Enter"," "],b$1=["ArrowUp","PageDown","End"],R$1=["ArrowDown","PageU
32878
32844
 
32879
32845
  const[s$1,i$1]=createContextScope("DropdownMenu",[S$1]);const l$1=S$1(),[m$1,w$1]=s$1("DropdownMenu");const DropdownMenu=e=>{const{__scopeDropdownMenu:n,children:r,open:p,defaultOpen:d,onOpenChange:a}=e,s=M$1("DropdownMenu",n),i=l$1(n),[w=!1,D]=useControllableState({prop:p,defaultProp:d,onChange:a}),g=React__namespace.useCallback((()=>D((e=>!e))),[D]);return s.isInsideContent?/*#__PURE__*/React__namespace.createElement(m$1,{scope:n,isRootMenu:!1,open:w,onOpenChange:D,onOpenToggle:g},/*#__PURE__*/React__namespace.createElement(Sub,_extends$A({},i,{open:w,onOpenChange:D}),r)):/*#__PURE__*/React__namespace.createElement(f$2,_extends$A({},e,{open:w,onOpenChange:D,onOpenToggle:g}),r)};const f$2=n=>{const{__scopeDropdownMenu:r,children:t,dir:p,open:d,onOpenChange:a,onOpenToggle:s,modal:i=!0}=n,w=l$1(r),f=React__namespace.useRef(null);return React__namespace.createElement(m$1,{scope:r,isRootMenu:!0,triggerId:useId(),triggerRef:f,contentId:useId(),open:d,onOpenChange:a,onOpenToggle:s,modal:i},/*#__PURE__*/React__namespace.createElement(Root$1,_extends$A({},w,{open:d,onOpenChange:a,dir:p,modal:i}),t))};const DropdownMenuTrigger=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,disabled:p=!1,...s}=e,i=w$1("DropdownMenuTrigger",t),m=l$1(t);return i.isRootMenu?/*#__PURE__*/React__namespace.createElement(Anchor,_extends$A({asChild:!0},m),/*#__PURE__*/React__namespace.createElement(Primitive.button,_extends$A({type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":!!i.open||void 0,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":p?"":void 0,disabled:p},s,{ref:composeRefs(n,i.triggerRef),onPointerDown:composeEventHandlers$1(e.onPointerDown,(e=>{p||0!==e.button||!1!==e.ctrlKey||(i.open||e.preventDefault(),i.onOpenToggle());})),onKeyDown:composeEventHandlers$1(e.onKeyDown,(e=>{p||(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),[" ","ArrowDown"].includes(e.key)&&e.preventDefault());}))}))):null}));const[D$1,M$1]=s$1("DropdownMenuContent",{isInsideContent:!1});const DropdownMenuContent=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=w$1("DropdownMenuContent",r),d=l$1(r),a={...t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)"}};return React__namespace.createElement(D$1,{scope:r,isInsideContent:!0},p.isRootMenu?/*#__PURE__*/React__namespace.createElement(g$1,_extends$A({__scopeDropdownMenu:r},a,{ref:n})):/*#__PURE__*/React__namespace.createElement(Content$1,_extends$A({},d,a,{ref:n})))}));const g$1=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,portalled:t=!0,...p}=e,d=w$1("DropdownMenuContent",r),s=l$1(r),i=React__namespace.useRef(!1);return d.isRootMenu?/*#__PURE__*/React__namespace.createElement(Content$1,_extends$A({id:d.contentId,"aria-labelledby":d.triggerId},s,p,{ref:n,portalled:t,onCloseAutoFocus:composeEventHandlers$1(e.onCloseAutoFocus,(e=>{var o;i.current||null===(o=d.triggerRef.current)||void 0===o||o.focus(),i.current=!1,e.preventDefault();})),onInteractOutside:composeEventHandlers$1(e.onInteractOutside,(e=>{const o=e.detail.originalEvent,n=0===o.button&&!0===o.ctrlKey,r=2===o.button||n;d.modal&&!r||(i.current=!0);}))})):null}));const DropdownMenuGroup=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(Group$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuLabel=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(Label$2,_extends$A({},p,t,{ref:n}))}));const DropdownMenuItem=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(Item$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuCheckboxItem=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(CheckboxItem$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuRadioGroup=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(RadioGroup$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuRadioItem=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(RadioItem$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuItemIndicator=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(ItemIndicator$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuArrow=/*#__PURE__*/React__namespace.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React__namespace.createElement(Arrow$1,_extends$A({},p,t,{ref:n}))}));const Root=DropdownMenu;const Trigger=DropdownMenuTrigger;const Content=DropdownMenuContent;const Group=DropdownMenuGroup;const Label$1=DropdownMenuLabel;const Item=DropdownMenuItem;const CheckboxItem=DropdownMenuCheckboxItem;const RadioGroup=DropdownMenuRadioGroup;const RadioItem=DropdownMenuRadioItem;const ItemIndicator=DropdownMenuItemIndicator;const Arrow=DropdownMenuArrow;
32880
32846
 
32881
- var css_248z$b = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-select-content {\n display: flex;\n flex-direction: column;\n width: fit-content;\n background-color: white;\n border: 1px solid var(--slate8);\n border-radius: 4px;\n padding: 6px 4px;\n box-shadow: rgba(0, 0, 0, 0.08) 0px 2px 4px;\n gap: 2px;\n}\n\n.poll-select-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n border-radius: 2px;\n padding: 2px 8px 2px 30px;\n transition: background-color 0.15s linear, color 0.15s linear;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: #d0d7de;\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}";
32882
- styleInject(css_248z$b);
32847
+ var css_248z$8 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-select-content {\n display: flex;\n flex-direction: column;\n width: fit-content;\n background-color: white;\n border: 1px solid var(--slate8);\n border-radius: 4px;\n padding: 6px 4px;\n box-shadow: rgba(0, 0, 0, 0.08) 0px 2px 4px;\n gap: 2px;\n}\n\n.poll-select-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n border-radius: 2px;\n padding: 2px 8px 2px 30px;\n transition: background-color 0.15s linear, color 0.15s linear;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: #d0d7de;\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}";
32848
+ styleInject(css_248z$8);
32883
32849
 
32884
32850
  var Dropdown = function (_a) {
32885
32851
  var optionGroups = _a.optionGroups, trigger = _a.trigger, open = _a.open, contentProps = _a.contentProps, itemProps = _a.itemProps, _b = _a.arrow, arrow = _b === void 0 ? true : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
@@ -34551,8 +34517,8 @@ function reducer(state, action) {
34551
34517
 
34552
34518
  function noop() {}
34553
34519
 
34554
- var css_248z$a = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-drop-zone {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #E8F6FF;\n padding: 10px 12px;\n border-radius: 6px;\n gap: 16px;\n cursor: pointer;\n border: 1px solid #E8F6FF;\n user-select: none;\n}\n\n.poll-drop-zone-disabled {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #E8F6FF;\n padding: 10px 12px;\n border-radius: 6px;\n gap: 16px;\n border: 1px solid #E8F6FF;\n user-select: none;\n}\n\n.poll-drop-zone:hover,\n.poll-drop-zone:active,\n.poll-drop-zone:focus {\n border-color: #FCDE5D;\n}\n\n.poll-drop-zone:hover .poll-file-input-button,\n.poll-drop-zone:active .poll-file-input-button {\n background-color: #FCDE5D;\n color: black;\n border-color: #FCDE5D;\n}\n\n.poll-file-input-button {\n z-index: 10;\n display: flex;\n max-width: 260px;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 8px 16px;\n float: left;\n align-items: center;\n gap: 8px;\n border-radius: 4px;\n transition: background-color 0.25s, border-color 0.25s, color 0.25s;\n}\n\n.poll-file-input-button-disabled {\n content: \"Disabled\";\n background-color: var(--slate3);\n color: var(--slate11);\n cursor: default;\n border-color: var(--slate11);\n}";
34555
- styleInject(css_248z$a);
34520
+ var css_248z$7 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-drop-zone {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #E8F6FF;\n padding: 10px 12px;\n border-radius: 6px;\n gap: 16px;\n cursor: pointer;\n border: 1px solid #E8F6FF;\n user-select: none;\n}\n\n.poll-drop-zone-disabled {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #E8F6FF;\n padding: 10px 12px;\n border-radius: 6px;\n gap: 16px;\n border: 1px solid #E8F6FF;\n user-select: none;\n}\n\n.poll-drop-zone:hover,\n.poll-drop-zone:active,\n.poll-drop-zone:focus {\n border-color: #FCDE5D;\n}\n\n.poll-drop-zone:hover .poll-file-input-button,\n.poll-drop-zone:active .poll-file-input-button {\n background-color: #FCDE5D;\n color: black;\n border-color: #FCDE5D;\n}\n\n.poll-file-input-button {\n z-index: 10;\n display: flex;\n max-width: 260px;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 8px 16px;\n float: left;\n align-items: center;\n gap: 8px;\n border-radius: 4px;\n transition: background-color 0.25s, border-color 0.25s, color 0.25s;\n}\n\n.poll-file-input-button-disabled {\n content: \"Disabled\";\n background-color: var(--slate3);\n color: var(--slate11);\n cursor: default;\n border-color: var(--slate11);\n}";
34521
+ styleInject(css_248z$7);
34556
34522
 
34557
34523
  var FileInput = function (_a) {
34558
34524
  var disabled = _a.disabled, onChange = _a.onChange, _b = _a.accept, accept = _b === void 0 ? ['.hbjson'] : _b, inputProps = _a.inputProps;
@@ -35702,8 +35668,8 @@ const $f99a8c78507165f7$export$5fb54c671a65c88 = /*#__PURE__*/ React.forwardRef(
35702
35668
  const $f99a8c78507165f7$export$6d08773d2e66f8f2 = $f99a8c78507165f7$export$9f866c100ef519e4;
35703
35669
  const $f99a8c78507165f7$export$adb584737d712b70 = $f99a8c78507165f7$export$5fb54c671a65c88;
35704
35670
 
35705
- var css_248z$9 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-radio {\n background-color: white;\n width: 18px;\n height: 18px;\n border-radius: 100%;\n box-shadow: 0 1px 2px black;\n border: none;\n cursor: pointer;\n border-width: 1px;\n outline-width: 1px;\n}\n\n.poll-radio:hover {\n background-color: var(--primary1);\n}\n\n.poll-radio:focus {\n box-shadow: 0 0 0 2px var(--primary);\n}\n\n.poll-radio:focus-visible {\n outline: none;\n}\n\n.poll-radio-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.poll-radio-indicator:after {\n content: '\"\"';\n color: rgba(0, 0, 0, 0);\n display: block;\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background-color: var(--primary);\n}";
35706
- styleInject(css_248z$9);
35671
+ var css_248z$6 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-radio {\n background-color: white;\n width: 18px;\n height: 18px;\n border-radius: 100%;\n box-shadow: 0 1px 2px black;\n border: none;\n cursor: pointer;\n border-width: 1px;\n outline-width: 1px;\n}\n\n.poll-radio:hover {\n background-color: var(--primary1);\n}\n\n.poll-radio:focus {\n box-shadow: 0 0 0 2px var(--primary);\n}\n\n.poll-radio:focus-visible {\n outline: none;\n}\n\n.poll-radio-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.poll-radio-indicator:after {\n content: '\"\"';\n color: rgba(0, 0, 0, 0);\n display: block;\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background-color: var(--primary);\n}";
35672
+ styleInject(css_248z$6);
35707
35673
 
35708
35674
  var RadioList = function (_a) {
35709
35675
  var items = _a.items, name = _a.name, defaultValue = _a.defaultValue, onChange = _a.onChange;
@@ -35745,7 +35711,6 @@ var Label = function (_a) {
35745
35711
  display: 'flex',
35746
35712
  justifyContent: 'flex-start',
35747
35713
  width: '100%',
35748
- backgroundColor: 'white',
35749
35714
  } },
35750
35715
  React__default["default"].createElement("label", { htmlFor: name !== null && name !== void 0 ? name : (typeof label === 'string' ? slugify(label, { lower: true }) : 'undefined'), style: __assign$3({ background: 'var(--background)', borderRadius: 4, width: 'fit-content', zIndex: 100, fontSize: '0.8rem', color: disabled ? 'var(--slate11)' : 'var(--primary)', fill: disabled ? 'var(--slate11)' : 'var(--primary)', padding: '0px 4px', marginBottom: 0, backgroundColor: 'inherit' }, style) }, label)),
35751
35716
  children));
@@ -35771,8 +35736,8 @@ var Logo = function (_a) {
35771
35736
  } })));
35772
35737
  };
35773
35738
 
35774
- var css_248z$8 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.number-input {\n width: 100%;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n border: 1px solid var(--primary);\n}\n\n.number-input:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.number-input-disabled {\n border-color: grey;\n}\n\n.number-input-disabled input,\n.number-input-disabled button {\n cursor: default !important;\n}\n\n.number-input-disabled:hover {\n box-shadow: none;\n}\n\n.number-input input {\n width: 100%;\n color: var(--slate12);\n}\n\n.number-input input::placeholder {\n color: var(--slate10);\n}\n\n.number-input i svg {\n fill: inherit;\n}\n\n.number-input button,\n.number-input input {\n display: flex;\n padding: 9px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: none;\n line-height: 1.5rem;\n}\n\n.number-input button:first-child,\n.number-input input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.number-input button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.number-input button:not(:last-child),\n.number-input input:not(:last-child) {\n border-right: none;\n}\n\n.number-input button:focus-visible,\n.number-input input:focus-visible {\n outline: none;\n}\n\n.number-input button:focus,\n.number-input input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.number-input:after {\n content: \"\";\n clear: both;\n display: table;\n}";
35775
- styleInject(css_248z$8);
35739
+ var css_248z$5 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.number-input {\n width: 100%;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n border: 1px solid var(--primary);\n}\n\n.number-input:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.number-input-disabled {\n border-color: grey;\n}\n\n.number-input-disabled input,\n.number-input-disabled button {\n cursor: default !important;\n}\n\n.number-input-disabled:hover {\n box-shadow: none;\n}\n\n.number-input input {\n width: 100%;\n color: var(--slate12);\n}\n\n.number-input input::placeholder {\n color: var(--slate10);\n}\n\n.number-input i svg {\n fill: inherit;\n}\n\n.number-input button,\n.number-input input {\n display: flex;\n padding: 9px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: none;\n line-height: 1.5rem;\n}\n\n.number-input button:first-child,\n.number-input input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.number-input button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.number-input button:not(:last-child),\n.number-input input:not(:last-child) {\n border-right: none;\n}\n\n.number-input button:focus-visible,\n.number-input input:focus-visible {\n outline: none;\n}\n\n.number-input button:focus,\n.number-input input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.number-input:after {\n content: \"\";\n clear: both;\n display: table;\n}";
35740
+ styleInject(css_248z$5);
35776
35741
 
35777
35742
  var NumberInput = function (_a) {
35778
35743
  var _b = _a.inputProps, inputProps = _b === void 0 ? { defaultValue: 0 } : _b, _c = _a.icon, icon = _c === void 0 ? React__default["default"].createElement(Hash$1, null) : _c, style = _a.style, reset = _a.reset;
@@ -35803,13 +35768,10 @@ var NumberInput = function (_a) {
35803
35768
  React__default["default"].createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35804
35769
  };
35805
35770
 
35806
- var css_248z$7 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.btn-group {\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.btn-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.btn-group-disabled:hover {\n box-shadow: none;\n}\n\n.btn-group input {\n width: 100%;\n}\n\n.btn-group input::placeholder {\n color: var(--primary1);\n}\n\n.btn-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.btn-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.btn-group i,\n.btn-group svg {\n background-color: rgba(0, 0, 0, 0);\n}\n\n.btn-group button,\n.btn-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n border-left-color: #096dd9;\n transition: box-shadow 0.125s ease-in-out;\n line-height: 1.5rem;\n}\n\n.btn-group button:active {\n box-shadow: inset 0px 0px 14px 14px #096dd9;\n}\n\n.btn-group button:first-child,\n.btn-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-left-color: var(--primary);\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.btn-group button:not(:last-child),\n.btn-group input:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible,\n.btn-group input:focus-visible {\n outline: none;\n}\n\n.btn-group button:focus,\n.btn-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.btn-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.btn-group button:hover,\n.btn-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n box-shadow: none;\n}\n\n.btn-group-disabled:hover button:hover,\n.btn-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
35807
- styleInject(css_248z$7);
35808
-
35809
35771
  var SettingsButton = function (_a) {
35810
35772
  var onClick = _a.onClick, label = _a.label, options = _a.options, asButtons = _a.asButtons, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.triggerIcon, triggerIcon = _c === void 0 ? React__default["default"].createElement(CaretDownFill$1, null) : _c, helpText = _a.helpText, _d = _a.icon, icon = _d === void 0 ? React__default["default"].createElement(Logo, null) : _d;
35811
35773
  return (React__default["default"].createElement(ConditionalWrapper, { condition: typeof helpText !== 'undefined' || disabled, wrapper: function (children) { return React__default["default"].createElement(InputDescription, { helpText: disabled ? 'Enabled in Pollination CAD plugins.' : helpText }, children); } },
35812
- React__default["default"].createElement("div", { className: "btn-group ".concat(disabled && 'btn-group-disabled') },
35774
+ React__default["default"].createElement(ButtonGroup, { disabled: disabled },
35813
35775
  React__default["default"].createElement("button", { type: 'button', onClick: onClick, disabled: disabled, style: {
35814
35776
  flex: 1,
35815
35777
  } },
@@ -35832,8 +35794,8 @@ var SettingsButton = function (_a) {
35832
35794
  }, disabled: disabled })))));
35833
35795
  };
35834
35796
 
35835
- var css_248z$6 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.text-input {\n width: 100%;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n border: 1px solid var(--primary);\n}\n\n.text-input:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.text-input-disabled:hover {\n box-shadow: none;\n}\n\n.text-input input {\n width: 100%;\n color: var(--slate12);\n}\n\n.text-input input::placeholder {\n color: var(--slate10);\n}\n\n.text-input i svg {\n fill: var(--primary);\n}\n\n.text-input button,\n.text-input input {\n display: flex;\n padding: 9px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: none;\n line-height: 1.5rem;\n}\n\n.text-input button:first-child,\n.text-input input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.text-input button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.text-input button:not(:last-child),\n.text-input input:not(:last-child) {\n border-right: none;\n}\n\n.text-input button:focus-visible,\n.text-input input:focus-visible {\n outline: none;\n}\n\n.text-input button:focus,\n.text-input input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.text-input:after {\n content: \"\";\n clear: both;\n display: table;\n}";
35836
- styleInject(css_248z$6);
35797
+ var css_248z$4 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.text-input {\n width: 100%;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n border: 1px solid var(--primary);\n}\n\n.text-input:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.text-input-disabled:hover {\n box-shadow: none;\n}\n\n.text-input input {\n width: 100%;\n color: var(--slate12);\n}\n\n.text-input input::placeholder {\n color: var(--slate10);\n}\n\n.text-input i svg {\n fill: var(--primary);\n}\n\n.text-input button,\n.text-input input {\n display: flex;\n padding: 9px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: none;\n line-height: 1.5rem;\n}\n\n.text-input button:first-child,\n.text-input input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.text-input button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.text-input button:not(:last-child),\n.text-input input:not(:last-child) {\n border-right: none;\n}\n\n.text-input button:focus-visible,\n.text-input input:focus-visible {\n outline: none;\n}\n\n.text-input button:focus,\n.text-input input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.text-input:after {\n content: \"\";\n clear: both;\n display: table;\n}";
35798
+ styleInject(css_248z$4);
35837
35799
 
35838
35800
  var TextInput = function (_a) {
35839
35801
  var _b = _a.inputProps, inputProps = _b === void 0 ? { placeholder: 'Input some text...' } : _b, _c = _a.icon, icon = _c === void 0 ? React__default["default"].createElement(CursorText$1, null) : _c, style = _a.style, reset = _a.reset;
@@ -35862,8 +35824,8 @@ var TextInput = function (_a) {
35862
35824
  React__default["default"].createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35863
35825
  };
35864
35826
 
35865
- var css_248z$5 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.tooltip-content {\n border-radius: 4px;\n padding: 6px 10px;\n background-color: white;\n font-size: 0.85rem;\n font-weight: 500;\n border: 1px solid var(--slate8);\n box-shadow: hsla(206deg, 22%, 7%, 0.35) 0px 10px 38px -10px, hsla(206deg, 22%, 7%, 0.2) 0px 10px 20px -15px;\n}";
35866
- styleInject(css_248z$5);
35827
+ var css_248z$3 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.tooltip-content {\n border-radius: 4px;\n padding: 6px 10px;\n background-color: white;\n font-size: 0.85rem;\n font-weight: 500;\n border: 1px solid var(--slate8);\n box-shadow: hsla(206deg, 22%, 7%, 0.35) 0px 10px 38px -10px, hsla(206deg, 22%, 7%, 0.2) 0px 10px 20px -15px;\n}";
35828
+ styleInject(css_248z$3);
35867
35829
 
35868
35830
  var AuthUser = function (config) {
35869
35831
  var authUser = useAPIClient(config).authUser;
@@ -39449,11 +39411,11 @@ const $409067139f391064$export$be92b6f5f03c0fe9 = $409067139f391064$export$6eb0f
39449
39411
  const $409067139f391064$export$41fb9f06171c75f4 = $409067139f391064$export$c135dce7b15bbbdc;
39450
39412
  const $409067139f391064$export$7c6e2c02157bb7d2 = $409067139f391064$export$aadde00976f34151;
39451
39413
 
39452
- var css_248z$4 = "@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}";
39453
- styleInject(css_248z$4);
39414
+ var css_248z$2 = "@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}";
39415
+ styleInject(css_248z$2);
39454
39416
 
39455
- var css_248z$3 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-button {\n z-index: 10;\n display: flex;\n justify-content: center;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 8px 16px;\n float: left;\n align-items: center;\n gap: 8px;\n transition: background-color 0.25s, border-color 0.25s, color 0.25s, box-shadow 0.25s, color 0.25s;\n text-overflow: ellipsis;\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.poll-button:active {\n box-shadow: inset 0px 0px 9px 4px #096dd9;\n}\n\n.poll-button:disabled {\n background-color: var(--slate3);\n color: var(--slate11);\n cursor: default;\n border-color: var(--slate11);\n cursor: default;\n box-shadow: none;\n}";
39456
- styleInject(css_248z$3);
39417
+ var css_248z$1 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.poll-button {\n z-index: 10;\n display: flex;\n justify-content: center;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 8px 16px;\n float: left;\n align-items: center;\n gap: 8px;\n border-radius: 4px;\n transition: background-color 0.25s, border-color 0.25s, color 0.25s, box-shadow 0.25s, color 0.25s;\n text-overflow: ellipsis;\n max-width: 200px;\n overflow: hidden;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.poll-button:active {\n box-shadow: inset 0px 0px 9px 4px #096dd9;\n}\n\n.poll-button:disabled {\n background-color: var(--slate3);\n color: var(--slate11);\n cursor: default;\n border-color: var(--slate11);\n cursor: default;\n box-shadow: none;\n}";
39418
+ styleInject(css_248z$1);
39457
39419
 
39458
39420
  var ICON_SIZE = 18;
39459
39421
  var Button = function (_a) {
@@ -40025,9 +39987,6 @@ var SelectLocalArtifacts = function (_a) {
40025
39987
  } }, "Showing ".concat((_b = artifacts.folders.length) !== null && _b !== void 0 ? _b : 0, " folder").concat(artifacts.folders.length === 1 ? '' : 's', ", and ").concat((_c = artifacts.files.length) !== null && _c !== void 0 ? _c : 0, " file").concat(artifacts.files.length === 1 ? '' : 's', "."))), maxHeight: 340, stateReducer: stateReducer }));
40026
39988
  };
40027
39989
 
40028
- var css_248z$2 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.btn-group {\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.btn-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.btn-group-disabled:hover {\n box-shadow: none;\n}\n\n.btn-group input {\n width: 100%;\n}\n\n.btn-group input::placeholder {\n color: var(--primary1);\n}\n\n.btn-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.btn-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.btn-group i,\n.btn-group svg {\n background-color: rgba(0, 0, 0, 0);\n}\n\n.btn-group button,\n.btn-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n border-left-color: #096dd9;\n transition: box-shadow 0.125s ease-in-out;\n line-height: 1.5rem;\n}\n\n.btn-group button:active {\n box-shadow: inset 0px 0px 14px 14px #096dd9;\n}\n\n.btn-group button:first-child,\n.btn-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-left-color: var(--primary);\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.btn-group button:not(:last-child),\n.btn-group input:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible,\n.btn-group input:focus-visible {\n outline: none;\n}\n\n.btn-group button:focus,\n.btn-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.btn-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.btn-group button:hover,\n.btn-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n box-shadow: none;\n}\n\n.btn-group-disabled:hover button:hover,\n.btn-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
40029
- styleInject(css_248z$2);
40030
-
40031
39990
  var ComboFileSelector = function (_a) {
40032
39991
  var projectOwner = _a.projectOwner, projectName = _a.projectName, defaultOption = _a.defaultOption, onChange = _a.onChange, _b = _a.disabled, disabled = _b === void 0 ? false : _b, client = _a.client, inputProps = _a.inputProps;
40033
39992
  var host = getHost();
@@ -40040,9 +39999,7 @@ var ComboFileSelector = function (_a) {
40040
39999
  flexDirection: 'column',
40041
40000
  gap: 8
40042
40001
  } },
40043
- React__default["default"].createElement("div", { className: 'btn-group', style: {
40044
- width: 'fit-content'
40045
- } },
40002
+ React__default["default"].createElement(ButtonGroup, null,
40046
40003
  React__default["default"].createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_cloud'); }, style: {
40047
40004
  display: 'flex',
40048
40005
  boxShadow: !disabled && option === 'get_cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
@@ -40127,12 +40084,12 @@ var RecipeInputsForm = function (_a) {
40127
40084
  }, {}),
40128
40085
  resolver: Oe(schema),
40129
40086
  mode: 'all'
40130
- }), control = _e.control, register = _e.register, handleSubmit = _e.handleSubmit, reset = _e.reset, resetField = _e.resetField; _e.setValue; var _f = _e.formState, errors = _f.errors, isValid = _f.isValid, isSubmitSuccessful = _f.isSubmitSuccessful;
40131
- React.useEffect(function () {
40132
- if (isSubmitSuccessful) {
40133
- reset();
40134
- }
40135
- }, [isSubmitSuccessful, reset]);
40087
+ }), control = _e.control, register = _e.register, handleSubmit = _e.handleSubmit; _e.reset; var resetField = _e.resetField; _e.setValue; var _f = _e.formState, errors = _f.errors, isValid = _f.isValid; _f.isSubmitSuccessful;
40088
+ // useEffect(() => {
40089
+ // if(isSubmitSuccessful) {
40090
+ // reset()
40091
+ // }
40092
+ // }, [isSubmitSuccessful, reset])
40136
40093
  var _onSubmit = function (_data) {
40137
40094
  var data = __assign$3({}, _data);
40138
40095
  // TODO: fix isTouched for controlled fields https://github.com/react-hook-form/react-hook-form/discussions/6824
@@ -40280,54 +40237,9 @@ var RecipeInputsForm = function (_a) {
40280
40237
  }, loading: loading }, "Create Study")))));
40281
40238
  };
40282
40239
 
40283
- var css_248z$1 = ".react-tabs {\n -webkit-tap-highlight-color: transparent;\n}\n\n.react-tabs__tab-list {\n border-bottom: 1px solid #aaa;\n margin: 0 0 10px;\n padding: 0;\n}\n\n.react-tabs__tab {\n display: inline-block;\n border: 1px solid transparent;\n border-bottom: none;\n bottom: -1px;\n position: relative;\n list-style: none;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.react-tabs__tab--selected {\n background: #fff;\n border-color: #aaa;\n color: black;\n border-radius: 5px 5px 0 0;\n}\n\n.react-tabs__tab--disabled {\n color: GrayText;\n cursor: default;\n}\n\n.react-tabs__tab:focus {\n outline: none;\n}\n\n.react-tabs__tab:focus:after {\n content: '';\n position: absolute;\n height: 5px;\n left: -4px;\n right: -4px;\n bottom: -5px;\n background: #fff;\n}\n\n.react-tabs__tab-panel {\n display: none;\n}\n\n.react-tabs__tab-panel--selected {\n display: block;\n}\n";
40284
- styleInject(css_248z$1);
40285
-
40286
- var css_248z = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\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.btn-group {\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.btn-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.btn-group-disabled:hover {\n box-shadow: none;\n}\n\n.btn-group input {\n width: 100%;\n}\n\n.btn-group input::placeholder {\n color: var(--primary1);\n}\n\n.btn-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.btn-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.btn-group i,\n.btn-group svg {\n background-color: rgba(0, 0, 0, 0);\n}\n\n.btn-group button,\n.btn-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n border-left-color: #096dd9;\n transition: box-shadow 0.125s ease-in-out;\n line-height: 1.5rem;\n}\n\n.btn-group button:active {\n box-shadow: inset 0px 0px 14px 14px #096dd9;\n}\n\n.btn-group button:first-child,\n.btn-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n border-left-color: var(--primary);\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.btn-group button:not(:last-child),\n.btn-group input:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible,\n.btn-group input:focus-visible {\n outline: none;\n}\n\n.btn-group button:focus,\n.btn-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.btn-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.btn-group button:hover,\n.btn-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n box-shadow: none;\n}\n\n.btn-group-disabled:hover button:hover,\n.btn-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
40240
+ var css_248z = ".react-tabs {\n -webkit-tap-highlight-color: transparent;\n}\n\n.react-tabs__tab-list {\n border-bottom: 1px solid #aaa;\n margin: 0 0 10px;\n padding: 0;\n}\n\n.react-tabs__tab {\n display: inline-block;\n border: 1px solid transparent;\n border-bottom: none;\n bottom: -1px;\n position: relative;\n list-style: none;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.react-tabs__tab--selected {\n background: #fff;\n border-color: #aaa;\n color: black;\n border-radius: 5px 5px 0 0;\n}\n\n.react-tabs__tab--disabled {\n color: GrayText;\n cursor: default;\n}\n\n.react-tabs__tab:focus {\n outline: none;\n}\n\n.react-tabs__tab:focus:after {\n content: '';\n position: absolute;\n height: 5px;\n left: -4px;\n right: -4px;\n bottom: -5px;\n background: #fff;\n}\n\n.react-tabs__tab-panel {\n display: none;\n}\n\n.react-tabs__tab-panel--selected {\n display: block;\n}\n";
40287
40241
  styleInject(css_248z);
40288
40242
 
40289
- var ConfigureLocalRun = function (_a) {
40290
- var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
40291
- var _d = React.useState(defaultOption), option = _d[0], setOption = _d[1];
40292
- React.useEffect(function () {
40293
- setOption(defaultOption);
40294
- }, [defaultOption]);
40295
- return (React__default["default"].createElement("div", { className: disabled && 'btn-group-disabled', style: {
40296
- display: 'flex',
40297
- justifyContent: 'space-between',
40298
- alignItems: 'end'
40299
- } },
40300
- React__default["default"].createElement("div", { className: 'btn-group', style: {
40301
- width: 'fit-content'
40302
- } },
40303
- React__default["default"].createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40304
- display: 'flex',
40305
- boxShadow: !disabled && option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40306
- } },
40307
- React__default["default"].createElement(CloudPlus$1, null),
40308
- "Cloud"),
40309
- React__default["default"].createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40310
- display: 'flex',
40311
- boxShadow: !disabled && option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40312
- } },
40313
- React__default["default"].createElement(Laptop$1, null),
40314
- "Local")),
40315
- React__default["default"].createElement("div", { style: {
40316
- minWidth: 160,
40317
- maxWidth: 280,
40318
- flex: 1,
40319
- } },
40320
- React__default["default"].createElement(Label, { label: "Number of CPUs", disabled: option !== 'local', style: {
40321
- backgroundColor: 'white'
40322
- } },
40323
- React__default["default"].createElement(NumberInput, { icon: React__default["default"].createElement(Cpu$1, null), inputProps: {
40324
- min: 0,
40325
- step: 1,
40326
- max: 100,
40327
- disabled: option !== 'local'
40328
- } })))));
40329
- };
40330
-
40331
40243
  var initialState = {
40332
40244
  name: undefined,
40333
40245
  description: undefined,
@@ -40339,7 +40251,6 @@ var defaultStyle = {
40339
40251
  display: 'flex',
40340
40252
  flexDirection: 'column',
40341
40253
  gap: 18,
40342
- // backgroundColor: '#FFFAEE'
40343
40254
  };
40344
40255
  var CreateStudy = function (_a) {
40345
40256
  var _b;
@@ -40358,7 +40269,7 @@ var CreateStudy = function (_a) {
40358
40269
  // @ts-ignore
40359
40270
  var projectOwner = !state || !state.account ? undefined : ((_b = state.account.username) !== null && _b !== void 0 ? _b : state.account.account_name);
40360
40271
  var projectSlug = !state || !state.project ? undefined : state.project.slug.split('/')[1];
40361
- var _e = useCreateStudy(projectOwner, projectSlug, client), host = _e.host, createStudy = _e.createStudy;
40272
+ var _e = useCreateStudy(projectOwner, projectSlug, client); _e.host; var createStudy = _e.createStudy;
40362
40273
  React.useEffect(function () {
40363
40274
  if (!state.recipe)
40364
40275
  return;
@@ -40422,17 +40333,60 @@ var CreateStudy = function (_a) {
40422
40333
  React__default["default"].createElement(SelectRecipe, { authUser: authUser, client: client, projectOwner: projectOwner, projectName: state.project ? state === null || state === void 0 ? void 0 : state.project.name : undefined, setSelRecipe: setSelRecipe })))),
40423
40334
  state.recipe &&
40424
40335
  React__default["default"].createElement(TabPanel, { style: {
40425
- padding: '8px 8px'
40336
+ padding: 8
40426
40337
  } },
40427
40338
  React__default["default"].createElement("div", { style: {
40428
40339
  display: 'flex',
40429
40340
  flexDirection: 'column',
40430
40341
  gap: 24
40431
40342
  } },
40432
- host !== 'web' && React__default["default"].createElement(ConfigureLocalRun, null),
40433
40343
  React__default["default"].createElement(RecipeInputsForm, { recipe: state.recipe, onSubmit: function (data) { return createStudy({ name: state === null || state === void 0 ? void 0 : state.name, source: state === null || state === void 0 ? void 0 : state.recipe.source, description: state === null || state === void 0 ? void 0 : state.description }, data); }, disabled: !state.name || !state.account || !state.project || !state.recipe, projectName: projectSlug, projectOwner: projectOwner, client: client }))))));
40434
40344
  };
40435
40345
 
40346
+ var ConfigureLocalRun = function (_a) {
40347
+ var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
40348
+ var _d = React.useState(defaultOption), option = _d[0], setOption = _d[1];
40349
+ React.useEffect(function () {
40350
+ setOption(defaultOption);
40351
+ }, [defaultOption]);
40352
+ return (React__default["default"].createElement("div", { style: {
40353
+ display: 'flex',
40354
+ justifyContent: 'space-between',
40355
+ alignItems: 'end'
40356
+ } },
40357
+ React__default["default"].createElement(ButtonGroup, { wrapperProps: {
40358
+ style: {
40359
+ width: 'fit-content'
40360
+ }
40361
+ } },
40362
+ React__default["default"].createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40363
+ display: 'flex',
40364
+ boxShadow: !disabled && option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40365
+ } },
40366
+ React__default["default"].createElement(CloudPlus$1, null),
40367
+ "Cloud"),
40368
+ React__default["default"].createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40369
+ display: 'flex',
40370
+ boxShadow: !disabled && option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40371
+ } },
40372
+ React__default["default"].createElement(Laptop$1, null),
40373
+ "Local")),
40374
+ React__default["default"].createElement("div", { style: {
40375
+ minWidth: 160,
40376
+ maxWidth: 280,
40377
+ flex: 1,
40378
+ } },
40379
+ React__default["default"].createElement(Label, { label: "Number of CPUs", disabled: option !== 'local', style: {
40380
+ backgroundColor: 'white'
40381
+ } },
40382
+ React__default["default"].createElement(NumberInput, { icon: React__default["default"].createElement(Cpu$1, null), inputProps: {
40383
+ min: 0,
40384
+ step: 1,
40385
+ max: 100,
40386
+ disabled: option !== 'local'
40387
+ } })))));
40388
+ };
40389
+
40436
40390
  // Generated with util/create-component.js
40437
40391
  var GetModelActions;
40438
40392
  (function (GetModelActions) {
@@ -40713,22 +40667,22 @@ var Action$2;
40713
40667
  var getAction$2 = function (key) {
40714
40668
  switch (key) {
40715
40669
  case 'add':
40716
- return 'BakeGeometry';
40670
+ return 'AddGeometry';
40717
40671
  case 'delete':
40718
- return 'ClearGeometry';
40672
+ return 'DeleteGeometry';
40719
40673
  case 'preview':
40720
- return 'DrawGeometry';
40674
+ return 'PreviewGeometry';
40721
40675
  case 'clear':
40722
- return 'DisableDraw';
40676
+ return 'ClearGeometry';
40723
40677
  case 'subscribe-preview':
40724
- return 'CombinedRendering';
40678
+ return 'SubscribePreviewGeometry';
40725
40679
  }
40726
40680
  };
40727
40681
  var SendGeometry = function (_a) {
40728
40682
  var geometry = _a.geometry, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Geometry' : _b;
40729
40683
  var _c = React.useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action$2.preview), selOpt = _c[0], setSelOpt = _c[1];
40730
40684
  var _d = React.useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40731
- var sendGeometry = useSendGeometry().sendGeometry;
40685
+ var sendMessage = useSendMessage().sendMessage;
40732
40686
  React.useEffect(function () {
40733
40687
  setSelOpt(defaultAction);
40734
40688
  }, [defaultAction]);
@@ -40736,9 +40690,9 @@ var SendGeometry = function (_a) {
40736
40690
  setKey(defaultKey);
40737
40691
  }, [defaultKey]);
40738
40692
  React.useEffect(function () {
40739
- if (!sendGeometry || selOpt !== 'subscribe-preview')
40693
+ if (!sendMessage || selOpt !== 'subscribe-preview')
40740
40694
  return;
40741
- sendGeometry('CombinedRendering', {
40695
+ sendMessage('SubscribePreviewGeometry', {
40742
40696
  data: geometry,
40743
40697
  uniqueId: key,
40744
40698
  options: {
@@ -40747,7 +40701,7 @@ var SendGeometry = function (_a) {
40747
40701
  },
40748
40702
  });
40749
40703
  return function () {
40750
- sendGeometry('DisableDraw', {
40704
+ sendMessage('ClearGeometry', {
40751
40705
  data: geometry,
40752
40706
  uniqueId: key,
40753
40707
  options: {
@@ -40756,11 +40710,11 @@ var SendGeometry = function (_a) {
40756
40710
  },
40757
40711
  });
40758
40712
  };
40759
- }, [selOpt, geometry, sendGeometry, key]);
40760
- return (React__default["default"].createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
40761
- if (!sendGeometry)
40713
+ }, [selOpt, geometry, key, sendMessage]);
40714
+ return (React__default["default"].createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40715
+ if (!sendMessage)
40762
40716
  return;
40763
- sendGeometry(getAction$2(selOpt), {
40717
+ sendMessage(getAction$2(selOpt), {
40764
40718
  data: geometry,
40765
40719
  uniqueId: key,
40766
40720
  options: {
@@ -40779,7 +40733,7 @@ var SendGeometry = function (_a) {
40779
40733
  label: 'Preview',
40780
40734
  checked: selOpt === Action$2.preview,
40781
40735
  icon: React__default["default"].createElement(Eyeglasses$1, { size: 16 }),
40782
- disabled: !sendGeometry,
40736
+ disabled: !sendMessage,
40783
40737
  onSelect: function () {
40784
40738
  setSelOpt(function (state) { return (state === Action$2.preview ? undefined : Action$2.preview); });
40785
40739
  },
@@ -40790,7 +40744,7 @@ var SendGeometry = function (_a) {
40790
40744
  label: 'Add',
40791
40745
  checked: selOpt === Action$2.add,
40792
40746
  icon: React__default["default"].createElement(Building$1, { size: 16 }),
40793
- disabled: !sendGeometry,
40747
+ disabled: !sendMessage,
40794
40748
  onSelect: function () {
40795
40749
  setSelOpt(function (state) { return (state === Action$2.add ? undefined : Action$2.add); });
40796
40750
  },
@@ -40801,7 +40755,7 @@ var SendGeometry = function (_a) {
40801
40755
  label: 'Delete',
40802
40756
  checked: selOpt === Action$2.delete,
40803
40757
  icon: React__default["default"].createElement(Trash$1, { size: 16 }),
40804
- disabled: !sendGeometry,
40758
+ disabled: !sendMessage,
40805
40759
  onSelect: function () {
40806
40760
  setSelOpt(function (state) { return (state === Action$2.delete ? undefined : Action$2.delete); });
40807
40761
  },
@@ -40812,7 +40766,7 @@ var SendGeometry = function (_a) {
40812
40766
  label: 'Clear',
40813
40767
  checked: selOpt === Action$2.clear,
40814
40768
  icon: React__default["default"].createElement(Recycle$1, { size: 16 }),
40815
- disabled: !sendGeometry,
40769
+ disabled: !sendMessage,
40816
40770
  onSelect: function () {
40817
40771
  setSelOpt(function (state) { return (state === Action$2.clear ? undefined : Action$2.clear); });
40818
40772
  },
@@ -40823,7 +40777,7 @@ var SendGeometry = function (_a) {
40823
40777
  label: 'Subscribe Preview',
40824
40778
  checked: selOpt === Action$2.subscribePreview,
40825
40779
  icon: React__default["default"].createElement(ArrowRepeat$1, { size: 16 }),
40826
- disabled: !sendGeometry,
40780
+ disabled: !sendMessage,
40827
40781
  onSelect: function () {
40828
40782
  setSelOpt(function (state) { return (state === Action$2.subscribePreview ? undefined : Action$2.subscribePreview); });
40829
40783
  },
@@ -40848,13 +40802,13 @@ var Action$1;
40848
40802
  var getAction$1 = function (key) {
40849
40803
  switch (key) {
40850
40804
  case 'add':
40851
- return 'BakePollinationModel';
40805
+ return 'AddHBJSON';
40852
40806
  case 'preview':
40853
- return 'DrawPollinationModel';
40807
+ return 'PreviewHBJSON';
40854
40808
  case 'clear':
40855
- return 'DisableDrawPollinationModel';
40809
+ return 'ClearHBJSON';
40856
40810
  case 'subscribe-preview':
40857
- return 'CombinedRenderingPollinationModel';
40811
+ return 'SubscribePreviewHBJSON';
40858
40812
  }
40859
40813
  };
40860
40814
  var SendModel = function (_a) {
@@ -40871,7 +40825,7 @@ var SendModel = function (_a) {
40871
40825
  React.useEffect(function () {
40872
40826
  if (!sendHbjson || selOpt !== Action$1.subscribePreview)
40873
40827
  return;
40874
- sendHbjson('CombinedRenderingPollinationModel', {
40828
+ sendHbjson('SubscribePreviewHBJSON', {
40875
40829
  data: hbjson,
40876
40830
  uniqueId: key,
40877
40831
  options: {
@@ -40880,7 +40834,7 @@ var SendModel = function (_a) {
40880
40834
  },
40881
40835
  });
40882
40836
  return function () {
40883
- sendHbjson('DisableDrawPollinationModel', {
40837
+ sendHbjson('ClearHBJSON', {
40884
40838
  data: hbjson,
40885
40839
  uniqueId: key,
40886
40840
  options: {
@@ -40974,18 +40928,18 @@ var getAction = function (key) {
40974
40928
  case 'delete':
40975
40929
  return 'DeleteResults';
40976
40930
  case 'preview':
40977
- return 'DrawResults';
40931
+ return 'PreviewResults';
40978
40932
  case 'clear':
40979
40933
  return 'ClearResults';
40980
40934
  case 'subscribe-preview':
40981
- return 'SubscribeDrawResults';
40935
+ return 'SubscribePreviewResults';
40982
40936
  }
40983
40937
  };
40984
40938
  var SendResults = function (_a) {
40985
40939
  var results = _a.results, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Results' : _b;
40986
40940
  var _c = React.useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action.preview), selOpt = _c[0], setSelOpt = _c[1];
40987
40941
  var _d = React.useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40988
- var sendGeometry = useSendGeometry().sendGeometry;
40942
+ var sendMessage = useSendMessage().sendMessage;
40989
40943
  React.useEffect(function () {
40990
40944
  setSelOpt(defaultAction);
40991
40945
  }, [defaultAction]);
@@ -40993,9 +40947,9 @@ var SendResults = function (_a) {
40993
40947
  setKey(defaultKey);
40994
40948
  }, [defaultKey]);
40995
40949
  React.useEffect(function () {
40996
- if (!sendGeometry || selOpt !== Action.subscribePreview)
40950
+ if (!sendMessage || selOpt !== Action.subscribePreview)
40997
40951
  return;
40998
- sendGeometry('SubscribeDrawResults', {
40952
+ sendMessage('SubscribePreviewResults', {
40999
40953
  data: results,
41000
40954
  uniqueId: key,
41001
40955
  options: {
@@ -41004,7 +40958,7 @@ var SendResults = function (_a) {
41004
40958
  },
41005
40959
  });
41006
40960
  return function () {
41007
- sendGeometry('ClearResults', {
40961
+ sendMessage('ClearResults', {
41008
40962
  data: results,
41009
40963
  uniqueId: key,
41010
40964
  options: {
@@ -41013,11 +40967,11 @@ var SendResults = function (_a) {
41013
40967
  },
41014
40968
  });
41015
40969
  };
41016
- }, [key, results, selOpt, sendGeometry]);
41017
- return (React__default["default"].createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
41018
- if (!sendGeometry)
40970
+ }, [key, results, selOpt, sendMessage]);
40971
+ return (React__default["default"].createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40972
+ if (!sendMessage)
41019
40973
  return;
41020
- sendGeometry(getAction(selOpt), {
40974
+ sendMessage(getAction(selOpt), {
41021
40975
  data: results,
41022
40976
  uniqueId: key,
41023
40977
  options: {
@@ -41036,7 +40990,7 @@ var SendResults = function (_a) {
41036
40990
  label: 'Preview',
41037
40991
  checked: selOpt === Action.preview,
41038
40992
  icon: React__default["default"].createElement(Eyeglasses$1, { size: 16 }),
41039
- disabled: !sendGeometry,
40993
+ disabled: !sendMessage,
41040
40994
  onSelect: function () {
41041
40995
  setSelOpt(function (state) { return (state === Action.preview ? undefined : Action.preview); });
41042
40996
  },
@@ -41047,7 +41001,7 @@ var SendResults = function (_a) {
41047
41001
  label: 'Add',
41048
41002
  checked: selOpt === Action.add,
41049
41003
  icon: React__default["default"].createElement(Building$1, { size: 16 }),
41050
- disabled: !sendGeometry,
41004
+ disabled: !sendMessage,
41051
41005
  onSelect: function () {
41052
41006
  setSelOpt(function (state) { return (state === Action.add ? undefined : Action.add); });
41053
41007
  },
@@ -41058,7 +41012,7 @@ var SendResults = function (_a) {
41058
41012
  label: 'Delete',
41059
41013
  checked: selOpt === Action.delete,
41060
41014
  icon: React__default["default"].createElement(Trash$1, { size: 16 }),
41061
- disabled: !sendGeometry,
41015
+ disabled: !sendMessage,
41062
41016
  onSelect: function () {
41063
41017
  setSelOpt(function (state) { return (state === Action.delete ? undefined : Action.delete); });
41064
41018
  },
@@ -41069,7 +41023,7 @@ var SendResults = function (_a) {
41069
41023
  label: 'Clear',
41070
41024
  checked: selOpt === Action.clear,
41071
41025
  icon: React__default["default"].createElement(Recycle$1, { size: 16 }),
41072
- disabled: !sendGeometry,
41026
+ disabled: !sendMessage,
41073
41027
  onSelect: function () {
41074
41028
  setSelOpt(function (state) { return (state === Action.clear ? undefined : Action.clear); });
41075
41029
  },
@@ -41080,7 +41034,7 @@ var SendResults = function (_a) {
41080
41034
  label: 'Subscribe Preview',
41081
41035
  checked: selOpt === Action.subscribePreview,
41082
41036
  icon: React__default["default"].createElement(ArrowRepeat$1, { size: 16 }),
41083
- disabled: !sendGeometry,
41037
+ disabled: !sendMessage,
41084
41038
  onSelect: function () {
41085
41039
  setSelOpt(function (state) { return (state === Action.subscribePreview ? undefined : Action.subscribePreview); });
41086
41040
  },
@@ -41123,6 +41077,6 @@ exports.useGetHbjson = useGetHbjson;
41123
41077
  exports.useHbjsontoVTK = useHbjsontoVTK;
41124
41078
  exports.useManageSettings = useManageSettings;
41125
41079
  exports.useRunCommand = useRunCommand;
41126
- exports.useSendGeometry = useSendGeometry;
41127
41080
  exports.useSendHbjson = useSendHbjson;
41081
+ exports.useSendMessage = useSendMessage;
41128
41082
  //# sourceMappingURL=index.js.map