pollination-react-io 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +111 -111
- package/build/Dropdown/Dropdown.d.ts +7 -2
- package/build/GetModel/GetModel.d.ts +4 -0
- package/build/GetModel/GetModel.types.d.ts +3 -0
- package/build/PreviewBakeGeometry/PreviewBakeGeometry.d.ts +4 -0
- package/build/PreviewBakeGeometry/PreviewBakeGeometry.types.d.ts +4 -0
- package/build/PreviewBakeModel/PreviewBakeModel.d.ts +4 -0
- package/build/PreviewBakeModel/PreviewBakeModel.types.d.ts +4 -0
- package/build/SendGeometry/geometry.d.ts +9 -0
- package/build/SendModel/SendModel.d.ts +4 -0
- package/build/SendModel/SendModel.types.d.ts +3 -0
- package/build/SettingsButton/index.d.ts +2 -2
- package/build/buttons.scss +86 -85
- package/build/hooks/types.d.ts +2 -1
- package/build/index.d.ts +5 -2
- package/build/index.esm.js +208 -191
- package/build/index.esm.js.map +1 -1
- package/build/index.js +209 -192
- package/build/index.js.map +1 -1
- package/build/ts-utils.d.ts +4 -0
- package/build/typography.scss +11 -11
- package/build/variables.scss +18 -18
- package/package.json +96 -95
package/build/index.esm.js
CHANGED
|
@@ -2011,8 +2011,8 @@ var useGetGeometry = function () {
|
|
|
2011
2011
|
var geometryRef = useRef(undefined);
|
|
2012
2012
|
var setReturnVal = useCallback(function (data, force) {
|
|
2013
2013
|
var bytes = new TextEncoder().encode(data.Geometry);
|
|
2014
|
-
if (geometryRef.current) {
|
|
2015
|
-
if (
|
|
2014
|
+
if (!force && geometryRef.current) {
|
|
2015
|
+
if (!lodash_isequal(bytes, geometryRef.current)) {
|
|
2016
2016
|
setGeometry(new Blob([bytes], {
|
|
2017
2017
|
type: 'application/json;charset=utf-8',
|
|
2018
2018
|
}));
|
|
@@ -2140,7 +2140,7 @@ var useSendHbjson = function () {
|
|
|
2140
2140
|
if (preview === void 0) { preview = true; }
|
|
2141
2141
|
if (!checkRuby())
|
|
2142
2142
|
return;
|
|
2143
|
-
var response = sendMessageRuby(__assign$2({ action: preview ? '
|
|
2143
|
+
var response = sendMessageRuby(__assign$2({ action: preview ? 'CombinedRenderingPollinationModel' : 'BakePollinationModel' }, message));
|
|
2144
2144
|
setState(function (state) { return (__assign$2(__assign$2({}, state), { response: response })); });
|
|
2145
2145
|
return response;
|
|
2146
2146
|
}, []);
|
|
@@ -2148,7 +2148,7 @@ var useSendHbjson = function () {
|
|
|
2148
2148
|
if (preview === void 0) { preview = true; }
|
|
2149
2149
|
if (!checkDotNet())
|
|
2150
2150
|
return;
|
|
2151
|
-
var response = sendMessageDotNet(__assign$2({ action: preview ? '
|
|
2151
|
+
var response = sendMessageDotNet(__assign$2({ action: preview ? 'CombinedRenderingPollinationModel' : 'BakePollinationModel' }, message));
|
|
2152
2152
|
setState(function (state) { return (__assign$2(__assign$2({}, state), { response: response })); });
|
|
2153
2153
|
return response;
|
|
2154
2154
|
}, []);
|
|
@@ -2178,7 +2178,7 @@ var useSendGeometry = function () {
|
|
|
2178
2178
|
if (preview === void 0) { preview = true; }
|
|
2179
2179
|
if (!checkRuby())
|
|
2180
2180
|
return;
|
|
2181
|
-
var response = sendMessageRuby(__assign$2({ action: preview ? '
|
|
2181
|
+
var response = sendMessageRuby(__assign$2({ action: preview ? 'CombinedRendering' : 'BakeGeometry' }, message));
|
|
2182
2182
|
setState(function (state) { return (__assign$2(__assign$2({}, state), { response: response })); });
|
|
2183
2183
|
return response;
|
|
2184
2184
|
}, []);
|
|
@@ -2186,7 +2186,7 @@ var useSendGeometry = function () {
|
|
|
2186
2186
|
if (preview === void 0) { preview = true; }
|
|
2187
2187
|
if (!checkDotNet())
|
|
2188
2188
|
return;
|
|
2189
|
-
var response = sendMessageDotNet(__assign$2({ action: preview ? '
|
|
2189
|
+
var response = sendMessageDotNet(__assign$2({ action: preview ? 'CombinedRendering' : 'BakeGeometry' }, message));
|
|
2190
2190
|
setState(function (state) { return (__assign$2(__assign$2({}, state), { response: response })); });
|
|
2191
2191
|
return response;
|
|
2192
2192
|
}, []);
|
|
@@ -2325,10 +2325,10 @@ var useHbjsontoVTK = function () {
|
|
|
2325
2325
|
*/
|
|
2326
2326
|
var b$2="function"===typeof Symbol&&Symbol.for,c$4=b$2?Symbol.for("react.element"):60103,d$4=b$2?Symbol.for("react.portal"):60106,e$3=b$2?Symbol.for("react.fragment"):60107,f$4=b$2?Symbol.for("react.strict_mode"):60108,g$2=b$2?Symbol.for("react.profiler"):60114,h=b$2?Symbol.for("react.provider"):60109,k$1=b$2?Symbol.for("react.context"):60110,l$4=b$2?Symbol.for("react.async_mode"):60111,m$3=b$2?Symbol.for("react.concurrent_mode"):60111,n$5=b$2?Symbol.for("react.forward_ref"):60112,p$2=b$2?Symbol.for("react.suspense"):60113,q$1=b$2?
|
|
2327
2327
|
Symbol.for("react.suspense_list"):60120,r$4=b$2?Symbol.for("react.memo"):60115,t$4=b$2?Symbol.for("react.lazy"):60116,v$1=b$2?Symbol.for("react.block"):60121,w$2=b$2?Symbol.for("react.fundamental"):60117,x$1=b$2?Symbol.for("react.responder"):60118,y$1=b$2?Symbol.for("react.scope"):60119;
|
|
2328
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$4:switch(a=a.type,a){case l$4:case m$3:case e$3:case g$2:case f$4:case p$2:return a;default:switch(a=a&&a.$$typeof,a){case k$1:case n$5:case t$4:case r$4:case h:return a;default:return u}}case d$4:return u}}}function A$1(a){return z(a)===m$3}var AsyncMode=l$4;var ConcurrentMode=m$3;var ContextConsumer=k$1;var ContextProvider=h;var Element=c$4;var ForwardRef=n$5;var Fragment=e$3;var Lazy=t$4;var Memo=r$4;var Portal$1=d$4;
|
|
2329
|
-
var Profiler=g$2;var StrictMode=f$4;var Suspense=p$2;var isAsyncMode=function(a){return A$1(a)||z(a)===l$4};var isConcurrentMode=A$1;var isContextConsumer=function(a){return z(a)===k$1};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$4};var isForwardRef=function(a){return z(a)===n$5};var isFragment=function(a){return z(a)===e$3};var isLazy=function(a){return z(a)===t$4};
|
|
2330
|
-
var isMemo=function(a){return z(a)===r$4};var isPortal=function(a){return z(a)===d$4};var isProfiler=function(a){return z(a)===g$2};var isStrictMode=function(a){return z(a)===f$4};var isSuspense=function(a){return z(a)===p$2};
|
|
2331
|
-
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e$3||a===m$3||a===g$2||a===f$4||a===p$2||a===q$1||"object"===typeof a&&null!==a&&(a.$$typeof===t$4||a.$$typeof===r$4||a.$$typeof===h||a.$$typeof===k$1||a.$$typeof===n$5||a.$$typeof===w$2||a.$$typeof===x$1||a.$$typeof===y$1||a.$$typeof===v$1)};var typeOf=z;
|
|
2328
|
+
function z$1(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$4:switch(a=a.type,a){case l$4:case m$3:case e$3:case g$2:case f$4:case p$2:return a;default:switch(a=a&&a.$$typeof,a){case k$1:case n$5:case t$4:case r$4:case h:return a;default:return u}}case d$4:return u}}}function A$1(a){return z$1(a)===m$3}var AsyncMode=l$4;var ConcurrentMode=m$3;var ContextConsumer=k$1;var ContextProvider=h;var Element=c$4;var ForwardRef=n$5;var Fragment=e$3;var Lazy=t$4;var Memo=r$4;var Portal$1=d$4;
|
|
2329
|
+
var Profiler=g$2;var StrictMode=f$4;var Suspense=p$2;var isAsyncMode=function(a){return A$1(a)||z$1(a)===l$4};var isConcurrentMode=A$1;var isContextConsumer=function(a){return z$1(a)===k$1};var isContextProvider=function(a){return z$1(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$4};var isForwardRef=function(a){return z$1(a)===n$5};var isFragment=function(a){return z$1(a)===e$3};var isLazy=function(a){return z$1(a)===t$4};
|
|
2330
|
+
var isMemo=function(a){return z$1(a)===r$4};var isPortal=function(a){return z$1(a)===d$4};var isProfiler=function(a){return z$1(a)===g$2};var isStrictMode=function(a){return z$1(a)===f$4};var isSuspense=function(a){return z$1(a)===p$2};
|
|
2331
|
+
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e$3||a===m$3||a===g$2||a===f$4||a===p$2||a===q$1||"object"===typeof a&&null!==a&&(a.$$typeof===t$4||a.$$typeof===r$4||a.$$typeof===h||a.$$typeof===k$1||a.$$typeof===n$5||a.$$typeof===w$2||a.$$typeof===x$1||a.$$typeof===y$1||a.$$typeof===v$1)};var typeOf=z$1;
|
|
2332
2332
|
|
|
2333
2333
|
var reactIs_production_min = {
|
|
2334
2334
|
AsyncMode: AsyncMode,
|
|
@@ -4472,9 +4472,9 @@ var ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.c
|
|
|
4472
4472
|
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
4473
4473
|
var C = ReactRemoveScroll;
|
|
4474
4474
|
|
|
4475
|
-
const x=["Enter"," "],b=["ArrowUp","PageDown","End"],R=["ArrowDown","PageUp","Home",...b],y={ltr:["ArrowLeft"],rtl:["ArrowRight"]},[I,k,P]=createCollection("Menu"),[D$1,S]=createContextScope("Menu",[P,l$1,v]);const O=l$1(),T=v(),[L,A]=D$1("Menu");const Menu=e=>{const{__scopeMenu:n,open:o=!1,children:u,onOpenChange:c,modal:i=!0}=e,s=O(n),[l,d]=React.useState(null),p=React.useRef(!1),f=useCallbackRef$1(c),m=useDirection(l,e.dir);return React.useEffect((()=>{const e=()=>{p.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0});},n=()=>p.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0});}}),[]),/*#__PURE__*/React.createElement(Root$3,s,/*#__PURE__*/React.createElement(L,{scope:n,isSubmenu:!1,isUsingKeyboardRef:p,dir:m,open:o,onOpenChange:f,content:l,onContentChange:d,onRootClose:React.useCallback((()=>f(!1)),[f]),modal:i},u))};const MenuSub=n=>{const{__scopeMenu:r,children:o,open:u=!1,onOpenChange:c}=n,i=A("MenuSub",r),s=O(r),[l,d]=React.useState(null),[p,f]=React.useState(null),m=useCallbackRef$1(c);return React.useEffect((()=>(!1===i.open&&m(!1),()=>m(!1))),[i.open,m]),/*#__PURE__*/React.createElement(Root$3,s,/*#__PURE__*/React.createElement(L,{scope:r,isSubmenu:!0,isUsingKeyboardRef:i.isUsingKeyboardRef,dir:i.dir,open:u,onOpenChange:m,content:p,onContentChange:f,onRootClose:i.onRootClose,contentId:useId(),trigger:l,onTriggerChange:d,triggerId:useId(),modal:!1},o))};const MenuAnchor=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=O(t);return React.createElement(Anchor$1,_extends({},o,r,{ref:n}))}));const[F,K]=D$1("MenuContent");const MenuContent=/*#__PURE__*/React.forwardRef(((e,n)=>{const{forceMount:t,...r}=e,o=A("MenuContent",e.__scopeMenu);return React.createElement(I.Provider,{scope:e.__scopeMenu},/*#__PURE__*/React.createElement(Presence,{present:t||o.open},/*#__PURE__*/React.createElement(I.Slot,{scope:e.__scopeMenu},o.isSubmenu?/*#__PURE__*/React.createElement(X,_extends({},r,{ref:n})):/*#__PURE__*/React.createElement(G,_extends({},r,{ref:n})))))}));const G=/*#__PURE__*/React.forwardRef(((e,n)=>A("MenuContent",e.__scopeMenu).modal?/*#__PURE__*/React.createElement(U,_extends({},e,{ref:n})):/*#__PURE__*/React.createElement(V,_extends({},e,{ref:n})))),U=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu),r=React.useRef(null),o=useComposedRefs(n,r);return React.useEffect((()=>{const e=r.current;if(e)return hideOthers(e)}),[]),/*#__PURE__*/React.createElement(B,_extends({},e,{ref:o,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:composeEventHandlers(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)}))})),V=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu);return React.createElement(B,_extends({},e,{ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)}))})),X=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu),r=React.useRef(null),o=useComposedRefs(n,r);return t.isSubmenu?/*#__PURE__*/React.createElement(B,_extends({id:t.contentId,"aria-labelledby":t.triggerId},e,{ref:o,align:"start",side:"rtl"===t.dir?"left":"right",portalled:!0,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var n;t.isUsingKeyboardRef.current&&(null===(n=r.current)||void 0===n||n.focus()),e.preventDefault();},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:composeEventHandlers(e.onFocusOutside,(e=>{e.target!==t.trigger&&t.onOpenChange(!1);})),onEscapeKeyDown:composeEventHandlers(e.onEscapeKeyDown,t.onRootClose),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),r=y[t.dir].includes(e.key);var o;n&&r&&(t.onOpenChange(!1),null===(o=t.trigger)||void 0===o||o.focus(),e.preventDefault());}))})):null})),B=/*#__PURE__*/React.forwardRef(((e,t)=>{const{__scopeMenu:r,loop:u=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:f,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:h,onInteractOutside:x,onDismiss:_,disableOutsideScroll:y,allowPinchZoom:I,portalled:P,...D}=e,S=A("MenuContent",r),L=O(r),K=T(r),G=k(r),[U,V]=React.useState(null),X=React.useRef(null),B=useComposedRefs(t,X,S.onContentChange),Y=React.useRef(0),Z=React.useRef(""),z=React.useRef(0),H=React.useRef(null),W=React.useRef("right"),q=React.useRef(0),N=P?Portal:React.Fragment,Q=y?C:React.Fragment,$=y?{allowPinchZoom:I}:void 0,ee=e=>{var n,t;const r=Z.current+e,o=G().filter((e=>!e.disabled)),u=document.activeElement,c=null===(n=o.find((e=>e.ref.current===u)))||void 0===n?void 0:n.textValue,a=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0]))?n[0]:n,o=t?e.indexOf(t):-1;let u=(c=e,a=Math.max(o,0),c.map(((e,n)=>c[(a+n)%c.length])));var c,a;1===r.length&&(u=u.filter((e=>e!==t)));const i=u.find((e=>e.toLowerCase().startsWith(r.toLowerCase())));return i!==t?i:void 0}(o.map((e=>e.textValue)),r,c),i=null===(t=o.find((e=>e.textValue===a)))||void 0===t?void 0:t.ref.current;!function e(n){Z.current=n,window.clearTimeout(Y.current),""!==n&&(Y.current=window.setTimeout((()=>e("")),1e3));}(r),i&&setTimeout((()=>i.focus()));};React.useEffect((()=>()=>window.clearTimeout(Y.current)),[]),useFocusGuards();const ne=React.useCallback((e=>{var n,t;return W.current===(null===(n=H.current)||void 0===n?void 0:n.side)&&function(e,n){if(!n)return !1;return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,u=n.length-1;e<n.length;u=e++){const c=n[e].x,a=n[e].y,i=n[u].x,s=n[u].y;a>r!=s>r&&t<(i-c)*(r-a)/(s-a)+c&&(o=!o);}return o}({x:e.clientX,y:e.clientY},n)}(e,null===(t=H.current)||void 0===t?void 0:t.area)}),[]);return React.createElement(N,null,/*#__PURE__*/React.createElement(Q,$,/*#__PURE__*/React.createElement(F,{scope:r,searchRef:Z,onItemEnter:React.useCallback((e=>{ne(e)&&e.preventDefault();}),[ne]),onItemLeave:React.useCallback((e=>{var n;ne(e)||(null===(n=X.current)||void 0===n||n.focus(),V(null));}),[ne]),onTriggerLeave:React.useCallback((e=>{ne(e)&&e.preventDefault();}),[ne]),pointerGraceTimerRef:z,onPointerGraceIntentChange:React.useCallback((e=>{H.current=e;}),[])},/*#__PURE__*/React.createElement(FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:composeEventHandlers(s,(e=>{var n;e.preventDefault(),null===(n=X.current)||void 0===n||n.focus();})),onUnmountAutoFocus:l},/*#__PURE__*/React.createElement(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:f,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:h,onInteractOutside:x,onDismiss:_},/*#__PURE__*/React.createElement(Root$5,_extends({asChild:!0},K,{dir:S.dir,orientation:"vertical",loop:u,currentTabStopId:U,onCurrentTabStopIdChange:V,onEntryFocus:e=>{S.isUsingKeyboardRef.current||e.preventDefault();}}),/*#__PURE__*/React.createElement(Content$2,_extends({role:"menu","aria-orientation":"vertical","data-state":j(S.open),dir:S.dir},L,D,{ref:B,style:{outline:"none",...D.style},onKeyDown:composeEventHandlers(D.onKeyDown,(e=>{const n=e.target,t=e.currentTarget.contains(n),r=e.ctrlKey||e.altKey||e.metaKey,o=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&o&&ee(e.key));const u=X.current;if(e.target!==u)return;if(!R.includes(e.key))return;e.preventDefault();const c=G().filter((e=>!e.disabled)).map((e=>e.ref.current));b.includes(e.key)&&c.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(c);})),onBlur:composeEventHandlers(e.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(Y.current),Z.current="");})),onPointerMove:composeEventHandlers(e.onPointerMove,J((e=>{const n=e.target,t=q.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>q.current?"right":"left";W.current=n,q.current=e.clientX;}})))}))))))))}));const MenuLabel=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return React.createElement(Primitive.div,_extends({},r,{ref:n}))}));const MenuItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{disabled:t=!1,onSelect:r,...o}=e,u=React.useRef(null),c=A("MenuItem",e.__scopeMenu),a=K("MenuItem",e.__scopeMenu),i=useComposedRefs(n,u),s=React.useRef(!1);return React.createElement(Y,_extends({},o,{ref:i,disabled:t,onClick:composeEventHandlers(e.onClick,(()=>{const e=u.current;if(!t&&e){const n=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});e.addEventListener("menu.itemSelect",(e=>null==r?void 0:r(e)),{once:!0}),e.dispatchEvent(n),n.defaultPrevented?s.current=!1:c.onRootClose();}})),onPointerDown:n=>{var t;null===(t=e.onPointerDown)||void 0===t||t.call(e,n),s.current=!0;},onPointerUp:composeEventHandlers(e.onPointerUp,(e=>{var n;s.current||null===(n=e.currentTarget)||void 0===n||n.click();})),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{const n=""!==a.searchRef.current;t||n&&" "===e.key||x.includes(e.key)&&(e.currentTarget.click(),e.preventDefault());}))}))}));const Y=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,disabled:r=!1,textValue:u,...c}=e,a=K("MenuItem",t),i=T(t),l=React.useRef(null),d=useComposedRefs(n,l),[p,f]=React.useState("");return React.useEffect((()=>{const e=l.current;var n;e&&f((null!==(n=e.textContent)&&void 0!==n?n:"").trim());}),[c.children]),/*#__PURE__*/React.createElement(I.ItemSlot,{scope:t,disabled:r,textValue:null!=u?u:p},/*#__PURE__*/React.createElement(Item$2,_extends({asChild:!0},i,{focusable:!r}),/*#__PURE__*/React.createElement(Primitive.div,_extends({role:"menuitem","aria-disabled":r||void 0,"data-disabled":r?"":void 0},c,{ref:d,onPointerMove:composeEventHandlers(e.onPointerMove,J((e=>{if(r)a.onItemLeave(e);else if(a.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus();}}))),onPointerLeave:composeEventHandlers(e.onPointerLeave,J((e=>a.onItemLeave(e))))}))))}));const MenuCheckboxItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{checked:t=!1,onCheckedChange:r,...o}=e;return React.createElement(H,{scope:e.__scopeMenu,checked:t},/*#__PURE__*/React.createElement(MenuItem,_extends({role:"menuitemcheckbox","aria-checked":t},o,{ref:n,"data-state":q(t),onSelect:composeEventHandlers(o.onSelect,(()=>null==r?void 0:r(!t)),{checkForDefaultPrevented:!1})})))}));D$1("MenuRadioGroup",{value:void 0,onValueChange:()=>{}});const[H,W]=D$1("MenuItemIndicator",{checked:!1});const MenuItemIndicator=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,u=W("MenuItemIndicator",t);return React.createElement(Presence,{present:r||u.checked},/*#__PURE__*/React.createElement(Primitive.span,_extends({},o,{ref:n,"data-state":q(u.checked)})))}));const MenuArrow=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=O(t);return React.createElement(Arrow$2,_extends({},o,r,{ref:n}))}));function j(e){return e?"open":"closed"}function q(e){return e?"checked":"unchecked"}function J(e){return n=>"mouse"===n.pointerType?e(n):void 0}const Root$2=Menu;const Sub=MenuSub;const Anchor=MenuAnchor;const Content$1=MenuContent;const Label$1=MenuLabel;const Item$1=MenuItem;const CheckboxItem$1=MenuCheckboxItem;const ItemIndicator$1=MenuItemIndicator;const Arrow$1=MenuArrow;
|
|
4475
|
+
const x=["Enter"," "],b=["ArrowUp","PageDown","End"],R=["ArrowDown","PageUp","Home",...b],y={ltr:["ArrowLeft"],rtl:["ArrowRight"]},[I,k,P]=createCollection("Menu"),[D$1,S]=createContextScope("Menu",[P,l$1,v]);const O=l$1(),T=v(),[L,A]=D$1("Menu");const Menu=e=>{const{__scopeMenu:n,open:o=!1,children:u,onOpenChange:c,modal:i=!0}=e,s=O(n),[l,d]=React.useState(null),p=React.useRef(!1),f=useCallbackRef$1(c),m=useDirection(l,e.dir);return React.useEffect((()=>{const e=()=>{p.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0});},n=()=>p.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0});}}),[]),/*#__PURE__*/React.createElement(Root$3,s,/*#__PURE__*/React.createElement(L,{scope:n,isSubmenu:!1,isUsingKeyboardRef:p,dir:m,open:o,onOpenChange:f,content:l,onContentChange:d,onRootClose:React.useCallback((()=>f(!1)),[f]),modal:i},u))};const MenuSub=n=>{const{__scopeMenu:r,children:o,open:u=!1,onOpenChange:c}=n,i=A("MenuSub",r),s=O(r),[l,d]=React.useState(null),[p,f]=React.useState(null),m=useCallbackRef$1(c);return React.useEffect((()=>(!1===i.open&&m(!1),()=>m(!1))),[i.open,m]),/*#__PURE__*/React.createElement(Root$3,s,/*#__PURE__*/React.createElement(L,{scope:r,isSubmenu:!0,isUsingKeyboardRef:i.isUsingKeyboardRef,dir:i.dir,open:u,onOpenChange:m,content:p,onContentChange:f,onRootClose:i.onRootClose,contentId:useId(),trigger:l,onTriggerChange:d,triggerId:useId(),modal:!1},o))};const MenuAnchor=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=O(t);return React.createElement(Anchor$1,_extends({},o,r,{ref:n}))}));const[F,K]=D$1("MenuContent");const MenuContent=/*#__PURE__*/React.forwardRef(((e,n)=>{const{forceMount:t,...r}=e,o=A("MenuContent",e.__scopeMenu);return React.createElement(I.Provider,{scope:e.__scopeMenu},/*#__PURE__*/React.createElement(Presence,{present:t||o.open},/*#__PURE__*/React.createElement(I.Slot,{scope:e.__scopeMenu},o.isSubmenu?/*#__PURE__*/React.createElement(X,_extends({},r,{ref:n})):/*#__PURE__*/React.createElement(G,_extends({},r,{ref:n})))))}));const G=/*#__PURE__*/React.forwardRef(((e,n)=>A("MenuContent",e.__scopeMenu).modal?/*#__PURE__*/React.createElement(U,_extends({},e,{ref:n})):/*#__PURE__*/React.createElement(V,_extends({},e,{ref:n})))),U=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu),r=React.useRef(null),o=useComposedRefs(n,r);return React.useEffect((()=>{const e=r.current;if(e)return hideOthers(e)}),[]),/*#__PURE__*/React.createElement(B,_extends({},e,{ref:o,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:composeEventHandlers(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)}))})),V=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu);return React.createElement(B,_extends({},e,{ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)}))})),X=/*#__PURE__*/React.forwardRef(((e,n)=>{const t=A("MenuContent",e.__scopeMenu),r=React.useRef(null),o=useComposedRefs(n,r);return t.isSubmenu?/*#__PURE__*/React.createElement(B,_extends({id:t.contentId,"aria-labelledby":t.triggerId},e,{ref:o,align:"start",side:"rtl"===t.dir?"left":"right",portalled:!0,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var n;t.isUsingKeyboardRef.current&&(null===(n=r.current)||void 0===n||n.focus()),e.preventDefault();},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:composeEventHandlers(e.onFocusOutside,(e=>{e.target!==t.trigger&&t.onOpenChange(!1);})),onEscapeKeyDown:composeEventHandlers(e.onEscapeKeyDown,t.onRootClose),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),r=y[t.dir].includes(e.key);var o;n&&r&&(t.onOpenChange(!1),null===(o=t.trigger)||void 0===o||o.focus(),e.preventDefault());}))})):null})),B=/*#__PURE__*/React.forwardRef(((e,t)=>{const{__scopeMenu:r,loop:u=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:f,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:h,onInteractOutside:x,onDismiss:_,disableOutsideScroll:y,allowPinchZoom:I,portalled:P,...D}=e,S=A("MenuContent",r),L=O(r),K=T(r),G=k(r),[U,V]=React.useState(null),X=React.useRef(null),B=useComposedRefs(t,X,S.onContentChange),Y=React.useRef(0),Z=React.useRef(""),z=React.useRef(0),H=React.useRef(null),W=React.useRef("right"),q=React.useRef(0),N=P?Portal:React.Fragment,Q=y?C:React.Fragment,$=y?{allowPinchZoom:I}:void 0,ee=e=>{var n,t;const r=Z.current+e,o=G().filter((e=>!e.disabled)),u=document.activeElement,c=null===(n=o.find((e=>e.ref.current===u)))||void 0===n?void 0:n.textValue,a=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0]))?n[0]:n,o=t?e.indexOf(t):-1;let u=(c=e,a=Math.max(o,0),c.map(((e,n)=>c[(a+n)%c.length])));var c,a;1===r.length&&(u=u.filter((e=>e!==t)));const i=u.find((e=>e.toLowerCase().startsWith(r.toLowerCase())));return i!==t?i:void 0}(o.map((e=>e.textValue)),r,c),i=null===(t=o.find((e=>e.textValue===a)))||void 0===t?void 0:t.ref.current;!function e(n){Z.current=n,window.clearTimeout(Y.current),""!==n&&(Y.current=window.setTimeout((()=>e("")),1e3));}(r),i&&setTimeout((()=>i.focus()));};React.useEffect((()=>()=>window.clearTimeout(Y.current)),[]),useFocusGuards();const ne=React.useCallback((e=>{var n,t;return W.current===(null===(n=H.current)||void 0===n?void 0:n.side)&&function(e,n){if(!n)return !1;return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,u=n.length-1;e<n.length;u=e++){const c=n[e].x,a=n[e].y,i=n[u].x,s=n[u].y;a>r!=s>r&&t<(i-c)*(r-a)/(s-a)+c&&(o=!o);}return o}({x:e.clientX,y:e.clientY},n)}(e,null===(t=H.current)||void 0===t?void 0:t.area)}),[]);return React.createElement(N,null,/*#__PURE__*/React.createElement(Q,$,/*#__PURE__*/React.createElement(F,{scope:r,searchRef:Z,onItemEnter:React.useCallback((e=>{ne(e)&&e.preventDefault();}),[ne]),onItemLeave:React.useCallback((e=>{var n;ne(e)||(null===(n=X.current)||void 0===n||n.focus(),V(null));}),[ne]),onTriggerLeave:React.useCallback((e=>{ne(e)&&e.preventDefault();}),[ne]),pointerGraceTimerRef:z,onPointerGraceIntentChange:React.useCallback((e=>{H.current=e;}),[])},/*#__PURE__*/React.createElement(FocusScope,{asChild:!0,trapped:i,onMountAutoFocus:composeEventHandlers(s,(e=>{var n;e.preventDefault(),null===(n=X.current)||void 0===n||n.focus();})),onUnmountAutoFocus:l},/*#__PURE__*/React.createElement(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:f,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:h,onInteractOutside:x,onDismiss:_},/*#__PURE__*/React.createElement(Root$5,_extends({asChild:!0},K,{dir:S.dir,orientation:"vertical",loop:u,currentTabStopId:U,onCurrentTabStopIdChange:V,onEntryFocus:e=>{S.isUsingKeyboardRef.current||e.preventDefault();}}),/*#__PURE__*/React.createElement(Content$2,_extends({role:"menu","aria-orientation":"vertical","data-state":j(S.open),dir:S.dir},L,D,{ref:B,style:{outline:"none",...D.style},onKeyDown:composeEventHandlers(D.onKeyDown,(e=>{const n=e.target,t=e.currentTarget.contains(n),r=e.ctrlKey||e.altKey||e.metaKey,o=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&o&&ee(e.key));const u=X.current;if(e.target!==u)return;if(!R.includes(e.key))return;e.preventDefault();const c=G().filter((e=>!e.disabled)).map((e=>e.ref.current));b.includes(e.key)&&c.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(c);})),onBlur:composeEventHandlers(e.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(Y.current),Z.current="");})),onPointerMove:composeEventHandlers(e.onPointerMove,J((e=>{const n=e.target,t=q.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>q.current?"right":"left";W.current=n,q.current=e.clientX;}})))}))))))))}));const MenuGroup=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return React.createElement(Primitive.div,_extends({role:"group"},r,{ref:n}))}));const MenuLabel=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return React.createElement(Primitive.div,_extends({},r,{ref:n}))}));const MenuItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{disabled:t=!1,onSelect:r,...o}=e,u=React.useRef(null),c=A("MenuItem",e.__scopeMenu),a=K("MenuItem",e.__scopeMenu),i=useComposedRefs(n,u),s=React.useRef(!1);return React.createElement(Y,_extends({},o,{ref:i,disabled:t,onClick:composeEventHandlers(e.onClick,(()=>{const e=u.current;if(!t&&e){const n=new Event("menu.itemSelect",{bubbles:!0,cancelable:!0});e.addEventListener("menu.itemSelect",(e=>null==r?void 0:r(e)),{once:!0}),e.dispatchEvent(n),n.defaultPrevented?s.current=!1:c.onRootClose();}})),onPointerDown:n=>{var t;null===(t=e.onPointerDown)||void 0===t||t.call(e,n),s.current=!0;},onPointerUp:composeEventHandlers(e.onPointerUp,(e=>{var n;s.current||null===(n=e.currentTarget)||void 0===n||n.click();})),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{const n=""!==a.searchRef.current;t||n&&" "===e.key||x.includes(e.key)&&(e.currentTarget.click(),e.preventDefault());}))}))}));const Y=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,disabled:r=!1,textValue:u,...c}=e,a=K("MenuItem",t),i=T(t),l=React.useRef(null),d=useComposedRefs(n,l),[p,f]=React.useState("");return React.useEffect((()=>{const e=l.current;var n;e&&f((null!==(n=e.textContent)&&void 0!==n?n:"").trim());}),[c.children]),/*#__PURE__*/React.createElement(I.ItemSlot,{scope:t,disabled:r,textValue:null!=u?u:p},/*#__PURE__*/React.createElement(Item$2,_extends({asChild:!0},i,{focusable:!r}),/*#__PURE__*/React.createElement(Primitive.div,_extends({role:"menuitem","aria-disabled":r||void 0,"data-disabled":r?"":void 0},c,{ref:d,onPointerMove:composeEventHandlers(e.onPointerMove,J((e=>{if(r)a.onItemLeave(e);else if(a.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus();}}))),onPointerLeave:composeEventHandlers(e.onPointerLeave,J((e=>a.onItemLeave(e))))}))))}));const MenuCheckboxItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{checked:t=!1,onCheckedChange:r,...o}=e;return React.createElement(H,{scope:e.__scopeMenu,checked:t},/*#__PURE__*/React.createElement(MenuItem,_extends({role:"menuitemcheckbox","aria-checked":t},o,{ref:n,"data-state":q(t),onSelect:composeEventHandlers(o.onSelect,(()=>null==r?void 0:r(!t)),{checkForDefaultPrevented:!1})})))}));const[Z,z]=D$1("MenuRadioGroup",{value:void 0,onValueChange:()=>{}});const MenuRadioGroup=/*#__PURE__*/React.forwardRef(((e,n)=>{const{value:r,onValueChange:o,...u}=e,c=useCallbackRef$1(o);return React.createElement(Z,{scope:e.__scopeMenu,value:r,onValueChange:c},/*#__PURE__*/React.createElement(MenuGroup,_extends({},u,{ref:n})))}));const MenuRadioItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{value:t,...r}=e,o=z("MenuRadioItem",e.__scopeMenu),u=t===o.value;return React.createElement(H,{scope:e.__scopeMenu,checked:u},/*#__PURE__*/React.createElement(MenuItem,_extends({role:"menuitemradio","aria-checked":u},r,{ref:n,"data-state":q(u),onSelect:composeEventHandlers(r.onSelect,(()=>{var e;return null===(e=o.onValueChange)||void 0===e?void 0:e.call(o,t)}),{checkForDefaultPrevented:!1})})))}));const[H,W]=D$1("MenuItemIndicator",{checked:!1});const MenuItemIndicator=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,u=W("MenuItemIndicator",t);return React.createElement(Presence,{present:r||u.checked},/*#__PURE__*/React.createElement(Primitive.span,_extends({},o,{ref:n,"data-state":q(u.checked)})))}));const MenuArrow=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=O(t);return React.createElement(Arrow$2,_extends({},o,r,{ref:n}))}));function j(e){return e?"open":"closed"}function q(e){return e?"checked":"unchecked"}function J(e){return n=>"mouse"===n.pointerType?e(n):void 0}const Root$2=Menu;const Sub=MenuSub;const Anchor=MenuAnchor;const Content$1=MenuContent;const Group$1=MenuGroup;const Label$1=MenuLabel;const Item$1=MenuItem;const CheckboxItem$1=MenuCheckboxItem;const RadioGroup$1=MenuRadioGroup;const RadioItem$1=MenuRadioItem;const ItemIndicator$1=MenuItemIndicator;const Arrow$1=MenuArrow;
|
|
4476
4476
|
|
|
4477
|
-
const[s,i$1]=createContextScope("DropdownMenu",[S]);const l=S(),[m,w]=s("DropdownMenu");const DropdownMenu=e=>{const{__scopeDropdownMenu:n,children:r,open:p,defaultOpen:d,onOpenChange:a}=e,s=M("DropdownMenu",n),i=l(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,{scope:n,isRootMenu:!1,open:w,onOpenChange:D,onOpenToggle:g},/*#__PURE__*/React.createElement(Sub,_extends({},i,{open:w,onOpenChange:D}),r)):/*#__PURE__*/React.createElement(f,_extends({},e,{open:w,onOpenChange:D,onOpenToggle:g}),r)};const f=n=>{const{__scopeDropdownMenu:r,children:t,dir:p,open:d,onOpenChange:a,onOpenToggle:s,modal:i=!0}=n,w=l(r),f=React.useRef(null);return React.createElement(m,{scope:r,isRootMenu:!0,triggerId:useId(),triggerRef:f,contentId:useId(),open:d,onOpenChange:a,onOpenToggle:s,modal:i},/*#__PURE__*/React.createElement(Root$2,_extends({},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("DropdownMenuTrigger",t),m=l(t);return i.isRootMenu?/*#__PURE__*/React.createElement(Anchor,_extends({asChild:!0},m),/*#__PURE__*/React.createElement(Primitive.button,_extends({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(e.onPointerDown,(e=>{p||0!==e.button||!1!==e.ctrlKey||(i.open||e.preventDefault(),i.onOpenToggle());})),onKeyDown:composeEventHandlers(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,M]=s("DropdownMenuContent",{isInsideContent:!1});const DropdownMenuContent=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=w("DropdownMenuContent",r),d=l(r),a={...t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)"}};return React.createElement(D,{scope:r,isInsideContent:!0},p.isRootMenu?/*#__PURE__*/React.createElement(g,_extends({__scopeDropdownMenu:r},a,{ref:n})):/*#__PURE__*/React.createElement(Content$1,_extends({},d,a,{ref:n})))}));const g=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,portalled:t=!0,...p}=e,d=w("DropdownMenuContent",r),s=l(r),i=React.useRef(!1);return d.isRootMenu?/*#__PURE__*/React.createElement(Content$1,_extends({id:d.contentId,"aria-labelledby":d.triggerId},s,p,{ref:n,portalled:t,onCloseAutoFocus:composeEventHandlers(e.onCloseAutoFocus,(e=>{var o;i.current||null===(o=d.triggerRef.current)||void 0===o||o.focus(),i.current=!1,e.preventDefault();})),onInteractOutside:composeEventHandlers(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 DropdownMenuLabel=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Label$1,_extends({},p,t,{ref:n}))}));const DropdownMenuItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Item$1,_extends({},p,t,{ref:n}))}));const DropdownMenuCheckboxItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(CheckboxItem$1,_extends({},p,t,{ref:n}))}));const DropdownMenuItemIndicator=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(ItemIndicator$1,_extends({},p,t,{ref:n}))}));const DropdownMenuArrow=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Arrow$1,_extends({},p,t,{ref:n}))}));const Root$1=DropdownMenu;const Trigger=DropdownMenuTrigger;const Content=DropdownMenuContent;const Label=DropdownMenuLabel;const Item=DropdownMenuItem;const CheckboxItem=DropdownMenuCheckboxItem;const ItemIndicator=DropdownMenuItemIndicator;const Arrow=DropdownMenuArrow;
|
|
4477
|
+
const[s,i$1]=createContextScope("DropdownMenu",[S]);const l=S(),[m,w]=s("DropdownMenu");const DropdownMenu=e=>{const{__scopeDropdownMenu:n,children:r,open:p,defaultOpen:d,onOpenChange:a}=e,s=M("DropdownMenu",n),i=l(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,{scope:n,isRootMenu:!1,open:w,onOpenChange:D,onOpenToggle:g},/*#__PURE__*/React.createElement(Sub,_extends({},i,{open:w,onOpenChange:D}),r)):/*#__PURE__*/React.createElement(f,_extends({},e,{open:w,onOpenChange:D,onOpenToggle:g}),r)};const f=n=>{const{__scopeDropdownMenu:r,children:t,dir:p,open:d,onOpenChange:a,onOpenToggle:s,modal:i=!0}=n,w=l(r),f=React.useRef(null);return React.createElement(m,{scope:r,isRootMenu:!0,triggerId:useId(),triggerRef:f,contentId:useId(),open:d,onOpenChange:a,onOpenToggle:s,modal:i},/*#__PURE__*/React.createElement(Root$2,_extends({},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("DropdownMenuTrigger",t),m=l(t);return i.isRootMenu?/*#__PURE__*/React.createElement(Anchor,_extends({asChild:!0},m),/*#__PURE__*/React.createElement(Primitive.button,_extends({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(e.onPointerDown,(e=>{p||0!==e.button||!1!==e.ctrlKey||(i.open||e.preventDefault(),i.onOpenToggle());})),onKeyDown:composeEventHandlers(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,M]=s("DropdownMenuContent",{isInsideContent:!1});const DropdownMenuContent=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=w("DropdownMenuContent",r),d=l(r),a={...t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)"}};return React.createElement(D,{scope:r,isInsideContent:!0},p.isRootMenu?/*#__PURE__*/React.createElement(g,_extends({__scopeDropdownMenu:r},a,{ref:n})):/*#__PURE__*/React.createElement(Content$1,_extends({},d,a,{ref:n})))}));const g=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,portalled:t=!0,...p}=e,d=w("DropdownMenuContent",r),s=l(r),i=React.useRef(!1);return d.isRootMenu?/*#__PURE__*/React.createElement(Content$1,_extends({id:d.contentId,"aria-labelledby":d.triggerId},s,p,{ref:n,portalled:t,onCloseAutoFocus:composeEventHandlers(e.onCloseAutoFocus,(e=>{var o;i.current||null===(o=d.triggerRef.current)||void 0===o||o.focus(),i.current=!1,e.preventDefault();})),onInteractOutside:composeEventHandlers(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(r);return React.createElement(Group$1,_extends({},p,t,{ref:n}))}));const DropdownMenuLabel=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Label$1,_extends({},p,t,{ref:n}))}));const DropdownMenuItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Item$1,_extends({},p,t,{ref:n}))}));const DropdownMenuCheckboxItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(CheckboxItem$1,_extends({},p,t,{ref:n}))}));const DropdownMenuRadioGroup=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(RadioGroup$1,_extends({},p,t,{ref:n}))}));const DropdownMenuRadioItem=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(RadioItem$1,_extends({},p,t,{ref:n}))}));const DropdownMenuItemIndicator=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(ItemIndicator$1,_extends({},p,t,{ref:n}))}));const DropdownMenuArrow=/*#__PURE__*/React.forwardRef(((e,n)=>{const{__scopeDropdownMenu:r,...t}=e,p=l(r);return React.createElement(Arrow$1,_extends({},p,t,{ref:n}))}));const Root$1=DropdownMenu;const Trigger=DropdownMenuTrigger;const Content=DropdownMenuContent;const Group=DropdownMenuGroup;const Label=DropdownMenuLabel;const Item=DropdownMenuItem;const CheckboxItem=DropdownMenuCheckboxItem;const RadioGroup=DropdownMenuRadioGroup;const RadioItem=DropdownMenuRadioItem;const ItemIndicator=DropdownMenuItemIndicator;const Arrow=DropdownMenuArrow;
|
|
4478
4478
|
|
|
4479
4479
|
const e="horizontal",n=["horizontal","vertical"];const Separator=/*#__PURE__*/React.forwardRef(((n,a)=>{const{decorative:p,orientation:l=e,...c}=n,s=i(l)?l:e,u=p?{role:"none"}:{"aria-orientation":"vertical"===s?s:void 0,role:"separator"};return React.createElement(Primitive.div,_extends({"data-orientation":s},u,c,{ref:a}))}));function i(r){return n.includes(r)}Separator.propTypes={orientation(r,o,t){const n=r[o],a=String(n);return n&&!i(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}\`.`}(a,t)):null}};const Root=Separator;
|
|
4480
4480
|
|
|
@@ -4505,48 +4505,75 @@ function styleInject(css, ref) {
|
|
|
4505
4505
|
}
|
|
4506
4506
|
}
|
|
4507
4507
|
|
|
4508
|
-
var css_248z$
|
|
4509
|
-
styleInject(css_248z$
|
|
4508
|
+
var css_248z$2 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary0: #e6f7ff;\n --grey5: #8c8c8c;\n --grey3: #d0d7de;\n --secondary: #fff566;\n --font-color: #494949;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #3c3c3c;\n --font-color: #fafafa;\n }\n}\n.poll-select-content {\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", Segoe UI Symbol, \"Noto Color Emoji\";\n display: flex;\n flex-direction: column;\n width: fit-content;\n background-color: white;\n border: 1px solid var(--grey3);\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;\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 outline: none;\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}";
|
|
4509
|
+
styleInject(css_248z$2);
|
|
4510
4510
|
|
|
4511
4511
|
var Dropdown = function (_a) {
|
|
4512
|
-
var
|
|
4512
|
+
var optionGroups = _a.optionGroups, trigger = _a.trigger, contentProps = _a.contentProps, itemProps = _a.itemProps, _b = _a.arrow, arrow = _b === void 0 ? true : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c;
|
|
4513
|
+
var renderItem = useCallback(function (o) {
|
|
4514
|
+
var _a;
|
|
4515
|
+
switch (o.type) {
|
|
4516
|
+
case 'checkbox':
|
|
4517
|
+
return (React__default.createElement(CheckboxItem, __assign$2({ key: o.id, className: 'poll-select-item', onSelect: function (e) {
|
|
4518
|
+
if (o.onSelect)
|
|
4519
|
+
o.onSelect(o);
|
|
4520
|
+
}, checked: o.checked, disabled: o.disabled }, itemProps),
|
|
4521
|
+
o.checked ?
|
|
4522
|
+
React__default.createElement(ItemIndicator, null,
|
|
4523
|
+
React__default.createElement("div", { style: {
|
|
4524
|
+
display: 'flex',
|
|
4525
|
+
alignItems: 'center',
|
|
4526
|
+
justifyContent: 'center',
|
|
4527
|
+
width: 12,
|
|
4528
|
+
height: 12,
|
|
4529
|
+
} },
|
|
4530
|
+
React__default.createElement(CheckCircle$1, null))) :
|
|
4531
|
+
React__default.createElement("div", { style: {
|
|
4532
|
+
width: 12,
|
|
4533
|
+
minWidth: 12,
|
|
4534
|
+
height: 12
|
|
4535
|
+
} }),
|
|
4536
|
+
o.label));
|
|
4537
|
+
case 'radio':
|
|
4538
|
+
return (React__default.createElement(RadioItem, __assign$2({ key: o.id, className: 'poll-select-item', onSelect: function (e) {
|
|
4539
|
+
if (o.onSelect)
|
|
4540
|
+
o.onSelect(o);
|
|
4541
|
+
}, textValue: o.label, value: o.id, disabled: o.disabled }, itemProps),
|
|
4542
|
+
o.checked ?
|
|
4543
|
+
React__default.createElement(ItemIndicator, null,
|
|
4544
|
+
React__default.createElement("div", { style: {
|
|
4545
|
+
display: 'flex',
|
|
4546
|
+
alignItems: 'center',
|
|
4547
|
+
justifyContent: 'center',
|
|
4548
|
+
width: 12,
|
|
4549
|
+
height: 12,
|
|
4550
|
+
} },
|
|
4551
|
+
React__default.createElement(CheckCircle$1, null))) :
|
|
4552
|
+
React__default.createElement("div", { style: {
|
|
4553
|
+
width: 12,
|
|
4554
|
+
minWidth: 12,
|
|
4555
|
+
height: 12
|
|
4556
|
+
} }),
|
|
4557
|
+
o.label));
|
|
4558
|
+
case 'label':
|
|
4559
|
+
return (React__default.createElement(Label, { key: o.id }, o.label));
|
|
4560
|
+
case 'link':
|
|
4561
|
+
return (React__default.createElement("a", { href: (_a = o.to) !== null && _a !== void 0 ? _a : '/', key: o.id, style: { color: 'unset' } },
|
|
4562
|
+
React__default.createElement(Item, __assign$2({ className: 'poll-select-item', onSelect: function () { return o.onSelect && o.onSelect(o); } }, itemProps), o.label)));
|
|
4563
|
+
default:
|
|
4564
|
+
return (React__default.createElement(Item, __assign$2({ key: o.id, className: 'poll-select-item', onSelect: function (e) { return o.onSelect && o.onSelect(o); } }, itemProps), o.label));
|
|
4565
|
+
}
|
|
4566
|
+
}, [itemProps]);
|
|
4513
4567
|
return (React__default.createElement(Root$1, null,
|
|
4514
4568
|
React__default.createElement(Trigger, { asChild: true, disabled: disabled }, trigger),
|
|
4515
4569
|
React__default.createElement(Content, __assign$2({ className: 'poll-select-content' }, contentProps),
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
o.onSelect(o);
|
|
4524
|
-
}, checked: o.checked }, itemProps),
|
|
4525
|
-
o.checked ?
|
|
4526
|
-
React__default.createElement(ItemIndicator, null,
|
|
4527
|
-
React__default.createElement("div", { style: {
|
|
4528
|
-
display: 'flex',
|
|
4529
|
-
alignItems: 'center',
|
|
4530
|
-
justifyContent: 'center',
|
|
4531
|
-
width: 12,
|
|
4532
|
-
height: 12,
|
|
4533
|
-
} },
|
|
4534
|
-
React__default.createElement(CheckCircle$1, null))) :
|
|
4535
|
-
React__default.createElement("div", { style: {
|
|
4536
|
-
width: 12,
|
|
4537
|
-
minWidth: 12,
|
|
4538
|
-
height: 12
|
|
4539
|
-
} }),
|
|
4540
|
-
o.label));
|
|
4541
|
-
case 'label':
|
|
4542
|
-
return (React__default.createElement(Label, { key: o.id }, o.label));
|
|
4543
|
-
case 'link':
|
|
4544
|
-
return (React__default.createElement("a", { href: (_a = o.to) !== null && _a !== void 0 ? _a : '/', key: o.id, style: { color: 'unset' } },
|
|
4545
|
-
React__default.createElement(Item, __assign$2({ className: 'poll-select-item', onSelect: function () { return o.onSelect && o.onSelect(o); } }, itemProps), o.label)));
|
|
4546
|
-
default:
|
|
4547
|
-
return (React__default.createElement(Item, __assign$2({ key: o.id, className: 'poll-select-item', onSelect: function (e) { return o.onSelect && o.onSelect(o); } }, itemProps), o.label));
|
|
4548
|
-
}
|
|
4549
|
-
}),
|
|
4570
|
+
optionGroups.map(function (group, i, a) { return (React__default.createElement(React__default.Fragment, null,
|
|
4571
|
+
group.type && group.type === 'radio' ?
|
|
4572
|
+
React__default.createElement(RadioGroup, null, group.options.map(renderItem))
|
|
4573
|
+
:
|
|
4574
|
+
group.type && group.type === 'default' ?
|
|
4575
|
+
React__default.createElement(Group, null, group.options.map(renderItem)) :
|
|
4576
|
+
React__default.createElement(React__default.Fragment, null, group.options.map(renderItem)),
|
|
4550
4577
|
i !== a.length - 1 && React__default.createElement(Root, { key: "dropdown-separator-".concat(i), className: 'poll-separator' }))); }),
|
|
4551
4578
|
arrow && React__default.createElement(Arrow, { style: {
|
|
4552
4579
|
fill: 'white',
|
|
@@ -4560,10 +4587,10 @@ var Dropdown = function (_a) {
|
|
|
4560
4587
|
}, offset: 12 }))));
|
|
4561
4588
|
};
|
|
4562
4589
|
|
|
4563
|
-
var css_248z = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary0: #e6f7ff;\n --grey5: #8c8c8c;\n --grey3: #d0d7de;\n --secondary: #fff566;\n --font-color: #494949;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #3c3c3c;\n --font-color: #fafafa;\n }\n}\n.btn-group {\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", Segoe UI Symbol, \"Noto Color Emoji\";\n width: fit-content;\n display: flex;\n border-radius: 4px;\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 button {\n max-width: 260px;\n display: flex;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 6px 10px;\n cursor: pointer;\n float: left;\n transition: background-color 0.125s ease-in-out;\n z-index: 10;\n align-items: center;\n}\n\n.btn-group button:disabled {\n background-color: var(--grey3);\n color: var(--grey5);\n cursor: default;\n border-color: var(--grey5);\n}\n\n.btn-group button:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.btn-group button:last-child:disabled {\n border-left-color: var(--grey5);\n}\n\n.btn-group button:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible {\n outline: none;\n}\n\n.btn-group button: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 background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n background-color: var(--grey3);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
|
|
4564
|
-
styleInject(css_248z);
|
|
4590
|
+
var css_248z$1 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary0: #e6f7ff;\n --grey5: #8c8c8c;\n --grey3: #d0d7de;\n --secondary: #fff566;\n --font-color: #494949;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #3c3c3c;\n --font-color: #fafafa;\n }\n}\n.btn-group {\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", Segoe UI Symbol, \"Noto Color Emoji\";\n width: fit-content;\n display: flex;\n border-radius: 4px;\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 button {\n max-width: 260px;\n display: flex;\n background-color: var(--primary);\n border: 1px solid var(--primary);\n color: white;\n padding: 6px 10px;\n cursor: pointer;\n float: left;\n transition: background-color 0.125s ease-in-out;\n z-index: 10;\n align-items: center;\n gap: 8px;\n}\n\n.btn-group button:disabled {\n background-color: var(--grey3);\n color: var(--grey5);\n cursor: default;\n border-color: var(--grey5);\n}\n\n.btn-group button:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.btn-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.btn-group button:last-child:disabled {\n border-left-color: var(--grey5);\n}\n\n.btn-group button:not(:last-child) {\n border-right: none;\n}\n\n.btn-group button:focus-visible {\n outline: none;\n}\n\n.btn-group button: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 background-color: var(--primary2);\n z-index: 11;\n}\n\n.btn-group-disabled:hover button:hover {\n background-color: var(--grey3);\n}\n\n.options-content {\n font-size: clamp(0.65rem, 8vw - 0.75rem, 0.85rem);\n}";
|
|
4591
|
+
styleInject(css_248z$1);
|
|
4565
4592
|
|
|
4566
|
-
var logo = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMSIgdmlld0JveD0iMCAwIDEyMCAxMjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTY6Mjg3OSkiPgo8cGF0aCBkPSJNNzQuMTMyOSAxOS45MzVDNzEuMjU0NiAxOC4xNjQ0IDY3Ljc1OCAxNy4xNTg2IDY0LjIxMzggMTYuNjM3OUM2MC44ODM5IDE2LjI1MjcgNTkuMDY5NyAxNi4yNiA1NS44ODQyIDE2LjU2NTNDNTIuMjg2IDE3LjAyOTUgNDguODg2NiAxOC4xMjY5IDQ1LjgwMTIgMTkuNzQyMkwzOC45NzQ2IDI0LjYzMzRDMzUuMDMzNSAyOC4zODQ0IDMyLjEwNDcgMzMuMTg5OCAzMC42Mzk3IDM4LjU5NzdDMzAuNTQ0MyAzOC45NTAxIDMwLjI3MDMgMzkuMjI3MSAyOS45MTkxIDM5LjMyNjlDMTguMjE2NiA0Mi42NTM3IDkuMDk3NjYgNTMuMDE3MyA4LjE0ODg1IDY1LjI1MTdDNy45NTgxIDY3LjcxMTUgOC4wNDI1MiA2OS4wNzc5IDguMTQ4ODYgNzEuNDk4OUM4LjYxNTcxIDgyLjEyNzggMTguMjAxOSA5NC4wNDY1IDI5LjkyIDk3LjQyMjlDMzAuMjcwOCA5Ny41MjM5IDMwLjU0NDQgOTcuODAxMSAzMC42Mzk4IDk4LjE1MzVDMzMuOTA2MyAxMTAuMjIxIDQ0LjQzMjYgMTE5LjU1MyA1Ny4yNzI3IDEyMC4zMzJDNTkuNzYzMiAxMjAuNDgzIDYxLjEyMTMgMTIwLjQ2NiA2My41MTk5IDEyMC4yMDdDNzQuNTAyNyAxMTkuMDE3IDg1LjY0MzMgMTA5LjkxNCA4OC44OSA5OC4zMDM2Qzg4Ljk4OTcgOTcuOTQ3IDg5LjI3MTUgOTcuNjY4NyA4OS42Mjk1IDk3LjU3NDJDMTAxLjYgOTQuNDE0MSAxMTAuODA5IDgzLjkyMjYgMTExLjc3OCA3MS4zMjc2TDExMS43OSA3MS4xNjMyQzExMS45NyA2OC44MzQ5IDExMi4wNzYgNjcuNDYxMiAxMTEuNzc4IDY1LjA4MDRDMTEwLjE3MiA1Mi4yNDEzIDEwMS41OCA0Mi4zMTg1IDg5LjYzMDEgMzkuMTc2M0M4OS4yNzIgMzkuMDgyMiA4OC45OTA0IDM4LjgwNDMgODguODg3NiAzOC40NDg2Qzg3LjM0NTQgMzMuMTEyMSA4My4xNTY3IDI2LjkxMDggODAuODY2OSAyNC44OTMyQzc4LjQ5MzYgMjIuODAyIDc3LjAxMTIgMjEuNzA1NSA3NC4xMzI5IDE5LjkzNVoiIGZpbGw9IiNGQUZBRkEiLz4KPHBhdGggZD0iTTU1LjM1NjUgODEuNTQ2M0M1Mi4yMTA2IDg1LjczMjQgNDcuNTk4OCA4OC43NTM5IDQyLjI4MzMgODkuODQ4N0M0Mi4yNzk2IDg5Ljk5ODMgNDIuMjc3NyA5MC4xNDg0IDQyLjI3NzcgOTAuMjk5QzQyLjI3NzcgMTAwLjA4NyA1MC4yMTIzIDEwOC4wMjEgNjAgMTA4LjAyMUM2OS43ODc4IDEwOC4wMjEgNzcuNzIyMyAxMDAuMDg3IDc3LjcyMjMgOTAuMjk5Qzc3LjcyMjMgODAuNTExMiA2OS43ODc4IDcyLjU3NjcgNjAgNzIuNTc2N0M1OS43NzgyIDcyLjU3NjcgNTkuNTU3NCA3Mi41ODA3IDU5LjMzNzUgNzIuNTg4OEM1OC44NzI3IDc0Ljk5MTkgNTguMDE0OCA3Ny4yNTQ4IDU2LjgzMzYgNzkuMzA4QzU3LjY4NDUgNzguNTc3OCA1OC43OTA4IDc4LjEzNjYgNjAgNzguMTM2NkM2Mi42ODY5IDc4LjEzNjYgNjQuODY1IDgwLjMxNDcgNjQuODY1IDgzLjAwMTZDNjQuODY1IDg1LjY4ODQgNjIuNjg2OSA4Ny44NjY1IDYwIDg3Ljg2NjVDNTcuMzEzMiA4Ny44NjY1IDU1LjEzNTEgODUuNjg4NCA1NS4xMzUxIDgzLjAwMTZDNTUuMTM1MSA4Mi40OTQ2IDU1LjIxMjYgODIuMDA1OCA1NS4zNTY1IDgxLjU0NjNaIiBmaWxsPSIjRjJCMjREIi8+CjxwYXRoIGQ9Ik03My4zNTUgMjAuODc1NEM3My43MTk5IDIwLjM1OTEgNzMuNTgxNyAxOS42MjM5IDczLjAxMzggMTkuMzQ1OUM3MC42MDg3IDE4LjE2ODMgNjguMDI0IDE3LjMwMDcgNjUuMzExOSAxNi43OTUyQzY0LjcxMiAxNi42ODM0IDY0LjE2OTkgMTcuMTUyNCA2NC4xNjk5IDE3Ljc2MjZWMjQuMjU2M0M2NC4xNjk5IDI0LjczMDkgNjQuNTA0MiAyNS4xMzc3IDY0Ljk2NTIgMjUuMjUwN0M2Ni41MzY0IDI1LjYzNTggNjguMDQxIDI2LjE5MDUgNjkuNDU4NyAyNi44OTQyQzcwLjA4ODggMjcuMjA3MSA3MC44NjQ0IDI2LjgzNzYgNzEuMDI0OCAyNi4xNTI3QzcxLjQ2NTMgMjQuMjcxOCA3Mi4xOTA2IDIyLjUyMyA3My4zNTUgMjAuODc1NFoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTc4Ljg3MjcgMzUuODcwMkM3OC43ODc2IDM1LjcxNzggNzguNzQxNSAzNS41NDY1IDc4Ljc0MTUgMzUuMzcxOVYzMi44ODkxQzc4Ljc0MTUgMzIuODg4NyA3OC43NDEyIDMyLjg4ODQgNzguNzQwOCAzMi44ODg0VjMyLjg4ODRDNzguNzQwNCAzMi44ODg0IDc4Ljc0MDEgMzIuODg4MSA3OC43NDAxIDMyLjg4NzdDNzguNzQwMiAyOC45NTEgNzkuMTczNCAyNy4wNzAzIDgwLjE5NiAyNS42NDQ4QzgwLjUyMDIgMjUuMTkyNyA4MS4xNzAxIDI1LjE4NjQgODEuNTU1MiAyNS41ODc5Qzg0Ljk3MTYgMjkuMTQ5NyA4Ny41MjQ1IDMzLjU0NjUgODguODc4IDM4LjQ0MkM4OC45NzY3IDM4Ljc5ODggODkuMjU4NyAzOS4wNzcgODkuNjE2NyAzOS4xNzEzQzEwMS4yNDggNDIuMjM3MSAxMTAuMTM1IDUyLjA1MzYgMTExLjgzMSA2NC4xNzlDMTExLjkxMyA2NC43NjYgMTExLjQ0OSA2NS4yNzkzIDExMC44NTcgNjUuMjc5M0gxMDQuNDNDMTAzLjkzMiA2NS4yNzkzIDEwMy41MTMgNjQuOTEyOCAxMDMuNDIzIDY0LjQyMzRDMTAxLjczIDU1LjIxNDYgOTQuMjcyOSA0OC4wMTg5IDg0LjkzMjkgNDYuNzIzNEw4Mi41ODczIDQ2LjM5ODFDODIuMTQ4NCA0Ni4zMzcyIDgxLjgwMiA0NS45OTQ4IDgxLjczNTggNDUuNTU2OEw4MS4zODI1IDQzLjIxNTJDODAuOTg1NSA0MC41ODQyIDgwLjExOTUgMzguMTA2NiA3OC44NzI3IDM1Ljg3MDJaIiBmaWxsPSIjMjQyOTJFIi8+CjxwYXRoIGQ9Ik0zOS4wMDYxIDI0LjcxNzFDMzguOTQ2NyAyNC42NTc4IDM4Ljg1MDggMjQuNjU2NSAzOC43OTAzIDI0LjcxNDdDMzQuODk5MSAyOC40NTUyIDMyLjAwNzIgMzMuMjI3OSAzMC41NTM5IDM4LjU5MjhDMzAuNDU4NSAzOC45NDUxIDMwLjE4NDIgMzkuMjIyMyAyOS44MzMxIDM5LjMyMkMxOC40NzMyIDQyLjU0ODUgOS44MzgxNyA1Mi4yNDUzIDguMTY4NyA2NC4xNzkxQzguMDg2NTggNjQuNzY2MSA4LjU1MDU4IDY1LjI3OTMgOS4xNDMyOSA2NS4yNzkzSDE1LjU3MDFDMTYuMDY3NyA2NS4yNzkzIDE2LjQ4NzEgNjQuOTEyOCAxNi41NzcxIDY0LjQyMzRDMTguMjQyOSA1NS4zNjQxIDI1LjQ4NjYgNDguMjUyNCAzNC42MTQ3IDQ2Ljc5MUwzNi45MDk4IDQ2LjQyMzVDMzcuMzQwOCA0Ni4zNTQ1IDM3LjY3NzIgNDYuMDE0IDM3Ljc0MSA0NS41ODIyTDM4LjA4MDYgNDMuMjgyOEMzOC41MjMyIDQwLjI4NjYgMzkuNTczNiAzNy40ODgxIDQxLjEwMjQgMzUuMDE2M0M0MS4yMDIyIDM0Ljg1NDkgNDEuMjU3IDM0LjY2OTQgNDEuMjU3MyAzNC40Nzk2TDQxLjI1OTkgMzIuODgxN0M0MS4yNTkzIDI4LjA0NzIgNDAuNjA0NiAyNi4zMTU2IDM5LjAwNjEgMjQuNzE3MVYyNC43MTcxWiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBkPSJNNTAuNDYwOSAyNi42Nzg5QzQ5LjgzODUgMjYuOTcwNSA0OS4wODg5IDI2LjYwNzggNDguOTI0MSAyNS45NDA2QzQ4LjQ2MjkgMjQuMDczNiA0Ny43MTI0IDIyLjMzNzIgNDYuNTE5MiAyMC43MDAzQzQ2LjEzOTYgMjAuMTc5NiA0Ni4yODA4IDE5LjQyNjQgNDYuODYzNyAxOS4xNTE3QzQ5LjMxNDkgMTcuOTk2NSA1MS45NDY2IDE3LjE2MSA1NC43MDUgMTYuNjk5QzU1LjI5OTggMTYuNTk5NCA1NS44MyAxNy4wNjY1IDU1LjgzIDE3LjY2OTZWMjQuMTMzOUM1NS44MyAyNC42MTc4IDU1LjQ4MjkgMjUuMDI5OCA1NS4wMTA0IDI1LjEzMzhDNTMuNDIyNCAyNS40ODMzIDUxLjg5OSAyNi4wMDUzIDUwLjQ2MDkgMjYuNjc4OVoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTgxLjM4MjUgOTMuNTk4M0M4MC4wMjEgMTAyLjYyIDczLjE0NjYgMTA5LjgzNyA2NC4zMDI4IDExMS43MTRDNjMuODI2NSAxMTEuODE1IDYzLjQ3NTIgMTEyLjIyOSA2My40NzUyIDExMi43MTZWMTE5LjE3MkM2My40NzUyIDExOS43NzIgNjQuMDAxOCAxMjAuMjM5IDY0LjU5NDkgMTIwLjE0M0M3Ni4zMDg2IDExOC4yNTEgODUuNzY1IDEwOS42MyA4OC44Nzc4IDk4LjM3MjJDODguOTc2NSA5OC4wMTUzIDg5LjI1ODcgOTcuNzM2NSA4OS42MTY3IDk3LjY0MjJDMTAxLjI0NyA5NC41NzY0IDExMC4xMzUgODQuNzU5OCAxMTEuODMxIDcyLjYzNDVDMTExLjkxMyA3Mi4wNDc1IDExMS40NDkgNzEuNTM0MiAxMTAuODU3IDcxLjUzNDJIMTA0LjQzQzEwMy45MzIgNzEuNTM0MiAxMDMuNTEzIDcxLjkwMDcgMTAzLjQyMyA3Mi4zOTAxQzEwMS43MyA4MS41OTg5IDk0LjI3MjkgODguNzk0NiA4NC45MzI5IDkwLjA5MDFMODIuNTg3MyA5MC40MTU0QzgyLjE0ODQgOTAuNDc2MyA4MS44MDIgOTAuODE4NiA4MS43MzU4IDkxLjI1NjdMODEuMzgyNSA5My41OTgzWiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBkPSJNMzQuNjE0NyA5MC4wMjI1QzI1LjQ4NjYgODguNTYxMSAxOC4yNDI5IDgxLjQ0OTQgMTYuNTc3MSA3Mi4zOUMxNi40ODcxIDcxLjkwMDcgMTYuMDY3NyA3MS41MzQyIDE1LjU3MDEgNzEuNTM0Mkg5LjE0MzI5QzguNTUwNTggNzEuNTM0MiA4LjA4NjU4IDcyLjA0NzQgOC4xNjg3IDcyLjYzNDRDOS44MzgxOCA4NC41NjgyIDE4LjQ3MzIgOTQuMjY1IDI5LjgzMzEgOTcuNDkxNUMzMC4xODQyIDk3LjU5MTIgMzAuNDU4NiA5Ny44NjkgMzAuNTU0MSA5OC4yMjE0QzMzLjczMjkgMTA5Ljk1NSA0My43OTQgMTE4Ljg1NiA1Ni4xMzk1IDEyMC4zMTlDNTYuNzIwMSAxMjAuMzg4IDU3LjIyMDMgMTE5LjkyNyA1Ny4yMjAzIDExOS4zNDJWMTEyLjk0QzU3LjIyMDMgMTEyLjQzMiA1Ni44MzgzIDExMi4wMDcgNTYuMzM2MSAxMTEuOTI5QzQ2LjkxMjkgMTEwLjQ1OSAzOS40NzU5IDEwMi45NzcgMzguMDgwNiA5My41MzA3TDM3Ljc0MSA5MS4yMzEzQzM3LjY3NzIgOTAuNzk5NSAzNy4zNDA4IDkwLjQ1ODkgMzYuOTA5OCA5MC4zODk5TDM0LjYxNDcgOTAuMDIyNVoiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZD0iTTgxLjYyODggODYuMTI5QzkxLjQxNjYgODYuMTI5IDk5LjM1MTEgNzguMTk0NSA5OS4zNTExIDY4LjQwNjdDOTkuMzUxMSA1OC42MTg5IDkxLjQxNjYgNTAuNjg0NCA4MS42Mjg4IDUwLjY4NDRDNzEuODQxIDUwLjY4NDQgNjMuOTA2NSA1OC42MTg5IDYzLjkwNjUgNjguNDA2N0M2My45MDY1IDY4LjUzOTYgNjMuOTA4IDY4LjY3MjEgNjMuOTEwOSA2OC44MDQyQzY2LjMzNyA2OS4yNzI2IDY4LjYyMDQgNzAuMTQxNSA3MC42ODk2IDcxLjMzOTVDNzAuMDcyNSA3MC41MjQxIDY5LjcwNjUgNjkuNTA4MSA2OS43MDY1IDY4LjQwNjdDNjkuNzA2NSA2NS43MTk5IDcxLjg4NDYgNjMuNTQxOCA3NC41NzE1IDYzLjU0MThDNzcuMjU4MyA2My41NDE4IDc5LjQzNjQgNjUuNzE5OSA3OS40MzY0IDY4LjQwNjdDNzkuNDM2NCA3MS4wOTM1IDc3LjI1ODMgNzMuMjcxNyA3NC41NzE1IDczLjI3MTdDNzQuMTI0OSA3My4yNzE3IDczLjY5MjMgNzMuMjExNSA3My4yODE0IDczLjA5ODhDNzcuMzI1MSA3Ni4yODc1IDgwLjIxNzEgODAuODcxNSA4MS4yMzEzIDg2LjEyNDdDODEuMzYzNSA4Ni4xMjc2IDgxLjQ5NiA4Ni4xMjkgODEuNjI4OCA4Ni4xMjlaIiBmaWxsPSIjRUIyMjI3Ii8+CjxwYXRoIGQ9Ik03Ny43MTc5IDQ2LjkxMTlDNzcuNzIwOCA0Ni43Nzk4IDc3LjcyMjIgNDYuNjQ3MyA3Ny43MjIyIDQ2LjUxNDRDNzcuNzIyMiAzNi43MjY3IDY5Ljc4NzcgMjguNzkyMSA1OS45OTk5IDI4Ljc5MjFDNTAuMjEyMSAyOC43OTIxIDQyLjI3NzYgMzYuNzI2NyA0Mi4yNzc2IDQ2LjUxNDRDNDIuMjc3NiA1Ni4zMDIyIDUwLjIxMjEgNjQuMjM2NyA1OS45OTk5IDY0LjIzNjdDNjAuMTMyOCA2NC4yMzY3IDYwLjI2NTMgNjQuMjM1MyA2MC4zOTc0IDY0LjIzMjRDNjAuODM1NyA2MS45NjIzIDYxLjYyNDYgNTkuODE3MiA2Mi43MDU2IDU3Ljg1NTZDNjEuOTMyIDU4LjM3NDMgNjEuMDAxMyA1OC42NzY4IDU5Ljk5OTkgNTguNjc2OEM1Ny4zMTMxIDU4LjY3NjggNTUuMTM1IDU2LjQ5ODcgNTUuMTM1IDUzLjgxMTlDNTUuMTM1IDUxLjEyNSA1Ny4zMTMxIDQ4Ljk0NjkgNTkuOTk5OSA0OC45NDY5QzYyLjY4NjcgNDguOTQ2OSA2NC44NjQ5IDUxLjEyNSA2NC44NjQ5IDUzLjgxMTlDNjQuODY0OSA1NC4xMzY0IDY0LjgzMzEgNTQuNDUzNiA2NC43NzI0IDU0Ljc2MDRDNjcuOTU3NSA1MC43Njk4IDcyLjUwODcgNDcuOTE3NiA3Ny43MTc5IDQ2LjkxMTlaIiBmaWxsPSIjMDRBNTRGIi8+CjxwYXRoIGQ9Ik01NS41NjEgNjcuOTU2NEM1NS41NjQ3IDY4LjEwNjEgNTUuNTY2NiA2OC4yNTYyIDU1LjU2NjYgNjguNDA2N0M1NS41NjY2IDc4LjE5NDUgNDcuNjMyIDg2LjEyOSAzNy44NDQzIDg2LjEyOUMyOC4wNTY1IDg2LjEyOSAyMC4xMjE5IDc4LjE5NDUgMjAuMTIxOSA2OC40MDY3QzIwLjEyMTkgNTguNjE4OSAyOC4wNTY1IDUwLjY4NDQgMzcuODQ0MyA1MC42ODQ0QzM4LjA2NiA1MC42ODQ0IDM4LjI4NjggNTAuNjg4NSAzOC41MDY2IDUwLjY5NjVDMzkuNTE0MyA1NS45MDYgNDIuMzY4OSA2MC40NTcgNDYuMzYxOSA2My42NDA4QzQ2LjA0NDggNjMuNTc1OSA0NS43MTY2IDYzLjU0MTggNDUuMzgwNCA2My41NDE4QzQyLjY5MzUgNjMuNTQxOCA0MC41MTU0IDY1LjcxOTkgNDAuNTE1NCA2OC40MDY3QzQwLjUxNTQgNzEuMDkzNSA0Mi42OTM1IDczLjI3MTcgNDUuMzgwNCA3My4yNzE3QzQ4LjA2NzIgNzMuMjcxNyA1MC4yNDUzIDcxLjA5MzUgNTAuMjQ1MyA2OC40MDY3QzUwLjI0NTMgNjcuMzk1OSA0OS45MzcxIDY2LjQ1NzIgNDkuNDA5NSA2NS42NzkzQzUxLjMwNTQgNjYuNzI5MiA1My4zNzM2IDY3LjUwNiA1NS41NjEgNjcuOTU2NFoiIGZpbGw9IiMyREE5RTEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMC4xMDg4IDE2LjA2ODZDMzAuMTA4OCAxMi4yMzAyIDMzLjIyMDQgOS4xMTg2NSAzNy4wNTg3IDkuMTE4NjVDNDAuODk3IDkuMTE4NjUgNDQuMDA4NiAxMi4yMzAyIDQ0LjAwODYgMTYuMDY4NkM0NC4wMDg2IDE3LjM0ODMgNDMuNjYyOCAxOC41NDcyIDQzLjA1OTQgMTkuNTc3TDQzLjQyOTEgMTkuOTQ2N0w0MC40ODA1IDIyLjg5NTNMMzkuOTY3NSAyMi4zODIzQzM5LjA4MjYgMjIuNzkwNyAzOC4wOTczIDIzLjAxODUgMzcuMDU4NyAyMy4wMTg1QzMzLjIyMDQgMjMuMDE4NSAzMC4xMDg4IDE5LjkwNjkgMzAuMTA4OCAxNi4wNjg2Wk0zNy4wNTg3IDEzLjI4ODZDMzUuNTIzNCAxMy4yODg2IDM0LjI3ODcgMTQuNTMzMiAzNC4yNzg3IDE2LjA2ODZDMzQuMjc4NyAxNy42MDM5IDM1LjUyMzQgMTguODQ4NiAzNy4wNTg3IDE4Ljg0ODZDMzguNTk0IDE4Ljg0ODYgMzkuODM4NyAxNy42MDM5IDM5LjgzODcgMTYuMDY4NkMzOS44Mzg3IDE0LjUzMzIgMzguNTk0IDEzLjI4ODYgMzcuMDU4NyAxMy4yODg2WiIgZmlsbD0iIzI0MjkyRSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQzLjI3MyA2MS43ODk3TDQzLjMyMDIgMzIuNTM3NUw0My4zNDUgMzIuNTM3NUM0My4zNDQ3IDI3LjUxMzggNDIuNjY5NiAyNS4wODQ0IDQwLjQ4MDUgMjIuODk1M0w0My40MjkxIDE5Ljk0NjdDNDYuNzk5NSAyMy4zMTcxIDQ3LjUxNSAyNy4xNDIgNDcuNTE1IDMyLjU0MDlINDUuNDExOEw0Ny40OTAyIDMyLjU0NDJMNDcuNDQzIDYxLjc2MDZDNTAuMjg2NiA2Mi42MzE3IDUyLjM1NDMgNjUuMjc3NyA1Mi4zNTQzIDY4LjQwNjdDNTIuMzU0MyA3Mi4yNDUgNDkuMjQyNyA3NS4zNTY2IDQ1LjQwNDQgNzUuMzU2NkM0MS41NjYgNzUuMzU2NiAzOC40NTQ0IDcyLjI0NSAzOC40NTQ0IDY4LjQwNjdDMzguNDU0NCA2NS4zMTE5IDQwLjQ3NzMgNjIuNjg5NSA0My4yNzMgNjEuNzg5N1pNNDUuNDA0NCA2NS42MjY3QzQzLjg2OSA2NS42MjY3IDQyLjYyNDQgNjYuODcxMyA0Mi42MjQ0IDY4LjQwNjdDNDIuNjI0NCA2OS45NDIgNDMuODY5IDcxLjE4NjcgNDUuNDA0NCA3MS4xODY3QzQ2LjkzOTcgNzEuMTg2NyA0OC4xODQzIDY5Ljk0MiA0OC4xODQzIDY4LjQwNjdDNDguMTg0MyA2Ni44NzE0IDQ2LjkzOTcgNjUuNjI2NyA0NS40MDQ0IDY1LjYyNjdaIiBmaWxsPSIjMjQyOTJFIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNzYuNDQ4MyAxNi4wNjg2Qzc2LjQ0ODMgMTIuMjMwMiA3OS41NTk5IDkuMTE4NjUgODMuMzk4MiA5LjExODY1Qzg3LjIzNjYgOS4xMTg2NSA5MC4zNDgxIDEyLjIzMDIgOTAuMzQ4MSAxNi4wNjg2QzkwLjM0ODEgMTkuOTA2OSA4Ny4yMzY2IDIzLjAxODUgODMuMzk4MiAyMy4wMTg1QzgyLjIzODIgMjMuMDE4NSA4MS4xNDQ2IDIyLjczNDMgODAuMTgzMiAyMi4yMzE4TDc5LjUxOTYgMjIuODk1M0M3OS41MTk2IDIyLjg5NTMgNzkuNTE5NiAyMi44OTUzIDc5LjUxOTYgMjIuODk1M0M3Ny4zMzAxIDI1LjA4NDkgNzYuNjU1MyAyNy41MTQ5IDc2LjY1NTMgMzIuNTQwOUw3Ni42NTY3IDMyLjU0MDlWNjEuNzY3NEM3OS40ODg4IDYyLjY0NTUgODEuNTQ1NyA2NS4yODU5IDgxLjU0NTcgNjguNDA2N0M4MS41NDU3IDcyLjI0NSA3OC40MzQxIDc1LjM1NjYgNzQuNTk1OCA3NS4zNTY2QzcwLjc1NzUgNzUuMzU2NiA2Ny42NDU5IDcyLjI0NSA2Ny42NDU5IDY4LjQwNjdDNjcuNjQ1OSA2NS4zMDM2IDY5LjY3OTUgNjIuNjc1NiA3Mi40ODY3IDYxLjc4MjVWMzIuNTQwOUw3Mi40ODU0IDMyLjU0MDlDNzIuNDg1NCAyNy4xNDIgNzMuMjAwNyAyMy4zMTcgNzYuNTcxIDE5Ljk0NjdMNzcuMjM0NyAxOS4yODNDNzYuNzMyNCAxOC4zMjE4IDc2LjQ0ODMgMTcuMjI4MyA3Ni40NDgzIDE2LjA2ODZaTTgzLjM5ODIgMTMuMjg4NkM4MS44NjI5IDEzLjI4ODYgODAuNjE4MiAxNC41MzMyIDgwLjYxODIgMTYuMDY4NkM4MC42MTgyIDE3LjYwMzkgODEuODYyOSAxOC44NDg2IDgzLjM5ODIgMTguODQ4NkM4NC45MzM2IDE4Ljg0ODYgODYuMTc4MiAxNy42MDM5IDg2LjE3ODIgMTYuMDY4NkM4Ni4xNzgyIDE0LjUzMzIgODQuOTMzNiAxMy4yODg2IDgzLjM5ODIgMTMuMjg4NlpNNzQuNTk1OCA2NS42MjY3QzczLjA2MDUgNjUuNjI2NyA3MS44MTU4IDY2Ljg3MTQgNzEuODE1OCA2OC40MDY3QzcxLjgxNTggNjkuOTQyIDczLjA2MDUgNzEuMTg2NyA3NC41OTU4IDcxLjE4NjdDNzYuMTMxMSA3MS4xODY3IDc3LjM3NTggNjkuOTQyIDc3LjM3NTggNjguNDA2N0M3Ny4zNzU4IDY2Ljg3MTQgNzYuMTMxMSA2NS42MjY3IDc0LjU5NTggNjUuNjI2N1oiIGZpbGw9IiMyNDI5MkUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02MC4wMDAxIDAuNDI3OTc5QzU2LjE2MTggMC40Mjc5NzkgNTMuMDUwMiAzLjUzOTU3IDUzLjA1MDIgNy4zNzc5MUM1My4wNTAyIDEwLjQ4OTggNTUuMDk1NCAxMy4xMjQgNTcuOTE1IDE0LjAwOTZMNTcuOTE1IDQ3LjE4NzdDNTUuMTA3OCA0OC4wODA3IDUzLjA3NDEgNTAuNzA4OCA1My4wNzQxIDUzLjgxMTlDNTMuMDc0MSA1Ni45MTYxIDU1LjEwOTMgNTkuNTQ1IDU3LjkxODEgNjAuNDM3TDU3LjkxOTggNjEuNzczNUM1NS4wOTc4IDYyLjY1NzcgNTMuMDUwMyA2NS4yOTMxIDUzLjA1MDMgNjguNDA2N0M1My4wNTAzIDcxLjUyNjQgNTUuMTA1OSA3NC4xNjYxIDU3LjkzNjUgNzUuMDQ1MUw1Ny45MzgyIDc2LjM3MDFDNTUuMTE5IDc3LjI1NiA1My4wNzQxIDc5Ljg5IDUzLjA3NDEgODMuMDAxNkM1My4wNzQxIDg2LjgzOTkgNTYuMTg1NyA4OS45NTE1IDYwLjAyNCA4OS45NTE1QzYzLjg2MjQgODkuOTUxNSA2Ni45NzQgODYuODM5OSA2Ni45NzQgODMuMDAxNkM2Ni45NzQgNzkuODg5MyA2NC45MjgyIDc3LjI1NDkgNjIuMTA4MSA3Ni4zNjk1TDYyLjEwNjQgNzUuMDMxOEM2NC45MTUxIDc0LjEzOTcgNjYuOTUwMiA3MS41MTA4IDY2Ljk1MDIgNjguNDA2N0M2Ni45NTAyIDY1LjI5NjUgNjQuOTA3MSA2Mi42NjM0IDYyLjA4OTggNjEuNzc2NEw2Mi4wODgxIDYwLjQ1MDJDNjQuOTE4NiA1OS41NzEgNjYuOTc0IDU2LjkzMTUgNjYuOTc0IDUzLjgxMTlDNjYuOTc0IDUwLjY5MTEgNjQuOTE3IDQ4LjA1MDggNjIuMDg1IDQ3LjE3MjZMNjIuMDg1IDE0LjAwOTdDNjQuOTA0NyAxMy4xMjQxIDY2Ljk1IDEwLjQ4OTkgNjYuOTUgNy4zNzc5MUM2Ni45NSAzLjUzOTU3IDYzLjgzODQgMC40Mjc5NzkgNjAuMDAwMSAwLjQyNzk3OVpNNTcuMjIwMSA3LjM3NzkxQzU3LjIyMDEgNS44NDI1NyA1OC40NjQ4IDQuNTk3OTQgNjAuMDAwMSA0LjU5Nzk0QzYxLjUzNTQgNC41OTc5NCA2Mi43ODAxIDUuODQyNTcgNjIuNzgwMSA3LjM3NzkxQzYyLjc4MDEgOC45MTMyNCA2MS41MzU0IDEwLjE1NzkgNjAuMDAwMSAxMC4xNTc5QzU4LjQ2NDggMTAuMTU3OSA1Ny4yMjAxIDguOTEzMjQgNTcuMjIwMSA3LjM3NzkxWk01Ny4yNDQxIDgzLjAwMTZDNTcuMjQ0MSA4MS40NjYyIDU4LjQ4ODcgODAuMjIxNiA2MC4wMjQgODAuMjIxNkM2MS41NTk0IDgwLjIyMTYgNjIuODA0IDgxLjQ2NjIgNjIuODA0IDgzLjAwMTZDNjIuODA0IDg0LjUzNjkgNjEuNTU5NCA4NS43ODE1IDYwLjAyNCA4NS43ODE1QzU4LjQ4ODcgODUuNzgxNSA1Ny4yNDQxIDg0LjUzNjkgNTcuMjQ0MSA4My4wMDE2Wk01Ny4yMjAzIDY4LjQwNjdDNTcuMjIwMyA2Ni44NzE0IDU4LjQ2NDkgNjUuNjI2OCA2MC4wMDAzIDY1LjYyNjhDNjEuNTM1NiA2NS42MjY4IDYyLjc4MDIgNjYuODcxNCA2Mi43ODAyIDY4LjQwNjdDNjIuNzgwMiA2OS45NDIxIDYxLjUzNTYgNzEuMTg2NyA2MC4wMDAzIDcxLjE4NjdDNTguNDY0OSA3MS4xODY3IDU3LjIyMDMgNjkuOTQyMSA1Ny4yMjAzIDY4LjQwNjdaTTYwLjAyNCA1MS4wMzE5QzU4LjQ4ODcgNTEuMDMxOSA1Ny4yNDQxIDUyLjI3NjUgNTcuMjQ0MSA1My44MTE5QzU3LjI0NDEgNTUuMzQ3MiA1OC40ODg3IDU2LjU5MTggNjAuMDI0IDU2LjU5MThDNjEuNTU5NCA1Ni41OTE4IDYyLjgwNCA1NS4zNDcyIDYyLjgwNCA1My44MTE5QzYyLjgwNCA1Mi4yNzY1IDYxLjU1OTQgNTEuMDMxOSA2MC4wMjQgNTEuMDMxOVoiIGZpbGw9IiMyNDI5MkUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xOTY6Mjg3OSI+CjxyZWN0IHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjQyNzk3OSkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4=';
|
|
4593
|
+
var logo = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMSIgdmlld0JveD0iMCAwIDEyMCAxMjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTk2OjI4NzkpIj4NCjxwYXRoIGQ9Ik03NC4xMzI5IDE5LjkzNUM3MS4yNTQ2IDE4LjE2NDQgNjcuNzU4IDE3LjE1ODYgNjQuMjEzOCAxNi42Mzc5QzYwLjg4MzkgMTYuMjUyNyA1OS4wNjk3IDE2LjI2IDU1Ljg4NDIgMTYuNTY1M0M1Mi4yODYgMTcuMDI5NSA0OC44ODY2IDE4LjEyNjkgNDUuODAxMiAxOS43NDIyTDM4Ljk3NDYgMjQuNjMzNEMzNS4wMzM1IDI4LjM4NDQgMzIuMTA0NyAzMy4xODk4IDMwLjYzOTcgMzguNTk3N0MzMC41NDQzIDM4Ljk1MDEgMzAuMjcwMyAzOS4yMjcxIDI5LjkxOTEgMzkuMzI2OUMxOC4yMTY2IDQyLjY1MzcgOS4wOTc2NiA1My4wMTczIDguMTQ4ODUgNjUuMjUxN0M3Ljk1ODEgNjcuNzExNSA4LjA0MjUyIDY5LjA3NzkgOC4xNDg4NiA3MS40OTg5QzguNjE1NzEgODIuMTI3OCAxOC4yMDE5IDk0LjA0NjUgMjkuOTIgOTcuNDIyOUMzMC4yNzA4IDk3LjUyMzkgMzAuNTQ0NCA5Ny44MDExIDMwLjYzOTggOTguMTUzNUMzMy45MDYzIDExMC4yMjEgNDQuNDMyNiAxMTkuNTUzIDU3LjI3MjcgMTIwLjMzMkM1OS43NjMyIDEyMC40ODMgNjEuMTIxMyAxMjAuNDY2IDYzLjUxOTkgMTIwLjIwN0M3NC41MDI3IDExOS4wMTcgODUuNjQzMyAxMDkuOTE0IDg4Ljg5IDk4LjMwMzZDODguOTg5NyA5Ny45NDcgODkuMjcxNSA5Ny42Njg3IDg5LjYyOTUgOTcuNTc0MkMxMDEuNiA5NC40MTQxIDExMC44MDkgODMuOTIyNiAxMTEuNzc4IDcxLjMyNzZMMTExLjc5IDcxLjE2MzJDMTExLjk3IDY4LjgzNDkgMTEyLjA3NiA2Ny40NjEyIDExMS43NzggNjUuMDgwNEMxMTAuMTcyIDUyLjI0MTMgMTAxLjU4IDQyLjMxODUgODkuNjMwMSAzOS4xNzYzQzg5LjI3MiAzOS4wODIyIDg4Ljk5MDQgMzguODA0MyA4OC44ODc2IDM4LjQ0ODZDODcuMzQ1NCAzMy4xMTIxIDgzLjE1NjcgMjYuOTEwOCA4MC44NjY5IDI0Ljg5MzJDNzguNDkzNiAyMi44MDIgNzcuMDExMiAyMS43MDU1IDc0LjEzMjkgMTkuOTM1WiIgZmlsbD0iI0ZBRkFGQSIvPg0KPHBhdGggZD0iTTU1LjM1NjUgODEuNTQ2M0M1Mi4yMTA2IDg1LjczMjQgNDcuNTk4OCA4OC43NTM5IDQyLjI4MzMgODkuODQ4N0M0Mi4yNzk2IDg5Ljk5ODMgNDIuMjc3NyA5MC4xNDg0IDQyLjI3NzcgOTAuMjk5QzQyLjI3NzcgMTAwLjA4NyA1MC4yMTIzIDEwOC4wMjEgNjAgMTA4LjAyMUM2OS43ODc4IDEwOC4wMjEgNzcuNzIyMyAxMDAuMDg3IDc3LjcyMjMgOTAuMjk5Qzc3LjcyMjMgODAuNTExMiA2OS43ODc4IDcyLjU3NjcgNjAgNzIuNTc2N0M1OS43NzgyIDcyLjU3NjcgNTkuNTU3NCA3Mi41ODA3IDU5LjMzNzUgNzIuNTg4OEM1OC44NzI3IDc0Ljk5MTkgNTguMDE0OCA3Ny4yNTQ4IDU2LjgzMzYgNzkuMzA4QzU3LjY4NDUgNzguNTc3OCA1OC43OTA4IDc4LjEzNjYgNjAgNzguMTM2NkM2Mi42ODY5IDc4LjEzNjYgNjQuODY1IDgwLjMxNDcgNjQuODY1IDgzLjAwMTZDNjQuODY1IDg1LjY4ODQgNjIuNjg2OSA4Ny44NjY1IDYwIDg3Ljg2NjVDNTcuMzEzMiA4Ny44NjY1IDU1LjEzNTEgODUuNjg4NCA1NS4xMzUxIDgzLjAwMTZDNTUuMTM1MSA4Mi40OTQ2IDU1LjIxMjYgODIuMDA1OCA1NS4zNTY1IDgxLjU0NjNaIiBmaWxsPSIjRjJCMjREIi8+DQo8cGF0aCBkPSJNNzMuMzU1IDIwLjg3NTRDNzMuNzE5OSAyMC4zNTkxIDczLjU4MTcgMTkuNjIzOSA3My4wMTM4IDE5LjM0NTlDNzAuNjA4NyAxOC4xNjgzIDY4LjAyNCAxNy4zMDA3IDY1LjMxMTkgMTYuNzk1MkM2NC43MTIgMTYuNjgzNCA2NC4xNjk5IDE3LjE1MjQgNjQuMTY5OSAxNy43NjI2VjI0LjI1NjNDNjQuMTY5OSAyNC43MzA5IDY0LjUwNDIgMjUuMTM3NyA2NC45NjUyIDI1LjI1MDdDNjYuNTM2NCAyNS42MzU4IDY4LjA0MSAyNi4xOTA1IDY5LjQ1ODcgMjYuODk0MkM3MC4wODg4IDI3LjIwNzEgNzAuODY0NCAyNi44Mzc2IDcxLjAyNDggMjYuMTUyN0M3MS40NjUzIDI0LjI3MTggNzIuMTkwNiAyMi41MjMgNzMuMzU1IDIwLjg3NTRaIiBmaWxsPSIjMjQyOTJFIi8+DQo8cGF0aCBkPSJNNzguODcyNyAzNS44NzAyQzc4Ljc4NzYgMzUuNzE3OCA3OC43NDE1IDM1LjU0NjUgNzguNzQxNSAzNS4zNzE5VjMyLjg4OTFDNzguNzQxNSAzMi44ODg3IDc4Ljc0MTIgMzIuODg4NCA3OC43NDA4IDMyLjg4ODRWMzIuODg4NEM3OC43NDA0IDMyLjg4ODQgNzguNzQwMSAzMi44ODgxIDc4Ljc0MDEgMzIuODg3N0M3OC43NDAyIDI4Ljk1MSA3OS4xNzM0IDI3LjA3MDMgODAuMTk2IDI1LjY0NDhDODAuNTIwMiAyNS4xOTI3IDgxLjE3MDEgMjUuMTg2NCA4MS41NTUyIDI1LjU4NzlDODQuOTcxNiAyOS4xNDk3IDg3LjUyNDUgMzMuNTQ2NSA4OC44NzggMzguNDQyQzg4Ljk3NjcgMzguNzk4OCA4OS4yNTg3IDM5LjA3NyA4OS42MTY3IDM5LjE3MTNDMTAxLjI0OCA0Mi4yMzcxIDExMC4xMzUgNTIuMDUzNiAxMTEuODMxIDY0LjE3OUMxMTEuOTEzIDY0Ljc2NiAxMTEuNDQ5IDY1LjI3OTMgMTEwLjg1NyA2NS4yNzkzSDEwNC40M0MxMDMuOTMyIDY1LjI3OTMgMTAzLjUxMyA2NC45MTI4IDEwMy40MjMgNjQuNDIzNEMxMDEuNzMgNTUuMjE0NiA5NC4yNzI5IDQ4LjAxODkgODQuOTMyOSA0Ni43MjM0TDgyLjU4NzMgNDYuMzk4MUM4Mi4xNDg0IDQ2LjMzNzIgODEuODAyIDQ1Ljk5NDggODEuNzM1OCA0NS41NTY4TDgxLjM4MjUgNDMuMjE1MkM4MC45ODU1IDQwLjU4NDIgODAuMTE5NSAzOC4xMDY2IDc4Ljg3MjcgMzUuODcwMloiIGZpbGw9IiMyNDI5MkUiLz4NCjxwYXRoIGQ9Ik0zOS4wMDYxIDI0LjcxNzFDMzguOTQ2NyAyNC42NTc4IDM4Ljg1MDggMjQuNjU2NSAzOC43OTAzIDI0LjcxNDdDMzQuODk5MSAyOC40NTUyIDMyLjAwNzIgMzMuMjI3OSAzMC41NTM5IDM4LjU5MjhDMzAuNDU4NSAzOC45NDUxIDMwLjE4NDIgMzkuMjIyMyAyOS44MzMxIDM5LjMyMkMxOC40NzMyIDQyLjU0ODUgOS44MzgxNyA1Mi4yNDUzIDguMTY4NyA2NC4xNzkxQzguMDg2NTggNjQuNzY2MSA4LjU1MDU4IDY1LjI3OTMgOS4xNDMyOSA2NS4yNzkzSDE1LjU3MDFDMTYuMDY3NyA2NS4yNzkzIDE2LjQ4NzEgNjQuOTEyOCAxNi41NzcxIDY0LjQyMzRDMTguMjQyOSA1NS4zNjQxIDI1LjQ4NjYgNDguMjUyNCAzNC42MTQ3IDQ2Ljc5MUwzNi45MDk4IDQ2LjQyMzVDMzcuMzQwOCA0Ni4zNTQ1IDM3LjY3NzIgNDYuMDE0IDM3Ljc0MSA0NS41ODIyTDM4LjA4MDYgNDMuMjgyOEMzOC41MjMyIDQwLjI4NjYgMzkuNTczNiAzNy40ODgxIDQxLjEwMjQgMzUuMDE2M0M0MS4yMDIyIDM0Ljg1NDkgNDEuMjU3IDM0LjY2OTQgNDEuMjU3MyAzNC40Nzk2TDQxLjI1OTkgMzIuODgxN0M0MS4yNTkzIDI4LjA0NzIgNDAuNjA0NiAyNi4zMTU2IDM5LjAwNjEgMjQuNzE3MVYyNC43MTcxWiIgZmlsbD0iIzI0MjkyRSIvPg0KPHBhdGggZD0iTTUwLjQ2MDkgMjYuNjc4OUM0OS44Mzg1IDI2Ljk3MDUgNDkuMDg4OSAyNi42MDc4IDQ4LjkyNDEgMjUuOTQwNkM0OC40NjI5IDI0LjA3MzYgNDcuNzEyNCAyMi4zMzcyIDQ2LjUxOTIgMjAuNzAwM0M0Ni4xMzk2IDIwLjE3OTYgNDYuMjgwOCAxOS40MjY0IDQ2Ljg2MzcgMTkuMTUxN0M0OS4zMTQ5IDE3Ljk5NjUgNTEuOTQ2NiAxNy4xNjEgNTQuNzA1IDE2LjY5OUM1NS4yOTk4IDE2LjU5OTQgNTUuODMgMTcuMDY2NSA1NS44MyAxNy42Njk2VjI0LjEzMzlDNTUuODMgMjQuNjE3OCA1NS40ODI5IDI1LjAyOTggNTUuMDEwNCAyNS4xMzM4QzUzLjQyMjQgMjUuNDgzMyA1MS44OTkgMjYuMDA1MyA1MC40NjA5IDI2LjY3ODlaIiBmaWxsPSIjMjQyOTJFIi8+DQo8cGF0aCBkPSJNODEuMzgyNSA5My41OTgzQzgwLjAyMSAxMDIuNjIgNzMuMTQ2NiAxMDkuODM3IDY0LjMwMjggMTExLjcxNEM2My44MjY1IDExMS44MTUgNjMuNDc1MiAxMTIuMjI5IDYzLjQ3NTIgMTEyLjcxNlYxMTkuMTcyQzYzLjQ3NTIgMTE5Ljc3MiA2NC4wMDE4IDEyMC4yMzkgNjQuNTk0OSAxMjAuMTQzQzc2LjMwODYgMTE4LjI1MSA4NS43NjUgMTA5LjYzIDg4Ljg3NzggOTguMzcyMkM4OC45NzY1IDk4LjAxNTMgODkuMjU4NyA5Ny43MzY1IDg5LjYxNjcgOTcuNjQyMkMxMDEuMjQ3IDk0LjU3NjQgMTEwLjEzNSA4NC43NTk4IDExMS44MzEgNzIuNjM0NUMxMTEuOTEzIDcyLjA0NzUgMTExLjQ0OSA3MS41MzQyIDExMC44NTcgNzEuNTM0MkgxMDQuNDNDMTAzLjkzMiA3MS41MzQyIDEwMy41MTMgNzEuOTAwNyAxMDMuNDIzIDcyLjM5MDFDMTAxLjczIDgxLjU5ODkgOTQuMjcyOSA4OC43OTQ2IDg0LjkzMjkgOTAuMDkwMUw4Mi41ODczIDkwLjQxNTRDODIuMTQ4NCA5MC40NzYzIDgxLjgwMiA5MC44MTg2IDgxLjczNTggOTEuMjU2N0w4MS4zODI1IDkzLjU5ODNaIiBmaWxsPSIjMjQyOTJFIi8+DQo8cGF0aCBkPSJNMzQuNjE0NyA5MC4wMjI1QzI1LjQ4NjYgODguNTYxMSAxOC4yNDI5IDgxLjQ0OTQgMTYuNTc3MSA3Mi4zOUMxNi40ODcxIDcxLjkwMDcgMTYuMDY3NyA3MS41MzQyIDE1LjU3MDEgNzEuNTM0Mkg5LjE0MzI5QzguNTUwNTggNzEuNTM0MiA4LjA4NjU4IDcyLjA0NzQgOC4xNjg3IDcyLjYzNDRDOS44MzgxOCA4NC41NjgyIDE4LjQ3MzIgOTQuMjY1IDI5LjgzMzEgOTcuNDkxNUMzMC4xODQyIDk3LjU5MTIgMzAuNDU4NiA5Ny44NjkgMzAuNTU0MSA5OC4yMjE0QzMzLjczMjkgMTA5Ljk1NSA0My43OTQgMTE4Ljg1NiA1Ni4xMzk1IDEyMC4zMTlDNTYuNzIwMSAxMjAuMzg4IDU3LjIyMDMgMTE5LjkyNyA1Ny4yMjAzIDExOS4zNDJWMTEyLjk0QzU3LjIyMDMgMTEyLjQzMiA1Ni44MzgzIDExMi4wMDcgNTYuMzM2MSAxMTEuOTI5QzQ2LjkxMjkgMTEwLjQ1OSAzOS40NzU5IDEwMi45NzcgMzguMDgwNiA5My41MzA3TDM3Ljc0MSA5MS4yMzEzQzM3LjY3NzIgOTAuNzk5NSAzNy4zNDA4IDkwLjQ1ODkgMzYuOTA5OCA5MC4zODk5TDM0LjYxNDcgOTAuMDIyNVoiIGZpbGw9IiMyNDI5MkUiLz4NCjxwYXRoIGQ9Ik04MS42Mjg4IDg2LjEyOUM5MS40MTY2IDg2LjEyOSA5OS4zNTExIDc4LjE5NDUgOTkuMzUxMSA2OC40MDY3Qzk5LjM1MTEgNTguNjE4OSA5MS40MTY2IDUwLjY4NDQgODEuNjI4OCA1MC42ODQ0QzcxLjg0MSA1MC42ODQ0IDYzLjkwNjUgNTguNjE4OSA2My45MDY1IDY4LjQwNjdDNjMuOTA2NSA2OC41Mzk2IDYzLjkwOCA2OC42NzIxIDYzLjkxMDkgNjguODA0MkM2Ni4zMzcgNjkuMjcyNiA2OC42MjA0IDcwLjE0MTUgNzAuNjg5NiA3MS4zMzk1QzcwLjA3MjUgNzAuNTI0MSA2OS43MDY1IDY5LjUwODEgNjkuNzA2NSA2OC40MDY3QzY5LjcwNjUgNjUuNzE5OSA3MS44ODQ2IDYzLjU0MTggNzQuNTcxNSA2My41NDE4Qzc3LjI1ODMgNjMuNTQxOCA3OS40MzY0IDY1LjcxOTkgNzkuNDM2NCA2OC40MDY3Qzc5LjQzNjQgNzEuMDkzNSA3Ny4yNTgzIDczLjI3MTcgNzQuNTcxNSA3My4yNzE3Qzc0LjEyNDkgNzMuMjcxNyA3My42OTIzIDczLjIxMTUgNzMuMjgxNCA3My4wOTg4Qzc3LjMyNTEgNzYuMjg3NSA4MC4yMTcxIDgwLjg3MTUgODEuMjMxMyA4Ni4xMjQ3QzgxLjM2MzUgODYuMTI3NiA4MS40OTYgODYuMTI5IDgxLjYyODggODYuMTI5WiIgZmlsbD0iI0VCMjIyNyIvPg0KPHBhdGggZD0iTTc3LjcxNzkgNDYuOTExOUM3Ny43MjA4IDQ2Ljc3OTggNzcuNzIyMiA0Ni42NDczIDc3LjcyMjIgNDYuNTE0NEM3Ny43MjIyIDM2LjcyNjcgNjkuNzg3NyAyOC43OTIxIDU5Ljk5OTkgMjguNzkyMUM1MC4yMTIxIDI4Ljc5MjEgNDIuMjc3NiAzNi43MjY3IDQyLjI3NzYgNDYuNTE0NEM0Mi4yNzc2IDU2LjMwMjIgNTAuMjEyMSA2NC4yMzY3IDU5Ljk5OTkgNjQuMjM2N0M2MC4xMzI4IDY0LjIzNjcgNjAuMjY1MyA2NC4yMzUzIDYwLjM5NzQgNjQuMjMyNEM2MC44MzU3IDYxLjk2MjMgNjEuNjI0NiA1OS44MTcyIDYyLjcwNTYgNTcuODU1NkM2MS45MzIgNTguMzc0MyA2MS4wMDEzIDU4LjY3NjggNTkuOTk5OSA1OC42NzY4QzU3LjMxMzEgNTguNjc2OCA1NS4xMzUgNTYuNDk4NyA1NS4xMzUgNTMuODExOUM1NS4xMzUgNTEuMTI1IDU3LjMxMzEgNDguOTQ2OSA1OS45OTk5IDQ4Ljk0NjlDNjIuNjg2NyA0OC45NDY5IDY0Ljg2NDkgNTEuMTI1IDY0Ljg2NDkgNTMuODExOUM2NC44NjQ5IDU0LjEzNjQgNjQuODMzMSA1NC40NTM2IDY0Ljc3MjQgNTQuNzYwNEM2Ny45NTc1IDUwLjc2OTggNzIuNTA4NyA0Ny45MTc2IDc3LjcxNzkgNDYuOTExOVoiIGZpbGw9IiMwNEE1NEYiLz4NCjxwYXRoIGQ9Ik01NS41NjEgNjcuOTU2NEM1NS41NjQ3IDY4LjEwNjEgNTUuNTY2NiA2OC4yNTYyIDU1LjU2NjYgNjguNDA2N0M1NS41NjY2IDc4LjE5NDUgNDcuNjMyIDg2LjEyOSAzNy44NDQzIDg2LjEyOUMyOC4wNTY1IDg2LjEyOSAyMC4xMjE5IDc4LjE5NDUgMjAuMTIxOSA2OC40MDY3QzIwLjEyMTkgNTguNjE4OSAyOC4wNTY1IDUwLjY4NDQgMzcuODQ0MyA1MC42ODQ0QzM4LjA2NiA1MC42ODQ0IDM4LjI4NjggNTAuNjg4NSAzOC41MDY2IDUwLjY5NjVDMzkuNTE0MyA1NS45MDYgNDIuMzY4OSA2MC40NTcgNDYuMzYxOSA2My42NDA4QzQ2LjA0NDggNjMuNTc1OSA0NS43MTY2IDYzLjU0MTggNDUuMzgwNCA2My41NDE4QzQyLjY5MzUgNjMuNTQxOCA0MC41MTU0IDY1LjcxOTkgNDAuNTE1NCA2OC40MDY3QzQwLjUxNTQgNzEuMDkzNSA0Mi42OTM1IDczLjI3MTcgNDUuMzgwNCA3My4yNzE3QzQ4LjA2NzIgNzMuMjcxNyA1MC4yNDUzIDcxLjA5MzUgNTAuMjQ1MyA2OC40MDY3QzUwLjI0NTMgNjcuMzk1OSA0OS45MzcxIDY2LjQ1NzIgNDkuNDA5NSA2NS42NzkzQzUxLjMwNTQgNjYuNzI5MiA1My4zNzM2IDY3LjUwNiA1NS41NjEgNjcuOTU2NFoiIGZpbGw9IiMyREE5RTEiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMTA4OCAxNi4wNjg2QzMwLjEwODggMTIuMjMwMiAzMy4yMjA0IDkuMTE4NjUgMzcuMDU4NyA5LjExODY1QzQwLjg5NyA5LjExODY1IDQ0LjAwODYgMTIuMjMwMiA0NC4wMDg2IDE2LjA2ODZDNDQuMDA4NiAxNy4zNDgzIDQzLjY2MjggMTguNTQ3MiA0My4wNTk0IDE5LjU3N0w0My40MjkxIDE5Ljk0NjdMNDAuNDgwNSAyMi44OTUzTDM5Ljk2NzUgMjIuMzgyM0MzOS4wODI2IDIyLjc5MDcgMzguMDk3MyAyMy4wMTg1IDM3LjA1ODcgMjMuMDE4NUMzMy4yMjA0IDIzLjAxODUgMzAuMTA4OCAxOS45MDY5IDMwLjEwODggMTYuMDY4NlpNMzcuMDU4NyAxMy4yODg2QzM1LjUyMzQgMTMuMjg4NiAzNC4yNzg3IDE0LjUzMzIgMzQuMjc4NyAxNi4wNjg2QzM0LjI3ODcgMTcuNjAzOSAzNS41MjM0IDE4Ljg0ODYgMzcuMDU4NyAxOC44NDg2QzM4LjU5NCAxOC44NDg2IDM5LjgzODcgMTcuNjAzOSAzOS44Mzg3IDE2LjA2ODZDMzkuODM4NyAxNC41MzMyIDM4LjU5NCAxMy4yODg2IDM3LjA1ODcgMTMuMjg4NloiIGZpbGw9IiMyNDI5MkUiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDMuMjczIDYxLjc4OTdMNDMuMzIwMiAzMi41Mzc1TDQzLjM0NSAzMi41Mzc1QzQzLjM0NDcgMjcuNTEzOCA0Mi42Njk2IDI1LjA4NDQgNDAuNDgwNSAyMi44OTUzTDQzLjQyOTEgMTkuOTQ2N0M0Ni43OTk1IDIzLjMxNzEgNDcuNTE1IDI3LjE0MiA0Ny41MTUgMzIuNTQwOUg0NS40MTE4TDQ3LjQ5MDIgMzIuNTQ0Mkw0Ny40NDMgNjEuNzYwNkM1MC4yODY2IDYyLjYzMTcgNTIuMzU0MyA2NS4yNzc3IDUyLjM1NDMgNjguNDA2N0M1Mi4zNTQzIDcyLjI0NSA0OS4yNDI3IDc1LjM1NjYgNDUuNDA0NCA3NS4zNTY2QzQxLjU2NiA3NS4zNTY2IDM4LjQ1NDQgNzIuMjQ1IDM4LjQ1NDQgNjguNDA2N0MzOC40NTQ0IDY1LjMxMTkgNDAuNDc3MyA2Mi42ODk1IDQzLjI3MyA2MS43ODk3Wk00NS40MDQ0IDY1LjYyNjdDNDMuODY5IDY1LjYyNjcgNDIuNjI0NCA2Ni44NzEzIDQyLjYyNDQgNjguNDA2N0M0Mi42MjQ0IDY5Ljk0MiA0My44NjkgNzEuMTg2NyA0NS40MDQ0IDcxLjE4NjdDNDYuOTM5NyA3MS4xODY3IDQ4LjE4NDMgNjkuOTQyIDQ4LjE4NDMgNjguNDA2N0M0OC4xODQzIDY2Ljg3MTQgNDYuOTM5NyA2NS42MjY3IDQ1LjQwNDQgNjUuNjI2N1oiIGZpbGw9IiMyNDI5MkUiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNzYuNDQ4MyAxNi4wNjg2Qzc2LjQ0ODMgMTIuMjMwMiA3OS41NTk5IDkuMTE4NjUgODMuMzk4MiA5LjExODY1Qzg3LjIzNjYgOS4xMTg2NSA5MC4zNDgxIDEyLjIzMDIgOTAuMzQ4MSAxNi4wNjg2QzkwLjM0ODEgMTkuOTA2OSA4Ny4yMzY2IDIzLjAxODUgODMuMzk4MiAyMy4wMTg1QzgyLjIzODIgMjMuMDE4NSA4MS4xNDQ2IDIyLjczNDMgODAuMTgzMiAyMi4yMzE4TDc5LjUxOTYgMjIuODk1M0M3OS41MTk2IDIyLjg5NTMgNzkuNTE5NiAyMi44OTUzIDc5LjUxOTYgMjIuODk1M0M3Ny4zMzAxIDI1LjA4NDkgNzYuNjU1MyAyNy41MTQ5IDc2LjY1NTMgMzIuNTQwOUw3Ni42NTY3IDMyLjU0MDlWNjEuNzY3NEM3OS40ODg4IDYyLjY0NTUgODEuNTQ1NyA2NS4yODU5IDgxLjU0NTcgNjguNDA2N0M4MS41NDU3IDcyLjI0NSA3OC40MzQxIDc1LjM1NjYgNzQuNTk1OCA3NS4zNTY2QzcwLjc1NzUgNzUuMzU2NiA2Ny42NDU5IDcyLjI0NSA2Ny42NDU5IDY4LjQwNjdDNjcuNjQ1OSA2NS4zMDM2IDY5LjY3OTUgNjIuNjc1NiA3Mi40ODY3IDYxLjc4MjVWMzIuNTQwOUw3Mi40ODU0IDMyLjU0MDlDNzIuNDg1NCAyNy4xNDIgNzMuMjAwNyAyMy4zMTcgNzYuNTcxIDE5Ljk0NjdMNzcuMjM0NyAxOS4yODNDNzYuNzMyNCAxOC4zMjE4IDc2LjQ0ODMgMTcuMjI4MyA3Ni40NDgzIDE2LjA2ODZaTTgzLjM5ODIgMTMuMjg4NkM4MS44NjI5IDEzLjI4ODYgODAuNjE4MiAxNC41MzMyIDgwLjYxODIgMTYuMDY4NkM4MC42MTgyIDE3LjYwMzkgODEuODYyOSAxOC44NDg2IDgzLjM5ODIgMTguODQ4NkM4NC45MzM2IDE4Ljg0ODYgODYuMTc4MiAxNy42MDM5IDg2LjE3ODIgMTYuMDY4NkM4Ni4xNzgyIDE0LjUzMzIgODQuOTMzNiAxMy4yODg2IDgzLjM5ODIgMTMuMjg4NlpNNzQuNTk1OCA2NS42MjY3QzczLjA2MDUgNjUuNjI2NyA3MS44MTU4IDY2Ljg3MTQgNzEuODE1OCA2OC40MDY3QzcxLjgxNTggNjkuOTQyIDczLjA2MDUgNzEuMTg2NyA3NC41OTU4IDcxLjE4NjdDNzYuMTMxMSA3MS4xODY3IDc3LjM3NTggNjkuOTQyIDc3LjM3NTggNjguNDA2N0M3Ny4zNzU4IDY2Ljg3MTQgNzYuMTMxMSA2NS42MjY3IDc0LjU5NTggNjUuNjI2N1oiIGZpbGw9IiMyNDI5MkUiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNjAuMDAwMSAwLjQyNzk3OUM1Ni4xNjE4IDAuNDI3OTc5IDUzLjA1MDIgMy41Mzk1NyA1My4wNTAyIDcuMzc3OTFDNTMuMDUwMiAxMC40ODk4IDU1LjA5NTQgMTMuMTI0IDU3LjkxNSAxNC4wMDk2TDU3LjkxNSA0Ny4xODc3QzU1LjEwNzggNDguMDgwNyA1My4wNzQxIDUwLjcwODggNTMuMDc0MSA1My44MTE5QzUzLjA3NDEgNTYuOTE2MSA1NS4xMDkzIDU5LjU0NSA1Ny45MTgxIDYwLjQzN0w1Ny45MTk4IDYxLjc3MzVDNTUuMDk3OCA2Mi42NTc3IDUzLjA1MDMgNjUuMjkzMSA1My4wNTAzIDY4LjQwNjdDNTMuMDUwMyA3MS41MjY0IDU1LjEwNTkgNzQuMTY2MSA1Ny45MzY1IDc1LjA0NTFMNTcuOTM4MiA3Ni4zNzAxQzU1LjExOSA3Ny4yNTYgNTMuMDc0MSA3OS44OSA1My4wNzQxIDgzLjAwMTZDNTMuMDc0MSA4Ni44Mzk5IDU2LjE4NTcgODkuOTUxNSA2MC4wMjQgODkuOTUxNUM2My44NjI0IDg5Ljk1MTUgNjYuOTc0IDg2LjgzOTkgNjYuOTc0IDgzLjAwMTZDNjYuOTc0IDc5Ljg4OTMgNjQuOTI4MiA3Ny4yNTQ5IDYyLjEwODEgNzYuMzY5NUw2Mi4xMDY0IDc1LjAzMThDNjQuOTE1MSA3NC4xMzk3IDY2Ljk1MDIgNzEuNTEwOCA2Ni45NTAyIDY4LjQwNjdDNjYuOTUwMiA2NS4yOTY1IDY0LjkwNzEgNjIuNjYzNCA2Mi4wODk4IDYxLjc3NjRMNjIuMDg4MSA2MC40NTAyQzY0LjkxODYgNTkuNTcxIDY2Ljk3NCA1Ni45MzE1IDY2Ljk3NCA1My44MTE5QzY2Ljk3NCA1MC42OTExIDY0LjkxNyA0OC4wNTA4IDYyLjA4NSA0Ny4xNzI2TDYyLjA4NSAxNC4wMDk3QzY0LjkwNDcgMTMuMTI0MSA2Ni45NSAxMC40ODk5IDY2Ljk1IDcuMzc3OTFDNjYuOTUgMy41Mzk1NyA2My44Mzg0IDAuNDI3OTc5IDYwLjAwMDEgMC40Mjc5NzlaTTU3LjIyMDEgNy4zNzc5MUM1Ny4yMjAxIDUuODQyNTcgNTguNDY0OCA0LjU5Nzk0IDYwLjAwMDEgNC41OTc5NEM2MS41MzU0IDQuNTk3OTQgNjIuNzgwMSA1Ljg0MjU3IDYyLjc4MDEgNy4zNzc5MUM2Mi43ODAxIDguOTEzMjQgNjEuNTM1NCAxMC4xNTc5IDYwLjAwMDEgMTAuMTU3OUM1OC40NjQ4IDEwLjE1NzkgNTcuMjIwMSA4LjkxMzI0IDU3LjIyMDEgNy4zNzc5MVpNNTcuMjQ0MSA4My4wMDE2QzU3LjI0NDEgODEuNDY2MiA1OC40ODg3IDgwLjIyMTYgNjAuMDI0IDgwLjIyMTZDNjEuNTU5NCA4MC4yMjE2IDYyLjgwNCA4MS40NjYyIDYyLjgwNCA4My4wMDE2QzYyLjgwNCA4NC41MzY5IDYxLjU1OTQgODUuNzgxNSA2MC4wMjQgODUuNzgxNUM1OC40ODg3IDg1Ljc4MTUgNTcuMjQ0MSA4NC41MzY5IDU3LjI0NDEgODMuMDAxNlpNNTcuMjIwMyA2OC40MDY3QzU3LjIyMDMgNjYuODcxNCA1OC40NjQ5IDY1LjYyNjggNjAuMDAwMyA2NS42MjY4QzYxLjUzNTYgNjUuNjI2OCA2Mi43ODAyIDY2Ljg3MTQgNjIuNzgwMiA2OC40MDY3QzYyLjc4MDIgNjkuOTQyMSA2MS41MzU2IDcxLjE4NjcgNjAuMDAwMyA3MS4xODY3QzU4LjQ2NDkgNzEuMTg2NyA1Ny4yMjAzIDY5Ljk0MjEgNTcuMjIwMyA2OC40MDY3Wk02MC4wMjQgNTEuMDMxOUM1OC40ODg3IDUxLjAzMTkgNTcuMjQ0MSA1Mi4yNzY1IDU3LjI0NDEgNTMuODExOUM1Ny4yNDQxIDU1LjM0NzIgNTguNDg4NyA1Ni41OTE4IDYwLjAyNCA1Ni41OTE4QzYxLjU1OTQgNTYuNTkxOCA2Mi44MDQgNTUuMzQ3MiA2Mi44MDQgNTMuODExOUM2Mi44MDQgNTIuMjc2NSA2MS41NTk0IDUxLjAzMTkgNjAuMDI0IDUxLjAzMTlaIiBmaWxsPSIjMjQyOTJFIi8+DQo8L2c+DQo8ZGVmcz4NCjxjbGlwUGF0aCBpZD0iY2xpcDBfMTk2OjI4NzkiPg0KPHJlY3Qgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuNDI3OTc5KSIvPg0KPC9jbGlwUGF0aD4NCjwvZGVmcz4NCjwvc3ZnPg==';
|
|
4567
4594
|
|
|
4568
4595
|
function Logo() {
|
|
4569
4596
|
return (React__default.createElement("div", { style: {
|
|
@@ -4582,12 +4609,11 @@ var SettingsButton = function (_a) {
|
|
|
4582
4609
|
return (React__default.createElement("div", { className: "btn-group ".concat(disabled && 'btn-group-disabled') },
|
|
4583
4610
|
React__default.createElement("button", { onClick: onClick, disabled: disabled, style: {
|
|
4584
4611
|
flex: 1,
|
|
4585
|
-
gap: 8
|
|
4586
4612
|
} },
|
|
4587
4613
|
React__default.createElement(Logo, null),
|
|
4588
4614
|
label),
|
|
4589
4615
|
options && options.length &&
|
|
4590
|
-
React__default.createElement(Dropdown, { trigger: React__default.createElement("button", null, triggerIcon),
|
|
4616
|
+
React__default.createElement(Dropdown, { trigger: React__default.createElement("button", null, triggerIcon), optionGroups: options, contentProps: {
|
|
4591
4617
|
align: 'end',
|
|
4592
4618
|
style: {
|
|
4593
4619
|
fontSize: 'clamp(0.65rem, 8vw - 0.75rem, 0.85rem)',
|
|
@@ -4595,22 +4621,22 @@ var SettingsButton = function (_a) {
|
|
|
4595
4621
|
}, disabled: disabled })));
|
|
4596
4622
|
};
|
|
4597
4623
|
|
|
4598
|
-
var KEY$3 = performance.now().toString();
|
|
4599
4624
|
var GetGeometry = function (_a) {
|
|
4600
4625
|
var setParentState = _a.setParentState;
|
|
4601
|
-
var _b = useState(false), subscribe = _b[0], setSubscribe = _b[1];
|
|
4602
4626
|
var subscribeRef = useRef();
|
|
4603
|
-
var
|
|
4627
|
+
var _b = useState(performance.now().toString()), key = _b[0], setKey = _b[1];
|
|
4628
|
+
var _c = useState(), selOption = _c[0], setSelOption = _c[1];
|
|
4604
4629
|
// pollination-react-io hooks
|
|
4605
4630
|
var _d = useGetGeometry(); _d.host; var geometry = _d.geometry, getGeometry = _d.getGeometry;
|
|
4606
4631
|
// initial retrieval of geometry
|
|
4607
|
-
|
|
4608
|
-
getGeometry(
|
|
4632
|
+
useEffect(function () {
|
|
4633
|
+
getGeometry(key);
|
|
4634
|
+
}, [key, getGeometry]);
|
|
4609
4635
|
useEffect(function () {
|
|
4610
4636
|
if (!geometry || !setParentState)
|
|
4611
4637
|
return;
|
|
4612
4638
|
var fr = new FileReader();
|
|
4613
|
-
fr.onload = function (
|
|
4639
|
+
fr.onload = function () {
|
|
4614
4640
|
if (typeof this.result !== 'string')
|
|
4615
4641
|
return;
|
|
4616
4642
|
setParentState({ geometry: JSON.parse(this.result) });
|
|
@@ -4621,74 +4647,73 @@ var GetGeometry = function (_a) {
|
|
|
4621
4647
|
useEffect(function () {
|
|
4622
4648
|
if (!getGeometry)
|
|
4623
4649
|
return;
|
|
4624
|
-
if (subscribe &&
|
|
4650
|
+
if (selOption === 'subscribe' &&
|
|
4625
4651
|
typeof subscribeRef.current === 'undefined') {
|
|
4626
4652
|
subscribeRef.current = setInterval(function () {
|
|
4627
|
-
getGeometry(
|
|
4628
|
-
},
|
|
4653
|
+
getGeometry(key);
|
|
4654
|
+
}, 1000);
|
|
4629
4655
|
}
|
|
4630
|
-
else if (
|
|
4656
|
+
else if (selOption !== 'subscribe' &&
|
|
4631
4657
|
typeof subscribeRef.current !== 'undefined') {
|
|
4632
4658
|
clearInterval(subscribeRef.current);
|
|
4633
4659
|
subscribeRef.current = undefined;
|
|
4634
4660
|
}
|
|
4635
|
-
}, [getGeometry,
|
|
4636
|
-
// with the current way our selection mechanism works
|
|
4637
|
-
// you can't be both subscribing and in selection mode
|
|
4638
|
-
// asks the user to continually provide input
|
|
4661
|
+
}, [getGeometry, key, selOption]);
|
|
4639
4662
|
useEffect(function () {
|
|
4640
|
-
if (
|
|
4663
|
+
if (selOption === 'select') {
|
|
4641
4664
|
if (subscribeRef.current) {
|
|
4642
4665
|
clearInterval(subscribeRef.current);
|
|
4643
4666
|
}
|
|
4644
|
-
setSubscribe(false);
|
|
4645
4667
|
}
|
|
4646
|
-
}, [
|
|
4647
|
-
useEffect(function () {
|
|
4648
|
-
if (subscribe) {
|
|
4649
|
-
setSelection(false);
|
|
4650
|
-
}
|
|
4651
|
-
}, [subscribe]);
|
|
4668
|
+
}, [selOption]);
|
|
4652
4669
|
return (React__default.createElement(SettingsButton, { onClick: function () {
|
|
4653
4670
|
if (!getGeometry)
|
|
4654
4671
|
return;
|
|
4655
|
-
getGeometry(
|
|
4656
|
-
}, disabled: typeof getGeometry === 'undefined', options: [
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4672
|
+
getGeometry(key, selOption === 'select', true);
|
|
4673
|
+
}, disabled: typeof getGeometry === 'undefined', options: [{
|
|
4674
|
+
type: 'radio',
|
|
4675
|
+
value: selOption,
|
|
4676
|
+
options: [
|
|
4677
|
+
{
|
|
4678
|
+
type: 'radio',
|
|
4679
|
+
id: 'subscribe',
|
|
4680
|
+
label: 'Subscribe',
|
|
4681
|
+
disabled: !getGeometry,
|
|
4682
|
+
onSelect: function () {
|
|
4683
|
+
setSelOption(function (state) { return state === 'subscribe' ? undefined : 'subscribe'; });
|
|
4684
|
+
setKey(performance.now().toString());
|
|
4685
|
+
},
|
|
4686
|
+
},
|
|
4687
|
+
{
|
|
4688
|
+
type: 'radio',
|
|
4689
|
+
id: 'select',
|
|
4690
|
+
label: 'Select',
|
|
4691
|
+
disabled: !getGeometry,
|
|
4692
|
+
onSelect: function () {
|
|
4693
|
+
setSelOption(function (state) { return state === 'select' ? undefined : 'select'; });
|
|
4694
|
+
setKey(performance.now().toString());
|
|
4695
|
+
},
|
|
4696
|
+
},
|
|
4697
|
+
]
|
|
4698
|
+
}], label: 'Get Geometry', triggerIcon: selOption === 'select' ?
|
|
4674
4699
|
React__default.createElement(BoundingBox$1, { size: 16 }) :
|
|
4675
|
-
subscribe ?
|
|
4700
|
+
selOption === 'subscribe' ?
|
|
4676
4701
|
React__default.createElement(ArrowRepeat$1, { size: 16 }) :
|
|
4677
|
-
|
|
4702
|
+
undefined }));
|
|
4678
4703
|
};
|
|
4679
4704
|
|
|
4680
|
-
|
|
4681
|
-
var
|
|
4705
|
+
performance.now().toString();
|
|
4706
|
+
var GetModel = function (_a) {
|
|
4682
4707
|
var setParentState = _a.setParentState;
|
|
4683
|
-
// sync
|
|
4684
|
-
var _b = useState(false), subscribe = _b[0], setSubscribe = _b[1];
|
|
4685
4708
|
var subscribeRef = useRef();
|
|
4686
|
-
var
|
|
4709
|
+
var _b = useState(performance.now().toString()), key = _b[0], setKey = _b[1];
|
|
4710
|
+
var _c = useState(), selOption = _c[0], setSelOption = _c[1];
|
|
4687
4711
|
// pollination-react-io hooks
|
|
4688
4712
|
var _d = useGetHbjson(); _d.host; var hbjson = _d.hbjson, getHbjson = _d.getHbjson;
|
|
4689
|
-
// initial retrieval of
|
|
4690
|
-
|
|
4691
|
-
getHbjson(
|
|
4713
|
+
// initial retrieval of geometry
|
|
4714
|
+
useEffect(function () {
|
|
4715
|
+
getHbjson(key);
|
|
4716
|
+
}, [key, getHbjson]);
|
|
4692
4717
|
useEffect(function () {
|
|
4693
4718
|
if (!hbjson || !setParentState)
|
|
4694
4719
|
return;
|
|
@@ -4704,140 +4729,132 @@ var GetHbjson = function (_a) {
|
|
|
4704
4729
|
useEffect(function () {
|
|
4705
4730
|
if (!getHbjson)
|
|
4706
4731
|
return;
|
|
4707
|
-
if (subscribe &&
|
|
4732
|
+
if (selOption === 'subscribe' &&
|
|
4708
4733
|
typeof subscribeRef.current === 'undefined') {
|
|
4709
4734
|
subscribeRef.current = setInterval(function () {
|
|
4710
|
-
getHbjson(
|
|
4711
|
-
},
|
|
4735
|
+
getHbjson(key, false);
|
|
4736
|
+
}, 1000);
|
|
4712
4737
|
}
|
|
4713
|
-
else if (
|
|
4738
|
+
else if (selOption !== 'subscribe' &&
|
|
4714
4739
|
typeof subscribeRef.current !== 'undefined') {
|
|
4715
4740
|
clearInterval(subscribeRef.current);
|
|
4716
4741
|
subscribeRef.current = undefined;
|
|
4717
4742
|
}
|
|
4718
|
-
}, [getHbjson,
|
|
4719
|
-
// with the current way our selection mechanism works
|
|
4720
|
-
// you can't be both subscribing and in selection mode
|
|
4721
|
-
// asks the user to continually provide input
|
|
4743
|
+
}, [getHbjson, key, selOption]);
|
|
4722
4744
|
useEffect(function () {
|
|
4723
|
-
if (
|
|
4745
|
+
if (selOption === 'select') {
|
|
4724
4746
|
if (subscribeRef.current) {
|
|
4725
4747
|
clearInterval(subscribeRef.current);
|
|
4726
4748
|
}
|
|
4727
|
-
setSubscribe(false);
|
|
4728
|
-
}
|
|
4729
|
-
}, [selection]);
|
|
4730
|
-
useEffect(function () {
|
|
4731
|
-
if (subscribe) {
|
|
4732
|
-
setSelection(false);
|
|
4733
4749
|
}
|
|
4734
|
-
}, [
|
|
4750
|
+
}, [selOption]);
|
|
4735
4751
|
return (React__default.createElement(SettingsButton, { onClick: function () {
|
|
4736
4752
|
if (!getHbjson)
|
|
4737
4753
|
return;
|
|
4738
|
-
getHbjson(
|
|
4739
|
-
}, disabled: typeof getHbjson === 'undefined', options: [
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4754
|
+
getHbjson(key, selOption === 'select', true);
|
|
4755
|
+
}, disabled: typeof getHbjson === 'undefined', options: [{
|
|
4756
|
+
type: 'radio',
|
|
4757
|
+
value: selOption,
|
|
4758
|
+
options: [
|
|
4759
|
+
{
|
|
4760
|
+
type: 'checkbox',
|
|
4761
|
+
id: 'subscribe',
|
|
4762
|
+
label: 'Subscribe',
|
|
4763
|
+
disabled: !getHbjson,
|
|
4764
|
+
onSelect: function () {
|
|
4765
|
+
setSelOption(function (state) { return state === 'subscribe' ? undefined : 'subscribe'; });
|
|
4766
|
+
setKey(performance.now().toString());
|
|
4767
|
+
},
|
|
4768
|
+
},
|
|
4769
|
+
{
|
|
4770
|
+
type: 'checkbox',
|
|
4771
|
+
id: 'selection',
|
|
4772
|
+
label: 'Select',
|
|
4773
|
+
disabled: !getHbjson,
|
|
4774
|
+
onSelect: function () {
|
|
4775
|
+
setSelOption(function (state) { return state === 'select' ? undefined : 'select'; });
|
|
4776
|
+
setKey(performance.now().toString());
|
|
4777
|
+
},
|
|
4778
|
+
},
|
|
4779
|
+
]
|
|
4780
|
+
}], label: 'Get Model', triggerIcon: selOption === 'select' ?
|
|
4757
4781
|
React__default.createElement(BoundingBox$1, { size: 16 }) :
|
|
4758
|
-
subscribe ?
|
|
4782
|
+
selOption === 'subscribe' ?
|
|
4759
4783
|
React__default.createElement(ArrowRepeat$1, { size: 16 }) :
|
|
4760
|
-
|
|
4784
|
+
undefined }));
|
|
4761
4785
|
};
|
|
4762
4786
|
|
|
4763
|
-
var
|
|
4787
|
+
var css_248z = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary0: #e6f7ff;\n --grey5: #8c8c8c;\n --grey3: #d0d7de;\n --secondary: #fff566;\n --font-color: #494949;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #3c3c3c;\n --font-color: #fafafa;\n }\n}";
|
|
4788
|
+
styleInject(css_248z);
|
|
4789
|
+
|
|
4790
|
+
var KEY = performance.now().toString();
|
|
4764
4791
|
var SendGeometry = function (_a) {
|
|
4765
4792
|
var geometry = _a.geometry;
|
|
4766
4793
|
var _b = useState(true), preview = _b[0], setPreview = _b[1];
|
|
4767
4794
|
var _c = useSendGeometry(); _c.host; _c.state; var sendGeometry = _c.sendGeometry;
|
|
4768
|
-
//
|
|
4769
|
-
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
}
|
|
4795
|
+
// TODO:
|
|
4796
|
+
// useEffect(() => {
|
|
4797
|
+
// return () => {
|
|
4798
|
+
// if (host === 'rhino') {
|
|
4799
|
+
// sendMessageDotNet({
|
|
4800
|
+
// action: 'DisableDraw'
|
|
4801
|
+
// })
|
|
4802
|
+
// }
|
|
4803
|
+
// }
|
|
4804
|
+
// }, [host])
|
|
4779
4805
|
return (React__default.createElement(SettingsButton, { disabled: !sendGeometry, onClick: function () {
|
|
4780
4806
|
if (!sendGeometry)
|
|
4781
4807
|
return;
|
|
4782
4808
|
sendGeometry({
|
|
4783
4809
|
data: geometry,
|
|
4784
|
-
uniqueId: KEY
|
|
4810
|
+
uniqueId: KEY,
|
|
4785
4811
|
options: {
|
|
4786
4812
|
layer: 'StreamlitLayer',
|
|
4787
4813
|
units: 'Meters',
|
|
4788
4814
|
},
|
|
4789
4815
|
}, preview);
|
|
4790
|
-
}, options: [
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4816
|
+
}, options: [{
|
|
4817
|
+
options: [
|
|
4818
|
+
{
|
|
4819
|
+
type: 'checkbox',
|
|
4820
|
+
id: 'preview-send-geometry',
|
|
4821
|
+
label: 'Preview',
|
|
4822
|
+
checked: preview,
|
|
4823
|
+
disabled: !sendGeometry,
|
|
4824
|
+
onSelect: function () { return setPreview(function (p) { return !p; }); },
|
|
4825
|
+
},
|
|
4826
|
+
]
|
|
4827
|
+
}], label: preview ? "Preview Geometry" : "Bake Geometry" }));
|
|
4800
4828
|
};
|
|
4801
4829
|
|
|
4802
|
-
var
|
|
4803
|
-
// TODO: would like to allow sending a function to fetch an hbjson as an alternative arg
|
|
4804
|
-
var SendHbjson = function (_a) {
|
|
4830
|
+
var SendModel = function (_a) {
|
|
4805
4831
|
var hbjson = _a.hbjson;
|
|
4806
4832
|
var _b = useState(true), preview = _b[0], setPreview = _b[1];
|
|
4807
4833
|
var _c = useSendHbjson(); _c.host; _c.state; var sendHbjson = _c.sendHbjson;
|
|
4808
|
-
// initial preview
|
|
4809
|
-
if (sendHbjson) {
|
|
4810
|
-
sendHbjson({
|
|
4811
|
-
data: hbjson,
|
|
4812
|
-
uniqueId: KEY,
|
|
4813
|
-
options: {
|
|
4814
|
-
layer: 'StreamlitLayer',
|
|
4815
|
-
units: 'Meters',
|
|
4816
|
-
},
|
|
4817
|
-
}, true);
|
|
4818
|
-
}
|
|
4819
4834
|
return (React__default.createElement(SettingsButton, { disabled: !sendHbjson, onClick: function () {
|
|
4820
4835
|
if (!sendHbjson)
|
|
4821
4836
|
return;
|
|
4822
4837
|
sendHbjson({
|
|
4823
4838
|
data: hbjson,
|
|
4824
|
-
uniqueId:
|
|
4839
|
+
uniqueId: performance.now().toString(),
|
|
4825
4840
|
options: {
|
|
4826
4841
|
layer: 'StreamlitLayer',
|
|
4827
4842
|
units: 'Meters',
|
|
4828
4843
|
},
|
|
4829
4844
|
}, preview);
|
|
4830
|
-
}, options: [
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4845
|
+
}, options: [{
|
|
4846
|
+
options: [
|
|
4847
|
+
{
|
|
4848
|
+
type: 'checkbox',
|
|
4849
|
+
id: 'preview-send-model',
|
|
4850
|
+
label: 'Preview',
|
|
4851
|
+
checked: preview,
|
|
4852
|
+
disabled: !sendHbjson,
|
|
4853
|
+
onSelect: function () { return setPreview(function (p) { return !p; }); },
|
|
4854
|
+
},
|
|
4855
|
+
]
|
|
4856
|
+
}], label: preview ? "Preview Model" : "Bake Model" }));
|
|
4840
4857
|
};
|
|
4841
4858
|
|
|
4842
|
-
export { GetGeometry,
|
|
4859
|
+
export { GetGeometry, GetModel, SendGeometry, SendModel, checkDotNet, checkRuby, getHost, sendMessageDotNet, sendMessageRuby, subscribeDotNet, useGetGeometry, useGetHbjson, useHbjsontoVTK, useManageSettings, useRunCommand, useSendGeometry, useSendHbjson };
|
|
4843
4860
|
//# sourceMappingURL=index.esm.js.map
|