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.
@@ -21653,7 +21653,11 @@ function checkRuby() {
21653
21653
  function sendMessageDotNet(message) {
21654
21654
  if (!checkDotNet())
21655
21655
  return undefined;
21656
- var json = JSON.stringify(message);
21656
+ // const json = JSON.stringify(message)
21657
+ var json = message;
21658
+ if (typeof message.data !== 'string') {
21659
+ json.data = JSON.stringify(message.data);
21660
+ }
21657
21661
  try {
21658
21662
  window.parent.chrome.webview.postMessage(json);
21659
21663
  }
@@ -21857,7 +21861,7 @@ var useCreateStudy = function (accountName, projectName, client) {
21857
21861
  }); })];
21858
21862
  case 1:
21859
21863
  job = _b.sent();
21860
- response = sendMessageDotNet({ action: 'CreateStudy', data: job, uniqueId: key });
21864
+ response = sendMessageDotNet({ action: 'AddStudy', data: job, uniqueId: key });
21861
21865
  return [2 /*return*/, response];
21862
21866
  }
21863
21867
  });
@@ -23735,7 +23739,7 @@ var useGetHbjson = function () {
23735
23739
  var _a = useState(undefined), hbjson = _a[0], setHbjson = _a[1];
23736
23740
  var hbjsonRef = useRef(undefined);
23737
23741
  var setReturnValue = useCallback(function (res, force) {
23738
- var bytes = new TextEncoder().encode(res.Geometry);
23742
+ var bytes = new TextEncoder().encode(res.data);
23739
23743
  if (hbjsonRef.current) {
23740
23744
  if (force || !lodash_isequal(bytes, hbjsonRef.current)) {
23741
23745
  setHbjson(new Blob([bytes], {
@@ -23751,36 +23755,31 @@ var useGetHbjson = function () {
23751
23755
  hbjsonRef.current = bytes;
23752
23756
  }, []);
23753
23757
  useEffect(function () {
23754
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23755
23758
  // @ts-ignore
23756
- window.parent.readHBJSON = function (hbjson) {
23757
- if (typeof hbjson !== 'string')
23758
- throw new Error('readHBJSON did not receive a valid string object from Revit.');
23759
- var res = {
23760
- Geometry: hbjson,
23761
- Identifier: null,
23762
- };
23763
- setReturnValue(res, false);
23759
+ window.parent.readHBJSON = function (message) {
23760
+ if (typeof message.data !== 'string')
23761
+ throw new Error('readHBJSON did not receive a valid string object.');
23762
+ setReturnValue(message, false);
23764
23763
  };
23765
- }, [host, setReturnValue]);
23764
+ // @ts-ignore
23765
+ return function () { return window.parent.readHbjson = undefined; };
23766
+ }, [setReturnValue]);
23766
23767
  var dotNetGetHbjson = useCallback(function (key, selection, force) {
23767
23768
  if (key === void 0) { key = 'use-get-hbjson'; }
23768
23769
  if (selection === void 0) { selection = false; }
23769
23770
  if (force === void 0) { force = false; }
23770
23771
  if (!checkDotNet())
23771
23772
  return;
23772
- var res = {
23773
- Geometry: null,
23774
- Identifier: null,
23775
- };
23776
- res = window.parent.chrome.webview
23777
- .hostObjects.sync.hbjson.PassPollinationModel(key, selection);
23778
- setReturnValue(res, force);
23773
+ var res = window.parent.chrome.webview
23774
+ .hostObjects.sync.hbjson.Get(key, selection);
23775
+ if (res) {
23776
+ setReturnValue(res, force);
23777
+ }
23779
23778
  }, [setReturnValue]);
23780
23779
  var revitGetHbjson = useCallback(function () {
23781
23780
  if (!checkDotNet())
23782
23781
  return;
23783
- window.parent.chrome.webview.hostObjects.sync.hbjson.PassHBJSON();
23782
+ window.parent.chrome.webview.hostObjects.sync.hbjson.Get();
23784
23783
  }, []);
23785
23784
  var getHbjson = useMemo(function () {
23786
23785
  switch (host) {
@@ -23805,8 +23804,9 @@ var useGetGeometry = function () {
23805
23804
  var host = getHost();
23806
23805
  var _a = useState(undefined), geometry = _a[0], setGeometry = _a[1];
23807
23806
  var geometryRef = useRef(undefined);
23808
- var setReturnVal = useCallback(function (data, force) {
23809
- var bytes = new TextEncoder().encode(data.Geometry);
23807
+ var setReturnVal = useCallback(function (_a, force) {
23808
+ var data = _a.data;
23809
+ var bytes = new TextEncoder().encode(data);
23810
23810
  if (!force && geometryRef.current) {
23811
23811
  if (!lodash_isequal(bytes, geometryRef.current)) {
23812
23812
  setGeometry(new Blob([bytes], {
@@ -23822,18 +23822,15 @@ var useGetGeometry = function () {
23822
23822
  geometryRef.current = bytes;
23823
23823
  }, []);
23824
23824
  useEffect(function () {
23825
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23826
23825
  // @ts-ignore
23827
- window.parent.readGeometry = function (geometry, identifier) {
23828
- if (typeof geometry !== 'string'
23829
- || typeof identifier !== 'string')
23830
- throw new Error('readGeometry did not receive a valid string object from Sketchup.');
23831
- var res = {
23832
- Geometry: geometry,
23833
- Identifier: identifier,
23834
- };
23835
- setReturnVal(res, false);
23826
+ window.parent.readGeometry = function (message) {
23827
+ if (typeof message.data !== 'string'
23828
+ || typeof message.identifier !== 'string')
23829
+ throw new Error('readGeometry did not receive a valid string object.');
23830
+ setReturnVal(message, false);
23836
23831
  };
23832
+ // @ts-ignore
23833
+ return function () { return window.parent.readGeometry = undefined; };
23837
23834
  }, [host, setReturnVal]);
23838
23835
  var dotNetGetGeometry = useCallback(function (key, selection, force) {
23839
23836
  if (key === void 0) { key = 'use-get-geometry'; }
@@ -23842,10 +23839,10 @@ var useGetGeometry = function () {
23842
23839
  if (!checkDotNet())
23843
23840
  return;
23844
23841
  var res = {
23845
- Geometry: null,
23846
- Identifier: null,
23842
+ data: null,
23843
+ identifier: null,
23847
23844
  };
23848
- res = window.parent.chrome.webview.hostObjects.sync.geometry.PassJsonGeometry(key, selection);
23845
+ res = window.parent.chrome.webview.hostObjects.sync.geometry.Get(key, selection);
23849
23846
  if (res) {
23850
23847
  setReturnVal(res, force);
23851
23848
  }
@@ -23872,32 +23869,13 @@ var useGetGeometry = function () {
23872
23869
  var useSendHbjson = function () {
23873
23870
  var host = getHost();
23874
23871
  var _a = useState({}), state = _a[0], setState = _a[1];
23875
- useCallback(function (action, message) {
23876
- if (!checkRuby())
23877
- return;
23878
- var response = sendMessageRuby(__assign$3({ action: action }, message));
23879
- setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23880
- return response;
23881
- }, []);
23882
- var dotNetSendHbjson = useCallback(function (action, message) {
23872
+ var sendHbjson = useCallback(function (action, message) {
23883
23873
  if (!checkDotNet())
23884
23874
  return;
23885
23875
  var response = sendMessageDotNet(__assign$3({ action: action }, message));
23886
23876
  setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23887
23877
  return response;
23888
23878
  }, []);
23889
- var sendHbjson = useMemo(function () {
23890
- switch (host) {
23891
- case 'sketchup':
23892
- return dotNetSendHbjson;
23893
- case 'rhino':
23894
- return dotNetSendHbjson;
23895
- case 'revit':
23896
- return dotNetSendHbjson;
23897
- default:
23898
- return undefined;
23899
- }
23900
- }, [dotNetSendHbjson, host]);
23901
23879
  return ({
23902
23880
  host: host,
23903
23881
  state: state,
@@ -23905,44 +23883,36 @@ var useSendHbjson = function () {
23905
23883
  });
23906
23884
  };
23907
23885
 
23908
- var useSendGeometry = function () {
23886
+ var useSendMessage = function () {
23909
23887
  var host = getHost();
23910
- var _a = useState({}), state = _a[0], setState = _a[1];
23911
- var dotNetSendGeometry = useCallback(function (action, message) {
23912
- if (!checkDotNet())
23913
- return;
23888
+ var _a = useState(), state = _a[0], setState = _a[1];
23889
+ var sendMessage = useCallback(function (action, message) {
23914
23890
  var response = sendMessageDotNet(__assign$3({ action: action }, message));
23915
23891
  setState(function (state) { return (__assign$3(__assign$3({}, state), { response: response })); });
23916
23892
  return response;
23917
23893
  }, []);
23918
- var sendGeometry = useMemo(function () {
23919
- switch (host) {
23920
- case 'sketchup':
23921
- return dotNetSendGeometry;
23922
- case 'rhino':
23923
- return dotNetSendGeometry;
23924
- case 'revit':
23925
- return dotNetSendGeometry;
23926
- default:
23927
- return undefined;
23928
- }
23929
- }, [dotNetSendGeometry, host]);
23930
23894
  return ({
23931
23895
  host: host,
23932
23896
  state: state,
23933
- sendGeometry: sendGeometry,
23897
+ sendMessage: sendMessage,
23934
23898
  });
23935
23899
  };
23936
23900
 
23937
- var useRunCommand = function () {
23901
+ var useRunCommand = function (defaultKey) {
23938
23902
  var host = getHost();
23903
+ var sendMessage = useSendMessage().sendMessage;
23904
+ var _a = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _a[0], setKey = _a[1];
23905
+ useEffect(function () {
23906
+ setKey(defaultKey);
23907
+ }, [defaultKey]);
23939
23908
  var rhinoRunCommand = useCallback(function (commandString, commandOptions) {
23940
23909
  var msgObject = {
23941
- action: 'RunCommand',
23942
- commandString: commandString,
23910
+ data: commandString,
23911
+ options: commandOptions,
23912
+ uniqueId: key
23943
23913
  };
23944
- sendMessageDotNet(msgObject);
23945
- }, []);
23914
+ sendMessage('AddCommand', msgObject);
23915
+ }, [key, sendMessage]);
23946
23916
  var runCommand = useMemo(function () {
23947
23917
  switch (host) {
23948
23918
  case 'rhino':
@@ -23958,38 +23928,26 @@ var useRunCommand = function () {
23958
23928
  };
23959
23929
 
23960
23930
  var useManageSettings = function () {
23961
- var host = getHost();
23962
- var rhinoSendSettings = useCallback(function (settings) {
23963
- if (!checkDotNet())
23964
- return;
23965
- var message = {
23966
- action: 'SetModelSettings',
23967
- data: settings,
23968
- };
23969
- return sendMessageDotNet(message);
23970
- }, []);
23971
- var rhinoGetSettings = useCallback(function () {
23972
- if (!checkDotNet())
23973
- return;
23974
- var settings = window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings();
23975
- return settings;
23976
- }, []);
23977
- var sendSettings = useMemo(function () {
23978
- switch (host) {
23979
- case 'rhino':
23980
- return rhinoSendSettings;
23981
- default:
23982
- return undefined;
23931
+ var _a = useSendMessage(), host = _a.host, sendMessage = _a.sendMessage;
23932
+ var sendSettings = useCallback(function (settings) {
23933
+ return sendMessage('SetModelSettings', { data: settings });
23934
+ }, [sendMessage]);
23935
+ var getSettings = useCallback(function () {
23936
+ // if (!checkDotNet()) return
23937
+ var settings;
23938
+ try {
23939
+ settings = window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings();
23983
23940
  }
23984
- }, [host, rhinoSendSettings]);
23985
- var getSettings = useMemo(function () {
23986
- switch (host) {
23987
- case 'rhino':
23988
- return rhinoGetSettings;
23989
- default:
23990
- return undefined;
23941
+ catch (_a) {
23942
+ try {
23943
+ settings = window.parent.chrome.webview.hostObjects.sync.settings.Get();
23944
+ }
23945
+ catch (_b) {
23946
+ throw new Error('Neither window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings() nor .Get() are available on this platform.');
23947
+ }
23991
23948
  }
23992
- }, [host, rhinoGetSettings]);
23949
+ return settings;
23950
+ }, []);
23993
23951
  return ({
23994
23952
  host: host,
23995
23953
  sendSettings: sendSettings,
@@ -30318,8 +30276,8 @@ function styleInject(css, ref) {
30318
30276
  }
30319
30277
  }
30320
30278
 
30321
- 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%; }";
30322
- styleInject(css_248z$d);
30279
+ 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%; }";
30280
+ styleInject(css_248z$b);
30323
30281
 
30324
30282
  const e$3="horizontal",n$4=["horizontal","vertical"];const Separator=/*#__PURE__*/React.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.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;
30325
30283
 
@@ -31883,8 +31841,16 @@ function toNumber(value) {
31883
31841
 
31884
31842
  var lodash_debounce = debounce;
31885
31843
 
31886
- 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}";
31887
- styleInject(css_248z$c);
31844
+ 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}";
31845
+ styleInject(css_248z$a);
31846
+
31847
+ 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}";
31848
+ styleInject(css_248z$9);
31849
+
31850
+ var ButtonGroup = function (_a) {
31851
+ var _b = _a.wrapperProps, wrapperProps = _b === void 0 ? {} : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, children = _a.children;
31852
+ return (React__default.createElement("div", __assign$3({ className: "btn-group ".concat(disabled && 'btn-group-disabled') }, wrapperProps), children));
31853
+ };
31888
31854
 
31889
31855
  var ICON_SIZE$1 = 18;
31890
31856
  var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
@@ -31929,7 +31895,7 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
31929
31895
  closeMenu();
31930
31896
  }, [closeMenu, selectedItem, setSelected]);
31931
31897
  return (React__default.createElement("div", { "data-testid": "ComboBoxSelect", className: "poll-combobox" },
31932
- React__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') }),
31898
+ React__default.createElement(ButtonGroup, { wrapperProps: __assign$3(__assign$3({}, getComboboxProps()), { style: __assign$3(__assign$3({}, inputStyle), { position: 'relative', width: '100%' }) }), disabled: disabled },
31933
31899
  React__default.createElement("input", __assign$3({}, getInputProps(__assign$3(__assign$3({ placeholder: 'Search for something...' }, inputProps), { onFocus: function () {
31934
31900
  openMenu();
31935
31901
  } })), { spellCheck: false, disabled: disabled, style: {
@@ -32851,8 +32817,8 @@ const x$1=["Enter"," "],b$1=["ArrowUp","PageDown","End"],R$1=["ArrowDown","PageU
32851
32817
 
32852
32818
  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.useCallback((()=>D((e=>!e))),[D]);return s.isInsideContent?/*#__PURE__*/React.createElement(m$1,{scope:n,isRootMenu:!1,open:w,onOpenChange:D,onOpenToggle:g},/*#__PURE__*/React.createElement(Sub,_extends$A({},i,{open:w,onOpenChange:D}),r)):/*#__PURE__*/React.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.useRef(null);return React.createElement(m$1,{scope:r,isRootMenu:!0,triggerId:useId(),triggerRef:f,contentId:useId(),open:d,onOpenChange:a,onOpenToggle:s,modal:i},/*#__PURE__*/React.createElement(Root$1,_extends$A({},w,{open:d,onOpenChange:a,dir:p,modal:i}),t))};const DropdownMenuTrigger=/*#__PURE__*/React.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.createElement(Anchor,_extends$A({asChild:!0},m),/*#__PURE__*/React.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.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.createElement(D$1,{scope:r,isInsideContent:!0},p.isRootMenu?/*#__PURE__*/React.createElement(g$1,_extends$A({__scopeDropdownMenu:r},a,{ref:n})):/*#__PURE__*/React.createElement(Content$1,_extends$A({},d,a,{ref:n})))}));const g$1=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,portalled:t=!0,...p}=e,d=w$1("DropdownMenuContent",r),s=l$1(r),i=React.useRef(!1);return d.isRootMenu?/*#__PURE__*/React.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.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(Group$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuLabel=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(Label$2,_extends$A({},p,t,{ref:n}))}));const DropdownMenuItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(Item$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuCheckboxItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(CheckboxItem$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuRadioGroup=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(RadioGroup$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuRadioItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(RadioItem$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuItemIndicator=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.createElement(ItemIndicator$1,_extends$A({},p,t,{ref:n}))}));const DropdownMenuArrow=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l$1(r);return React.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;
32853
32819
 
32854
- 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}";
32855
- styleInject(css_248z$b);
32820
+ 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}";
32821
+ styleInject(css_248z$8);
32856
32822
 
32857
32823
  var Dropdown = function (_a) {
32858
32824
  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;
@@ -34524,8 +34490,8 @@ function reducer(state, action) {
34524
34490
 
34525
34491
  function noop() {}
34526
34492
 
34527
- 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}";
34528
- styleInject(css_248z$a);
34493
+ 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}";
34494
+ styleInject(css_248z$7);
34529
34495
 
34530
34496
  var FileInput = function (_a) {
34531
34497
  var disabled = _a.disabled, onChange = _a.onChange, _b = _a.accept, accept = _b === void 0 ? ['.hbjson'] : _b, inputProps = _a.inputProps;
@@ -35675,8 +35641,8 @@ const $f99a8c78507165f7$export$5fb54c671a65c88 = /*#__PURE__*/ forwardRef((props
35675
35641
  const $f99a8c78507165f7$export$6d08773d2e66f8f2 = $f99a8c78507165f7$export$9f866c100ef519e4;
35676
35642
  const $f99a8c78507165f7$export$adb584737d712b70 = $f99a8c78507165f7$export$5fb54c671a65c88;
35677
35643
 
35678
- 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}";
35679
- styleInject(css_248z$9);
35644
+ 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}";
35645
+ styleInject(css_248z$6);
35680
35646
 
35681
35647
  var RadioList = function (_a) {
35682
35648
  var items = _a.items, name = _a.name, defaultValue = _a.defaultValue, onChange = _a.onChange;
@@ -35718,7 +35684,6 @@ var Label = function (_a) {
35718
35684
  display: 'flex',
35719
35685
  justifyContent: 'flex-start',
35720
35686
  width: '100%',
35721
- backgroundColor: 'white',
35722
35687
  } },
35723
35688
  React__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)),
35724
35689
  children));
@@ -35744,8 +35709,8 @@ var Logo = function (_a) {
35744
35709
  } })));
35745
35710
  };
35746
35711
 
35747
- 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}";
35748
- styleInject(css_248z$8);
35712
+ 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}";
35713
+ styleInject(css_248z$5);
35749
35714
 
35750
35715
  var NumberInput = function (_a) {
35751
35716
  var _b = _a.inputProps, inputProps = _b === void 0 ? { defaultValue: 0 } : _b, _c = _a.icon, icon = _c === void 0 ? React__default.createElement(Hash$1, null) : _c, style = _a.style, reset = _a.reset;
@@ -35776,13 +35741,10 @@ var NumberInput = function (_a) {
35776
35741
  React__default.createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35777
35742
  };
35778
35743
 
35779
- 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}";
35780
- styleInject(css_248z$7);
35781
-
35782
35744
  var SettingsButton = function (_a) {
35783
35745
  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.createElement(CaretDownFill$1, null) : _c, helpText = _a.helpText, _d = _a.icon, icon = _d === void 0 ? React__default.createElement(Logo, null) : _d;
35784
35746
  return (React__default.createElement(ConditionalWrapper, { condition: typeof helpText !== 'undefined' || disabled, wrapper: function (children) { return React__default.createElement(InputDescription, { helpText: disabled ? 'Enabled in Pollination CAD plugins.' : helpText }, children); } },
35785
- React__default.createElement("div", { className: "btn-group ".concat(disabled && 'btn-group-disabled') },
35747
+ React__default.createElement(ButtonGroup, { disabled: disabled },
35786
35748
  React__default.createElement("button", { type: 'button', onClick: onClick, disabled: disabled, style: {
35787
35749
  flex: 1,
35788
35750
  } },
@@ -35805,8 +35767,8 @@ var SettingsButton = function (_a) {
35805
35767
  }, disabled: disabled })))));
35806
35768
  };
35807
35769
 
35808
- 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}";
35809
- styleInject(css_248z$6);
35770
+ 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}";
35771
+ styleInject(css_248z$4);
35810
35772
 
35811
35773
  var TextInput = function (_a) {
35812
35774
  var _b = _a.inputProps, inputProps = _b === void 0 ? { placeholder: 'Input some text...' } : _b, _c = _a.icon, icon = _c === void 0 ? React__default.createElement(CursorText$1, null) : _c, style = _a.style, reset = _a.reset;
@@ -35835,8 +35797,8 @@ var TextInput = function (_a) {
35835
35797
  React__default.createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35836
35798
  };
35837
35799
 
35838
- 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}";
35839
- styleInject(css_248z$5);
35800
+ 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}";
35801
+ styleInject(css_248z$3);
35840
35802
 
35841
35803
  var AuthUser = function (config) {
35842
35804
  var authUser = useAPIClient(config).authUser;
@@ -39422,11 +39384,11 @@ const $409067139f391064$export$be92b6f5f03c0fe9 = $409067139f391064$export$6eb0f
39422
39384
  const $409067139f391064$export$41fb9f06171c75f4 = $409067139f391064$export$c135dce7b15bbbdc;
39423
39385
  const $409067139f391064$export$7c6e2c02157bb7d2 = $409067139f391064$export$aadde00976f34151;
39424
39386
 
39425
- 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}";
39426
- styleInject(css_248z$4);
39387
+ 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}";
39388
+ styleInject(css_248z$2);
39427
39389
 
39428
- 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}";
39429
- styleInject(css_248z$3);
39390
+ 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}";
39391
+ styleInject(css_248z$1);
39430
39392
 
39431
39393
  var ICON_SIZE = 18;
39432
39394
  var Button = function (_a) {
@@ -39998,9 +39960,6 @@ var SelectLocalArtifacts = function (_a) {
39998
39960
  } }, "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 }));
39999
39961
  };
40000
39962
 
40001
- 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}";
40002
- styleInject(css_248z$2);
40003
-
40004
39963
  var ComboFileSelector = function (_a) {
40005
39964
  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;
40006
39965
  var host = getHost();
@@ -40013,9 +39972,7 @@ var ComboFileSelector = function (_a) {
40013
39972
  flexDirection: 'column',
40014
39973
  gap: 8
40015
39974
  } },
40016
- React__default.createElement("div", { className: 'btn-group', style: {
40017
- width: 'fit-content'
40018
- } },
39975
+ React__default.createElement(ButtonGroup, null,
40019
39976
  React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_cloud'); }, style: {
40020
39977
  display: 'flex',
40021
39978
  boxShadow: !disabled && option === 'get_cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
@@ -40100,12 +40057,12 @@ var RecipeInputsForm = function (_a) {
40100
40057
  }, {}),
40101
40058
  resolver: Oe(schema),
40102
40059
  mode: 'all'
40103
- }), 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;
40104
- useEffect(function () {
40105
- if (isSubmitSuccessful) {
40106
- reset();
40107
- }
40108
- }, [isSubmitSuccessful, reset]);
40060
+ }), 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;
40061
+ // useEffect(() => {
40062
+ // if(isSubmitSuccessful) {
40063
+ // reset()
40064
+ // }
40065
+ // }, [isSubmitSuccessful, reset])
40109
40066
  var _onSubmit = function (_data) {
40110
40067
  var data = __assign$3({}, _data);
40111
40068
  // TODO: fix isTouched for controlled fields https://github.com/react-hook-form/react-hook-form/discussions/6824
@@ -40253,54 +40210,9 @@ var RecipeInputsForm = function (_a) {
40253
40210
  }, loading: loading }, "Create Study")))));
40254
40211
  };
40255
40212
 
40256
- 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";
40257
- styleInject(css_248z$1);
40258
-
40259
- 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}";
40213
+ 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";
40260
40214
  styleInject(css_248z);
40261
40215
 
40262
- var ConfigureLocalRun = function (_a) {
40263
- var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
40264
- var _d = useState(defaultOption), option = _d[0], setOption = _d[1];
40265
- useEffect(function () {
40266
- setOption(defaultOption);
40267
- }, [defaultOption]);
40268
- return (React__default.createElement("div", { className: disabled && 'btn-group-disabled', style: {
40269
- display: 'flex',
40270
- justifyContent: 'space-between',
40271
- alignItems: 'end'
40272
- } },
40273
- React__default.createElement("div", { className: 'btn-group', style: {
40274
- width: 'fit-content'
40275
- } },
40276
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40277
- display: 'flex',
40278
- boxShadow: !disabled && option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40279
- } },
40280
- React__default.createElement(CloudPlus$1, null),
40281
- "Cloud"),
40282
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40283
- display: 'flex',
40284
- boxShadow: !disabled && option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40285
- } },
40286
- React__default.createElement(Laptop$1, null),
40287
- "Local")),
40288
- React__default.createElement("div", { style: {
40289
- minWidth: 160,
40290
- maxWidth: 280,
40291
- flex: 1,
40292
- } },
40293
- React__default.createElement(Label, { label: "Number of CPUs", disabled: option !== 'local', style: {
40294
- backgroundColor: 'white'
40295
- } },
40296
- React__default.createElement(NumberInput, { icon: React__default.createElement(Cpu$1, null), inputProps: {
40297
- min: 0,
40298
- step: 1,
40299
- max: 100,
40300
- disabled: option !== 'local'
40301
- } })))));
40302
- };
40303
-
40304
40216
  var initialState = {
40305
40217
  name: undefined,
40306
40218
  description: undefined,
@@ -40312,7 +40224,6 @@ var defaultStyle = {
40312
40224
  display: 'flex',
40313
40225
  flexDirection: 'column',
40314
40226
  gap: 18,
40315
- // backgroundColor: '#FFFAEE'
40316
40227
  };
40317
40228
  var CreateStudy = function (_a) {
40318
40229
  var _b;
@@ -40331,7 +40242,7 @@ var CreateStudy = function (_a) {
40331
40242
  // @ts-ignore
40332
40243
  var projectOwner = !state || !state.account ? undefined : ((_b = state.account.username) !== null && _b !== void 0 ? _b : state.account.account_name);
40333
40244
  var projectSlug = !state || !state.project ? undefined : state.project.slug.split('/')[1];
40334
- var _e = useCreateStudy(projectOwner, projectSlug, client), host = _e.host, createStudy = _e.createStudy;
40245
+ var _e = useCreateStudy(projectOwner, projectSlug, client); _e.host; var createStudy = _e.createStudy;
40335
40246
  useEffect(function () {
40336
40247
  if (!state.recipe)
40337
40248
  return;
@@ -40395,17 +40306,60 @@ var CreateStudy = function (_a) {
40395
40306
  React__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 })))),
40396
40307
  state.recipe &&
40397
40308
  React__default.createElement(TabPanel, { style: {
40398
- padding: '8px 8px'
40309
+ padding: 8
40399
40310
  } },
40400
40311
  React__default.createElement("div", { style: {
40401
40312
  display: 'flex',
40402
40313
  flexDirection: 'column',
40403
40314
  gap: 24
40404
40315
  } },
40405
- host !== 'web' && React__default.createElement(ConfigureLocalRun, null),
40406
40316
  React__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 }))))));
40407
40317
  };
40408
40318
 
40319
+ var ConfigureLocalRun = function (_a) {
40320
+ var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
40321
+ var _d = useState(defaultOption), option = _d[0], setOption = _d[1];
40322
+ useEffect(function () {
40323
+ setOption(defaultOption);
40324
+ }, [defaultOption]);
40325
+ return (React__default.createElement("div", { style: {
40326
+ display: 'flex',
40327
+ justifyContent: 'space-between',
40328
+ alignItems: 'end'
40329
+ } },
40330
+ React__default.createElement(ButtonGroup, { wrapperProps: {
40331
+ style: {
40332
+ width: 'fit-content'
40333
+ }
40334
+ } },
40335
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40336
+ display: 'flex',
40337
+ boxShadow: !disabled && option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40338
+ } },
40339
+ React__default.createElement(CloudPlus$1, null),
40340
+ "Cloud"),
40341
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40342
+ display: 'flex',
40343
+ boxShadow: !disabled && option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40344
+ } },
40345
+ React__default.createElement(Laptop$1, null),
40346
+ "Local")),
40347
+ React__default.createElement("div", { style: {
40348
+ minWidth: 160,
40349
+ maxWidth: 280,
40350
+ flex: 1,
40351
+ } },
40352
+ React__default.createElement(Label, { label: "Number of CPUs", disabled: option !== 'local', style: {
40353
+ backgroundColor: 'white'
40354
+ } },
40355
+ React__default.createElement(NumberInput, { icon: React__default.createElement(Cpu$1, null), inputProps: {
40356
+ min: 0,
40357
+ step: 1,
40358
+ max: 100,
40359
+ disabled: option !== 'local'
40360
+ } })))));
40361
+ };
40362
+
40409
40363
  // Generated with util/create-component.js
40410
40364
  var GetModelActions;
40411
40365
  (function (GetModelActions) {
@@ -40686,22 +40640,22 @@ var Action$2;
40686
40640
  var getAction$2 = function (key) {
40687
40641
  switch (key) {
40688
40642
  case 'add':
40689
- return 'BakeGeometry';
40643
+ return 'AddGeometry';
40690
40644
  case 'delete':
40691
- return 'ClearGeometry';
40645
+ return 'DeleteGeometry';
40692
40646
  case 'preview':
40693
- return 'DrawGeometry';
40647
+ return 'PreviewGeometry';
40694
40648
  case 'clear':
40695
- return 'DisableDraw';
40649
+ return 'ClearGeometry';
40696
40650
  case 'subscribe-preview':
40697
- return 'CombinedRendering';
40651
+ return 'SubscribePreviewGeometry';
40698
40652
  }
40699
40653
  };
40700
40654
  var SendGeometry = function (_a) {
40701
40655
  var geometry = _a.geometry, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Geometry' : _b;
40702
40656
  var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action$2.preview), selOpt = _c[0], setSelOpt = _c[1];
40703
40657
  var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40704
- var sendGeometry = useSendGeometry().sendGeometry;
40658
+ var sendMessage = useSendMessage().sendMessage;
40705
40659
  useEffect(function () {
40706
40660
  setSelOpt(defaultAction);
40707
40661
  }, [defaultAction]);
@@ -40709,9 +40663,9 @@ var SendGeometry = function (_a) {
40709
40663
  setKey(defaultKey);
40710
40664
  }, [defaultKey]);
40711
40665
  useEffect(function () {
40712
- if (!sendGeometry || selOpt !== 'subscribe-preview')
40666
+ if (!sendMessage || selOpt !== 'subscribe-preview')
40713
40667
  return;
40714
- sendGeometry('CombinedRendering', {
40668
+ sendMessage('SubscribePreviewGeometry', {
40715
40669
  data: geometry,
40716
40670
  uniqueId: key,
40717
40671
  options: {
@@ -40720,7 +40674,7 @@ var SendGeometry = function (_a) {
40720
40674
  },
40721
40675
  });
40722
40676
  return function () {
40723
- sendGeometry('DisableDraw', {
40677
+ sendMessage('ClearGeometry', {
40724
40678
  data: geometry,
40725
40679
  uniqueId: key,
40726
40680
  options: {
@@ -40729,11 +40683,11 @@ var SendGeometry = function (_a) {
40729
40683
  },
40730
40684
  });
40731
40685
  };
40732
- }, [selOpt, geometry, sendGeometry, key]);
40733
- return (React__default.createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
40734
- if (!sendGeometry)
40686
+ }, [selOpt, geometry, key, sendMessage]);
40687
+ return (React__default.createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40688
+ if (!sendMessage)
40735
40689
  return;
40736
- sendGeometry(getAction$2(selOpt), {
40690
+ sendMessage(getAction$2(selOpt), {
40737
40691
  data: geometry,
40738
40692
  uniqueId: key,
40739
40693
  options: {
@@ -40752,7 +40706,7 @@ var SendGeometry = function (_a) {
40752
40706
  label: 'Preview',
40753
40707
  checked: selOpt === Action$2.preview,
40754
40708
  icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
40755
- disabled: !sendGeometry,
40709
+ disabled: !sendMessage,
40756
40710
  onSelect: function () {
40757
40711
  setSelOpt(function (state) { return (state === Action$2.preview ? undefined : Action$2.preview); });
40758
40712
  },
@@ -40763,7 +40717,7 @@ var SendGeometry = function (_a) {
40763
40717
  label: 'Add',
40764
40718
  checked: selOpt === Action$2.add,
40765
40719
  icon: React__default.createElement(Building$1, { size: 16 }),
40766
- disabled: !sendGeometry,
40720
+ disabled: !sendMessage,
40767
40721
  onSelect: function () {
40768
40722
  setSelOpt(function (state) { return (state === Action$2.add ? undefined : Action$2.add); });
40769
40723
  },
@@ -40774,7 +40728,7 @@ var SendGeometry = function (_a) {
40774
40728
  label: 'Delete',
40775
40729
  checked: selOpt === Action$2.delete,
40776
40730
  icon: React__default.createElement(Trash$1, { size: 16 }),
40777
- disabled: !sendGeometry,
40731
+ disabled: !sendMessage,
40778
40732
  onSelect: function () {
40779
40733
  setSelOpt(function (state) { return (state === Action$2.delete ? undefined : Action$2.delete); });
40780
40734
  },
@@ -40785,7 +40739,7 @@ var SendGeometry = function (_a) {
40785
40739
  label: 'Clear',
40786
40740
  checked: selOpt === Action$2.clear,
40787
40741
  icon: React__default.createElement(Recycle$1, { size: 16 }),
40788
- disabled: !sendGeometry,
40742
+ disabled: !sendMessage,
40789
40743
  onSelect: function () {
40790
40744
  setSelOpt(function (state) { return (state === Action$2.clear ? undefined : Action$2.clear); });
40791
40745
  },
@@ -40796,7 +40750,7 @@ var SendGeometry = function (_a) {
40796
40750
  label: 'Subscribe Preview',
40797
40751
  checked: selOpt === Action$2.subscribePreview,
40798
40752
  icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
40799
- disabled: !sendGeometry,
40753
+ disabled: !sendMessage,
40800
40754
  onSelect: function () {
40801
40755
  setSelOpt(function (state) { return (state === Action$2.subscribePreview ? undefined : Action$2.subscribePreview); });
40802
40756
  },
@@ -40821,13 +40775,13 @@ var Action$1;
40821
40775
  var getAction$1 = function (key) {
40822
40776
  switch (key) {
40823
40777
  case 'add':
40824
- return 'BakePollinationModel';
40778
+ return 'AddHBJSON';
40825
40779
  case 'preview':
40826
- return 'DrawPollinationModel';
40780
+ return 'PreviewHBJSON';
40827
40781
  case 'clear':
40828
- return 'DisableDrawPollinationModel';
40782
+ return 'ClearHBJSON';
40829
40783
  case 'subscribe-preview':
40830
- return 'CombinedRenderingPollinationModel';
40784
+ return 'SubscribePreviewHBJSON';
40831
40785
  }
40832
40786
  };
40833
40787
  var SendModel = function (_a) {
@@ -40844,7 +40798,7 @@ var SendModel = function (_a) {
40844
40798
  useEffect(function () {
40845
40799
  if (!sendHbjson || selOpt !== Action$1.subscribePreview)
40846
40800
  return;
40847
- sendHbjson('CombinedRenderingPollinationModel', {
40801
+ sendHbjson('SubscribePreviewHBJSON', {
40848
40802
  data: hbjson,
40849
40803
  uniqueId: key,
40850
40804
  options: {
@@ -40853,7 +40807,7 @@ var SendModel = function (_a) {
40853
40807
  },
40854
40808
  });
40855
40809
  return function () {
40856
- sendHbjson('DisableDrawPollinationModel', {
40810
+ sendHbjson('ClearHBJSON', {
40857
40811
  data: hbjson,
40858
40812
  uniqueId: key,
40859
40813
  options: {
@@ -40947,18 +40901,18 @@ var getAction = function (key) {
40947
40901
  case 'delete':
40948
40902
  return 'DeleteResults';
40949
40903
  case 'preview':
40950
- return 'DrawResults';
40904
+ return 'PreviewResults';
40951
40905
  case 'clear':
40952
40906
  return 'ClearResults';
40953
40907
  case 'subscribe-preview':
40954
- return 'SubscribeDrawResults';
40908
+ return 'SubscribePreviewResults';
40955
40909
  }
40956
40910
  };
40957
40911
  var SendResults = function (_a) {
40958
40912
  var results = _a.results, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Results' : _b;
40959
40913
  var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action.preview), selOpt = _c[0], setSelOpt = _c[1];
40960
40914
  var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40961
- var sendGeometry = useSendGeometry().sendGeometry;
40915
+ var sendMessage = useSendMessage().sendMessage;
40962
40916
  useEffect(function () {
40963
40917
  setSelOpt(defaultAction);
40964
40918
  }, [defaultAction]);
@@ -40966,9 +40920,9 @@ var SendResults = function (_a) {
40966
40920
  setKey(defaultKey);
40967
40921
  }, [defaultKey]);
40968
40922
  useEffect(function () {
40969
- if (!sendGeometry || selOpt !== Action.subscribePreview)
40923
+ if (!sendMessage || selOpt !== Action.subscribePreview)
40970
40924
  return;
40971
- sendGeometry('SubscribeDrawResults', {
40925
+ sendMessage('SubscribePreviewResults', {
40972
40926
  data: results,
40973
40927
  uniqueId: key,
40974
40928
  options: {
@@ -40977,7 +40931,7 @@ var SendResults = function (_a) {
40977
40931
  },
40978
40932
  });
40979
40933
  return function () {
40980
- sendGeometry('ClearResults', {
40934
+ sendMessage('ClearResults', {
40981
40935
  data: results,
40982
40936
  uniqueId: key,
40983
40937
  options: {
@@ -40986,11 +40940,11 @@ var SendResults = function (_a) {
40986
40940
  },
40987
40941
  });
40988
40942
  };
40989
- }, [key, results, selOpt, sendGeometry]);
40990
- return (React__default.createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
40991
- if (!sendGeometry)
40943
+ }, [key, results, selOpt, sendMessage]);
40944
+ return (React__default.createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40945
+ if (!sendMessage)
40992
40946
  return;
40993
- sendGeometry(getAction(selOpt), {
40947
+ sendMessage(getAction(selOpt), {
40994
40948
  data: results,
40995
40949
  uniqueId: key,
40996
40950
  options: {
@@ -41009,7 +40963,7 @@ var SendResults = function (_a) {
41009
40963
  label: 'Preview',
41010
40964
  checked: selOpt === Action.preview,
41011
40965
  icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
41012
- disabled: !sendGeometry,
40966
+ disabled: !sendMessage,
41013
40967
  onSelect: function () {
41014
40968
  setSelOpt(function (state) { return (state === Action.preview ? undefined : Action.preview); });
41015
40969
  },
@@ -41020,7 +40974,7 @@ var SendResults = function (_a) {
41020
40974
  label: 'Add',
41021
40975
  checked: selOpt === Action.add,
41022
40976
  icon: React__default.createElement(Building$1, { size: 16 }),
41023
- disabled: !sendGeometry,
40977
+ disabled: !sendMessage,
41024
40978
  onSelect: function () {
41025
40979
  setSelOpt(function (state) { return (state === Action.add ? undefined : Action.add); });
41026
40980
  },
@@ -41031,7 +40985,7 @@ var SendResults = function (_a) {
41031
40985
  label: 'Delete',
41032
40986
  checked: selOpt === Action.delete,
41033
40987
  icon: React__default.createElement(Trash$1, { size: 16 }),
41034
- disabled: !sendGeometry,
40988
+ disabled: !sendMessage,
41035
40989
  onSelect: function () {
41036
40990
  setSelOpt(function (state) { return (state === Action.delete ? undefined : Action.delete); });
41037
40991
  },
@@ -41042,7 +40996,7 @@ var SendResults = function (_a) {
41042
40996
  label: 'Clear',
41043
40997
  checked: selOpt === Action.clear,
41044
40998
  icon: React__default.createElement(Recycle$1, { size: 16 }),
41045
- disabled: !sendGeometry,
40999
+ disabled: !sendMessage,
41046
41000
  onSelect: function () {
41047
41001
  setSelOpt(function (state) { return (state === Action.clear ? undefined : Action.clear); });
41048
41002
  },
@@ -41053,7 +41007,7 @@ var SendResults = function (_a) {
41053
41007
  label: 'Subscribe Preview',
41054
41008
  checked: selOpt === Action.subscribePreview,
41055
41009
  icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
41056
- disabled: !sendGeometry,
41010
+ disabled: !sendMessage,
41057
41011
  onSelect: function () {
41058
41012
  setSelOpt(function (state) { return (state === Action.subscribePreview ? undefined : Action.subscribePreview); });
41059
41013
  },
@@ -41066,5 +41020,5 @@ var SendResults = function (_a) {
41066
41020
  }], asButtons: true, label: buttonLabel, helpText: "".concat(selOpt ? selOpt.charAt(0).toUpperCase() + selOpt.replace('-', ' ').slice(1) : 'Send', " results.") }));
41067
41021
  };
41068
41022
 
41069
- export { APIClient, AuthUser, ComboFileSelector, ConfigureLocalRun, CreateStudy, GetGeometry, GetModel, SelectAccount, SelectCloudArtifacts, SelectLocalArtifacts, SelectProject, SelectRecipe, SelectRun, SelectStudy, SendGeometry, SendModel, SendResults, checkDotNet, checkRuby, getHost, sendMessageDotNet, sendMessageRuby, useAPIClient, useArtifacts, useCreateStudy, useGetGeometry, useGetHbjson, useHbjsontoVTK, useManageSettings, useRunCommand, useSendGeometry, useSendHbjson };
41023
+ export { APIClient, AuthUser, ComboFileSelector, ConfigureLocalRun, CreateStudy, GetGeometry, GetModel, SelectAccount, SelectCloudArtifacts, SelectLocalArtifacts, SelectProject, SelectRecipe, SelectRun, SelectStudy, SendGeometry, SendModel, SendResults, checkDotNet, checkRuby, getHost, sendMessageDotNet, sendMessageRuby, useAPIClient, useArtifacts, useCreateStudy, useGetGeometry, useGetHbjson, useHbjsontoVTK, useManageSettings, useRunCommand, useSendHbjson, useSendMessage };
41070
41024
  //# sourceMappingURL=index.esm.js.map