pollination-react-io 1.9.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,27 @@ 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
+ throw new Error('window.parent.chrome.webview.hostObjects.sync.settings.GetModelSettings() is not available on this platform or has been deprecated.');
23943
+ }
23944
+ try {
23945
+ settings = window.parent.chrome.webview.hostObjects.sync.settings.Get();
23991
23946
  }
23992
- }, [host, rhinoGetSettings]);
23947
+ catch (_b) {
23948
+ throw new Error('window.parent.chrome.webview.hostObjects.sync.settings.Get() is not available on this platform or has been deprecated.');
23949
+ }
23950
+ return settings;
23951
+ }, []);
23993
23952
  return ({
23994
23953
  host: host,
23995
23954
  sendSettings: sendSettings,
@@ -24077,10 +24036,15 @@ function createContextScope(n,o=[]){let r=[];const c=()=>{const t=r.map((t=>/*#_
24077
24036
 
24078
24037
  const[c$7,i$5]=createContextScope("Avatar");const[s$4,l$6]=c$7("Avatar");const Avatar$1=/*#__PURE__*/React.forwardRef(((t,a)=>{const{__scopeAvatar:r,...c}=t,[i,l]=React.useState("idle");return React.createElement(s$4,{scope:r,imageLoadingStatus:i,onImageLoadingStatusChange:l},/*#__PURE__*/React.createElement(Primitive.span,_extends$A({},c,{ref:a})))}));const AvatarImage=/*#__PURE__*/React.forwardRef(((r,c)=>{const{__scopeAvatar:i,src:s,onLoadingStatusChange:d=(()=>{}),...m}=r,u=l$6("AvatarImage",i),f=function(e){const[t,a]=React.useState("idle");return React.useEffect((()=>{if(!e)return void a("error");let t=!0;const r=new window.Image,o=e=>()=>{t&&a(e);};return a("loading"),r.onload=o("loaded"),r.onerror=o("error"),r.src=e,()=>{t=!1;}}),[e]),t}(s),p=useCallbackRef$1((e=>{d(e),u.onImageLoadingStatusChange(e);}));return useLayoutEffect((()=>{"idle"!==f&&p(f);}),[f,p]),"loaded"===f?/*#__PURE__*/React.createElement(Primitive.img,_extends$A({},m,{ref:c,src:s})):null}));const AvatarFallback=/*#__PURE__*/React.forwardRef(((t,a)=>{const{__scopeAvatar:r,delayMs:c,...i}=t,s=l$6("AvatarFallback",r),[d,m]=React.useState(void 0===c);return React.useEffect((()=>{if(void 0!==c){const e=window.setTimeout((()=>m(!0)),c);return ()=>window.clearTimeout(e)}}),[c]),d&&"loaded"!==s.imageLoadingStatus?/*#__PURE__*/React.createElement(Primitive.span,_extends$A({},i,{ref:a})):null}));const Root$7=Avatar$1;const Image$1=AvatarImage;const Fallback$1=AvatarFallback;
24079
24038
 
24039
+ var ConditionalWrapper = function (_a) {
24040
+ var condition = _a.condition, wrapper = _a.wrapper, children = _a.children;
24041
+ return (condition ? wrapper(children) : children);
24042
+ };
24043
+
24080
24044
  var Root$6 = Root$7, Fallback = Fallback$1, Image = Image$1;
24081
24045
  var Avatar = function (_a) {
24082
24046
  var alt = _a.alt, fallback = _a.fallback, href = _a.href, src = _a.src, _b = _a.size, size = _b === void 0 ? 45 : _b, style = _a.style;
24083
- return (React__default.createElement("a", { href: href, target: "_blank", rel: "noreferrer", style: style },
24047
+ return (React__default.createElement(ConditionalWrapper, { condition: typeof href !== 'undefined' && Boolean(href), wrapper: function (children) { return React__default.createElement("a", { href: href, target: "_blank", rel: "noreferrer", style: style }, children); } },
24084
24048
  React__default.createElement(Root$6, { style: {
24085
24049
  display: 'inline-flex',
24086
24050
  alignItems: 'center',
@@ -24114,11 +24078,6 @@ var Avatar = function (_a) {
24114
24078
  }, delayMs: 600 }, fallback))));
24115
24079
  };
24116
24080
 
24117
- var ConditionalWrapper = function (_a) {
24118
- var condition = _a.condition, wrapper = _a.wrapper, children = _a.children;
24119
- return (condition ? wrapper(children) : children);
24120
- };
24121
-
24122
24081
  function _objectWithoutPropertiesLoose$z(source, excluded) {
24123
24082
  if (source == null) return {};
24124
24083
  var target = {};
@@ -30318,8 +30277,8 @@ function styleInject(css, ref) {
30318
30277
  }
30319
30278
  }
30320
30279
 
30321
- var css_248z$c = "/*\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$c);
30280
+ 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%; }";
30281
+ styleInject(css_248z$b);
30323
30282
 
30324
30283
  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
30284
 
@@ -31883,8 +31842,16 @@ function toNumber(value) {
31883
31842
 
31884
31843
  var lodash_debounce = debounce;
31885
31844
 
31886
- 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-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$b);
31845
+ 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}";
31846
+ styleInject(css_248z$a);
31847
+
31848
+ 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}";
31849
+ styleInject(css_248z$9);
31850
+
31851
+ var ButtonGroup = function (_a) {
31852
+ var _b = _a.wrapperProps, wrapperProps = _b === void 0 ? {} : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, children = _a.children;
31853
+ return (React__default.createElement("div", __assign$3({ className: "btn-group ".concat(disabled && 'btn-group-disabled') }, wrapperProps), children));
31854
+ };
31888
31855
 
31889
31856
  var ICON_SIZE$1 = 18;
31890
31857
  var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
@@ -31929,7 +31896,7 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
31929
31896
  closeMenu();
31930
31897
  }, [closeMenu, selectedItem, setSelected]);
31931
31898
  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') }),
31899
+ React__default.createElement(ButtonGroup, { wrapperProps: __assign$3(__assign$3({}, getComboboxProps()), { style: __assign$3(__assign$3({}, inputStyle), { position: 'relative', width: '100%' }) }), disabled: disabled },
31933
31900
  React__default.createElement("input", __assign$3({}, getInputProps(__assign$3(__assign$3({ placeholder: 'Search for something...' }, inputProps), { onFocus: function () {
31934
31901
  openMenu();
31935
31902
  } })), { spellCheck: false, disabled: disabled, style: {
@@ -32851,8 +32818,8 @@ const x$1=["Enter"," "],b$1=["ArrowUp","PageDown","End"],R$1=["ArrowDown","PageU
32851
32818
 
32852
32819
  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
32820
 
32854
- 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-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$a);
32821
+ 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}";
32822
+ styleInject(css_248z$8);
32856
32823
 
32857
32824
  var Dropdown = function (_a) {
32858
32825
  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;
@@ -32886,7 +32853,7 @@ var Dropdown = function (_a) {
32886
32853
  return (React__default.createElement(Item, __assign$3({ key: o.id, className: "poll-select-item", onSelect: function () { return o.onSelect && o.onSelect(o); } }, itemProps), o.label));
32887
32854
  }
32888
32855
  }, [itemProps]);
32889
- return (React__default.createElement(Root, { open: open },
32856
+ return (React__default.createElement(Root, { open: open && !disabled },
32890
32857
  React__default.createElement(Trigger, { asChild: true, disabled: disabled }, trigger),
32891
32858
  React__default.createElement(Content, __assign$3({ className: "poll-select-content" }, contentProps),
32892
32859
  optionGroups.map(function (group, i, a) { return (React__default.createElement(ConditionalWrapper, { condition: typeof group.type !== 'undefined', wrapper: function (children) { return (group.type === 'radio'
@@ -34524,8 +34491,8 @@ function reducer(state, action) {
34524
34491
 
34525
34492
  function noop() {}
34526
34493
 
34527
- 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-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$9);
34494
+ 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}";
34495
+ styleInject(css_248z$7);
34529
34496
 
34530
34497
  var FileInput = function (_a) {
34531
34498
  var disabled = _a.disabled, onChange = _a.onChange, _b = _a.accept, accept = _b === void 0 ? ['.hbjson'] : _b, inputProps = _a.inputProps;
@@ -35675,8 +35642,8 @@ const $f99a8c78507165f7$export$5fb54c671a65c88 = /*#__PURE__*/ forwardRef((props
35675
35642
  const $f99a8c78507165f7$export$6d08773d2e66f8f2 = $f99a8c78507165f7$export$9f866c100ef519e4;
35676
35643
  const $f99a8c78507165f7$export$adb584737d712b70 = $f99a8c78507165f7$export$5fb54c671a65c88;
35677
35644
 
35678
- 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-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 black;\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$8);
35645
+ 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}";
35646
+ styleInject(css_248z$6);
35680
35647
 
35681
35648
  var RadioList = function (_a) {
35682
35649
  var items = _a.items, name = _a.name, defaultValue = _a.defaultValue, onChange = _a.onChange;
@@ -35693,9 +35660,14 @@ var RadioList = function (_a) {
35693
35660
  gap: 12,
35694
35661
  alignItems: 'center'
35695
35662
  } },
35696
- React__default.createElement($f99a8c78507165f7$export$6d08773d2e66f8f2, { value: item, id: "".concat(item), className: 'poll-radio' },
35663
+ React__default.createElement($f99a8c78507165f7$export$6d08773d2e66f8f2, { value: item, id: "".concat(item), className: 'poll-radio', style: {
35664
+ outline: 'none'
35665
+ } },
35697
35666
  React__default.createElement($f99a8c78507165f7$export$adb584737d712b70, { className: 'poll-radio-indicator' })),
35698
- React__default.createElement("label", { htmlFor: "".concat(item) }, name === 'units' ?
35667
+ React__default.createElement("label", { style: {
35668
+ marginBottom: 0,
35669
+ cursor: 'pointer'
35670
+ }, htmlFor: "".concat(item) }, name === 'units' ?
35699
35671
  item.toUpperCase()
35700
35672
  :
35701
35673
  (item.charAt(0).toUpperCase() + item.slice(1)).split('-').join(' '))));
@@ -35714,29 +35686,32 @@ var Label = function (_a) {
35714
35686
  justifyContent: 'flex-start',
35715
35687
  width: '100%',
35716
35688
  } },
35717
- 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', transform: 'translate(30px, 6px)', zIndex: 100, fontSize: '0.8rem', color: disabled ? 'var(--slate11)' : 'var(--primary)', fill: disabled ? 'var(--slate11)' : 'var(--primary)', padding: '0px 4px', marginBottom: 0 }, style) }, label)),
35689
+ 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)),
35718
35690
  children));
35719
35691
  };
35720
35692
 
35721
35693
  var logo = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMSIgdmlld0JveD0iMCAwIDEyMCAxMjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTY6Mjg3OSkiPgo8cGF0aCBkPSJNNzQuMTMyOSAxOS45MzVDNzEuMjU0NiAxOC4xNjQ0IDY3Ljc1OCAxNy4xNTg2IDY0LjIxMzggMTYuNjM3OUM2MC44ODM5IDE2LjI1MjcgNTkuMDY5NyAxNi4yNiA1NS44ODQyIDE2LjU2NTNDNTIuMjg2IDE3LjAyOTUgNDguODg2NiAxOC4xMjY5IDQ1LjgwMTIgMTkuNzQyMkwzOC45NzQ2IDI0LjYzMzRDMzUuMDMzNSAyOC4zODQ0IDMyLjEwNDcgMzMuMTg5OCAzMC42Mzk3IDM4LjU5NzdDMzAuNTQ0MyAzOC45NTAxIDMwLjI3MDMgMzkuMjI3MSAyOS45MTkxIDM5LjMyNjlDMTguMjE2NiA0Mi42NTM3IDkuMDk3NjYgNTMuMDE3MyA4LjE0ODg1IDY1LjI1MTdDNy45NTgxIDY3LjcxMTUgOC4wNDI1MiA2OS4wNzc5IDguMTQ4ODYgNzEuNDk4OUM4LjYxNTcxIDgyLjEyNzggMTguMjAxOSA5NC4wNDY1IDI5LjkyIDk3LjQyMjlDMzAuMjcwOCA5Ny41MjM5IDMwLjU0NDQgOTcuODAxMSAzMC42Mzk4IDk4LjE1MzVDMzMuOTA2MyAxMTAuMjIxIDQ0LjQzMjYgMTE5LjU1MyA1Ny4yNzI3IDEyMC4zMzJDNTkuNzYzMiAxMjAuNDgzIDYxLjEyMTMgMTIwLjQ2NiA2My41MTk5IDEyMC4yMDdDNzQuNTAyNyAxMTkuMDE3IDg1LjY0MzMgMTA5LjkxNCA4OC44OSA5OC4zMDM2Qzg4Ljk4OTcgOTcuOTQ3IDg5LjI3MTUgOTcuNjY4NyA4OS42Mjk1IDk3LjU3NDJDMTAxLjYgOTQuNDE0MSAxMTAuODA5IDgzLjkyMjYgMTExLjc3OCA3MS4zMjc2TDExMS43OSA3MS4xNjMyQzExMS45NyA2OC44MzQ5IDExMi4wNzYgNjcuNDYxMiAxMTEuNzc4IDY1LjA4MDRDMTEwLjE3MiA1Mi4yNDEzIDEwMS41OCA0Mi4zMTg1IDg5LjYzMDEgMzkuMTc2M0M4OS4yNzIgMzkuMDgyMiA4OC45OTA0IDM4LjgwNDMgODguODg3NiAzOC40NDg2Qzg3LjM0NTQgMzMuMTEyMSA4My4xNTY3IDI2LjkxMDggODAuODY2OSAyNC44OTMyQzc4LjQ5MzYgMjIuODAyIDc3LjAxMTIgMjEuNzA1NSA3NC4xMzI5IDE5LjkzNVoiIGZpbGw9IiNGQUZBRkEiLz4KPHBhdGggZD0iTTU1LjM1NjUgODEuNTQ2M0M1Mi4yMTA2IDg1LjczMjQgNDcuNTk4OCA4OC43NTM5IDQyLjI4MzMgODkuODQ4N0M0Mi4yNzk2IDg5Ljk5ODMgNDIuMjc3NyA5MC4xNDg0IDQyLjI3NzcgOTAuMjk5QzQyLjI3NzcgMTAwLjA4NyA1MC4yMTIzIDEwOC4wMjEgNjAgMTA4LjAyMUM2OS43ODc4IDEwOC4wMjEgNzcuNzIyMyAxMDAuMDg3IDc3LjcyMjMgOTAuMjk5Qzc3LjcyMjMgODAuNTExMiA2OS43ODc4IDcyLjU3NjcgNjAgNzIuNTc2N0M1OS43NzgyIDcyLjU3NjcgNTkuNTU3NCA3Mi41ODA3IDU5LjMzNzUgNzIuNTg4OEM1OC44NzI3IDc0Ljk5MTkgNTguMDE0OCA3Ny4yNTQ4IDU2LjgzMzYgNzkuMzA4QzU3LjY4NDUgNzguNTc3OCA1OC43OTA4IDc4LjEzNjYgNjAgNzguMTM2NkM2Mi42ODY5IDc4LjEzNjYgNjQuODY1IDgwLjMxNDcgNjQuODY1IDgzLjAwMTZDNjQuODY1IDg1LjY4ODQgNjIuNjg2OSA4Ny44NjY1IDYwIDg3Ljg2NjVDNTcuMzEzMiA4Ny44NjY1IDU1LjEzNTEgODUuNjg4NCA1NS4xMzUxIDgzLjAwMTZDNTUuMTM1MSA4Mi40OTQ2IDU1LjIxMjYgODIuMDA1OCA1NS4zNTY1IDgxLjU0NjNaIiBmaWxsPSIjRjJCMjREIi8+CjxwYXRoIGQ9Ik03My4zNTUgMjAuODc1NEM3My43MTk5IDIwLjM1OTEgNzMuNTgxNyAxOS42MjM5IDczLjAxMzggMTkuMzQ1OUM3MC42MDg3IDE4LjE2ODMgNjguMDI0IDE3LjMwMDcgNjUuMzExOSAxNi43OTUyQzY0LjcxMiAxNi42ODM0IDY0LjE2OTkgMTcuMTUyNCA2NC4xNjk5IDE3Ljc2MjZWMjQuMjU2M0M2NC4xNjk5IDI0LjczMDkgNjQuNTA0MiAyNS4xMzc3IDY0Ljk2NTIgMjUuMjUwN0M2Ni41MzY0IDI1LjYzNTggNjguMDQxIDI2LjE5MDUgNjkuNDU4NyAyNi44OTQyQzcwLjA4ODggMjcuMjA3MSA3MC44NjQ0IDI2LjgzNzYgNzEuMDI0OCAyNi4xNTI3QzcxLjQ2NTMgMjQuMjcxOCA3Mi4xOTA2IDIyLjUyMyA3My4zNTUgMjAuODc1NFoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTc4Ljg3MjcgMzUuODcwMkM3OC43ODc2IDM1LjcxNzggNzguNzQxNSAzNS41NDY1IDc4Ljc0MTUgMzUuMzcxOVYzMi44ODkxQzc4Ljc0MTUgMzIuODg4NyA3OC43NDEyIDMyLjg4ODQgNzguNzQwOCAzMi44ODg0VjMyLjg4ODRDNzguNzQwNCAzMi44ODg0IDc4Ljc0MDEgMzIuODg4MSA3OC43NDAxIDMyLjg4NzdDNzguNzQwMiAyOC45NTEgNzkuMTczNCAyNy4wNzAzIDgwLjE5NiAyNS42NDQ4QzgwLjUyMDIgMjUuMTkyNyA4MS4xNzAxIDI1LjE4NjQgODEuNTU1MiAyNS41ODc5Qzg0Ljk3MTYgMjkuMTQ5NyA4Ny41MjQ1IDMzLjU0NjUgODguODc4IDM4LjQ0MkM4OC45NzY3IDM4Ljc5ODggODkuMjU4NyAzOS4wNzcgODkuNjE2NyAzOS4xNzEzQzEwMS4yNDggNDIuMjM3MSAxMTAuMTM1IDUyLjA1MzYgMTExLjgzMSA2NC4xNzlDMTExLjkxMyA2NC43NjYgMTExLjQ0OSA2NS4yNzkzIDExMC44NTcgNjUuMjc5M0gxMDQuNDNDMTAzLjkzMiA2NS4yNzkzIDEwMy41MTMgNjQuOTEyOCAxMDMuNDIzIDY0LjQyMzRDMTAxLjczIDU1LjIxNDYgOTQuMjcyOSA0OC4wMTg5IDg0LjkzMjkgNDYuNzIzNEw4Mi41ODczIDQ2LjM5ODFDODIuMTQ4NCA0Ni4zMzcyIDgxLjgwMiA0NS45OTQ4IDgxLjczNTggNDUuNTU2OEw4MS4zODI1IDQzLjIxNTJDODAuOTg1NSA0MC41ODQyIDgwLjExOTUgMzguMTA2NiA3OC44NzI3IDM1Ljg3MDJaIiBmaWxsPSIjMjQyOTJFIi8+CjxwYXRoIGQ9Ik0zOS4wMDYxIDI0LjcxNzFDMzguOTQ2NyAyNC42NTc4IDM4Ljg1MDggMjQuNjU2NSAzOC43OTAzIDI0LjcxNDdDMzQuODk5MSAyOC40NTUyIDMyLjAwNzIgMzMuMjI3OSAzMC41NTM5IDM4LjU5MjhDMzAuNDU4NSAzOC45NDUxIDMwLjE4NDIgMzkuMjIyMyAyOS44MzMxIDM5LjMyMkMxOC40NzMyIDQyLjU0ODUgOS44MzgxNyA1Mi4yNDUzIDguMTY4NyA2NC4xNzkxQzguMDg2NTggNjQuNzY2MSA4LjU1MDU4IDY1LjI3OTMgOS4xNDMyOSA2NS4yNzkzSDE1LjU3MDFDMTYuMDY3NyA2NS4yNzkzIDE2LjQ4NzEgNjQuOTEyOCAxNi41NzcxIDY0LjQyMzRDMTguMjQyOSA1NS4zNjQxIDI1LjQ4NjYgNDguMjUyNCAzNC42MTQ3IDQ2Ljc5MUwzNi45MDk4IDQ2LjQyMzVDMzcuMzQwOCA0Ni4zNTQ1IDM3LjY3NzIgNDYuMDE0IDM3Ljc0MSA0NS41ODIyTDM4LjA4MDYgNDMuMjgyOEMzOC41MjMyIDQwLjI4NjYgMzkuNTczNiAzNy40ODgxIDQxLjEwMjQgMzUuMDE2M0M0MS4yMDIyIDM0Ljg1NDkgNDEuMjU3IDM0LjY2OTQgNDEuMjU3MyAzNC40Nzk2TDQxLjI1OTkgMzIuODgxN0M0MS4yNTkzIDI4LjA0NzIgNDAuNjA0NiAyNi4zMTU2IDM5LjAwNjEgMjQuNzE3MVYyNC43MTcxWiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBkPSJNNTAuNDYwOSAyNi42Nzg5QzQ5LjgzODUgMjYuOTcwNSA0OS4wODg5IDI2LjYwNzggNDguOTI0MSAyNS45NDA2QzQ4LjQ2MjkgMjQuMDczNiA0Ny43MTI0IDIyLjMzNzIgNDYuNTE5MiAyMC43MDAzQzQ2LjEzOTYgMjAuMTc5NiA0Ni4yODA4IDE5LjQyNjQgNDYuODYzNyAxOS4xNTE3QzQ5LjMxNDkgMTcuOTk2NSA1MS45NDY2IDE3LjE2MSA1NC43MDUgMTYuNjk5QzU1LjI5OTggMTYuNTk5NCA1NS44MyAxNy4wNjY1IDU1LjgzIDE3LjY2OTZWMjQuMTMzOUM1NS44MyAyNC42MTc4IDU1LjQ4MjkgMjUuMDI5OCA1NS4wMTA0IDI1LjEzMzhDNTMuNDIyNCAyNS40ODMzIDUxLjg5OSAyNi4wMDUzIDUwLjQ2MDkgMjYuNjc4OVoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTgxLjM4MjUgOTMuNTk4M0M4MC4wMjEgMTAyLjYyIDczLjE0NjYgMTA5LjgzNyA2NC4zMDI4IDExMS43MTRDNjMuODI2NSAxMTEuODE1IDYzLjQ3NTIgMTEyLjIyOSA2My40NzUyIDExMi43MTZWMTE5LjE3MkM2My40NzUyIDExOS43NzIgNjQuMDAxOCAxMjAuMjM5IDY0LjU5NDkgMTIwLjE0M0M3Ni4zMDg2IDExOC4yNTEgODUuNzY1IDEwOS42MyA4OC44Nzc4IDk4LjM3MjJDODguOTc2NSA5OC4wMTUzIDg5LjI1ODcgOTcuNzM2NSA4OS42MTY3IDk3LjY0MjJDMTAxLjI0NyA5NC41NzY0IDExMC4xMzUgODQuNzU5OCAxMTEuODMxIDcyLjYzNDVDMTExLjkxMyA3Mi4wNDc1IDExMS40NDkgNzEuNTM0MiAxMTAuODU3IDcxLjUzNDJIMTA0LjQzQzEwMy45MzIgNzEuNTM0MiAxMDMuNTEzIDcxLjkwMDcgMTAzLjQyMyA3Mi4zOTAxQzEwMS43MyA4MS41OTg5IDk0LjI3MjkgODguNzk0NiA4NC45MzI5IDkwLjA5MDFMODIuNTg3MyA5MC40MTU0QzgyLjE0ODQgOTAuNDc2MyA4MS44MDIgOTAuODE4NiA4MS43MzU4IDkxLjI1NjdMODEuMzgyNSA5My41OTgzWiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBkPSJNMzQuNjE0NyA5MC4wMjI1QzI1LjQ4NjYgODguNTYxMSAxOC4yNDI5IDgxLjQ0OTQgMTYuNTc3MSA3Mi4zOUMxNi40ODcxIDcxLjkwMDcgMTYuMDY3NyA3MS41MzQyIDE1LjU3MDEgNzEuNTM0Mkg5LjE0MzI5QzguNTUwNTggNzEuNTM0MiA4LjA4NjU4IDcyLjA0NzQgOC4xNjg3IDcyLjYzNDRDOS44MzgxOCA4NC41NjgyIDE4LjQ3MzIgOTQuMjY1IDI5LjgzMzEgOTcuNDkxNUMzMC4xODQyIDk3LjU5MTIgMzAuNDU4NiA5Ny44NjkgMzAuNTU0MSA5OC4yMjE0QzMzLjczMjkgMTA5Ljk1NSA0My43OTQgMTE4Ljg1NiA1Ni4xMzk1IDEyMC4zMTlDNTYuNzIwMSAxMjAuMzg4IDU3LjIyMDMgMTE5LjkyNyA1Ny4yMjAzIDExOS4zNDJWMTEyLjk0QzU3LjIyMDMgMTEyLjQzMiA1Ni44MzgzIDExMi4wMDcgNTYuMzM2MSAxMTEuOTI5QzQ2LjkxMjkgMTEwLjQ1OSAzOS40NzU5IDEwMi45NzcgMzguMDgwNiA5My41MzA3TDM3Ljc0MSA5MS4yMzEzQzM3LjY3NzIgOTAuNzk5NSAzNy4zNDA4IDkwLjQ1ODkgMzYuOTA5OCA5MC4zODk5TDM0LjYxNDcgOTAuMDIyNVoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTgxLjYyODggODYuMTI5QzkxLjQxNjYgODYuMTI5IDk5LjM1MTEgNzguMTk0NSA5OS4zNTExIDY4LjQwNjdDOTkuMzUxMSA1OC42MTg5IDkxLjQxNjYgNTAuNjg0NCA4MS42Mjg4IDUwLjY4NDRDNzEuODQxIDUwLjY4NDQgNjMuOTA2NSA1OC42MTg5IDYzLjkwNjUgNjguNDA2N0M2My45MDY1IDY4LjUzOTYgNjMuOTA4IDY4LjY3MjEgNjMuOTEwOSA2OC44MDQyQzY2LjMzNyA2OS4yNzI2IDY4LjYyMDQgNzAuMTQxNSA3MC42ODk2IDcxLjMzOTVDNzAuMDcyNSA3MC41MjQxIDY5LjcwNjUgNjkuNTA4MSA2OS43MDY1IDY4LjQwNjdDNjkuNzA2NSA2NS43MTk5IDcxLjg4NDYgNjMuNTQxOCA3NC41NzE1IDYzLjU0MThDNzcuMjU4MyA2My41NDE4IDc5LjQzNjQgNjUuNzE5OSA3OS40MzY0IDY4LjQwNjdDNzkuNDM2NCA3MS4wOTM1IDc3LjI1ODMgNzMuMjcxNyA3NC41NzE1IDczLjI3MTdDNzQuMTI0OSA3My4yNzE3IDczLjY5MjMgNzMuMjExNSA3My4yODE0IDczLjA5ODhDNzcuMzI1MSA3Ni4yODc1IDgwLjIxNzEgODAuODcxNSA4MS4yMzEzIDg2LjEyNDdDODEuMzYzNSA4Ni4xMjc2IDgxLjQ5NiA4Ni4xMjkgODEuNjI4OCA4Ni4xMjlaIiBmaWxsPSIjRUIyMjI3Ii8+CjxwYXRoIGQ9Ik03Ny43MTc5IDQ2LjkxMTlDNzcuNzIwOCA0Ni43Nzk4IDc3LjcyMjIgNDYuNjQ3MyA3Ny43MjIyIDQ2LjUxNDRDNzcuNzIyMiAzNi43MjY3IDY5Ljc4NzcgMjguNzkyMSA1OS45OTk5IDI4Ljc5MjFDNTAuMjEyMSAyOC43OTIxIDQyLjI3NzYgMzYuNzI2NyA0Mi4yNzc2IDQ2LjUxNDRDNDIuMjc3NiA1Ni4zMDIyIDUwLjIxMjEgNjQuMjM2NyA1OS45OTk5IDY0LjIzNjdDNjAuMTMyOCA2NC4yMzY3IDYwLjI2NTMgNjQuMjM1MyA2MC4zOTc0IDY0LjIzMjRDNjAuODM1NyA2MS45NjIzIDYxLjYyNDYgNTkuODE3MiA2Mi43MDU2IDU3Ljg1NTZDNjEuOTMyIDU4LjM3NDMgNjEuMDAxMyA1OC42NzY4IDU5Ljk5OTkgNTguNjc2OEM1Ny4zMTMxIDU4LjY3NjggNTUuMTM1IDU2LjQ5ODcgNTUuMTM1IDUzLjgxMTlDNTUuMTM1IDUxLjEyNSA1Ny4zMTMxIDQ4Ljk0NjkgNTkuOTk5OSA0OC45NDY5QzYyLjY4NjcgNDguOTQ2OSA2NC44NjQ5IDUxLjEyNSA2NC44NjQ5IDUzLjgxMTlDNjQuODY0OSA1NC4xMzY0IDY0LjgzMzEgNTQuNDUzNiA2NC43NzI0IDU0Ljc2MDRDNjcuOTU3NSA1MC43Njk4IDcyLjUwODcgNDcuOTE3NiA3Ny43MTc5IDQ2LjkxMTlaIiBmaWxsPSIjMDRBNTRGIi8+CjxwYXRoIGQ9Ik01NS41NjEgNjcuOTU2NEM1NS41NjQ3IDY4LjEwNjEgNTUuNTY2NiA2OC4yNTYyIDU1LjU2NjYgNjguNDA2N0M1NS41NjY2IDc4LjE5NDUgNDcuNjMyIDg2LjEyOSAzNy44NDQzIDg2LjEyOUMyOC4wNTY1IDg2LjEyOSAyMC4xMjE5IDc4LjE5NDUgMjAuMTIxOSA2OC40MDY3QzIwLjEyMTkgNTguNjE4OSAyOC4wNTY1IDUwLjY4NDQgMzcuODQ0MyA1MC42ODQ0QzM4LjA2NiA1MC42ODQ0IDM4LjI4NjggNTAuNjg4NSAzOC41MDY2IDUwLjY5NjVDMzkuNTE0MyA1NS45MDYgNDIuMzY4OSA2MC40NTcgNDYuMzYxOSA2My42NDA4QzQ2LjA0NDggNjMuNTc1OSA0NS43MTY2IDYzLjU0MTggNDUuMzgwNCA2My41NDE4QzQyLjY5MzUgNjMuNTQxOCA0MC41MTU0IDY1LjcxOTkgNDAuNTE1NCA2OC40MDY3QzQwLjUxNTQgNzEuMDkzNSA0Mi42OTM1IDczLjI3MTcgNDUuMzgwNCA3My4yNzE3QzQ4LjA2NzIgNzMuMjcxNyA1MC4yNDUzIDcxLjA5MzUgNTAuMjQ1MyA2OC40MDY3QzUwLjI0NTMgNjcuMzk1OSA0OS45MzcxIDY2LjQ1NzIgNDkuNDA5NSA2NS42NzkzQzUxLjMwNTQgNjYuNzI5MiA1My4zNzM2IDY3LjUwNiA1NS41NjEgNjcuOTU2NFoiIGZpbGw9IiMyREE5RTEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMC4xMDg4IDE2LjA2ODZDMzAuMTA4OCAxMi4yMzAyIDMzLjIyMDQgOS4xMTg2NSAzNy4wNTg3IDkuMTE4NjVDNDAuODk3IDkuMTE4NjUgNDQuMDA4NiAxMi4yMzAyIDQ0LjAwODYgMTYuMDY4NkM0NC4wMDg2IDE3LjM0ODMgNDMuNjYyOCAxOC41NDcyIDQzLjA1OTQgMTkuNTc3TDQzLjQyOTEgMTkuOTQ2N0w0MC40ODA1IDIyLjg5NTNMMzkuOTY3NSAyMi4zODIzQzM5LjA4MjYgMjIuNzkwNyAzOC4wOTczIDIzLjAxODUgMzcuMDU4NyAyMy4wMTg1QzMzLjIyMDQgMjMuMDE4NSAzMC4xMDg4IDE5LjkwNjkgMzAuMTA4OCAxNi4wNjg2Wk0zNy4wNTg3IDEzLjI4ODZDMzUuNTIzNCAxMy4yODg2IDM0LjI3ODcgMTQuNTMzMiAzNC4yNzg3IDE2LjA2ODZDMzQuMjc4NyAxNy42MDM5IDM1LjUyMzQgMTguODQ4NiAzNy4wNTg3IDE4Ljg0ODZDMzguNTk0IDE4Ljg0ODYgMzkuODM4NyAxNy42MDM5IDM5LjgzODcgMTYuMDY4NkMzOS44Mzg3IDE0LjUzMzIgMzguNTk0IDEzLjI4ODYgMzcuMDU4NyAxMy4yODg2WiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQzLjI3MyA2MS43ODk3TDQzLjMyMDIgMzIuNTM3NUw0My4zNDUgMzIuNTM3NUM0My4zNDQ3IDI3LjUxMzggNDIuNjY5NiAyNS4wODQ0IDQwLjQ4MDUgMjIuODk1M0w0My40MjkxIDE5Ljk0NjdDNDYuNzk5NSAyMy4zMTcxIDQ3LjUxNSAyNy4xNDIgNDcuNTE1IDMyLjU0MDlINDUuNDExOEw0Ny40OTAyIDMyLjU0NDJMNDcuNDQzIDYxLjc2MDZDNTAuMjg2NiA2Mi42MzE3IDUyLjM1NDMgNjUuMjc3NyA1Mi4zNTQzIDY4LjQwNjdDNTIuMzU0MyA3Mi4yNDUgNDkuMjQyNyA3NS4zNTY2IDQ1LjQwNDQgNzUuMzU2NkM0MS41NjYgNzUuMzU2NiAzOC40NTQ0IDcyLjI0NSAzOC40NTQ0IDY4LjQwNjdDMzguNDU0NCA2NS4zMTE5IDQwLjQ3NzMgNjIuNjg5NSA0My4yNzMgNjEuNzg5N1pNNDUuNDA0NCA2NS42MjY3QzQzLjg2OSA2NS42MjY3IDQyLjYyNDQgNjYuODcxMyA0Mi42MjQ0IDY4LjQwNjdDNDIuNjI0NCA2OS45NDIgNDMuODY5IDcxLjE4NjcgNDUuNDA0NCA3MS4xODY3QzQ2LjkzOTcgNzEuMTg2NyA0OC4xODQzIDY5Ljk0MiA0OC4xODQzIDY4LjQwNjdDNDguMTg0MyA2Ni44NzE0IDQ2LjkzOTcgNjUuNjI2NyA0NS40MDQ0IDY1LjYyNjdaIiBmaWxsPSIjMjQyOTJFIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNzYuNDQ4MyAxNi4wNjg2Qzc2LjQ0ODMgMTIuMjMwMiA3OS41NTk5IDkuMTE4NjUgODMuMzk4MiA5LjExODY1Qzg3LjIzNjYgOS4xMTg2NSA5MC4zNDgxIDEyLjIzMDIgOTAuMzQ4MSAxNi4wNjg2QzkwLjM0ODEgMTkuOTA2OSA4Ny4yMzY2IDIzLjAxODUgODMuMzk4MiAyMy4wMTg1QzgyLjIzODIgMjMuMDE4NSA4MS4xNDQ2IDIyLjczNDMgODAuMTgzMiAyMi4yMzE4TDc5LjUxOTYgMjIuODk1M0M3OS41MTk2IDIyLjg5NTMgNzkuNTE5NiAyMi44OTUzIDc5LjUxOTYgMjIuODk1M0M3Ny4zMzAxIDI1LjA4NDkgNzYuNjU1MyAyNy41MTQ5IDc2LjY1NTMgMzIuNTQwOUw3Ni42NTY3IDMyLjU0MDlWNjEuNzY3NEM3OS40ODg4IDYyLjY0NTUgODEuNTQ1NyA2NS4yODU5IDgxLjU0NTcgNjguNDA2N0M4MS41NDU3IDcyLjI0NSA3OC40MzQxIDc1LjM1NjYgNzQuNTk1OCA3NS4zNTY2QzcwLjc1NzUgNzUuMzU2NiA2Ny42NDU5IDcyLjI0NSA2Ny42NDU5IDY4LjQwNjdDNjcuNjQ1OSA2NS4zMDM2IDY5LjY3OTUgNjIuNjc1NiA3Mi40ODY3IDYxLjc4MjVWMzIuNTQwOUw3Mi40ODU0IDMyLjU0MDlDNzIuNDg1NCAyNy4xNDIgNzMuMjAwNyAyMy4zMTcgNzYuNTcxIDE5Ljk0NjdMNzcuMjM0NyAxOS4yODNDNzYuNzMyNCAxOC4zMjE4IDc2LjQ0ODMgMTcuMjI4MyA3Ni40NDgzIDE2LjA2ODZaTTgzLjM5ODIgMTMuMjg4NkM4MS44NjI5IDEzLjI4ODYgODAuNjE4MiAxNC41MzMyIDgwLjYxODIgMTYuMDY4NkM4MC42MTgyIDE3LjYwMzkgODEuODYyOSAxOC44NDg2IDgzLjM5ODIgMTguODQ4NkM4NC45MzM2IDE4Ljg0ODYgODYuMTc4MiAxNy42MDM5IDg2LjE3ODIgMTYuMDY4NkM4Ni4xNzgyIDE0LjUzMzIgODQuOTMzNiAxMy4yODg2IDgzLjM5ODIgMTMuMjg4NlpNNzQuNTk1OCA2NS42MjY3QzczLjA2MDUgNjUuNjI2NyA3MS44MTU4IDY2Ljg3MTQgNzEuODE1OCA2OC40MDY3QzcxLjgxNTggNjkuOTQyIDczLjA2MDUgNzEuMTg2NyA3NC41OTU4IDcxLjE4NjdDNzYuMTMxMSA3MS4xODY3IDc3LjM3NTggNjkuOTQyIDc3LjM3NTggNjguNDA2N0M3Ny4zNzU4IDY2Ljg3MTQgNzYuMTMxMSA2NS42MjY3IDc0LjU5NTggNjUuNjI2N1oiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02MC4wMDAxIDAuNDI3OTc5QzU2LjE2MTggMC40Mjc5NzkgNTMuMDUwMiAzLjUzOTU3IDUzLjA1MDIgNy4zNzc5MUM1My4wNTAyIDEwLjQ4OTggNTUuMDk1NCAxMy4xMjQgNTcuOTE1IDE0LjAwOTZMNTcuOTE1IDQ3LjE4NzdDNTUuMTA3OCA0OC4wODA3IDUzLjA3NDEgNTAuNzA4OCA1My4wNzQxIDUzLjgxMTlDNTMuMDc0MSA1Ni45MTYxIDU1LjEwOTMgNTkuNTQ1IDU3LjkxODEgNjAuNDM3TDU3LjkxOTggNjEuNzczNUM1NS4wOTc4IDYyLjY1NzcgNTMuMDUwMyA2NS4yOTMxIDUzLjA1MDMgNjguNDA2N0M1My4wNTAzIDcxLjUyNjQgNTUuMTA1OSA3NC4xNjYxIDU3LjkzNjUgNzUuMDQ1MUw1Ny45MzgyIDc2LjM3MDFDNTUuMTE5IDc3LjI1NiA1My4wNzQxIDc5Ljg5IDUzLjA3NDEgODMuMDAxNkM1My4wNzQxIDg2LjgzOTkgNTYuMTg1NyA4OS45NTE1IDYwLjAyNCA4OS45NTE1QzYzLjg2MjQgODkuOTUxNSA2Ni45NzQgODYuODM5OSA2Ni45NzQgODMuMDAxNkM2Ni45NzQgNzkuODg5MyA2NC45MjgyIDc3LjI1NDkgNjIuMTA4MSA3Ni4zNjk1TDYyLjEwNjQgNzUuMDMxOEM2NC45MTUxIDc0LjEzOTcgNjYuOTUwMiA3MS41MTA4IDY2Ljk1MDIgNjguNDA2N0M2Ni45NTAyIDY1LjI5NjUgNjQuOTA3MSA2Mi42NjM0IDYyLjA4OTggNjEuNzc2NEw2Mi4wODgxIDYwLjQ1MDJDNjQuOTE4NiA1OS41NzEgNjYuOTc0IDU2LjkzMTUgNjYuOTc0IDUzLjgxMTlDNjYuOTc0IDUwLjY5MTEgNjQuOTE3IDQ4LjA1MDggNjIuMDg1IDQ3LjE3MjZMNjIuMDg1IDE0LjAwOTdDNjQuOTA0NyAxMy4xMjQxIDY2Ljk1IDEwLjQ4OTkgNjYuOTUgNy4zNzc5MUM2Ni45NSAzLjUzOTU3IDYzLjgzODQgMC40Mjc5NzkgNjAuMDAwMSAwLjQyNzk3OVpNNTcuMjIwMSA3LjM3NzkxQzU3LjIyMDEgNS44NDI1NyA1OC40NjQ4IDQuNTk3OTQgNjAuMDAwMSA0LjU5Nzk0QzYxLjUzNTQgNC41OTc5NCA2Mi43ODAxIDUuODQyNTcgNjIuNzgwMSA3LjM3NzkxQzYyLjc4MDEgOC45MTMyNCA2MS41MzU0IDEwLjE1NzkgNjAuMDAwMSAxMC4xNTc5QzU4LjQ2NDggMTAuMTU3OSA1Ny4yMjAxIDguOTEzMjQgNTcuMjIwMSA3LjM3NzkxWk01Ny4yNDQxIDgzLjAwMTZDNTcuMjQ0MSA4MS40NjYyIDU4LjQ4ODcgODAuMjIxNiA2MC4wMjQgODAuMjIxNkM2MS41NTk0IDgwLjIyMTYgNjIuODA0IDgxLjQ2NjIgNjIuODA0IDgzLjAwMTZDNjIuODA0IDg0LjUzNjkgNjEuNTU5NCA4NS43ODE1IDYwLjAyNCA4NS43ODE1QzU4LjQ4ODcgODUuNzgxNSA1Ny4yNDQxIDg0LjUzNjkgNTcuMjQ0MSA4My4wMDE2Wk01Ny4yMjAzIDY4LjQwNjdDNTcuMjIwMyA2Ni44NzE0IDU4LjQ2NDkgNjUuNjI2OCA2MC4wMDAzIDY1LjYyNjhDNjEuNTM1NiA2NS42MjY4IDYyLjc4MDIgNjYuODcxNCA2Mi43ODAyIDY4LjQwNjdDNjIuNzgwMiA2OS45NDIxIDYxLjUzNTYgNzEuMTg2NyA2MC4wMDAzIDcxLjE4NjdDNTguNDY0OSA3MS4xODY3IDU3LjIyMDMgNjkuOTQyMSA1Ny4yMjAzIDY4LjQwNjdaTTYwLjAyNCA1MS4wMzE5QzU4LjQ4ODcgNTEuMDMxOSA1Ny4yNDQxIDUyLjI3NjUgNTcuMjQ0MSA1My44MTE5QzU3LjI0NDEgNTUuMzQ3MiA1OC40ODg3IDU2LjU5MTggNjAuMDI0IDU2LjU5MThDNjEuNTU5NCA1Ni41OTE4IDYyLjgwNCA1NS4zNDcyIDYyLjgwNCA1My44MTE5QzYyLjgwNCA1Mi4yNzY1IDYxLjU1OTQgNTEuMDMxOSA2MC4wMjQgNTEuMDMxOVoiIGZpbGw9IiMyNDI5MkUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xOTY6Mjg3OSI+CjxyZWN0IHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjQyNzk3OSkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4=';
35722
35694
 
35723
- var Logo = function () { return (React__default.createElement("div", { style: {
35724
- display: 'flex',
35725
- justifyContent: 'center',
35726
- alignContent: 'center',
35727
- borderRadius: 99999,
35728
- maxHeight: 24,
35729
- maxWidth: 24,
35730
- backgroundColor: 'rgba(0,0,0,0)',
35731
- } },
35732
- React__default.createElement("img", { src: logo, alt: "Pollination Logo", style: {
35733
- maxHeight: 24,
35734
- maxWidth: 24,
35695
+ var Logo = function (_a) {
35696
+ var _b = _a.size, size = _b === void 0 ? 24 : _b;
35697
+ return (React__default.createElement("div", { style: {
35698
+ display: 'flex',
35699
+ justifyContent: 'center',
35700
+ alignContent: 'center',
35701
+ borderRadius: 99999,
35702
+ maxHeight: size,
35703
+ maxWidth: size,
35735
35704
  backgroundColor: 'rgba(0,0,0,0)',
35736
- } }))); };
35705
+ } },
35706
+ React__default.createElement("img", { src: logo, alt: "Pollination Logo", style: {
35707
+ maxHeight: size,
35708
+ maxWidth: size,
35709
+ backgroundColor: 'rgba(0,0,0,0)',
35710
+ } })));
35711
+ };
35737
35712
 
35738
- 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.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}";
35739
- styleInject(css_248z$7);
35713
+ 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}";
35714
+ styleInject(css_248z$5);
35740
35715
 
35741
35716
  var NumberInput = function (_a) {
35742
35717
  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;
@@ -35767,13 +35742,10 @@ var NumberInput = function (_a) {
35767
35742
  React__default.createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35768
35743
  };
35769
35744
 
35770
- 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.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}";
35771
- styleInject(css_248z$6);
35772
-
35773
35745
  var SettingsButton = function (_a) {
35774
35746
  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;
35775
35747
  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); } },
35776
- React__default.createElement("div", { className: "btn-group ".concat(disabled && 'btn-group-disabled') },
35748
+ React__default.createElement(ButtonGroup, { disabled: disabled },
35777
35749
  React__default.createElement("button", { type: 'button', onClick: onClick, disabled: disabled, style: {
35778
35750
  flex: 1,
35779
35751
  } },
@@ -35796,16 +35768,11 @@ var SettingsButton = function (_a) {
35796
35768
  }, disabled: disabled })))));
35797
35769
  };
35798
35770
 
35799
- 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.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}";
35800
- styleInject(css_248z$5);
35771
+ 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}";
35772
+ styleInject(css_248z$4);
35801
35773
 
35802
35774
  var TextInput = function (_a) {
35803
- // const [value, setValue] = useState(inputProps.defaultValue)
35804
35775
  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;
35805
- // const handleChange = (e) => {
35806
- // setValue(e.target.value)
35807
- // onChange && onChange(e)
35808
- // }
35809
35776
  return (React__default.createElement("div", { style: __assign$3(__assign$3({ width: '100%' }, style), { position: 'relative' }), className: "text-input" },
35810
35777
  icon && (React__default.createElement("i", { style: {
35811
35778
  position: 'absolute',
@@ -35831,11 +35798,11 @@ var TextInput = function (_a) {
35831
35798
  React__default.createElement(ArrowClockwise$1, { style: { fill: 'var(--primary)' } }))));
35832
35799
  };
35833
35800
 
35834
- var css_248z$4 = ":root {\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: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}";
35835
- styleInject(css_248z$4);
35801
+ 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}";
35802
+ styleInject(css_248z$3);
35836
35803
 
35837
35804
  var AuthUser = function (config) {
35838
- var _a = useAPIClient(config); _a.client; var authUser = _a.authUser; _a.loading;
35805
+ var authUser = useAPIClient(config).authUser;
35839
35806
  return (React__default.createElement(Avatar, { alt: authUser && authUser.name, src: authUser && authUser.picture, href: authUser && "https://app.pollination.cloud/".concat(authUser.username), fallback: authUser
35840
35807
  && (authUser.name.split(' ').length > 1
35841
35808
  ? authUser.name.split(' ').map(function (n) { return n.charAt(0).toUpperCase(); }).join('')
@@ -39418,17 +39385,17 @@ const $409067139f391064$export$be92b6f5f03c0fe9 = $409067139f391064$export$6eb0f
39418
39385
  const $409067139f391064$export$41fb9f06171c75f4 = $409067139f391064$export$c135dce7b15bbbdc;
39419
39386
  const $409067139f391064$export$7c6e2c02157bb7d2 = $409067139f391064$export$aadde00976f34151;
39420
39387
 
39421
- var css_248z$3 = "@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}";
39422
- styleInject(css_248z$3);
39423
-
39424
- 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.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}";
39388
+ 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}";
39425
39389
  styleInject(css_248z$2);
39426
39390
 
39391
+ 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}";
39392
+ styleInject(css_248z$1);
39393
+
39427
39394
  var ICON_SIZE = 18;
39428
39395
  var Button = function (_a) {
39429
39396
  var children = _a.children, loading = _a.loading, props = __rest$2(_a, ["children", "loading"]);
39430
39397
  return (React__default.createElement("button", __assign$3({ "data-testid": "Button", className: "poll-button" }, props),
39431
- loading && React__default.createElement(ArrowClockwise$1, { className: "spin", size: ICON_SIZE, style: { fill: 'white' } }),
39398
+ loading && !props.disabled && React__default.createElement(ArrowClockwise$1, { className: "spin", size: ICON_SIZE, style: { fill: 'white' } }),
39432
39399
  children));
39433
39400
  };
39434
39401
 
@@ -39610,7 +39577,7 @@ var getFileIcon$1 = function (type) {
39610
39577
 
39611
39578
  var SelectCloudArtifacts = function (_a) {
39612
39579
  var _b, _c;
39613
- var projectOwner = _a.projectOwner, projectName = _a.projectName, onChange = _a.onChange, client = _a.client;
39580
+ var projectOwner = _a.projectOwner, projectName = _a.projectName, fileNameMatch = _a.fileNameMatch, onChange = _a.onChange, client = _a.client;
39614
39581
  var host = getHost();
39615
39582
  var listArtifacts = useArtifacts(projectOwner, projectName, client).listArtifacts;
39616
39583
  var _d = useState(false), loading = _d[0], setLoading = _d[1];
@@ -39622,11 +39589,11 @@ var SelectCloudArtifacts = function (_a) {
39622
39589
  listArtifacts(path)
39623
39590
  .then(function (facts) {
39624
39591
  var folders = facts.filter(function (f) { return f.file_type === 'folder'; });
39625
- var files = facts.filter(function (f) { return f.file_type === 'file'; });
39592
+ var files = facts.filter(function (f) { return f.file_type === 'file' && (f.file_name.match(fileNameMatch) || !fileNameMatch); });
39626
39593
  setArtifacts({ folders: folders, files: files });
39627
39594
  })
39628
39595
  .finally(function () { return setLoading(false); });
39629
- }, [client, host, listArtifacts, path]);
39596
+ }, [client, fileNameMatch, host, listArtifacts, path]);
39630
39597
  useEffect(function () {
39631
39598
  if (!selArtifact)
39632
39599
  return;
@@ -39995,44 +39962,44 @@ var SelectLocalArtifacts = function (_a) {
39995
39962
  };
39996
39963
 
39997
39964
  var ComboFileSelector = function (_a) {
39998
- var projectOwner = _a.projectOwner, projectName = _a.projectName, defaultOption = _a.defaultOption, onChange = _a.onChange, client = _a.client, inputProps = _a.inputProps;
39965
+ 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;
39999
39966
  var host = getHost();
40000
- var _b = useState(defaultOption ? defaultOption : host !== 'web' ? 'get_model' : 'get_cloud'), option = _b[0], setOption = _b[1];
40001
- var disabled = false;
39967
+ var _c = useState(defaultOption ? defaultOption : host !== 'web' ? 'get_model' : 'get_cloud'), option = _c[0], setOption = _c[1];
39968
+ useEffect(function () {
39969
+ setOption(defaultOption);
39970
+ }, [defaultOption]);
40002
39971
  return (React__default.createElement("div", { "data-testid": "ComboFileSelector", style: {
40003
39972
  display: 'flex',
40004
39973
  flexDirection: 'column',
40005
39974
  gap: 8
40006
39975
  } },
40007
- React__default.createElement("div", { className: 'btn-group', style: {
40008
- width: 'fit-content'
40009
- } },
39976
+ React__default.createElement(ButtonGroup, null,
40010
39977
  React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_cloud'); }, style: {
40011
39978
  display: 'flex',
40012
- boxShadow: option === 'get_cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
39979
+ boxShadow: !disabled && option === 'get_cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40013
39980
  } },
40014
39981
  React__default.createElement(CloudPlus$1, null),
40015
39982
  "Cloud"),
40016
39983
  React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_file'); }, style: {
40017
39984
  display: 'flex',
40018
- boxShadow: option === 'get_file' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
39985
+ boxShadow: !disabled && option === 'get_file' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40019
39986
  } },
40020
39987
  React__default.createElement(FileEarmarkArrowUp$1, null),
40021
39988
  "Upload"),
40022
- host !== 'web' &&
40023
- React__default.createElement(React__default.Fragment, null,
40024
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_model'); }, style: {
40025
- display: 'flex',
40026
- boxShadow: option === 'get_model' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40027
- } },
40028
- React__default.createElement(ArrowUpSquare$1, null),
40029
- "CAD"),
40030
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_local'); }, style: {
40031
- display: 'flex',
40032
- boxShadow: option === 'get_local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40033
- } },
40034
- React__default.createElement(Laptop$1, null),
40035
- "Local"))),
39989
+ host !== 'web' || option === 'get_model' &&
39990
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_model'); }, style: {
39991
+ display: 'flex',
39992
+ boxShadow: !disabled && option === 'get_model' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
39993
+ } },
39994
+ React__default.createElement(ArrowUpSquare$1, null),
39995
+ "CAD"),
39996
+ host !== 'web' || option === 'get_local' &&
39997
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('get_local'); }, style: {
39998
+ display: 'flex',
39999
+ boxShadow: !disabled && option === 'get_local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40000
+ } },
40001
+ React__default.createElement(Laptop$1, null),
40002
+ "Local")),
40036
40003
  (function () {
40037
40004
  switch (option) {
40038
40005
  case 'get_file':
@@ -40212,7 +40179,7 @@ var RecipeInputsForm = function (_a) {
40212
40179
  // @ts-ignore
40213
40180
  name: input.name, control: control, render: function (_a) {
40214
40181
  var onChange = _a.field.onChange;
40215
- return (React__default.createElement(RadioList, { items: input.spec.enum, name: input.name, form: recipe.metadata.name, defaultValue: input.default, onChange: onChange }));
40182
+ return (React__default.createElement(RadioList, { items: input.spec.enum, name: input.name, defaultValue: input.default, onChange: onChange }));
40216
40183
  } }) :
40217
40184
  React__default.createElement(TextInput, { inputProps: __assign$3(__assign$3({}, inputProps), { defaultValue: input.default }), reset: handleReset });
40218
40185
  case 'DAGNumberInput':
@@ -40244,51 +40211,9 @@ var RecipeInputsForm = function (_a) {
40244
40211
  }, loading: loading }, "Create Study")))));
40245
40212
  };
40246
40213
 
40247
- 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";
40248
- styleInject(css_248z$1);
40249
-
40250
- var css_248z = "";
40214
+ 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";
40251
40215
  styleInject(css_248z);
40252
40216
 
40253
- // Generated with util/create-component.js
40254
- var ConfigureLocalRun = function (_a) {
40255
- var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b;
40256
- var disabled = false;
40257
- var _c = useState(defaultOption), option = _c[0], setOption = _c[1];
40258
- return (React__default.createElement("div", { style: {
40259
- display: 'flex',
40260
- justifyContent: 'space-between',
40261
- alignItems: 'end'
40262
- } },
40263
- React__default.createElement("div", { className: 'btn-group', style: {
40264
- width: 'fit-content'
40265
- } },
40266
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40267
- display: 'flex',
40268
- boxShadow: option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40269
- } },
40270
- React__default.createElement(CloudPlus$1, null),
40271
- "Cloud"),
40272
- React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40273
- display: 'flex',
40274
- boxShadow: option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40275
- } },
40276
- React__default.createElement(Laptop$1, null),
40277
- "Local")),
40278
- React__default.createElement("div", { style: {
40279
- minWidth: 160,
40280
- maxWidth: 280,
40281
- flex: 1
40282
- } },
40283
- React__default.createElement(Label, { label: "Number of CPUs", disabled: option !== 'local' },
40284
- React__default.createElement(NumberInput, { icon: React__default.createElement(Cpu$1, null), inputProps: {
40285
- min: 0,
40286
- step: 1,
40287
- max: 100,
40288
- disabled: option !== 'local'
40289
- } })))));
40290
- };
40291
-
40292
40217
  var initialState = {
40293
40218
  name: undefined,
40294
40219
  description: undefined,
@@ -40300,7 +40225,6 @@ var defaultStyle = {
40300
40225
  display: 'flex',
40301
40226
  flexDirection: 'column',
40302
40227
  gap: 18,
40303
- backgroundColor: '#FFFAEE'
40304
40228
  };
40305
40229
  var CreateStudy = function (_a) {
40306
40230
  var _b;
@@ -40319,7 +40243,7 @@ var CreateStudy = function (_a) {
40319
40243
  // @ts-ignore
40320
40244
  var projectOwner = !state || !state.account ? undefined : ((_b = state.account.username) !== null && _b !== void 0 ? _b : state.account.account_name);
40321
40245
  var projectSlug = !state || !state.project ? undefined : state.project.slug.split('/')[1];
40322
- var _e = useCreateStudy(projectOwner, projectSlug, client), host = _e.host, createStudy = _e.createStudy;
40246
+ var _e = useCreateStudy(projectOwner, projectSlug, client); _e.host; var createStudy = _e.createStudy;
40323
40247
  useEffect(function () {
40324
40248
  if (!state.recipe)
40325
40249
  return;
@@ -40383,17 +40307,60 @@ var CreateStudy = function (_a) {
40383
40307
  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 })))),
40384
40308
  state.recipe &&
40385
40309
  React__default.createElement(TabPanel, { style: {
40386
- padding: '8px 8px'
40310
+ padding: 8
40387
40311
  } },
40388
40312
  React__default.createElement("div", { style: {
40389
40313
  display: 'flex',
40390
40314
  flexDirection: 'column',
40391
40315
  gap: 24
40392
40316
  } },
40393
- host !== 'web' && React__default.createElement(ConfigureLocalRun, null),
40394
40317
  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 }))))));
40395
40318
  };
40396
40319
 
40320
+ var ConfigureLocalRun = function (_a) {
40321
+ var _b = _a.defaultOption, defaultOption = _b === void 0 ? 'cloud' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
40322
+ var _d = useState(defaultOption), option = _d[0], setOption = _d[1];
40323
+ useEffect(function () {
40324
+ setOption(defaultOption);
40325
+ }, [defaultOption]);
40326
+ return (React__default.createElement("div", { style: {
40327
+ display: 'flex',
40328
+ justifyContent: 'space-between',
40329
+ alignItems: 'end'
40330
+ } },
40331
+ React__default.createElement(ButtonGroup, { wrapperProps: {
40332
+ style: {
40333
+ width: 'fit-content'
40334
+ }
40335
+ } },
40336
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('cloud'); }, style: {
40337
+ display: 'flex',
40338
+ boxShadow: !disabled && option === 'cloud' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40339
+ } },
40340
+ React__default.createElement(CloudPlus$1, null),
40341
+ "Cloud"),
40342
+ React__default.createElement("button", { type: 'button', disabled: disabled, onClick: function () { return setOption('local'); }, style: {
40343
+ display: 'flex',
40344
+ boxShadow: !disabled && option === 'local' ? 'inset 0px 0px 9px 4px #096dd9' : undefined
40345
+ } },
40346
+ React__default.createElement(Laptop$1, null),
40347
+ "Local")),
40348
+ React__default.createElement("div", { style: {
40349
+ minWidth: 160,
40350
+ maxWidth: 280,
40351
+ flex: 1,
40352
+ } },
40353
+ React__default.createElement(Label, { label: "Number of CPUs", disabled: option !== 'local', style: {
40354
+ backgroundColor: 'white'
40355
+ } },
40356
+ React__default.createElement(NumberInput, { icon: React__default.createElement(Cpu$1, null), inputProps: {
40357
+ min: 0,
40358
+ step: 1,
40359
+ max: 100,
40360
+ disabled: option !== 'local'
40361
+ } })))));
40362
+ };
40363
+
40397
40364
  // Generated with util/create-component.js
40398
40365
  var GetModelActions;
40399
40366
  (function (GetModelActions) {
@@ -40674,22 +40641,22 @@ var Action$2;
40674
40641
  var getAction$2 = function (key) {
40675
40642
  switch (key) {
40676
40643
  case 'add':
40677
- return 'BakeGeometry';
40644
+ return 'AddGeometry';
40678
40645
  case 'delete':
40679
- return 'ClearGeometry';
40646
+ return 'DeleteGeometry';
40680
40647
  case 'preview':
40681
- return 'DrawGeometry';
40648
+ return 'PreviewGeometry';
40682
40649
  case 'clear':
40683
- return 'DisableDraw';
40650
+ return 'ClearGeometry';
40684
40651
  case 'subscribe-preview':
40685
- return 'CombinedRendering';
40652
+ return 'SubscribePreviewGeometry';
40686
40653
  }
40687
40654
  };
40688
40655
  var SendGeometry = function (_a) {
40689
40656
  var geometry = _a.geometry, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Geometry' : _b;
40690
40657
  var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action$2.preview), selOpt = _c[0], setSelOpt = _c[1];
40691
40658
  var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40692
- var sendGeometry = useSendGeometry().sendGeometry;
40659
+ var sendMessage = useSendMessage().sendMessage;
40693
40660
  useEffect(function () {
40694
40661
  setSelOpt(defaultAction);
40695
40662
  }, [defaultAction]);
@@ -40697,9 +40664,9 @@ var SendGeometry = function (_a) {
40697
40664
  setKey(defaultKey);
40698
40665
  }, [defaultKey]);
40699
40666
  useEffect(function () {
40700
- if (!sendGeometry || selOpt !== 'subscribe-preview')
40667
+ if (!sendMessage || selOpt !== 'subscribe-preview')
40701
40668
  return;
40702
- sendGeometry('CombinedRendering', {
40669
+ sendMessage('SubscribePreviewGeometry', {
40703
40670
  data: geometry,
40704
40671
  uniqueId: key,
40705
40672
  options: {
@@ -40708,7 +40675,7 @@ var SendGeometry = function (_a) {
40708
40675
  },
40709
40676
  });
40710
40677
  return function () {
40711
- sendGeometry('DisableDraw', {
40678
+ sendMessage('ClearGeometry', {
40712
40679
  data: geometry,
40713
40680
  uniqueId: key,
40714
40681
  options: {
@@ -40717,11 +40684,11 @@ var SendGeometry = function (_a) {
40717
40684
  },
40718
40685
  });
40719
40686
  };
40720
- }, [selOpt, geometry, sendGeometry, key]);
40721
- return (React__default.createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
40722
- if (!sendGeometry)
40687
+ }, [selOpt, geometry, key, sendMessage]);
40688
+ return (React__default.createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40689
+ if (!sendMessage)
40723
40690
  return;
40724
- sendGeometry(getAction$2(selOpt), {
40691
+ sendMessage(getAction$2(selOpt), {
40725
40692
  data: geometry,
40726
40693
  uniqueId: key,
40727
40694
  options: {
@@ -40740,7 +40707,7 @@ var SendGeometry = function (_a) {
40740
40707
  label: 'Preview',
40741
40708
  checked: selOpt === Action$2.preview,
40742
40709
  icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
40743
- disabled: !sendGeometry,
40710
+ disabled: !sendMessage,
40744
40711
  onSelect: function () {
40745
40712
  setSelOpt(function (state) { return (state === Action$2.preview ? undefined : Action$2.preview); });
40746
40713
  },
@@ -40751,7 +40718,7 @@ var SendGeometry = function (_a) {
40751
40718
  label: 'Add',
40752
40719
  checked: selOpt === Action$2.add,
40753
40720
  icon: React__default.createElement(Building$1, { size: 16 }),
40754
- disabled: !sendGeometry,
40721
+ disabled: !sendMessage,
40755
40722
  onSelect: function () {
40756
40723
  setSelOpt(function (state) { return (state === Action$2.add ? undefined : Action$2.add); });
40757
40724
  },
@@ -40762,7 +40729,7 @@ var SendGeometry = function (_a) {
40762
40729
  label: 'Delete',
40763
40730
  checked: selOpt === Action$2.delete,
40764
40731
  icon: React__default.createElement(Trash$1, { size: 16 }),
40765
- disabled: !sendGeometry,
40732
+ disabled: !sendMessage,
40766
40733
  onSelect: function () {
40767
40734
  setSelOpt(function (state) { return (state === Action$2.delete ? undefined : Action$2.delete); });
40768
40735
  },
@@ -40773,7 +40740,7 @@ var SendGeometry = function (_a) {
40773
40740
  label: 'Clear',
40774
40741
  checked: selOpt === Action$2.clear,
40775
40742
  icon: React__default.createElement(Recycle$1, { size: 16 }),
40776
- disabled: !sendGeometry,
40743
+ disabled: !sendMessage,
40777
40744
  onSelect: function () {
40778
40745
  setSelOpt(function (state) { return (state === Action$2.clear ? undefined : Action$2.clear); });
40779
40746
  },
@@ -40784,7 +40751,7 @@ var SendGeometry = function (_a) {
40784
40751
  label: 'Subscribe Preview',
40785
40752
  checked: selOpt === Action$2.subscribePreview,
40786
40753
  icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
40787
- disabled: !sendGeometry,
40754
+ disabled: !sendMessage,
40788
40755
  onSelect: function () {
40789
40756
  setSelOpt(function (state) { return (state === Action$2.subscribePreview ? undefined : Action$2.subscribePreview); });
40790
40757
  },
@@ -40809,13 +40776,13 @@ var Action$1;
40809
40776
  var getAction$1 = function (key) {
40810
40777
  switch (key) {
40811
40778
  case 'add':
40812
- return 'BakePollinationModel';
40779
+ return 'AddHBJSON';
40813
40780
  case 'preview':
40814
- return 'DrawPollinationModel';
40781
+ return 'PreviewHBJSON';
40815
40782
  case 'clear':
40816
- return 'DisableDrawPollinationModel';
40783
+ return 'ClearHBJSON';
40817
40784
  case 'subscribe-preview':
40818
- return 'CombinedRenderingPollinationModel';
40785
+ return 'SubscribePreviewHBJSON';
40819
40786
  }
40820
40787
  };
40821
40788
  var SendModel = function (_a) {
@@ -40832,7 +40799,7 @@ var SendModel = function (_a) {
40832
40799
  useEffect(function () {
40833
40800
  if (!sendHbjson || selOpt !== Action$1.subscribePreview)
40834
40801
  return;
40835
- sendHbjson('CombinedRenderingPollinationModel', {
40802
+ sendHbjson('SubscribePreviewHBJSON', {
40836
40803
  data: hbjson,
40837
40804
  uniqueId: key,
40838
40805
  options: {
@@ -40841,7 +40808,7 @@ var SendModel = function (_a) {
40841
40808
  },
40842
40809
  });
40843
40810
  return function () {
40844
- sendHbjson('DisableDrawPollinationModel', {
40811
+ sendHbjson('ClearHBJSON', {
40845
40812
  data: hbjson,
40846
40813
  uniqueId: key,
40847
40814
  options: {
@@ -40935,18 +40902,18 @@ var getAction = function (key) {
40935
40902
  case 'delete':
40936
40903
  return 'DeleteResults';
40937
40904
  case 'preview':
40938
- return 'DrawResults';
40905
+ return 'PreviewResults';
40939
40906
  case 'clear':
40940
40907
  return 'ClearResults';
40941
40908
  case 'subscribe-preview':
40942
- return 'SubscribeDrawResults';
40909
+ return 'SubscribePreviewResults';
40943
40910
  }
40944
40911
  };
40945
40912
  var SendResults = function (_a) {
40946
40913
  var results = _a.results, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Send Results' : _b;
40947
40914
  var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action.preview), selOpt = _c[0], setSelOpt = _c[1];
40948
40915
  var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
40949
- var sendGeometry = useSendGeometry().sendGeometry;
40916
+ var sendMessage = useSendMessage().sendMessage;
40950
40917
  useEffect(function () {
40951
40918
  setSelOpt(defaultAction);
40952
40919
  }, [defaultAction]);
@@ -40954,9 +40921,9 @@ var SendResults = function (_a) {
40954
40921
  setKey(defaultKey);
40955
40922
  }, [defaultKey]);
40956
40923
  useEffect(function () {
40957
- if (!sendGeometry || selOpt !== Action.subscribePreview)
40924
+ if (!sendMessage || selOpt !== Action.subscribePreview)
40958
40925
  return;
40959
- sendGeometry('SubscribeDrawResults', {
40926
+ sendMessage('SubscribePreviewResults', {
40960
40927
  data: results,
40961
40928
  uniqueId: key,
40962
40929
  options: {
@@ -40965,7 +40932,7 @@ var SendResults = function (_a) {
40965
40932
  },
40966
40933
  });
40967
40934
  return function () {
40968
- sendGeometry('ClearResults', {
40935
+ sendMessage('ClearResults', {
40969
40936
  data: results,
40970
40937
  uniqueId: key,
40971
40938
  options: {
@@ -40974,11 +40941,11 @@ var SendResults = function (_a) {
40974
40941
  },
40975
40942
  });
40976
40943
  };
40977
- }, [key, results, selOpt, sendGeometry]);
40978
- return (React__default.createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
40979
- if (!sendGeometry)
40944
+ }, [key, results, selOpt, sendMessage]);
40945
+ return (React__default.createElement(SettingsButton, { disabled: !sendMessage, onClick: function () {
40946
+ if (!sendMessage)
40980
40947
  return;
40981
- sendGeometry(getAction(selOpt), {
40948
+ sendMessage(getAction(selOpt), {
40982
40949
  data: results,
40983
40950
  uniqueId: key,
40984
40951
  options: {
@@ -40997,7 +40964,7 @@ var SendResults = function (_a) {
40997
40964
  label: 'Preview',
40998
40965
  checked: selOpt === Action.preview,
40999
40966
  icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
41000
- disabled: !sendGeometry,
40967
+ disabled: !sendMessage,
41001
40968
  onSelect: function () {
41002
40969
  setSelOpt(function (state) { return (state === Action.preview ? undefined : Action.preview); });
41003
40970
  },
@@ -41008,7 +40975,7 @@ var SendResults = function (_a) {
41008
40975
  label: 'Add',
41009
40976
  checked: selOpt === Action.add,
41010
40977
  icon: React__default.createElement(Building$1, { size: 16 }),
41011
- disabled: !sendGeometry,
40978
+ disabled: !sendMessage,
41012
40979
  onSelect: function () {
41013
40980
  setSelOpt(function (state) { return (state === Action.add ? undefined : Action.add); });
41014
40981
  },
@@ -41019,7 +40986,7 @@ var SendResults = function (_a) {
41019
40986
  label: 'Delete',
41020
40987
  checked: selOpt === Action.delete,
41021
40988
  icon: React__default.createElement(Trash$1, { size: 16 }),
41022
- disabled: !sendGeometry,
40989
+ disabled: !sendMessage,
41023
40990
  onSelect: function () {
41024
40991
  setSelOpt(function (state) { return (state === Action.delete ? undefined : Action.delete); });
41025
40992
  },
@@ -41030,7 +40997,7 @@ var SendResults = function (_a) {
41030
40997
  label: 'Clear',
41031
40998
  checked: selOpt === Action.clear,
41032
40999
  icon: React__default.createElement(Recycle$1, { size: 16 }),
41033
- disabled: !sendGeometry,
41000
+ disabled: !sendMessage,
41034
41001
  onSelect: function () {
41035
41002
  setSelOpt(function (state) { return (state === Action.clear ? undefined : Action.clear); });
41036
41003
  },
@@ -41041,7 +41008,7 @@ var SendResults = function (_a) {
41041
41008
  label: 'Subscribe Preview',
41042
41009
  checked: selOpt === Action.subscribePreview,
41043
41010
  icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
41044
- disabled: !sendGeometry,
41011
+ disabled: !sendMessage,
41045
41012
  onSelect: function () {
41046
41013
  setSelOpt(function (state) { return (state === Action.subscribePreview ? undefined : Action.subscribePreview); });
41047
41014
  },
@@ -41054,5 +41021,5 @@ var SendResults = function (_a) {
41054
41021
  }], asButtons: true, label: buttonLabel, helpText: "".concat(selOpt ? selOpt.charAt(0).toUpperCase() + selOpt.replace('-', ' ').slice(1) : 'Send', " results.") }));
41055
41022
  };
41056
41023
 
41057
- 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 };
41024
+ 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 };
41058
41025
  //# sourceMappingURL=index.esm.js.map